@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,131 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import {
4
+ EmptyDocumentLinkValueLegacySchema,
5
+ EmptyImageLinkValueLegacySchema,
6
+ FilledDocumentLinkValueLegacySchema,
7
+ FilledFileLinkValueLegacySchema,
8
+ FilledImageLinkValueLegacySchema,
9
+ EmptyMediaLinkValueLegacySchema,
10
+ FilledExternalLinkValueLegacySchema,
11
+ EmptyExternalLinkValueLegacySchema,
12
+ AnyLinkLegacySchema,
13
+ LinkType,
14
+ EmptyFileLinkValueLegacySchema,
15
+ } from "./legacy/link"
16
+
17
+ // Image
18
+ const FilledImageLinkValueContentSchema = z.extend(FilledImageLinkValueLegacySchema, {
19
+ __TYPE__: z.literal(LinkType.Image),
20
+ })
21
+
22
+ const EmptyImageLinkValueContentSchema = z.extend(EmptyImageLinkValueLegacySchema, {
23
+ __TYPE__: z.literal(LinkType.Image),
24
+ })
25
+
26
+ // File
27
+ const FilledFileLinkValueContentSchema = z.extend(FilledFileLinkValueLegacySchema, {
28
+ __TYPE__: z.literal(LinkType.File),
29
+ })
30
+
31
+ const EmptyFileLinkValueContentSchema = z.extend(EmptyFileLinkValueLegacySchema, {
32
+ __TYPE__: z.literal(LinkType.File),
33
+ })
34
+
35
+ // Media
36
+ const EmptyMediaLinkValueContentSchema = z.extend(EmptyMediaLinkValueLegacySchema, {
37
+ __TYPE__: z.literal(LinkType.Media),
38
+ })
39
+
40
+ // Document
41
+ const FilledDocumentLinkValueContentSchema = z.extend(FilledDocumentLinkValueLegacySchema, {
42
+ __TYPE__: z.literal(LinkType.Document),
43
+ })
44
+
45
+ const EmptyDocumentLinkValueContentSchema = z.extend(EmptyDocumentLinkValueLegacySchema, {
46
+ __TYPE__: z.literal(LinkType.Document),
47
+ })
48
+
49
+ // External
50
+ const FilledExternalLinkValueContentSchema = z.extend(FilledExternalLinkValueLegacySchema, {
51
+ __TYPE__: z.literal(LinkType.External),
52
+ })
53
+
54
+ const EmptyExternalLinkValueContentSchema = z.extend(EmptyExternalLinkValueLegacySchema, {
55
+ __TYPE__: z.literal(LinkType.External),
56
+ })
57
+
58
+ // Any
59
+ const AnyLinkValueContentSchema = z.extend(AnyLinkLegacySchema, {
60
+ __TYPE__: z.literal(LinkType.Any),
61
+ })
62
+
63
+ // All
64
+
65
+ // Used by content/richText
66
+ export const FilledLinkValueContentSchema = z.union([
67
+ FilledImageLinkValueContentSchema,
68
+ FilledFileLinkValueContentSchema,
69
+ FilledDocumentLinkValueContentSchema,
70
+ FilledExternalLinkValueContentSchema,
71
+ ])
72
+
73
+ // Used by content/legacy/link
74
+ export type FilledLinkValueContent = z.infer<typeof FilledLinkValueContentSchema>
75
+
76
+ const EmptyLinkValueContentSchema = z.union([
77
+ EmptyImageLinkValueContentSchema,
78
+ EmptyFileLinkValueContentSchema,
79
+ EmptyMediaLinkValueContentSchema,
80
+ EmptyDocumentLinkValueContentSchema,
81
+ EmptyExternalLinkValueContentSchema,
82
+ AnyLinkValueContentSchema,
83
+ ])
84
+
85
+ // Used by content/codec/link
86
+ export type EmptyLinkValueContent = z.infer<typeof EmptyLinkValueContentSchema>
87
+
88
+ const LinkValueContentSchema = z.union([FilledLinkValueContentSchema, EmptyLinkValueContentSchema])
89
+
90
+ // Used by content/codec/link
91
+ export type LinkValueContent = z.infer<typeof LinkValueContentSchema>
92
+
93
+ // Content
94
+ export const LinkContentType = "LinkContent" as const
95
+
96
+ export const LinkContentSchema = z.object({
97
+ __TYPE__: z.literal(LinkContentType),
98
+ key: z.transform((value) => z.uuidv4().safeParse(value).data || crypto.randomUUID()),
99
+ // We cannot use z.extend here because we're working with unions.
100
+ // z.intersection wouldn't work also for the same reason.
101
+ value: z.pipe(
102
+ z.pipe(
103
+ z.pipe(
104
+ z.record(z.string(), z.unknown()),
105
+ z.transform(
106
+ ({
107
+ text,
108
+ variant,
109
+ ...value
110
+ }): {
111
+ text?: unknown
112
+ variant?: unknown
113
+ value: Record<string, unknown>
114
+ } => ({ text, variant, value }),
115
+ ),
116
+ ),
117
+ z.object({
118
+ text: z.optional(z.string()),
119
+ variant: z.optional(z.string()),
120
+ value: z.union([FilledLinkValueContentSchema, EmptyLinkValueContentSchema]),
121
+ }),
122
+ ),
123
+ z.transform(({ text, variant, value }) => ({
124
+ ...(text ? { text } : {}),
125
+ ...(variant ? { variant } : {}),
126
+ ...value,
127
+ })),
128
+ ),
129
+ })
130
+
131
+ export type LinkContent = z.infer<typeof LinkContentSchema>
@@ -0,0 +1,64 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import type { NestableModel } from "../model/nestable"
4
+ import { BooleanContentDefaultValue, BooleanContentSchema } from "./boolean"
5
+ import { EmbedContentSchema } from "./embed"
6
+ import { EmptyContentSchema } from "./empty"
7
+ import {
8
+ ColorContentSchema,
9
+ DateContentSchema,
10
+ NumberContentSchema,
11
+ RangeContentSchema,
12
+ SelectContentDefaultValue,
13
+ SelectContentSchema,
14
+ TextContentSchema,
15
+ TimestampContentSchema,
16
+ } from "./field"
17
+ import { GeoPointContentSchema } from "./geopoint"
18
+ import { ImageContentSchema } from "./image"
19
+ import { IntegrationFieldContentSchema } from "./integrationField"
20
+ import { LinkContentSchema } from "./link"
21
+ import { RepeatableContentSchema } from "./repeatable"
22
+ import { RichTextContentSchema } from "./richText"
23
+ import { SeparatorContentSchema } from "./separator"
24
+ import { TableContentSchema } from "./table"
25
+
26
+ export const NestableContentSchema = z.union([
27
+ EmptyContentSchema,
28
+ BooleanContentSchema,
29
+ ColorContentSchema,
30
+ DateContentSchema,
31
+ EmbedContentSchema,
32
+ GeoPointContentSchema,
33
+ ImageContentSchema,
34
+ IntegrationFieldContentSchema,
35
+ LinkContentSchema,
36
+ NumberContentSchema,
37
+ RangeContentSchema,
38
+ RepeatableContentSchema,
39
+ RichTextContentSchema,
40
+ SelectContentSchema,
41
+ SeparatorContentSchema,
42
+ TableContentSchema,
43
+ TextContentSchema,
44
+ TimestampContentSchema,
45
+ ])
46
+
47
+ export type NestableContent = z.infer<typeof NestableContentSchema>
48
+
49
+ /**
50
+ * Returns the default value for a nestable widget based on its configuration.
51
+ * Currently only Boolean and Select fields have default values.
52
+ */
53
+ export const NestableContentDefaultValue = (
54
+ widgetDef: NestableModel,
55
+ ): NestableContent | undefined => {
56
+ switch (widgetDef.type) {
57
+ case "Boolean":
58
+ return BooleanContentDefaultValue(widgetDef)
59
+ case "Select":
60
+ return SelectContentDefaultValue(widgetDef)
61
+ default:
62
+ return undefined
63
+ }
64
+ }
@@ -0,0 +1,13 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { LinkContentSchema } from "./link"
4
+
5
+ export const RepeatableContentType = "RepeatableContent" as const
6
+
7
+ export const RepeatableContentSchema = z.object({
8
+ __TYPE__: z.literal(RepeatableContentType),
9
+ type: z.literal("Link"),
10
+ value: z.array(LinkContentSchema),
11
+ })
12
+
13
+ export type RepeatableContent = z.infer<typeof RepeatableContentSchema>
@@ -0,0 +1,32 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { EmbedContentSchema } from "./embed"
4
+ import { ImageViewContentSchema } from "./image"
5
+ import { getEmbedBlockSchema, getImageBlockSchema, getTextBlockSchema } from "./legacy/richText"
6
+ import { FilledLinkValueContentSchema } from "./link"
7
+
8
+ const TextBlockValueSchema = getTextBlockSchema(FilledLinkValueContentSchema)
9
+ const ImageBlockValueSchema = getImageBlockSchema(
10
+ ImageViewContentSchema,
11
+ FilledLinkValueContentSchema,
12
+ )
13
+ const EmbedBlockValueSchema = getEmbedBlockSchema(EmbedContentSchema)
14
+
15
+ // Blocks
16
+ const BlockValueSchema = z.union([
17
+ TextBlockValueSchema,
18
+ ImageBlockValueSchema,
19
+ EmbedBlockValueSchema,
20
+ ])
21
+
22
+ // Used by content/richText
23
+ export type BlockValue = z.infer<typeof BlockValueSchema>
24
+
25
+ export const RichTextContentType = "StructuredTextContent" as const
26
+
27
+ export const RichTextContentSchema = z.object({
28
+ __TYPE__: z.literal(RichTextContentType),
29
+ value: z.array(BlockValueSchema),
30
+ })
31
+
32
+ export type RichTextContent = z.infer<typeof RichTextContentSchema>
@@ -0,0 +1,9 @@
1
+ import { z } from "zod/mini"
2
+
3
+ export const SeparatorContentType = "SeparatorContent" as const
4
+
5
+ export const SeparatorContentSchema = z.object({
6
+ __TYPE__: z.literal(SeparatorContentType),
7
+ })
8
+
9
+ export type SeparatorContent = z.infer<typeof SeparatorContentSchema>
@@ -0,0 +1,41 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { GroupItemContentSchema, NestableAndGroupContentSchema } from "./group"
4
+ import { NestableContentSchema } from "./nestable"
5
+
6
+ // Simple (before 2020)
7
+ export const SimpleSliceContentSchema = NestableAndGroupContentSchema
8
+
9
+ export type SimpleSliceContent = z.infer<typeof SimpleSliceContentSchema>
10
+
11
+ // Composite (2020 to 2021)
12
+ export const CompositeSliceContentType = "CompositeSliceContent" as const
13
+
14
+ export const CompositeSliceContentSchema = z.object({
15
+ __TYPE__: z.literal(CompositeSliceContentType),
16
+ nonRepeat: z.record(z.string(), NestableContentSchema),
17
+ repeat: z.array(GroupItemContentSchema),
18
+ })
19
+
20
+ export type CompositeSliceContent = z.infer<typeof CompositeSliceContentSchema>
21
+
22
+ // Shared (2021 to present)
23
+ export const SharedSliceContentType = "SharedSliceContent" as const
24
+
25
+ export const SharedSliceContentSchema = z.object({
26
+ __TYPE__: z.literal(SharedSliceContentType),
27
+ variation: z.string(),
28
+ primary: z.record(z.string(), NestableAndGroupContentSchema),
29
+ items: z.array(GroupItemContentSchema),
30
+ })
31
+
32
+ export type SharedSliceContent = z.infer<typeof SharedSliceContentSchema>
33
+
34
+ // All
35
+ export const SliceContentSchema = z.union([
36
+ SimpleSliceContentSchema,
37
+ CompositeSliceContentSchema,
38
+ SharedSliceContentSchema,
39
+ ])
40
+
41
+ export type SliceContent = z.infer<typeof SliceContentSchema>
@@ -0,0 +1,23 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { SliceContentSchema } from "./slice"
4
+
5
+ // Item
6
+ export const SliceItemContentSchema = z.object({
7
+ key: z.string(),
8
+ name: z.string(),
9
+ maybeLabel: z.optional(z.string()),
10
+ widget: SliceContentSchema,
11
+ })
12
+
13
+ export type SliceItemContent = z.infer<typeof SliceItemContentSchema>
14
+
15
+ // Slices
16
+ export const SlicesContentType = "SliceContentType" as const
17
+
18
+ export const SlicesContentSchema = z.object({
19
+ __TYPE__: z.literal(SlicesContentType),
20
+ value: z.array(SliceItemContentSchema),
21
+ })
22
+
23
+ export type SlicesContent = z.infer<typeof SlicesContentSchema>
@@ -0,0 +1,14 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { getTableRowSchema } from "./legacy/table"
4
+ import { RichTextContentSchema } from "./richText"
5
+
6
+ export const TableContentType = "TableContent" as const
7
+
8
+ // Table
9
+ export const TableContentSchema = z.object({
10
+ __TYPE__: z.literal(TableContentType),
11
+ content: z.array(getTableRowSchema(RichTextContentSchema)),
12
+ })
13
+
14
+ export type TableContent = z.infer<typeof TableContentSchema>
@@ -0,0 +1,10 @@
1
+ import { z } from "zod/mini"
2
+
3
+ export const UIDContentType = "UIDContent" as const
4
+
5
+ export const UIDContentSchema = z.object({
6
+ __TYPE__: z.literal(UIDContentType),
7
+ value: z.string(),
8
+ })
9
+
10
+ export type UIDContent = z.infer<typeof UIDContentSchema>
@@ -1,110 +1,10 @@
1
- import { isRight } from "fp-ts/lib/Either"
1
+ import type { SliceItemContent } from "./slices"
2
+ import type { WidgetContent } from "./widget"
2
3
 
3
- import type {
4
- CompositeSlice,
5
- Group,
6
- NestableWidget,
7
- StaticSlices,
8
- UID,
9
- VariationFields,
10
- } from "../customtypes"
11
- import {
12
- FieldContentType,
13
- FieldType,
14
- SharedSliceItemContent,
15
- SliceItemContent,
16
- WidgetContent,
17
- } from "./fields"
18
- export { hasContentType, withKey } from "./helpers"
19
- import { hasContentType } from "./helpers"
20
-
21
- type WithFieldType = { __TYPE__: string; type: FieldType }
22
- export function hasFieldContentType(obj: unknown): obj is WithFieldType {
23
- return (
24
- hasContentType(obj) &&
25
- obj.__TYPE__ === FieldContentType &&
26
- (obj as WithFieldType)?.type !== undefined &&
27
- typeof (obj as WithFieldType).type === "string" &&
28
- isRight(FieldType.decode((obj as WithFieldType).type))
29
- )
30
- }
31
-
32
- export type TraverseSliceContentFn = <
33
- S extends SliceItemContent | SharedSliceItemContent,
34
- D extends VariationFields | CompositeSlice | Group | NestableWidget,
35
- >({
36
- path,
37
- key,
38
- apiId,
39
- model,
40
- content,
41
- }: {
42
- path: ContentPath
43
- key: string
44
- apiId: string
45
- model?: D | undefined
46
- content: S
47
- }) => S | SharedSliceItemContent | undefined
48
-
49
- export type TraverseWidgetContentFn<
50
- ContentTransformMode extends "preserve" | "widen" = "preserve",
51
- > = <
52
- C extends WidgetContent,
53
- D extends NestableWidget | StaticSlices | Group | UID,
54
- >({
55
- path,
56
- key,
57
- apiId,
58
- model,
59
- content,
60
- }: {
61
- path: ContentPath
62
- key: string
63
- apiId: string
64
- model?: D | undefined
65
- content: C
66
- }) =>
67
- | ([ContentTransformMode] extends ["preserve"] ? C : WidgetContent)
68
- | undefined
69
-
70
- export type TraverseWidgetContentWithModelFn<
71
- ContentTransformMode extends "preserve" | "widen" = "preserve",
72
- > = <
73
- C extends WidgetContent | undefined,
74
- D extends NestableWidget | StaticSlices | Group | UID,
75
- >({
76
- path,
77
- key,
78
- apiId,
79
- model,
80
- content,
81
- }: {
82
- path: ContentPath
83
- key: string
84
- apiId: string
85
- model: D
86
- content: C
87
- }) =>
88
- | ([ContentTransformMode] extends ["preserve"] ? C : WidgetContent)
89
- | undefined
90
-
91
- export type TraverseSliceContentWithModelFn = <
92
- S extends SliceItemContent | SharedSliceItemContent | undefined,
93
- D extends VariationFields | CompositeSlice | Group | NestableWidget,
94
- >({
95
- path,
96
- key,
97
- apiId,
98
- model,
99
- content,
100
- }: {
101
- path: ContentPath
102
- key: string
103
- apiId: string
104
- model: D
105
- content: S
106
- }) => S | SharedSliceItemContent | undefined
4
+ // Field content type constant
5
+ export const FieldContentType = "FieldContent"
107
6
 
7
+ // Content path entry types
108
8
  export type ContentPathEntry = {
109
9
  type:
110
10
  | "CustomType"
@@ -122,6 +22,7 @@ export type ContentPathEntry = {
122
22
  export type ContentPath = ReadonlyArray<ContentPathEntry>
123
23
 
124
24
  const PATH_SEPARATOR = "::"
25
+
125
26
  export const ContentPath = {
126
27
  serialize(path: ContentPath): string {
127
28
  return path.map((entry) => entry.key).join(PATH_SEPARATOR)
@@ -143,3 +44,34 @@ export const ContentPath = {
143
44
  }, [])
144
45
  },
145
46
  }
47
+
48
+ // Traverse function types
49
+ export type TraverseSliceContentFn = <S extends SliceItemContent>({
50
+ path,
51
+ key,
52
+ apiId,
53
+ model,
54
+ content,
55
+ }: {
56
+ path: ContentPath
57
+ key: string
58
+ apiId: string
59
+ model?: unknown
60
+ content: S
61
+ }) => S | undefined
62
+
63
+ export type TraverseWidgetContentFn<
64
+ ContentTransformMode extends "preserve" | "widen" = "preserve",
65
+ > = <C extends WidgetContent>({
66
+ path,
67
+ key,
68
+ apiId,
69
+ model,
70
+ content,
71
+ }: {
72
+ path: ContentPath
73
+ key: string
74
+ apiId: string
75
+ model?: unknown
76
+ content: C
77
+ }) => ([ContentTransformMode] extends ["preserve"] ? C : WidgetContent) | undefined
@@ -0,0 +1,17 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { GroupContentSchema } from "./group"
4
+ import { NestableContentSchema } from "./nestable"
5
+ import { SlicesContentSchema } from "./slices"
6
+ import { UIDContentSchema } from "./uid"
7
+
8
+ export const WidgetContentSchema = z.union([
9
+ GroupContentSchema,
10
+ NestableContentSchema,
11
+ UIDContentSchema,
12
+ SlicesContentSchema,
13
+ ])
14
+
15
+ export type WidgetContent = z.infer<typeof WidgetContentSchema>
16
+
17
+ export type ContentType = WidgetContent["__TYPE__"]
@@ -1,35 +1,29 @@
1
- import {
2
- type NestableWidget,
3
- type SlicePrimaryWidget,
4
- Group,
5
- GroupFieldType,
6
- } from "../../customtypes"
7
- import {
8
- GroupContent,
9
- GroupContentDefaultValue,
10
- GroupContentType,
11
- groupContentWithDefaultValues,
12
- isGroupContent,
13
- } from "./GroupContent"
14
- import type { NestableContent } from "./nestable"
1
+ import type { GroupModel, NestedGroupModel } from "../model/group"
2
+ import type { NestableModel } from "../model/nestable"
3
+ import { GroupContentType, groupContentWithDefaultValues, GroupContentSchema } from "./group"
4
+ import type { GroupContent } from "./group"
15
5
  import { NestableContentDefaultValue } from "./nestable"
16
- import type { SlicePrimaryContent } from "./slices/Slice/SlicePrimaryContent"
6
+ import type { NestableContent } from "./nestable"
17
7
 
8
+ /**
9
+ * Applies default values to slice primary content (non-repeat zone) based on the model configuration.
10
+ * For each widget in the customType that has no corresponding content, this will add the default value.
11
+ */
18
12
  export function withDefaultSlicePrimaryContentValues(
19
- customType: Record<string, SlicePrimaryWidget>,
20
- content: Partial<Record<string, SlicePrimaryContent>>,
21
- ): Record<string, SlicePrimaryContent> {
22
- const updatedContent = content as Record<string, SlicePrimaryContent>
13
+ customType: Record<string, NestableModel | NestedGroupModel>,
14
+ content: Partial<Record<string, NestableContent | GroupContent>>,
15
+ ): Record<string, NestableContent | GroupContent> {
16
+ const updatedContent = content as Record<string, NestableContent | GroupContent>
23
17
 
24
18
  for (const [widgetKey, widgetDef] of Object.entries(customType)) {
25
19
  const widgetContent = content[widgetKey]
26
20
 
27
21
  if (widgetContent === undefined) {
28
- if (widgetDef.type === GroupFieldType) {
29
- updatedContent[widgetKey] = groupContentWithDefaultValues(
30
- widgetDef,
31
- GroupContentDefaultValue,
32
- )
22
+ if (widgetDef.type === "Group") {
23
+ updatedContent[widgetKey] = groupContentWithDefaultValues(widgetDef, {
24
+ __TYPE__: GroupContentType,
25
+ value: [],
26
+ })
33
27
  } else {
34
28
  const defaultValue = NestableContentDefaultValue(widgetDef)
35
29
 
@@ -41,19 +35,21 @@ export function withDefaultSlicePrimaryContentValues(
41
35
  continue
42
36
  }
43
37
 
44
- if (widgetDef.type === GroupFieldType && isGroupContent(widgetContent)) {
45
- updatedContent[widgetKey] = groupContentWithDefaultValues(
46
- widgetDef,
47
- widgetContent,
48
- )
38
+ const maybeGroupContent = GroupContentSchema.safeParse(widgetContent)
39
+ if (widgetDef.type === "Group" && maybeGroupContent.success) {
40
+ updatedContent[widgetKey] = groupContentWithDefaultValues(widgetDef, maybeGroupContent.data)
49
41
  }
50
42
  }
51
43
 
52
44
  return updatedContent
53
45
  }
54
46
 
47
+ /**
48
+ * Applies default values to nestable content based on the model configuration.
49
+ * For each widget in the customType that has no corresponding content, this will add the default value.
50
+ */
55
51
  export function withDefaultNestableContentValues(
56
- customType: Record<string, NestableWidget>,
52
+ customType: Record<string, NestableModel>,
57
53
  content: Record<string, NestableContent>,
58
54
  ): Record<string, NestableContent> {
59
55
  return Object.entries(customType).reduce<Record<string, NestableContent>>(
@@ -64,7 +60,7 @@ export function withDefaultNestableContentValues(
64
60
  ? {
65
61
  ...updatedContent,
66
62
  [widgetKey]: defaultValue,
67
- }
63
+ }
68
64
  : updatedContent
69
65
  }
70
66
 
@@ -74,17 +70,19 @@ export function withDefaultNestableContentValues(
74
70
  )
75
71
  }
76
72
 
73
+ /**
74
+ * Applies default values to repeatable content items (like group items or slice repeat zones).
75
+ * For each item, it ensures all required fields have values based on the model configuration.
76
+ */
77
77
  export function repeatableContentWithDefaultNestableContentValues<
78
78
  T extends {
79
79
  value: [string, GroupContent | NestableContent][]
80
80
  },
81
- >(fields: Record<string, Group | NestableWidget>, content: T[]): T[] {
81
+ >(fields: Record<string, GroupModel | NestableModel>, content: T[]): T[] {
82
82
  const groupKeys = Object.entries(fields)
83
83
  return content.map((contentItem) => {
84
84
  return groupKeys.reduce((updatedContentItem, [key, fieldDef]) => {
85
- const maybeContentItemValue = contentItem.value.find(
86
- ([_key]) => _key === key,
87
- )
85
+ const maybeContentItemValue = contentItem.value.find(([_key]) => _key === key)
88
86
 
89
87
  if (fieldDef.type === "Group") {
90
88
  const defaultValue = groupContentWithDefaultValues(
@@ -106,10 +104,7 @@ export function repeatableContentWithDefaultNestableContentValues<
106
104
  const defaultValue = NestableContentDefaultValue(fieldDef)
107
105
  return {
108
106
  ...updatedContentItem,
109
- value: [
110
- ...updatedContentItem.value,
111
- ...(defaultValue ? [[key, defaultValue]] : []),
112
- ],
107
+ value: [...updatedContentItem.value, ...(defaultValue ? [[key, defaultValue]] : [])],
113
108
  }
114
109
  }
115
110