@prismicio/types-internal 3.16.0 → 3.16.1-alpha.0

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 (235) hide show
  1. package/lib/content/fields/RepeatableContent.d.ts +51 -123
  2. package/lib/content/fields/RepeatableContent.js +10 -14
  3. package/lib/content/fields/nestable/RichTextContent/Block.d.ts +1036 -0
  4. package/lib/content/fields/nestable/RichTextContent/Block.js +31 -0
  5. package/lib/content/fields/nestable/RichTextContent/EmbedBlock.d.ts +60 -0
  6. package/lib/content/fields/nestable/RichTextContent/EmbedBlock.js +53 -0
  7. package/lib/content/fields/nestable/RichTextContent/ImageBlock.d.ts +203 -0
  8. package/lib/content/fields/nestable/RichTextContent/ImageBlock.js +36 -0
  9. package/lib/content/fields/nestable/RichTextContent/TableBlock.d.ts +500 -0
  10. package/lib/content/fields/nestable/RichTextContent/TableBlock.js +21 -0
  11. package/lib/content/fields/nestable/RichTextContent/TextBlock.d.ts +590 -0
  12. package/lib/content/fields/nestable/RichTextContent/TextBlock.js +80 -0
  13. package/lib/scripts/release.d.ts +1 -0
  14. package/lib/scripts/release.js +34 -0
  15. package/lib/src/_internal/utils.d.ts +36 -0
  16. package/lib/src/_internal/utils.js +20 -0
  17. package/lib/src/common/Asset.d.ts +16 -0
  18. package/lib/src/common/Asset.js +11 -0
  19. package/lib/src/common/Embed.d.ts +15 -0
  20. package/lib/src/common/Embed.js +10 -0
  21. package/lib/src/common/HexaColorCode.d.ts +4 -0
  22. package/lib/src/common/HexaColorCode.js +7 -0
  23. package/lib/src/common/UUID.d.ts +6 -0
  24. package/lib/src/common/UUID.js +8 -0
  25. package/lib/src/common/WidgetKey.d.ts +3 -0
  26. package/lib/src/common/WidgetKey.js +8 -0
  27. package/lib/src/common/index.d.ts +3 -0
  28. package/lib/src/common/index.js +6 -0
  29. package/lib/src/content/Document.d.ts +11803 -0
  30. package/lib/src/content/Document.js +266 -0
  31. package/lib/src/content/LegacyContentCtx.d.ts +64 -0
  32. package/lib/src/content/LegacyContentCtx.js +130 -0
  33. package/lib/src/content/fields/EmptyContent.d.ts +16 -0
  34. package/lib/src/content/fields/EmptyContent.js +30 -0
  35. package/lib/src/content/fields/GroupContent.d.ts +42 -0
  36. package/lib/src/content/fields/GroupContent.js +208 -0
  37. package/lib/src/content/fields/UIDContent.d.ts +16 -0
  38. package/lib/src/content/fields/UIDContent.js +25 -0
  39. package/lib/src/content/fields/WidgetContent.d.ts +11749 -0
  40. package/lib/src/content/fields/WidgetContent.js +57 -0
  41. package/lib/src/content/fields/index.d.ts +6 -0
  42. package/lib/src/content/fields/index.js +9 -0
  43. package/lib/src/content/fields/nestable/BooleanContent.d.ts +18 -0
  44. package/lib/src/content/fields/nestable/BooleanContent.js +35 -0
  45. package/lib/src/content/fields/nestable/EmbedContent.d.ts +78 -0
  46. package/lib/src/content/fields/nestable/EmbedContent.js +56 -0
  47. package/lib/src/content/fields/nestable/FieldContent/ColorContent.d.ts +18 -0
  48. package/lib/src/content/fields/nestable/FieldContent/ColorContent.js +35 -0
  49. package/lib/src/content/fields/nestable/FieldContent/DateContent.d.ts +18 -0
  50. package/lib/src/content/fields/nestable/FieldContent/DateContent.js +35 -0
  51. package/lib/src/content/fields/nestable/FieldContent/NumberContent.d.ts +18 -0
  52. package/lib/src/content/fields/nestable/FieldContent/NumberContent.js +35 -0
  53. package/lib/src/content/fields/nestable/FieldContent/RangeContent.d.ts +18 -0
  54. package/lib/src/content/fields/nestable/FieldContent/RangeContent.js +35 -0
  55. package/lib/src/content/fields/nestable/FieldContent/SelectContent.d.ts +20 -0
  56. package/lib/src/content/fields/nestable/FieldContent/SelectContent.js +46 -0
  57. package/lib/src/content/fields/nestable/FieldContent/TextContent.d.ts +18 -0
  58. package/lib/src/content/fields/nestable/FieldContent/TextContent.js +35 -0
  59. package/lib/src/content/fields/nestable/FieldContent/TimestampContent.d.ts +18 -0
  60. package/lib/src/content/fields/nestable/FieldContent/TimestampContent.js +35 -0
  61. package/lib/src/content/fields/nestable/FieldContent/common.d.ts +1 -0
  62. package/lib/src/content/fields/nestable/FieldContent/common.js +4 -0
  63. package/lib/src/content/fields/nestable/FieldContent/index.d.ts +49 -0
  64. package/lib/src/content/fields/nestable/FieldContent/index.js +38 -0
  65. package/lib/src/content/fields/nestable/GeoPointContent.d.ts +33 -0
  66. package/lib/src/content/fields/nestable/GeoPointContent.js +31 -0
  67. package/lib/src/content/fields/nestable/ImageContent.d.ts +227 -0
  68. package/lib/src/content/fields/nestable/ImageContent.js +73 -0
  69. package/lib/src/content/fields/nestable/IntegrationFieldContent.d.ts +16 -0
  70. package/lib/src/content/fields/nestable/IntegrationFieldContent.js +28 -0
  71. package/lib/src/content/fields/nestable/LinkContent.d.ts +919 -0
  72. package/lib/src/content/fields/nestable/LinkContent.js +399 -0
  73. package/lib/src/content/fields/nestable/NestableContent.d.ts +1953 -0
  74. package/lib/src/content/fields/nestable/NestableContent.js +167 -0
  75. package/lib/src/content/fields/nestable/RepeatableContent.d.ts +176 -0
  76. package/lib/src/content/fields/nestable/RepeatableContent.js +104 -0
  77. package/lib/src/content/fields/nestable/RichTextContent/Blocks.d.ts +1261 -0
  78. package/lib/src/content/fields/nestable/RichTextContent/Blocks.js +170 -0
  79. package/lib/src/content/fields/nestable/RichTextContent/index.d.ts +1004 -0
  80. package/lib/src/content/fields/nestable/RichTextContent/index.js +28 -0
  81. package/lib/src/content/fields/nestable/SeparatorContent.d.ts +13 -0
  82. package/lib/src/content/fields/nestable/SeparatorContent.js +22 -0
  83. package/lib/src/content/fields/nestable/TableContent.d.ts +770 -0
  84. package/lib/src/content/fields/nestable/TableContent.js +121 -0
  85. package/lib/src/content/fields/nestable/index.d.ts +12 -0
  86. package/lib/src/content/fields/nestable/index.js +15 -0
  87. package/lib/src/content/fields/slices/Slice/CompositeSliceContent.d.ts +3934 -0
  88. package/lib/src/content/fields/slices/Slice/CompositeSliceContent.js +195 -0
  89. package/lib/src/content/fields/slices/Slice/RepeatableContent.d.ts +774 -0
  90. package/lib/src/content/fields/slices/Slice/RepeatableContent.js +21 -0
  91. package/lib/src/content/fields/slices/Slice/SharedSliceContent.d.ts +3937 -0
  92. package/lib/src/content/fields/slices/Slice/SharedSliceContent.js +215 -0
  93. package/lib/src/content/fields/slices/Slice/SimpleSliceContent.d.ts +1962 -0
  94. package/lib/src/content/fields/slices/Slice/SimpleSliceContent.js +130 -0
  95. package/lib/src/content/fields/slices/Slice/SlicePrimaryContent.d.ts +1952 -0
  96. package/lib/src/content/fields/slices/Slice/SlicePrimaryContent.js +30 -0
  97. package/lib/src/content/fields/slices/Slice/index.d.ts +6810 -0
  98. package/lib/src/content/fields/slices/Slice/index.js +45 -0
  99. package/lib/src/content/fields/slices/SliceItem.d.ts +6846 -0
  100. package/lib/src/content/fields/slices/SliceItem.js +116 -0
  101. package/lib/src/content/fields/slices/SlicesContent.d.ts +9809 -0
  102. package/lib/src/content/fields/slices/SlicesContent.js +187 -0
  103. package/lib/src/content/fields/slices/index.d.ts +3 -0
  104. package/lib/src/content/fields/slices/index.js +6 -0
  105. package/lib/src/content/fields/withDefaultValues.d.ts +9 -0
  106. package/lib/src/content/fields/withDefaultValues.js +79 -0
  107. package/lib/src/content/index.d.ts +3 -0
  108. package/lib/src/content/index.js +6 -0
  109. package/lib/src/content/utils.d.ts +14 -0
  110. package/lib/src/content/utils.js +33 -0
  111. package/lib/src/customtypes/CustomType.d.ts +3680 -0
  112. package/lib/src/customtypes/CustomType.js +184 -0
  113. package/lib/src/customtypes/Section.d.ts +3635 -0
  114. package/lib/src/customtypes/Section.js +66 -0
  115. package/lib/src/customtypes/diff/Changes.d.ts +17 -0
  116. package/lib/src/customtypes/diff/Changes.js +9 -0
  117. package/lib/src/customtypes/diff/SharedSlice.d.ts +1624 -0
  118. package/lib/src/customtypes/diff/SharedSlice.js +55 -0
  119. package/lib/src/customtypes/diff/Variation.d.ts +1605 -0
  120. package/lib/src/customtypes/diff/Variation.js +113 -0
  121. package/lib/src/customtypes/diff/Widgets.d.ts +11 -0
  122. package/lib/src/customtypes/diff/Widgets.js +2 -0
  123. package/lib/src/customtypes/diff/index.d.ts +4 -0
  124. package/lib/src/customtypes/diff/index.js +7 -0
  125. package/lib/src/customtypes/index.d.ts +4 -0
  126. package/lib/src/customtypes/index.js +7 -0
  127. package/lib/src/customtypes/widgets/Group.d.ts +1352 -0
  128. package/lib/src/customtypes/widgets/Group.js +92 -0
  129. package/lib/src/customtypes/widgets/UID.d.ts +19 -0
  130. package/lib/src/customtypes/widgets/UID.js +21 -0
  131. package/lib/src/customtypes/widgets/Widget.d.ts +4457 -0
  132. package/lib/src/customtypes/widgets/Widget.js +49 -0
  133. package/lib/src/customtypes/widgets/index.d.ts +6 -0
  134. package/lib/src/customtypes/widgets/index.js +9 -0
  135. package/lib/src/customtypes/widgets/nestable/BooleanField.d.ts +20 -0
  136. package/lib/src/customtypes/widgets/nestable/BooleanField.js +21 -0
  137. package/lib/src/customtypes/widgets/nestable/Color.d.ts +17 -0
  138. package/lib/src/customtypes/widgets/nestable/Color.js +20 -0
  139. package/lib/src/customtypes/widgets/nestable/Date.d.ts +19 -0
  140. package/lib/src/customtypes/widgets/nestable/Date.js +21 -0
  141. package/lib/src/customtypes/widgets/nestable/Embed.d.ts +19 -0
  142. package/lib/src/customtypes/widgets/nestable/Embed.js +21 -0
  143. package/lib/src/customtypes/widgets/nestable/GeoPoint.d.ts +15 -0
  144. package/lib/src/customtypes/widgets/nestable/GeoPoint.js +19 -0
  145. package/lib/src/customtypes/widgets/nestable/Image.d.ts +44 -0
  146. package/lib/src/customtypes/widgets/nestable/Image.js +29 -0
  147. package/lib/src/customtypes/widgets/nestable/IntegrationField.d.ts +19 -0
  148. package/lib/src/customtypes/widgets/nestable/IntegrationField.js +21 -0
  149. package/lib/src/customtypes/widgets/nestable/Link.d.ts +196 -0
  150. package/lib/src/customtypes/widgets/nestable/Link.js +167 -0
  151. package/lib/src/customtypes/widgets/nestable/NestableWidget.d.ts +217 -0
  152. package/lib/src/customtypes/widgets/nestable/NestableWidget.js +39 -0
  153. package/lib/src/customtypes/widgets/nestable/Number.d.ts +23 -0
  154. package/lib/src/customtypes/widgets/nestable/Number.js +24 -0
  155. package/lib/src/customtypes/widgets/nestable/Range.d.ts +23 -0
  156. package/lib/src/customtypes/widgets/nestable/Range.js +24 -0
  157. package/lib/src/customtypes/widgets/nestable/RichText.d.ts +73 -0
  158. package/lib/src/customtypes/widgets/nestable/RichText.js +131 -0
  159. package/lib/src/customtypes/widgets/nestable/Select.d.ts +21 -0
  160. package/lib/src/customtypes/widgets/nestable/Select.js +22 -0
  161. package/lib/src/customtypes/widgets/nestable/Separator.d.ts +14 -0
  162. package/lib/src/customtypes/widgets/nestable/Separator.js +18 -0
  163. package/lib/src/customtypes/widgets/nestable/Table.d.ts +21 -0
  164. package/lib/src/customtypes/widgets/nestable/Table.js +30 -0
  165. package/lib/src/customtypes/widgets/nestable/Text.d.ts +19 -0
  166. package/lib/src/customtypes/widgets/nestable/Text.js +21 -0
  167. package/lib/src/customtypes/widgets/nestable/Timestamp.d.ts +19 -0
  168. package/lib/src/customtypes/widgets/nestable/Timestamp.js +21 -0
  169. package/lib/src/customtypes/widgets/nestable/index.d.ts +17 -0
  170. package/lib/src/customtypes/widgets/nestable/index.js +20 -0
  171. package/lib/src/customtypes/widgets/shared/ImageConstraint.d.ts +7 -0
  172. package/lib/src/customtypes/widgets/shared/ImageConstraint.js +31 -0
  173. package/lib/src/customtypes/widgets/shared/index.d.ts +1 -0
  174. package/lib/src/customtypes/widgets/shared/index.js +8 -0
  175. package/lib/src/customtypes/widgets/slices/CompositeSlice.d.ts +455 -0
  176. package/lib/src/customtypes/widgets/slices/CompositeSlice.js +63 -0
  177. package/lib/src/customtypes/widgets/slices/LegacySlice.d.ts +442 -0
  178. package/lib/src/customtypes/widgets/slices/LegacySlice.js +12 -0
  179. package/lib/src/customtypes/widgets/slices/SharedSlice.d.ts +1807 -0
  180. package/lib/src/customtypes/widgets/slices/SharedSlice.js +118 -0
  181. package/lib/src/customtypes/widgets/slices/SharedSliceRef.d.ts +5 -0
  182. package/lib/src/customtypes/widgets/slices/SharedSliceRef.js +9 -0
  183. package/lib/src/customtypes/widgets/slices/Slice.d.ts +6 -0
  184. package/lib/src/customtypes/widgets/slices/Slice.js +2 -0
  185. package/lib/src/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +1259 -0
  186. package/lib/src/customtypes/widgets/slices/SlicePrimaryWidget.js +10 -0
  187. package/lib/src/customtypes/widgets/slices/Slices.d.ts +5917 -0
  188. package/lib/src/customtypes/widgets/slices/Slices.js +146 -0
  189. package/lib/src/customtypes/widgets/slices/SlicesTypes.d.ts +6 -0
  190. package/lib/src/customtypes/widgets/slices/SlicesTypes.js +11 -0
  191. package/lib/src/customtypes/widgets/slices/index.d.ts +8 -0
  192. package/lib/src/customtypes/widgets/slices/index.js +11 -0
  193. package/lib/src/utils/Arrays.d.ts +1 -0
  194. package/lib/src/utils/Arrays.js +13 -0
  195. package/lib/src/utils/DocumentId.d.ts +2 -0
  196. package/lib/src/utils/DocumentId.js +7 -0
  197. package/lib/src/utils/Objects.d.ts +8 -0
  198. package/lib/src/utils/Objects.js +42 -0
  199. package/lib/src/utils/index.d.ts +3 -0
  200. package/lib/src/utils/index.js +7 -0
  201. package/lib/src/validators/BasicTypes.d.ts +10 -0
  202. package/lib/src/validators/BasicTypes.js +25 -0
  203. package/lib/src/validators/DateFromString.d.ts +3 -0
  204. package/lib/src/validators/DateFromString.js +11 -0
  205. package/lib/src/validators/DateFromStringOrNumber.d.ts +3 -0
  206. package/lib/src/validators/DateFromStringOrNumber.js +10 -0
  207. package/lib/src/validators/DateFromTsMs.d.ts +3 -0
  208. package/lib/src/validators/DateFromTsMs.js +10 -0
  209. package/lib/src/validators/DefaultOrElse.d.ts +5 -0
  210. package/lib/src/validators/DefaultOrElse.js +21 -0
  211. package/lib/src/validators/IntFromNumber.d.ts +5 -0
  212. package/lib/src/validators/IntFromNumber.js +14 -0
  213. package/lib/src/validators/IntFromPixels.d.ts +8 -0
  214. package/lib/src/validators/IntFromPixels.js +24 -0
  215. package/lib/src/validators/NonEmptyString.d.ts +3 -0
  216. package/lib/src/validators/NonEmptyString.js +6 -0
  217. package/lib/src/validators/NonEmptyStringOrNull.d.ts +3 -0
  218. package/lib/src/validators/NonEmptyStringOrNull.js +15 -0
  219. package/lib/src/validators/NumberOrNull.d.ts +3 -0
  220. package/lib/src/validators/NumberOrNull.js +6 -0
  221. package/lib/src/validators/NumberRange.d.ts +32 -0
  222. package/lib/src/validators/NumberRange.js +40 -0
  223. package/lib/src/validators/StringFromBoolean.d.ts +5 -0
  224. package/lib/src/validators/StringFromBoolean.js +10 -0
  225. package/lib/src/validators/StringFromNumber.d.ts +5 -0
  226. package/lib/src/validators/StringFromNumber.js +10 -0
  227. package/lib/src/validators/StringOrNull.d.ts +3 -0
  228. package/lib/src/validators/StringOrNull.js +6 -0
  229. package/lib/src/validators/TrimmedString.d.ts +5 -0
  230. package/lib/src/validators/TrimmedString.js +23 -0
  231. package/lib/src/validators/function.d.ts +34 -0
  232. package/lib/src/validators/function.js +100 -0
  233. package/lib/src/validators/index.d.ts +15 -0
  234. package/lib/src/validators/index.js +31 -0
  235. package/package.json +1 -1
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NestableLegacy = exports.isNestableContent = exports.NestableContentDefaultValue = exports.NestableContent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const Either_1 = require("fp-ts/lib/Either");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ const EmptyContent_1 = require("../EmptyContent");
8
+ const BooleanContent_1 = require("./BooleanContent");
9
+ const EmbedContent_1 = require("./EmbedContent");
10
+ const FieldContent_1 = require("./FieldContent");
11
+ const common_1 = require("./FieldContent/common");
12
+ const GeoPointContent_1 = require("./GeoPointContent");
13
+ const ImageContent_1 = require("./ImageContent");
14
+ const IntegrationFieldContent_1 = require("./IntegrationFieldContent");
15
+ const LinkContent_1 = require("./LinkContent");
16
+ const RepeatableContent_1 = require("./RepeatableContent");
17
+ const RichTextContent_1 = require("./RichTextContent");
18
+ const SeparatorContent_1 = require("./SeparatorContent");
19
+ const TableContent_1 = require("./TableContent");
20
+ exports.NestableContent = t.union([
21
+ EmptyContent_1.EmptyContent,
22
+ BooleanContent_1.BooleanContent,
23
+ EmbedContent_1.EmbedContent,
24
+ FieldContent_1.TextContent,
25
+ FieldContent_1.TimestampContent,
26
+ FieldContent_1.SelectContent,
27
+ FieldContent_1.RangeContent,
28
+ FieldContent_1.NumberContent,
29
+ FieldContent_1.DateContent,
30
+ FieldContent_1.ColorContent,
31
+ GeoPointContent_1.GeoPointContent,
32
+ ImageContent_1.ImageContent,
33
+ IntegrationFieldContent_1.IntegrationFieldContent,
34
+ LinkContent_1.LinkContent,
35
+ RichTextContent_1.RichTextContent,
36
+ SeparatorContent_1.SeparatorContent,
37
+ TableContent_1.TableContent,
38
+ RepeatableContent_1.RepeatableContent,
39
+ ]);
40
+ const NestableContentDefaultValue = (widgetDef) => {
41
+ switch (widgetDef.type) {
42
+ case "Boolean":
43
+ return (0, BooleanContent_1.BooleanContentDefaultValue)(widgetDef);
44
+ case "Select":
45
+ return (0, FieldContent_1.SelectContentDefaultValue)(widgetDef);
46
+ default:
47
+ return undefined;
48
+ }
49
+ };
50
+ exports.NestableContentDefaultValue = NestableContentDefaultValue;
51
+ const isNestableContent = (u) => (0, FieldContent_1.isTextContent)(u) ||
52
+ (0, FieldContent_1.isColorContent)(u) ||
53
+ (0, FieldContent_1.isDateContent)(u) ||
54
+ (0, FieldContent_1.isTimestampContent)(u) ||
55
+ (0, FieldContent_1.isNumberContent)(u) ||
56
+ (0, FieldContent_1.isRangeContent)(u) ||
57
+ (0, FieldContent_1.isSelectContent)(u) ||
58
+ (0, GeoPointContent_1.isGeoPointContent)(u) ||
59
+ (0, RichTextContent_1.isRichTextContent)(u) ||
60
+ (0, BooleanContent_1.isBooleanContent)(u) ||
61
+ (0, EmbedContent_1.isEmbedContent)(u) ||
62
+ (0, ImageContent_1.isImageContent)(u) ||
63
+ (0, IntegrationFieldContent_1.isIntegrationFieldContent)(u) ||
64
+ (0, LinkContent_1.isLinkContent)(u) ||
65
+ (0, SeparatorContent_1.isSeparatorContent)(u) ||
66
+ (0, TableContent_1.isTableContent)(u) ||
67
+ (0, EmptyContent_1.isEmptyContent)(u) ||
68
+ (0, RepeatableContent_1.isRepeatableContent)(u);
69
+ exports.isNestableContent = isNestableContent;
70
+ const NestableLegacy = (ctx) => {
71
+ return {
72
+ decode(value) {
73
+ if (!ctx.fieldType)
74
+ return;
75
+ const nullValue = (0, EmptyContent_1.EmptyLegacy)(ctx.fieldType).decode(value);
76
+ if ((0, Either_1.isRight)(nullValue))
77
+ return nullValue;
78
+ const codec = (() => {
79
+ switch (ctx.fieldType) {
80
+ case "Text":
81
+ return (0, FieldContent_1.TextLegacy)(ctx);
82
+ case "Color":
83
+ return (0, FieldContent_1.ColorLegacy)(ctx);
84
+ case "Date":
85
+ return (0, FieldContent_1.DateLegacy)(ctx);
86
+ case "Timestamp":
87
+ return (0, FieldContent_1.TimestampLegacy)(ctx);
88
+ case "Number":
89
+ return (0, FieldContent_1.NumberLegacy)(ctx);
90
+ case "Range":
91
+ return (0, FieldContent_1.RangeLegacy)(ctx);
92
+ case "Select":
93
+ return (0, FieldContent_1.SelectLegacy)(ctx);
94
+ case "GeoPoint":
95
+ return (0, GeoPointContent_1.GeoPointLegacy)(ctx);
96
+ case "StructuredText":
97
+ return (0, RichTextContent_1.RichTextLegacy)(ctx);
98
+ case "Boolean":
99
+ return (0, BooleanContent_1.BooleanLegacy)(ctx);
100
+ case "Embed":
101
+ return (0, EmbedContent_1.EmbedLegacy)(ctx);
102
+ case "Image":
103
+ return (0, ImageContent_1.ImageLegacy)(ctx);
104
+ case "IntegrationFields":
105
+ return (0, IntegrationFieldContent_1.IntegrationFieldLegacy)(ctx);
106
+ case "Link":
107
+ return (0, LinkContent_1.LinkContentLegacy)(ctx);
108
+ case "Separator":
109
+ return (0, SeparatorContent_1.SeparatorLegacy)(ctx);
110
+ case "Table":
111
+ return (0, TableContent_1.TableLegacy)(ctx);
112
+ case "Repeatable.Link":
113
+ return (0, RepeatableContent_1.RepeatableLegacy)(ctx, "Link");
114
+ default:
115
+ return;
116
+ }
117
+ })();
118
+ if (!codec)
119
+ return;
120
+ return codec.decode(value);
121
+ },
122
+ encode(value) {
123
+ switch (value.__TYPE__) {
124
+ case common_1.FieldContentType: {
125
+ if (value.type === "Text")
126
+ return (0, FieldContent_1.TextLegacy)(ctx).encode(value);
127
+ if (value.type === "Color")
128
+ return (0, FieldContent_1.ColorLegacy)(ctx).encode(value);
129
+ if (value.type === "Range")
130
+ return (0, FieldContent_1.RangeLegacy)(ctx).encode(value);
131
+ if (value.type === "Date")
132
+ return (0, FieldContent_1.DateLegacy)(ctx).encode(value);
133
+ if (value.type === "Number")
134
+ return (0, FieldContent_1.NumberLegacy)(ctx).encode(value);
135
+ if (value.type === "Timestamp")
136
+ return (0, FieldContent_1.TimestampLegacy)(ctx).encode(value);
137
+ if (value.type === "Select")
138
+ return (0, FieldContent_1.SelectLegacy)(ctx).encode(value);
139
+ return;
140
+ }
141
+ case GeoPointContent_1.GeoPointContentType:
142
+ return (0, GeoPointContent_1.GeoPointLegacy)(ctx).encode(value);
143
+ case RichTextContent_1.RichTextContentType:
144
+ return (0, RichTextContent_1.RichTextLegacy)(ctx).encode(value);
145
+ case EmbedContent_1.EmbedContentType:
146
+ return (0, EmbedContent_1.EmbedLegacy)(ctx).encode(value);
147
+ case BooleanContent_1.BooleanContentType:
148
+ return (0, BooleanContent_1.BooleanLegacy)(ctx).encode(value);
149
+ case ImageContent_1.ImageContentType:
150
+ return (0, ImageContent_1.ImageLegacy)(ctx).encode(value);
151
+ case IntegrationFieldContent_1.IntegrationFieldContentType:
152
+ return (0, IntegrationFieldContent_1.IntegrationFieldLegacy)(ctx).encode(value);
153
+ case LinkContent_1.LinkContentType:
154
+ return (0, LinkContent_1.LinkContentLegacy)(ctx).encode(value);
155
+ case SeparatorContent_1.SeparatorContentType:
156
+ return (0, SeparatorContent_1.SeparatorLegacy)(ctx).encode(value);
157
+ case TableContent_1.TableContentType:
158
+ return (0, TableContent_1.TableLegacy)(ctx).encode(value);
159
+ case "RepeatableContent":
160
+ return (0, RepeatableContent_1.RepeatableLegacy)(ctx, value.type).encode(value);
161
+ default:
162
+ return;
163
+ }
164
+ },
165
+ };
166
+ };
167
+ exports.NestableLegacy = NestableLegacy;
@@ -0,0 +1,176 @@
1
+ import * as t from "io-ts";
2
+ import type { ContentPath, TraverseWidgetContentFn } from "../../../_internal/utils";
3
+ import type { Link, NestableWidget } from "../../../customtypes";
4
+ import type { LegacyContentCtx, WithTypes } from "../../LegacyContentCtx";
5
+ export declare const RepeatableContent: t.ExactC<t.TypeC<{
6
+ __TYPE__: t.LiteralC<"RepeatableContent">;
7
+ type: t.LiteralC<"Link">;
8
+ value: t.ArrayC<t.IntersectionC<[t.ExactC<t.TypeC<{
9
+ key: t.Type<string, string, unknown>;
10
+ }>>, t.ExactC<t.TypeC<{
11
+ __TYPE__: t.LiteralC<"LinkContent">;
12
+ value: t.UnionC<[t.IntersectionC<[t.ExactC<t.TypeC<{
13
+ __TYPE__: t.LiteralC<"ImageLink">;
14
+ }>>, t.IntersectionC<[t.UnionC<[t.IntersectionC<[t.ExactC<t.TypeC<{
15
+ kind: t.Type<"image", "image", unknown>;
16
+ id: t.StringC;
17
+ url: t.StringC;
18
+ height: t.StringC;
19
+ width: t.StringC;
20
+ size: t.StringC;
21
+ name: t.StringC;
22
+ }>>, t.ExactC<t.PartialC<{
23
+ date: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
24
+ }>>]>, t.ExactC<t.TypeC<{
25
+ kind: t.LiteralC<"image">;
26
+ }>>]>, t.ExactC<t.PartialC<{
27
+ text: t.StringC;
28
+ variant: t.StringC;
29
+ }>>]>]>, t.IntersectionC<[t.ExactC<t.TypeC<{
30
+ __TYPE__: t.LiteralC<"FileLink">;
31
+ }>>, t.IntersectionC<[t.UnionC<[t.ExactC<t.IntersectionC<[t.TypeC<{
32
+ kind: t.Type<"file", "file", unknown>;
33
+ id: t.StringC;
34
+ url: t.StringC;
35
+ name: t.StringC;
36
+ size: t.StringC;
37
+ }>, t.PartialC<{
38
+ date: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
39
+ }>]>>, t.ExactC<t.TypeC<{
40
+ kind: t.LiteralC<"file">;
41
+ }>>]>, t.ExactC<t.PartialC<{
42
+ text: t.StringC;
43
+ variant: t.StringC;
44
+ }>>]>]>, t.IntersectionC<[t.ExactC<t.TypeC<{
45
+ __TYPE__: t.LiteralC<"DocumentLink">;
46
+ }>>, t.IntersectionC<[t.UnionC<[t.ExactC<t.TypeC<{
47
+ id: t.Type<string, string, unknown>;
48
+ }>>, t.ExactC<t.TypeC<{
49
+ kind: t.LiteralC<"document">;
50
+ }>>]>, t.ExactC<t.PartialC<{
51
+ text: t.StringC;
52
+ variant: t.StringC;
53
+ }>>]>]>, t.IntersectionC<[t.ExactC<t.TypeC<{
54
+ __TYPE__: t.LiteralC<"ExternalLink">;
55
+ }>>, t.IntersectionC<[t.UnionC<[t.ExactC<t.IntersectionC<[t.TypeC<{
56
+ url: t.StringC;
57
+ }>, t.PartialC<{
58
+ kind: t.LiteralC<"web">;
59
+ target: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
60
+ preview: t.UnionC<[t.Type<{
61
+ title?: string;
62
+ }, {
63
+ title?: string;
64
+ }, unknown>, t.NullC, t.UndefinedC]>;
65
+ }>]>>, t.ExactC<t.TypeC<{
66
+ kind: t.LiteralC<"web">;
67
+ }>>]>, t.ExactC<t.PartialC<{
68
+ text: t.StringC;
69
+ variant: t.StringC;
70
+ }>>]>]>, t.IntersectionC<[t.ExactC<t.TypeC<{
71
+ __TYPE__: t.LiteralC<"MediaLink">;
72
+ }>>, t.IntersectionC<[t.ExactC<t.TypeC<{
73
+ kind: t.LiteralC<"media">;
74
+ }>>, t.ExactC<t.PartialC<{
75
+ text: t.StringC;
76
+ variant: t.StringC;
77
+ }>>]>]>, t.IntersectionC<[t.ExactC<t.TypeC<{
78
+ __TYPE__: t.LiteralC<"AnyLink">;
79
+ }>>, t.ExactC<t.IntersectionC<[t.TypeC<{
80
+ kind: t.LiteralC<"any">;
81
+ }>, t.PartialC<{
82
+ text: t.StringC;
83
+ variant: t.StringC;
84
+ }>]>>]>]>;
85
+ }>>]>>;
86
+ }>>;
87
+ export declare type RepeatableContent = t.TypeOf<typeof RepeatableContent>;
88
+ export declare const isRepeatableContent: (u: unknown) => u is {
89
+ __TYPE__: "RepeatableContent";
90
+ type: "Link";
91
+ value: ({
92
+ key: string;
93
+ } & {
94
+ __TYPE__: "LinkContent";
95
+ value: ({
96
+ __TYPE__: "ImageLink";
97
+ } & ((({
98
+ kind: "image";
99
+ id: string;
100
+ url: string;
101
+ height: string;
102
+ width: string;
103
+ size: string;
104
+ name: string;
105
+ } & {
106
+ date?: string | null | undefined;
107
+ }) | {
108
+ kind: "image";
109
+ }) & {
110
+ text?: string;
111
+ variant?: string;
112
+ })) | ({
113
+ __TYPE__: "FileLink";
114
+ } & ((({
115
+ kind: "file";
116
+ id: string;
117
+ url: string;
118
+ name: string;
119
+ size: string;
120
+ } & {
121
+ date?: string | null | undefined;
122
+ }) | {
123
+ kind: "file";
124
+ }) & {
125
+ text?: string;
126
+ variant?: string;
127
+ })) | ({
128
+ __TYPE__: "MediaLink";
129
+ } & {
130
+ kind: "media";
131
+ } & {
132
+ text?: string;
133
+ variant?: string;
134
+ }) | ({
135
+ __TYPE__: "DocumentLink";
136
+ } & (({
137
+ id: string;
138
+ } | {
139
+ kind: "document";
140
+ }) & {
141
+ text?: string;
142
+ variant?: string;
143
+ })) | ({
144
+ __TYPE__: "ExternalLink";
145
+ } & ((({
146
+ url: string;
147
+ } & {
148
+ kind?: "web";
149
+ target?: string | null | undefined;
150
+ preview?: {
151
+ title?: string;
152
+ } | null | undefined;
153
+ }) | {
154
+ kind: "web";
155
+ }) & {
156
+ text?: string;
157
+ variant?: string;
158
+ })) | ({
159
+ __TYPE__: "AnyLink";
160
+ } & {
161
+ kind: "any";
162
+ } & {
163
+ text?: string;
164
+ variant?: string;
165
+ });
166
+ })[];
167
+ };
168
+ export declare const RepeatableLegacy: (ctx: LegacyContentCtx, fieldType: "Link") => t.Type<RepeatableContent, WithTypes<Array<unknown>>, unknown>;
169
+ export declare type RepeatableCustomType = Link;
170
+ export declare function traverseRepeatableContent({ path, key, apiId, model, content, }: {
171
+ path: ContentPath;
172
+ key: string;
173
+ apiId: string;
174
+ content: RepeatableContent;
175
+ model?: NestableWidget | undefined;
176
+ }): (transform: TraverseWidgetContentFn) => RepeatableContent | undefined;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traverseRepeatableContent = exports.RepeatableLegacy = exports.isRepeatableContent = exports.RepeatableContent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fp_ts_1 = require("fp-ts");
6
+ const Either_1 = require("fp-ts/lib/Either");
7
+ const function_1 = require("fp-ts/lib/function");
8
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
9
+ const utils_1 = require("../../utils");
10
+ const LinkContent_1 = require("./LinkContent");
11
+ const RepeatableContentType = "RepeatableContent";
12
+ exports.RepeatableContent = t.strict({
13
+ __TYPE__: t.literal(RepeatableContentType),
14
+ type: t.literal("Link"),
15
+ value: t.array(LinkContent_1.LinkContent),
16
+ });
17
+ const isRepeatableContent = (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === RepeatableContentType;
18
+ exports.isRepeatableContent = isRepeatableContent;
19
+ const RepeatableLegacy = (ctx, fieldType) => {
20
+ return new t.Type("RepeatableLegacy", exports.isRepeatableContent, (items) => {
21
+ const parsed = (0, function_1.pipe)(t.array(t.unknown).decode(items), fp_ts_1.either.map((items) => {
22
+ const parsedItems = items.reduce((acc, item) => {
23
+ let result;
24
+ switch (fieldType) {
25
+ case "Link":
26
+ result = (0, LinkContent_1.LinkContentLegacy)(ctx).decode(item);
27
+ break;
28
+ }
29
+ if (!result)
30
+ return acc;
31
+ if ((0, Either_1.isLeft)(result))
32
+ return acc;
33
+ return [...acc, result.right];
34
+ }, []);
35
+ return {
36
+ value: parsedItems,
37
+ type: fieldType,
38
+ __TYPE__: "RepeatableContent",
39
+ };
40
+ }));
41
+ return parsed;
42
+ }, (r) => {
43
+ const res = t.array(LinkContent_1.LinkContent).encode(r.value);
44
+ const encodedItems = res.reduce((acc, item) => {
45
+ let encoded;
46
+ switch (item.__TYPE__) {
47
+ case LinkContent_1.LinkContentType:
48
+ encoded = (0, LinkContent_1.LinkContentLegacy)(ctx).encode(item);
49
+ break;
50
+ }
51
+ if (!encoded)
52
+ return acc;
53
+ return [...acc, encoded];
54
+ }, []);
55
+ return {
56
+ content: encodedItems.map((encodedItem) => encodedItem.content),
57
+ types: { [ctx.keyOfType]: `Repeatable.${fieldType}` },
58
+ keys: encodedItems.reduce((acc, item) => ({ ...acc, ...item.keys }), {}),
59
+ };
60
+ });
61
+ };
62
+ exports.RepeatableLegacy = RepeatableLegacy;
63
+ function traverseRepeatableContent({ path, key, apiId, model, content, }) {
64
+ return (transform) => {
65
+ const items = content.value.reduce((acc, fieldContent, index) => {
66
+ const itemPath = path.concat([
67
+ { key: index.toString(), type: "Widget" },
68
+ ]);
69
+ // Content inside repeatable can't be repeatable.
70
+ const newModel = (model === null || model === void 0 ? void 0 : model.type) === "Link" && model.config
71
+ ? {
72
+ ...model,
73
+ config: { ...model.config, repeat: false },
74
+ }
75
+ : model;
76
+ const transformedField = transform({
77
+ path: itemPath,
78
+ key: key,
79
+ apiId: apiId,
80
+ model: newModel,
81
+ content: fieldContent,
82
+ });
83
+ // Can happen if the transform function returns undefined to filter out a field
84
+ if (!transformedField)
85
+ return acc;
86
+ // If the transformed field is not a link content, we don't include it
87
+ if (!(0, LinkContent_1.isLinkContent)(transformedField))
88
+ return acc;
89
+ return acc.concat(transformedField);
90
+ }, []);
91
+ return transform({
92
+ path,
93
+ key,
94
+ apiId,
95
+ model,
96
+ content: {
97
+ __TYPE__: content.__TYPE__,
98
+ type: content.type,
99
+ value: items,
100
+ },
101
+ });
102
+ };
103
+ }
104
+ exports.traverseRepeatableContent = traverseRepeatableContent;