@se-studio/contentful-rest-api 1.0.46 → 1.0.47

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 (298) hide show
  1. package/CHANGELOG.md +416 -0
  2. package/dist/api/article-type.d.ts +37 -0
  3. package/dist/api/article-type.d.ts.map +1 -0
  4. package/dist/api/article-type.js +134 -0
  5. package/dist/api/article-type.js.map +1 -0
  6. package/dist/api/article.d.ts +32 -0
  7. package/dist/api/article.d.ts.map +1 -0
  8. package/dist/api/article.js +43 -0
  9. package/dist/api/article.js.map +1 -0
  10. package/dist/api/asset.d.ts +28 -0
  11. package/dist/api/asset.d.ts.map +1 -0
  12. package/dist/api/asset.js +55 -0
  13. package/dist/api/asset.js.map +1 -0
  14. package/dist/api/context.d.ts +24 -0
  15. package/dist/api/context.d.ts.map +1 -0
  16. package/dist/api/context.js +62 -0
  17. package/dist/api/context.js.map +1 -0
  18. package/dist/api/custom-type.d.ts +37 -0
  19. package/dist/api/custom-type.d.ts.map +1 -0
  20. package/dist/api/custom-type.js +44 -0
  21. package/dist/api/custom-type.js.map +1 -0
  22. package/dist/api/helpers.d.ts +73 -0
  23. package/dist/api/helpers.d.ts.map +1 -0
  24. package/dist/api/helpers.js +296 -0
  25. package/dist/api/helpers.js.map +1 -0
  26. package/dist/api/index.d.ts +22 -0
  27. package/dist/api/index.d.ts.map +1 -0
  28. package/dist/api/index.js +28 -0
  29. package/dist/api/index.js.map +1 -0
  30. package/dist/api/links.d.ts +109 -0
  31. package/dist/api/links.d.ts.map +1 -0
  32. package/dist/api/links.js +199 -0
  33. package/dist/api/links.js.map +1 -0
  34. package/dist/api/page.d.ts +33 -0
  35. package/dist/api/page.d.ts.map +1 -0
  36. package/dist/api/page.js +40 -0
  37. package/dist/api/page.js.map +1 -0
  38. package/dist/api/person.d.ts +37 -0
  39. package/dist/api/person.d.ts.map +1 -0
  40. package/dist/api/person.js +134 -0
  41. package/dist/api/person.js.map +1 -0
  42. package/dist/api/preview.d.ts +55 -0
  43. package/dist/api/preview.d.ts.map +1 -0
  44. package/dist/api/preview.js +160 -0
  45. package/dist/api/preview.js.map +1 -0
  46. package/dist/api/related-articles.d.ts +22 -0
  47. package/dist/api/related-articles.d.ts.map +1 -0
  48. package/dist/api/related-articles.js +82 -0
  49. package/dist/api/related-articles.js.map +1 -0
  50. package/dist/api/server-asset.d.ts +40 -0
  51. package/dist/api/server-asset.d.ts.map +1 -0
  52. package/dist/api/server-asset.js +65 -0
  53. package/dist/api/server-asset.js.map +1 -0
  54. package/dist/api/sitemap.d.ts +131 -0
  55. package/dist/api/sitemap.d.ts.map +1 -0
  56. package/dist/api/sitemap.js +199 -0
  57. package/dist/api/sitemap.js.map +1 -0
  58. package/dist/api/tag.d.ts +37 -0
  59. package/dist/api/tag.d.ts.map +1 -0
  60. package/dist/api/tag.js +131 -0
  61. package/dist/api/tag.js.map +1 -0
  62. package/dist/api/template.d.ts +49 -0
  63. package/dist/api/template.d.ts.map +1 -0
  64. package/dist/api/template.js +88 -0
  65. package/dist/api/template.js.map +1 -0
  66. package/dist/api/types.d.ts +98 -0
  67. package/dist/api/types.d.ts.map +1 -0
  68. package/dist/api/types.js +2 -0
  69. package/dist/api/types.js.map +1 -0
  70. package/dist/baseTypes/baseAlternatePageContent.d.ts +24 -0
  71. package/dist/baseTypes/baseAlternatePageContent.d.ts.map +1 -0
  72. package/dist/baseTypes/baseAlternatePageContent.js +2 -0
  73. package/dist/baseTypes/baseAlternatePageContent.js.map +1 -0
  74. package/dist/baseTypes/baseArticle.d.ts +179 -0
  75. package/dist/baseTypes/baseArticle.d.ts.map +1 -0
  76. package/dist/baseTypes/baseArticle.js +2 -0
  77. package/dist/baseTypes/baseArticle.js.map +1 -0
  78. package/dist/baseTypes/baseArticleType.d.ts +156 -0
  79. package/dist/baseTypes/baseArticleType.d.ts.map +1 -0
  80. package/dist/baseTypes/baseArticleType.js +2 -0
  81. package/dist/baseTypes/baseArticleType.js.map +1 -0
  82. package/dist/baseTypes/baseBanner.d.ts +76 -0
  83. package/dist/baseTypes/baseBanner.d.ts.map +1 -0
  84. package/dist/baseTypes/baseBanner.js +2 -0
  85. package/dist/baseTypes/baseBanner.js.map +1 -0
  86. package/dist/baseTypes/baseCollection.d.ts +132 -0
  87. package/dist/baseTypes/baseCollection.d.ts.map +1 -0
  88. package/dist/baseTypes/baseCollection.js +2 -0
  89. package/dist/baseTypes/baseCollection.js.map +1 -0
  90. package/dist/baseTypes/baseComponent.d.ts +130 -0
  91. package/dist/baseTypes/baseComponent.d.ts.map +1 -0
  92. package/dist/baseTypes/baseComponent.js +2 -0
  93. package/dist/baseTypes/baseComponent.js.map +1 -0
  94. package/dist/baseTypes/baseCustomType.d.ts +126 -0
  95. package/dist/baseTypes/baseCustomType.d.ts.map +1 -0
  96. package/dist/baseTypes/baseCustomType.js +2 -0
  97. package/dist/baseTypes/baseCustomType.js.map +1 -0
  98. package/dist/baseTypes/baseExternalComponent.d.ts +66 -0
  99. package/dist/baseTypes/baseExternalComponent.d.ts.map +1 -0
  100. package/dist/baseTypes/baseExternalComponent.js +2 -0
  101. package/dist/baseTypes/baseExternalComponent.js.map +1 -0
  102. package/dist/baseTypes/baseExternalVideo.d.ts +85 -0
  103. package/dist/baseTypes/baseExternalVideo.d.ts.map +1 -0
  104. package/dist/baseTypes/baseExternalVideo.js +2 -0
  105. package/dist/baseTypes/baseExternalVideo.js.map +1 -0
  106. package/dist/baseTypes/baseLink.d.ts +90 -0
  107. package/dist/baseTypes/baseLink.d.ts.map +1 -0
  108. package/dist/baseTypes/baseLink.js +2 -0
  109. package/dist/baseTypes/baseLink.js.map +1 -0
  110. package/dist/baseTypes/baseMedia.d.ts +92 -0
  111. package/dist/baseTypes/baseMedia.d.ts.map +1 -0
  112. package/dist/baseTypes/baseMedia.js +2 -0
  113. package/dist/baseTypes/baseMedia.js.map +1 -0
  114. package/dist/baseTypes/baseNavigation.d.ts +36 -0
  115. package/dist/baseTypes/baseNavigation.d.ts.map +1 -0
  116. package/dist/baseTypes/baseNavigation.js +2 -0
  117. package/dist/baseTypes/baseNavigation.js.map +1 -0
  118. package/dist/baseTypes/baseNavigationItem.d.ts +96 -0
  119. package/dist/baseTypes/baseNavigationItem.d.ts.map +1 -0
  120. package/dist/baseTypes/baseNavigationItem.js +2 -0
  121. package/dist/baseTypes/baseNavigationItem.js.map +1 -0
  122. package/dist/baseTypes/basePage.d.ts +120 -0
  123. package/dist/baseTypes/basePage.d.ts.map +1 -0
  124. package/dist/baseTypes/basePage.js +2 -0
  125. package/dist/baseTypes/basePage.js.map +1 -0
  126. package/dist/baseTypes/basePageTest.d.ts +66 -0
  127. package/dist/baseTypes/basePageTest.d.ts.map +1 -0
  128. package/dist/baseTypes/basePageTest.js +2 -0
  129. package/dist/baseTypes/basePageTest.js.map +1 -0
  130. package/dist/baseTypes/basePageVariant.d.ts +123 -0
  131. package/dist/baseTypes/basePageVariant.d.ts.map +1 -0
  132. package/dist/baseTypes/basePageVariant.js +2 -0
  133. package/dist/baseTypes/basePageVariant.js.map +1 -0
  134. package/dist/baseTypes/basePerson.d.ts +111 -0
  135. package/dist/baseTypes/basePerson.d.ts.map +1 -0
  136. package/dist/baseTypes/basePerson.js +2 -0
  137. package/dist/baseTypes/basePerson.js.map +1 -0
  138. package/dist/baseTypes/baseSchema.d.ts +18 -0
  139. package/dist/baseTypes/baseSchema.d.ts.map +1 -0
  140. package/dist/baseTypes/baseSchema.js +2 -0
  141. package/dist/baseTypes/baseSchema.js.map +1 -0
  142. package/dist/baseTypes/baseShared.d.ts +30 -0
  143. package/dist/baseTypes/baseShared.d.ts.map +1 -0
  144. package/dist/baseTypes/baseShared.js +2 -0
  145. package/dist/baseTypes/baseShared.js.map +1 -0
  146. package/dist/baseTypes/baseTag.d.ts +108 -0
  147. package/dist/baseTypes/baseTag.d.ts.map +1 -0
  148. package/dist/baseTypes/baseTag.js +2 -0
  149. package/dist/baseTypes/baseTag.js.map +1 -0
  150. package/dist/baseTypes/baseTagType.d.ts +11 -0
  151. package/dist/baseTypes/baseTagType.d.ts.map +1 -0
  152. package/dist/baseTypes/baseTagType.js +2 -0
  153. package/dist/baseTypes/baseTagType.js.map +1 -0
  154. package/dist/baseTypes/baseTemplate.d.ts +55 -0
  155. package/dist/baseTypes/baseTemplate.d.ts.map +1 -0
  156. package/dist/baseTypes/baseTemplate.js +2 -0
  157. package/dist/baseTypes/baseTemplate.js.map +1 -0
  158. package/dist/client.d.ts +143 -0
  159. package/dist/client.d.ts.map +1 -0
  160. package/dist/client.js +268 -0
  161. package/dist/client.js.map +1 -0
  162. package/dist/converters/article.d.ts +42 -0
  163. package/dist/converters/article.d.ts.map +1 -0
  164. package/dist/converters/article.js +220 -0
  165. package/dist/converters/article.js.map +1 -0
  166. package/dist/converters/asset.d.ts +22 -0
  167. package/dist/converters/asset.d.ts.map +1 -0
  168. package/dist/converters/asset.js +282 -0
  169. package/dist/converters/asset.js.map +1 -0
  170. package/dist/converters/collection.d.ts +26 -0
  171. package/dist/converters/collection.d.ts.map +1 -0
  172. package/dist/converters/collection.js +50 -0
  173. package/dist/converters/collection.js.map +1 -0
  174. package/dist/converters/component.d.ts +26 -0
  175. package/dist/converters/component.d.ts.map +1 -0
  176. package/dist/converters/component.js +54 -0
  177. package/dist/converters/component.js.map +1 -0
  178. package/dist/converters/customType.d.ts +24 -0
  179. package/dist/converters/customType.d.ts.map +1 -0
  180. package/dist/converters/customType.js +71 -0
  181. package/dist/converters/customType.js.map +1 -0
  182. package/dist/converters/externalComponent.d.ts +22 -0
  183. package/dist/converters/externalComponent.d.ts.map +1 -0
  184. package/dist/converters/externalComponent.js +34 -0
  185. package/dist/converters/externalComponent.js.map +1 -0
  186. package/dist/converters/helpers.d.ts +116 -0
  187. package/dist/converters/helpers.d.ts.map +1 -0
  188. package/dist/converters/helpers.js +128 -0
  189. package/dist/converters/helpers.js.map +1 -0
  190. package/dist/converters/iconCollector.d.ts +65 -0
  191. package/dist/converters/iconCollector.d.ts.map +1 -0
  192. package/dist/converters/iconCollector.js +282 -0
  193. package/dist/converters/iconCollector.js.map +1 -0
  194. package/dist/converters/index.d.ts +18 -0
  195. package/dist/converters/index.d.ts.map +1 -0
  196. package/dist/converters/index.js +18 -0
  197. package/dist/converters/index.js.map +1 -0
  198. package/dist/converters/link.d.ts +11 -0
  199. package/dist/converters/link.d.ts.map +1 -0
  200. package/dist/converters/link.js +96 -0
  201. package/dist/converters/link.js.map +1 -0
  202. package/dist/converters/navigationItem.d.ts +11 -0
  203. package/dist/converters/navigationItem.d.ts.map +1 -0
  204. package/dist/converters/navigationItem.js +73 -0
  205. package/dist/converters/navigationItem.js.map +1 -0
  206. package/dist/converters/page.d.ts +44 -0
  207. package/dist/converters/page.d.ts.map +1 -0
  208. package/dist/converters/page.js +121 -0
  209. package/dist/converters/page.js.map +1 -0
  210. package/dist/converters/person.d.ts +40 -0
  211. package/dist/converters/person.d.ts.map +1 -0
  212. package/dist/converters/person.js +109 -0
  213. package/dist/converters/person.js.map +1 -0
  214. package/dist/converters/resolver.d.ts +29 -0
  215. package/dist/converters/resolver.d.ts.map +1 -0
  216. package/dist/converters/resolver.js +317 -0
  217. package/dist/converters/resolver.js.map +1 -0
  218. package/dist/converters/schema.d.ts +14 -0
  219. package/dist/converters/schema.d.ts.map +1 -0
  220. package/dist/converters/schema.js +18 -0
  221. package/dist/converters/schema.js.map +1 -0
  222. package/dist/converters/svgProcessor.d.ts +23 -0
  223. package/dist/converters/svgProcessor.d.ts.map +1 -0
  224. package/dist/converters/svgProcessor.js +47 -0
  225. package/dist/converters/svgProcessor.js.map +1 -0
  226. package/dist/converters/tag.d.ts +25 -0
  227. package/dist/converters/tag.d.ts.map +1 -0
  228. package/dist/converters/tag.js +98 -0
  229. package/dist/converters/tag.js.map +1 -0
  230. package/dist/converters/template.d.ts +26 -0
  231. package/dist/converters/template.d.ts.map +1 -0
  232. package/dist/converters/template.js +44 -0
  233. package/dist/converters/template.js.map +1 -0
  234. package/dist/index.d.ts +28 -721
  235. package/dist/index.d.ts.map +1 -0
  236. package/dist/index.js +37 -3634
  237. package/dist/index.js.map +1 -1
  238. package/dist/revalidation/handlers.d.ts +52 -0
  239. package/dist/revalidation/handlers.d.ts.map +1 -0
  240. package/dist/revalidation/handlers.js +130 -0
  241. package/dist/revalidation/handlers.js.map +1 -0
  242. package/dist/revalidation/index.d.ts +3 -0
  243. package/dist/revalidation/index.d.ts.map +1 -0
  244. package/dist/revalidation/index.js +4 -0
  245. package/dist/revalidation/index.js.map +1 -0
  246. package/dist/revalidation/nextjs-route.d.ts +31 -0
  247. package/dist/revalidation/nextjs-route.d.ts.map +1 -0
  248. package/dist/revalidation/nextjs-route.js +34 -0
  249. package/dist/revalidation/nextjs-route.js.map +1 -0
  250. package/dist/revalidation/route.d.ts +3 -0
  251. package/dist/revalidation/route.d.ts.map +1 -0
  252. package/dist/revalidation/route.js +97 -0
  253. package/dist/revalidation/route.js.map +1 -0
  254. package/dist/revalidation/server-utils.d.ts +22 -0
  255. package/dist/revalidation/server-utils.d.ts.map +1 -0
  256. package/dist/revalidation/server-utils.js +41 -0
  257. package/dist/revalidation/server-utils.js.map +1 -0
  258. package/dist/revalidation/tags.d.ts +81 -0
  259. package/dist/revalidation/tags.d.ts.map +1 -0
  260. package/dist/revalidation/tags.js +117 -0
  261. package/dist/revalidation/tags.js.map +1 -0
  262. package/dist/revalidation/utils.d.ts +21 -0
  263. package/dist/revalidation/utils.d.ts.map +1 -0
  264. package/dist/revalidation/utils.js +51 -0
  265. package/dist/revalidation/utils.js.map +1 -0
  266. package/dist/server.d.ts +7 -0
  267. package/dist/server.d.ts.map +1 -0
  268. package/dist/server.js +10 -0
  269. package/dist/server.js.map +1 -0
  270. package/dist/types.d.ts +67 -0
  271. package/dist/types.d.ts.map +1 -0
  272. package/dist/types.js +2 -0
  273. package/dist/types.js.map +1 -0
  274. package/dist/utils/arrayUtils.d.ts +3 -0
  275. package/dist/utils/arrayUtils.d.ts.map +1 -0
  276. package/dist/utils/arrayUtils.js +12 -0
  277. package/dist/utils/arrayUtils.js.map +1 -0
  278. package/dist/utils/dateUtils.d.ts +9 -0
  279. package/dist/utils/dateUtils.d.ts.map +1 -0
  280. package/dist/utils/dateUtils.js +26 -0
  281. package/dist/utils/dateUtils.js.map +1 -0
  282. package/dist/utils/errors.d.ts +56 -0
  283. package/dist/utils/errors.d.ts.map +1 -0
  284. package/dist/utils/errors.js +100 -0
  285. package/dist/utils/errors.js.map +1 -0
  286. package/dist/utils/index.d.ts +8 -0
  287. package/dist/utils/index.d.ts.map +1 -0
  288. package/dist/utils/index.js +8 -0
  289. package/dist/utils/index.js.map +1 -0
  290. package/dist/utils/json-utils.d.ts +17 -0
  291. package/dist/utils/json-utils.d.ts.map +1 -0
  292. package/dist/utils/json-utils.js +43 -0
  293. package/dist/utils/json-utils.js.map +1 -0
  294. package/dist/utils/retry.d.ts +112 -0
  295. package/dist/utils/retry.d.ts.map +1 -0
  296. package/dist/utils/retry.js +221 -0
  297. package/dist/utils/retry.js.map +1 -0
  298. package/package.json +12 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/converters/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ISchema } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseSchemaSkeleton } from '../baseTypes/baseSchema';
5
+ import type { ConverterContext } from './helpers';
6
+ /**
7
+ * Base converter for Schema entries to ISchema type
8
+ *
9
+ * @param context - Converter context
10
+ * @param entry - Contentful entry to convert
11
+ * @returns ISchema object
12
+ */
13
+ export declare function baseSchemaConverter(_context: ConverterContext, entry: Entry<BaseSchemaSkeleton, DefaultChainModifier, string>): ISchema;
14
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/converters/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,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,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC7D,OAAO,CAUT"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Base converter for Schema entries to ISchema type
3
+ *
4
+ * @param context - Converter context
5
+ * @param entry - Contentful entry to convert
6
+ * @returns ISchema object
7
+ */
8
+ export function baseSchemaConverter(_context, entry) {
9
+ const { sys, fields } = entry;
10
+ const { cmsLabel, markup } = fields;
11
+ return {
12
+ id: sys.id,
13
+ name: cmsLabel,
14
+ markup: markup ?? '',
15
+ description: `Schema for ${cmsLabel}`,
16
+ };
17
+ }
18
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/converters/schema.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA0B,EAC1B,KAA8D;IAE9D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,WAAW,EAAE,cAAc,QAAQ,EAAE;KACtC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SVG processing utilities for icon sprite generation.
3
+ * These functions fetch and process SVG content during data conversion.
4
+ */
5
+ /**
6
+ * Fetches SVG content from a URL.
7
+ * Uses the parent request's cache tags (page-level) for revalidation.
8
+ *
9
+ * @param url - The URL to fetch the SVG from
10
+ * @returns The SVG content as a string
11
+ * @throws Error if the fetch fails
12
+ */
13
+ export declare function fetchSvgContent(url: string): Promise<string>;
14
+ /**
15
+ * Processes SVG content for use in a sprite sheet.
16
+ * Extracts the SVG content and wraps it in a symbol element.
17
+ *
18
+ * @param svgContent - The raw SVG content
19
+ * @param iconId - Unique identifier for the icon
20
+ * @returns Processed SVG symbol element as a string
21
+ */
22
+ export declare function processSvgForSprite(svgContent: string, iconId: string): string;
23
+ //# sourceMappingURL=svgProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgProcessor.d.ts","sourceRoot":"","sources":["../../src/converters/svgProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsB9E"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * SVG processing utilities for icon sprite generation.
3
+ * These functions fetch and process SVG content during data conversion.
4
+ */
5
+ /**
6
+ * Fetches SVG content from a URL.
7
+ * Uses the parent request's cache tags (page-level) for revalidation.
8
+ *
9
+ * @param url - The URL to fetch the SVG from
10
+ * @returns The SVG content as a string
11
+ * @throws Error if the fetch fails
12
+ */
13
+ export async function fetchSvgContent(url) {
14
+ const response = await fetch(url);
15
+ if (!response.ok) {
16
+ throw new Error(`Failed to fetch SVG from ${url}: ${response.statusText}`);
17
+ }
18
+ return await response.text();
19
+ }
20
+ /**
21
+ * Processes SVG content for use in a sprite sheet.
22
+ * Extracts the SVG content and wraps it in a symbol element.
23
+ *
24
+ * @param svgContent - The raw SVG content
25
+ * @param iconId - Unique identifier for the icon
26
+ * @returns Processed SVG symbol element as a string
27
+ */
28
+ export function processSvgForSprite(svgContent, iconId) {
29
+ // Parse the SVG to extract viewBox and content
30
+ // Handle optional spaces around equals sign
31
+ const viewBoxMatch = svgContent.match(/viewBox\s*=\s*["']([^"']+)["']/i);
32
+ const viewBox = viewBoxMatch ? viewBoxMatch[1] : '0 0 24 24';
33
+ // Extract the inner content of the SVG (everything between <svg> tags)
34
+ // Remove the opening <svg> tag and closing </svg> tag
35
+ const innerContentMatch = svgContent.match(/<svg[^>]*>([\s\S]*)<\/svg>/i);
36
+ if (!innerContentMatch) {
37
+ throw new Error(`Invalid SVG content: could not parse SVG structure`);
38
+ }
39
+ let innerContent = innerContentMatch[1] ?? '';
40
+ // Remove width and height attributes from inner elements if they exist
41
+ // This ensures the symbol scales properly
42
+ innerContent = innerContent.replace(/\s(width|height)=["'][^"']*["']/gi, '');
43
+ // Create the symbol element
44
+ const symbolId = `icon-${iconId}`;
45
+ return `<symbol id="${symbolId}" viewBox="${viewBox}">${innerContent}</symbol>`;
46
+ }
47
+ //# sourceMappingURL=svgProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgProcessor.js","sourceRoot":"","sources":["../../src/converters/svgProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,MAAc;IACpE,+CAA+C;IAC/C,4CAA4C;IAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7D,uEAAuE;IACvE,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,uEAAuE;IACvE,0CAA0C;IAC1C,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IAE7E,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,QAAQ,MAAM,EAAE,CAAC;IAClC,OAAO,eAAe,QAAQ,cAAc,OAAO,KAAK,YAAY,WAAW,CAAC;AAClF,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { IBaseTag, 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 { BaseTagSkeleton } from '../baseTypes/baseTag';
6
+ import { type ConverterContext } from './helpers';
7
+ export declare function baseTagLinkConverter(context: ConverterContext, entry: Entry<BaseTagSkeleton, DefaultChainModifier, string>): IInternalLink;
8
+ /**
9
+ * Base converter for Contentful Tag entries to IBaseTag type
10
+ *
11
+ * This is a minimal implementation that can be extended using
12
+ * the functional composition pattern.
13
+ *
14
+ * @param context - Converter context containing includes and assets
15
+ * @param entry - Contentful entry to convert
16
+ * @param customTypeEntry - Optional custom type entry that defines templates and navigation
17
+ * @returns IBaseTag object
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const tag = baseTagConverter(context, contentfulEntry, customTypeEntry);
22
+ * ```
23
+ */
24
+ export declare function baseTagConverter(context: ConverterContext, entry: Entry<BaseTagSkeleton, DefaultChainModifier, string>, customTypeEntry?: Entry<BaseCustomTypeSkeleton, DefaultChainModifier, string>): IBaseTag;
25
+ //# sourceMappingURL=tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/converters/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAmB,MAAM,4BAA4B,CAAC;AAC3F,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,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAEL,KAAK,gBAAgB,EAMtB,MAAM,WAAW,CAAC;AAUnB,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC1D,aAAa,CAoBf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAC3D,eAAe,CAAC,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC5E,QAAQ,CAyFV"}
@@ -0,0 +1,98 @@
1
+ import { addPositionMetadata, calculateContentCount, createInternalLink, lookupAsset, makeContentfulDescription, makeContentfulTitle, } from './helpers';
2
+ import { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, } from './iconCollector';
3
+ import { resolveNavigation } from './navigationItem';
4
+ import { resolvePageContent, resolveSchema } from './resolver';
5
+ import { resolveTemplate } from './template';
6
+ export function baseTagLinkConverter(context, entry) {
7
+ const { sys, fields } = entry;
8
+ const { name, cmsLabel, ...simpleFields } = fields;
9
+ if (sys.contentType.sys.id !== 'tag') {
10
+ throw new Error(`Invalid content type: expected "tag", got "${sys.contentType.sys.id}"`);
11
+ }
12
+ return createInternalLink(sys.id, {
13
+ ...simpleFields,
14
+ cmsLabel,
15
+ name,
16
+ useName: false,
17
+ title: name,
18
+ }, context, context.urlCalculators.tag(fields.slug), 'Tag');
19
+ }
20
+ /**
21
+ * Base converter for Contentful Tag entries to IBaseTag type
22
+ *
23
+ * This is a minimal implementation that can be extended using
24
+ * the functional composition pattern.
25
+ *
26
+ * @param context - Converter context containing includes and assets
27
+ * @param entry - Contentful entry to convert
28
+ * @param customTypeEntry - Optional custom type entry that defines templates and navigation
29
+ * @returns IBaseTag object
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const tag = baseTagConverter(context, contentfulEntry, customTypeEntry);
34
+ * ```
35
+ */
36
+ export function baseTagConverter(context, entry, customTypeEntry) {
37
+ const { sys, fields } = entry;
38
+ const { id } = sys;
39
+ const { name, slug, description, featuredImage, tagType, menu: menuLink, footer: footerLink, template: templateLink, topContent: topContentLinks, structuredData, ...rest } = fields;
40
+ // Resolve custom type (if provided)
41
+ const customType = customTypeEntry
42
+ ? context.customTypeResolver(context, customTypeEntry)
43
+ : undefined;
44
+ // Resolve template (Tag template > Custom Type template)
45
+ let template = templateLink ? resolveTemplate(context, templateLink) : null;
46
+ if (!template && customTypeEntry?.fields.template) {
47
+ template = resolveTemplate(context, customTypeEntry.fields.template);
48
+ }
49
+ // Resolve navigation (Tag > Custom Type > Template)
50
+ const menu = menuLink
51
+ ? resolveNavigation(context, menuLink)
52
+ : customTypeEntry?.fields.menu
53
+ ? resolveNavigation(context, customTypeEntry.fields.menu)
54
+ : template?.menu;
55
+ const footer = footerLink
56
+ ? resolveNavigation(context, footerLink)
57
+ : customTypeEntry?.fields.footer
58
+ ? resolveNavigation(context, customTypeEntry.fields.footer)
59
+ : template?.footer;
60
+ // Resolve all content sections
61
+ const topContent = topContentLinks
62
+ ?.map((c) => resolvePageContent(context, id, c))
63
+ .filter((item) => item !== null) ?? [];
64
+ const preContent = template?.preContent ?? [];
65
+ const postContent = template?.postContent ?? [];
66
+ // Merge in correct order and add position metadata
67
+ const contents = addPositionMetadata([...topContent, ...preContent, ...postContent]);
68
+ // Collect and deduplicate all SVG icons from tag content and navigation
69
+ const icons = deduplicateIcons(collectIconsFromContent(contents), collectIconsFromNavigation(menu), collectIconsFromNavigation(footer));
70
+ // Resolve tag type name if available
71
+ const tagTypeEntry = tagType ? context.includes.get(tagType.sys.id) : null;
72
+ const tagTypeName = tagTypeEntry?.entry?.fields?.name;
73
+ const tag = {
74
+ type: 'Tag',
75
+ id,
76
+ slug,
77
+ name,
78
+ title: makeContentfulTitle(name, sys.id),
79
+ description: makeContentfulDescription(description, sys.id),
80
+ featuredImage: lookupAsset(context, featuredImage),
81
+ tagType: tagTypeName ?? null,
82
+ contentCount: calculateContentCount(topContent),
83
+ contents,
84
+ icons,
85
+ structuredData: structuredData
86
+ ?.map((link) => resolveSchema(context, id, link))
87
+ .filter((item) => item !== null),
88
+ ...rest,
89
+ menu,
90
+ footer,
91
+ };
92
+ if (customType) {
93
+ // @ts-expect-error - customType is not yet in IBaseTag but might be added later or intersection type used
94
+ tag.customType = customType;
95
+ }
96
+ return tag;
97
+ }
98
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/converters/tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { INavigation, ITyped } from '@se-studio/core-data-types';
2
+ import type { UnresolvedLink } from 'contentful';
3
+ import type { ConverterContext } from './helpers';
4
+ /**
5
+ * Resolved template data structure
6
+ * Templates don't exist as a top-level type in core-data-types,
7
+ * so this is an internal converter type only
8
+ */
9
+ export interface ResolvedTemplate {
10
+ preContent: ReadonlyArray<ITyped>;
11
+ postContent: ReadonlyArray<ITyped>;
12
+ menu?: INavigation;
13
+ footer?: INavigation;
14
+ backgroundColour?: string;
15
+ textColour?: string;
16
+ stickyNav: boolean;
17
+ }
18
+ /**
19
+ * Resolves a template entry from an unresolved link
20
+ *
21
+ * @param context - Converter context containing assets, includes, and resolvers
22
+ * @param link - Unresolved link to template entry
23
+ * @returns Resolved template data with content arrays and navigation
24
+ */
25
+ export declare function resolveTemplate(context: ConverterContext, link: UnresolvedLink<'Entry'>): ResolvedTemplate | null;
26
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/converters/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAC5B,gBAAgB,GAAG,IAAI,CA4CzB"}
@@ -0,0 +1,44 @@
1
+ import { resolveNavigation } from './navigationItem';
2
+ import { resolvePageContent } from './resolver';
3
+ /**
4
+ * Resolves a template entry from an unresolved link
5
+ *
6
+ * @param context - Converter context containing assets, includes, and resolvers
7
+ * @param link - Unresolved link to template entry
8
+ * @returns Resolved template data with content arrays and navigation
9
+ */
10
+ export function resolveTemplate(context, link) {
11
+ const id = link.sys.id;
12
+ const possibleEntry = context.includes.get(id);
13
+ if (!possibleEntry || possibleEntry.type !== 'template') {
14
+ return null;
15
+ }
16
+ const entry = possibleEntry.entry;
17
+ const { fields } = entry;
18
+ if (!fields) {
19
+ return null;
20
+ }
21
+ // Resolve content arrays
22
+ const preContent = fields.preContent
23
+ ?.map((content) => resolvePageContent(context, id, content))
24
+ .filter((item) => item !== null) ?? [];
25
+ const postContent = fields.postContent
26
+ ?.map((content) => resolvePageContent(context, id, content))
27
+ .filter((item) => item !== null) ?? [];
28
+ // Resolve navigation entries
29
+ const menu = fields.menu ? resolveNavigation(context, fields.menu) : undefined;
30
+ const footer = fields.footer ? resolveNavigation(context, fields.footer) : undefined;
31
+ // Check for sticky nav flag
32
+ const stickyNav = fields.flags?.includes('Sticky nav') ?? false;
33
+ const { backgroundColour, textColour } = fields;
34
+ return {
35
+ preContent,
36
+ postContent,
37
+ menu,
38
+ footer,
39
+ backgroundColour,
40
+ textColour,
41
+ stickyNav,
42
+ };
43
+ }
44
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/converters/template.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiBhD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAyB,EACzB,IAA6B;IAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAkE,CAAC;IAC/F,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB;IACzB,MAAM,UAAU,GACd,MAAM,CAAC,UAAU;QACf,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SAC3D,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAE3D,MAAM,WAAW,GACf,MAAM,CAAC,WAAW;QAChB,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SAC3D,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAE3D,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErF,4BAA4B;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;IAEhE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAChD,OAAO;QACL,UAAU;QACV,WAAW;QACX,IAAI;QACJ,MAAM;QACN,gBAAgB;QAChB,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC"}