@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,12 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const SeparatorConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ })
6
+
7
+ export const SeparatorModelSchema = z.object({
8
+ type: z.literal("Separator"),
9
+ config: z.optional(SeparatorConfigSchema),
10
+ })
11
+
12
+ export type SeparatorModel = z.infer<typeof SeparatorModelSchema>
@@ -0,0 +1,94 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { WidgetKeySchema } from "../common/widgetKey"
4
+ import { GroupModelSchema, NestedGroupModelSchema } from "./group"
5
+ import { NestableModelSchema } from "./nestable"
6
+
7
+ // Simple (before 2020)
8
+ export const LegacySliceModelSchema = z.union([NestableModelSchema, NestedGroupModelSchema])
9
+
10
+ export type LegacySliceModel = z.infer<typeof LegacySliceModelSchema>
11
+
12
+ // Composite (2020 to 2021)
13
+ export const CompositeSliceType = "Slice" as const
14
+
15
+ const CompositeSliceConfigSchema = z.object({
16
+ label: z.nullish(z.string()),
17
+ })
18
+
19
+ export const CompositeSliceModelSchema = z.object({
20
+ type: z.literal(CompositeSliceType),
21
+ fieldset: z.nullish(z.string()),
22
+ description: z.optional(z.string()),
23
+ icon: z.optional(z.string()),
24
+ display: z.optional(z.string()),
25
+ "non-repeat": z.optional(z.record(WidgetKeySchema, NestableModelSchema)),
26
+ repeat: z.optional(z.record(WidgetKeySchema, NestableModelSchema)),
27
+ config: z.optional(CompositeSliceConfigSchema),
28
+ })
29
+
30
+ export type CompositeSliceModel = z.infer<typeof CompositeSliceModelSchema>
31
+
32
+ // Shared (2021 to present)
33
+ export const SharedSliceType = "SharedSlice" as const
34
+
35
+ const IMAGE_PLACEHOLDER_URL =
36
+ "https://images.prismic.io/slice-machine/621a5ec4-0387-4bc5-9860-2dd46cbc07cd_default_ss.png?auto=compress,format"
37
+
38
+ export const VariationSchema = z.object({
39
+ id: z.string(),
40
+ name: z.string(),
41
+ description: z.string(),
42
+ imageUrl: z._default(z.string(), IMAGE_PLACEHOLDER_URL),
43
+ docURL: z.string(),
44
+ version: z.string(),
45
+ display: z.optional(z.string()),
46
+ primary: z.optional(z.record(z.string(), z.union([NestableModelSchema, GroupModelSchema]))),
47
+ items: z.optional(z.record(z.string(), NestableModelSchema)),
48
+ })
49
+
50
+ export type Variation = z.infer<typeof VariationSchema>
51
+
52
+ export const SharedSliceModelSchema = z.object({
53
+ id: z.string(),
54
+ type: z.literal(SharedSliceType),
55
+ name: z.string(),
56
+ variations: z.array(VariationSchema),
57
+ description: z.optional(z.string()),
58
+ legacyPaths: z.optional(z.record(z.string(), z.string())),
59
+ })
60
+
61
+ export type SharedSliceModel = z.infer<typeof SharedSliceModelSchema>
62
+
63
+ export const SharedSliceRefModelSchema = z.object({
64
+ type: z.literal(SharedSliceType),
65
+ })
66
+
67
+ export type SharedSliceRefModel = z.infer<typeof SharedSliceRefModelSchema>
68
+
69
+ // All
70
+
71
+ // Used when slices reference SharedSlice by ref (not full definition)
72
+ export const DynamicSliceModelSchema = z.union([
73
+ CompositeSliceModelSchema,
74
+ LegacySliceModelSchema,
75
+ SharedSliceRefModelSchema,
76
+ ])
77
+
78
+ export type DynamicSliceModel = z.infer<typeof DynamicSliceModelSchema>
79
+
80
+ // Used when slices include full SharedSlice definition
81
+ export const StaticSliceModelSchema = z.union([
82
+ CompositeSliceModelSchema,
83
+ LegacySliceModelSchema,
84
+ SharedSliceModelSchema,
85
+ ])
86
+
87
+ export type StaticSliceModel = z.infer<typeof StaticSliceModelSchema>
88
+
89
+ export const SlicesTypesModelSchema = z.union([
90
+ z.literal(CompositeSliceType),
91
+ z.literal(SharedSliceType),
92
+ ])
93
+
94
+ export type SlicesTypesModel = z.infer<typeof SlicesTypesModelSchema>
@@ -0,0 +1,54 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { WidgetKeySchema } from "../common/widgetKey"
4
+ import { StaticSliceModelSchema, DynamicSliceModelSchema } from "./slice"
5
+
6
+ export const LegacySlicesFieldType = "Choice"
7
+ export const SlicesFieldType = "Slices"
8
+
9
+ // Label configuration for slices
10
+ const SlicesLabelSchema = z.object({
11
+ name: z.string(),
12
+ display: z.optional(z.string()),
13
+ })
14
+
15
+ export const SlicesLabelsSchema = z.union([
16
+ z.record(z.string(), z.array(SlicesLabelSchema)),
17
+ z.null(),
18
+ ])
19
+
20
+ // Config
21
+ const getSlicesConfigSchema = <
22
+ TSliceSchema extends typeof StaticSliceModelSchema | typeof DynamicSliceModelSchema,
23
+ >(
24
+ sliceSchema: TSliceSchema,
25
+ ) =>
26
+ z.object({
27
+ label: z.nullish(z.string()),
28
+ labels: z.optional(SlicesLabelsSchema),
29
+ choices: z.optional(z.record(WidgetKeySchema, sliceSchema)),
30
+ })
31
+
32
+ const StaticSlicesConfigSchema = getSlicesConfigSchema(StaticSliceModelSchema)
33
+
34
+ const DynamicSlicesConfigSchema = getSlicesConfigSchema(DynamicSliceModelSchema)
35
+
36
+ // Model
37
+ const getSlicesSchema = <
38
+ TConfig extends typeof StaticSlicesConfigSchema | typeof DynamicSlicesConfigSchema,
39
+ >(
40
+ configSchema: TConfig,
41
+ ) =>
42
+ z.object({
43
+ type: z.union([z.literal(SlicesFieldType), z.literal(LegacySlicesFieldType)]),
44
+ fieldset: z.nullish(z.string()),
45
+ config: z.optional(configSchema),
46
+ })
47
+
48
+ export const StaticSlicesModelSchema = getSlicesSchema(StaticSlicesConfigSchema)
49
+
50
+ export type StaticSlicesModel = z.infer<typeof StaticSlicesModelSchema>
51
+
52
+ export const DynamicSlicesModelSchema = getSlicesSchema(DynamicSlicesConfigSchema)
53
+
54
+ export type DynamicSlicesModel = z.infer<typeof DynamicSlicesModelSchema>
@@ -0,0 +1,20 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const TableConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ })
6
+
7
+ export const TableModelSchema = z.object({
8
+ type: z.literal("Table"),
9
+ config: z.optional(TableConfigSchema),
10
+ })
11
+
12
+ export type TableModel = z.infer<typeof TableModelSchema>
13
+
14
+ // TableCell configuration constant (used for cell rich text configuration)
15
+ export const TableCell = {
16
+ type: "StructuredText" as const,
17
+ config: {
18
+ multi: ["paragraph", "strong", "em", "hyperlink"].join(","),
19
+ },
20
+ }
@@ -0,0 +1,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const TextConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ useAsTitle: z.optional(z.boolean()),
6
+ placeholder: z.optional(z.string()),
7
+ })
8
+
9
+ export const TextModelSchema = z.object({
10
+ type: z.literal("Text"),
11
+ fieldset: z.nullish(z.string()),
12
+ config: z.optional(TextConfigSchema),
13
+ })
14
+
15
+ export type TextModel = z.infer<typeof TextModelSchema>
@@ -0,0 +1,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const TimestampConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ placeholder: z.optional(z.string()),
6
+ default: z.optional(z.string()),
7
+ })
8
+
9
+ export const TimestampModelSchema = z.object({
10
+ type: z.literal("Timestamp"),
11
+ fieldset: z.nullish(z.string()),
12
+ config: z.optional(TimestampConfigSchema),
13
+ })
14
+
15
+ export type TimestampModel = z.infer<typeof TimestampModelSchema>
@@ -0,0 +1,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const UIDConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ useAsTitle: z.optional(z.boolean()),
6
+ placeholder: z.optional(z.string()),
7
+ })
8
+
9
+ export const UIDModelSchema = z.object({
10
+ type: z.literal("UID"),
11
+ fieldset: z.nullish(z.string()),
12
+ config: z.optional(UIDConfigSchema),
13
+ })
14
+
15
+ export type UIDModel = z.infer<typeof UIDModelSchema>
@@ -0,0 +1,52 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { GroupModelSchema } from "./group"
4
+ import { NestableModelSchema } from "./nestable"
5
+ import { DynamicSlicesModelSchema, StaticSlicesModelSchema } from "./slices"
6
+ import { UIDModelSchema } from "./uid"
7
+
8
+ // StaticWidget = UID | Nestable | Group | StaticSlices
9
+ export const StaticWidgetModelSchema = z.union([
10
+ UIDModelSchema,
11
+ NestableModelSchema,
12
+ GroupModelSchema,
13
+ StaticSlicesModelSchema,
14
+ ])
15
+
16
+ export type StaticWidgetModel = z.infer<typeof StaticWidgetModelSchema>
17
+
18
+ // DynamicWidget = UID | Nestable | Group | DynamicSlices
19
+ export const DynamicWidgetModelSchema = z.union([
20
+ UIDModelSchema,
21
+ NestableModelSchema,
22
+ GroupModelSchema,
23
+ DynamicSlicesModelSchema,
24
+ ])
25
+
26
+ export type DynamicWidgetModel = z.infer<typeof DynamicWidgetModelSchema>
27
+
28
+ // FieldType - all possible field type strings
29
+ export const FieldTypeSchema = z.enum([
30
+ "Color",
31
+ "Boolean",
32
+ "Number",
33
+ "Embed",
34
+ "GeoPoint",
35
+ "Date",
36
+ "Range",
37
+ "StructuredText",
38
+ "Select",
39
+ "Separator",
40
+ "Table",
41
+ "Text",
42
+ "Timestamp",
43
+ "Link",
44
+ "Image",
45
+ "IntegrationFields",
46
+ "UID",
47
+ "Group",
48
+ "Slices",
49
+ "Choice",
50
+ ])
51
+
52
+ export type FieldType = z.infer<typeof FieldTypeSchema>
package/src/zod4.ts ADDED
@@ -0,0 +1,153 @@
1
+ // Common
2
+ import { AssetSchema } from "./common/asset"
3
+ import { EmbedSchema } from "./common/embed"
4
+ import { HexaColorCodeSchema } from "./common/hexaColorCode"
5
+ import { NonEmptyStringSchema } from "./common/nonEmptyString"
6
+ import { WidgetKeySchema } from "./common/widgetKey"
7
+ // Content
8
+ import { BooleanContentSchema } from "./content/boolean"
9
+ import { DocumentContentSchema } from "./content/document"
10
+ import { EmbedContentSchema } from "./content/embed"
11
+ import { EmptyContentSchema } from "./content/empty"
12
+ import {
13
+ ColorContentSchema,
14
+ DateContentSchema,
15
+ NumberContentSchema,
16
+ RangeContentSchema,
17
+ SelectContentSchema,
18
+ TextContentSchema,
19
+ TimestampContentSchema,
20
+ FieldContentSchema,
21
+ } from "./content/field"
22
+ import { GeoPointContentSchema } from "./content/geopoint"
23
+ import { GroupContentSchema, GroupItemContentSchema } from "./content/group"
24
+ import { ImageContentSchema } from "./content/image"
25
+ import { IntegrationFieldContentSchema } from "./content/integrationField"
26
+ import { LinkContentSchema } from "./content/link"
27
+ import { NestableContentSchema } from "./content/nestable"
28
+ import { RepeatableContentSchema } from "./content/repeatable"
29
+ import { RichTextContentSchema } from "./content/richText"
30
+ import { SeparatorContentSchema } from "./content/separator"
31
+ import {
32
+ CompositeSliceContentSchema,
33
+ SimpleSliceContentSchema,
34
+ SharedSliceContentSchema,
35
+ SliceContentSchema,
36
+ } from "./content/slice"
37
+ import { SliceItemContentSchema, SlicesContentSchema } from "./content/slices"
38
+ import { TableContentSchema } from "./content/table"
39
+ import { UIDContentSchema } from "./content/uid"
40
+ import { WidgetContentSchema } from "./content/widget"
41
+ // Model
42
+ import { BooleanModelSchema } from "./model/boolean"
43
+ import { ColorModelSchema } from "./model/color"
44
+ import { StaticCustomTypeModelSchema, CustomTypeModelSchema } from "./model/customType"
45
+ import { DateModelSchema } from "./model/date"
46
+ import { EmbedModelSchema } from "./model/embed"
47
+ import { GeoPointModelSchema } from "./model/geopoint"
48
+ import { GroupModelSchema, NestedGroupModelSchema } from "./model/group"
49
+ import { ImageModelSchema } from "./model/image"
50
+ import { IntegrationFieldModelSchema } from "./model/integrationField"
51
+ import { LinkModelSchema } from "./model/link"
52
+ import { NestableModelSchema } from "./model/nestable"
53
+ import { NumberModelSchema } from "./model/number"
54
+ import { RangeModelSchema } from "./model/range"
55
+ import { RichTextModelSchema } from "./model/richText"
56
+ import { StaticSectionModelSchema, DynamicSectionModelSchema } from "./model/section"
57
+ import { SelectModelSchema } from "./model/select"
58
+ import { SeparatorModelSchema } from "./model/separator"
59
+ import {
60
+ LegacySliceModelSchema,
61
+ CompositeSliceModelSchema,
62
+ SharedSliceModelSchema,
63
+ SharedSliceRefModelSchema,
64
+ StaticSliceModelSchema,
65
+ DynamicSliceModelSchema,
66
+ } from "./model/slice"
67
+ import { DynamicSlicesModelSchema, StaticSlicesModelSchema } from "./model/slices"
68
+ import { TableModelSchema } from "./model/table"
69
+ import { TextModelSchema } from "./model/text"
70
+ import { TimestampModelSchema } from "./model/timestamp"
71
+ import { UIDModelSchema } from "./model/uid"
72
+ import { StaticWidgetModelSchema, DynamicWidgetModelSchema, FieldTypeSchema } from "./model/widget"
73
+
74
+ // Common
75
+ export const Asset = toZod4(AssetSchema)
76
+ export const Embed = toZod4(EmbedSchema)
77
+ export const HexaColorCode = toZod4(HexaColorCodeSchema)
78
+ export const NonEmptyString = toZod4(NonEmptyStringSchema)
79
+ export const WidgetKey = toZod4(WidgetKeySchema)
80
+
81
+ // Content
82
+ export const BooleanContent = toZod4(BooleanContentSchema)
83
+ export const ColorContent = toZod4(ColorContentSchema)
84
+ export const DateContent = toZod4(DateContentSchema)
85
+ export const EmptyContent = toZod4(EmptyContentSchema)
86
+ export const GeoPointContent = toZod4(GeoPointContentSchema)
87
+ export const LinkContent = toZod4(LinkContentSchema)
88
+ export const NumberContent = toZod4(NumberContentSchema)
89
+ export const RangeContent = toZod4(RangeContentSchema)
90
+ export const SelectContent = toZod4(SelectContentSchema)
91
+ export const SeparatorContent = toZod4(SeparatorContentSchema)
92
+ export const SharedSliceContent = toZod4(SharedSliceContentSchema)
93
+ export const TextContent = toZod4(TextContentSchema)
94
+ export const TimestampContent = toZod4(TimestampContentSchema)
95
+ export const FieldContent = toZod4(FieldContentSchema)
96
+ export const UIDContent = toZod4(UIDContentSchema)
97
+ export const IntegrationFieldContent = toZod4(IntegrationFieldContentSchema)
98
+ export const EmbedContent = toZod4(EmbedContentSchema)
99
+ export const ImageContent = toZod4(ImageContentSchema)
100
+ export const RichTextContent = toZod4(RichTextContentSchema)
101
+ export const TableContent = toZod4(TableContentSchema)
102
+ export const RepeatableContent = toZod4(RepeatableContentSchema)
103
+ export const NestableContent = toZod4(NestableContentSchema)
104
+ export const GroupContent = toZod4(GroupContentSchema)
105
+ export const GroupItemContent = toZod4(GroupItemContentSchema)
106
+ export const CompositeSliceContent = toZod4(CompositeSliceContentSchema)
107
+ export const SimpleSliceContent = toZod4(SimpleSliceContentSchema)
108
+ export const SliceContent = toZod4(SliceContentSchema)
109
+ export const SliceItemContent = toZod4(SliceItemContentSchema)
110
+ export const SlicesContent = toZod4(SlicesContentSchema)
111
+ export const WidgetContent = toZod4(WidgetContentSchema)
112
+ export const DocumentContent = toZod4(DocumentContentSchema)
113
+
114
+ // Model
115
+ export const BooleanModel = toZod4(BooleanModelSchema)
116
+ export const ColorModel = toZod4(ColorModelSchema)
117
+ export const DateModel = toZod4(DateModelSchema)
118
+ export const EmbedModel = toZod4(EmbedModelSchema)
119
+ export const GeoPointModel = toZod4(GeoPointModelSchema)
120
+ export const ImageModel = toZod4(ImageModelSchema)
121
+ export const IntegrationFieldModel = toZod4(IntegrationFieldModelSchema)
122
+ export const LinkModel = toZod4(LinkModelSchema)
123
+ export const NestableModel = toZod4(NestableModelSchema)
124
+ export const NumberModel = toZod4(NumberModelSchema)
125
+ export const RangeModel = toZod4(RangeModelSchema)
126
+ export const RichTextModel = toZod4(RichTextModelSchema)
127
+ export const SelectModel = toZod4(SelectModelSchema)
128
+ export const SeparatorModel = toZod4(SeparatorModelSchema)
129
+ export const SharedSliceModel = toZod4(SharedSliceModelSchema)
130
+ export const TableModel = toZod4(TableModelSchema)
131
+ export const TextModel = toZod4(TextModelSchema)
132
+ export const TimestampModel = toZod4(TimestampModelSchema)
133
+ export const UIDModel = toZod4(UIDModelSchema)
134
+ export const GroupModel = toZod4(GroupModelSchema)
135
+ export const NestedGroupModel = toZod4(NestedGroupModelSchema)
136
+ export const SharedSliceRefModel = toZod4(SharedSliceRefModelSchema)
137
+ export const CompositeSliceModel = toZod4(CompositeSliceModelSchema)
138
+ export const LegacySliceModel = toZod4(LegacySliceModelSchema)
139
+ export const DynamicSliceModel = toZod4(DynamicSliceModelSchema)
140
+ export const StaticSliceModel = toZod4(StaticSliceModelSchema)
141
+ export const DynamicSlicesModel = toZod4(DynamicSlicesModelSchema)
142
+ export const StaticSlicesModel = toZod4(StaticSlicesModelSchema)
143
+ export const StaticWidgetModel = toZod4(StaticWidgetModelSchema)
144
+ export const DynamicWidgetModel = toZod4(DynamicWidgetModelSchema)
145
+ export const FieldType = toZod4(FieldTypeSchema)
146
+ export const StaticSectionModel = toZod4(StaticSectionModelSchema)
147
+ export const DynamicSectionModel = toZod4(DynamicSectionModelSchema)
148
+ export const StaticCustomTypeModel = toZod4(StaticCustomTypeModelSchema)
149
+ export const CustomTypeModel = toZod4(CustomTypeModelSchema)
150
+
151
+ function toZod4<T>(type: T): T {
152
+ return type
153
+ }
@@ -1,16 +0,0 @@
1
- export declare type Asset = {
2
- id: string;
3
- last_modified: string;
4
- kind: "image" | "all";
5
- filename?: string;
6
- extension?: string;
7
- size?: number;
8
- origin_url: string;
9
- url: string;
10
- width?: number;
11
- height?: number;
12
- notes?: string;
13
- credits?: string;
14
- alt?: string;
15
- };
16
- export declare const getAssetOrThrow: (assets: Record<Asset["id"], Asset | undefined>) => (assetId: Asset["id"]) => Asset;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAssetOrThrow = void 0;
4
- const getAssetOrThrow = (assets) => (assetId) => {
5
- const asset = assets[assetId];
6
- if (!asset) {
7
- throw new Error(`Missing asset with id '${assetId}'!`);
8
- }
9
- return asset;
10
- };
11
- exports.getAssetOrThrow = getAssetOrThrow;
@@ -1,15 +0,0 @@
1
- export declare type Embed = {
2
- type: string;
3
- version?: string | null;
4
- author_name?: string | null;
5
- author_url?: string | null;
6
- provider_name?: string | null;
7
- provider_url?: string | null;
8
- cache_age?: string | null;
9
- thumbnail_url?: string | null;
10
- thumbnail_width?: number | null;
11
- thumbnail_height?: number | null;
12
- html?: string | null;
13
- title?: string | null;
14
- };
15
- export declare const getEmbedOrThrow: (embeds: Record<string, Embed | undefined>) => (embedUrl: string) => Embed;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEmbedOrThrow = void 0;
4
- const getEmbedOrThrow = (embeds) => (embedUrl) => {
5
- const embed = embeds[embedUrl];
6
- if (!embed)
7
- throw new Error(`Missing embed with url '${embedUrl}'`);
8
- return embed;
9
- };
10
- exports.getEmbedOrThrow = getEmbedOrThrow;
@@ -1,4 +0,0 @@
1
- export declare type HexaColorCode = `#${string}`;
2
- export declare const HexaColor: {
3
- is: (strColor: string) => strColor is `#${string}`;
4
- };
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HexaColor = void 0;
4
- const hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
5
- exports.HexaColor = {
6
- is: (strColor) => hexaColorCodeRegex.test(strColor),
7
- };
@@ -1,6 +0,0 @@
1
- import * as t from "io-ts";
2
- export interface UUIDBrand {
3
- readonly UUID: unique symbol;
4
- }
5
- export declare const UUID: t.BrandC<t.StringC, UUIDBrand>;
6
- export declare type UUID = t.TypeOf<typeof UUID>;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UUID = void 0;
4
- const tslib_1 = require("tslib");
5
- const t = (0, tslib_1.__importStar)(require("io-ts"));
6
- const uuid_1 = require("uuid");
7
- const function_1 = require("../validators/function");
8
- exports.UUID = (0, function_1.withCustomError)(t.brand(t.string, (s) => (0, uuid_1.validate)(s), "UUID"), () => "The value must be a valid UUID");
@@ -1,3 +0,0 @@
1
- import * as t from "io-ts";
2
- export declare const WidgetKey: t.Type<string, string, unknown>;
3
- export declare type WidgetKey = t.TypeOf<typeof WidgetKey>;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WidgetKey = void 0;
4
- const tslib_1 = require("tslib");
5
- const t = (0, tslib_1.__importStar)(require("io-ts"));
6
- const function_1 = require("../validators/function");
7
- const widgetKeyRegex = new RegExp("^[^<>]+$");
8
- exports.WidgetKey = (0, function_1.refineType)(t.string, "WidgetKey", (s) => s.length === 0 || widgetKeyRegex.test(s));
@@ -1,3 +0,0 @@
1
- export * from "./Asset";
2
- export * from "./Embed";
3
- export * from "./WidgetKey";
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./Asset"), exports);
5
- (0, tslib_1.__exportStar)(require("./Embed"), exports);
6
- (0, tslib_1.__exportStar)(require("./WidgetKey"), exports);