@se-studio/contentful-rest-api 0.0.0-next16-20260822103555

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 (472) hide show
  1. package/CHANGELOG.md +2036 -0
  2. package/README.md +764 -0
  3. package/dist/api/article-type.d.ts +37 -0
  4. package/dist/api/article-type.d.ts.map +1 -0
  5. package/dist/api/article-type.js +140 -0
  6. package/dist/api/article-type.js.map +1 -0
  7. package/dist/api/article.d.ts +32 -0
  8. package/dist/api/article.d.ts.map +1 -0
  9. package/dist/api/article.js +43 -0
  10. package/dist/api/article.js.map +1 -0
  11. package/dist/api/asset.d.ts +28 -0
  12. package/dist/api/asset.d.ts.map +1 -0
  13. package/dist/api/asset.js +56 -0
  14. package/dist/api/asset.js.map +1 -0
  15. package/dist/api/banner.d.ts +8 -0
  16. package/dist/api/banner.d.ts.map +1 -0
  17. package/dist/api/banner.js +96 -0
  18. package/dist/api/banner.js.map +1 -0
  19. package/dist/api/breadcrumb.d.ts +40 -0
  20. package/dist/api/breadcrumb.d.ts.map +1 -0
  21. package/dist/api/breadcrumb.js +60 -0
  22. package/dist/api/breadcrumb.js.map +1 -0
  23. package/dist/api/componentPreview.d.ts +59 -0
  24. package/dist/api/componentPreview.d.ts.map +1 -0
  25. package/dist/api/componentPreview.js +88 -0
  26. package/dist/api/componentPreview.js.map +1 -0
  27. package/dist/api/context.d.ts +24 -0
  28. package/dist/api/context.d.ts.map +1 -0
  29. package/dist/api/context.js +73 -0
  30. package/dist/api/context.js.map +1 -0
  31. package/dist/api/custom-type.d.ts +37 -0
  32. package/dist/api/custom-type.d.ts.map +1 -0
  33. package/dist/api/custom-type.js +44 -0
  34. package/dist/api/custom-type.js.map +1 -0
  35. package/dist/api/document.d.ts +8 -0
  36. package/dist/api/document.d.ts.map +1 -0
  37. package/dist/api/document.js +84 -0
  38. package/dist/api/document.js.map +1 -0
  39. package/dist/api/helpers.d.ts +59 -0
  40. package/dist/api/helpers.d.ts.map +1 -0
  41. package/dist/api/helpers.js +313 -0
  42. package/dist/api/helpers.js.map +1 -0
  43. package/dist/api/index.d.ts +33 -0
  44. package/dist/api/index.d.ts.map +1 -0
  45. package/dist/api/index.js +37 -0
  46. package/dist/api/index.js.map +1 -0
  47. package/dist/api/links.d.ts +124 -0
  48. package/dist/api/links.d.ts.map +1 -0
  49. package/dist/api/links.js +307 -0
  50. package/dist/api/links.js.map +1 -0
  51. package/dist/api/listing-fetch-params.d.ts +70 -0
  52. package/dist/api/listing-fetch-params.d.ts.map +1 -0
  53. package/dist/api/listing-fetch-params.js +124 -0
  54. package/dist/api/listing-fetch-params.js.map +1 -0
  55. package/dist/api/media-library.d.ts +59 -0
  56. package/dist/api/media-library.d.ts.map +1 -0
  57. package/dist/api/media-library.js +315 -0
  58. package/dist/api/media-library.js.map +1 -0
  59. package/dist/api/navigation.d.ts +10 -0
  60. package/dist/api/navigation.d.ts.map +1 -0
  61. package/dist/api/navigation.js +18 -0
  62. package/dist/api/navigation.js.map +1 -0
  63. package/dist/api/page.d.ts +15 -0
  64. package/dist/api/page.d.ts.map +1 -0
  65. package/dist/api/page.js +39 -0
  66. package/dist/api/page.js.map +1 -0
  67. package/dist/api/person.d.ts +37 -0
  68. package/dist/api/person.d.ts.map +1 -0
  69. package/dist/api/person.js +135 -0
  70. package/dist/api/person.js.map +1 -0
  71. package/dist/api/preview-types.d.ts +65 -0
  72. package/dist/api/preview-types.d.ts.map +1 -0
  73. package/dist/api/preview-types.js +7 -0
  74. package/dist/api/preview-types.js.map +1 -0
  75. package/dist/api/preview.d.ts +49 -0
  76. package/dist/api/preview.d.ts.map +1 -0
  77. package/dist/api/preview.js +261 -0
  78. package/dist/api/preview.js.map +1 -0
  79. package/dist/api/redirects.d.ts +16 -0
  80. package/dist/api/redirects.d.ts.map +1 -0
  81. package/dist/api/redirects.js +110 -0
  82. package/dist/api/redirects.js.map +1 -0
  83. package/dist/api/related-articles.d.ts +28 -0
  84. package/dist/api/related-articles.d.ts.map +1 -0
  85. package/dist/api/related-articles.js +147 -0
  86. package/dist/api/related-articles.js.map +1 -0
  87. package/dist/api/server-asset.d.ts +67 -0
  88. package/dist/api/server-asset.d.ts.map +1 -0
  89. package/dist/api/server-asset.js +106 -0
  90. package/dist/api/server-asset.js.map +1 -0
  91. package/dist/api/sitemap.d.ts +131 -0
  92. package/dist/api/sitemap.d.ts.map +1 -0
  93. package/dist/api/sitemap.js +201 -0
  94. package/dist/api/sitemap.js.map +1 -0
  95. package/dist/api/tag-type.d.ts +32 -0
  96. package/dist/api/tag-type.d.ts.map +1 -0
  97. package/dist/api/tag-type.js +123 -0
  98. package/dist/api/tag-type.js.map +1 -0
  99. package/dist/api/tag.d.ts +37 -0
  100. package/dist/api/tag.d.ts.map +1 -0
  101. package/dist/api/tag.js +132 -0
  102. package/dist/api/tag.js.map +1 -0
  103. package/dist/api/template.d.ts +61 -0
  104. package/dist/api/template.d.ts.map +1 -0
  105. package/dist/api/template.js +94 -0
  106. package/dist/api/template.js.map +1 -0
  107. package/dist/api/types.d.ts +113 -0
  108. package/dist/api/types.d.ts.map +1 -0
  109. package/dist/api/types.js +2 -0
  110. package/dist/api/types.js.map +1 -0
  111. package/dist/baseTypes/baseAlternatePageContent.d.ts +32 -0
  112. package/dist/baseTypes/baseAlternatePageContent.d.ts.map +1 -0
  113. package/dist/baseTypes/baseAlternatePageContent.js +2 -0
  114. package/dist/baseTypes/baseAlternatePageContent.js.map +1 -0
  115. package/dist/baseTypes/baseArticle.d.ts +206 -0
  116. package/dist/baseTypes/baseArticle.d.ts.map +1 -0
  117. package/dist/baseTypes/baseArticle.js +2 -0
  118. package/dist/baseTypes/baseArticle.js.map +1 -0
  119. package/dist/baseTypes/baseArticleType.d.ts +177 -0
  120. package/dist/baseTypes/baseArticleType.d.ts.map +1 -0
  121. package/dist/baseTypes/baseArticleType.js +2 -0
  122. package/dist/baseTypes/baseArticleType.js.map +1 -0
  123. package/dist/baseTypes/baseBanner.d.ts +113 -0
  124. package/dist/baseTypes/baseBanner.d.ts.map +1 -0
  125. package/dist/baseTypes/baseBanner.js +2 -0
  126. package/dist/baseTypes/baseBanner.js.map +1 -0
  127. package/dist/baseTypes/baseCollection.d.ts +132 -0
  128. package/dist/baseTypes/baseCollection.d.ts.map +1 -0
  129. package/dist/baseTypes/baseCollection.js +2 -0
  130. package/dist/baseTypes/baseCollection.js.map +1 -0
  131. package/dist/baseTypes/baseComponent.d.ts +130 -0
  132. package/dist/baseTypes/baseComponent.d.ts.map +1 -0
  133. package/dist/baseTypes/baseComponent.js +2 -0
  134. package/dist/baseTypes/baseComponent.js.map +1 -0
  135. package/dist/baseTypes/baseCustomType.d.ts +147 -0
  136. package/dist/baseTypes/baseCustomType.d.ts.map +1 -0
  137. package/dist/baseTypes/baseCustomType.js +2 -0
  138. package/dist/baseTypes/baseCustomType.js.map +1 -0
  139. package/dist/baseTypes/baseDocument.d.ts +70 -0
  140. package/dist/baseTypes/baseDocument.d.ts.map +1 -0
  141. package/dist/baseTypes/baseDocument.js +2 -0
  142. package/dist/baseTypes/baseDocument.js.map +1 -0
  143. package/dist/baseTypes/baseExternalComponent.d.ts +138 -0
  144. package/dist/baseTypes/baseExternalComponent.d.ts.map +1 -0
  145. package/dist/baseTypes/baseExternalComponent.js +2 -0
  146. package/dist/baseTypes/baseExternalComponent.js.map +1 -0
  147. package/dist/baseTypes/baseExternalVideo.d.ts +86 -0
  148. package/dist/baseTypes/baseExternalVideo.d.ts.map +1 -0
  149. package/dist/baseTypes/baseExternalVideo.js +2 -0
  150. package/dist/baseTypes/baseExternalVideo.js.map +1 -0
  151. package/dist/baseTypes/baseHtmlComponent.d.ts +72 -0
  152. package/dist/baseTypes/baseHtmlComponent.d.ts.map +1 -0
  153. package/dist/baseTypes/baseHtmlComponent.js +2 -0
  154. package/dist/baseTypes/baseHtmlComponent.js.map +1 -0
  155. package/dist/baseTypes/baseLink.d.ts +115 -0
  156. package/dist/baseTypes/baseLink.d.ts.map +1 -0
  157. package/dist/baseTypes/baseLink.js +2 -0
  158. package/dist/baseTypes/baseLink.js.map +1 -0
  159. package/dist/baseTypes/baseMedia.d.ts +100 -0
  160. package/dist/baseTypes/baseMedia.d.ts.map +1 -0
  161. package/dist/baseTypes/baseMedia.js +2 -0
  162. package/dist/baseTypes/baseMedia.js.map +1 -0
  163. package/dist/baseTypes/baseNavigation.d.ts +37 -0
  164. package/dist/baseTypes/baseNavigation.d.ts.map +1 -0
  165. package/dist/baseTypes/baseNavigation.js +2 -0
  166. package/dist/baseTypes/baseNavigation.js.map +1 -0
  167. package/dist/baseTypes/baseNavigationItem.d.ts +109 -0
  168. package/dist/baseTypes/baseNavigationItem.d.ts.map +1 -0
  169. package/dist/baseTypes/baseNavigationItem.js +2 -0
  170. package/dist/baseTypes/baseNavigationItem.js.map +1 -0
  171. package/dist/baseTypes/basePage.d.ts +142 -0
  172. package/dist/baseTypes/basePage.d.ts.map +1 -0
  173. package/dist/baseTypes/basePage.js +2 -0
  174. package/dist/baseTypes/basePage.js.map +1 -0
  175. package/dist/baseTypes/basePageVariant.d.ts +145 -0
  176. package/dist/baseTypes/basePageVariant.d.ts.map +1 -0
  177. package/dist/baseTypes/basePageVariant.js +2 -0
  178. package/dist/baseTypes/basePageVariant.js.map +1 -0
  179. package/dist/baseTypes/basePerson.d.ts +160 -0
  180. package/dist/baseTypes/basePerson.d.ts.map +1 -0
  181. package/dist/baseTypes/basePerson.js +2 -0
  182. package/dist/baseTypes/basePerson.js.map +1 -0
  183. package/dist/baseTypes/baseRedirect.d.ts +69 -0
  184. package/dist/baseTypes/baseRedirect.d.ts.map +1 -0
  185. package/dist/baseTypes/baseRedirect.js +2 -0
  186. package/dist/baseTypes/baseRedirect.js.map +1 -0
  187. package/dist/baseTypes/baseSchema.d.ts +19 -0
  188. package/dist/baseTypes/baseSchema.d.ts.map +1 -0
  189. package/dist/baseTypes/baseSchema.js +2 -0
  190. package/dist/baseTypes/baseSchema.js.map +1 -0
  191. package/dist/baseTypes/baseShared.d.ts +25 -0
  192. package/dist/baseTypes/baseShared.d.ts.map +1 -0
  193. package/dist/baseTypes/baseShared.js +2 -0
  194. package/dist/baseTypes/baseShared.js.map +1 -0
  195. package/dist/baseTypes/baseTag.d.ts +129 -0
  196. package/dist/baseTypes/baseTag.d.ts.map +1 -0
  197. package/dist/baseTypes/baseTag.js +2 -0
  198. package/dist/baseTypes/baseTag.js.map +1 -0
  199. package/dist/baseTypes/baseTagType.d.ts +70 -0
  200. package/dist/baseTypes/baseTagType.d.ts.map +1 -0
  201. package/dist/baseTypes/baseTagType.js +2 -0
  202. package/dist/baseTypes/baseTagType.js.map +1 -0
  203. package/dist/baseTypes/baseTemplate.d.ts +77 -0
  204. package/dist/baseTypes/baseTemplate.d.ts.map +1 -0
  205. package/dist/baseTypes/baseTemplate.js +2 -0
  206. package/dist/baseTypes/baseTemplate.js.map +1 -0
  207. package/dist/client.d.ts +145 -0
  208. package/dist/client.d.ts.map +1 -0
  209. package/dist/client.js +322 -0
  210. package/dist/client.js.map +1 -0
  211. package/dist/cms-integrity.d.ts +10 -0
  212. package/dist/cms-integrity.d.ts.map +1 -0
  213. package/dist/cms-integrity.js +7 -0
  214. package/dist/cms-integrity.js.map +1 -0
  215. package/dist/converters/animationEnricher.d.ts +17 -0
  216. package/dist/converters/animationEnricher.d.ts.map +1 -0
  217. package/dist/converters/animationEnricher.js +177 -0
  218. package/dist/converters/animationEnricher.js.map +1 -0
  219. package/dist/converters/article.d.ts +48 -0
  220. package/dist/converters/article.d.ts.map +1 -0
  221. package/dist/converters/article.js +364 -0
  222. package/dist/converters/article.js.map +1 -0
  223. package/dist/converters/asset.d.ts +33 -0
  224. package/dist/converters/asset.d.ts.map +1 -0
  225. package/dist/converters/asset.js +340 -0
  226. package/dist/converters/asset.js.map +1 -0
  227. package/dist/converters/banner.d.ts +10 -0
  228. package/dist/converters/banner.d.ts.map +1 -0
  229. package/dist/converters/banner.js +63 -0
  230. package/dist/converters/banner.js.map +1 -0
  231. package/dist/converters/collection.d.ts +26 -0
  232. package/dist/converters/collection.d.ts.map +1 -0
  233. package/dist/converters/collection.js +52 -0
  234. package/dist/converters/collection.js.map +1 -0
  235. package/dist/converters/component.d.ts +26 -0
  236. package/dist/converters/component.d.ts.map +1 -0
  237. package/dist/converters/component.js +54 -0
  238. package/dist/converters/component.js.map +1 -0
  239. package/dist/converters/customType.d.ts +24 -0
  240. package/dist/converters/customType.d.ts.map +1 -0
  241. package/dist/converters/customType.js +93 -0
  242. package/dist/converters/customType.js.map +1 -0
  243. package/dist/converters/document.d.ts +14 -0
  244. package/dist/converters/document.d.ts.map +1 -0
  245. package/dist/converters/document.js +51 -0
  246. package/dist/converters/document.js.map +1 -0
  247. package/dist/converters/enrichAssets.d.ts +19 -0
  248. package/dist/converters/enrichAssets.d.ts.map +1 -0
  249. package/dist/converters/enrichAssets.js +36 -0
  250. package/dist/converters/enrichAssets.js.map +1 -0
  251. package/dist/converters/externalComponent.d.ts +27 -0
  252. package/dist/converters/externalComponent.d.ts.map +1 -0
  253. package/dist/converters/externalComponent.js +46 -0
  254. package/dist/converters/externalComponent.js.map +1 -0
  255. package/dist/converters/externalVideoEnricher.d.ts +12 -0
  256. package/dist/converters/externalVideoEnricher.d.ts.map +1 -0
  257. package/dist/converters/externalVideoEnricher.js +70 -0
  258. package/dist/converters/externalVideoEnricher.js.map +1 -0
  259. package/dist/converters/helpers.d.ts +173 -0
  260. package/dist/converters/helpers.d.ts.map +1 -0
  261. package/dist/converters/helpers.js +167 -0
  262. package/dist/converters/helpers.js.map +1 -0
  263. package/dist/converters/heroVideoEnricher.d.ts +9 -0
  264. package/dist/converters/heroVideoEnricher.d.ts.map +1 -0
  265. package/dist/converters/heroVideoEnricher.js +108 -0
  266. package/dist/converters/heroVideoEnricher.js.map +1 -0
  267. package/dist/converters/heroVideoEnv.d.ts +14 -0
  268. package/dist/converters/heroVideoEnv.d.ts.map +1 -0
  269. package/dist/converters/heroVideoEnv.js +28 -0
  270. package/dist/converters/heroVideoEnv.js.map +1 -0
  271. package/dist/converters/htmlComponent.d.ts +17 -0
  272. package/dist/converters/htmlComponent.d.ts.map +1 -0
  273. package/dist/converters/htmlComponent.js +33 -0
  274. package/dist/converters/htmlComponent.js.map +1 -0
  275. package/dist/converters/iconCollector.d.ts +36 -0
  276. package/dist/converters/iconCollector.d.ts.map +1 -0
  277. package/dist/converters/iconCollector.js +309 -0
  278. package/dist/converters/iconCollector.js.map +1 -0
  279. package/dist/converters/index.d.ts +26 -0
  280. package/dist/converters/index.d.ts.map +1 -0
  281. package/dist/converters/index.js +21 -0
  282. package/dist/converters/index.js.map +1 -0
  283. package/dist/converters/link.d.ts +11 -0
  284. package/dist/converters/link.d.ts.map +1 -0
  285. package/dist/converters/link.js +109 -0
  286. package/dist/converters/link.js.map +1 -0
  287. package/dist/converters/navigationItem.d.ts +17 -0
  288. package/dist/converters/navigationItem.d.ts.map +1 -0
  289. package/dist/converters/navigationItem.js +126 -0
  290. package/dist/converters/navigationItem.js.map +1 -0
  291. package/dist/converters/page.d.ts +44 -0
  292. package/dist/converters/page.d.ts.map +1 -0
  293. package/dist/converters/page.js +160 -0
  294. package/dist/converters/page.js.map +1 -0
  295. package/dist/converters/pageVariantMerge.d.ts +24 -0
  296. package/dist/converters/pageVariantMerge.d.ts.map +1 -0
  297. package/dist/converters/pageVariantMerge.js +151 -0
  298. package/dist/converters/pageVariantMerge.js.map +1 -0
  299. package/dist/converters/person.d.ts +40 -0
  300. package/dist/converters/person.d.ts.map +1 -0
  301. package/dist/converters/person.js +152 -0
  302. package/dist/converters/person.js.map +1 -0
  303. package/dist/converters/pictureBlurEnricher.d.ts +9 -0
  304. package/dist/converters/pictureBlurEnricher.d.ts.map +1 -0
  305. package/dist/converters/pictureBlurEnricher.js +79 -0
  306. package/dist/converters/pictureBlurEnricher.js.map +1 -0
  307. package/dist/converters/redirect.d.ts +20 -0
  308. package/dist/converters/redirect.d.ts.map +1 -0
  309. package/dist/converters/redirect.js +50 -0
  310. package/dist/converters/redirect.js.map +1 -0
  311. package/dist/converters/resolver.d.ts +26 -0
  312. package/dist/converters/resolver.d.ts.map +1 -0
  313. package/dist/converters/resolver.js +383 -0
  314. package/dist/converters/resolver.js.map +1 -0
  315. package/dist/converters/schema.d.ts +14 -0
  316. package/dist/converters/schema.d.ts.map +1 -0
  317. package/dist/converters/schema.js +25 -0
  318. package/dist/converters/schema.js.map +1 -0
  319. package/dist/converters/svgProcessor.d.ts +58 -0
  320. package/dist/converters/svgProcessor.d.ts.map +1 -0
  321. package/dist/converters/svgProcessor.js +225 -0
  322. package/dist/converters/svgProcessor.js.map +1 -0
  323. package/dist/converters/tag.d.ts +25 -0
  324. package/dist/converters/tag.d.ts.map +1 -0
  325. package/dist/converters/tag.js +170 -0
  326. package/dist/converters/tag.js.map +1 -0
  327. package/dist/converters/tagType.d.ts +15 -0
  328. package/dist/converters/tagType.d.ts.map +1 -0
  329. package/dist/converters/tagType.js +56 -0
  330. package/dist/converters/tagType.js.map +1 -0
  331. package/dist/converters/template.d.ts +31 -0
  332. package/dist/converters/template.d.ts.map +1 -0
  333. package/dist/converters/template.js +53 -0
  334. package/dist/converters/template.js.map +1 -0
  335. package/dist/converters/videoEnricher.d.ts +14 -0
  336. package/dist/converters/videoEnricher.d.ts.map +1 -0
  337. package/dist/converters/videoEnricher.js +85 -0
  338. package/dist/converters/videoEnricher.js.map +1 -0
  339. package/dist/icons/rebuildIconSprite.d.ts +8 -0
  340. package/dist/icons/rebuildIconSprite.d.ts.map +1 -0
  341. package/dist/icons/rebuildIconSprite.js +15 -0
  342. package/dist/icons/rebuildIconSprite.js.map +1 -0
  343. package/dist/index.d.ts +33 -0
  344. package/dist/index.d.ts.map +1 -0
  345. package/dist/index.js +42 -0
  346. package/dist/index.js.map +1 -0
  347. package/dist/navigation/assembly.d.ts +8 -0
  348. package/dist/navigation/assembly.d.ts.map +1 -0
  349. package/dist/navigation/assembly.js +115 -0
  350. package/dist/navigation/assembly.js.map +1 -0
  351. package/dist/navigation/cacheOptions.d.ts +17 -0
  352. package/dist/navigation/cacheOptions.d.ts.map +1 -0
  353. package/dist/navigation/cacheOptions.js +45 -0
  354. package/dist/navigation/cacheOptions.js.map +1 -0
  355. package/dist/navigation/enrichModelNavigation.d.ts +17 -0
  356. package/dist/navigation/enrichModelNavigation.d.ts.map +1 -0
  357. package/dist/navigation/enrichModelNavigation.js +46 -0
  358. package/dist/navigation/enrichModelNavigation.js.map +1 -0
  359. package/dist/navigation/linkIndex.d.ts +10 -0
  360. package/dist/navigation/linkIndex.d.ts.map +1 -0
  361. package/dist/navigation/linkIndex.js +34 -0
  362. package/dist/navigation/linkIndex.js.map +1 -0
  363. package/dist/navigation/listingLinkBundle.d.ts +22 -0
  364. package/dist/navigation/listingLinkBundle.d.ts.map +1 -0
  365. package/dist/navigation/listingLinkBundle.js +88 -0
  366. package/dist/navigation/listingLinkBundle.js.map +1 -0
  367. package/dist/navigation/registry.d.ts +15 -0
  368. package/dist/navigation/registry.d.ts.map +1 -0
  369. package/dist/navigation/registry.js +130 -0
  370. package/dist/navigation/registry.js.map +1 -0
  371. package/dist/navigation/requestCache.d.ts +18 -0
  372. package/dist/navigation/requestCache.d.ts.map +1 -0
  373. package/dist/navigation/requestCache.js +66 -0
  374. package/dist/navigation/requestCache.js.map +1 -0
  375. package/dist/navigation/types.d.ts +45 -0
  376. package/dist/navigation/types.d.ts.map +1 -0
  377. package/dist/navigation/types.js +2 -0
  378. package/dist/navigation/types.js.map +1 -0
  379. package/dist/revalidation/entry-handlers.d.ts +40 -0
  380. package/dist/revalidation/entry-handlers.d.ts.map +1 -0
  381. package/dist/revalidation/entry-handlers.js +144 -0
  382. package/dist/revalidation/entry-handlers.js.map +1 -0
  383. package/dist/revalidation/handlers.d.ts +19 -0
  384. package/dist/revalidation/handlers.d.ts.map +1 -0
  385. package/dist/revalidation/handlers.js +50 -0
  386. package/dist/revalidation/handlers.js.map +1 -0
  387. package/dist/revalidation/index.d.ts +4 -0
  388. package/dist/revalidation/index.d.ts.map +1 -0
  389. package/dist/revalidation/index.js +5 -0
  390. package/dist/revalidation/index.js.map +1 -0
  391. package/dist/revalidation/nextjs-route.d.ts +38 -0
  392. package/dist/revalidation/nextjs-route.d.ts.map +1 -0
  393. package/dist/revalidation/nextjs-route.js +36 -0
  394. package/dist/revalidation/nextjs-route.js.map +1 -0
  395. package/dist/revalidation/route.d.ts +3 -0
  396. package/dist/revalidation/route.d.ts.map +1 -0
  397. package/dist/revalidation/route.js +99 -0
  398. package/dist/revalidation/route.js.map +1 -0
  399. package/dist/revalidation/server-utils.d.ts +31 -0
  400. package/dist/revalidation/server-utils.d.ts.map +1 -0
  401. package/dist/revalidation/server-utils.js +54 -0
  402. package/dist/revalidation/server-utils.js.map +1 -0
  403. package/dist/revalidation/tags.d.ts +110 -0
  404. package/dist/revalidation/tags.d.ts.map +1 -0
  405. package/dist/revalidation/tags.js +160 -0
  406. package/dist/revalidation/tags.js.map +1 -0
  407. package/dist/revalidation/utils.d.ts +21 -0
  408. package/dist/revalidation/utils.d.ts.map +1 -0
  409. package/dist/revalidation/utils.js +61 -0
  410. package/dist/revalidation/utils.js.map +1 -0
  411. package/dist/revalidation/webhook-content-types.d.ts +12 -0
  412. package/dist/revalidation/webhook-content-types.d.ts.map +1 -0
  413. package/dist/revalidation/webhook-content-types.js +28 -0
  414. package/dist/revalidation/webhook-content-types.js.map +1 -0
  415. package/dist/routing/index.d.ts +2 -0
  416. package/dist/routing/index.d.ts.map +1 -0
  417. package/dist/routing/index.js +2 -0
  418. package/dist/routing/index.js.map +1 -0
  419. package/dist/routing/marketing-site-url-calculators.d.ts +21 -0
  420. package/dist/routing/marketing-site-url-calculators.d.ts.map +1 -0
  421. package/dist/routing/marketing-site-url-calculators.js +43 -0
  422. package/dist/routing/marketing-site-url-calculators.js.map +1 -0
  423. package/dist/server.d.ts +7 -0
  424. package/dist/server.d.ts.map +1 -0
  425. package/dist/server.js +10 -0
  426. package/dist/server.js.map +1 -0
  427. package/dist/telemetry/deriveOperation.d.ts +8 -0
  428. package/dist/telemetry/deriveOperation.d.ts.map +1 -0
  429. package/dist/telemetry/deriveOperation.js +59 -0
  430. package/dist/telemetry/deriveOperation.js.map +1 -0
  431. package/dist/telemetry/queryContext.d.ts +7 -0
  432. package/dist/telemetry/queryContext.d.ts.map +1 -0
  433. package/dist/telemetry/queryContext.js +9 -0
  434. package/dist/telemetry/queryContext.js.map +1 -0
  435. package/dist/telemetry/queryLog.d.ts +17 -0
  436. package/dist/telemetry/queryLog.d.ts.map +1 -0
  437. package/dist/telemetry/queryLog.js +54 -0
  438. package/dist/telemetry/queryLog.js.map +1 -0
  439. package/dist/types.d.ts +93 -0
  440. package/dist/types.d.ts.map +1 -0
  441. package/dist/types.js +2 -0
  442. package/dist/types.js.map +1 -0
  443. package/dist/utils/arrayUtils.d.ts +3 -0
  444. package/dist/utils/arrayUtils.d.ts.map +1 -0
  445. package/dist/utils/arrayUtils.js +12 -0
  446. package/dist/utils/arrayUtils.js.map +1 -0
  447. package/dist/utils/dateUtils.d.ts +9 -0
  448. package/dist/utils/dateUtils.d.ts.map +1 -0
  449. package/dist/utils/dateUtils.js +26 -0
  450. package/dist/utils/dateUtils.js.map +1 -0
  451. package/dist/utils/errors.d.ts +56 -0
  452. package/dist/utils/errors.d.ts.map +1 -0
  453. package/dist/utils/errors.js +100 -0
  454. package/dist/utils/errors.js.map +1 -0
  455. package/dist/utils/index.d.ts +9 -0
  456. package/dist/utils/index.d.ts.map +1 -0
  457. package/dist/utils/index.js +9 -0
  458. package/dist/utils/index.js.map +1 -0
  459. package/dist/utils/redirectMap.d.ts +40 -0
  460. package/dist/utils/redirectMap.d.ts.map +1 -0
  461. package/dist/utils/redirectMap.js +129 -0
  462. package/dist/utils/redirectMap.js.map +1 -0
  463. package/dist/utils/retry.d.ts +103 -0
  464. package/dist/utils/retry.d.ts.map +1 -0
  465. package/dist/utils/retry.js +248 -0
  466. package/dist/utils/retry.js.map +1 -0
  467. package/dist/utils/tags.d.ts +35 -0
  468. package/dist/utils/tags.d.ts.map +1 -0
  469. package/dist/utils/tags.js +37 -0
  470. package/dist/utils/tags.js.map +1 -0
  471. package/docs/llms.md +430 -0
  472. package/package.json +86 -0
@@ -0,0 +1,340 @@
1
+ import { buildDownloadAssetFromRawAsset, lookupAsset, makeContentfulDescription, makeContentfulTitle, stringOrUndefined, } from './helpers.js';
2
+ /**
3
+ * Extension-first animation format (MIME is unreliable for `.lottie` uploads).
4
+ * Wrong extension ⇒ wrong player by design.
5
+ */
6
+ export function animationFormatFromFile(file) {
7
+ const fileName = (file.fileName ?? '').toLowerCase();
8
+ const urlPath = (file.url ?? '').toLowerCase().split('?')[0] ?? '';
9
+ if (fileName.endsWith('.lottie') || urlPath.endsWith('.lottie')) {
10
+ return 'dotlottie';
11
+ }
12
+ if (fileName.endsWith('.json') || urlPath.endsWith('.json')) {
13
+ return 'lottie-json';
14
+ }
15
+ // Legacy: JSON Lottie often stored as application/json without a clear extension.
16
+ if (file.contentType === 'application/json') {
17
+ return 'lottie-json';
18
+ }
19
+ return undefined;
20
+ }
21
+ export function convertAssetToVisual(context, asset, options) {
22
+ if (!asset)
23
+ return undefined;
24
+ const { fields, sys } = asset;
25
+ if (!fields)
26
+ return undefined;
27
+ const { id } = sys;
28
+ const { file } = fields;
29
+ if (!file)
30
+ return undefined;
31
+ const { contentType } = file;
32
+ if (contentType?.startsWith('image/')) {
33
+ const image = convertAssetToImage(file, fields, sys, options);
34
+ if (!image)
35
+ return undefined;
36
+ return {
37
+ id,
38
+ type: 'Visual',
39
+ image,
40
+ };
41
+ }
42
+ if (contentType?.startsWith('video/')) {
43
+ const video = convertAssetToVideo(file, fields, sys, context, options);
44
+ if (!video)
45
+ return undefined;
46
+ return {
47
+ id,
48
+ type: 'Visual',
49
+ video,
50
+ };
51
+ }
52
+ const animationFormat = animationFormatFromFile(file);
53
+ if (animationFormat) {
54
+ const animation = convertAssetToAnimation(file, fields, sys, animationFormat, options);
55
+ if (!animation)
56
+ return undefined;
57
+ return {
58
+ id,
59
+ type: 'Visual',
60
+ animation,
61
+ };
62
+ }
63
+ const download = buildDownloadAssetFromRawAsset(context, asset);
64
+ if (download) {
65
+ const { title } = fields;
66
+ return {
67
+ id,
68
+ type: 'Visual',
69
+ download,
70
+ name: makeContentfulTitle(title, id),
71
+ };
72
+ }
73
+ return undefined;
74
+ }
75
+ function convertAssetToAnimation(file, fields, sys, format, options) {
76
+ const { id } = sys;
77
+ const { title, description } = fields;
78
+ const { url } = file;
79
+ if (!url)
80
+ return undefined;
81
+ return {
82
+ ...options,
83
+ id,
84
+ type: 'Animation',
85
+ format,
86
+ animationSrc: `https:${url}`,
87
+ name: makeContentfulTitle(title, id),
88
+ description: stringOrUndefined(description),
89
+ };
90
+ }
91
+ function convertAssetToImage(file, fields, sys, options) {
92
+ const { contentType } = file;
93
+ if (contentType === 'image/svg+xml') {
94
+ return convertAssetToSvgImage(file, fields, sys, options);
95
+ }
96
+ else {
97
+ return convertAssetToPicture(file, fields, sys, options);
98
+ }
99
+ }
100
+ function convertAssetToPicture(file, fields, sys, options) {
101
+ const { id } = sys;
102
+ const { title, description } = fields;
103
+ const { contentType, details, url } = file;
104
+ if (!details)
105
+ return undefined;
106
+ const { size, image } = details;
107
+ const { width, height } = image || {};
108
+ return {
109
+ ...options,
110
+ id,
111
+ type: 'Picture',
112
+ src: `https:${url}`,
113
+ mimeType: contentType,
114
+ size,
115
+ width: width || 0,
116
+ height: height || 0,
117
+ name: makeContentfulTitle(title, id),
118
+ description: makeContentfulDescription(description, id),
119
+ };
120
+ }
121
+ function convertAssetToSvgImage(file, fields, sys, options) {
122
+ const { id } = sys;
123
+ const { title, description } = fields;
124
+ const { contentType, details, url } = file;
125
+ if (!details)
126
+ return undefined;
127
+ const { size, image } = details;
128
+ const { width, height } = image || {};
129
+ return {
130
+ ...options,
131
+ id,
132
+ type: 'Svg image',
133
+ svgSrc: `https:${url}`,
134
+ mimeType: contentType,
135
+ size,
136
+ width: width || 0,
137
+ height: height || 0,
138
+ name: makeContentfulTitle(title, id),
139
+ description: stringOrUndefined(description),
140
+ };
141
+ }
142
+ function convertAssetToVideoDetails(file, sys) {
143
+ const { id } = sys;
144
+ const { details, url, contentType, fileName } = file;
145
+ if (!details)
146
+ return undefined;
147
+ const { size } = details;
148
+ return {
149
+ id,
150
+ videoUrl: `https:${url}`,
151
+ size,
152
+ mimeType: contentType,
153
+ fileName,
154
+ };
155
+ }
156
+ function convertAssetToVideo(file, fields, sys, context, options) {
157
+ const { id } = sys;
158
+ const { title, description } = fields;
159
+ const { details } = file;
160
+ if (!details) {
161
+ return undefined;
162
+ }
163
+ const { image } = details;
164
+ const { width, height } = image || {};
165
+ const videoDetails = convertAssetToVideoDetails(file, sys);
166
+ if (!videoDetails)
167
+ return undefined;
168
+ return {
169
+ ...options,
170
+ id,
171
+ type: 'Local video',
172
+ preview: videoDetails,
173
+ videoPrefix: context.videoPrefix,
174
+ width: width || 0,
175
+ height: height || 0,
176
+ name: makeContentfulTitle(title, id),
177
+ description: makeContentfulDescription(description, id),
178
+ };
179
+ }
180
+ export function createResponsiveVisual(visual, mobileVisual) {
181
+ if (!visual)
182
+ return undefined;
183
+ return {
184
+ visual,
185
+ mobileVisual,
186
+ };
187
+ }
188
+ export const HIDE_MOBILE_BACKGROUND_FLAG = 'Hide mobile background';
189
+ /**
190
+ * Maps the CMS "Hide mobile background" flag onto backgroundVisual.hideMobileVisual.
191
+ * Foreground visuals use "Hide mobile visual" at render time in project components.
192
+ */
193
+ export function applyHideMobileBackgroundFlag(responsiveVisual, flags) {
194
+ if (!responsiveVisual)
195
+ return undefined;
196
+ if (!flags?.includes(HIDE_MOBILE_BACKGROUND_FLAG))
197
+ return responsiveVisual;
198
+ return {
199
+ ...responsiveVisual,
200
+ hideMobileVisual: true,
201
+ };
202
+ }
203
+ /**
204
+ * Converts a baseMedia entry to IVisual by looking up the asset and merging metadata.
205
+ * Resolves mask from either maskImage asset or mask dropdown via project's maskResolver.
206
+ */
207
+ export function convertMediaEntryToVisual(context, entry) {
208
+ const { fields, sys } = entry;
209
+ if (!fields)
210
+ return undefined;
211
+ // Lookup the asset from context
212
+ const baseVisual = lookupAsset(context, fields.asset);
213
+ if (!baseVisual)
214
+ return undefined;
215
+ // Destructure mask/gradient fields separately so they don't go into metadata
216
+ const { name, mask: maskDropdown, maskImage, gradient: gradientDropdown, width: widthPercent,
217
+ // Contentful uses "autoplay" but we use "autoPlay"
218
+ autoplay: autoPlay, ...otherFields } = fields;
219
+ // Resolve mask: custom maskImage takes precedence over dropdown
220
+ let mask;
221
+ if (maskImage) {
222
+ // Custom SVG mask from asset
223
+ const maskVisual = lookupAsset(context, maskImage);
224
+ if (maskVisual?.image?.type === 'Svg image') {
225
+ mask = maskVisual.image.svgSrc;
226
+ }
227
+ else if (maskVisual?.image?.type === 'Picture') {
228
+ mask = maskVisual.image.src;
229
+ }
230
+ }
231
+ else if (maskDropdown && context.maskResolver) {
232
+ // Predefined mask from dropdown
233
+ mask = context.maskResolver(maskDropdown);
234
+ }
235
+ // Resolve gradient via project-provided resolver
236
+ const gradient = gradientDropdown && context.gradientResolver
237
+ ? context.gradientResolver(gradientDropdown)
238
+ : undefined;
239
+ // Extract metadata from the media entry
240
+ const metadata = {
241
+ name: makeContentfulTitle(name, sys.id),
242
+ autoPlay,
243
+ widthPercent,
244
+ ...otherFields,
245
+ };
246
+ // Merge metadata into the image or video
247
+ const visual = {
248
+ ...baseVisual,
249
+ id: sys.id,
250
+ mask,
251
+ gradient,
252
+ };
253
+ if (baseVisual.image) {
254
+ visual.image = {
255
+ ...baseVisual.image,
256
+ ...metadata,
257
+ };
258
+ }
259
+ else if (baseVisual.video) {
260
+ visual.video = {
261
+ ...baseVisual.video,
262
+ ...metadata,
263
+ };
264
+ }
265
+ else if (baseVisual.animation) {
266
+ visual.animation = {
267
+ ...baseVisual.animation,
268
+ ...metadata,
269
+ };
270
+ }
271
+ else if (baseVisual.download) {
272
+ visual.name = metadata.name;
273
+ }
274
+ return visual;
275
+ }
276
+ /**
277
+ * Converts a baseExternalVideo entry to IVisual with external video
278
+ */
279
+ export function convertExternalVideoEntryToVisual(context, entry) {
280
+ const { fields, sys } = entry;
281
+ if (!fields?.url)
282
+ return undefined;
283
+ // Lookup optional preview and poster assets
284
+ const previewVisual = lookupAsset(context, fields.preview);
285
+ const posterVisual = lookupAsset(context, fields.posterImage);
286
+ // Extract preview IVideoDetails if available
287
+ const preview = previewVisual?.video?.type === 'Local video' ? previewVisual.video.preview : undefined;
288
+ // Extract poster URL if available
289
+ const poster = posterVisual?.image?.type === 'Picture' ? posterVisual.image.src : undefined;
290
+ // Map Contentful's "Center" to our "Middle" type
291
+ const mapHorizontal = (value) => {
292
+ if (!value)
293
+ return null;
294
+ return value === 'Center' ? 'Middle' : value;
295
+ };
296
+ const video = {
297
+ id: sys.id,
298
+ type: 'External video',
299
+ name: makeContentfulTitle(fields.name, sys.id),
300
+ nameAsCaption: fields.nameAsCaption ?? null,
301
+ external: fields.url,
302
+ embed: context.externalVideoEmbeds.get(sys.id),
303
+ preview,
304
+ poster,
305
+ autoPlay: fields.autoPlay ?? null,
306
+ loop: fields.loop ?? null,
307
+ hideControls: fields.hideControls ?? null,
308
+ dontCrop: fields.dontCrop ?? null,
309
+ verticalCropPosition: fields.verticalCropPosition ?? null,
310
+ horizontalCropPosition: mapHorizontal(fields.horizontalCropPosition),
311
+ horizontalPosition: fields.horizontalPosition ?? null,
312
+ widthPercent: fields.width ?? null,
313
+ };
314
+ return {
315
+ id: sys.id,
316
+ type: 'Visual',
317
+ video,
318
+ };
319
+ }
320
+ /**
321
+ * Looks up and converts a media or external video entry from an unresolved link
322
+ */
323
+ export function lookupMediaEntry(context, link) {
324
+ if (!link)
325
+ return undefined;
326
+ const id = link.sys.id;
327
+ const possibleEntry = context.includes.get(id);
328
+ if (!possibleEntry) {
329
+ return undefined;
330
+ }
331
+ const { type, entry } = possibleEntry;
332
+ if (type === 'media') {
333
+ return convertMediaEntryToVisual(context, entry);
334
+ }
335
+ if (type === 'externalVideo') {
336
+ return convertExternalVideoEntryToVisual(context, entry);
337
+ }
338
+ return undefined;
339
+ }
340
+ //# sourceMappingURL=asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { IBanner } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseBannerSkeleton } from '../baseTypes/baseBanner';
5
+ import { type ConverterContext } from './helpers';
6
+ /**
7
+ * Converts a Contentful banner entry to an IBanner object
8
+ */
9
+ export declare function baseBannerConverter(context: ConverterContext, entry: Entry<BaseBannerSkeleton, DefaultChainModifier, string>): IBanner;
10
+ //# sourceMappingURL=banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/converters/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,OAAO,EAGR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,WAAW,CAAC;AA0BjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC7D,OAAO,CAqDT"}
@@ -0,0 +1,63 @@
1
+ import { lookupEntries } from './helpers.js';
2
+ import { resolveLink } from './resolver.js';
3
+ const PLACEMENTS = new Set(['top', 'afterHero', 'bottomSticky']);
4
+ function normalizePlacement(raw) {
5
+ if (typeof raw !== 'string' || !PLACEMENTS.has(raw)) {
6
+ return null;
7
+ }
8
+ return raw;
9
+ }
10
+ function bannerCtaLabel(ctaText) {
11
+ return typeof ctaText === 'string' ? ctaText.trim() : '';
12
+ }
13
+ /**
14
+ * Copy CMS CTA Text onto the resolved link so site UIs can use `ctaLink.text`.
15
+ * Preserves an existing link `name` (e.g. page title on internal targets).
16
+ */
17
+ function applyBannerCtaText(link, ctaText) {
18
+ const label = bannerCtaLabel(ctaText);
19
+ if (!label)
20
+ return link;
21
+ return { ...link, text: label, name: link.name || label };
22
+ }
23
+ /**
24
+ * Converts a Contentful banner entry to an IBanner object
25
+ */
26
+ export function baseBannerConverter(context, entry) {
27
+ const { sys, fields } = entry;
28
+ if (sys.contentType.sys.id !== 'banner') {
29
+ throw new Error(`Invalid content type: expected "banner", got "${sys.contentType.sys.id}"`);
30
+ }
31
+ const id = sys.id;
32
+ const { ctaText, ctaInternalLink: rawCtaInternalLink, ctaExternalLink: rawCtaExternalLink, showOn: rawShowOn, hideOn: rawHideOn, theme, dismissType, placement: rawPlacement, ...simpleFields } = fields;
33
+ const ctaInternalLink = rawCtaInternalLink
34
+ ? resolveLink(context, sys.id, rawCtaInternalLink)
35
+ : undefined;
36
+ // Labels are stamped only via applyBannerCtaText (single path for internal + external).
37
+ const ctaExternalLink = rawCtaExternalLink
38
+ ? {
39
+ type: 'External link',
40
+ id: sys.id,
41
+ name: '',
42
+ text: null,
43
+ href: rawCtaExternalLink,
44
+ }
45
+ : undefined;
46
+ const rawCtaLink = ctaInternalLink ?? ctaExternalLink;
47
+ const ctaLink = rawCtaLink ? applyBannerCtaText(rawCtaLink, ctaText) : undefined;
48
+ const showOn = rawShowOn ? lookupEntries(context, rawShowOn) : undefined;
49
+ const hideOn = rawHideOn ? lookupEntries(context, rawHideOn) : undefined;
50
+ return {
51
+ type: 'Banner',
52
+ ...simpleFields,
53
+ id,
54
+ ctaText: ctaText ?? null,
55
+ ctaLink,
56
+ showOn,
57
+ hideOn,
58
+ theme: theme,
59
+ placement: normalizePlacement(rawPlacement),
60
+ dismissType: dismissType,
61
+ };
62
+ }
63
+ //# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/converters/banner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { BaseCollectionContent, IBaseCollection } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier, IContentfulRichText } from '../api';
4
+ import type { BaseCollectionSkeleton } from '../baseTypes/baseCollection';
5
+ import { type ConverterContext } from './helpers';
6
+ export type IContentfulCollection<TContents extends BaseCollectionContent = BaseCollectionContent> = IBaseCollection<TContents> & {
7
+ body?: IContentfulRichText | null;
8
+ additionalCopy?: IContentfulRichText | null;
9
+ };
10
+ /**
11
+ * Base converter for Contentful Collection entries to ICollection type
12
+ *
13
+ * This is a minimal implementation that can be extended using
14
+ * the functional composition pattern.
15
+ *
16
+ * @param context - Converter context containing assets, includes, and resolvers
17
+ * @param entry - Contentful entry to convert
18
+ * @returns ICollection object
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const collection = baseCollectionConverter(context, contentfulEntry);
23
+ * ```
24
+ */
25
+ export declare function baseCollectionConverter(context: ConverterContext, entry: Entry<BaseCollectionSkeleton, DefaultChainModifier, string>): IContentfulCollection;
26
+ //# sourceMappingURL=collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/converters/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,IAC/F,eAAe,CAAC,SAAS,CAAC,GAAG;IAC3B,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEJ;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,qBAAqB,CAqDvB"}
@@ -0,0 +1,52 @@
1
+ import { applyHideMobileBackgroundFlag, createResponsiveVisual, lookupMediaEntry } from './asset.js';
2
+ import { DEFAULT_POSITION_FIELDS, lookupAsset, lookupIconAsset, } from './helpers.js';
3
+ import { resolveCollectionContent, resolveLink, resolveRichTextDocument } from './resolver.js';
4
+ /**
5
+ * Base converter for Contentful Collection entries to ICollection type
6
+ *
7
+ * This is a minimal implementation that can be extended using
8
+ * the functional composition pattern.
9
+ *
10
+ * @param context - Converter context containing assets, includes, and resolvers
11
+ * @param entry - Contentful entry to convert
12
+ * @returns ICollection object
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const collection = baseCollectionConverter(context, contentfulEntry);
17
+ * ```
18
+ */
19
+ export function baseCollectionConverter(context, entry) {
20
+ const { sys, fields } = entry;
21
+ const { id } = sys;
22
+ // Destructure to exclude fields that need special handling
23
+ const {
24
+ // Fields requiring transformation
25
+ backgroundVisual: bgVisual, mobileBackgroundVisual: mobileBgVisual, visual: visualField, mobileVisual: mobileVisualField, icon: iconField, links: linksField, contents: contentsField, body: bodyField, additionalCopy: additionalCopyField, showHeading, heading, flags,
26
+ // Already handled elsewhere
27
+ cmsLabel, ...simpleFields // anchor, backgroundColour, textColour, preHeading, heading, postHeading, backgroundOverlayOpacity
28
+ } = fields;
29
+ // Convert background visuals to responsive visual
30
+ const backgroundVisual = applyHideMobileBackgroundFlag(createResponsiveVisual(lookupAsset(context, bgVisual), lookupAsset(context, mobileBgVisual)), flags);
31
+ const visual = createResponsiveVisual(lookupMediaEntry(context, visualField), lookupMediaEntry(context, mobileVisualField));
32
+ const collection = {
33
+ type: 'Collection',
34
+ id,
35
+ name: cmsLabel,
36
+ cmsLabel,
37
+ ...DEFAULT_POSITION_FIELDS,
38
+ ...simpleFields,
39
+ heading: showHeading ? heading : undefined,
40
+ body: resolveRichTextDocument(context, id, bodyField),
41
+ additionalCopy: resolveRichTextDocument(context, id, additionalCopyField),
42
+ icon: lookupIconAsset(context, iconField),
43
+ backgroundVisual,
44
+ visual,
45
+ links: linksField?.map((link) => resolveLink(context, id, link)).filter((l) => l != null),
46
+ contents: contentsField
47
+ ?.map((content) => resolveCollectionContent(context, id, content))
48
+ .filter((c) => c != null),
49
+ };
50
+ return collection;
51
+ }
52
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/converters/collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQ5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAyB,EACzB,KAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IACnB,2DAA2D;IAC3D,MAAM;IACJ,kCAAkC;IAClC,gBAAgB,EAAE,QAAQ,EAC1B,sBAAsB,EAAE,cAAc,EACtC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,mBAAmB,EACnC,WAAW,EACX,OAAO,EACP,KAAK;IACL,4BAA4B;IAC5B,QAAQ,EACR,GAAG,YAAY,CAAC,mGAAmG;MACpH,GAAG,MAAM,CAAC;IAEX,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,6BAA6B,CACpD,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAC5F,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,sBAAsB,CACnC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,EACtC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAC7C,CAAC;IAEF,MAAM,UAAU,GAA0B;QACxC,IAAI,EAAE,YAAY;QAClB,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,GAAG,uBAAuB;QAC1B,GAAG,YAAY;QACf,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1C,IAAI,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;QACrD,cAAc,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC;QACzE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC;QACzC,gBAAgB;QAChB,MAAM;QACN,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QACzF,QAAQ,EAAE,aAAa;YACrB,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;KACxD,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { IBaseComponent } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier, IContentfulRichText } from '../api';
4
+ import type { BaseComponentSkeleton } from '../baseTypes/baseComponent';
5
+ import { type ConverterContext } from './helpers';
6
+ export type IContentfulComponent = IBaseComponent & {
7
+ body?: IContentfulRichText | null;
8
+ additionalCopy?: IContentfulRichText | null;
9
+ };
10
+ /**
11
+ * Base converter for Contentful Component entries to IComponent type
12
+ *
13
+ * This is a minimal implementation that can be extended using
14
+ * the functional composition pattern.
15
+ *
16
+ * @param context - Converter context containing assets, includes, and resolvers
17
+ * @param entry - Contentful entry to convert
18
+ * @returns IComponent object
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const component = baseComponentConverter(context, contentfulEntry);
23
+ * ```
24
+ */
25
+ export declare function baseComponentConverter(context: ConverterContext, entry: Entry<BaseComponentSkeleton, DefaultChainModifier, string>): IContentfulComponent;
26
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/converters/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7C,CAAC;AACF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAChE,oBAAoB,CAuDtB"}
@@ -0,0 +1,54 @@
1
+ import { arrayOrUndefined, notEmpty } from '../utils/index.js';
2
+ import { applyHideMobileBackgroundFlag, createResponsiveVisual, lookupMediaEntry } from './asset.js';
3
+ import { DEFAULT_POSITION_FIELDS, lookupAsset, lookupIconAsset, } from './helpers.js';
4
+ import { resolveLinks, resolveRichTextDocument } from './resolver.js';
5
+ /**
6
+ * Base converter for Contentful Component entries to IComponent type
7
+ *
8
+ * This is a minimal implementation that can be extended using
9
+ * the functional composition pattern.
10
+ *
11
+ * @param context - Converter context containing assets, includes, and resolvers
12
+ * @param entry - Contentful entry to convert
13
+ * @returns IComponent object
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const component = baseComponentConverter(context, contentfulEntry);
18
+ * ```
19
+ */
20
+ export function baseComponentConverter(context, entry) {
21
+ const { sys, fields } = entry;
22
+ const { id } = sys;
23
+ // Destructure to exclude fields that need special handling
24
+ const {
25
+ // Fields requiring transformation
26
+ backgroundVisual: bgVisual, mobileBackgroundVisual: mobileBgVisual, visual: visualField, mobileVisual: mobileVisualField, icon: iconField, links: linksField, body: bodyField, additionalCopy: additionalCopyField,
27
+ // Field name change
28
+ showHeading, heading, otherMedia: otherMediaField, flags,
29
+ // Already handled elsewhere
30
+ cmsLabel, ...simpleFields // anchor, backgroundColour, textColour, preHeading, heading, postHeading, backgroundOverlayOpacity
31
+ } = fields;
32
+ // Convert background visuals to responsive visual
33
+ const backgroundVisual = applyHideMobileBackgroundFlag(createResponsiveVisual(lookupAsset(context, bgVisual), lookupAsset(context, mobileBgVisual)), flags);
34
+ const visual = createResponsiveVisual(lookupMediaEntry(context, visualField), lookupMediaEntry(context, mobileVisualField));
35
+ const otherMedia = otherMediaField?.map((media) => lookupAsset(context, media));
36
+ const component = {
37
+ type: 'Component',
38
+ id,
39
+ name: cmsLabel,
40
+ cmsLabel,
41
+ ...DEFAULT_POSITION_FIELDS,
42
+ ...simpleFields,
43
+ heading: showHeading ? heading : undefined,
44
+ body: resolveRichTextDocument(context, id, bodyField),
45
+ additionalCopy: resolveRichTextDocument(context, id, additionalCopyField),
46
+ icon: lookupIconAsset(context, iconField),
47
+ backgroundVisual,
48
+ visual,
49
+ links: resolveLinks(context, id, linksField),
50
+ otherMedia: arrayOrUndefined(otherMedia?.filter(notEmpty)),
51
+ };
52
+ return component;
53
+ }
54
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/converters/component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAMnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAyB,EACzB,KAAiE;IAEjE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IAEnB,2DAA2D;IAC3D,MAAM;IACJ,kCAAkC;IAClC,gBAAgB,EAAE,QAAQ,EAC1B,sBAAsB,EAAE,cAAc,EACtC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,mBAAmB;IACnC,oBAAoB;IACpB,WAAW,EACX,OAAO,EACP,UAAU,EAAE,eAAe,EAC3B,KAAK;IACL,4BAA4B;IAC5B,QAAQ,EACR,GAAG,YAAY,CAAC,mGAAmG;MACpH,GAAG,MAAM,CAAC;IAEX,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,6BAA6B,CACpD,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAC5F,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,sBAAsB,CACnC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,EACtC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAC7C,CAAC;IAEF,MAAM,UAAU,GAAG,eAAe,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhF,MAAM,SAAS,GAAyB;QACtC,IAAI,EAAE,WAAW;QACjB,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,GAAG,uBAAuB;QAC1B,GAAG,YAAY;QACf,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1C,IAAI,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;QACrD,cAAc,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC;QACzE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC;QACzC,gBAAgB;QAChB,MAAM;QACN,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC;QAC5C,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC3D,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { IBaseCustomType, IInternalLink } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseCustomTypeSkeleton } from '../baseTypes/baseCustomType';
5
+ import { type ConverterContext } from './helpers';
6
+ /**
7
+ * Base converter for Contentful Custom Type entries to IBaseCustomType
8
+ *
9
+ * Custom types represent index pages for categories like Topics or Resources.
10
+ * They provide configuration for both the main index page and potentially
11
+ * individual entry pages.
12
+ *
13
+ * @param context - Converter context containing includes and assets
14
+ * @param entry - Contentful entry to convert
15
+ * @returns IBaseCustomType object
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const customType = baseCustomTypeConverter(context, contentfulEntry);
20
+ * ```
21
+ */
22
+ export declare function baseCustomTypeConverter(context: ConverterContext, entry: Entry<BaseCustomTypeSkeleton, DefaultChainModifier, string>): IBaseCustomType;
23
+ export declare function baseCustomTypeLinkConverter(context: ConverterContext, entry: Entry<BaseCustomTypeSkeleton, DefaultChainModifier, string>): IInternalLink;
24
+ //# sourceMappingURL=customType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customType.d.ts","sourceRoot":"","sources":["../../src/converters/customType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAmB,MAAM,4BAA4B,CAAC;AAElG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAEL,KAAK,gBAAgB,EAOtB,MAAM,WAAW,CAAC;AAUnB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,eAAe,CA4FjB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,aAAa,CAgBf"}