@prismicio/types-internal 3.17.0 → 4.0.0-canary.72def6d

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 (709) hide show
  1. package/README.md +41 -25
  2. package/dist/common/asset.d.ts +22 -0
  3. package/dist/common/asset.d.ts.map +1 -0
  4. package/dist/common/asset.js +21 -0
  5. package/dist/common/asset.js.map +1 -0
  6. package/dist/common/embed.d.ts +21 -0
  7. package/dist/common/embed.d.ts.map +1 -0
  8. package/dist/common/embed.js +20 -0
  9. package/dist/common/embed.js.map +1 -0
  10. package/dist/common/hexaColorCode.d.ts +8 -0
  11. package/dist/common/hexaColorCode.d.ts.map +1 -0
  12. package/dist/common/hexaColorCode.js +8 -0
  13. package/dist/common/hexaColorCode.js.map +1 -0
  14. package/dist/common/nonEmptyString.d.ts +8 -0
  15. package/dist/common/nonEmptyString.d.ts.map +1 -0
  16. package/dist/common/nonEmptyString.js +7 -0
  17. package/dist/common/nonEmptyString.js.map +1 -0
  18. package/dist/common/widgetKey.d.ts +8 -0
  19. package/dist/common/widgetKey.d.ts.map +1 -0
  20. package/dist/common/widgetKey.js +8 -0
  21. package/dist/common/widgetKey.js.map +1 -0
  22. package/dist/content/boolean.d.ts +11 -0
  23. package/dist/content/boolean.d.ts.map +1 -0
  24. package/dist/content/boolean.js +11 -0
  25. package/dist/content/boolean.js.map +1 -0
  26. package/dist/content/codec/boolean.js +31 -0
  27. package/dist/content/codec/boolean.js.map +1 -0
  28. package/dist/content/codec/document.js +49 -0
  29. package/dist/content/codec/document.js.map +1 -0
  30. package/dist/content/codec/embed.js +42 -0
  31. package/dist/content/codec/embed.js.map +1 -0
  32. package/dist/content/codec/empty.js +35 -0
  33. package/dist/content/codec/empty.js.map +1 -0
  34. package/dist/content/codec/field.js +41 -0
  35. package/dist/content/codec/field.js.map +1 -0
  36. package/dist/content/codec/geopoint.js +32 -0
  37. package/dist/content/codec/geopoint.js.map +1 -0
  38. package/dist/content/codec/group.js +127 -0
  39. package/dist/content/codec/group.js.map +1 -0
  40. package/dist/content/codec/image.js +44 -0
  41. package/dist/content/codec/image.js.map +1 -0
  42. package/dist/content/codec/integrationField.js +31 -0
  43. package/dist/content/codec/integrationField.js.map +1 -0
  44. package/dist/content/codec/legacyContentCtx.d.ts +72 -0
  45. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -0
  46. package/dist/content/codec/legacyContentCtx.js +76 -0
  47. package/dist/content/codec/legacyContentCtx.js.map +1 -0
  48. package/dist/content/codec/link.js +93 -0
  49. package/dist/content/codec/link.js.map +1 -0
  50. package/dist/content/codec/nestable.js +91 -0
  51. package/dist/content/codec/nestable.js.map +1 -0
  52. package/dist/content/codec/repeatable.js +56 -0
  53. package/dist/content/codec/repeatable.js.map +1 -0
  54. package/dist/content/codec/richText.js +87 -0
  55. package/dist/content/codec/richText.js.map +1 -0
  56. package/dist/content/codec/separator.js +26 -0
  57. package/dist/content/codec/separator.js.map +1 -0
  58. package/dist/content/codec/slice.js +220 -0
  59. package/dist/content/codec/slice.js.map +1 -0
  60. package/dist/content/codec/slices.js +106 -0
  61. package/dist/content/codec/slices.js.map +1 -0
  62. package/dist/content/codec/table.js +56 -0
  63. package/dist/content/codec/table.js.map +1 -0
  64. package/dist/content/codec/uid.js +31 -0
  65. package/dist/content/codec/uid.js.map +1 -0
  66. package/dist/content/codec/widget.js +39 -0
  67. package/dist/content/codec/widget.js.map +1 -0
  68. package/dist/content/document.d.ts +3026 -0
  69. package/dist/content/document.d.ts.map +1 -0
  70. package/dist/content/document.js +9 -0
  71. package/dist/content/document.js.map +1 -0
  72. package/dist/content/embed.d.ts +24 -0
  73. package/dist/content/embed.d.ts.map +1 -0
  74. package/dist/content/embed.js +12 -0
  75. package/dist/content/embed.js.map +1 -0
  76. package/dist/content/empty.d.ts +11 -0
  77. package/dist/content/empty.d.ts.map +1 -0
  78. package/dist/content/empty.js +11 -0
  79. package/dist/content/empty.js.map +1 -0
  80. package/dist/content/field.d.ts +78 -0
  81. package/dist/content/field.d.ts.map +1 -0
  82. package/dist/content/field.js +52 -0
  83. package/dist/content/field.js.map +1 -0
  84. package/dist/content/geopoint.d.ts +14 -0
  85. package/dist/content/geopoint.d.ts.map +1 -0
  86. package/dist/content/geopoint.js +9 -0
  87. package/dist/content/geopoint.js.map +1 -0
  88. package/dist/content/group.d.ts +18 -0
  89. package/dist/content/group.d.ts.map +1 -0
  90. package/dist/content/group.js +19 -0
  91. package/dist/content/group.js.map +1 -0
  92. package/dist/content/image.d.ts +52 -0
  93. package/dist/content/image.d.ts.map +1 -0
  94. package/dist/content/image.js +10 -0
  95. package/dist/content/image.js.map +1 -0
  96. package/dist/content/integrationField.d.ts +11 -0
  97. package/dist/content/integrationField.d.ts.map +1 -0
  98. package/dist/content/integrationField.js +11 -0
  99. package/dist/content/integrationField.js.map +1 -0
  100. package/dist/content/legacy/boolean.js +7 -0
  101. package/dist/content/legacy/boolean.js.map +1 -0
  102. package/dist/content/legacy/document.js +15 -0
  103. package/dist/content/legacy/document.js.map +1 -0
  104. package/dist/content/legacy/embed.js +23 -0
  105. package/dist/content/legacy/embed.js.map +1 -0
  106. package/dist/content/legacy/empty.js +7 -0
  107. package/dist/content/legacy/empty.js.map +1 -0
  108. package/dist/content/legacy/field.js +7 -0
  109. package/dist/content/legacy/field.js.map +1 -0
  110. package/dist/content/legacy/geopoint.js +10 -0
  111. package/dist/content/legacy/geopoint.js.map +1 -0
  112. package/dist/content/legacy/group.js +10 -0
  113. package/dist/content/legacy/group.js.map +1 -0
  114. package/dist/content/legacy/image.d.ts +1 -0
  115. package/dist/content/legacy/image.js +33 -0
  116. package/dist/content/legacy/image.js.map +1 -0
  117. package/dist/content/legacy/integrationField.js +7 -0
  118. package/dist/content/legacy/integrationField.js.map +1 -0
  119. package/dist/content/legacy/link.js +88 -0
  120. package/dist/content/legacy/link.js.map +1 -0
  121. package/dist/content/legacy/nestable.js +32 -0
  122. package/dist/content/legacy/nestable.js.map +1 -0
  123. package/dist/content/legacy/repeatable.js +13 -0
  124. package/dist/content/legacy/repeatable.js.map +1 -0
  125. package/dist/content/legacy/richText.js +100 -0
  126. package/dist/content/legacy/richText.js.map +1 -0
  127. package/dist/content/legacy/separator.js +7 -0
  128. package/dist/content/legacy/separator.js.map +1 -0
  129. package/dist/content/legacy/slice.js +23 -0
  130. package/dist/content/legacy/slice.js.map +1 -0
  131. package/dist/content/legacy/slices.js +13 -0
  132. package/dist/content/legacy/slices.js.map +1 -0
  133. package/dist/content/legacy/table.js +19 -0
  134. package/dist/content/legacy/table.js.map +1 -0
  135. package/dist/content/legacy/uid.js +7 -0
  136. package/dist/content/legacy/uid.js.map +1 -0
  137. package/dist/content/link.d.ts +188 -0
  138. package/dist/content/link.d.ts.map +1 -0
  139. package/dist/content/link.js +50 -0
  140. package/dist/content/link.js.map +1 -0
  141. package/dist/content/nestable.d.ts +755 -0
  142. package/dist/content/nestable.d.ts.map +1 -0
  143. package/dist/content/nestable.js +38 -0
  144. package/dist/content/nestable.js.map +1 -0
  145. package/dist/content/repeatable.d.ts +192 -0
  146. package/dist/content/repeatable.d.ts.map +1 -0
  147. package/dist/content/repeatable.js +13 -0
  148. package/dist/content/repeatable.js.map +1 -0
  149. package/dist/content/richText.d.ts +141 -0
  150. package/dist/content/richText.d.ts.map +1 -0
  151. package/dist/content/richText.js +23 -0
  152. package/dist/content/richText.js.map +1 -0
  153. package/dist/content/separator.d.ts +10 -0
  154. package/dist/content/separator.d.ts.map +1 -0
  155. package/dist/content/separator.js +8 -0
  156. package/dist/content/separator.js.map +1 -0
  157. package/dist/content/slice.d.ts +4527 -0
  158. package/dist/content/slice.d.ts.map +1 -0
  159. package/dist/content/slice.js +27 -0
  160. package/dist/content/slice.js.map +1 -0
  161. package/dist/content/slices.d.ts +4536 -0
  162. package/dist/content/slices.d.ts.map +1 -0
  163. package/dist/content/slices.js +18 -0
  164. package/dist/content/slices.js.map +1 -0
  165. package/dist/content/table.d.ts +153 -0
  166. package/dist/content/table.d.ts.map +1 -0
  167. package/dist/content/table.js +13 -0
  168. package/dist/content/table.js.map +1 -0
  169. package/dist/content/uid.d.ts +11 -0
  170. package/dist/content/uid.d.ts.map +1 -0
  171. package/dist/content/uid.js +11 -0
  172. package/dist/content/uid.js.map +1 -0
  173. package/dist/content/widget.d.ts +3026 -0
  174. package/dist/content/widget.d.ts.map +1 -0
  175. package/dist/content/widget.js +16 -0
  176. package/dist/content/widget.js.map +1 -0
  177. package/dist/index.d.ts +50 -0
  178. package/dist/index.js +2 -0
  179. package/dist/io-ts.d.ts +68728 -0
  180. package/dist/io-ts.d.ts.map +1 -0
  181. package/dist/io-ts.js +215 -0
  182. package/dist/io-ts.js.map +1 -0
  183. package/dist/model/boolean.d.ts +16 -0
  184. package/dist/model/boolean.d.ts.map +1 -0
  185. package/dist/model/boolean.js +16 -0
  186. package/dist/model/boolean.js.map +1 -0
  187. package/dist/model/color.d.ts +15 -0
  188. package/dist/model/color.d.ts.map +1 -0
  189. package/dist/model/color.js +15 -0
  190. package/dist/model/color.js.map +1 -0
  191. package/dist/model/customType.d.ts +3357 -0
  192. package/dist/model/customType.d.ts.map +1 -0
  193. package/dist/model/customType.js +18 -0
  194. package/dist/model/customType.js.map +1 -0
  195. package/dist/model/date.d.ts +16 -0
  196. package/dist/model/date.d.ts.map +1 -0
  197. package/dist/model/date.js +16 -0
  198. package/dist/model/date.js.map +1 -0
  199. package/dist/model/embed.d.ts +16 -0
  200. package/dist/model/embed.d.ts.map +1 -0
  201. package/dist/model/embed.js +16 -0
  202. package/dist/model/embed.js.map +1 -0
  203. package/dist/model/geopoint.d.ts +14 -0
  204. package/dist/model/geopoint.d.ts.map +1 -0
  205. package/dist/model/geopoint.js +12 -0
  206. package/dist/model/geopoint.js.map +1 -0
  207. package/dist/model/group.d.ts +568 -0
  208. package/dist/model/group.d.ts.map +1 -0
  209. package/dist/model/group.js +23 -0
  210. package/dist/model/group.js.map +1 -0
  211. package/dist/model/image.d.ts +24 -0
  212. package/dist/model/image.d.ts.map +1 -0
  213. package/dist/model/image.js +41 -0
  214. package/dist/model/image.js.map +1 -0
  215. package/dist/model/integrationField.d.ts +16 -0
  216. package/dist/model/integrationField.d.ts.map +1 -0
  217. package/dist/model/integrationField.js +16 -0
  218. package/dist/model/integrationField.js.map +1 -0
  219. package/dist/model/link.d.ts +48 -0
  220. package/dist/model/link.d.ts.map +1 -0
  221. package/dist/model/link.js +94 -0
  222. package/dist/model/link.js.map +1 -0
  223. package/dist/model/nestable.d.ts +184 -0
  224. package/dist/model/nestable.d.ts.map +1 -0
  225. package/dist/model/nestable.js +40 -0
  226. package/dist/model/nestable.js.map +1 -0
  227. package/dist/model/number.d.ts +18 -0
  228. package/dist/model/number.d.ts.map +1 -0
  229. package/dist/model/number.js +19 -0
  230. package/dist/model/number.js.map +1 -0
  231. package/dist/model/range.d.ts +18 -0
  232. package/dist/model/range.d.ts.map +1 -0
  233. package/dist/model/range.js +19 -0
  234. package/dist/model/range.js.map +1 -0
  235. package/dist/model/richText.d.ts +28 -0
  236. package/dist/model/richText.d.ts.map +1 -0
  237. package/dist/model/richText.js +72 -0
  238. package/dist/model/richText.js.map +1 -0
  239. package/dist/model/section.d.ts +3337 -0
  240. package/dist/model/section.d.ts.map +1 -0
  241. package/dist/model/section.js +10 -0
  242. package/dist/model/section.js.map +1 -0
  243. package/dist/model/select.d.ts +17 -0
  244. package/dist/model/select.d.ts.map +1 -0
  245. package/dist/model/select.js +22 -0
  246. package/dist/model/select.js.map +1 -0
  247. package/dist/model/separator.d.ts +13 -0
  248. package/dist/model/separator.d.ts.map +1 -0
  249. package/dist/model/separator.js +11 -0
  250. package/dist/model/separator.js.map +1 -0
  251. package/dist/model/slice.d.ts +3681 -0
  252. package/dist/model/slice.d.ts.map +1 -0
  253. package/dist/model/slice.js +54 -0
  254. package/dist/model/slice.js.map +1 -0
  255. package/dist/model/slices.d.ts +2225 -0
  256. package/dist/model/slices.d.ts.map +1 -0
  257. package/dist/model/slices.js +29 -0
  258. package/dist/model/slices.js.map +1 -0
  259. package/dist/model/table.d.ts +13 -0
  260. package/dist/model/table.d.ts.map +1 -0
  261. package/dist/model/table.js +17 -0
  262. package/dist/model/table.js.map +1 -0
  263. package/dist/model/text.d.ts +16 -0
  264. package/dist/model/text.d.ts.map +1 -0
  265. package/dist/model/text.js +16 -0
  266. package/dist/model/text.js.map +1 -0
  267. package/dist/model/timestamp.d.ts +16 -0
  268. package/dist/model/timestamp.d.ts.map +1 -0
  269. package/dist/model/timestamp.js +16 -0
  270. package/dist/model/timestamp.js.map +1 -0
  271. package/dist/model/uid.d.ts +16 -0
  272. package/dist/model/uid.d.ts.map +1 -0
  273. package/dist/model/uid.js +16 -0
  274. package/dist/model/uid.js.map +1 -0
  275. package/dist/model/widget.d.ts +3360 -0
  276. package/dist/model/widget.d.ts.map +1 -0
  277. package/dist/model/widget.js +44 -0
  278. package/dist/model/widget.js.map +1 -0
  279. package/dist/zod4.d.ts +33521 -0
  280. package/dist/zod4.d.ts.map +1 -0
  281. package/dist/zod4.js +127 -0
  282. package/dist/zod4.js.map +1 -0
  283. package/package.json +54 -58
  284. package/src/common/asset.ts +29 -0
  285. package/src/common/embed.ts +27 -0
  286. package/src/common/hexaColorCode.ts +11 -0
  287. package/src/common/nonEmptyString.ts +9 -0
  288. package/src/common/widgetKey.ts +11 -0
  289. package/src/content/boolean.ts +23 -0
  290. package/src/content/codec/boolean.ts +38 -0
  291. package/src/content/codec/document.ts +60 -0
  292. package/src/content/codec/embed.ts +55 -0
  293. package/src/content/codec/empty.ts +49 -0
  294. package/src/content/codec/field.ts +96 -0
  295. package/src/content/codec/geopoint.ts +40 -0
  296. package/src/content/codec/group.ts +163 -0
  297. package/src/content/codec/image.ts +50 -0
  298. package/src/content/codec/integrationField.ts +38 -0
  299. package/src/content/{LegacyContentCtx.ts → codec/legacyContentCtx.ts} +25 -15
  300. package/src/content/codec/link.ts +103 -0
  301. package/src/content/codec/nestable.ts +146 -0
  302. package/src/content/codec/repeatable.ts +68 -0
  303. package/src/content/codec/richText.ts +113 -0
  304. package/src/content/codec/separator.ts +33 -0
  305. package/src/content/codec/slice.ts +274 -0
  306. package/src/content/codec/slices.ts +130 -0
  307. package/src/content/codec/table.ts +65 -0
  308. package/src/content/codec/uid.ts +36 -0
  309. package/src/content/codec/widget.ts +58 -0
  310. package/src/content/document.ts +8 -0
  311. package/src/content/embed.ts +12 -0
  312. package/src/content/empty.ts +10 -0
  313. package/src/content/field.ts +87 -0
  314. package/src/content/geopoint.ts +11 -0
  315. package/src/content/group.ts +96 -0
  316. package/src/content/image.ts +103 -0
  317. package/src/content/integrationField.ts +10 -0
  318. package/src/content/legacy/boolean.ts +5 -0
  319. package/src/content/legacy/document.ts +25 -0
  320. package/src/content/legacy/embed.ts +23 -0
  321. package/src/content/legacy/empty.ts +10 -0
  322. package/src/content/legacy/field.ts +8 -0
  323. package/src/content/legacy/geopoint.ts +10 -0
  324. package/src/content/legacy/group.ts +15 -0
  325. package/src/content/legacy/image.ts +43 -0
  326. package/src/content/legacy/integrationField.ts +5 -0
  327. package/src/content/legacy/link.ts +171 -0
  328. package/src/content/legacy/nestable.ts +31 -0
  329. package/src/content/legacy/repeatable.ts +20 -0
  330. package/src/content/legacy/richText.ts +165 -0
  331. package/src/content/legacy/separator.ts +6 -0
  332. package/src/content/legacy/slice.ts +37 -0
  333. package/src/content/legacy/slices.ts +17 -0
  334. package/src/content/legacy/table.ts +39 -0
  335. package/src/content/legacy/uid.ts +6 -0
  336. package/src/content/legacy/widget.ts +15 -0
  337. package/src/content/link.ts +131 -0
  338. package/src/content/nestable.ts +64 -0
  339. package/src/content/repeatable.ts +13 -0
  340. package/src/content/richText.ts +32 -0
  341. package/src/content/separator.ts +9 -0
  342. package/src/content/slice.ts +41 -0
  343. package/src/content/slices.ts +23 -0
  344. package/src/content/table.ts +14 -0
  345. package/src/content/uid.ts +10 -0
  346. package/src/content/utils.ts +37 -105
  347. package/src/content/widget.ts +17 -0
  348. package/src/content/{fields/withDefaultValues.ts → withDefaultValues.ts} +34 -39
  349. package/src/index.ts +78 -0
  350. package/src/io-ts.ts +313 -0
  351. package/src/model/boolean.ts +15 -0
  352. package/src/model/color.ts +14 -0
  353. package/src/model/customType.ts +26 -0
  354. package/src/model/date.ts +15 -0
  355. package/src/model/diff/index.ts +4 -0
  356. package/src/{customtypes/diff/SharedSlice.ts → model/diff/sharedSlice.ts} +16 -18
  357. package/src/model/diff/utils.ts +45 -0
  358. package/src/model/diff/variation.ts +152 -0
  359. package/src/model/diff/widgets.ts +15 -0
  360. package/src/model/embed.ts +15 -0
  361. package/src/model/geopoint.ts +13 -0
  362. package/src/model/group.ts +36 -0
  363. package/src/model/image.ts +54 -0
  364. package/src/model/integrationField.ts +15 -0
  365. package/src/model/link.ts +147 -0
  366. package/src/model/nestable.ts +39 -0
  367. package/src/model/number.ts +26 -0
  368. package/src/model/range.ts +26 -0
  369. package/src/model/richText.ts +106 -0
  370. package/src/model/section.ts +12 -0
  371. package/src/model/select.ts +30 -0
  372. package/src/model/separator.ts +12 -0
  373. package/src/model/slice.ts +94 -0
  374. package/src/model/slices.ts +54 -0
  375. package/src/model/table.ts +20 -0
  376. package/src/model/text.ts +15 -0
  377. package/src/model/timestamp.ts +15 -0
  378. package/src/model/uid.ts +15 -0
  379. package/src/model/widget.ts +52 -0
  380. package/src/zod4.ts +153 -0
  381. package/lib/common/Asset.d.ts +0 -16
  382. package/lib/common/Asset.js +0 -11
  383. package/lib/common/Embed.d.ts +0 -15
  384. package/lib/common/Embed.js +0 -10
  385. package/lib/common/HexaColorCode.d.ts +0 -4
  386. package/lib/common/HexaColorCode.js +0 -7
  387. package/lib/common/UUID.d.ts +0 -6
  388. package/lib/common/UUID.js +0 -8
  389. package/lib/common/WidgetKey.d.ts +0 -3
  390. package/lib/common/WidgetKey.js +0 -8
  391. package/lib/common/index.d.ts +0 -3
  392. package/lib/common/index.js +0 -6
  393. package/lib/content/Document.d.ts +0 -11813
  394. package/lib/content/Document.js +0 -364
  395. package/lib/content/LegacyContentCtx.d.ts +0 -64
  396. package/lib/content/LegacyContentCtx.js +0 -130
  397. package/lib/content/fields/EmptyContent.d.ts +0 -16
  398. package/lib/content/fields/EmptyContent.js +0 -30
  399. package/lib/content/fields/GroupContent.d.ts +0 -53
  400. package/lib/content/fields/GroupContent.js +0 -307
  401. package/lib/content/fields/UIDContent.d.ts +0 -16
  402. package/lib/content/fields/UIDContent.js +0 -25
  403. package/lib/content/fields/WidgetContent.d.ts +0 -11749
  404. package/lib/content/fields/WidgetContent.js +0 -57
  405. package/lib/content/fields/index.d.ts +0 -6
  406. package/lib/content/fields/index.js +0 -9
  407. package/lib/content/fields/nestable/BooleanContent.d.ts +0 -18
  408. package/lib/content/fields/nestable/BooleanContent.js +0 -35
  409. package/lib/content/fields/nestable/EmbedContent.d.ts +0 -78
  410. package/lib/content/fields/nestable/EmbedContent.js +0 -56
  411. package/lib/content/fields/nestable/FieldContent/ColorContent.d.ts +0 -18
  412. package/lib/content/fields/nestable/FieldContent/ColorContent.js +0 -35
  413. package/lib/content/fields/nestable/FieldContent/DateContent.d.ts +0 -18
  414. package/lib/content/fields/nestable/FieldContent/DateContent.js +0 -35
  415. package/lib/content/fields/nestable/FieldContent/NumberContent.d.ts +0 -18
  416. package/lib/content/fields/nestable/FieldContent/NumberContent.js +0 -35
  417. package/lib/content/fields/nestable/FieldContent/RangeContent.d.ts +0 -18
  418. package/lib/content/fields/nestable/FieldContent/RangeContent.js +0 -35
  419. package/lib/content/fields/nestable/FieldContent/SelectContent.d.ts +0 -20
  420. package/lib/content/fields/nestable/FieldContent/SelectContent.js +0 -46
  421. package/lib/content/fields/nestable/FieldContent/TextContent.d.ts +0 -18
  422. package/lib/content/fields/nestable/FieldContent/TextContent.js +0 -35
  423. package/lib/content/fields/nestable/FieldContent/TimestampContent.d.ts +0 -18
  424. package/lib/content/fields/nestable/FieldContent/TimestampContent.js +0 -35
  425. package/lib/content/fields/nestable/FieldContent/common.d.ts +0 -1
  426. package/lib/content/fields/nestable/FieldContent/common.js +0 -4
  427. package/lib/content/fields/nestable/FieldContent/index.d.ts +0 -49
  428. package/lib/content/fields/nestable/FieldContent/index.js +0 -38
  429. package/lib/content/fields/nestable/GeoPointContent.d.ts +0 -33
  430. package/lib/content/fields/nestable/GeoPointContent.js +0 -31
  431. package/lib/content/fields/nestable/ImageContent.d.ts +0 -252
  432. package/lib/content/fields/nestable/ImageContent.js +0 -122
  433. package/lib/content/fields/nestable/IntegrationFieldContent.d.ts +0 -16
  434. package/lib/content/fields/nestable/IntegrationFieldContent.js +0 -28
  435. package/lib/content/fields/nestable/LinkContent.d.ts +0 -919
  436. package/lib/content/fields/nestable/LinkContent.js +0 -399
  437. package/lib/content/fields/nestable/NestableContent.d.ts +0 -1953
  438. package/lib/content/fields/nestable/NestableContent.js +0 -167
  439. package/lib/content/fields/nestable/RepeatableContent.d.ts +0 -182
  440. package/lib/content/fields/nestable/RepeatableContent.js +0 -146
  441. package/lib/content/fields/nestable/RichTextContent/Blocks.d.ts +0 -1261
  442. package/lib/content/fields/nestable/RichTextContent/Blocks.js +0 -170
  443. package/lib/content/fields/nestable/RichTextContent/index.d.ts +0 -1004
  444. package/lib/content/fields/nestable/RichTextContent/index.js +0 -28
  445. package/lib/content/fields/nestable/SeparatorContent.d.ts +0 -13
  446. package/lib/content/fields/nestable/SeparatorContent.js +0 -22
  447. package/lib/content/fields/nestable/TableContent.d.ts +0 -776
  448. package/lib/content/fields/nestable/TableContent.js +0 -167
  449. package/lib/content/fields/nestable/index.d.ts +0 -12
  450. package/lib/content/fields/nestable/index.js +0 -15
  451. package/lib/content/fields/slices/Slice/CompositeSliceContent.d.ts +0 -3934
  452. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +0 -195
  453. package/lib/content/fields/slices/Slice/RepeatableContent.d.ts +0 -774
  454. package/lib/content/fields/slices/Slice/RepeatableContent.js +0 -21
  455. package/lib/content/fields/slices/Slice/SharedSliceContent.d.ts +0 -3937
  456. package/lib/content/fields/slices/Slice/SharedSliceContent.js +0 -215
  457. package/lib/content/fields/slices/Slice/SimpleSliceContent.d.ts +0 -1962
  458. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +0 -130
  459. package/lib/content/fields/slices/Slice/SlicePrimaryContent.d.ts +0 -1952
  460. package/lib/content/fields/slices/Slice/SlicePrimaryContent.js +0 -30
  461. package/lib/content/fields/slices/Slice/index.d.ts +0 -6810
  462. package/lib/content/fields/slices/Slice/index.js +0 -45
  463. package/lib/content/fields/slices/SliceItem.d.ts +0 -6846
  464. package/lib/content/fields/slices/SliceItem.js +0 -116
  465. package/lib/content/fields/slices/SlicesContent.d.ts +0 -9827
  466. package/lib/content/fields/slices/SlicesContent.js +0 -465
  467. package/lib/content/fields/slices/index.d.ts +0 -3
  468. package/lib/content/fields/slices/index.js +0 -6
  469. package/lib/content/fields/withDefaultValues.d.ts +0 -9
  470. package/lib/content/fields/withDefaultValues.js +0 -79
  471. package/lib/content/helpers.d.ts +0 -9
  472. package/lib/content/helpers.js +0 -22
  473. package/lib/content/index.d.ts +0 -4
  474. package/lib/content/index.js +0 -7
  475. package/lib/content/utils.d.ts +0 -50
  476. package/lib/content/utils.js +0 -35
  477. package/lib/customtypes/CustomType.d.ts +0 -3680
  478. package/lib/customtypes/CustomType.js +0 -184
  479. package/lib/customtypes/Section.d.ts +0 -3635
  480. package/lib/customtypes/Section.js +0 -66
  481. package/lib/customtypes/diff/Changes.d.ts +0 -17
  482. package/lib/customtypes/diff/Changes.js +0 -9
  483. package/lib/customtypes/diff/SharedSlice.d.ts +0 -1624
  484. package/lib/customtypes/diff/SharedSlice.js +0 -55
  485. package/lib/customtypes/diff/Variation.d.ts +0 -1605
  486. package/lib/customtypes/diff/Variation.js +0 -113
  487. package/lib/customtypes/diff/Widgets.d.ts +0 -11
  488. package/lib/customtypes/diff/Widgets.js +0 -2
  489. package/lib/customtypes/diff/index.d.ts +0 -4
  490. package/lib/customtypes/diff/index.js +0 -7
  491. package/lib/customtypes/index.d.ts +0 -4
  492. package/lib/customtypes/index.js +0 -7
  493. package/lib/customtypes/widgets/Group.d.ts +0 -1352
  494. package/lib/customtypes/widgets/Group.js +0 -92
  495. package/lib/customtypes/widgets/UID.d.ts +0 -19
  496. package/lib/customtypes/widgets/UID.js +0 -21
  497. package/lib/customtypes/widgets/Widget.d.ts +0 -4457
  498. package/lib/customtypes/widgets/Widget.js +0 -49
  499. package/lib/customtypes/widgets/index.d.ts +0 -6
  500. package/lib/customtypes/widgets/index.js +0 -9
  501. package/lib/customtypes/widgets/nestable/BooleanField.d.ts +0 -20
  502. package/lib/customtypes/widgets/nestable/BooleanField.js +0 -21
  503. package/lib/customtypes/widgets/nestable/Color.d.ts +0 -17
  504. package/lib/customtypes/widgets/nestable/Color.js +0 -20
  505. package/lib/customtypes/widgets/nestable/Date.d.ts +0 -19
  506. package/lib/customtypes/widgets/nestable/Date.js +0 -21
  507. package/lib/customtypes/widgets/nestable/Embed.d.ts +0 -19
  508. package/lib/customtypes/widgets/nestable/Embed.js +0 -21
  509. package/lib/customtypes/widgets/nestable/GeoPoint.d.ts +0 -15
  510. package/lib/customtypes/widgets/nestable/GeoPoint.js +0 -19
  511. package/lib/customtypes/widgets/nestable/Image.d.ts +0 -44
  512. package/lib/customtypes/widgets/nestable/Image.js +0 -29
  513. package/lib/customtypes/widgets/nestable/IntegrationField.d.ts +0 -19
  514. package/lib/customtypes/widgets/nestable/IntegrationField.js +0 -21
  515. package/lib/customtypes/widgets/nestable/Link.d.ts +0 -196
  516. package/lib/customtypes/widgets/nestable/Link.js +0 -167
  517. package/lib/customtypes/widgets/nestable/NestableWidget.d.ts +0 -217
  518. package/lib/customtypes/widgets/nestable/NestableWidget.js +0 -39
  519. package/lib/customtypes/widgets/nestable/Number.d.ts +0 -23
  520. package/lib/customtypes/widgets/nestable/Number.js +0 -24
  521. package/lib/customtypes/widgets/nestable/Range.d.ts +0 -23
  522. package/lib/customtypes/widgets/nestable/Range.js +0 -24
  523. package/lib/customtypes/widgets/nestable/RichText.d.ts +0 -73
  524. package/lib/customtypes/widgets/nestable/RichText.js +0 -131
  525. package/lib/customtypes/widgets/nestable/Select.d.ts +0 -21
  526. package/lib/customtypes/widgets/nestable/Select.js +0 -22
  527. package/lib/customtypes/widgets/nestable/Separator.d.ts +0 -14
  528. package/lib/customtypes/widgets/nestable/Separator.js +0 -18
  529. package/lib/customtypes/widgets/nestable/Table.d.ts +0 -21
  530. package/lib/customtypes/widgets/nestable/Table.js +0 -30
  531. package/lib/customtypes/widgets/nestable/Text.d.ts +0 -19
  532. package/lib/customtypes/widgets/nestable/Text.js +0 -21
  533. package/lib/customtypes/widgets/nestable/Timestamp.d.ts +0 -19
  534. package/lib/customtypes/widgets/nestable/Timestamp.js +0 -21
  535. package/lib/customtypes/widgets/nestable/index.d.ts +0 -17
  536. package/lib/customtypes/widgets/nestable/index.js +0 -20
  537. package/lib/customtypes/widgets/shared/ImageConstraint.d.ts +0 -7
  538. package/lib/customtypes/widgets/shared/ImageConstraint.js +0 -31
  539. package/lib/customtypes/widgets/shared/index.d.ts +0 -1
  540. package/lib/customtypes/widgets/shared/index.js +0 -8
  541. package/lib/customtypes/widgets/slices/CompositeSlice.d.ts +0 -455
  542. package/lib/customtypes/widgets/slices/CompositeSlice.js +0 -63
  543. package/lib/customtypes/widgets/slices/LegacySlice.d.ts +0 -442
  544. package/lib/customtypes/widgets/slices/LegacySlice.js +0 -12
  545. package/lib/customtypes/widgets/slices/SharedSlice.d.ts +0 -1807
  546. package/lib/customtypes/widgets/slices/SharedSlice.js +0 -118
  547. package/lib/customtypes/widgets/slices/SharedSliceRef.d.ts +0 -5
  548. package/lib/customtypes/widgets/slices/SharedSliceRef.js +0 -9
  549. package/lib/customtypes/widgets/slices/Slice.d.ts +0 -6
  550. package/lib/customtypes/widgets/slices/Slice.js +0 -2
  551. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +0 -1259
  552. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.js +0 -10
  553. package/lib/customtypes/widgets/slices/Slices.d.ts +0 -5917
  554. package/lib/customtypes/widgets/slices/Slices.js +0 -146
  555. package/lib/customtypes/widgets/slices/SlicesTypes.d.ts +0 -6
  556. package/lib/customtypes/widgets/slices/SlicesTypes.js +0 -11
  557. package/lib/customtypes/widgets/slices/index.d.ts +0 -8
  558. package/lib/customtypes/widgets/slices/index.js +0 -11
  559. package/lib/utils/Arrays.d.ts +0 -1
  560. package/lib/utils/Arrays.js +0 -13
  561. package/lib/utils/DocumentId.d.ts +0 -2
  562. package/lib/utils/DocumentId.js +0 -7
  563. package/lib/utils/Fields.d.ts +0 -6
  564. package/lib/utils/Fields.js +0 -2
  565. package/lib/utils/Objects.d.ts +0 -8
  566. package/lib/utils/Objects.js +0 -42
  567. package/lib/utils/index.d.ts +0 -4
  568. package/lib/utils/index.js +0 -8
  569. package/lib/validators/BasicTypes.d.ts +0 -10
  570. package/lib/validators/BasicTypes.js +0 -25
  571. package/lib/validators/DateFromString.d.ts +0 -3
  572. package/lib/validators/DateFromString.js +0 -11
  573. package/lib/validators/DateFromStringOrNumber.d.ts +0 -3
  574. package/lib/validators/DateFromStringOrNumber.js +0 -10
  575. package/lib/validators/DateFromTsMs.d.ts +0 -3
  576. package/lib/validators/DateFromTsMs.js +0 -10
  577. package/lib/validators/DefaultOrElse.d.ts +0 -5
  578. package/lib/validators/DefaultOrElse.js +0 -21
  579. package/lib/validators/IntFromNumber.d.ts +0 -5
  580. package/lib/validators/IntFromNumber.js +0 -14
  581. package/lib/validators/IntFromPixels.d.ts +0 -8
  582. package/lib/validators/IntFromPixels.js +0 -24
  583. package/lib/validators/NonEmptyString.d.ts +0 -3
  584. package/lib/validators/NonEmptyString.js +0 -6
  585. package/lib/validators/NonEmptyStringOrNull.d.ts +0 -3
  586. package/lib/validators/NonEmptyStringOrNull.js +0 -15
  587. package/lib/validators/NumberOrNull.d.ts +0 -3
  588. package/lib/validators/NumberOrNull.js +0 -6
  589. package/lib/validators/NumberRange.d.ts +0 -32
  590. package/lib/validators/NumberRange.js +0 -40
  591. package/lib/validators/StringFromBoolean.d.ts +0 -5
  592. package/lib/validators/StringFromBoolean.js +0 -10
  593. package/lib/validators/StringFromNumber.d.ts +0 -5
  594. package/lib/validators/StringFromNumber.js +0 -10
  595. package/lib/validators/StringOrNull.d.ts +0 -3
  596. package/lib/validators/StringOrNull.js +0 -6
  597. package/lib/validators/TrimmedString.d.ts +0 -5
  598. package/lib/validators/TrimmedString.js +0 -23
  599. package/lib/validators/function.d.ts +0 -34
  600. package/lib/validators/function.js +0 -100
  601. package/lib/validators/index.d.ts +0 -15
  602. package/lib/validators/index.js +0 -31
  603. package/src/common/Asset.ts +0 -25
  604. package/src/common/Embed.ts +0 -22
  605. package/src/common/HexaColorCode.ts +0 -11
  606. package/src/common/UUID.ts +0 -19
  607. package/src/common/WidgetKey.ts +0 -13
  608. package/src/common/index.ts +0 -3
  609. package/src/content/Document.ts +0 -539
  610. package/src/content/fields/EmptyContent.ts +0 -45
  611. package/src/content/fields/GroupContent.ts +0 -466
  612. package/src/content/fields/UIDContent.ts +0 -42
  613. package/src/content/fields/WidgetContent.ts +0 -76
  614. package/src/content/fields/index.ts +0 -6
  615. package/src/content/fields/nestable/BooleanContent.ts +0 -52
  616. package/src/content/fields/nestable/EmbedContent.ts +0 -74
  617. package/src/content/fields/nestable/FieldContent/ColorContent.ts +0 -49
  618. package/src/content/fields/nestable/FieldContent/DateContent.ts +0 -49
  619. package/src/content/fields/nestable/FieldContent/NumberContent.ts +0 -49
  620. package/src/content/fields/nestable/FieldContent/RangeContent.ts +0 -49
  621. package/src/content/fields/nestable/FieldContent/SelectContent.ts +0 -60
  622. package/src/content/fields/nestable/FieldContent/TextContent.ts +0 -49
  623. package/src/content/fields/nestable/FieldContent/TimestampContent.ts +0 -49
  624. package/src/content/fields/nestable/FieldContent/common.ts +0 -1
  625. package/src/content/fields/nestable/FieldContent/index.ts +0 -40
  626. package/src/content/fields/nestable/GeoPointContent.ts +0 -48
  627. package/src/content/fields/nestable/ImageContent.ts +0 -196
  628. package/src/content/fields/nestable/IntegrationFieldContent.ts +0 -51
  629. package/src/content/fields/nestable/LinkContent.ts +0 -651
  630. package/src/content/fields/nestable/NestableContent.ts +0 -241
  631. package/src/content/fields/nestable/RepeatableContent.ts +0 -224
  632. package/src/content/fields/nestable/RichTextContent/Blocks.ts +0 -238
  633. package/src/content/fields/nestable/RichTextContent/index.ts +0 -42
  634. package/src/content/fields/nestable/SeparatorContent.ts +0 -34
  635. package/src/content/fields/nestable/TableContent.ts +0 -234
  636. package/src/content/fields/nestable/index.ts +0 -12
  637. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +0 -293
  638. package/src/content/fields/slices/Slice/RepeatableContent.ts +0 -29
  639. package/src/content/fields/slices/Slice/SharedSliceContent.ts +0 -305
  640. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +0 -180
  641. package/src/content/fields/slices/Slice/SlicePrimaryContent.ts +0 -40
  642. package/src/content/fields/slices/Slice/index.ts +0 -52
  643. package/src/content/fields/slices/SliceItem.ts +0 -184
  644. package/src/content/fields/slices/SlicesContent.ts +0 -677
  645. package/src/content/fields/slices/index.ts +0 -3
  646. package/src/content/helpers.ts +0 -25
  647. package/src/content/index.ts +0 -4
  648. package/src/customtypes/CustomType.ts +0 -280
  649. package/src/customtypes/Section.ts +0 -98
  650. package/src/customtypes/diff/Variation.ts +0 -167
  651. package/src/customtypes/diff/Widgets.ts +0 -17
  652. package/src/customtypes/diff/index.ts +0 -4
  653. package/src/customtypes/index.ts +0 -4
  654. package/src/customtypes/widgets/Group.ts +0 -120
  655. package/src/customtypes/widgets/UID.ts +0 -27
  656. package/src/customtypes/widgets/Widget.ts +0 -83
  657. package/src/customtypes/widgets/index.ts +0 -6
  658. package/src/customtypes/widgets/nestable/BooleanField.ts +0 -29
  659. package/src/customtypes/widgets/nestable/Color.ts +0 -25
  660. package/src/customtypes/widgets/nestable/Date.ts +0 -27
  661. package/src/customtypes/widgets/nestable/Embed.ts +0 -27
  662. package/src/customtypes/widgets/nestable/GeoPoint.ts +0 -25
  663. package/src/customtypes/widgets/nestable/Image.ts +0 -39
  664. package/src/customtypes/widgets/nestable/IntegrationField.ts +0 -26
  665. package/src/customtypes/widgets/nestable/Link.ts +0 -313
  666. package/src/customtypes/widgets/nestable/NestableWidget.ts +0 -40
  667. package/src/customtypes/widgets/nestable/Number.ts +0 -30
  668. package/src/customtypes/widgets/nestable/Range.ts +0 -30
  669. package/src/customtypes/widgets/nestable/RichText.ts +0 -215
  670. package/src/customtypes/widgets/nestable/Select.ts +0 -34
  671. package/src/customtypes/widgets/nestable/Separator.ts +0 -24
  672. package/src/customtypes/widgets/nestable/Table.ts +0 -38
  673. package/src/customtypes/widgets/nestable/Text.ts +0 -27
  674. package/src/customtypes/widgets/nestable/Timestamp.ts +0 -27
  675. package/src/customtypes/widgets/nestable/index.ts +0 -17
  676. package/src/customtypes/widgets/shared/ImageConstraint.ts +0 -41
  677. package/src/customtypes/widgets/shared/index.ts +0 -1
  678. package/src/customtypes/widgets/slices/CompositeSlice.ts +0 -79
  679. package/src/customtypes/widgets/slices/LegacySlice.ts +0 -15
  680. package/src/customtypes/widgets/slices/SharedSlice.ts +0 -152
  681. package/src/customtypes/widgets/slices/SharedSliceRef.ts +0 -10
  682. package/src/customtypes/widgets/slices/Slice.ts +0 -7
  683. package/src/customtypes/widgets/slices/SlicePrimaryWidget.ts +0 -12
  684. package/src/customtypes/widgets/slices/Slices.ts +0 -184
  685. package/src/customtypes/widgets/slices/SlicesTypes.ts +0 -11
  686. package/src/customtypes/widgets/slices/index.ts +0 -8
  687. package/src/utils/Arrays.ts +0 -12
  688. package/src/utils/DocumentId.ts +0 -8
  689. package/src/utils/Fields.ts +0 -4
  690. package/src/utils/Objects.ts +0 -53
  691. package/src/utils/index.ts +0 -4
  692. package/src/validators/BasicTypes.ts +0 -55
  693. package/src/validators/DateFromString.ts +0 -19
  694. package/src/validators/DateFromStringOrNumber.ts +0 -17
  695. package/src/validators/DateFromTsMs.ts +0 -17
  696. package/src/validators/DefaultOrElse.ts +0 -24
  697. package/src/validators/IntFromNumber.ts +0 -22
  698. package/src/validators/IntFromPixels.ts +0 -32
  699. package/src/validators/NonEmptyString.ts +0 -8
  700. package/src/validators/NonEmptyStringOrNull.ts +0 -22
  701. package/src/validators/NumberOrNull.ts +0 -5
  702. package/src/validators/NumberRange.ts +0 -51
  703. package/src/validators/StringFromBoolean.ts +0 -19
  704. package/src/validators/StringFromNumber.ts +0 -19
  705. package/src/validators/StringOrNull.ts +0 -5
  706. package/src/validators/TrimmedString.ts +0 -33
  707. package/src/validators/function.ts +0 -115
  708. package/src/validators/index.ts +0 -15
  709. /package/src/{customtypes/diff/Changes.ts → model/diff/changes.ts} +0 -0
@@ -0,0 +1,10 @@
1
+ import { z } from "zod/mini"
2
+
3
+ export const EmptyLegacySchema = z.union([
4
+ z.null(),
5
+ z.object({
6
+ value: z.null(),
7
+ }),
8
+ ])
9
+
10
+ export type EmptyLegacy = z.infer<typeof EmptyLegacySchema>
@@ -0,0 +1,8 @@
1
+ import { z } from "zod/mini"
2
+
3
+ export const StringLegacySchema = z.pipe(
4
+ z.string(),
5
+ z.transform((s: string) => s.trim()),
6
+ )
7
+
8
+ export type StringLegacy = z.infer<typeof StringLegacySchema>
@@ -0,0 +1,10 @@
1
+ import { z } from "zod/mini"
2
+
3
+ export const GeoPointLegacySchema = z.object({
4
+ position: z.object({
5
+ lat: z.number(),
6
+ lng: z.number(),
7
+ }),
8
+ })
9
+
10
+ export type GeoPointLegacy = z.infer<typeof GeoPointLegacySchema>
@@ -0,0 +1,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { NestableLegacySchema } from "./nestable"
4
+
5
+ export const GroupItemLegacySchema = z.record(z.string(), z.unknown())
6
+
7
+ export type GroupItemLegacy = z.infer<typeof GroupItemLegacySchema>
8
+
9
+ export const GroupLegacySchema = z.array(z.union([GroupItemLegacySchema, z.null()]))
10
+
11
+ export type GroupLegacy = z.infer<typeof GroupLegacySchema>
12
+
13
+ export const NestableAndGroupLegacySchema = z.union([NestableLegacySchema, GroupLegacySchema])
14
+
15
+ export type NestableAndGroupLegacy = z.infer<typeof NestableAndGroupLegacySchema>
@@ -0,0 +1,43 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const OriginSchema = z.object({
4
+ id: z.string(),
5
+ url: z.string(),
6
+ width: z.number(),
7
+ height: z.number(),
8
+ })
9
+
10
+ const CropSchema = z.object({
11
+ x: z.number(),
12
+ y: z.number(),
13
+ })
14
+
15
+ const EditSchema = z.object({
16
+ zoom: z.number(),
17
+ crop: CropSchema,
18
+ background: z.string(),
19
+ })
20
+
21
+ const NonEmptyStringOrNullSchema = z.pipe(
22
+ z.nullish(z.string()),
23
+ z.transform((value) => (typeof value === "string" && value.length > 0 ? value : null)),
24
+ )
25
+
26
+ export const ImageViewLegacySchema = z.object({
27
+ origin: OriginSchema,
28
+ width: z.number(),
29
+ height: z.number(),
30
+ edit: EditSchema,
31
+ url: z.optional(z.string()),
32
+ credits: z.optional(NonEmptyStringOrNullSchema),
33
+ alt: z.optional(NonEmptyStringOrNullSchema),
34
+ provider: z.nullish(z.string()),
35
+ })
36
+
37
+ export type ImageLegacyView = z.infer<typeof ImageViewLegacySchema>
38
+
39
+ export const ImageLegacySchema = z.extend(ImageViewLegacySchema, {
40
+ thumbnails: z.optional(z.record(z.string(), ImageViewLegacySchema)),
41
+ })
42
+
43
+ export type ImageLegacy = z.infer<typeof ImageLegacySchema>
@@ -0,0 +1,5 @@
1
+ import { z } from "zod/mini"
2
+
3
+ export const IntegrationFieldLegacySchema = z.string()
4
+
5
+ export type IntegrationFieldLegacy = z.infer<typeof IntegrationFieldLegacySchema>
@@ -0,0 +1,171 @@
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.union([
113
+ FilledImageLinkValueLegacySchema,
114
+ FilledFileLinkValueLegacySchema,
115
+ FilledDocumentLinkValueLegacySchema,
116
+ FilledExternalLinkValueLegacySchema,
117
+ ])
118
+
119
+ export type FilledLinkValueLegacy = z.infer<typeof FilledLinkValueLegacySchema>
120
+
121
+ const EmptyLinkValueLegacySchema = z.union([
122
+ EmptyImageLinkValueLegacySchema,
123
+ EmptyFileLinkValueLegacySchema,
124
+ EmptyMediaLinkValueLegacySchema,
125
+ EmptyDocumentLinkValueLegacySchema,
126
+ EmptyExternalLinkValueLegacySchema,
127
+ AnyLinkLegacySchema,
128
+ ])
129
+
130
+ export type EmptyLinkValueLegacy = z.infer<typeof EmptyLinkValueLegacySchema>
131
+
132
+ const LinkValueLegacySchema = z.union([FilledLinkValueLegacySchema, EmptyLinkValueLegacySchema])
133
+
134
+ export type LinkValueLegacy = z.infer<typeof LinkValueLegacySchema>
135
+
136
+ // We cannot use z.extend here because we're working with unions.
137
+ // z.intersection wouldn't work also for the same reason.
138
+ export const LinkLegacySchema = z.pipe(
139
+ z.pipe(
140
+ z.pipe(
141
+ z.record(z.string(), z.unknown()),
142
+ z.transform(
143
+ ({
144
+ key,
145
+ text,
146
+ variant,
147
+ ...value
148
+ }): {
149
+ key?: unknown
150
+ text?: unknown
151
+ variant?: unknown
152
+ value: Record<string, unknown>
153
+ } => ({ key, text, variant, value }),
154
+ ),
155
+ ),
156
+ z.object({
157
+ key: z.optional(z.string()),
158
+ text: z.optional(z.string()),
159
+ variant: z.optional(z.string()),
160
+ value: LinkValueLegacySchema,
161
+ }),
162
+ ),
163
+ z.transform(({ key, text, variant, value }) => ({
164
+ key: z.uuidv4().safeParse(key).data ?? crypto.randomUUID(),
165
+ ...(text ? { text } : {}),
166
+ ...(variant ? { variant } : {}),
167
+ ...value,
168
+ })),
169
+ )
170
+
171
+ export type LinkLegacy = z.infer<typeof LinkLegacySchema>
@@ -0,0 +1,31 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { BooleanLegacySchema } from "./boolean"
4
+ import { EmbedLegacyLooseSchema } from "./embed"
5
+ import { EmptyLegacySchema } from "./empty"
6
+ import { StringLegacySchema } from "./field"
7
+ import { GeoPointLegacySchema } from "./geopoint"
8
+ import { ImageLegacySchema } from "./image"
9
+ import { IntegrationFieldLegacySchema } from "./integrationField"
10
+ import { LinkLegacySchema } from "./link"
11
+ import { RepeatableLegacySchema } from "./repeatable"
12
+ import { RichTextLegacySchema } from "./richText"
13
+ import { SeparatorLegacySchema } from "./separator"
14
+ import { TableLegacySchema } from "./table"
15
+
16
+ export const NestableLegacySchema = z.union([
17
+ EmptyLegacySchema,
18
+ BooleanLegacySchema,
19
+ EmbedLegacyLooseSchema,
20
+ StringLegacySchema,
21
+ GeoPointLegacySchema,
22
+ ImageLegacySchema,
23
+ IntegrationFieldLegacySchema,
24
+ LinkLegacySchema,
25
+ RepeatableLegacySchema,
26
+ RichTextLegacySchema,
27
+ SeparatorLegacySchema,
28
+ TableLegacySchema,
29
+ ])
30
+
31
+ export type NestableLegacy = z.infer<typeof NestableLegacySchema>
@@ -0,0 +1,20 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { LinkLegacySchema } from "./link"
4
+
5
+ const RepeatableLinkLegacySchema = z.pipe(
6
+ z.array(z.unknown()),
7
+ z.transform((value) =>
8
+ value.flatMap((item) => {
9
+ try {
10
+ return [LinkLegacySchema.parse(item)]
11
+ } catch {
12
+ return []
13
+ }
14
+ }),
15
+ ),
16
+ )
17
+
18
+ export const RepeatableLegacySchema = RepeatableLinkLegacySchema
19
+
20
+ export type RepeatableLegacy = z.infer<typeof RepeatableLegacySchema>
@@ -0,0 +1,165 @@
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 { FilledLinkValueContentSchema } from "../link"
8
+ import { EmbedLegacyLooseSchema } from "./embed"
9
+ import { ImageViewLegacySchema } from "./image"
10
+ import { FilledLinkValueLegacySchema } from "./link"
11
+
12
+ export const RichTextNodeType = {
13
+ paragraph: "paragraph",
14
+ heading1: "heading1",
15
+ heading2: "heading2",
16
+ heading3: "heading3",
17
+ heading4: "heading4",
18
+ heading5: "heading5",
19
+ heading6: "heading6",
20
+ preformatted: "preformatted",
21
+ oListItem: "o-list-item",
22
+ listItem: "list-item",
23
+ image: "image",
24
+ embed: "embed",
25
+ hyperlink: "hyperlink",
26
+ strong: "strong",
27
+ em: "em",
28
+ } as const
29
+
30
+ // Spans
31
+ const getHyperlinkSpanSchema = <
32
+ TData extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
33
+ >(
34
+ data: TData,
35
+ ) =>
36
+ z.object({
37
+ type: z.literal(RichTextNodeType.hyperlink),
38
+ start: z.number(),
39
+ end: z.number(),
40
+ data,
41
+ })
42
+
43
+ const LabelSpanSchema = z.object({
44
+ type: z.literal("label"),
45
+ start: z.number(),
46
+ end: z.number(),
47
+ data: z.pipe(
48
+ z.unknown(),
49
+ z.transform((value) => (typeof value === "string" && value.length > 0 ? value : "")),
50
+ ),
51
+ })
52
+
53
+ const BasicSpanSchema = z.object({
54
+ type: z.union([
55
+ z.literal(RichTextNodeType.strong),
56
+ z.literal(RichTextNodeType.em),
57
+ z.literal("list-item"), // legacy case
58
+ ]),
59
+ start: z.number(),
60
+ end: z.number(),
61
+ })
62
+
63
+ const getSpanSchema = <
64
+ TLinkSchema extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
65
+ >(
66
+ linkSchema: TLinkSchema,
67
+ ) => z.union([getHyperlinkSpanSchema(linkSchema), LabelSpanSchema, BasicSpanSchema])
68
+
69
+ // Text blocks
70
+ const TextBlockTypeSchema = z.union([
71
+ z.literal(RichTextNodeType.paragraph),
72
+ z.literal(RichTextNodeType.heading1),
73
+ z.literal(RichTextNodeType.heading2),
74
+ z.literal(RichTextNodeType.heading3),
75
+ z.literal(RichTextNodeType.heading4),
76
+ z.literal(RichTextNodeType.heading5),
77
+ z.literal(RichTextNodeType.heading6),
78
+ z.literal(RichTextNodeType.preformatted),
79
+ z.literal(RichTextNodeType.oListItem),
80
+ z.literal(RichTextNodeType.listItem),
81
+ ])
82
+
83
+ // oxlint-disable-next-line explicit-module-boundary-types
84
+ export const getTextBlockSchema = <
85
+ TLinkSchema extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
86
+ >(
87
+ linkSchema: TLinkSchema,
88
+ ) =>
89
+ z.object({
90
+ type: TextBlockTypeSchema,
91
+ content: z.object({
92
+ text: z.string(),
93
+ spans: z.optional(
94
+ z.pipe(
95
+ z.array(z.unknown()),
96
+ z.transform((spans) => {
97
+ const spanSchema = getSpanSchema(linkSchema)
98
+
99
+ // Filter out invalid spans and order them by start position
100
+ return spans
101
+ .flatMap((maybeSpan) => {
102
+ const parsed = spanSchema.safeParse(maybeSpan)
103
+ return parsed.success ? [parsed.data] : []
104
+ })
105
+ .sort((a, b) => a.start - b.start)
106
+ }),
107
+ ),
108
+ ),
109
+ }),
110
+ label: z.optional(z.string()),
111
+ direction: z.optional(z.string()),
112
+ })
113
+
114
+ const TextBlockLegacySchema = getTextBlockSchema(FilledLinkValueLegacySchema)
115
+
116
+ // Image block
117
+
118
+ // oxlint-disable-next-line explicit-module-boundary-types
119
+ export const getImageBlockSchema = <
120
+ TData extends typeof ImageViewLegacySchema | typeof ImageViewContentSchema,
121
+ TLinkTo extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
122
+ >(
123
+ data: TData,
124
+ linkTo: TLinkTo,
125
+ ) =>
126
+ z.object({
127
+ type: z.literal(RichTextNodeType.image),
128
+ data: z.extend(data, { linkTo: z.nullish(linkTo) }),
129
+ label: z.nullish(z.string()),
130
+ direction: z.nullish(z.string()),
131
+ })
132
+
133
+ const ImageBlockLegacySchema = getImageBlockSchema(
134
+ ImageViewLegacySchema,
135
+ FilledLinkValueLegacySchema,
136
+ )
137
+
138
+ // Embed block
139
+ // oxlint-disable-next-line explicit-module-boundary-types
140
+ export const getEmbedBlockSchema = <
141
+ TData extends typeof EmbedLegacyLooseSchema | typeof EmbedContentSchema,
142
+ >(
143
+ data: TData,
144
+ ) =>
145
+ z.object({
146
+ type: z.literal(RichTextNodeType.embed),
147
+ data,
148
+ label: z.nullish(z.string()),
149
+ direction: z.nullish(z.string()),
150
+ })
151
+
152
+ const EmbedBlockLegacySchema = getEmbedBlockSchema(EmbedLegacyLooseSchema)
153
+
154
+ // Blocks
155
+ export const BlockLegacySchema = z.union([
156
+ TextBlockLegacySchema,
157
+ ImageBlockLegacySchema,
158
+ EmbedBlockLegacySchema,
159
+ ])
160
+
161
+ export type BlockLegacy = z.infer<typeof BlockLegacySchema>
162
+
163
+ export const RichTextLegacySchema = z.array(BlockLegacySchema)
164
+
165
+ 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,37 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { GroupItemLegacySchema, NestableAndGroupLegacySchema } from "./group"
4
+ import { NestableLegacySchema } from "./nestable"
5
+
6
+ // Simple (before 2020)
7
+ export const SimpleSliceLegacySchema = NestableAndGroupLegacySchema
8
+
9
+ export type SimpleSliceLegacy = z.infer<typeof SimpleSliceLegacySchema>
10
+
11
+ // Composite (2020 to 2021)
12
+ export const CompositeSliceLegacySchema = z.object({
13
+ "non-repeat": z.optional(z.record(z.string(), NestableLegacySchema)),
14
+ repeat: z.optional(z.array(GroupItemLegacySchema)),
15
+ })
16
+
17
+ export type CompositeSliceLegacy = z.infer<typeof CompositeSliceLegacySchema>
18
+
19
+ // Shared (2021 to present)
20
+ export const SharedSliceLegacySchema = z.object({
21
+ variation: z.string(),
22
+ primary: z.transform(
23
+ (value) => z.record(z.string(), NestableAndGroupLegacySchema).safeParse(value).data || {},
24
+ ),
25
+ items: z.transform((value) => z.array(GroupItemLegacySchema).safeParse(value).data || []),
26
+ })
27
+
28
+ export type SharedSliceLegacy = z.infer<typeof SharedSliceLegacySchema>
29
+
30
+ // All
31
+ export const SliceLegacySchema = z.union([
32
+ SimpleSliceLegacySchema,
33
+ CompositeSliceLegacySchema,
34
+ SharedSliceLegacySchema,
35
+ ])
36
+
37
+ export type SliceLegacy = z.infer<typeof SliceLegacySchema>
@@ -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,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { GroupLegacySchema } from "./group"
4
+ import { NestableLegacySchema } from "./nestable"
5
+ import { SlicesLegacySchema } from "./slices"
6
+ import { UIDLegacySchema } from "./uid"
7
+
8
+ export const WidgetLegacySchema = z.union([
9
+ UIDLegacySchema,
10
+ GroupLegacySchema,
11
+ SlicesLegacySchema,
12
+ NestableLegacySchema,
13
+ ])
14
+
15
+ export type WidgetLegacy = z.infer<typeof WidgetLegacySchema>