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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (758) hide show
  1. package/README.md +36 -20
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/common/asset.d.ts +22 -0
  4. package/dist/common/asset.d.ts.map +1 -0
  5. package/dist/common/asset.js +21 -0
  6. package/dist/common/asset.js.map +1 -0
  7. package/dist/common/embed.d.ts +21 -0
  8. package/dist/common/embed.d.ts.map +1 -0
  9. package/dist/common/embed.js +20 -0
  10. package/dist/common/embed.js.map +1 -0
  11. package/dist/common/hexaColorCode.d.ts +8 -0
  12. package/dist/common/hexaColorCode.d.ts.map +1 -0
  13. package/dist/common/hexaColorCode.js +8 -0
  14. package/dist/common/hexaColorCode.js.map +1 -0
  15. package/dist/common/nonEmptyString.d.ts +8 -0
  16. package/dist/common/nonEmptyString.d.ts.map +1 -0
  17. package/dist/common/nonEmptyString.js +7 -0
  18. package/dist/common/nonEmptyString.js.map +1 -0
  19. package/dist/common/widgetKey.d.ts +8 -0
  20. package/dist/common/widgetKey.d.ts.map +1 -0
  21. package/dist/common/widgetKey.js +8 -0
  22. package/dist/common/widgetKey.js.map +1 -0
  23. package/dist/content/boolean.d.ts +11 -0
  24. package/dist/content/boolean.d.ts.map +1 -0
  25. package/dist/content/boolean.js +11 -0
  26. package/dist/content/boolean.js.map +1 -0
  27. package/dist/content/codec/boolean.js +31 -0
  28. package/dist/content/codec/boolean.js.map +1 -0
  29. package/dist/content/codec/document.js +49 -0
  30. package/dist/content/codec/document.js.map +1 -0
  31. package/dist/content/codec/embed.js +42 -0
  32. package/dist/content/codec/embed.js.map +1 -0
  33. package/dist/content/codec/empty.js +35 -0
  34. package/dist/content/codec/empty.js.map +1 -0
  35. package/dist/content/codec/field.js +41 -0
  36. package/dist/content/codec/field.js.map +1 -0
  37. package/dist/content/codec/geopoint.js +32 -0
  38. package/dist/content/codec/geopoint.js.map +1 -0
  39. package/dist/content/codec/group.js +127 -0
  40. package/dist/content/codec/group.js.map +1 -0
  41. package/dist/content/codec/image.js +44 -0
  42. package/dist/content/codec/image.js.map +1 -0
  43. package/dist/content/codec/integrationField.js +31 -0
  44. package/dist/content/codec/integrationField.js.map +1 -0
  45. package/dist/content/codec/legacyContentCtx.d.ts +50 -0
  46. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -0
  47. package/dist/content/codec/legacyContentCtx.js +68 -0
  48. package/dist/content/codec/legacyContentCtx.js.map +1 -0
  49. package/dist/content/codec/link.js +93 -0
  50. package/dist/content/codec/link.js.map +1 -0
  51. package/dist/content/codec/nestable.js +91 -0
  52. package/dist/content/codec/nestable.js.map +1 -0
  53. package/dist/content/codec/repeatable.js +56 -0
  54. package/dist/content/codec/repeatable.js.map +1 -0
  55. package/dist/content/codec/richText.js +87 -0
  56. package/dist/content/codec/richText.js.map +1 -0
  57. package/dist/content/codec/separator.js +26 -0
  58. package/dist/content/codec/separator.js.map +1 -0
  59. package/dist/content/codec/slice.js +220 -0
  60. package/dist/content/codec/slice.js.map +1 -0
  61. package/dist/content/codec/slices.js +106 -0
  62. package/dist/content/codec/slices.js.map +1 -0
  63. package/dist/content/codec/table.js +56 -0
  64. package/dist/content/codec/table.js.map +1 -0
  65. package/dist/content/codec/uid.js +31 -0
  66. package/dist/content/codec/uid.js.map +1 -0
  67. package/dist/content/codec/widget.js +39 -0
  68. package/dist/content/codec/widget.js.map +1 -0
  69. package/dist/content/document.d.ts +9 -0
  70. package/dist/content/document.d.ts.map +1 -0
  71. package/dist/content/document.js +9 -0
  72. package/dist/content/document.js.map +1 -0
  73. package/dist/content/embed.d.ts +24 -0
  74. package/dist/content/embed.d.ts.map +1 -0
  75. package/dist/content/embed.js +12 -0
  76. package/dist/content/embed.js.map +1 -0
  77. package/dist/content/empty.d.ts +11 -0
  78. package/dist/content/empty.d.ts.map +1 -0
  79. package/dist/content/empty.js +11 -0
  80. package/dist/content/empty.js.map +1 -0
  81. package/dist/content/field.d.ts +49 -0
  82. package/dist/content/field.d.ts.map +1 -0
  83. package/dist/content/field.js +52 -0
  84. package/dist/content/field.js.map +1 -0
  85. package/dist/content/geopoint.d.ts +14 -0
  86. package/dist/content/geopoint.d.ts.map +1 -0
  87. package/dist/content/geopoint.js +9 -0
  88. package/dist/content/geopoint.js.map +1 -0
  89. package/dist/content/group.d.ts +19 -0
  90. package/dist/content/group.d.ts.map +1 -0
  91. package/dist/content/group.js +19 -0
  92. package/dist/content/group.js.map +1 -0
  93. package/dist/content/image.d.ts +52 -0
  94. package/dist/content/image.d.ts.map +1 -0
  95. package/dist/content/image.js +10 -0
  96. package/dist/content/image.js.map +1 -0
  97. package/dist/content/integrationField.d.ts +11 -0
  98. package/dist/content/integrationField.d.ts.map +1 -0
  99. package/dist/content/integrationField.js +11 -0
  100. package/dist/content/integrationField.js.map +1 -0
  101. package/dist/content/legacy/boolean.d.ts +1 -0
  102. package/dist/content/legacy/boolean.js +7 -0
  103. package/dist/content/legacy/boolean.js.map +1 -0
  104. package/dist/content/legacy/document.d.ts +8 -0
  105. package/dist/content/legacy/document.d.ts.map +1 -0
  106. package/dist/content/legacy/document.js +15 -0
  107. package/dist/content/legacy/document.js.map +1 -0
  108. package/dist/content/legacy/embed.d.ts +1 -0
  109. package/dist/content/legacy/embed.js +23 -0
  110. package/dist/content/legacy/embed.js.map +1 -0
  111. package/dist/content/legacy/empty.d.ts +1 -0
  112. package/dist/content/legacy/empty.js +7 -0
  113. package/dist/content/legacy/empty.js.map +1 -0
  114. package/dist/content/legacy/field.d.ts +1 -0
  115. package/dist/content/legacy/field.js +7 -0
  116. package/dist/content/legacy/field.js.map +1 -0
  117. package/dist/content/legacy/geopoint.d.ts +1 -0
  118. package/dist/content/legacy/geopoint.js +10 -0
  119. package/dist/content/legacy/geopoint.js.map +1 -0
  120. package/dist/content/legacy/group.d.ts +9 -0
  121. package/dist/content/legacy/group.d.ts.map +1 -0
  122. package/dist/content/legacy/group.js +10 -0
  123. package/dist/content/legacy/group.js.map +1 -0
  124. package/dist/content/legacy/image.d.ts +1 -0
  125. package/dist/content/legacy/image.js +33 -0
  126. package/dist/content/legacy/image.js.map +1 -0
  127. package/dist/content/legacy/integrationField.d.ts +1 -0
  128. package/dist/content/legacy/integrationField.js +7 -0
  129. package/dist/content/legacy/integrationField.js.map +1 -0
  130. package/dist/content/legacy/link.d.ts +41 -0
  131. package/dist/content/legacy/link.d.ts.map +1 -0
  132. package/dist/content/legacy/link.js +88 -0
  133. package/dist/content/legacy/link.js.map +1 -0
  134. package/dist/content/legacy/nestable.d.ts +1 -0
  135. package/dist/content/legacy/nestable.js +32 -0
  136. package/dist/content/legacy/nestable.js.map +1 -0
  137. package/dist/content/legacy/repeatable.d.ts +1 -0
  138. package/dist/content/legacy/repeatable.js +7 -0
  139. package/dist/content/legacy/repeatable.js.map +1 -0
  140. package/dist/content/legacy/richText.d.ts +109 -0
  141. package/dist/content/legacy/richText.d.ts.map +1 -0
  142. package/dist/content/legacy/richText.js +100 -0
  143. package/dist/content/legacy/richText.js.map +1 -0
  144. package/dist/content/legacy/separator.d.ts +1 -0
  145. package/dist/content/legacy/separator.js +7 -0
  146. package/dist/content/legacy/separator.js.map +1 -0
  147. package/dist/content/legacy/slice.js +22 -0
  148. package/dist/content/legacy/slice.js.map +1 -0
  149. package/dist/content/legacy/slices.js +13 -0
  150. package/dist/content/legacy/slices.js.map +1 -0
  151. package/dist/content/legacy/table.d.ts +1 -0
  152. package/dist/content/legacy/table.js +19 -0
  153. package/dist/content/legacy/table.js.map +1 -0
  154. package/dist/content/legacy/uid.js +7 -0
  155. package/dist/content/legacy/uid.js.map +1 -0
  156. package/dist/content/link.d.ts +163 -0
  157. package/dist/content/link.d.ts.map +1 -0
  158. package/dist/content/link.js +50 -0
  159. package/dist/content/link.js.map +1 -0
  160. package/dist/content/nestable.d.ts +19 -0
  161. package/dist/content/nestable.d.ts.map +1 -0
  162. package/dist/content/nestable.js +56 -0
  163. package/dist/content/nestable.js.map +1 -0
  164. package/dist/content/repeatable.d.ts +97 -0
  165. package/dist/content/repeatable.d.ts.map +1 -0
  166. package/dist/content/repeatable.js +17 -0
  167. package/dist/content/repeatable.js.map +1 -0
  168. package/dist/content/richText.d.ts +91 -0
  169. package/dist/content/richText.d.ts.map +1 -0
  170. package/dist/content/richText.js +24 -0
  171. package/dist/content/richText.js.map +1 -0
  172. package/dist/content/separator.d.ts +10 -0
  173. package/dist/content/separator.d.ts.map +1 -0
  174. package/dist/content/separator.js +8 -0
  175. package/dist/content/separator.js.map +1 -0
  176. package/dist/content/slice.d.ts +24 -0
  177. package/dist/content/slice.d.ts.map +1 -0
  178. package/dist/content/slice.js +27 -0
  179. package/dist/content/slice.js.map +1 -0
  180. package/dist/content/slices.d.ts +56 -0
  181. package/dist/content/slices.d.ts.map +1 -0
  182. package/dist/content/slices.js +24 -0
  183. package/dist/content/slices.js.map +1 -0
  184. package/dist/content/table.d.ts +21 -0
  185. package/dist/content/table.d.ts.map +1 -0
  186. package/dist/content/table.js +13 -0
  187. package/dist/content/table.js.map +1 -0
  188. package/dist/content/uid.d.ts +11 -0
  189. package/dist/content/uid.d.ts.map +1 -0
  190. package/dist/content/uid.js +11 -0
  191. package/dist/content/uid.js.map +1 -0
  192. package/dist/content/widget.d.ts +11 -0
  193. package/dist/content/widget.d.ts.map +1 -0
  194. package/dist/content/widget.js +16 -0
  195. package/dist/content/widget.js.map +1 -0
  196. package/dist/helpers/contentPath.d.ts +15 -0
  197. package/dist/helpers/contentPath.d.ts.map +1 -0
  198. package/dist/helpers/contentPath.js +30 -0
  199. package/dist/helpers/contentPath.js.map +1 -0
  200. package/dist/helpers/customTypeModel.d.ts +15 -0
  201. package/dist/helpers/customTypeModel.d.ts.map +1 -0
  202. package/dist/helpers/customTypeModel.js +85 -0
  203. package/dist/helpers/customTypeModel.js.map +1 -0
  204. package/dist/helpers/documentContent.d.ts +20 -0
  205. package/dist/helpers/documentContent.d.ts.map +1 -0
  206. package/dist/helpers/documentContent.js +64 -0
  207. package/dist/helpers/documentContent.js.map +1 -0
  208. package/dist/helpers/sliceContent.d.ts +12 -0
  209. package/dist/helpers/sliceContent.d.ts.map +1 -0
  210. package/dist/helpers/sliceContent.js +60 -0
  211. package/dist/helpers/sliceContent.js.map +1 -0
  212. package/dist/helpers/traverseContent.d.ts +84 -0
  213. package/dist/helpers/traverseContent.d.ts.map +1 -0
  214. package/dist/helpers/traverseContent.js +374 -0
  215. package/dist/helpers/traverseContent.js.map +1 -0
  216. package/dist/helpers/traverseContentWithModel.d.ts +84 -0
  217. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -0
  218. package/dist/helpers/traverseContentWithModel.js +388 -0
  219. package/dist/helpers/traverseContentWithModel.js.map +1 -0
  220. package/dist/index.d.ts +56 -0
  221. package/dist/index.js +9 -0
  222. package/dist/io-ts.d.ts +4363 -0
  223. package/dist/io-ts.d.ts.map +1 -0
  224. package/dist/io-ts.js +220 -0
  225. package/dist/io-ts.js.map +1 -0
  226. package/dist/model/boolean.d.ts +16 -0
  227. package/dist/model/boolean.d.ts.map +1 -0
  228. package/dist/model/boolean.js +16 -0
  229. package/dist/model/boolean.js.map +1 -0
  230. package/dist/model/color.d.ts +15 -0
  231. package/dist/model/color.d.ts.map +1 -0
  232. package/dist/model/color.js +15 -0
  233. package/dist/model/color.js.map +1 -0
  234. package/dist/model/customType.d.ts +31 -0
  235. package/dist/model/customType.d.ts.map +1 -0
  236. package/dist/model/customType.js +18 -0
  237. package/dist/model/customType.js.map +1 -0
  238. package/dist/model/date.d.ts +16 -0
  239. package/dist/model/date.d.ts.map +1 -0
  240. package/dist/model/date.js +16 -0
  241. package/dist/model/date.js.map +1 -0
  242. package/dist/model/embed.d.ts +16 -0
  243. package/dist/model/embed.d.ts.map +1 -0
  244. package/dist/model/embed.js +16 -0
  245. package/dist/model/embed.js.map +1 -0
  246. package/dist/model/geopoint.d.ts +14 -0
  247. package/dist/model/geopoint.d.ts.map +1 -0
  248. package/dist/model/geopoint.js +12 -0
  249. package/dist/model/geopoint.js.map +1 -0
  250. package/dist/model/group.d.ts +567 -0
  251. package/dist/model/group.d.ts.map +1 -0
  252. package/dist/model/group.js +23 -0
  253. package/dist/model/group.js.map +1 -0
  254. package/dist/model/image.d.ts +24 -0
  255. package/dist/model/image.d.ts.map +1 -0
  256. package/dist/model/image.js +41 -0
  257. package/dist/model/image.js.map +1 -0
  258. package/dist/model/integrationField.d.ts +16 -0
  259. package/dist/model/integrationField.d.ts.map +1 -0
  260. package/dist/model/integrationField.js +16 -0
  261. package/dist/model/integrationField.js.map +1 -0
  262. package/dist/model/link.d.ts +48 -0
  263. package/dist/model/link.d.ts.map +1 -0
  264. package/dist/model/link.js +94 -0
  265. package/dist/model/link.js.map +1 -0
  266. package/dist/model/nestable.d.ts +23 -0
  267. package/dist/model/nestable.d.ts.map +1 -0
  268. package/dist/model/nestable.js +40 -0
  269. package/dist/model/nestable.js.map +1 -0
  270. package/dist/model/number.d.ts +18 -0
  271. package/dist/model/number.d.ts.map +1 -0
  272. package/dist/model/number.js +19 -0
  273. package/dist/model/number.js.map +1 -0
  274. package/dist/model/range.d.ts +18 -0
  275. package/dist/model/range.d.ts.map +1 -0
  276. package/dist/model/range.js +19 -0
  277. package/dist/model/range.js.map +1 -0
  278. package/dist/model/richText.d.ts +24 -0
  279. package/dist/model/richText.d.ts.map +1 -0
  280. package/dist/model/richText.js +73 -0
  281. package/dist/model/richText.js.map +1 -0
  282. package/dist/model/section.d.ts +11 -0
  283. package/dist/model/section.d.ts.map +1 -0
  284. package/dist/model/section.js +10 -0
  285. package/dist/model/section.js.map +1 -0
  286. package/dist/model/select.d.ts +17 -0
  287. package/dist/model/select.d.ts.map +1 -0
  288. package/dist/model/select.js +22 -0
  289. package/dist/model/select.js.map +1 -0
  290. package/dist/model/separator.d.ts +13 -0
  291. package/dist/model/separator.d.ts.map +1 -0
  292. package/dist/model/separator.js +11 -0
  293. package/dist/model/separator.js.map +1 -0
  294. package/dist/model/slice.d.ts +1476 -0
  295. package/dist/model/slice.d.ts.map +1 -0
  296. package/dist/model/slice.js +68 -0
  297. package/dist/model/slice.js.map +1 -0
  298. package/dist/model/slices.d.ts +33 -0
  299. package/dist/model/slices.d.ts.map +1 -0
  300. package/dist/model/slices.js +29 -0
  301. package/dist/model/slices.js.map +1 -0
  302. package/dist/model/table.d.ts +14 -0
  303. package/dist/model/table.d.ts.map +1 -0
  304. package/dist/model/table.js +22 -0
  305. package/dist/model/table.js.map +1 -0
  306. package/dist/model/text.d.ts +16 -0
  307. package/dist/model/text.d.ts.map +1 -0
  308. package/dist/model/text.js +16 -0
  309. package/dist/model/text.js.map +1 -0
  310. package/dist/model/timestamp.d.ts +16 -0
  311. package/dist/model/timestamp.d.ts.map +1 -0
  312. package/dist/model/timestamp.js +16 -0
  313. package/dist/model/timestamp.js.map +1 -0
  314. package/dist/model/uid.d.ts +16 -0
  315. package/dist/model/uid.d.ts.map +1 -0
  316. package/dist/model/uid.js +16 -0
  317. package/dist/model/uid.js.map +1 -0
  318. package/dist/model/widget.d.ts +60 -0
  319. package/dist/model/widget.d.ts.map +1 -0
  320. package/dist/model/widget.js +47 -0
  321. package/dist/model/widget.js.map +1 -0
  322. package/dist/zod4.d.ts +2321 -0
  323. package/dist/zod4.d.ts.map +1 -0
  324. package/dist/zod4.js +132 -0
  325. package/dist/zod4.js.map +1 -0
  326. package/package.json +55 -58
  327. package/src/common/asset.ts +29 -0
  328. package/src/common/embed.ts +27 -0
  329. package/src/common/hexaColorCode.ts +11 -0
  330. package/src/common/nonEmptyString.ts +9 -0
  331. package/src/common/widgetKey.ts +11 -0
  332. package/src/content/boolean.ts +23 -0
  333. package/src/content/codec/boolean.ts +38 -0
  334. package/src/content/codec/document.ts +60 -0
  335. package/src/content/codec/embed.ts +55 -0
  336. package/src/content/codec/empty.ts +49 -0
  337. package/src/content/codec/field.ts +96 -0
  338. package/src/content/codec/geopoint.ts +40 -0
  339. package/src/content/codec/group.ts +163 -0
  340. package/src/content/codec/image.ts +50 -0
  341. package/src/content/codec/integrationField.ts +38 -0
  342. package/src/content/{LegacyContentCtx.ts → codec/legacyContentCtx.ts} +17 -17
  343. package/src/content/codec/link.ts +103 -0
  344. package/src/content/codec/nestable.ts +146 -0
  345. package/src/content/codec/repeatable.ts +68 -0
  346. package/src/content/codec/richText.ts +117 -0
  347. package/src/content/codec/separator.ts +33 -0
  348. package/src/content/codec/slice.ts +276 -0
  349. package/src/content/codec/slices.ts +130 -0
  350. package/src/content/codec/table.ts +65 -0
  351. package/src/content/codec/uid.ts +36 -0
  352. package/src/content/codec/widget.ts +58 -0
  353. package/src/content/document.ts +8 -0
  354. package/src/content/embed.ts +12 -0
  355. package/src/content/empty.ts +10 -0
  356. package/src/content/field.ts +94 -0
  357. package/src/content/geopoint.ts +11 -0
  358. package/src/content/group.ts +99 -0
  359. package/src/content/image.ts +103 -0
  360. package/src/content/integrationField.ts +10 -0
  361. package/src/content/legacy/boolean.ts +5 -0
  362. package/src/content/legacy/document.ts +25 -0
  363. package/src/content/legacy/embed.ts +23 -0
  364. package/src/content/legacy/empty.ts +10 -0
  365. package/src/content/legacy/field.ts +8 -0
  366. package/src/content/legacy/geopoint.ts +10 -0
  367. package/src/content/legacy/group.ts +23 -0
  368. package/src/content/legacy/image.ts +43 -0
  369. package/src/content/legacy/integrationField.ts +5 -0
  370. package/src/content/legacy/link.ts +194 -0
  371. package/src/content/legacy/nestable.ts +55 -0
  372. package/src/content/legacy/repeatable.ts +7 -0
  373. package/src/content/legacy/richText.ts +198 -0
  374. package/src/content/legacy/separator.ts +6 -0
  375. package/src/content/legacy/slice.ts +38 -0
  376. package/src/content/legacy/slices.ts +17 -0
  377. package/src/content/legacy/table.ts +39 -0
  378. package/src/content/legacy/uid.ts +6 -0
  379. package/src/content/legacy/widget.ts +19 -0
  380. package/src/content/link.ts +154 -0
  381. package/src/content/nestable.ts +126 -0
  382. package/src/content/repeatable.ts +21 -0
  383. package/src/content/richText.ts +54 -0
  384. package/src/content/separator.ts +9 -0
  385. package/src/content/slice.ts +41 -0
  386. package/src/content/slices.ts +57 -0
  387. package/src/content/table.ts +14 -0
  388. package/src/content/uid.ts +10 -0
  389. package/src/content/widget.ts +21 -0
  390. package/src/content/{fields/withDefaultValues.ts → withDefaultValues.ts} +34 -39
  391. package/src/helpers/contentPath.ts +35 -0
  392. package/src/helpers/customTypeModel.ts +113 -0
  393. package/src/helpers/documentContent.ts +108 -0
  394. package/src/helpers/sliceContent.ts +86 -0
  395. package/src/helpers/traverseContent.ts +594 -0
  396. package/src/helpers/traverseContentWithModel.ts +616 -0
  397. package/src/index.ts +123 -0
  398. package/src/io-ts.ts +351 -0
  399. package/src/model/boolean.ts +15 -0
  400. package/src/model/color.ts +14 -0
  401. package/src/model/customType.ts +26 -0
  402. package/src/model/date.ts +15 -0
  403. package/src/model/diff/index.ts +4 -0
  404. package/src/{customtypes/diff/SharedSlice.ts → model/diff/sharedSlice.ts} +16 -18
  405. package/src/model/diff/utils.ts +45 -0
  406. package/src/model/diff/variation.ts +155 -0
  407. package/src/model/diff/widgets.ts +15 -0
  408. package/src/model/embed.ts +15 -0
  409. package/src/model/geopoint.ts +13 -0
  410. package/src/model/group.ts +39 -0
  411. package/src/model/image.ts +54 -0
  412. package/src/model/integrationField.ts +15 -0
  413. package/src/model/link.ts +141 -0
  414. package/src/model/nestable.ts +71 -0
  415. package/src/model/number.ts +26 -0
  416. package/src/model/range.ts +26 -0
  417. package/src/model/richText.ts +106 -0
  418. package/src/model/section.ts +12 -0
  419. package/src/model/select.ts +30 -0
  420. package/src/model/separator.ts +12 -0
  421. package/src/model/slice.ts +133 -0
  422. package/src/model/slices.ts +54 -0
  423. package/src/model/table.ts +29 -0
  424. package/src/model/text.ts +15 -0
  425. package/src/model/timestamp.ts +15 -0
  426. package/src/model/uid.ts +15 -0
  427. package/src/model/widget.ts +63 -0
  428. package/src/zod4.ts +187 -0
  429. package/lib/common/Asset.d.ts +0 -16
  430. package/lib/common/Asset.js +0 -11
  431. package/lib/common/Embed.d.ts +0 -15
  432. package/lib/common/Embed.js +0 -10
  433. package/lib/common/HexaColorCode.d.ts +0 -4
  434. package/lib/common/HexaColorCode.js +0 -7
  435. package/lib/common/UUID.d.ts +0 -6
  436. package/lib/common/UUID.js +0 -8
  437. package/lib/common/WidgetKey.d.ts +0 -3
  438. package/lib/common/WidgetKey.js +0 -8
  439. package/lib/common/index.d.ts +0 -3
  440. package/lib/common/index.js +0 -6
  441. package/lib/content/Document.d.ts +0 -11813
  442. package/lib/content/Document.js +0 -364
  443. package/lib/content/LegacyContentCtx.d.ts +0 -64
  444. package/lib/content/LegacyContentCtx.js +0 -130
  445. package/lib/content/fields/EmptyContent.d.ts +0 -16
  446. package/lib/content/fields/EmptyContent.js +0 -30
  447. package/lib/content/fields/GroupContent.d.ts +0 -53
  448. package/lib/content/fields/GroupContent.js +0 -307
  449. package/lib/content/fields/UIDContent.d.ts +0 -16
  450. package/lib/content/fields/UIDContent.js +0 -25
  451. package/lib/content/fields/WidgetContent.d.ts +0 -11749
  452. package/lib/content/fields/WidgetContent.js +0 -57
  453. package/lib/content/fields/index.d.ts +0 -6
  454. package/lib/content/fields/index.js +0 -9
  455. package/lib/content/fields/nestable/BooleanContent.d.ts +0 -18
  456. package/lib/content/fields/nestable/BooleanContent.js +0 -35
  457. package/lib/content/fields/nestable/EmbedContent.d.ts +0 -78
  458. package/lib/content/fields/nestable/EmbedContent.js +0 -56
  459. package/lib/content/fields/nestable/FieldContent/ColorContent.d.ts +0 -18
  460. package/lib/content/fields/nestable/FieldContent/ColorContent.js +0 -35
  461. package/lib/content/fields/nestable/FieldContent/DateContent.d.ts +0 -18
  462. package/lib/content/fields/nestable/FieldContent/DateContent.js +0 -35
  463. package/lib/content/fields/nestable/FieldContent/NumberContent.d.ts +0 -18
  464. package/lib/content/fields/nestable/FieldContent/NumberContent.js +0 -35
  465. package/lib/content/fields/nestable/FieldContent/RangeContent.d.ts +0 -18
  466. package/lib/content/fields/nestable/FieldContent/RangeContent.js +0 -35
  467. package/lib/content/fields/nestable/FieldContent/SelectContent.d.ts +0 -20
  468. package/lib/content/fields/nestable/FieldContent/SelectContent.js +0 -46
  469. package/lib/content/fields/nestable/FieldContent/TextContent.d.ts +0 -18
  470. package/lib/content/fields/nestable/FieldContent/TextContent.js +0 -35
  471. package/lib/content/fields/nestable/FieldContent/TimestampContent.d.ts +0 -18
  472. package/lib/content/fields/nestable/FieldContent/TimestampContent.js +0 -35
  473. package/lib/content/fields/nestable/FieldContent/common.d.ts +0 -1
  474. package/lib/content/fields/nestable/FieldContent/common.js +0 -4
  475. package/lib/content/fields/nestable/FieldContent/index.d.ts +0 -49
  476. package/lib/content/fields/nestable/FieldContent/index.js +0 -38
  477. package/lib/content/fields/nestable/GeoPointContent.d.ts +0 -33
  478. package/lib/content/fields/nestable/GeoPointContent.js +0 -31
  479. package/lib/content/fields/nestable/ImageContent.d.ts +0 -252
  480. package/lib/content/fields/nestable/ImageContent.js +0 -122
  481. package/lib/content/fields/nestable/IntegrationFieldContent.d.ts +0 -16
  482. package/lib/content/fields/nestable/IntegrationFieldContent.js +0 -28
  483. package/lib/content/fields/nestable/LinkContent.d.ts +0 -919
  484. package/lib/content/fields/nestable/LinkContent.js +0 -399
  485. package/lib/content/fields/nestable/NestableContent.d.ts +0 -1953
  486. package/lib/content/fields/nestable/NestableContent.js +0 -167
  487. package/lib/content/fields/nestable/RepeatableContent.d.ts +0 -182
  488. package/lib/content/fields/nestable/RepeatableContent.js +0 -146
  489. package/lib/content/fields/nestable/RichTextContent/Blocks.d.ts +0 -1261
  490. package/lib/content/fields/nestable/RichTextContent/Blocks.js +0 -170
  491. package/lib/content/fields/nestable/RichTextContent/index.d.ts +0 -1004
  492. package/lib/content/fields/nestable/RichTextContent/index.js +0 -28
  493. package/lib/content/fields/nestable/SeparatorContent.d.ts +0 -13
  494. package/lib/content/fields/nestable/SeparatorContent.js +0 -22
  495. package/lib/content/fields/nestable/TableContent.d.ts +0 -776
  496. package/lib/content/fields/nestable/TableContent.js +0 -167
  497. package/lib/content/fields/nestable/index.d.ts +0 -12
  498. package/lib/content/fields/nestable/index.js +0 -15
  499. package/lib/content/fields/slices/Slice/CompositeSliceContent.d.ts +0 -3934
  500. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +0 -195
  501. package/lib/content/fields/slices/Slice/RepeatableContent.d.ts +0 -774
  502. package/lib/content/fields/slices/Slice/RepeatableContent.js +0 -21
  503. package/lib/content/fields/slices/Slice/SharedSliceContent.d.ts +0 -3937
  504. package/lib/content/fields/slices/Slice/SharedSliceContent.js +0 -215
  505. package/lib/content/fields/slices/Slice/SimpleSliceContent.d.ts +0 -1962
  506. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +0 -130
  507. package/lib/content/fields/slices/Slice/SlicePrimaryContent.d.ts +0 -1952
  508. package/lib/content/fields/slices/Slice/SlicePrimaryContent.js +0 -30
  509. package/lib/content/fields/slices/Slice/index.d.ts +0 -6810
  510. package/lib/content/fields/slices/Slice/index.js +0 -45
  511. package/lib/content/fields/slices/SliceItem.d.ts +0 -6846
  512. package/lib/content/fields/slices/SliceItem.js +0 -116
  513. package/lib/content/fields/slices/SlicesContent.d.ts +0 -9827
  514. package/lib/content/fields/slices/SlicesContent.js +0 -465
  515. package/lib/content/fields/slices/index.d.ts +0 -3
  516. package/lib/content/fields/slices/index.js +0 -6
  517. package/lib/content/fields/withDefaultValues.d.ts +0 -9
  518. package/lib/content/fields/withDefaultValues.js +0 -79
  519. package/lib/content/helpers.d.ts +0 -9
  520. package/lib/content/helpers.js +0 -22
  521. package/lib/content/index.d.ts +0 -4
  522. package/lib/content/index.js +0 -7
  523. package/lib/content/utils.d.ts +0 -50
  524. package/lib/content/utils.js +0 -35
  525. package/lib/customtypes/CustomType.d.ts +0 -3680
  526. package/lib/customtypes/CustomType.js +0 -184
  527. package/lib/customtypes/Section.d.ts +0 -3635
  528. package/lib/customtypes/Section.js +0 -66
  529. package/lib/customtypes/diff/Changes.d.ts +0 -17
  530. package/lib/customtypes/diff/Changes.js +0 -9
  531. package/lib/customtypes/diff/SharedSlice.d.ts +0 -1624
  532. package/lib/customtypes/diff/SharedSlice.js +0 -55
  533. package/lib/customtypes/diff/Variation.d.ts +0 -1605
  534. package/lib/customtypes/diff/Variation.js +0 -113
  535. package/lib/customtypes/diff/Widgets.d.ts +0 -11
  536. package/lib/customtypes/diff/Widgets.js +0 -2
  537. package/lib/customtypes/diff/index.d.ts +0 -4
  538. package/lib/customtypes/diff/index.js +0 -7
  539. package/lib/customtypes/index.d.ts +0 -4
  540. package/lib/customtypes/index.js +0 -7
  541. package/lib/customtypes/widgets/Group.d.ts +0 -1352
  542. package/lib/customtypes/widgets/Group.js +0 -92
  543. package/lib/customtypes/widgets/UID.d.ts +0 -19
  544. package/lib/customtypes/widgets/UID.js +0 -21
  545. package/lib/customtypes/widgets/Widget.d.ts +0 -4457
  546. package/lib/customtypes/widgets/Widget.js +0 -49
  547. package/lib/customtypes/widgets/index.d.ts +0 -6
  548. package/lib/customtypes/widgets/index.js +0 -9
  549. package/lib/customtypes/widgets/nestable/BooleanField.d.ts +0 -20
  550. package/lib/customtypes/widgets/nestable/BooleanField.js +0 -21
  551. package/lib/customtypes/widgets/nestable/Color.d.ts +0 -17
  552. package/lib/customtypes/widgets/nestable/Color.js +0 -20
  553. package/lib/customtypes/widgets/nestable/Date.d.ts +0 -19
  554. package/lib/customtypes/widgets/nestable/Date.js +0 -21
  555. package/lib/customtypes/widgets/nestable/Embed.d.ts +0 -19
  556. package/lib/customtypes/widgets/nestable/Embed.js +0 -21
  557. package/lib/customtypes/widgets/nestable/GeoPoint.d.ts +0 -15
  558. package/lib/customtypes/widgets/nestable/GeoPoint.js +0 -19
  559. package/lib/customtypes/widgets/nestable/Image.d.ts +0 -44
  560. package/lib/customtypes/widgets/nestable/Image.js +0 -29
  561. package/lib/customtypes/widgets/nestable/IntegrationField.d.ts +0 -19
  562. package/lib/customtypes/widgets/nestable/IntegrationField.js +0 -21
  563. package/lib/customtypes/widgets/nestable/Link.d.ts +0 -196
  564. package/lib/customtypes/widgets/nestable/Link.js +0 -167
  565. package/lib/customtypes/widgets/nestable/NestableWidget.d.ts +0 -217
  566. package/lib/customtypes/widgets/nestable/NestableWidget.js +0 -39
  567. package/lib/customtypes/widgets/nestable/Number.d.ts +0 -23
  568. package/lib/customtypes/widgets/nestable/Number.js +0 -24
  569. package/lib/customtypes/widgets/nestable/Range.d.ts +0 -23
  570. package/lib/customtypes/widgets/nestable/Range.js +0 -24
  571. package/lib/customtypes/widgets/nestable/RichText.d.ts +0 -73
  572. package/lib/customtypes/widgets/nestable/RichText.js +0 -131
  573. package/lib/customtypes/widgets/nestable/Select.d.ts +0 -21
  574. package/lib/customtypes/widgets/nestable/Select.js +0 -22
  575. package/lib/customtypes/widgets/nestable/Separator.d.ts +0 -14
  576. package/lib/customtypes/widgets/nestable/Separator.js +0 -18
  577. package/lib/customtypes/widgets/nestable/Table.d.ts +0 -21
  578. package/lib/customtypes/widgets/nestable/Table.js +0 -30
  579. package/lib/customtypes/widgets/nestable/Text.d.ts +0 -19
  580. package/lib/customtypes/widgets/nestable/Text.js +0 -21
  581. package/lib/customtypes/widgets/nestable/Timestamp.d.ts +0 -19
  582. package/lib/customtypes/widgets/nestable/Timestamp.js +0 -21
  583. package/lib/customtypes/widgets/nestable/index.d.ts +0 -17
  584. package/lib/customtypes/widgets/nestable/index.js +0 -20
  585. package/lib/customtypes/widgets/shared/ImageConstraint.d.ts +0 -7
  586. package/lib/customtypes/widgets/shared/ImageConstraint.js +0 -31
  587. package/lib/customtypes/widgets/shared/index.d.ts +0 -1
  588. package/lib/customtypes/widgets/shared/index.js +0 -8
  589. package/lib/customtypes/widgets/slices/CompositeSlice.d.ts +0 -455
  590. package/lib/customtypes/widgets/slices/CompositeSlice.js +0 -63
  591. package/lib/customtypes/widgets/slices/LegacySlice.d.ts +0 -442
  592. package/lib/customtypes/widgets/slices/LegacySlice.js +0 -12
  593. package/lib/customtypes/widgets/slices/SharedSlice.d.ts +0 -1807
  594. package/lib/customtypes/widgets/slices/SharedSlice.js +0 -118
  595. package/lib/customtypes/widgets/slices/SharedSliceRef.d.ts +0 -5
  596. package/lib/customtypes/widgets/slices/SharedSliceRef.js +0 -9
  597. package/lib/customtypes/widgets/slices/Slice.d.ts +0 -6
  598. package/lib/customtypes/widgets/slices/Slice.js +0 -2
  599. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +0 -1259
  600. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.js +0 -10
  601. package/lib/customtypes/widgets/slices/Slices.d.ts +0 -5917
  602. package/lib/customtypes/widgets/slices/Slices.js +0 -146
  603. package/lib/customtypes/widgets/slices/SlicesTypes.d.ts +0 -6
  604. package/lib/customtypes/widgets/slices/SlicesTypes.js +0 -11
  605. package/lib/customtypes/widgets/slices/index.d.ts +0 -8
  606. package/lib/customtypes/widgets/slices/index.js +0 -11
  607. package/lib/utils/Arrays.d.ts +0 -1
  608. package/lib/utils/Arrays.js +0 -13
  609. package/lib/utils/DocumentId.d.ts +0 -2
  610. package/lib/utils/DocumentId.js +0 -7
  611. package/lib/utils/Fields.d.ts +0 -6
  612. package/lib/utils/Fields.js +0 -2
  613. package/lib/utils/Objects.d.ts +0 -8
  614. package/lib/utils/Objects.js +0 -42
  615. package/lib/utils/index.d.ts +0 -4
  616. package/lib/utils/index.js +0 -8
  617. package/lib/validators/BasicTypes.d.ts +0 -10
  618. package/lib/validators/BasicTypes.js +0 -25
  619. package/lib/validators/DateFromString.d.ts +0 -3
  620. package/lib/validators/DateFromString.js +0 -11
  621. package/lib/validators/DateFromStringOrNumber.d.ts +0 -3
  622. package/lib/validators/DateFromStringOrNumber.js +0 -10
  623. package/lib/validators/DateFromTsMs.d.ts +0 -3
  624. package/lib/validators/DateFromTsMs.js +0 -10
  625. package/lib/validators/DefaultOrElse.d.ts +0 -5
  626. package/lib/validators/DefaultOrElse.js +0 -21
  627. package/lib/validators/IntFromNumber.d.ts +0 -5
  628. package/lib/validators/IntFromNumber.js +0 -14
  629. package/lib/validators/IntFromPixels.d.ts +0 -8
  630. package/lib/validators/IntFromPixels.js +0 -24
  631. package/lib/validators/NonEmptyString.d.ts +0 -3
  632. package/lib/validators/NonEmptyString.js +0 -6
  633. package/lib/validators/NonEmptyStringOrNull.d.ts +0 -3
  634. package/lib/validators/NonEmptyStringOrNull.js +0 -15
  635. package/lib/validators/NumberOrNull.d.ts +0 -3
  636. package/lib/validators/NumberOrNull.js +0 -6
  637. package/lib/validators/NumberRange.d.ts +0 -32
  638. package/lib/validators/NumberRange.js +0 -40
  639. package/lib/validators/StringFromBoolean.d.ts +0 -5
  640. package/lib/validators/StringFromBoolean.js +0 -10
  641. package/lib/validators/StringFromNumber.d.ts +0 -5
  642. package/lib/validators/StringFromNumber.js +0 -10
  643. package/lib/validators/StringOrNull.d.ts +0 -3
  644. package/lib/validators/StringOrNull.js +0 -6
  645. package/lib/validators/TrimmedString.d.ts +0 -5
  646. package/lib/validators/TrimmedString.js +0 -23
  647. package/lib/validators/function.d.ts +0 -34
  648. package/lib/validators/function.js +0 -100
  649. package/lib/validators/index.d.ts +0 -15
  650. package/lib/validators/index.js +0 -31
  651. package/src/common/Asset.ts +0 -25
  652. package/src/common/Embed.ts +0 -22
  653. package/src/common/HexaColorCode.ts +0 -11
  654. package/src/common/UUID.ts +0 -19
  655. package/src/common/WidgetKey.ts +0 -13
  656. package/src/common/index.ts +0 -3
  657. package/src/content/Document.ts +0 -539
  658. package/src/content/fields/EmptyContent.ts +0 -45
  659. package/src/content/fields/GroupContent.ts +0 -466
  660. package/src/content/fields/UIDContent.ts +0 -42
  661. package/src/content/fields/WidgetContent.ts +0 -76
  662. package/src/content/fields/index.ts +0 -6
  663. package/src/content/fields/nestable/BooleanContent.ts +0 -52
  664. package/src/content/fields/nestable/EmbedContent.ts +0 -74
  665. package/src/content/fields/nestable/FieldContent/ColorContent.ts +0 -49
  666. package/src/content/fields/nestable/FieldContent/DateContent.ts +0 -49
  667. package/src/content/fields/nestable/FieldContent/NumberContent.ts +0 -49
  668. package/src/content/fields/nestable/FieldContent/RangeContent.ts +0 -49
  669. package/src/content/fields/nestable/FieldContent/SelectContent.ts +0 -60
  670. package/src/content/fields/nestable/FieldContent/TextContent.ts +0 -49
  671. package/src/content/fields/nestable/FieldContent/TimestampContent.ts +0 -49
  672. package/src/content/fields/nestable/FieldContent/common.ts +0 -1
  673. package/src/content/fields/nestable/FieldContent/index.ts +0 -40
  674. package/src/content/fields/nestable/GeoPointContent.ts +0 -48
  675. package/src/content/fields/nestable/ImageContent.ts +0 -196
  676. package/src/content/fields/nestable/IntegrationFieldContent.ts +0 -51
  677. package/src/content/fields/nestable/LinkContent.ts +0 -651
  678. package/src/content/fields/nestable/NestableContent.ts +0 -241
  679. package/src/content/fields/nestable/RepeatableContent.ts +0 -224
  680. package/src/content/fields/nestable/RichTextContent/Blocks.ts +0 -238
  681. package/src/content/fields/nestable/RichTextContent/index.ts +0 -42
  682. package/src/content/fields/nestable/SeparatorContent.ts +0 -34
  683. package/src/content/fields/nestable/TableContent.ts +0 -234
  684. package/src/content/fields/nestable/index.ts +0 -12
  685. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +0 -293
  686. package/src/content/fields/slices/Slice/RepeatableContent.ts +0 -29
  687. package/src/content/fields/slices/Slice/SharedSliceContent.ts +0 -305
  688. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +0 -180
  689. package/src/content/fields/slices/Slice/SlicePrimaryContent.ts +0 -40
  690. package/src/content/fields/slices/Slice/index.ts +0 -52
  691. package/src/content/fields/slices/SliceItem.ts +0 -184
  692. package/src/content/fields/slices/SlicesContent.ts +0 -677
  693. package/src/content/fields/slices/index.ts +0 -3
  694. package/src/content/helpers.ts +0 -25
  695. package/src/content/index.ts +0 -4
  696. package/src/content/utils.ts +0 -145
  697. package/src/customtypes/CustomType.ts +0 -280
  698. package/src/customtypes/Section.ts +0 -98
  699. package/src/customtypes/diff/Variation.ts +0 -167
  700. package/src/customtypes/diff/Widgets.ts +0 -17
  701. package/src/customtypes/diff/index.ts +0 -4
  702. package/src/customtypes/index.ts +0 -4
  703. package/src/customtypes/widgets/Group.ts +0 -120
  704. package/src/customtypes/widgets/UID.ts +0 -27
  705. package/src/customtypes/widgets/Widget.ts +0 -83
  706. package/src/customtypes/widgets/index.ts +0 -6
  707. package/src/customtypes/widgets/nestable/BooleanField.ts +0 -29
  708. package/src/customtypes/widgets/nestable/Color.ts +0 -25
  709. package/src/customtypes/widgets/nestable/Date.ts +0 -27
  710. package/src/customtypes/widgets/nestable/Embed.ts +0 -27
  711. package/src/customtypes/widgets/nestable/GeoPoint.ts +0 -25
  712. package/src/customtypes/widgets/nestable/Image.ts +0 -39
  713. package/src/customtypes/widgets/nestable/IntegrationField.ts +0 -26
  714. package/src/customtypes/widgets/nestable/Link.ts +0 -313
  715. package/src/customtypes/widgets/nestable/NestableWidget.ts +0 -40
  716. package/src/customtypes/widgets/nestable/Number.ts +0 -30
  717. package/src/customtypes/widgets/nestable/Range.ts +0 -30
  718. package/src/customtypes/widgets/nestable/RichText.ts +0 -215
  719. package/src/customtypes/widgets/nestable/Select.ts +0 -34
  720. package/src/customtypes/widgets/nestable/Separator.ts +0 -24
  721. package/src/customtypes/widgets/nestable/Table.ts +0 -38
  722. package/src/customtypes/widgets/nestable/Text.ts +0 -27
  723. package/src/customtypes/widgets/nestable/Timestamp.ts +0 -27
  724. package/src/customtypes/widgets/nestable/index.ts +0 -17
  725. package/src/customtypes/widgets/shared/ImageConstraint.ts +0 -41
  726. package/src/customtypes/widgets/shared/index.ts +0 -1
  727. package/src/customtypes/widgets/slices/CompositeSlice.ts +0 -79
  728. package/src/customtypes/widgets/slices/LegacySlice.ts +0 -15
  729. package/src/customtypes/widgets/slices/SharedSlice.ts +0 -152
  730. package/src/customtypes/widgets/slices/SharedSliceRef.ts +0 -10
  731. package/src/customtypes/widgets/slices/Slice.ts +0 -7
  732. package/src/customtypes/widgets/slices/SlicePrimaryWidget.ts +0 -12
  733. package/src/customtypes/widgets/slices/Slices.ts +0 -184
  734. package/src/customtypes/widgets/slices/SlicesTypes.ts +0 -11
  735. package/src/customtypes/widgets/slices/index.ts +0 -8
  736. package/src/utils/Arrays.ts +0 -12
  737. package/src/utils/DocumentId.ts +0 -8
  738. package/src/utils/Fields.ts +0 -4
  739. package/src/utils/Objects.ts +0 -53
  740. package/src/utils/index.ts +0 -4
  741. package/src/validators/BasicTypes.ts +0 -55
  742. package/src/validators/DateFromString.ts +0 -19
  743. package/src/validators/DateFromStringOrNumber.ts +0 -17
  744. package/src/validators/DateFromTsMs.ts +0 -17
  745. package/src/validators/DefaultOrElse.ts +0 -24
  746. package/src/validators/IntFromNumber.ts +0 -22
  747. package/src/validators/IntFromPixels.ts +0 -32
  748. package/src/validators/NonEmptyString.ts +0 -8
  749. package/src/validators/NonEmptyStringOrNull.ts +0 -22
  750. package/src/validators/NumberOrNull.ts +0 -5
  751. package/src/validators/NumberRange.ts +0 -51
  752. package/src/validators/StringFromBoolean.ts +0 -19
  753. package/src/validators/StringFromNumber.ts +0 -19
  754. package/src/validators/StringOrNull.ts +0 -5
  755. package/src/validators/TrimmedString.ts +0 -33
  756. package/src/validators/function.ts +0 -115
  757. package/src/validators/index.ts +0 -15
  758. /package/src/{customtypes/diff/Changes.ts → model/diff/changes.ts} +0 -0
package/src/index.ts ADDED
@@ -0,0 +1,123 @@
1
+ // Common
2
+ export type { Asset } from "./common/asset"
3
+ export type { Embed } from "./common/embed"
4
+ export type { HexaColorCode } from "./common/hexaColorCode"
5
+ export type { NonEmptyString } from "./common/nonEmptyString"
6
+ export type { WidgetKey } from "./common/widgetKey"
7
+
8
+ // Content
9
+ export type { BooleanContent } from "./content/boolean"
10
+ export type { DocumentContent } from "./content/document"
11
+ export type { EmbedContent } from "./content/embed"
12
+ export type { EmptyContent } from "./content/empty"
13
+ export type {
14
+ ColorContent,
15
+ DateContent,
16
+ NumberContent,
17
+ RangeContent,
18
+ SelectContent,
19
+ TextContent,
20
+ TimestampContent,
21
+ FieldContent,
22
+ } from "./content/field"
23
+ export type { GeoPointContent } from "./content/geopoint"
24
+ export type { GroupContent, GroupItemContent } from "./content/group"
25
+ export type { ImageContent } from "./content/image"
26
+ export type { IntegrationFieldContent } from "./content/integrationField"
27
+ export type { LinkContent } from "./content/link"
28
+ export type { NestableContent } from "./content/nestable"
29
+ export type { RepeatableContent } from "./content/repeatable"
30
+ export type { RichTextContent, RichTextContentBlock, RichTextContentSpan } from "./content/richText"
31
+ export type { SeparatorContent } from "./content/separator"
32
+ export type {
33
+ LegacySliceContent,
34
+ CompositeSliceContent,
35
+ SharedSliceContent,
36
+ SliceContent,
37
+ } from "./content/slice"
38
+ export type {
39
+ LegacySliceItemContent,
40
+ CompositeSliceItemContent,
41
+ SharedSliceItemContent,
42
+ SliceItemContent,
43
+ SlicesContent,
44
+ } from "./content/slices"
45
+ export type { TableContent } from "./content/table"
46
+ export type { UIDContent } from "./content/uid"
47
+ export type { WidgetContent } from "./content/widget"
48
+
49
+ // Model
50
+ export type { BooleanModel } from "./model/boolean"
51
+ export type { ColorModel } from "./model/color"
52
+ export type { StaticCustomTypeModel, CustomTypeModel } from "./model/customType"
53
+ export type { DateModel } from "./model/date"
54
+ export type { EmbedModel } from "./model/embed"
55
+ export type { GeoPointModel } from "./model/geopoint"
56
+ export type { GroupModel, NestedGroupModel } from "./model/group"
57
+ export type { ImageModel } from "./model/image"
58
+ export type { IntegrationFieldModel } from "./model/integrationField"
59
+ export type { LinkModel } from "./model/link"
60
+ export type { NestableModel } from "./model/nestable"
61
+ export type { NumberModel } from "./model/number"
62
+ export type { RangeModel } from "./model/range"
63
+ export type { RichTextModel } from "./model/richText"
64
+ export type { StaticSectionModel, DynamicSectionModel } from "./model/section"
65
+ export type { SelectModel } from "./model/select"
66
+ export type { SeparatorModel } from "./model/separator"
67
+ export type {
68
+ LegacySliceModel,
69
+ CompositeSliceModel,
70
+ SharedSliceModel,
71
+ SharedSliceRefModel,
72
+ SharedSliceVariationContentModel as SharedSliceVariationModel,
73
+ StaticSliceModel,
74
+ DynamicSliceModel,
75
+ SliceContentModel,
76
+ SliceModelType,
77
+ } from "./model/slice"
78
+ export type { DynamicSlicesModel, StaticSlicesModel } from "./model/slices"
79
+ export type { TableModel } from "./model/table"
80
+ export { TableCellModelNodeTypes } from "./model/table"
81
+ export type { TextModel } from "./model/text"
82
+ export type { TimestampModel } from "./model/timestamp"
83
+ export type { UIDModel } from "./model/uid"
84
+ export type { StaticWidgetModel, DynamicWidgetModel, FieldModelType } from "./model/widget"
85
+
86
+ // Legacy
87
+ export { LegacyContentCtx, getFieldCtx, defaultCtx } from "./content/codec/legacyContentCtx"
88
+
89
+ // Helpers
90
+ export * as contentPath from "./helpers/contentPath"
91
+ export * as customTypeModel from "./helpers/customTypeModel"
92
+ export * as documentContent from "./helpers/documentContent"
93
+ export * as sliceContent from "./helpers/sliceContent"
94
+ export {
95
+ traverseDocumentContent,
96
+ traverseSlicesContent,
97
+ traverseSharedSliceContent,
98
+ traverseCompositeSliceContent,
99
+ traverseLegacySliceContent,
100
+ traverseGroupContent,
101
+ traverseGroupItemsContent,
102
+ traverseRepeatableContent,
103
+ traverseTableContent,
104
+ } from "./helpers/traverseContent"
105
+ export type {
106
+ TraverseSliceContentFunction,
107
+ TraverseWidgetContentFunction,
108
+ } from "./helpers/traverseContent"
109
+ export {
110
+ traverseDocumentContentWithModel,
111
+ traverseSlicesContentWithModel,
112
+ traverseSharedSliceContentWithModel,
113
+ traverseCompositeSliceContentWithModel,
114
+ traverseLegacySliceContentWithModel,
115
+ traverseGroupContentWithModel,
116
+ traverseGroupItemsContentWithModel,
117
+ traverseRepeatableContentWithModel,
118
+ traverseTableContentWithModel,
119
+ } from "./helpers/traverseContentWithModel"
120
+ export type {
121
+ TraverseSliceContentWithModelFunction,
122
+ TraverseWidgetContentWithModelFunction,
123
+ } from "./helpers/traverseContentWithModel"
package/src/io-ts.ts ADDED
@@ -0,0 +1,351 @@
1
+ import * as t from "io-ts"
2
+ import type { ZodMiniType } from "zod/mini"
3
+
4
+ // Common
5
+ import { AssetSchema as rawAssetSchema } from "./common/asset"
6
+ import { EmbedSchema as rawEmbedSchema } from "./common/embed"
7
+ import { HexaColorCodeSchema as rawHexaColorCodeSchema } from "./common/hexaColorCode"
8
+ import { NonEmptyStringSchema as rawNonEmptyStringSchema } from "./common/nonEmptyString"
9
+ import { WidgetKeySchema as rawWidgetKeySchema } from "./common/widgetKey"
10
+ // Content
11
+ import { BooleanContentSchema as rawBooleanContentSchema } from "./content/boolean"
12
+ import { BooleanLegacyCodec } from "./content/codec/boolean"
13
+ import { DocumentLegacyCodec } from "./content/codec/document"
14
+ import { EmbedLegacyCodec } from "./content/codec/embed"
15
+ import { EmptyLegacyCodec } from "./content/codec/empty"
16
+ import {
17
+ ColorLegacyCodec,
18
+ DateLegacyCodec,
19
+ NumberLegacyCodec,
20
+ RangeLegacyCodec,
21
+ SelectLegacyCodec,
22
+ TextLegacyCodec,
23
+ TimestampLegacyCodec,
24
+ } from "./content/codec/field"
25
+ import { GeoPointLegacyCodec } from "./content/codec/geopoint"
26
+ import { GroupItemLegacyCodec, GroupLegacyCodec } from "./content/codec/group"
27
+ import { ImageLegacyCodec } from "./content/codec/image"
28
+ import { IntegrationFieldLegacyCodec } from "./content/codec/integrationField"
29
+ import type { LegacyCodec } from "./content/codec/legacyContentCtx"
30
+ import { LinkLegacyCodec } from "./content/codec/link"
31
+ import { NestableLegacyCodec } from "./content/codec/nestable"
32
+ import { RepeatableLegacyCodec } from "./content/codec/repeatable"
33
+ import { RichTextLegacyCodec } from "./content/codec/richText"
34
+ import { SeparatorLegacyCodec } from "./content/codec/separator"
35
+ import {
36
+ CompositeSliceLegacyCodec,
37
+ SharedSliceLegacyCodec,
38
+ LegacySliceLegacyCodec,
39
+ SliceLegacyCodec,
40
+ } from "./content/codec/slice"
41
+ import { SliceItemLegacyCodec, SlicesLegacyCodec } from "./content/codec/slices"
42
+ import { TableLegacyCodec } from "./content/codec/table"
43
+ import { UIDLegacyCodec } from "./content/codec/uid"
44
+ import { WidgetLegacyCodec } from "./content/codec/widget"
45
+ import { DocumentContentSchema as rawDocumentContentSchema } from "./content/document"
46
+ import { EmbedContentSchema as rawEmbedContentSchema } from "./content/embed"
47
+ import { EmptyContentSchema as rawEmptyContentSchema } from "./content/empty"
48
+ import {
49
+ ColorContentSchema as rawColorContentSchema,
50
+ DateContentSchema as rawDateContentSchema,
51
+ NumberContentSchema as rawNumberContentSchema,
52
+ RangeContentSchema as rawRangeContentSchema,
53
+ SelectContentSchema as rawSelectContentSchema,
54
+ TextContentSchema as rawTextContentSchema,
55
+ TimestampContentSchema as rawTimestampContentSchema,
56
+ FieldContentSchema as rawFieldContentSchema,
57
+ } from "./content/field"
58
+ import { GeoPointContentSchema as rawGeoPointContentSchema } from "./content/geopoint"
59
+ import {
60
+ GroupContentSchema as rawGroupContentSchema,
61
+ GroupItemContentSchema as rawGroupItemContentSchema,
62
+ } from "./content/group"
63
+ import { ImageContentSchema as rawImageContentSchema } from "./content/image"
64
+ import { IntegrationFieldContentSchema as rawIntegrationFieldContentSchema } from "./content/integrationField"
65
+ import { LinkContentSchema as rawLinkContentSchema } from "./content/link"
66
+ import { NestableContentSchema as rawNestableContentSchema } from "./content/nestable"
67
+ import { RepeatableContentSchema as rawRepeatableContentSchema } from "./content/repeatable"
68
+ import {
69
+ RichTextContentSchema as rawRichTextContentSchema,
70
+ RichTextContentBlockSchema as rawRichTextContentBlockSchema,
71
+ RichTextContentSpanSchema as rawRichTextContentSpanSchema,
72
+ } from "./content/richText"
73
+ import { SeparatorContentSchema as rawSeparatorContentSchema } from "./content/separator"
74
+ import {
75
+ LegacySliceContentSchema as rawLegacySliceContentSchema,
76
+ CompositeSliceContentSchema as rawCompositeSliceContentSchema,
77
+ SharedSliceContentSchema as rawSharedSliceContentSchema,
78
+ SliceContentSchema as rawSliceContentSchema,
79
+ } from "./content/slice"
80
+ import {
81
+ LegacySliceItemContentSchema as rawLegacySliceItemContentSchema,
82
+ CompositeSliceItemContentSchema as rawCompositeSliceItemContentSchema,
83
+ SharedSliceItemContentSchema as rawSharedSliceItemContentSchema,
84
+ SliceItemContentSchema as rawSliceItemContentSchema,
85
+ SlicesContentSchema as rawSlicesContentSchema,
86
+ } from "./content/slices"
87
+ import { TableContentSchema as rawTableContentSchema } from "./content/table"
88
+ import { UIDContentSchema as rawUIDContentSchema } from "./content/uid"
89
+ import { WidgetContentSchema as rawWidgetContentSchema } from "./content/widget"
90
+ // Model
91
+ import { BooleanModelSchema as rawBooleanModelSchema } from "./model/boolean"
92
+ import { ColorModelSchema as rawColorModelSchema } from "./model/color"
93
+ import {
94
+ StaticCustomTypeModelSchema as rawStaticCustomTypeModelSchema,
95
+ CustomTypeModelSchema as rawCustomTypeModelSchema,
96
+ } from "./model/customType"
97
+ import { DateModelSchema as rawDateModelSchema } from "./model/date"
98
+ import { EmbedModelSchema as rawEmbedModelSchema } from "./model/embed"
99
+ import { GeoPointModelSchema as rawGeoPointModelSchema } from "./model/geopoint"
100
+ import {
101
+ GroupModelSchema as rawGroupModelSchema,
102
+ NestedGroupModelSchema as rawNestedGroupModelSchema,
103
+ } from "./model/group"
104
+ import { ImageModelSchema as rawImageModelSchema } from "./model/image"
105
+ import { IntegrationFieldModelSchema as rawIntegrationFieldModelSchema } from "./model/integrationField"
106
+ import { LinkModelSchema as rawLinkModelSchema } from "./model/link"
107
+ import { NestableModelSchema as rawNestableModelSchema } from "./model/nestable"
108
+ import { NumberModelSchema as rawNumberModelSchema } from "./model/number"
109
+ import { RangeModelSchema as rawRangeModelSchema } from "./model/range"
110
+ import { RichTextModelSchema as rawRichTextModelSchema } from "./model/richText"
111
+ import {
112
+ StaticSectionModelSchema as rawStaticSectionModelSchema,
113
+ DynamicSectionModelSchema as rawDynamicSectionModelSchema,
114
+ } from "./model/section"
115
+ import { SelectModelSchema as rawSelectModelSchema } from "./model/select"
116
+ import { SeparatorModelSchema as rawSeparatorModelSchema } from "./model/separator"
117
+ import {
118
+ LegacySliceModelSchema as rawLegacySliceModelSchema,
119
+ CompositeSliceModelSchema as rawCompositeSliceModelSchema,
120
+ SharedSliceModelSchema as rawSharedSliceModelSchema,
121
+ SharedSliceRefModelSchema as rawSharedSliceRefModelSchema,
122
+ StaticSliceModelSchema as rawStaticSliceModelSchema,
123
+ DynamicSliceModelSchema as rawDynamicSliceModelSchema,
124
+ SliceContentModelSchema as rawSliceContentModelSchema,
125
+ } from "./model/slice"
126
+ import {
127
+ DynamicSlicesModelSchema as rawDynamicSlicesModelSchema,
128
+ StaticSlicesModelSchema as rawStaticSlicesModelSchema,
129
+ } from "./model/slices"
130
+ import { TableModelSchema as rawTableModelSchema } from "./model/table"
131
+ import { TextModelSchema as rawTextModelSchema } from "./model/text"
132
+ import { TimestampModelSchema as rawTimestampModelSchema } from "./model/timestamp"
133
+ import { UIDModelSchema as rawUIDModelSchema } from "./model/uid"
134
+ import {
135
+ StaticWidgetModelSchema as rawStaticWidgetModelSchema,
136
+ DynamicWidgetModelSchema as rawDynamicWidgetModelSchema,
137
+ } from "./model/widget"
138
+
139
+ // Common
140
+ export const AssetSchema = toIOTS(rawAssetSchema)
141
+ export const EmbedSchema = toIOTS(rawEmbedSchema)
142
+ export const HexaColorCodeSchema = toIOTS(rawHexaColorCodeSchema)
143
+ export const NonEmptyStringSchema = toIOTS(rawNonEmptyStringSchema)
144
+ export const WidgetKeySchema = toIOTS(rawWidgetKeySchema)
145
+
146
+ // Content
147
+ export const BooleanContentSchema = toIOTS(rawBooleanContentSchema)
148
+ export const ColorContentSchema = toIOTS(rawColorContentSchema)
149
+ export const DateContentSchema = toIOTS(rawDateContentSchema)
150
+ export const EmptyContentSchema = toIOTS(rawEmptyContentSchema)
151
+ export const GeoPointContentSchema = toIOTS(rawGeoPointContentSchema)
152
+ export const LinkContentSchema = toIOTS(rawLinkContentSchema)
153
+ export const NumberContentSchema = toIOTS(rawNumberContentSchema)
154
+ export const RangeContentSchema = toIOTS(rawRangeContentSchema)
155
+ export const SelectContentSchema = toIOTS(rawSelectContentSchema)
156
+ export const SeparatorContentSchema = toIOTS(rawSeparatorContentSchema)
157
+ export const SharedSliceContentSchema = toIOTS(rawSharedSliceContentSchema)
158
+ export const TextContentSchema = toIOTS(rawTextContentSchema)
159
+ export const TimestampContentSchema = toIOTS(rawTimestampContentSchema)
160
+ export const FieldContentSchema = toIOTS(rawFieldContentSchema)
161
+ export const UIDContentSchema = toIOTS(rawUIDContentSchema)
162
+ export const IntegrationFieldContentSchema = toIOTS(rawIntegrationFieldContentSchema)
163
+ export const EmbedContentSchema = toIOTS(rawEmbedContentSchema)
164
+ export const ImageContentSchema = toIOTS(rawImageContentSchema)
165
+ export const RichTextContentSchema = toIOTS(rawRichTextContentSchema)
166
+ export const RichTextContentBlockSchema = toIOTS(rawRichTextContentBlockSchema)
167
+ export const RichTextContentSpanSchema = toIOTS(rawRichTextContentSpanSchema)
168
+ export const TableContentSchema = toIOTS(rawTableContentSchema)
169
+ export const RepeatableContentSchema = toIOTS(rawRepeatableContentSchema)
170
+ export const NestableContentSchema = toIOTS(rawNestableContentSchema)
171
+ export const GroupContentSchema = toIOTS(rawGroupContentSchema)
172
+ export const GroupItemContentSchema = toIOTS(rawGroupItemContentSchema)
173
+ export const CompositeSliceContentSchema = toIOTS(rawCompositeSliceContentSchema)
174
+ export const LegacySliceContentSchema = toIOTS(rawLegacySliceContentSchema)
175
+ export const SliceContentSchema = toIOTS(rawSliceContentSchema)
176
+ export const LegacySliceItemContentSchema = toIOTS(rawLegacySliceItemContentSchema)
177
+ export const CompositeSliceItemContentSchema = toIOTS(rawCompositeSliceItemContentSchema)
178
+ export const SharedSliceItemContentSchema = toIOTS(rawSharedSliceItemContentSchema)
179
+ export const SliceItemContentSchema = toIOTS(rawSliceItemContentSchema)
180
+ export const SlicesContentSchema = toIOTS(rawSlicesContentSchema)
181
+ export const WidgetContentSchema = toIOTS(rawWidgetContentSchema)
182
+ export const DocumentContentSchema = toIOTS(rawDocumentContentSchema)
183
+
184
+ // Content legacy
185
+ export const BooleanLegacy = toIOTSCodec(BooleanLegacyCodec)
186
+ export const EmptyLegacy = toIOTSCodec(EmptyLegacyCodec)
187
+ export const TextLegacy = toIOTSCodec(TextLegacyCodec)
188
+ export const ColorLegacy = toIOTSCodec(ColorLegacyCodec)
189
+ export const DateLegacy = toIOTSCodec(DateLegacyCodec)
190
+ export const TimestampLegacy = toIOTSCodec(TimestampLegacyCodec)
191
+ export const NumberLegacy = toIOTSCodec(NumberLegacyCodec)
192
+ export const RangeLegacy = toIOTSCodec(RangeLegacyCodec)
193
+ export const SelectLegacy = toIOTSCodec(SelectLegacyCodec)
194
+ export const GeoPointLegacy = toIOTSCodec(GeoPointLegacyCodec)
195
+ export const EmbedLegacy = toIOTSCodec(EmbedLegacyCodec)
196
+ export const ImageLegacy = toIOTSCodec(ImageLegacyCodec)
197
+ export const LinkLegacy = toIOTSCodec(LinkLegacyCodec)
198
+ export const RepeatableLegacy = toIOTSCodec(RepeatableLegacyCodec)
199
+ export const RichTextLegacy = toIOTSCodec(RichTextLegacyCodec)
200
+ export const SeparatorLegacy = toIOTSCodec(SeparatorLegacyCodec)
201
+ export const IntegrationFieldLegacy = toIOTSCodec(IntegrationFieldLegacyCodec)
202
+ export const TableLegacy = toIOTSCodec(TableLegacyCodec)
203
+ export const NestableLegacy = toIOTSCodec(NestableLegacyCodec)
204
+ export const UIDLegacy = toIOTSCodec(UIDLegacyCodec)
205
+ export const GroupItemLegacy = toIOTSCodec(GroupItemLegacyCodec)
206
+ export const GroupLegacy = toIOTSCodec(GroupLegacyCodec)
207
+ export const LegacySliceLegacy = toIOTSCodec(LegacySliceLegacyCodec)
208
+ export const CompositeSliceLegacy = toIOTSCodec(CompositeSliceLegacyCodec)
209
+ export const SharedSliceLegacy = toIOTSCodec(SharedSliceLegacyCodec)
210
+ export const SliceLegacy = toIOTSCodec(SliceLegacyCodec)
211
+ export const SliceItemLegacy = toIOTSCodec(SliceItemLegacyCodec)
212
+ export const SlicesLegacy = toIOTSCodec(SlicesLegacyCodec)
213
+ export const WidgetLegacy = toIOTSCodec(WidgetLegacyCodec)
214
+ export const DocumentLegacy = toIOTSCodec(DocumentLegacyCodec)
215
+
216
+ // Model
217
+ export const BooleanModelSchema = toIOTS(rawBooleanModelSchema)
218
+ export const ColorModelSchema = toIOTS(rawColorModelSchema)
219
+ export const DateModelSchema = toIOTS(rawDateModelSchema)
220
+ export const EmbedModelSchema = toIOTS(rawEmbedModelSchema)
221
+ export const GeoPointModelSchema = toIOTS(rawGeoPointModelSchema)
222
+ export const ImageModelSchema = toIOTS(rawImageModelSchema)
223
+ export const IntegrationFieldModelSchema = toIOTS(rawIntegrationFieldModelSchema)
224
+ export const LinkModelSchema = toIOTS(rawLinkModelSchema)
225
+ export const NestableModelSchema = toIOTS(rawNestableModelSchema)
226
+ export const NumberModelSchema = toIOTS(rawNumberModelSchema)
227
+ export const RangeModelSchema = toIOTS(rawRangeModelSchema)
228
+ export const RichTextModelSchema = toIOTS(rawRichTextModelSchema)
229
+ export const SelectModelSchema = toIOTS(rawSelectModelSchema)
230
+ export const SeparatorModelSchema = toIOTS(rawSeparatorModelSchema)
231
+ export const SharedSliceModelSchema = toIOTS(rawSharedSliceModelSchema)
232
+ export const TableModelSchema = toIOTS(rawTableModelSchema)
233
+ export const TextModelSchema = toIOTS(rawTextModelSchema)
234
+ export const TimestampModelSchema = toIOTS(rawTimestampModelSchema)
235
+ export const UIDModelSchema = toIOTS(rawUIDModelSchema)
236
+ export const GroupModelSchema = toIOTS(rawGroupModelSchema)
237
+ export const NestedGroupModelSchema = toIOTS(rawNestedGroupModelSchema)
238
+ export const SharedSliceRefModelSchema = toIOTS(rawSharedSliceRefModelSchema)
239
+ export const CompositeSliceModelSchema = toIOTS(rawCompositeSliceModelSchema)
240
+ export const LegacySliceModelSchema = toIOTS(rawLegacySliceModelSchema)
241
+ export const DynamicSliceModelSchema = toIOTS(rawDynamicSliceModelSchema)
242
+ export const StaticSliceModelSchema = toIOTS(rawStaticSliceModelSchema)
243
+ export const SliceContentModelSchema = toIOTS(rawSliceContentModelSchema)
244
+ export const DynamicSlicesModelSchema = toIOTS(rawDynamicSlicesModelSchema)
245
+ export const StaticSlicesModelSchema = toIOTS(rawStaticSlicesModelSchema)
246
+ export const StaticWidgetModelSchema = toIOTS(rawStaticWidgetModelSchema)
247
+ export const DynamicWidgetModelSchema = toIOTS(rawDynamicWidgetModelSchema)
248
+ export const StaticSectionModelSchema = toIOTS(rawStaticSectionModelSchema)
249
+ export const DynamicSectionModelSchema = toIOTS(rawDynamicSectionModelSchema)
250
+ export const StaticCustomTypeModelSchema = toIOTS(rawStaticCustomTypeModelSchema)
251
+ export const CustomTypeModelSchema = toIOTS(rawCustomTypeModelSchema)
252
+
253
+ function toIOTS<T>(type: ZodMiniType<T>): t.Type<T> {
254
+ return new t.Type<T>(
255
+ "Type",
256
+ (input): input is T => type.safeParse(input).success,
257
+ (input, context) => {
258
+ const result = type.safeParse(input)
259
+ return result.success
260
+ ? t.success(result.data)
261
+ : t.failure(
262
+ input,
263
+ context,
264
+ result.error.issues.map((issue) => formatIssue(issue, input)).join("\n"),
265
+ )
266
+ },
267
+ t.identity,
268
+ )
269
+ }
270
+
271
+ function toIOTSCodec<TArgs extends unknown[], A, LegacyRaw, AllowUndefined extends boolean>(
272
+ codecFactory: (...args: TArgs) => LegacyCodec<A, LegacyRaw, AllowUndefined>,
273
+ ): (
274
+ ...args: TArgs
275
+ ) => t.Type<A, ReturnType<LegacyCodec<A, LegacyRaw, AllowUndefined>["fromContent"]>, unknown> {
276
+ return (...args: TArgs) => {
277
+ const codec = codecFactory(...args)
278
+ return new t.Type<
279
+ A,
280
+ ReturnType<LegacyCodec<A, LegacyRaw, AllowUndefined>["fromContent"]>,
281
+ unknown
282
+ >(
283
+ codec.name,
284
+ codec.is,
285
+ (input, context) => {
286
+ const result = codec.toContent(input)
287
+ return result.success
288
+ ? t.success(result.data)
289
+ : t.failure(
290
+ input,
291
+ context,
292
+ result.error.issues.map((issue) => formatIssue(issue, input)).join("\n"),
293
+ )
294
+ },
295
+ codec.fromContent,
296
+ )
297
+ }
298
+ }
299
+
300
+ interface ZodIssue {
301
+ code: string
302
+ message: string
303
+ path?: PropertyKey[]
304
+ expected?: string
305
+ values?: unknown[]
306
+ keys?: string[]
307
+ }
308
+
309
+ function resolveValue(input: unknown, path: PropertyKey[]): unknown {
310
+ let current = input
311
+ for (const key of path) {
312
+ if (current == null || typeof current !== "object") return undefined
313
+ current = (current as Record<PropertyKey, unknown>)[key]
314
+ }
315
+ return current
316
+ }
317
+
318
+ function formatValue(value: unknown): string {
319
+ if (value === null) return "null"
320
+ if (value === undefined) return "undefined"
321
+ if (typeof value === "string") return JSON.stringify(value)
322
+ return String(value)
323
+ }
324
+
325
+ function formatIssue(issue: ZodIssue, input: unknown): string {
326
+ if (issue.code === "custom" && issue.message !== "Invalid input") {
327
+ return issue.message
328
+ }
329
+
330
+ const value = resolveValue(input, issue.path ?? [])
331
+ const pathStr = issue.path?.length ? issue.path.join(".") : undefined
332
+
333
+ if (issue.code === "invalid_value" && issue.values) {
334
+ const expected = issue.values.map(formatValue).join(", ")
335
+ return pathStr
336
+ ? `Invalid value ${formatValue(value)} at .${pathStr}: expected ${expected}`
337
+ : `Invalid value ${formatValue(value)}: expected ${expected}`
338
+ }
339
+
340
+ if (issue.code === "invalid_type" && issue.expected) {
341
+ return pathStr
342
+ ? `Invalid value ${formatValue(value)} at .${pathStr}: expected ${issue.expected}`
343
+ : `Invalid value ${formatValue(value)}: expected ${issue.expected}`
344
+ }
345
+
346
+ if (issue.code === "unrecognized_keys" && issue.keys) {
347
+ return `Unrecognized key(s): ${issue.keys.join(", ")}`
348
+ }
349
+
350
+ return issue.message
351
+ }
@@ -0,0 +1,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const BooleanConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ default_value: z.optional(z.boolean()),
6
+ placeholder_true: z.optional(z.string()),
7
+ placeholder_false: z.optional(z.string()),
8
+ })
9
+
10
+ export const BooleanModelSchema = z.object({
11
+ type: z.literal("Boolean"),
12
+ config: z.optional(BooleanConfigSchema),
13
+ })
14
+
15
+ export type BooleanModel = z.infer<typeof BooleanModelSchema>
@@ -0,0 +1,14 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const ColorConfigSchema = z.object({
4
+ label: z.nullish(z.string()),
5
+ placeholder: z.optional(z.string()),
6
+ })
7
+
8
+ export const ColorModelSchema = z.object({
9
+ type: z.literal("Color"),
10
+ fieldset: z.nullish(z.string()),
11
+ config: z.optional(ColorConfigSchema),
12
+ })
13
+
14
+ export type ColorModel = z.infer<typeof ColorModelSchema>
@@ -0,0 +1,26 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { DynamicSectionModelSchema, StaticSectionModelSchema } from "./section"
4
+
5
+ // CustomTypeFormat - "page" | "custom"
6
+ export const CustomTypeFormatSchema = z.enum(["page", "custom"])
7
+ export type CustomTypeFormat = z.infer<typeof CustomTypeFormatSchema>
8
+
9
+ // Factory to create CustomType schema with configurable section type
10
+ const createCustomTypeSchema = <T extends z.ZodMiniType>(sectionSchema: T) =>
11
+ z.object({
12
+ id: z.string(),
13
+ label: z.nullish(z.string()),
14
+ repeatable: z._default(z.boolean(), true),
15
+ json: z.record(z.string(), sectionSchema),
16
+ status: z._default(z.boolean(), true),
17
+ format: z._default(CustomTypeFormatSchema, "custom"),
18
+ })
19
+
20
+ // StaticCustomType - uses StaticSection (with full SharedSlice definitions)
21
+ export const StaticCustomTypeModelSchema = createCustomTypeSchema(StaticSectionModelSchema)
22
+ export type StaticCustomTypeModel = z.infer<typeof StaticCustomTypeModelSchema>
23
+
24
+ // CustomType (dynamic) - uses DynamicSection (with SharedSliceRef references)
25
+ export const CustomTypeModelSchema = createCustomTypeSchema(DynamicSectionModelSchema)
26
+ export type CustomTypeModel = z.infer<typeof CustomTypeModelSchema>
@@ -0,0 +1,15 @@
1
+ import { z } from "zod/mini"
2
+
3
+ const DateConfigSchema = 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 DateModelSchema = z.object({
10
+ type: z.literal("Date"),
11
+ fieldset: z.nullish(z.string()),
12
+ config: z.optional(DateConfigSchema),
13
+ })
14
+
15
+ export type DateModel = z.infer<typeof DateModelSchema>
@@ -0,0 +1,4 @@
1
+ export * from "./changes"
2
+ export * from "./sharedSlice"
3
+ export * from "./variation"
4
+ export * from "./widgets"
@@ -1,11 +1,11 @@
1
- import { Arrays, Objects } from "../../utils"
2
- import type { SharedSlice, Variation } from "../widgets/slices"
3
- import { type DiffChange, DiffOperation } from "./Changes"
4
- import { VariationComparator, VariationDiff } from "./Variation"
1
+ import type { SharedSliceModel, SharedSliceVariation } from "../slice"
2
+ import { type DiffChange, DiffOperation } from "./changes"
3
+ import { isNotEmpty, toRecord, zipObjects } from "./utils"
4
+ import { type VariationDiff, VariationComparator } from "./variation"
5
5
 
6
- export type SliceMetadata = Omit<SharedSlice, "variations">
6
+ export type SliceMetadata = Omit<SharedSliceModel, "variations">
7
7
  export type SliceDiff = DiffChange<
8
- SharedSlice,
8
+ SharedSliceModel,
9
9
  Partial<
10
10
  SliceMetadata & {
11
11
  variations?: Partial<Record<string, VariationDiff>>
@@ -14,13 +14,13 @@ export type SliceDiff = DiffChange<
14
14
  >
15
15
 
16
16
  function compareSliceMeta(
17
- sliceA?: SharedSlice,
18
- sliceB?: SharedSlice,
17
+ sliceA?: SharedSliceModel,
18
+ sliceB?: SharedSliceModel,
19
19
  ): Partial<SliceMetadata> {
20
- const zippedSlices = Objects.zipObjects(sliceA, sliceB)
20
+ const zippedSlices = zipObjects(sliceA, sliceB)
21
21
 
22
22
  return Object.entries(zippedSlices).reduce((acc, [key, value]) => {
23
- if (key === `variations`) return acc
23
+ if (key === "variations") return acc
24
24
 
25
25
  if (value?.left === value?.right) return acc
26
26
  return { ...acc, [key]: value?.right }
@@ -28,7 +28,7 @@ function compareSliceMeta(
28
28
  }
29
29
 
30
30
  export const SliceComparator = {
31
- compare(sliceA?: SharedSlice, sliceB?: SharedSlice): SliceDiff | undefined {
31
+ compare(sliceA?: SharedSliceModel, sliceB?: SharedSliceModel): SliceDiff | undefined {
32
32
  if (!sliceA && sliceB)
33
33
  return {
34
34
  op: DiffOperation.Added,
@@ -41,9 +41,9 @@ export const SliceComparator = {
41
41
 
42
42
  const diffMeta = compareSliceMeta(sliceA, sliceB)
43
43
 
44
- const zippedSlices = Objects.zipObjects<Variation>(
45
- sliceA && Arrays.toRecord(sliceA.variations, (v) => v.id),
46
- sliceB && Arrays.toRecord(sliceB.variations, (v) => v.id),
44
+ const zippedSlices = zipObjects<SharedSliceVariation>(
45
+ sliceA && toRecord(sliceA.variations, (v) => v.id),
46
+ sliceB && toRecord(sliceB.variations, (v) => v.id),
47
47
  )
48
48
 
49
49
  const diffVariations = Object.entries(zippedSlices).reduce<
@@ -61,12 +61,10 @@ export const SliceComparator = {
61
61
 
62
62
  const diffSlice = {
63
63
  ...diffMeta,
64
- ...(Objects.isNotEmpty(diffVariations)
65
- ? { variations: diffVariations }
66
- : {}),
64
+ ...(isNotEmpty(diffVariations) ? { variations: diffVariations } : {}),
67
65
  }
68
66
 
69
- if (Objects.isNotEmpty(diffSlice)) {
67
+ if (isNotEmpty(diffSlice)) {
70
68
  return {
71
69
  op: DiffOperation.Updated,
72
70
  value: diffSlice,
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Zips two objects together by their keys, creating an object with
3
+ * both left and right values for each key.
4
+ */
5
+ export function zipObjects<A, B = A>(
6
+ objLeft?: Partial<Record<string, A>> | undefined,
7
+ objRight?: Partial<Record<string, B>> | undefined,
8
+ ): Partial<Record<string, { left?: A | undefined; right?: B | undefined }>> {
9
+ const allKeys = [...new Set(Object.keys(objLeft || {}).concat(Object.keys(objRight || {})))]
10
+
11
+ return allKeys.reduce<Record<string, { left?: A | undefined; right?: B | undefined }>>(
12
+ (acc, key) => {
13
+ const left = objLeft?.[key]
14
+ const right = objRight?.[key]
15
+ return {
16
+ ...acc,
17
+ [key]: { left, right },
18
+ }
19
+ },
20
+ {},
21
+ )
22
+ }
23
+
24
+ /**
25
+ * Returns true if the object has at least one key.
26
+ */
27
+ export function isNotEmpty<A extends object>(obj: A): boolean {
28
+ return Boolean(Object.keys(obj).length)
29
+ }
30
+
31
+ /**
32
+ * Converts an array to a record using the provided key function.
33
+ */
34
+ export function toRecord<A extends object>(
35
+ arr: ReadonlyArray<A>,
36
+ key: (obj: A) => string,
37
+ ): Record<string, A> {
38
+ return arr.reduce<Record<string, A>>((acc, entry) => {
39
+ const k = key(entry)
40
+ return {
41
+ ...acc,
42
+ [k]: entry,
43
+ }
44
+ }, {})
45
+ }