@alanizcreative/formation-static 1.3.0-beta.29

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 (349) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/cjs/components/Navigation/Navigation.d.ts +16 -0
  4. package/cjs/components/Navigation/Navigation.js +1 -0
  5. package/cjs/components/Navigation/NavigationTypes.d.ts +85 -0
  6. package/cjs/components/Navigation/NavigationTypes.js +1 -0
  7. package/cjs/components/Pagination/Pagination.d.ts +3 -0
  8. package/cjs/components/Pagination/Pagination.js +1 -0
  9. package/cjs/components/Pagination/PaginationTypes.d.ts +44 -0
  10. package/cjs/components/Pagination/PaginationTypes.js +1 -0
  11. package/cjs/config/config.d.ts +5 -0
  12. package/cjs/config/config.js +1 -0
  13. package/cjs/config/configTypes.d.ts +64 -0
  14. package/cjs/config/configTypes.js +1 -0
  15. package/cjs/contentful/contentfulData.d.ts +5 -0
  16. package/cjs/contentful/contentfulData.js +1 -0
  17. package/cjs/contentful/contentfulDataNormal.d.ts +4 -0
  18. package/cjs/contentful/contentfulDataNormal.js +1 -0
  19. package/cjs/contentful/contentfulDataTypes.d.ts +67 -0
  20. package/cjs/contentful/contentfulDataTypes.js +1 -0
  21. package/cjs/global/globalTypes.d.ts +32 -0
  22. package/cjs/global/globalTypes.js +1 -0
  23. package/cjs/layouts/Column/Column.d.ts +3 -0
  24. package/cjs/layouts/Column/Column.js +1 -0
  25. package/cjs/layouts/Column/ColumnTypes.d.ts +16 -0
  26. package/cjs/layouts/Column/ColumnTypes.js +1 -0
  27. package/cjs/layouts/Container/Container.d.ts +3 -0
  28. package/cjs/layouts/Container/Container.js +1 -0
  29. package/cjs/layouts/Container/ContainerTypes.d.ts +15 -0
  30. package/cjs/layouts/Container/ContainerTypes.js +1 -0
  31. package/cjs/local/localData.d.ts +5 -0
  32. package/cjs/local/localData.js +1 -0
  33. package/cjs/local/localDataNormal.d.ts +3 -0
  34. package/cjs/local/localDataNormal.js +1 -0
  35. package/cjs/local/localDataTypes.d.ts +14 -0
  36. package/cjs/local/localDataTypes.js +1 -0
  37. package/cjs/objects/Form/Form.d.ts +3 -0
  38. package/cjs/objects/Form/Form.js +1 -0
  39. package/cjs/objects/Form/FormField.d.ts +3 -0
  40. package/cjs/objects/Form/FormField.js +1 -0
  41. package/cjs/objects/Form/FormOption.d.ts +3 -0
  42. package/cjs/objects/Form/FormOption.js +1 -0
  43. package/cjs/objects/Form/FormTypes.d.ts +74 -0
  44. package/cjs/objects/Form/FormTypes.js +1 -0
  45. package/cjs/package.json +1 -0
  46. package/cjs/redirects/redirects.d.ts +4 -0
  47. package/cjs/redirects/redirects.js +1 -0
  48. package/cjs/redirects/redirectsFile.d.ts +2 -0
  49. package/cjs/redirects/redirectsFile.js +1 -0
  50. package/cjs/render/render.d.ts +11 -0
  51. package/cjs/render/render.js +1 -0
  52. package/cjs/render/renderInline.d.ts +4 -0
  53. package/cjs/render/renderInline.js +1 -0
  54. package/cjs/render/renderTypes.d.ts +198 -0
  55. package/cjs/render/renderTypes.js +1 -0
  56. package/cjs/serverless/Ajax/Ajax.d.ts +3 -0
  57. package/cjs/serverless/Ajax/Ajax.js +1 -0
  58. package/cjs/serverless/Ajax/AjaxTypes.d.ts +11 -0
  59. package/cjs/serverless/Ajax/AjaxTypes.js +1 -0
  60. package/cjs/serverless/Contact/Contact.d.ts +3 -0
  61. package/cjs/serverless/Contact/Contact.js +1 -0
  62. package/cjs/serverless/Contact/ContactTypes.d.ts +13 -0
  63. package/cjs/serverless/Contact/ContactTypes.js +1 -0
  64. package/cjs/serverless/Preview/Preview.d.ts +5 -0
  65. package/cjs/serverless/Preview/Preview.js +1 -0
  66. package/cjs/serverless/Reload/Reload.d.ts +5 -0
  67. package/cjs/serverless/Reload/Reload.js +1 -0
  68. package/cjs/serverless/Reload/ReloadTypes.d.ts +5 -0
  69. package/cjs/serverless/Reload/ReloadTypes.js +1 -0
  70. package/cjs/serverless/serverless.d.ts +6 -0
  71. package/cjs/serverless/serverless.js +1 -0
  72. package/cjs/serverless/serverlessFiles.d.ts +3 -0
  73. package/cjs/serverless/serverlessFiles.js +1 -0
  74. package/cjs/serverless/serverlessTypes.d.ts +50 -0
  75. package/cjs/serverless/serverlessTypes.js +1 -0
  76. package/cjs/store/store.d.ts +9 -0
  77. package/cjs/store/store.js +1 -0
  78. package/cjs/store/storeFiles.d.ts +2 -0
  79. package/cjs/store/storeFiles.js +1 -0
  80. package/cjs/store/storeTypes.d.ts +35 -0
  81. package/cjs/store/storeTypes.js +1 -0
  82. package/cjs/text/RichText/RichText.d.ts +4 -0
  83. package/cjs/text/RichText/RichText.js +1 -0
  84. package/cjs/text/RichText/RichTextTypes.d.ts +54 -0
  85. package/cjs/text/RichText/RichTextTypes.js +1 -0
  86. package/cjs/utils/ResponseError/ResponseError.d.ts +5 -0
  87. package/cjs/utils/ResponseError/ResponseError.js +1 -0
  88. package/cjs/utils/action/action.d.ts +8 -0
  89. package/cjs/utils/action/action.js +1 -0
  90. package/cjs/utils/action/actionTypes.d.ts +10 -0
  91. package/cjs/utils/action/actionTypes.js +1 -0
  92. package/cjs/utils/archive/archive.d.ts +7 -0
  93. package/cjs/utils/archive/archive.js +1 -0
  94. package/cjs/utils/archive/archiveTypes.d.ts +18 -0
  95. package/cjs/utils/archive/archiveTypes.js +1 -0
  96. package/cjs/utils/array/array.d.ts +3 -0
  97. package/cjs/utils/array/array.js +1 -0
  98. package/cjs/utils/boolean/boolean.d.ts +2 -0
  99. package/cjs/utils/boolean/boolean.js +1 -0
  100. package/cjs/utils/contentType/contentType.d.ts +2 -0
  101. package/cjs/utils/contentType/contentType.js +1 -0
  102. package/cjs/utils/dataSource/dataSource.d.ts +3 -0
  103. package/cjs/utils/dataSource/dataSource.js +1 -0
  104. package/cjs/utils/dataSource/dataSourceTypes.d.ts +9 -0
  105. package/cjs/utils/dataSource/dataSourceTypes.js +1 -0
  106. package/cjs/utils/escape/escape.d.ts +2 -0
  107. package/cjs/utils/escape/escape.js +1 -0
  108. package/cjs/utils/excerpt/excerpt.d.ts +3 -0
  109. package/cjs/utils/excerpt/excerpt.js +1 -0
  110. package/cjs/utils/excerpt/excerptTypes.d.ts +14 -0
  111. package/cjs/utils/excerpt/excerptTypes.js +1 -0
  112. package/cjs/utils/file/filePath.d.ts +2 -0
  113. package/cjs/utils/file/filePath.js +1 -0
  114. package/cjs/utils/filter/filter.d.ts +8 -0
  115. package/cjs/utils/filter/filter.js +1 -0
  116. package/cjs/utils/filter/filterTypes.d.ts +62 -0
  117. package/cjs/utils/filter/filterTypes.js +1 -0
  118. package/cjs/utils/function/function.d.ts +3 -0
  119. package/cjs/utils/function/function.js +1 -0
  120. package/cjs/utils/heading/heading.d.ts +2 -0
  121. package/cjs/utils/heading/heading.js +1 -0
  122. package/cjs/utils/image/image.d.ts +5 -0
  123. package/cjs/utils/image/image.js +1 -0
  124. package/cjs/utils/image/imageLocal.d.ts +3 -0
  125. package/cjs/utils/image/imageLocal.js +1 -0
  126. package/cjs/utils/image/imageRemote.d.ts +3 -0
  127. package/cjs/utils/image/imageRemote.js +1 -0
  128. package/cjs/utils/image/imageTypes.d.ts +60 -0
  129. package/cjs/utils/image/imageTypes.js +1 -0
  130. package/cjs/utils/json/json.d.ts +3 -0
  131. package/cjs/utils/json/json.js +1 -0
  132. package/cjs/utils/link/link.d.ts +6 -0
  133. package/cjs/utils/link/link.js +1 -0
  134. package/cjs/utils/link/linkShare.d.ts +3 -0
  135. package/cjs/utils/link/linkShare.js +1 -0
  136. package/cjs/utils/link/linkTypes.d.ts +31 -0
  137. package/cjs/utils/link/linkTypes.js +1 -0
  138. package/cjs/utils/map/map.d.ts +2 -0
  139. package/cjs/utils/map/map.js +1 -0
  140. package/cjs/utils/minify/minify.d.ts +2 -0
  141. package/cjs/utils/minify/minify.js +1 -0
  142. package/cjs/utils/number/number.d.ts +2 -0
  143. package/cjs/utils/number/number.js +1 -0
  144. package/cjs/utils/object/object.d.ts +4 -0
  145. package/cjs/utils/object/object.js +1 -0
  146. package/cjs/utils/object/objectUtils.d.ts +2 -0
  147. package/cjs/utils/object/objectUtils.js +1 -0
  148. package/cjs/utils/path/path.d.ts +3 -0
  149. package/cjs/utils/path/path.js +1 -0
  150. package/cjs/utils/print/print.d.ts +2 -0
  151. package/cjs/utils/print/print.js +1 -0
  152. package/cjs/utils/scriptStyle/scriptStyle.d.ts +8 -0
  153. package/cjs/utils/scriptStyle/scriptStyle.js +1 -0
  154. package/cjs/utils/scriptStyle/scriptStyleTypes.d.ts +12 -0
  155. package/cjs/utils/scriptStyle/scriptStyleTypes.js +1 -0
  156. package/cjs/utils/set/set.d.ts +3 -0
  157. package/cjs/utils/set/set.js +1 -0
  158. package/cjs/utils/shortcode/shortcode.d.ts +10 -0
  159. package/cjs/utils/shortcode/shortcode.js +1 -0
  160. package/cjs/utils/shortcode/shortcodeTypes.d.ts +20 -0
  161. package/cjs/utils/shortcode/shortcodeTypes.js +1 -0
  162. package/cjs/utils/string/string.d.ts +3 -0
  163. package/cjs/utils/string/string.js +1 -0
  164. package/cjs/utils/tag/tag.d.ts +4 -0
  165. package/cjs/utils/tag/tag.js +1 -0
  166. package/cjs/utils/tag/tagTypes.d.ts +7 -0
  167. package/cjs/utils/tag/tagTypes.js +1 -0
  168. package/cjs/utils/year/year.d.ts +2 -0
  169. package/cjs/utils/year/year.js +1 -0
  170. package/cjs/wordpress/wordpressData.d.ts +6 -0
  171. package/cjs/wordpress/wordpressData.js +1 -0
  172. package/cjs/wordpress/wordpressDataNormal.d.ts +9 -0
  173. package/cjs/wordpress/wordpressDataNormal.js +1 -0
  174. package/cjs/wordpress/wordpressDataTypes.d.ts +206 -0
  175. package/cjs/wordpress/wordpressDataTypes.js +1 -0
  176. package/lib/components/Navigation/Navigation.d.ts +16 -0
  177. package/lib/components/Navigation/Navigation.js +1 -0
  178. package/lib/components/Navigation/NavigationTypes.d.ts +85 -0
  179. package/lib/components/Navigation/NavigationTypes.js +1 -0
  180. package/lib/components/Pagination/Pagination.d.ts +3 -0
  181. package/lib/components/Pagination/Pagination.js +1 -0
  182. package/lib/components/Pagination/PaginationTypes.d.ts +44 -0
  183. package/lib/components/Pagination/PaginationTypes.js +1 -0
  184. package/lib/config/config.d.ts +5 -0
  185. package/lib/config/config.js +1 -0
  186. package/lib/config/configTypes.d.ts +64 -0
  187. package/lib/config/configTypes.js +1 -0
  188. package/lib/contentful/contentfulData.d.ts +5 -0
  189. package/lib/contentful/contentfulData.js +1 -0
  190. package/lib/contentful/contentfulDataNormal.d.ts +4 -0
  191. package/lib/contentful/contentfulDataNormal.js +1 -0
  192. package/lib/contentful/contentfulDataTypes.d.ts +67 -0
  193. package/lib/contentful/contentfulDataTypes.js +1 -0
  194. package/lib/global/globalTypes.d.ts +32 -0
  195. package/lib/global/globalTypes.js +1 -0
  196. package/lib/layouts/Column/Column.d.ts +3 -0
  197. package/lib/layouts/Column/Column.js +1 -0
  198. package/lib/layouts/Column/ColumnTypes.d.ts +16 -0
  199. package/lib/layouts/Column/ColumnTypes.js +1 -0
  200. package/lib/layouts/Container/Container.d.ts +3 -0
  201. package/lib/layouts/Container/Container.js +1 -0
  202. package/lib/layouts/Container/ContainerTypes.d.ts +15 -0
  203. package/lib/layouts/Container/ContainerTypes.js +1 -0
  204. package/lib/local/localData.d.ts +5 -0
  205. package/lib/local/localData.js +1 -0
  206. package/lib/local/localDataNormal.d.ts +3 -0
  207. package/lib/local/localDataNormal.js +1 -0
  208. package/lib/local/localDataTypes.d.ts +14 -0
  209. package/lib/local/localDataTypes.js +1 -0
  210. package/lib/objects/Form/Form.d.ts +3 -0
  211. package/lib/objects/Form/Form.js +1 -0
  212. package/lib/objects/Form/FormField.d.ts +3 -0
  213. package/lib/objects/Form/FormField.js +1 -0
  214. package/lib/objects/Form/FormOption.d.ts +3 -0
  215. package/lib/objects/Form/FormOption.js +1 -0
  216. package/lib/objects/Form/FormTypes.d.ts +74 -0
  217. package/lib/objects/Form/FormTypes.js +1 -0
  218. package/lib/package.json +1 -0
  219. package/lib/redirects/redirects.d.ts +4 -0
  220. package/lib/redirects/redirects.js +1 -0
  221. package/lib/redirects/redirectsFile.d.ts +2 -0
  222. package/lib/redirects/redirectsFile.js +1 -0
  223. package/lib/render/render.d.ts +11 -0
  224. package/lib/render/render.js +1 -0
  225. package/lib/render/renderInline.d.ts +4 -0
  226. package/lib/render/renderInline.js +1 -0
  227. package/lib/render/renderTypes.d.ts +198 -0
  228. package/lib/render/renderTypes.js +1 -0
  229. package/lib/serverless/Ajax/Ajax.d.ts +3 -0
  230. package/lib/serverless/Ajax/Ajax.js +1 -0
  231. package/lib/serverless/Ajax/AjaxTypes.d.ts +11 -0
  232. package/lib/serverless/Ajax/AjaxTypes.js +1 -0
  233. package/lib/serverless/Contact/Contact.d.ts +3 -0
  234. package/lib/serverless/Contact/Contact.js +1 -0
  235. package/lib/serverless/Contact/ContactTypes.d.ts +13 -0
  236. package/lib/serverless/Contact/ContactTypes.js +1 -0
  237. package/lib/serverless/Preview/Preview.d.ts +5 -0
  238. package/lib/serverless/Preview/Preview.js +1 -0
  239. package/lib/serverless/Reload/Reload.d.ts +5 -0
  240. package/lib/serverless/Reload/Reload.js +1 -0
  241. package/lib/serverless/Reload/ReloadTypes.d.ts +5 -0
  242. package/lib/serverless/Reload/ReloadTypes.js +1 -0
  243. package/lib/serverless/serverless.d.ts +6 -0
  244. package/lib/serverless/serverless.js +1 -0
  245. package/lib/serverless/serverlessFiles.d.ts +3 -0
  246. package/lib/serverless/serverlessFiles.js +1 -0
  247. package/lib/serverless/serverlessTypes.d.ts +50 -0
  248. package/lib/serverless/serverlessTypes.js +1 -0
  249. package/lib/store/store.d.ts +9 -0
  250. package/lib/store/store.js +1 -0
  251. package/lib/store/storeFiles.d.ts +2 -0
  252. package/lib/store/storeFiles.js +1 -0
  253. package/lib/store/storeTypes.d.ts +35 -0
  254. package/lib/store/storeTypes.js +1 -0
  255. package/lib/text/RichText/RichText.d.ts +4 -0
  256. package/lib/text/RichText/RichText.js +1 -0
  257. package/lib/text/RichText/RichTextTypes.d.ts +54 -0
  258. package/lib/text/RichText/RichTextTypes.js +1 -0
  259. package/lib/utils/ResponseError/ResponseError.d.ts +5 -0
  260. package/lib/utils/ResponseError/ResponseError.js +1 -0
  261. package/lib/utils/action/action.d.ts +8 -0
  262. package/lib/utils/action/action.js +1 -0
  263. package/lib/utils/action/actionTypes.d.ts +10 -0
  264. package/lib/utils/action/actionTypes.js +1 -0
  265. package/lib/utils/archive/archive.d.ts +7 -0
  266. package/lib/utils/archive/archive.js +1 -0
  267. package/lib/utils/archive/archiveTypes.d.ts +18 -0
  268. package/lib/utils/archive/archiveTypes.js +1 -0
  269. package/lib/utils/array/array.d.ts +3 -0
  270. package/lib/utils/array/array.js +1 -0
  271. package/lib/utils/boolean/boolean.d.ts +2 -0
  272. package/lib/utils/boolean/boolean.js +1 -0
  273. package/lib/utils/contentType/contentType.d.ts +2 -0
  274. package/lib/utils/contentType/contentType.js +1 -0
  275. package/lib/utils/dataSource/dataSource.d.ts +3 -0
  276. package/lib/utils/dataSource/dataSource.js +1 -0
  277. package/lib/utils/dataSource/dataSourceTypes.d.ts +9 -0
  278. package/lib/utils/dataSource/dataSourceTypes.js +1 -0
  279. package/lib/utils/escape/escape.d.ts +2 -0
  280. package/lib/utils/escape/escape.js +1 -0
  281. package/lib/utils/excerpt/excerpt.d.ts +3 -0
  282. package/lib/utils/excerpt/excerpt.js +1 -0
  283. package/lib/utils/excerpt/excerptTypes.d.ts +14 -0
  284. package/lib/utils/excerpt/excerptTypes.js +1 -0
  285. package/lib/utils/file/filePath.d.ts +2 -0
  286. package/lib/utils/file/filePath.js +1 -0
  287. package/lib/utils/filter/filter.d.ts +8 -0
  288. package/lib/utils/filter/filter.js +1 -0
  289. package/lib/utils/filter/filterTypes.d.ts +62 -0
  290. package/lib/utils/filter/filterTypes.js +1 -0
  291. package/lib/utils/function/function.d.ts +3 -0
  292. package/lib/utils/function/function.js +1 -0
  293. package/lib/utils/heading/heading.d.ts +2 -0
  294. package/lib/utils/heading/heading.js +1 -0
  295. package/lib/utils/image/image.d.ts +5 -0
  296. package/lib/utils/image/image.js +1 -0
  297. package/lib/utils/image/imageLocal.d.ts +3 -0
  298. package/lib/utils/image/imageLocal.js +1 -0
  299. package/lib/utils/image/imageRemote.d.ts +3 -0
  300. package/lib/utils/image/imageRemote.js +1 -0
  301. package/lib/utils/image/imageTypes.d.ts +60 -0
  302. package/lib/utils/image/imageTypes.js +1 -0
  303. package/lib/utils/json/json.d.ts +3 -0
  304. package/lib/utils/json/json.js +1 -0
  305. package/lib/utils/link/link.d.ts +6 -0
  306. package/lib/utils/link/link.js +1 -0
  307. package/lib/utils/link/linkShare.d.ts +3 -0
  308. package/lib/utils/link/linkShare.js +1 -0
  309. package/lib/utils/link/linkTypes.d.ts +31 -0
  310. package/lib/utils/link/linkTypes.js +1 -0
  311. package/lib/utils/map/map.d.ts +2 -0
  312. package/lib/utils/map/map.js +1 -0
  313. package/lib/utils/minify/minify.d.ts +2 -0
  314. package/lib/utils/minify/minify.js +1 -0
  315. package/lib/utils/number/number.d.ts +2 -0
  316. package/lib/utils/number/number.js +1 -0
  317. package/lib/utils/object/object.d.ts +4 -0
  318. package/lib/utils/object/object.js +1 -0
  319. package/lib/utils/object/objectUtils.d.ts +2 -0
  320. package/lib/utils/object/objectUtils.js +1 -0
  321. package/lib/utils/path/path.d.ts +3 -0
  322. package/lib/utils/path/path.js +1 -0
  323. package/lib/utils/print/print.d.ts +2 -0
  324. package/lib/utils/print/print.js +1 -0
  325. package/lib/utils/scriptStyle/scriptStyle.d.ts +8 -0
  326. package/lib/utils/scriptStyle/scriptStyle.js +1 -0
  327. package/lib/utils/scriptStyle/scriptStyleTypes.d.ts +12 -0
  328. package/lib/utils/scriptStyle/scriptStyleTypes.js +1 -0
  329. package/lib/utils/set/set.d.ts +3 -0
  330. package/lib/utils/set/set.js +1 -0
  331. package/lib/utils/shortcode/shortcode.d.ts +10 -0
  332. package/lib/utils/shortcode/shortcode.js +1 -0
  333. package/lib/utils/shortcode/shortcodeTypes.d.ts +20 -0
  334. package/lib/utils/shortcode/shortcodeTypes.js +1 -0
  335. package/lib/utils/string/string.d.ts +3 -0
  336. package/lib/utils/string/string.js +1 -0
  337. package/lib/utils/tag/tag.d.ts +4 -0
  338. package/lib/utils/tag/tag.js +1 -0
  339. package/lib/utils/tag/tagTypes.d.ts +7 -0
  340. package/lib/utils/tag/tagTypes.js +1 -0
  341. package/lib/utils/year/year.d.ts +2 -0
  342. package/lib/utils/year/year.js +1 -0
  343. package/lib/wordpress/wordpressData.d.ts +6 -0
  344. package/lib/wordpress/wordpressData.js +1 -0
  345. package/lib/wordpress/wordpressDataNormal.d.ts +9 -0
  346. package/lib/wordpress/wordpressDataNormal.js +1 -0
  347. package/lib/wordpress/wordpressDataTypes.d.ts +206 -0
  348. package/lib/wordpress/wordpressDataTypes.js +1 -0
  349. package/package.json +87 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPlainText=exports.RichText=void 0;const link_js_1=require("../../utils/link/link.js"),excerpt_js_1=require("../../utils/excerpt/excerpt.js"),filter_js_1=require("../../utils/filter/filter.js"),string_js_1=require("../../utils/string/string.js"),array_js_1=require("../../utils/array/array.js"),object_js_1=require("../../utils/object/object.js"),heading_js_1=require("../../utils/heading/heading.js"),containsShortcode=(tag,content)=>"p"===tag&&"["===content.charAt(0)&&"]"===content.charAt(content.length-1),addDataAttr=(dataAttr=!0,tag="")=>(0,array_js_1.isArrayStrict)(dataAttr)?dataAttr.includes(tag):dataAttr,getContent=args=>{const{content:content=[],props:props,dataAttr:dataAttr=!1}=args;let{_output:_output=""}=args;for(const item of content){const newItem=(0,filter_js_1.applyFilters)("richTextContentItem",item,props),itemObj=(0,object_js_1.isObjectStrict)(newItem)?newItem:{},{link:link,attr:attr,internalLink:internalLink,content:itemContent}=itemObj;let{tag:tag=""}=itemObj,newContent=itemContent;const isSingleTag="br"===tag||"hr"===tag;(0,array_js_1.isArrayStrict)(itemContent)&&(newContent=getContent({content:itemContent,props:props,dataAttr:dataAttr}));const attrs=[];if(addDataAttr(dataAttr,tag)&&attrs.push(`data-rich="${tag}"`),(0,string_js_1.isStringStrict)(attr)&&attrs.push(attr),(0,object_js_1.isObjectStrict)(attr)&&Object.entries(attr).forEach((([key,value])=>{attrs.push(`${key}="${value}"`)})),"a"===tag){let anchorLink=link;internalLink&&(anchorLink=(0,link_js_1.getLink)(internalLink)),(0,string_js_1.isStringStrict)(anchorLink)&&attrs.push(`href="${anchorLink}"`)}let outputStr="";if((0,string_js_1.isString)(newContent)){const richTextContentFilterArgs={args:newItem,props:props},filteredContent=(0,filter_js_1.applyFilters)("richTextContent",newContent,richTextContentFilterArgs);(0,string_js_1.isString)(filteredContent)&&(newContent=filteredContent),outputStr+=newContent}containsShortcode(tag,outputStr)&&(tag="");let opening="",closing="",inner="";(0,string_js_1.isStringStrict)(tag)&&outputStr.trim()&&!isSingleTag&&(opening=`<${tag}${attrs.length>0?` ${attrs.join(" ")}`:""}>`,closing=`</${tag}>`,inner=outputStr,outputStr=`${opening}${outputStr}${closing}`),isSingleTag&&(outputStr=`<${tag}>`);const richTextContentOutputArgs={args:newItem,props:props,element:{opening:opening,closing:closing,content:inner}};outputStr=(0,filter_js_1.applyFilters)("richTextContentOutput",outputStr,richTextContentOutputArgs),_output+=outputStr}return _output},getPlainText=(args,_output="")=>{if((0,string_js_1.isString)(args))return args;const content=(0,object_js_1.isObjectStrict)(args)?args.content:args;if(!(0,array_js_1.isArrayStrict)(content))return _output;for(const item of content){const{content:itemContent}=(0,object_js_1.isObjectStrict)(item)?item:{};(0,string_js_1.isString)(itemContent)&&(_output+=itemContent),(0,array_js_1.isArrayStrict)(itemContent)&&(_output=getPlainText({content:itemContent},_output))}return _output};exports.getPlainText=getPlainText;const RichText=props=>{if(!(0,object_js_1.isObjectStrict)(props))return"";if(props=(0,filter_js_1.applyFilters)("richTextProps",props),!(0,object_js_1.isObjectStrict)(props))return"";const{args:args}=props;if(!(0,object_js_1.isObjectStrict)(args))return"";const{content:content=[],classes:classes,link:link,internalLink:internalLink,textStyle:textStyle,headingStyle:headingStyle,align:align,style:style,attr:attr,dataAttr:dataAttr=!0}=args;let{tag:tag=""}=args;if("hr"===tag||"br"===tag)return`<${tag}>`;const isSectionHeading=(0,heading_js_1.isHeading)(tag),classesArr=[];(0,string_js_1.isStringStrict)(classes)&&classesArr.push(classes),(0,string_js_1.isStringStrict)(textStyle)&&classesArr.push(textStyle),(0,string_js_1.isStringStrict)(headingStyle)&&isSectionHeading&&classesArr.push(headingStyle),(0,string_js_1.isStringStrict)(align)&&classesArr.push(align);const filterProps={...props};filterProps.args.content=void 0;let headingObj,output="",headingStr="";(0,string_js_1.isStringStrict)(content)&&(output=content,headingStr=content),(0,array_js_1.isArrayStrict)(content)&&(headingObj=content,output=getContent({content:content,props:filterProps,dataAttr:dataAttr}));const attrs=[];if(addDataAttr(dataAttr,tag)&&attrs.push(`data-rich="${tag}"`),isSectionHeading){const headingContents=(0,excerpt_js_1.getExcerpt)({limit:10,limitExcerpt:!0,excerpt:headingStr,content:headingObj}),id=headingContents.trim().replace(/&hellip;/g,"").replace(/[^\w\s]|_/g,"").replace(/\s+/g,"-").toLowerCase();headingContents&&id&&(attrs.push(`id="${id}"`),(0,array_js_1.isArray)(props.headings)&&props.headings.push({id:id,title:headingContents,type:tag}))}if("a"===tag){let anchorLink=link;const inLink=(0,link_js_1.getLink)(internalLink);(0,string_js_1.isStringStrict)(inLink)&&(anchorLink=inLink),(0,string_js_1.isStringStrict)(anchorLink)&&attrs.push(`href="${anchorLink}"`)}classesArr.length>0&&attrs.push(`class="${classesArr.join(" ")}"`),(0,string_js_1.isStringStrict)(style)&&attrs.push(`style="${style}"`),(0,string_js_1.isStringStrict)(attr)&&attrs.push(attr),(0,object_js_1.isObjectStrict)(attr)&&Object.entries(attr).forEach((([key,value])=>{attrs.push(`${key}="${value}"`)})),containsShortcode(tag,output)&&(tag="");let opening="",closing="",inner="";(0,string_js_1.isStringStrict)(tag)&&output.trim()&&(opening=`<${tag}${attrs.length>0?` ${attrs.join(" ")}`:""}>`,closing=`</${tag}>`,inner=output,output=`${opening}${output}${closing}`);const richTextOutputArgs={props:filterProps,element:{opening:opening,closing:closing,content:inner}};return output=(0,filter_js_1.applyFilters)("richTextOutput",output,richTextOutputArgs),output};exports.RichText=RichText;
@@ -0,0 +1,54 @@
1
+ import type { InternalLink, Generic, GenericStrings } from '../../global/globalTypes.js';
2
+ import type { RenderRichText, RenderFunctionArgs, RenderItem } from '../../render/renderTypes.js';
3
+ export interface RichTextHeading {
4
+ title: string;
5
+ id: string;
6
+ type: string;
7
+ }
8
+ export interface RichTextElement {
9
+ opening: string;
10
+ content: string;
11
+ closing: string;
12
+ }
13
+ export interface RichTextArgs extends Generic {
14
+ tag?: string;
15
+ content?: RenderRichText[] | string;
16
+ classes?: string;
17
+ textStyle?: string;
18
+ headingStyle?: string;
19
+ caption?: RenderRichText[] | string;
20
+ align?: string;
21
+ link?: string;
22
+ internalLink?: InternalLink;
23
+ style?: string;
24
+ attr?: string | GenericStrings;
25
+ dataAttr?: boolean | string[];
26
+ }
27
+ export interface RichTextContent extends Generic {
28
+ content?: RenderRichText[] | string;
29
+ }
30
+ export interface RichTextProps<T = RichTextArgs, R = RenderItem> extends RenderFunctionArgs<T, R> {
31
+ args: RichTextArgs & T;
32
+ }
33
+ export interface RichTextContentProps {
34
+ content: RenderRichText[];
35
+ props: RichTextProps;
36
+ dataAttr: boolean | string[];
37
+ _output?: string;
38
+ }
39
+ export interface RichTextContentFilterArgs {
40
+ args: RenderRichText;
41
+ props: RichTextProps;
42
+ }
43
+ export interface RichTextContentOutputFilterArgs extends RichTextContentFilterArgs {
44
+ element: RichTextElement;
45
+ }
46
+ export interface RichTextOutputFilterArgs {
47
+ props: RichTextProps;
48
+ element: RichTextElement;
49
+ }
50
+ export type RichTextPropsFilter = (props: RichTextProps) => RichTextProps;
51
+ export type RichTextOutputFilter = (output: string, args: RichTextContentOutputFilterArgs) => string;
52
+ export type RichTextContentItemFilter = (item: RenderRichText, args: RichTextProps) => RenderRichText;
53
+ export type RichTextContentFilter = (content: string, args: RichTextContentFilterArgs) => string;
54
+ export type RichTextContentOutputFilter = (content: string, args: RichTextContentOutputFilterArgs) => string;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,5 @@
1
+ declare class ResponseError extends Error {
2
+ response: Response | undefined;
3
+ constructor(message: string, res?: Response);
4
+ }
5
+ export { ResponseError };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseError=void 0;class ResponseError extends Error{response;constructor(message,res){super(message),this.message=message,res instanceof Response&&(this.response=res)}}exports.ResponseError=ResponseError;
@@ -0,0 +1,8 @@
1
+ import type { Actions, ActionMap, ActionReturnType } from './actionTypes.js';
2
+ declare let actions: ActionMap;
3
+ declare const addAction: <T extends keyof Actions>(name: T, action: Actions[T]) => boolean;
4
+ declare const removeAction: <T extends keyof Actions>(name: T, action: Actions[T]) => boolean;
5
+ declare const doActions: <V extends boolean = false>(name: string, args?: unknown, isAsync?: V) => ActionReturnType<V>;
6
+ declare const resetActions: () => void;
7
+ declare const setActions: (args: Partial<Actions>) => boolean;
8
+ export { actions, addAction, removeAction, doActions, resetActions, setActions };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setActions=exports.resetActions=exports.doActions=exports.removeAction=exports.addAction=exports.actions=void 0;const set_js_1=require("../set/set.js"),string_js_1=require("../string/string.js"),object_js_1=require("../object/object.js"),function_js_1=require("../function/function.js");let actions=new Map([["renderStart",new Set],["renderEnd",new Set],["renderItemStart",new Set],["renderItemEnd",new Set]]);exports.actions=actions;const addAction=(name,action)=>!(!(0,string_js_1.isStringStrict)(name)||!(0,function_js_1.isFunction)(action))&&((0,set_js_1.isSet)(actions.get(name))||actions.set(name,new Set),actions.get(name)?.add(action),!0);exports.addAction=addAction;const removeAction=(name,action)=>{if(!(0,string_js_1.isStringStrict)(name)||!(0,function_js_1.isFunction)(action))return!1;const actionSet=actions.get(name);return!!(0,set_js_1.isSet)(actionSet)&&actionSet.delete(action)};exports.removeAction=removeAction;const doSequentially=async(callbacks,args)=>{for(const callback of callbacks)await callback(args)},doActions=(name,args,isAsync=!1)=>{const actionSet=actions.get(name);if(!(0,set_js_1.isSetStrict)(actionSet))return;const callbacks=[];for(const callback of actionSet.values())isAsync?callbacks.push(callback):callback(args);isAsync&&doSequentially(callbacks,args).then((result=>result)).catch((()=>!1))};exports.doActions=doActions;const resetActions=()=>{exports.actions=actions=new Map([["renderStart",new Set],["renderEnd",new Set],["renderItemStart",new Set],["renderItemEnd",new Set]])};exports.resetActions=resetActions;const setActions=args=>{if(!(0,object_js_1.isObjectStrict)(args))return!1;const newActions=Object.entries(args);return!!newActions.length&&(resetActions(),newActions.forEach((([name,action])=>{action&&addAction(name,action)})),!0)};exports.setActions=setActions;
@@ -0,0 +1,10 @@
1
+ import type { GenericFunction } from '../../global/globalTypes.js';
2
+ import type { RenderStartAction, RenderEndAction, RenderItemStartAction, RenderItemEndAction } from '../../render/renderTypes.js';
3
+ export interface Actions extends Record<string, GenericFunction> {
4
+ renderStart: RenderStartAction;
5
+ renderEnd: RenderEndAction;
6
+ renderItemStart: RenderItemStartAction;
7
+ renderItemEnd: RenderItemEndAction;
8
+ }
9
+ export type ActionMap = Map<string, Set<GenericFunction>> & Map<'renderStart' | 'renderEnd' | 'renderItemStart' | 'renderItemEnd', Set<RenderStartAction | RenderEndAction | RenderItemStartAction | RenderItemEndAction>>;
10
+ export type ActionReturnType<V extends false | true> = V extends true ? Promise<void> : undefined;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,7 @@
1
+ import type { ArchiveInfo, ArchiveTaxonomy, ArchiveLink, ArchiveLabels } from './archiveTypes.js';
2
+ import type { RenderItem } from '../../render/renderTypes.js';
3
+ declare const getArchiveInfo: (contentType: string) => ArchiveInfo;
4
+ declare const getTaxonomyInfo: (contentType: string, pageData?: RenderItem) => ArchiveTaxonomy;
5
+ declare const getArchiveLink: (contentType: string, pageData?: RenderItem) => ArchiveLink;
6
+ declare const getArchiveLabels: (contentType: string, pageData?: RenderItem) => ArchiveLabels;
7
+ export { getArchiveInfo, getTaxonomyInfo, getArchiveLink, getArchiveLabels };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getArchiveLabels=exports.getArchiveLink=exports.getTaxonomyInfo=exports.getArchiveInfo=void 0;const store_js_1=require("../../store/store.js"),object_js_1=require("../object/object.js"),array_js_1=require("../array/array.js"),string_js_1=require("../string/string.js"),boolean_js_1=require("../boolean/boolean.js"),contentType_js_1=require("../contentType/contentType.js"),link_js_1=require("../link/link.js"),getArchiveInfo=contentType=>{const value={id:"",slug:"",title:"",contentType:""};if("page"===(contentType=(0,contentType_js_1.normalizeContentType)(contentType)))return value;const info=(0,store_js_1.getStoreItem)("archiveMeta")[contentType];if(!(0,object_js_1.isObjectStrict)(info))return value;const{id:id,slug:slug,title:title,contentType:type}=info;return value.id=(0,string_js_1.isStringStrict)(id)?id:"",value.slug=(0,string_js_1.isStringStrict)(slug)?slug:"",value.title=(0,string_js_1.isStringStrict)(title)?title:"",value.contentType=(0,string_js_1.isStringStrict)(type)?type:"",value};exports.getArchiveInfo=getArchiveInfo;const getTaxonomyInfo=(contentType,pageData)=>{const value={id:"",slug:"",title:"",contentTypes:[],primaryContentType:"",usePrimaryContentTypeSlug:!0,isPage:!1},taxObj="taxonomy"===contentType?pageData:pageData?.taxonomy;if(!(0,object_js_1.isObjectStrict)(taxObj))return value;const{id:id,slug:slug,link:link,title:title,contentTypes:contentTypes,usePrimaryContentTypeSlug:usePrimaryContentTypeSlug,isPage:isPage}=taxObj,taxonomyTypes=(0,array_js_1.isArrayStrict)(contentTypes)?contentTypes.map((type=>(0,contentType_js_1.normalizeContentType)(type))):[],primaryTaxonomyType=taxonomyTypes[0];return value.id=(0,string_js_1.isStringStrict)(id)?id:"",value.slug=(0,string_js_1.isStringStrict)(slug)?slug:"",value.title=(0,string_js_1.isStringStrict)(title)?title:"",value.contentTypes=taxonomyTypes,value.primaryContentType=(0,string_js_1.isStringStrict)(primaryTaxonomyType)?primaryTaxonomyType:"",value.usePrimaryContentTypeSlug=!(0,boolean_js_1.isBoolean)(usePrimaryContentTypeSlug)||usePrimaryContentTypeSlug,value.isPage=!!(0,boolean_js_1.isBoolean)(isPage)&&isPage,(0,string_js_1.isStringStrict)(link)&&(value.link=link),value};exports.getTaxonomyInfo=getTaxonomyInfo;const getArchiveLink=(contentType,pageData)=>{let slug,title="";const taxonomyInfo=getTaxonomyInfo(contentType,pageData),{title:taxonomyTitle,isPage:taxonomyIsPage,contentTypes:taxonomyTypes,usePrimaryContentTypeSlug:taxonomyUseTypeSlug}=taxonomyInfo;"term"===contentType&&taxonomyIsPage&&(slug=(0,link_js_1.getSlug)({slug:"",contentType:contentType,pageData:pageData}),title=taxonomyTitle);const taxonomyType=taxonomyTypes[0],useArchiveType=taxonomyUseTypeSlug&&(0,string_js_1.isStringStrict)(taxonomyType);"taxonomy"===contentType&&useArchiveType&&(contentType=taxonomyType),"term"===contentType&&!taxonomyIsPage&&useArchiveType&&(contentType=taxonomyType);const archiveInfo=getArchiveInfo(contentType),{id:archiveId,slug:archiveSlug,title:archiveTitle,contentType:archiveType}=archiveInfo;if(archiveSlug&&archiveId){slug=(0,link_js_1.getSlug)({id:archiveId,slug:archiveSlug,contentType:archiveType});const plural=(0,store_js_1.getStoreItem)("archiveMeta")[contentType]?.plural;title=(0,string_js_1.isStringStrict)(plural)?plural:archiveTitle}return{title:title,link:(0,string_js_1.isStringStrict)(slug)?(0,link_js_1.getPermalink)(slug):""}};exports.getArchiveLink=getArchiveLink;const getArchiveLabels=(contentType,pageData)=>{let singular="Post",plural="Posts";const taxonomyInfo=getTaxonomyInfo(contentType,pageData),{title:taxonomyTitle,isPage:taxonomyIsPage,primaryContentType:taxonomyType,usePrimaryContentTypeSlug:taxonomyUseTypeSlug}=taxonomyInfo;if("term"===contentType&&taxonomyIsPage&&(0,string_js_1.isStringStrict)(taxonomyTitle))return{singular:taxonomyTitle,plural:taxonomyTitle};const useArchiveType=taxonomyUseTypeSlug&&(0,string_js_1.isStringStrict)(taxonomyType);if("taxonomy"===contentType&&useArchiveType&&(contentType=taxonomyType),"term"===contentType&&!taxonomyIsPage&&useArchiveType&&(contentType=taxonomyType),(0,string_js_1.isStringStrict)(contentType)){contentType=(0,contentType_js_1.normalizeContentType)(contentType);const archiveType=(0,store_js_1.getStoreItem)("archiveMeta")[contentType],s=archiveType?.singular,p=archiveType?.plural;singular=(0,string_js_1.isStringStrict)(s)?s:"Post",plural=(0,string_js_1.isStringStrict)(p)?p:"Posts"}return{singular:singular,plural:plural}};exports.getArchiveLabels=getArchiveLabels;
@@ -0,0 +1,18 @@
1
+ import type { Taxonomy } from '../../global/globalTypes.js';
2
+ export interface ArchiveInfo {
3
+ id: string;
4
+ slug: string;
5
+ title: string;
6
+ contentType: string;
7
+ }
8
+ export interface ArchiveTaxonomy extends Omit<Required<Taxonomy>, 'link'>, Pick<Taxonomy, 'link'> {
9
+ primaryContentType: string;
10
+ }
11
+ export interface ArchiveLink {
12
+ title: string;
13
+ link: string;
14
+ }
15
+ export interface ArchiveLabels {
16
+ singular: string;
17
+ plural: string;
18
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ declare const isArray: (value: unknown) => value is unknown[];
2
+ declare const isArrayStrict: (value: unknown) => value is unknown[];
3
+ export { isArray, isArrayStrict };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isArrayStrict=exports.isArray=void 0;const isArray=value=>Array.isArray(value);exports.isArray=isArray;const isArrayStrict=value=>isArray(value)&&value.length>0;exports.isArrayStrict=isArrayStrict;
@@ -0,0 +1,2 @@
1
+ declare const isBoolean: (value: unknown) => value is boolean;
2
+ export { isBoolean };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isBoolean=void 0;const isBoolean=value=>"boolean"==typeof value;exports.isBoolean=isBoolean;
@@ -0,0 +1,2 @@
1
+ declare const normalizeContentType: (contentType?: string) => string;
2
+ export { normalizeContentType };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeContentType=void 0;const string_js_1=require("../string/string.js"),config_js_1=require("../../config/config.js"),normalizeContentType=(contentType="")=>{if(!(0,string_js_1.isStringStrict)(contentType))return"";const normalType=config_js_1.config.normalTypes[contentType];return(0,string_js_1.isStringStrict)(normalType)?normalType:contentType};exports.normalizeContentType=normalizeContentType;
@@ -0,0 +1,3 @@
1
+ import type { DataSource } from './dataSourceTypes.js';
2
+ declare const dataSource: DataSource;
3
+ export { dataSource };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dataSource=void 0;const string_js_1=require("../string/string.js"),config_js_1=require("../../config/config.js"),dataSource={isContentful:(source=config_js_1.config.source)=>"contentful"===config_js_1.config.cms.name&&"cms"===source,isWordPress:(source=config_js_1.config.source)=>"wordpress"===config_js_1.config.cms.name&&"cms"===source,isLocal:(source=config_js_1.config.source)=>"local"===source,get(){const cmsName=config_js_1.config.cms.name;return(0,string_js_1.isStringStrict)(cmsName)?cmsName:config_js_1.config.source}};exports.dataSource=dataSource;
@@ -0,0 +1,9 @@
1
+ import type { Source } from '../../global/globalTypes.js';
2
+ export type DataSourceCheck = (source?: Source) => boolean;
3
+ export type DataSourceGet = () => string;
4
+ export interface DataSource {
5
+ isContentful: DataSourceCheck;
6
+ isWordPress: DataSourceCheck;
7
+ isLocal: DataSourceCheck;
8
+ get: DataSourceGet;
9
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,2 @@
1
+ declare const escape: (value: string) => string;
2
+ export { escape };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.escape=void 0;const string_js_1=require("../string/string.js"),escape=value=>{if(!(0,string_js_1.isString)(value))throw new TypeError("Value is not a string");return value.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;").replace(/\\/g,"&#x5C;").replace(/`/g,"&#96;")};exports.escape=escape;
@@ -0,0 +1,3 @@
1
+ import type { ExcerptArgs } from './excerptTypes.js';
2
+ declare const getExcerpt: <T extends object>(args: ExcerptArgs<T>) => string;
3
+ export { getExcerpt };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getExcerpt=void 0;const object_js_1=require("../object/object.js"),string_js_1=require("../string/string.js"),shortcode_js_1=require("../shortcode/shortcode.js"),getContentWords=args=>{const{content:content,prop:prop,limit:limit=25}=args;let{_words:_words=[]}=args;const max=limit+1,wordsLen=_words.length;if((0,object_js_1.isObject)(content)&&wordsLen<max){const addMax=max-wordsLen;for(const[key,value]of Object.entries(content)){if(key===prop&&(0,string_js_1.isStringStrict)(value)){const val=(0,shortcode_js_1.stripShortcodes)(value);if((0,string_js_1.isStringStrict)(val)){let valArr=val.split(" ");valArr.length>addMax&&(valArr=valArr.slice(0,addMax)),_words=_words.concat(valArr)}}(0,object_js_1.isObject)(value)&&(_words=getContentWords({content:value,prop:prop,limit:limit,_words:_words}))}}return _words},getExcerpt=args=>{const{excerpt:excerpt,content:content,prop:prop="content",limit:limit=25,limitExcerpt:limitExcerpt=!1,more:more="&hellip;"}=(0,object_js_1.isObjectStrict)(args)?args:{};let output="";if((0,string_js_1.isStringStrict)(excerpt)){if(output=excerpt,limitExcerpt){let excerptArr=excerpt.split(" ");excerptArr.length>limit&&(excerptArr=excerptArr.slice(0,limit),output=`${excerptArr.join(" ")}${more}`)}}else{const words=getContentWords({content:content,prop:prop,limit:limit}),wordsLen=words.length;wordsLen>0&&(wordsLen>limit&&more&&words.pop(),output=`${words.join(" ")}${wordsLen>limit?more:""}`)}return output};exports.getExcerpt=getExcerpt;
@@ -0,0 +1,14 @@
1
+ export interface ExcerptArgs<T extends object> {
2
+ excerpt?: string;
3
+ content?: T;
4
+ prop?: string;
5
+ limit?: number;
6
+ limitExcerpt?: boolean;
7
+ more?: string;
8
+ }
9
+ export interface ExcerptContentWordArgs<T> {
10
+ content: T;
11
+ prop?: string;
12
+ limit?: number;
13
+ _words?: string[];
14
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,2 @@
1
+ declare const getFilePaths: (dir: string) => AsyncGenerator<string>;
2
+ export { getFilePaths };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFilePaths=void 0;const promises_1=require("node:fs/promises"),node_path_1=require("node:path"),string_js_1=require("../string/string.js"),getFilePaths=async function*(dir){if(!(0,string_js_1.isStringStrict)(dir))throw new Error("No directory provided");const files=await(0,promises_1.readdir)(dir,{withFileTypes:!0});for(const file of files)file.isDirectory()?yield*getFilePaths((0,node_path_1.join)(dir,file.name)):yield(0,node_path_1.join)(dir,file.name)};exports.getFilePaths=getFilePaths;
@@ -0,0 +1,8 @@
1
+ import type { Filters, FilterMap, FilterReturnType } from './filterTypes.js';
2
+ declare let filters: FilterMap;
3
+ declare const addFilter: <T extends keyof Filters>(name: T, filter: Filters[T]) => boolean;
4
+ declare const removeFilter: <T extends keyof Filters>(name: T, filter: Filters[T]) => boolean;
5
+ declare const applyFilters: <T, V extends boolean = false>(name: string, value: T, args?: unknown, isAsync?: V) => FilterReturnType<T, V>;
6
+ declare const resetFilters: () => void;
7
+ declare const setFilters: (args: Partial<Filters>) => boolean;
8
+ export { filters, addFilter, removeFilter, applyFilters, resetFilters, setFilters };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setFilters=exports.resetFilters=exports.applyFilters=exports.removeFilter=exports.addFilter=exports.filters=void 0;const set_js_1=require("../set/set.js"),string_js_1=require("../string/string.js"),object_js_1=require("../object/object.js"),function_js_1=require("../function/function.js");let filters=new Map([["columnProps",new Set],["containerProps",new Set],["formOptionProps",new Set],["formFieldProps",new Set],["formProps",new Set],["richTextProps",new Set],["richTextOutput",new Set],["richTextContentItem",new Set],["richTextContent",new Set],["richTextContentOutput",new Set],["renderItem",new Set],["renderItemData",new Set],["renderContent",new Set],["ajaxResult",new Set],["contactResult",new Set],["cacheData",new Set],["storeData",new Set],["contentfulData",new Set],["wordpressData",new Set],["localData",new Set],["allData",new Set],["slugParts",new Set],["slug",new Set]]);exports.filters=filters;const addFilter=(name,filter)=>!(!(0,string_js_1.isStringStrict)(name)||!(0,function_js_1.isFunction)(filter))&&((0,set_js_1.isSet)(filters.get(name))||filters.set(name,new Set),filters.get(name)?.add(filter),!0);exports.addFilter=addFilter;const removeFilter=(name,filter)=>{if(!(0,string_js_1.isStringStrict)(name)||!(0,function_js_1.isFunction)(filter))return!1;const filterSet=filters.get(name);return!!(0,set_js_1.isSet)(filterSet)&&filterSet.delete(filter)};exports.removeFilter=removeFilter;const applySequentially=async(callbacks,value,args)=>{for(const callback of callbacks)value=await callback(value,args);return value},applyFilters=(name,value,args,isAsync=!1)=>{const filterSet=filters.get(name);if(!(0,set_js_1.isSetStrict)(filterSet))return value;const callbacks=[];for(const callback of filterSet.values())isAsync?callbacks.push(callback):value=callback(value,args);return isAsync?applySequentially(callbacks,value,args).then((newValue=>newValue)).catch((()=>value)):value};exports.applyFilters=applyFilters;const resetFilters=()=>{exports.filters=filters=new Map([["columnProps",new Set],["containerProps",new Set],["formOptionProps",new Set],["formFieldProps",new Set],["formProps",new Set],["richTextProps",new Set],["richTextOutput",new Set],["richTextContentItem",new Set],["richTextContent",new Set],["richTextContentOutput",new Set],["renderItem",new Set],["renderItemData",new Set],["renderContent",new Set],["ajaxResult",new Set],["contactResult",new Set],["cacheData",new Set],["storeData",new Set],["contentfulData",new Set],["wordpressData",new Set],["localData",new Set],["allData",new Set],["slugParts",new Set],["slug",new Set]])};exports.resetFilters=resetFilters;const setFilters=args=>{if(!(0,object_js_1.isObjectStrict)(args))return!1;const newFilters=Object.entries(args);return!!newFilters.length&&(resetFilters(),newFilters.forEach((([name,filter])=>{filter&&addFilter(name,filter)})),!0)};exports.setFilters=setFilters;
@@ -0,0 +1,62 @@
1
+ import type { GenericFunction } from '../../global/globalTypes.js';
2
+ import type { ColumnPropsFilter } from '../../layouts/Column/ColumnTypes.js';
3
+ import type { ContainerPropsFilter } from '../../layouts/Container/ContainerTypes.js';
4
+ import type { FormPropsFilter, FormFieldPropsFilter, FormOptionPropsFilter } from '../../objects/Form/FormTypes.js';
5
+ import type { AjaxResultFilter } from '../../serverless/Ajax/AjaxTypes.js';
6
+ import type { ContactResultFilter } from '../../serverless/Contact/ContactTypes.js';
7
+ import type { LinkSlugPartsFilter, LinkSlugFilter } from '../link/linkTypes.js';
8
+ import type { RichTextPropsFilter, RichTextOutputFilter, RichTextContentItemFilter, RichTextContentFilter, RichTextContentOutputFilter } from '../../text/RichText/RichTextTypes.js';
9
+ import type { RenderItem, RenderItemFilter, RenderItemDataFilter, RenderContentFilter, RenderServerlessData, RenderPreviewData, RenderAllData, RenderDataMeta } from '../../render/renderTypes.js';
10
+ export interface DataFilterArgs {
11
+ serverlessData?: RenderServerlessData;
12
+ previewData?: RenderPreviewData;
13
+ contentType?: string;
14
+ }
15
+ export interface AllDataFilterArgs {
16
+ type: 'contentful' | 'wordpress' | 'local';
17
+ serverlessData?: RenderServerlessData;
18
+ previewData?: RenderPreviewData;
19
+ }
20
+ export type ContentfulDataFilter = (data: RenderItem[], args: DataFilterArgs) => RenderItem[];
21
+ export type WordpressDataFilter = (data: RenderItem[], args: DataFilterArgs) => RenderItem[];
22
+ export type LocalDataFilter = (data: RenderItem) => RenderItem;
23
+ export type AllDataFilter = (allData: RenderAllData, args: AllDataFilterArgs) => RenderAllData;
24
+ export interface CacheData {
25
+ items?: RenderItem[];
26
+ meta?: RenderDataMeta;
27
+ data?: Record<string, RenderItem>;
28
+ }
29
+ export interface CacheDataFilterArgs {
30
+ key: string;
31
+ type: string;
32
+ data?: CacheData;
33
+ }
34
+ export type CacheDataFilter = (data: CacheData, args: CacheDataFilterArgs) => Promise<CacheData | undefined>;
35
+ export type StoreDataFilter = (data: object | undefined, type: string) => Promise<object | undefined>;
36
+ export interface Filters extends Record<string, GenericFunction> {
37
+ columnProps: ColumnPropsFilter;
38
+ containerProps: ContainerPropsFilter;
39
+ formOptionProps: FormOptionPropsFilter;
40
+ formFieldProps: FormFieldPropsFilter;
41
+ formProps: FormPropsFilter;
42
+ richTextProps: RichTextPropsFilter;
43
+ richTextOutput: RichTextOutputFilter;
44
+ richTextContentItem: RichTextContentItemFilter;
45
+ richTextContent: RichTextContentFilter;
46
+ richTextContentOutput: RichTextContentOutputFilter;
47
+ renderItem: RenderItemFilter;
48
+ renderItemData: RenderItemDataFilter;
49
+ renderContent: RenderContentFilter;
50
+ ajaxResult: AjaxResultFilter;
51
+ contactResult: ContactResultFilter;
52
+ cacheData: CacheDataFilter;
53
+ storeData: StoreDataFilter;
54
+ contentfulData: ContentfulDataFilter;
55
+ wordpressData: WordpressDataFilter;
56
+ localData: LocalDataFilter;
57
+ allData: AllDataFilter;
58
+ slugParts: LinkSlugPartsFilter;
59
+ slug: LinkSlugFilter;
60
+ }
61
+ export type FilterMap = Map<string, Set<GenericFunction>> & Map<'columnProps' | 'containerProps' | 'formOptionProps' | 'formFieldProps' | 'formProps' | 'richTextProps' | 'richTextOutput' | 'richTextContentItem' | 'richTextContent' | 'richTextContentOutput' | 'renderItem' | 'renderItemData' | 'renderContent' | 'ajaxResult' | 'contactResult' | 'cacheData' | 'storeData' | 'contentfulData' | 'wordpressData' | 'localData' | 'allData' | 'slugParts' | 'slug', Set<ColumnPropsFilter | ContainerPropsFilter | FormOptionPropsFilter | FormFieldPropsFilter | FormPropsFilter | RichTextPropsFilter | RichTextOutputFilter | RichTextContentItemFilter | RichTextContentFilter | RichTextContentOutputFilter | RenderItemFilter | RenderItemDataFilter | RenderContentFilter | AjaxResultFilter | ContactResultFilter | CacheDataFilter | StoreDataFilter | ContentfulDataFilter | WordpressDataFilter | LocalDataFilter | AllDataFilter | LinkSlugPartsFilter | LinkSlugFilter>>;
62
+ export type FilterReturnType<T, V extends false | true> = V extends true ? Promise<T> : T;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ import type { GenericFunction } from '../../global/globalTypes.js';
2
+ declare const isFunction: <T>(value: T) => value is GenericFunction & T;
3
+ export { isFunction };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isFunction=void 0;const isFunction=value=>"function"==typeof value;exports.isFunction=isFunction;
@@ -0,0 +1,2 @@
1
+ declare const isHeading: (tag: string) => boolean;
2
+ export { isHeading };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isHeading=void 0;const isHeading=tag=>["h1","h2","h3","h4","h5","h6"].includes(tag);exports.isHeading=isHeading;
@@ -0,0 +1,5 @@
1
+ import type { ImageArgs, ImageReturnType, ImageMaxWidthArgs } from './imageTypes.js';
2
+ declare const getImage: <V extends boolean = false>(args: ImageArgs, returnDetails?: V) => ImageReturnType<V>;
3
+ declare const getImageClosestSize: (size: number) => number;
4
+ declare const getImageMaxWidth: (args: ImageMaxWidthArgs) => number;
5
+ export { getImage, getImageClosestSize, getImageMaxWidth };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getImageMaxWidth=exports.getImageClosestSize=exports.getImage=void 0;const config_js_1=require("../../config/config.js"),string_js_1=require("../string/string.js"),array_js_1=require("../array/array.js"),number_js_1=require("../number/number.js"),object_js_1=require("../object/object.js"),dataSource_js_1=require("../dataSource/dataSource.js"),getImage=(args,returnDetails=!1)=>{const{data:data,classes:classes,attr:attr,alt:imageAlt="inherit",width:width="auto",height:height="auto",lazy:lazy=!0,picture:picture=!1,quality:quality=75,source:source=config_js_1.config.source,maxWidth:maxWidth=1200,viewportWidth:viewportWidth=100,format:format="webp"}=(0,object_js_1.isObjectStrict)(args)?args:{},fallback=returnDetails?{output:"",aspectRatio:0,naturalWidth:0,naturalHeight:0,src:"",srcFallback:"",srcset:[],sizes:""}:"";if(!(0,object_js_1.isObjectStrict)(data))return fallback;const{path:path="",alt:dataAlt="",width:naturalWidth=1,height:naturalHeight=1,format:naturalFormat="jpg"}=data;let{url:url=config_js_1.config.image.remoteUrl}=data,alt="inherit"===imageAlt?dataAlt:imageAlt;(0,string_js_1.isStringStrict)(alt)||(alt="");const isLocal="local"===source,isRemote=dataSource_js_1.dataSource.isContentful(source)||"remote"===source,isWordpress=dataSource_js_1.dataSource.isWordPress(source);if(isLocal){if(!(0,string_js_1.isStringStrict)(path))return fallback;url=`${config_js_1.config.image.localUrl}${path}`}const aspectRatio=naturalHeight/naturalWidth,aspectRatioReverse=naturalWidth/naturalHeight;let w=naturalWidth,h=naturalHeight;(0,number_js_1.isNumber)(width)&&(w=width,h=(0,string_js_1.isString)(height)?w*aspectRatio:height),(0,number_js_1.isNumber)(height)&&(h=height,w=(0,string_js_1.isString)(width)?h*aspectRatioReverse:width),w>maxWidth&&(w=Math.round(maxWidth),h=Math.round(w*aspectRatio));let src=url,srcFallback=url;if(isLocal&&(src=`${url}.${format}`,srcFallback=`${url}.${naturalFormat}`),isRemote){const params=`&q=${quality}&w=${w}&h=${h}`;src=`${url}?fm=${format}${params}`,srcFallback=`${url}?fm=${naturalFormat}${params}`}const sizes=`(min-width: ${w/16}rem) ${w/16}rem, ${viewportWidth}vw`,srcsetFallback=[];let srcset=[...config_js_1.config.image.sizes];srcset.includes(w)||srcset.push(w),srcset=srcset.filter((s=>s<=w)),srcset.sort(((a,b)=>a-b));const srcsetSource=[];srcset.forEach((s=>{if(isLocal){const base=`${url}${s!==naturalWidth?`@${s}`:""}`;srcsetFallback.push(`${base}.${naturalFormat} ${s}w`),srcsetSource.push(`${base}.${format} ${s}w`)}if(isRemote){const params=`&q=${quality}&w=${s}&h=${Math.round(s*aspectRatio)} ${s}w`;srcsetFallback.push(`${url}?fm=${naturalFormat}${params}`),srcsetSource.push(`${url}?fm=${format}${params}`)}if(isWordpress){const sizeUrl=data.sizes?.[s];(0,string_js_1.isStringStrict)(sizeUrl)&&srcsetSource.push(`${sizeUrl} ${s}w`)}}));let sourceOutput="";picture&&(sourceOutput=`<source srcset="${srcsetSource.join(", ")}" sizes="${sizes}" type="image/${format}">`);let eagerHackOutput="";lazy||(eagerHackOutput=`\n <img\n alt=""\n role="presentation"\n aria-hidden="true"\n src="data:image/svg+xml;charset=utf-8,%3Csvg height='${h}' width='${w}' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E" style="pointerEvents: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%"\n >\n `);const output=`\n ${eagerHackOutput}\n ${sourceOutput}\n <img\n ${(0,string_js_1.isStringStrict)(classes)?` class="${classes}"`:""}\n alt="${alt}"\n src="${picture?srcFallback:src}"\n srcset="${picture?srcsetFallback.join(", "):srcsetSource.join(", ")}"\n sizes="${sizes}"\n width="${w}"\n height="${h}"\n ${(0,string_js_1.isStringStrict)(attr)?` ${attr}`:""}\n ${lazy?' loading="lazy" decoding="async"':' loading="eager"'}\n >\n `;return returnDetails?{output:output,aspectRatio:aspectRatio,naturalWidth:naturalWidth,naturalHeight:naturalHeight,src:src,srcFallback:srcFallback,srcset:srcsetSource,sizes:sizes}:output};exports.getImage=getImage;const getImageClosestSize=size=>[...config_js_1.config.image.sizes].reduce(((prev,curr)=>Math.abs(curr-size)<=Math.abs(prev-size)?curr:prev));exports.getImageClosestSize=getImageClosestSize;const getImageMaxWidth=args=>{if(!(0,object_js_1.isObjectStrict)(args))return 0;const{parents:parents,widths:widths,maxWidths:maxWidths,breakpoints:breakpoints,source:source=config_js_1.config.source}=args;if(!((0,array_js_1.isArrayStrict)(parents)&&(0,object_js_1.isObjectStrict)(widths)&&(0,object_js_1.isObjectStrict)(maxWidths)&&(0,array_js_1.isArrayStrict)(breakpoints)))return 0;const w=[];let m=0;if(parents.forEach((parent=>{if(!(0,object_js_1.isObjectStrict)(parent))return;const{renderType:renderType,args:args}=parent;if((0,object_js_1.isObjectStrict)(args)){if("column"===renderType){const{width:width="Default",widthSmall:widthSmall="Default",widthMedium:widthMedium="Default",widthLarge:widthLarge="Default"}=args;w[0]=(0,number_js_1.isNumber)(widths[width])&&widths[width]>0?widths[width]:1,w[1]=(0,number_js_1.isNumber)(widths[widthSmall])&&widths[widthSmall]>0?widths[widthSmall]:w[0],w[2]=(0,number_js_1.isNumber)(widths[widthMedium])&&widths[widthMedium]>0?widths[widthMedium]:w[1],w[3]=(0,number_js_1.isNumber)(widths[widthLarge])&&widths[widthLarge]>0?widths[widthLarge]:w[2]}if("container"===renderType){const{maxWidth:maxWidth="Default"}=args;m=(0,number_js_1.isNumber)(maxWidths[maxWidth])?maxWidths[maxWidth]:0}}})),!w.length&&0===m)return 0;const bk=[...breakpoints],calc=[];let lastW=1;bk.forEach(((b,i)=>{const wd=w[i];(0,number_js_1.isNumber)(wd)&&(lastW=wd,m>0&&b>m?calc.push(wd*m):calc.push(wd*b))})),m>0&&calc.push(lastW*m);const res=2*Math.max(...calc);return"local"===source?getImageClosestSize(res):res};exports.getImageMaxWidth=getImageMaxWidth;
@@ -0,0 +1,3 @@
1
+ import sharp from 'sharp';
2
+ declare const setLocalImages: () => Promise<sharp.OutputInfo[]>;
3
+ export { setLocalImages };
@@ -0,0 +1 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.setLocalImages=void 0;const node_path_1=require("node:path"),promises_1=require("node:fs/promises"),sharp_1=__importDefault(require("sharp")),filePath_js_1=require("../file/filePath.js"),string_js_1=require("../string/string.js"),store_js_1=require("../../store/store.js"),config_js_1=require("../../config/config.js"),setLocalImages=async()=>{const inputDir=config_js_1.config.image.inputDir,outputDir=config_js_1.config.image.outputDir;if(!(0,string_js_1.isStringStrict)(inputDir)||!(0,string_js_1.isStringStrict)(outputDir))throw new Error("No input or output directories");await(0,promises_1.mkdir)((0,node_path_1.resolve)(outputDir),{recursive:!0});const images=[],meta={};for await(const path of(0,filePath_js_1.getFilePaths)(inputDir)){const baseName=(0,node_path_1.basename)(path),ext=(0,node_path_1.extname)(baseName);if(!(0,string_js_1.isStringStrict)(ext))continue;const[base]=baseName.split(ext);if(!(0,string_js_1.isStringStrict)(base?.trim()))continue;let[,folders]=(0,node_path_1.dirname)(path).split(`${inputDir}/`);(0,string_js_1.isStringStrict)(folders)&&folders!==baseName?await(0,promises_1.mkdir)((0,node_path_1.resolve)(outputDir,folders),{recursive:!0}):folders="";const instance=(0,sharp_1.default)(path),metadata=await(0,sharp_1.default)(path).metadata(),stats=await(0,promises_1.stat)(path),{width:width=0,height:height=0,format:fileFormat="jpeg"}=metadata,id=`${folders?`${folders}/`:""}${base}`,format=ext.replace(".","");meta[id]={path:id,name:baseName,type:`image/${fileFormat}`,format:format,size:stats.size,width:width,height:height};let sizes=[...config_js_1.config.image.sizes];sizes.includes(width)||sizes.push(width),sizes=sizes.filter((s=>s<=width)),sizes.forEach((size=>{images.push({size:size,format:format,path:(0,node_path_1.resolve)(path),newPath:(0,node_path_1.resolve)(outputDir,folders,`${base}${size!==width?`@${size}`:""}`),instance:instance})}))}if(!images.length)throw new Error("No local images to transform");return(0,store_js_1.setStoreItem)("imageMeta",meta),await Promise.all(images.map((async image=>{const{size:size,instance:instance,newPath:newPath,format:format}=image;return await instance.clone().resize(size).toFile(`${newPath}.${format}`),await instance.clone().resize(size).webp({quality:config_js_1.config.image.quality}).toFile(`${newPath}.webp`)})))};exports.setLocalImages=setLocalImages;
@@ -0,0 +1,3 @@
1
+ import type { ImageRemote } from './imageTypes.js';
2
+ declare const getRemoteImages: (images: ImageRemote[]) => Promise<string[]>;
3
+ export { getRemoteImages };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRemoteImages=void 0;const promises_1=require("node:fs/promises"),node_path_1=require("node:path"),config_js_1=require("../../config/config.js"),string_js_1=require("../string/string.js"),array_js_1=require("../array/array.js"),getRemoteImages=async images=>{const inputDir=config_js_1.config.image.inputDir;if(!(0,string_js_1.isStringStrict)(inputDir))throw new Error("No input directory");if(!(0,array_js_1.isArrayStrict)(images))throw new Error("No images array");return await Promise.all(images.map((async image=>{const{path:path,url:url,format:format="jpg"}=image;if(!(0,string_js_1.isStringStrict)(path)||!(0,string_js_1.isStringStrict)(url)||!(0,string_js_1.isStringStrict)(format))throw new Error("No path, url or format");const resp=await fetch(url);if(!resp.ok)throw new Error("Failed to fetch image");const buffer=await resp.arrayBuffer(),fullPath=`${inputDir}/${path}.${format}`,folders=fullPath.split("/");return folders.pop(),await(0,promises_1.mkdir)((0,node_path_1.resolve)(folders.join("/")),{recursive:!0}),await(0,promises_1.writeFile)((0,node_path_1.resolve)(fullPath),Buffer.from(buffer)),fullPath})))};exports.getRemoteImages=getRemoteImages;
@@ -0,0 +1,60 @@
1
+ import type { Source, GenericNumbers, ParentArgs } from '../../global/globalTypes.js';
2
+ import type { RenderFile } from '../../render/renderTypes.js';
3
+ import type { ColumnProps } from '../../layouts/Column/ColumnTypes.js';
4
+ import type { ContainerProps } from '../../layouts/Container/ContainerTypes.js';
5
+ import type sharp from 'sharp';
6
+ export interface ImageArgs {
7
+ data?: RenderFile;
8
+ classes?: string;
9
+ attr?: string;
10
+ alt?: string;
11
+ width?: string | number;
12
+ height?: string | number;
13
+ lazy?: boolean;
14
+ picture?: boolean;
15
+ quality?: number;
16
+ source?: Source | 'remote';
17
+ maxWidth?: number;
18
+ viewportWidth?: number;
19
+ format?: string;
20
+ }
21
+ export interface ImageReturn {
22
+ output: string;
23
+ src: string;
24
+ srcFallback: string;
25
+ srcset: string[];
26
+ sizes: string;
27
+ aspectRatio: number;
28
+ naturalWidth: number;
29
+ naturalHeight: number;
30
+ }
31
+ export type ImageReturnType<V extends false | true> = V extends true ? ImageReturn : string;
32
+ export type ImageMaxWidthParents = ParentArgs & ColumnProps & ContainerProps;
33
+ export interface ImageMaxWidthArgs<T = ImageMaxWidthParents> {
34
+ parents: T[];
35
+ widths: GenericNumbers;
36
+ maxWidths: GenericNumbers;
37
+ breakpoints: number[];
38
+ source?: Source;
39
+ }
40
+ export interface ImageLocal {
41
+ instance: sharp.Sharp;
42
+ size: number;
43
+ format: string;
44
+ path: string;
45
+ newPath: string;
46
+ }
47
+ export interface ImageRemote {
48
+ path: string;
49
+ url: string;
50
+ format?: string;
51
+ }
52
+ export interface ImageProps {
53
+ path: string;
54
+ name: string;
55
+ type: string;
56
+ format: string;
57
+ width: number;
58
+ height: number;
59
+ size: number;
60
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ declare const getJson: <T extends object>(value: string) => T | undefined;
2
+ declare const getJsonFile: <T>(path: string, store?: boolean) => Promise<(object & T) | undefined>;
3
+ export { getJson, getJsonFile };
@@ -0,0 +1 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i<k.length;i++)"default"!==k[i]&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.getJsonFile=exports.getJson=void 0;const object_js_1=require("../object/object.js"),path_js_1=require("../path/path.js"),filter_js_1=require("../filter/filter.js"),getJson=value=>{try{const val=JSON.parse(value);if((0,object_js_1.isObject)(val))return val;throw new Error("Parsed value is not an object")}catch{return}};exports.getJson=getJson;const getJsonFile=async(path,store=!1)=>{let res,newPath=path;try{newPath=store?(0,path_js_1.getPath)(path,"store"):path;const{default:obj}=await Promise.resolve(`${newPath}`).then((s=>__importStar(require(s))));if(!(0,object_js_1.isObject)(obj))throw new Error("No object in json file");res=obj}catch{res=void 0}return store?await(0,filter_js_1.applyFilters)("storeData",res,newPath,!0):res};exports.getJsonFile=getJsonFile;
@@ -0,0 +1,6 @@
1
+ import type { LinkSlugArgs, LinkSlugReturnType } from './linkTypes.js';
2
+ import type { InternalLink } from '../../global/globalTypes.js';
3
+ declare const getSlug: <T extends boolean = false>(args: LinkSlugArgs, returnParents?: T) => LinkSlugReturnType<T>;
4
+ declare const getPermalink: (slug?: string, trailingSlash?: boolean) => string;
5
+ declare const getLink: (internalLink?: InternalLink, externalLink?: string) => string;
6
+ export { getSlug, getLink, getPermalink };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPermalink=exports.getLink=exports.getSlug=void 0;const number_js_1=require("../number/number.js"),object_js_1=require("../object/object.js"),string_js_1=require("../string/string.js"),filter_js_1=require("../filter/filter.js"),archive_js_1=require("../archive/archive.js"),store_js_1=require("../../store/store.js"),config_js_1=require("../../config/config.js"),getParentSlug=(id,contentType,parents)=>{const storeParents=(0,store_js_1.getStoreItem)("parents"),parent=storeParents[contentType]?.[id];parent&&(parents.unshift({...parent,contentType:contentType}),getParentSlug(parent.id,contentType,parents))},getSlug=(args,returnParents=!1)=>{const{id:id="",page:page=0,slug:initSlug="",contentType:contentType="page",pageData:pageData}=(0,object_js_1.isObjectStrict)(args)?args:{};let slug=initSlug,typeSlug="",taxSlug="",parentSlugs="",parts=[];const{hierarchicalTypes:hierarchicalTypes,typeInSlug:typeInSlug,localeInSlug:localeInSlug,taxonomyInSlug:taxonomyInSlug}=config_js_1.config,pageLocale=pageData?.locale,hasPageLocale=(0,string_js_1.isStringStrict)(pageLocale),locale=hasPageLocale?localeInSlug[pageLocale]:"",hasLocale=(0,string_js_1.isStringStrict)(locale),taxonomyInfo=(0,archive_js_1.getTaxonomyInfo)(contentType,pageData),isTaxonomy="taxonomy"===contentType,isTerm="term"===contentType,{id:taxonomyId,slug:taxonomySlug,title:taxonomyTitle,primaryContentType:taxonomyType,usePrimaryContentTypeSlug:taxonomyUseTypeSlug,isPage:taxonomyIsPage}=taxonomyInfo,archiveType=(0,string_js_1.isStringStrict)(taxonomyType)?taxonomyType:contentType,archiveInfo=(0,archive_js_1.getArchiveInfo)(archiveType),{id:archiveId,slug:archiveSlug,title:archiveTitle,contentType:archiveContentType}=archiveInfo,archiveParents=[];if(archiveSlug&&archiveId&&(typeSlug=archiveSlug,archiveParents.push({contentType:archiveContentType,title:archiveTitle,slug:archiveSlug,id:archiveId})),!isTaxonomy&&!isTerm||taxonomyUseTypeSlug||(typeSlug=""),isTerm&&taxonomySlug&&taxonomyId){taxSlug=taxonomySlug;const taxInSlug=taxonomyInSlug[taxSlug];if((0,string_js_1.isString)(taxInSlug)&&(taxSlug=taxInSlug),(0,object_js_1.isObjectStrict)(taxInSlug)&&hasPageLocale){const localizedTaxSlug=taxInSlug[pageLocale];(0,string_js_1.isString)(localizedTaxSlug)&&(taxSlug=localizedTaxSlug)}taxonomyIsPage&&archiveParents.push({contentType:"taxonomy",title:taxonomyTitle,slug:taxSlug,id:taxonomyId})}const contentTypeInSlug=typeInSlug[archiveType];if((0,string_js_1.isString)(contentTypeInSlug)&&(typeSlug=contentTypeInSlug),(0,object_js_1.isObjectStrict)(contentTypeInSlug)&&hasPageLocale){const localizedTypeSlug=contentTypeInSlug[pageLocale];(0,string_js_1.isString)(localizedTypeSlug)&&(typeSlug=localizedTypeSlug)}const isHierarchical=hierarchicalTypes.includes(contentType);let parents=[],hasParents=!1;getParentSlug(isHierarchical?id:archiveId,isHierarchical?contentType:archiveContentType,parents),parents.length>0&&(parentSlugs=parents.map((({slug:slug})=>slug)).join("/"),hasParents=!0),parents=isHierarchical?[...archiveParents,...parents]:[...parents,...archiveParents];const isIndex="index"===slug;isIndex&&!returnParents&&(slug=""),hasLocale&&parts.push(locale),hasParents&&!isHierarchical&&parts.push(parentSlugs),typeSlug&&parts.push(typeSlug),taxSlug&&parts.push(taxSlug),hasParents&&isHierarchical&&parts.push(parentSlugs),(0,string_js_1.isStringStrict)(slug)&&!isIndex&&parts.push(slug),parts=(0,filter_js_1.applyFilters)("slugParts",parts,args);let fullSlug=`${parts.length>0?parts.join("/"):""}${(0,number_js_1.isNumber)(page)&&page>1?`/?page=${page}`:""}`;if(fullSlug=(0,filter_js_1.applyFilters)("slug",fullSlug,args),returnParents){return{slug:fullSlug,parents:parents}}return fullSlug};exports.getSlug=getSlug;const getPermalink=(slug="",trailingSlash=!0)=>{let url="/";return config_js_1.config.env.prod&&(url=config_js_1.config.env.prodUrl),(0,string_js_1.isString)(slug)&&"/"!==slug?`${url}${slug}${""!==slug&&trailingSlash?"/":""}`:url};exports.getPermalink=getPermalink;const getLink=(internalLink,externalLink)=>{if((0,object_js_1.isObjectStrict)(internalLink)){const slug=internalLink.slug,res=getSlug({id:internalLink.id,contentType:internalLink.contentType,pageData:internalLink,slug:(0,string_js_1.isString)(slug)?slug:""});return getPermalink(res)}return(0,string_js_1.isStringStrict)(externalLink)?externalLink:""};exports.getLink=getLink;
@@ -0,0 +1,3 @@
1
+ import type { LinkShare, LinkShareReturn } from './linkTypes.js';
2
+ declare const getShareLinks: (url: string, platforms: Array<keyof LinkShare>, title?: string) => LinkShareReturn[];
3
+ export { getShareLinks };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getShareLinks=void 0;const string_js_1=require("../string/string.js"),array_js_1=require("../array/array.js"),shareLinks={Facebook:"https://www.facebook.com/sharer.php?u=",X:"https://twitter.com/intent/tweet?url=",LinkedIn:"https://www.linkedin.com/shareArticle?url=",Pinterest:"https://pinterest.com/pin/create/button/?url=",Reddit:"https://reddit.com/submit?url=",Email:""},getShareLinks=(url,platforms,title)=>(0,string_js_1.isStringStrict)(url)&&(0,array_js_1.isArrayStrict)(platforms)?platforms.map((platform=>{const platformLink=shareLinks[platform];let link=(0,string_js_1.isStringStrict)(platformLink)?`${platformLink}${url}`:"";return"Email"===platform&&(link=`mailto:?subject=${encodeURIComponent((0,string_js_1.isStringStrict)(title)?title:"Check out this article")}&body=${url}`),{type:platform,link:link}})):[];exports.getShareLinks=getShareLinks;
@@ -0,0 +1,31 @@
1
+ import type { RenderItem } from '../../render/renderTypes.js';
2
+ import type { StoreParent } from '../../store/storeTypes.js';
3
+ export interface LinkSlugArgs {
4
+ id?: string;
5
+ slug: string;
6
+ page?: number;
7
+ contentType?: string;
8
+ pageData?: RenderItem;
9
+ }
10
+ export interface LinkSlugParent extends StoreParent {
11
+ contentType: string;
12
+ }
13
+ export interface LinkSlugReturn {
14
+ slug: string;
15
+ parents: LinkSlugParent[];
16
+ }
17
+ export type LinkSlugReturnType<T extends boolean> = T extends true ? LinkSlugReturn : string;
18
+ export interface LinkShare {
19
+ Facebook: string;
20
+ X: string;
21
+ LinkedIn: string;
22
+ Pinterest: string;
23
+ Reddit: string;
24
+ Email: string;
25
+ }
26
+ export interface LinkShareReturn {
27
+ type: keyof Partial<LinkShare>;
28
+ link: string;
29
+ }
30
+ export type LinkSlugPartsFilter = (parts: string[], args: LinkSlugArgs) => string[];
31
+ export type LinkSlugFilter = (slug: string, args: LinkSlugArgs) => string;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,2 @@
1
+ declare const isMap: <T, U>(value: unknown) => value is Map<T, U>;
2
+ export { isMap };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isMap=void 0;const isMap=value=>value instanceof Map;exports.isMap=isMap;
@@ -0,0 +1,2 @@
1
+ declare const minify: (value: string) => string;
2
+ export { minify };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.minify=void 0;const minify=value=>value.replace(/\s+/g," ").replace(/>\s+</g,"><").trim();exports.minify=minify;
@@ -0,0 +1,2 @@
1
+ declare const isNumber: (value: unknown) => value is number;
2
+ export { isNumber };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isNumber=void 0;const isNumber=value=>"number"==typeof value&&!isNaN(value);exports.isNumber=isNumber;
@@ -0,0 +1,4 @@
1
+ declare const isObject: <T>(value: T) => value is object & T;
2
+ type NotObject<T, K> = Exclude<T, string | number | boolean | Map<T, K> | Set<T> | FormData | null | undefined | unknown[] | string[] | number[] | boolean[]>;
3
+ declare const isObjectStrict: <T, K>(value: T) => value is object & NotObject<T, K>;
4
+ export { isObject, isObjectStrict };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isObjectStrict=exports.isObject=void 0;const isObject=value=>"object"==typeof value&&null!=value;exports.isObject=isObject;const isObjectStrict=value=>isObject(value)&&"[object Object]"===Object.prototype.toString.call(value);exports.isObjectStrict=isObjectStrict;
@@ -0,0 +1,2 @@
1
+ declare const getObjectKeys: <T>(obj: T) => Array<keyof T>;
2
+ export { getObjectKeys };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getObjectKeys=void 0;const getObjectKeys=obj=>Object.keys(obj);exports.getObjectKeys=getObjectKeys;
@@ -0,0 +1,3 @@
1
+ declare const getPath: (file: string, type?: string) => string;
2
+ declare const getPathDepth: (path?: string) => string;
3
+ export { getPath, getPathDepth };