@alanizcreative/formation-static 0.0.1

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 (329) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/cjs/actions/actions.d.ts +8 -0
  4. package/cjs/actions/actions.js +1 -0
  5. package/cjs/actions/actionsTypes.d.ts +10 -0
  6. package/cjs/actions/actionsTypes.js +1 -0
  7. package/cjs/components/Navigation/Navigation.d.ts +14 -0
  8. package/cjs/components/Navigation/Navigation.js +1 -0
  9. package/cjs/components/Navigation/NavigationTypes.d.ts +88 -0
  10. package/cjs/components/Navigation/NavigationTypes.js +1 -0
  11. package/cjs/components/Pagination/Pagination.d.ts +3 -0
  12. package/cjs/components/Pagination/Pagination.js +1 -0
  13. package/cjs/components/Pagination/PaginationTypes.d.ts +54 -0
  14. package/cjs/components/Pagination/PaginationTypes.js +1 -0
  15. package/cjs/config/config.d.ts +5 -0
  16. package/cjs/config/config.js +1 -0
  17. package/cjs/config/configTypes.d.ts +66 -0
  18. package/cjs/config/configTypes.js +1 -0
  19. package/cjs/contentful/contentfulData.d.ts +5 -0
  20. package/cjs/contentful/contentfulData.js +1 -0
  21. package/cjs/contentful/contentfulDataNormal.d.ts +4 -0
  22. package/cjs/contentful/contentfulDataNormal.js +1 -0
  23. package/cjs/contentful/contentfulDataTypes.d.ts +78 -0
  24. package/cjs/contentful/contentfulDataTypes.js +1 -0
  25. package/cjs/filters/filters.d.ts +8 -0
  26. package/cjs/filters/filters.js +1 -0
  27. package/cjs/filters/filtersTypes.d.ts +60 -0
  28. package/cjs/filters/filtersTypes.js +1 -0
  29. package/cjs/global/globalTypes.d.ts +34 -0
  30. package/cjs/global/globalTypes.js +1 -0
  31. package/cjs/layouts/Column/Column.d.ts +3 -0
  32. package/cjs/layouts/Column/Column.js +1 -0
  33. package/cjs/layouts/Column/ColumnTypes.d.ts +16 -0
  34. package/cjs/layouts/Column/ColumnTypes.js +1 -0
  35. package/cjs/layouts/Container/Container.d.ts +3 -0
  36. package/cjs/layouts/Container/Container.js +1 -0
  37. package/cjs/layouts/Container/ContainerTypes.d.ts +15 -0
  38. package/cjs/layouts/Container/ContainerTypes.js +1 -0
  39. package/cjs/local/localData.d.ts +5 -0
  40. package/cjs/local/localData.js +1 -0
  41. package/cjs/local/localDataNormal.d.ts +3 -0
  42. package/cjs/local/localDataNormal.js +1 -0
  43. package/cjs/local/localDataTypes.d.ts +14 -0
  44. package/cjs/local/localDataTypes.js +1 -0
  45. package/cjs/objects/Form/Form.d.ts +3 -0
  46. package/cjs/objects/Form/Form.js +1 -0
  47. package/cjs/objects/Form/FormField.d.ts +3 -0
  48. package/cjs/objects/Form/FormField.js +1 -0
  49. package/cjs/objects/Form/FormOption.d.ts +3 -0
  50. package/cjs/objects/Form/FormOption.js +1 -0
  51. package/cjs/objects/Form/FormTypes.d.ts +76 -0
  52. package/cjs/objects/Form/FormTypes.js +1 -0
  53. package/cjs/package.json +1 -0
  54. package/cjs/redirects/redirects.d.ts +4 -0
  55. package/cjs/redirects/redirects.js +1 -0
  56. package/cjs/redirects/redirectsFile.d.ts +2 -0
  57. package/cjs/redirects/redirectsFile.js +1 -0
  58. package/cjs/render/render.d.ts +11 -0
  59. package/cjs/render/render.js +1 -0
  60. package/cjs/render/renderInline.d.ts +4 -0
  61. package/cjs/render/renderInline.js +1 -0
  62. package/cjs/render/renderTypes.d.ts +197 -0
  63. package/cjs/render/renderTypes.js +1 -0
  64. package/cjs/scripts/scripts.d.ts +8 -0
  65. package/cjs/scripts/scripts.js +1 -0
  66. package/cjs/scripts/scriptsTypes.d.ts +15 -0
  67. package/cjs/scripts/scriptsTypes.js +1 -0
  68. package/cjs/serverless/Contact/Contact.d.ts +3 -0
  69. package/cjs/serverless/Contact/Contact.js +1 -0
  70. package/cjs/serverless/Contact/ContactTypes.d.ts +13 -0
  71. package/cjs/serverless/Contact/ContactTypes.js +1 -0
  72. package/cjs/serverless/serverless.d.ts +12 -0
  73. package/cjs/serverless/serverless.js +1 -0
  74. package/cjs/serverless/serverlessTypes.d.ts +41 -0
  75. package/cjs/serverless/serverlessTypes.js +1 -0
  76. package/cjs/shortcodes/shortcodes.d.ts +10 -0
  77. package/cjs/shortcodes/shortcodes.js +1 -0
  78. package/cjs/shortcodes/shortcodesTypes.d.ts +20 -0
  79. package/cjs/shortcodes/shortcodesTypes.js +1 -0
  80. package/cjs/store/store.d.ts +9 -0
  81. package/cjs/store/store.js +1 -0
  82. package/cjs/store/storeFiles.d.ts +2 -0
  83. package/cjs/store/storeFiles.js +1 -0
  84. package/cjs/store/storeTypes.d.ts +28 -0
  85. package/cjs/store/storeTypes.js +1 -0
  86. package/cjs/text/RichText/RichText.d.ts +4 -0
  87. package/cjs/text/RichText/RichText.js +1 -0
  88. package/cjs/text/RichText/RichTextTypes.d.ts +54 -0
  89. package/cjs/text/RichText/RichTextTypes.js +1 -0
  90. package/cjs/utils/ResponseError/ResponseError.d.ts +5 -0
  91. package/cjs/utils/ResponseError/ResponseError.js +1 -0
  92. package/cjs/utils/archive/archive.d.ts +10 -0
  93. package/cjs/utils/archive/archive.js +1 -0
  94. package/cjs/utils/archive/archiveTypes.d.ts +29 -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/file.d.ts +3 -0
  113. package/cjs/utils/file/file.js +1 -0
  114. package/cjs/utils/file/filePath.d.ts +2 -0
  115. package/cjs/utils/file/filePath.js +1 -0
  116. package/cjs/utils/function/function.d.ts +3 -0
  117. package/cjs/utils/function/function.js +1 -0
  118. package/cjs/utils/heading/heading.d.ts +2 -0
  119. package/cjs/utils/heading/heading.js +1 -0
  120. package/cjs/utils/image/image.d.ts +5 -0
  121. package/cjs/utils/image/image.js +1 -0
  122. package/cjs/utils/image/imageLocal.d.ts +3 -0
  123. package/cjs/utils/image/imageLocal.js +1 -0
  124. package/cjs/utils/image/imageRemote.d.ts +3 -0
  125. package/cjs/utils/image/imageRemote.js +1 -0
  126. package/cjs/utils/image/imageTypes.d.ts +69 -0
  127. package/cjs/utils/image/imageTypes.js +1 -0
  128. package/cjs/utils/json/json.d.ts +3 -0
  129. package/cjs/utils/json/json.js +1 -0
  130. package/cjs/utils/link/link.d.ts +6 -0
  131. package/cjs/utils/link/link.js +1 -0
  132. package/cjs/utils/link/linkShare.d.ts +3 -0
  133. package/cjs/utils/link/linkShare.js +1 -0
  134. package/cjs/utils/link/linkTypes.d.ts +28 -0
  135. package/cjs/utils/link/linkTypes.js +1 -0
  136. package/cjs/utils/map/map.d.ts +2 -0
  137. package/cjs/utils/map/map.js +1 -0
  138. package/cjs/utils/minify/minify.d.ts +2 -0
  139. package/cjs/utils/minify/minify.js +1 -0
  140. package/cjs/utils/number/number.d.ts +2 -0
  141. package/cjs/utils/number/number.js +1 -0
  142. package/cjs/utils/object/object.d.ts +4 -0
  143. package/cjs/utils/object/object.js +1 -0
  144. package/cjs/utils/object/objectUtils.d.ts +2 -0
  145. package/cjs/utils/object/objectUtils.js +1 -0
  146. package/cjs/utils/path/path.d.ts +3 -0
  147. package/cjs/utils/path/path.js +1 -0
  148. package/cjs/utils/print/print.d.ts +2 -0
  149. package/cjs/utils/print/print.js +1 -0
  150. package/cjs/utils/set/set.d.ts +3 -0
  151. package/cjs/utils/set/set.js +1 -0
  152. package/cjs/utils/string/string.d.ts +3 -0
  153. package/cjs/utils/string/string.js +1 -0
  154. package/cjs/utils/tag/tag.d.ts +4 -0
  155. package/cjs/utils/tag/tag.js +1 -0
  156. package/cjs/utils/tag/tagTypes.d.ts +6 -0
  157. package/cjs/utils/tag/tagTypes.js +1 -0
  158. package/cjs/utils/year/year.d.ts +2 -0
  159. package/cjs/utils/year/year.js +1 -0
  160. package/cjs/wordpress/wordpressData.d.ts +6 -0
  161. package/cjs/wordpress/wordpressData.js +1 -0
  162. package/cjs/wordpress/wordpressDataNormal.d.ts +9 -0
  163. package/cjs/wordpress/wordpressDataNormal.js +1 -0
  164. package/cjs/wordpress/wordpressDataTypes.d.ts +208 -0
  165. package/cjs/wordpress/wordpressDataTypes.js +1 -0
  166. package/lib/actions/actions.d.ts +8 -0
  167. package/lib/actions/actions.js +1 -0
  168. package/lib/actions/actionsTypes.d.ts +10 -0
  169. package/lib/actions/actionsTypes.js +1 -0
  170. package/lib/components/Navigation/Navigation.d.ts +14 -0
  171. package/lib/components/Navigation/Navigation.js +1 -0
  172. package/lib/components/Navigation/NavigationTypes.d.ts +88 -0
  173. package/lib/components/Navigation/NavigationTypes.js +1 -0
  174. package/lib/components/Pagination/Pagination.d.ts +3 -0
  175. package/lib/components/Pagination/Pagination.js +1 -0
  176. package/lib/components/Pagination/PaginationTypes.d.ts +54 -0
  177. package/lib/components/Pagination/PaginationTypes.js +1 -0
  178. package/lib/config/config.d.ts +5 -0
  179. package/lib/config/config.js +1 -0
  180. package/lib/config/configTypes.d.ts +66 -0
  181. package/lib/config/configTypes.js +1 -0
  182. package/lib/contentful/contentfulData.d.ts +5 -0
  183. package/lib/contentful/contentfulData.js +1 -0
  184. package/lib/contentful/contentfulDataNormal.d.ts +4 -0
  185. package/lib/contentful/contentfulDataNormal.js +1 -0
  186. package/lib/contentful/contentfulDataTypes.d.ts +78 -0
  187. package/lib/contentful/contentfulDataTypes.js +1 -0
  188. package/lib/filters/filters.d.ts +8 -0
  189. package/lib/filters/filters.js +1 -0
  190. package/lib/filters/filtersTypes.d.ts +60 -0
  191. package/lib/filters/filtersTypes.js +1 -0
  192. package/lib/global/globalTypes.d.ts +34 -0
  193. package/lib/global/globalTypes.js +1 -0
  194. package/lib/layouts/Column/Column.d.ts +3 -0
  195. package/lib/layouts/Column/Column.js +1 -0
  196. package/lib/layouts/Column/ColumnTypes.d.ts +16 -0
  197. package/lib/layouts/Column/ColumnTypes.js +1 -0
  198. package/lib/layouts/Container/Container.d.ts +3 -0
  199. package/lib/layouts/Container/Container.js +1 -0
  200. package/lib/layouts/Container/ContainerTypes.d.ts +15 -0
  201. package/lib/layouts/Container/ContainerTypes.js +1 -0
  202. package/lib/local/localData.d.ts +5 -0
  203. package/lib/local/localData.js +1 -0
  204. package/lib/local/localDataNormal.d.ts +3 -0
  205. package/lib/local/localDataNormal.js +1 -0
  206. package/lib/local/localDataTypes.d.ts +14 -0
  207. package/lib/local/localDataTypes.js +1 -0
  208. package/lib/objects/Form/Form.d.ts +3 -0
  209. package/lib/objects/Form/Form.js +1 -0
  210. package/lib/objects/Form/FormField.d.ts +3 -0
  211. package/lib/objects/Form/FormField.js +1 -0
  212. package/lib/objects/Form/FormOption.d.ts +3 -0
  213. package/lib/objects/Form/FormOption.js +1 -0
  214. package/lib/objects/Form/FormTypes.d.ts +76 -0
  215. package/lib/objects/Form/FormTypes.js +1 -0
  216. package/lib/package.json +1 -0
  217. package/lib/redirects/redirects.d.ts +4 -0
  218. package/lib/redirects/redirects.js +1 -0
  219. package/lib/redirects/redirectsFile.d.ts +2 -0
  220. package/lib/redirects/redirectsFile.js +1 -0
  221. package/lib/render/render.d.ts +11 -0
  222. package/lib/render/render.js +1 -0
  223. package/lib/render/renderInline.d.ts +4 -0
  224. package/lib/render/renderInline.js +1 -0
  225. package/lib/render/renderTypes.d.ts +197 -0
  226. package/lib/render/renderTypes.js +1 -0
  227. package/lib/scripts/scripts.d.ts +8 -0
  228. package/lib/scripts/scripts.js +1 -0
  229. package/lib/scripts/scriptsTypes.d.ts +15 -0
  230. package/lib/scripts/scriptsTypes.js +1 -0
  231. package/lib/serverless/Contact/Contact.d.ts +3 -0
  232. package/lib/serverless/Contact/Contact.js +1 -0
  233. package/lib/serverless/Contact/ContactTypes.d.ts +13 -0
  234. package/lib/serverless/Contact/ContactTypes.js +1 -0
  235. package/lib/serverless/serverless.d.ts +12 -0
  236. package/lib/serverless/serverless.js +1 -0
  237. package/lib/serverless/serverlessTypes.d.ts +41 -0
  238. package/lib/serverless/serverlessTypes.js +1 -0
  239. package/lib/shortcodes/shortcodes.d.ts +10 -0
  240. package/lib/shortcodes/shortcodes.js +1 -0
  241. package/lib/shortcodes/shortcodesTypes.d.ts +20 -0
  242. package/lib/shortcodes/shortcodesTypes.js +1 -0
  243. package/lib/store/store.d.ts +9 -0
  244. package/lib/store/store.js +1 -0
  245. package/lib/store/storeFiles.d.ts +2 -0
  246. package/lib/store/storeFiles.js +1 -0
  247. package/lib/store/storeTypes.d.ts +28 -0
  248. package/lib/store/storeTypes.js +1 -0
  249. package/lib/text/RichText/RichText.d.ts +4 -0
  250. package/lib/text/RichText/RichText.js +1 -0
  251. package/lib/text/RichText/RichTextTypes.d.ts +54 -0
  252. package/lib/text/RichText/RichTextTypes.js +1 -0
  253. package/lib/utils/ResponseError/ResponseError.d.ts +5 -0
  254. package/lib/utils/ResponseError/ResponseError.js +1 -0
  255. package/lib/utils/archive/archive.d.ts +10 -0
  256. package/lib/utils/archive/archive.js +1 -0
  257. package/lib/utils/archive/archiveTypes.d.ts +29 -0
  258. package/lib/utils/archive/archiveTypes.js +1 -0
  259. package/lib/utils/array/array.d.ts +3 -0
  260. package/lib/utils/array/array.js +1 -0
  261. package/lib/utils/boolean/boolean.d.ts +2 -0
  262. package/lib/utils/boolean/boolean.js +1 -0
  263. package/lib/utils/contentType/contentType.d.ts +2 -0
  264. package/lib/utils/contentType/contentType.js +1 -0
  265. package/lib/utils/dataSource/dataSource.d.ts +3 -0
  266. package/lib/utils/dataSource/dataSource.js +1 -0
  267. package/lib/utils/dataSource/dataSourceTypes.d.ts +9 -0
  268. package/lib/utils/dataSource/dataSourceTypes.js +1 -0
  269. package/lib/utils/escape/escape.d.ts +2 -0
  270. package/lib/utils/escape/escape.js +1 -0
  271. package/lib/utils/excerpt/excerpt.d.ts +3 -0
  272. package/lib/utils/excerpt/excerpt.js +1 -0
  273. package/lib/utils/excerpt/excerptTypes.d.ts +14 -0
  274. package/lib/utils/excerpt/excerptTypes.js +1 -0
  275. package/lib/utils/file/file.d.ts +3 -0
  276. package/lib/utils/file/file.js +1 -0
  277. package/lib/utils/file/filePath.d.ts +2 -0
  278. package/lib/utils/file/filePath.js +1 -0
  279. package/lib/utils/function/function.d.ts +3 -0
  280. package/lib/utils/function/function.js +1 -0
  281. package/lib/utils/heading/heading.d.ts +2 -0
  282. package/lib/utils/heading/heading.js +1 -0
  283. package/lib/utils/image/image.d.ts +5 -0
  284. package/lib/utils/image/image.js +1 -0
  285. package/lib/utils/image/imageLocal.d.ts +3 -0
  286. package/lib/utils/image/imageLocal.js +1 -0
  287. package/lib/utils/image/imageRemote.d.ts +3 -0
  288. package/lib/utils/image/imageRemote.js +1 -0
  289. package/lib/utils/image/imageTypes.d.ts +69 -0
  290. package/lib/utils/image/imageTypes.js +1 -0
  291. package/lib/utils/json/json.d.ts +3 -0
  292. package/lib/utils/json/json.js +1 -0
  293. package/lib/utils/link/link.d.ts +6 -0
  294. package/lib/utils/link/link.js +1 -0
  295. package/lib/utils/link/linkShare.d.ts +3 -0
  296. package/lib/utils/link/linkShare.js +1 -0
  297. package/lib/utils/link/linkTypes.d.ts +28 -0
  298. package/lib/utils/link/linkTypes.js +1 -0
  299. package/lib/utils/map/map.d.ts +2 -0
  300. package/lib/utils/map/map.js +1 -0
  301. package/lib/utils/minify/minify.d.ts +2 -0
  302. package/lib/utils/minify/minify.js +1 -0
  303. package/lib/utils/number/number.d.ts +2 -0
  304. package/lib/utils/number/number.js +1 -0
  305. package/lib/utils/object/object.d.ts +4 -0
  306. package/lib/utils/object/object.js +1 -0
  307. package/lib/utils/object/objectUtils.d.ts +2 -0
  308. package/lib/utils/object/objectUtils.js +1 -0
  309. package/lib/utils/path/path.d.ts +3 -0
  310. package/lib/utils/path/path.js +1 -0
  311. package/lib/utils/print/print.d.ts +2 -0
  312. package/lib/utils/print/print.js +1 -0
  313. package/lib/utils/set/set.d.ts +3 -0
  314. package/lib/utils/set/set.js +1 -0
  315. package/lib/utils/string/string.d.ts +3 -0
  316. package/lib/utils/string/string.js +1 -0
  317. package/lib/utils/tag/tag.d.ts +4 -0
  318. package/lib/utils/tag/tag.js +1 -0
  319. package/lib/utils/tag/tagTypes.d.ts +6 -0
  320. package/lib/utils/tag/tagTypes.js +1 -0
  321. package/lib/utils/year/year.d.ts +2 -0
  322. package/lib/utils/year/year.js +1 -0
  323. package/lib/wordpress/wordpressData.d.ts +6 -0
  324. package/lib/wordpress/wordpressData.js +1 -0
  325. package/lib/wordpress/wordpressDataNormal.d.ts +9 -0
  326. package/lib/wordpress/wordpressDataNormal.js +1 -0
  327. package/lib/wordpress/wordpressDataTypes.d.ts +208 -0
  328. package/lib/wordpress/wordpressDataTypes.js +1 -0
  329. package/package.json +96 -0
@@ -0,0 +1,60 @@
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 { ServerlessResultFilter } from '../serverless/serverlessTypes.js';
6
+ import type { ContactResultFilter } from '../serverless/Contact/ContactTypes.js';
7
+ import type { LinkSlugPartsFilter, LinkSlugFilter } from '../utils/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, RenderData } 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 extends RenderData {
25
+ data?: Record<string, RenderItem>;
26
+ }
27
+ export interface CacheDataFilterArgs {
28
+ key: string;
29
+ type: string;
30
+ data?: CacheData;
31
+ }
32
+ export type CacheDataFilter = (data: CacheData, args: CacheDataFilterArgs) => Promise<CacheData | undefined>;
33
+ export type StoreDataFilter = (data: object | undefined, type: string) => Promise<object | undefined>;
34
+ export interface Filters extends Record<string, GenericFunction> {
35
+ columnProps: ColumnPropsFilter;
36
+ containerProps: ContainerPropsFilter;
37
+ formOptionProps: FormOptionPropsFilter;
38
+ formFieldProps: FormFieldPropsFilter;
39
+ formProps: FormPropsFilter;
40
+ richTextProps: RichTextPropsFilter;
41
+ richTextOutput: RichTextOutputFilter;
42
+ richTextContentItem: RichTextContentItemFilter;
43
+ richTextContent: RichTextContentFilter;
44
+ richTextContentOutput: RichTextContentOutputFilter;
45
+ renderItem: RenderItemFilter;
46
+ renderItemData: RenderItemDataFilter;
47
+ renderContent: RenderContentFilter;
48
+ serverlessResult: ServerlessResultFilter;
49
+ contactResult: ContactResultFilter;
50
+ cacheData: CacheDataFilter;
51
+ storeData: StoreDataFilter;
52
+ contentfulData: ContentfulDataFilter;
53
+ wordpressData: WordpressDataFilter;
54
+ localData: LocalDataFilter;
55
+ allData: AllDataFilter;
56
+ slugParts: LinkSlugPartsFilter;
57
+ slug: LinkSlugFilter;
58
+ }
59
+ export type FilterMap = Map<string, Set<GenericFunction>> & Map<'columnProps' | 'containerProps' | 'formOptionProps' | 'formFieldProps' | 'formProps' | 'richTextProps' | 'richTextOutput' | 'richTextContentItem' | 'richTextContent' | 'richTextContentOutput' | 'renderItem' | 'renderItemData' | 'renderContent' | 'serverlessResult' | 'contactResult' | 'cacheData' | 'storeData' | 'contentfulData' | 'wordpressData' | 'localData' | 'allData' | 'slugParts' | 'slug', Set<ColumnPropsFilter | ContainerPropsFilter | FormOptionPropsFilter | FormFieldPropsFilter | FormPropsFilter | RichTextPropsFilter | RichTextOutputFilter | RichTextContentItemFilter | RichTextContentFilter | RichTextContentOutputFilter | RenderItemFilter | RenderItemDataFilter | RenderContentFilter | ServerlessResultFilter | ContactResultFilter | CacheDataFilter | StoreDataFilter | ContentfulDataFilter | WordpressDataFilter | LocalDataFilter | AllDataFilter | LinkSlugPartsFilter | LinkSlugFilter>>;
60
+ 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,34 @@
1
+ export interface Taxonomy {
2
+ id: string;
3
+ title: string;
4
+ contentTypes: string[];
5
+ slug?: string;
6
+ link?: string;
7
+ isPage?: boolean;
8
+ usePrimaryContentTypeSlug?: boolean;
9
+ }
10
+ export interface InternalLink extends Generic {
11
+ id?: string;
12
+ contentType?: string;
13
+ slug?: string;
14
+ link?: string;
15
+ title?: string;
16
+ taxonomy?: Taxonomy;
17
+ }
18
+ export interface Parent extends InternalLink {
19
+ id: string;
20
+ slug: string;
21
+ title: string;
22
+ }
23
+ export interface ParentArgs<T = Generic> {
24
+ renderType: string;
25
+ args: T;
26
+ }
27
+ export interface RefString {
28
+ ref: string;
29
+ }
30
+ export type Source = 'cms' | 'local' | (string & Record<never, never>);
31
+ export type Generic = Record<string, unknown>;
32
+ export type GenericFunction<T extends (...args: any[]) => any = (...args: any[]) => any> = T;
33
+ export type GenericStrings = Record<string, string>;
34
+ export type GenericNumbers = Record<string, number>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ import type { ColumnProps } from './ColumnTypes.js';
2
+ declare const Column: (props: ColumnProps) => string[];
3
+ export { Column };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Column=void 0;const filters_js_1=require("../../filters/filters.js"),string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),Column=props=>{if(!(0,object_js_1.isObjectStrict)(props))return[];props=(0,filters_js_1.applyFilters)("columnProps",props);const{args:args}=props,{tag:tag="div",classes:classes,style:style,attr:attr}=(0,object_js_1.isObjectStrict)(args)?args:{};if(!(0,string_js_1.isStringStrict)(tag))return[];let styles="";(0,string_js_1.isStringStrict)(style)&&(styles=` style="${style}"`);let attrs="";return(0,string_js_1.isStringStrict)(classes)&&(attrs+=` class="${classes}"`),(0,string_js_1.isStringStrict)(attr)&&(attrs+=` ${attr}`),[`<${tag}${attrs}${styles}>`,`</${tag}>`]};exports.Column=Column;
@@ -0,0 +1,16 @@
1
+ import type { Generic } from '../../global/globalTypes.js';
2
+ import type { RenderFunctionArgs, RenderItem } from '../../render/renderTypes.js';
3
+ export interface ColumnArgs<T = any, W = any> extends Generic {
4
+ tag?: string & T;
5
+ width?: (string | number) & W;
6
+ widthSmall?: (string | number) & W;
7
+ widthMedium?: (string | number) & W;
8
+ widthLarge?: (string | number) & W;
9
+ classes?: string;
10
+ style?: string;
11
+ attr?: string;
12
+ }
13
+ export interface ColumnProps<A = ColumnArgs, R = RenderItem> extends RenderFunctionArgs<A, R> {
14
+ args: ColumnArgs & A;
15
+ }
16
+ export type ColumnPropsFilter<A = ColumnArgs, R = RenderItem> = (props: ColumnProps<A, R>) => ColumnProps<A, R>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ import type { ContainerProps } from './ContainerTypes.js';
2
+ declare const Container: (props: ContainerProps) => string[];
3
+ export { Container };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Container=void 0;const filters_js_1=require("../../filters/filters.js"),object_js_1=require("../../utils/object/object.js"),string_js_1=require("../../utils/string/string.js"),Container=props=>{if(!(0,object_js_1.isObjectStrict)(props))return[];props=(0,filters_js_1.applyFilters)("containerProps",props);const{args:args}=props,{tag:tag="div",layoutClasses:layoutClasses,classes:classes,style:style,attr:attr,nest:nest=!1}=(0,object_js_1.isObjectStrict)(args)?args:{};if(!(0,string_js_1.isStringStrict)(tag))return[];const isSemanticParent=new Set(["ul","ol","dl","figure"]).has(tag),hasLayoutClasses=(0,string_js_1.isStringStrict)(layoutClasses),hasClasses=(0,string_js_1.isStringStrict)(classes),attrs=[],innerAttrs=[],isNested=nest&&hasLayoutClasses,isNestedSemanticParent=isSemanticParent&&isNested,innerClassesArr=[];isNested&&hasLayoutClasses&&innerClassesArr.push(layoutClasses);const outerClassesArr=[];isNested&&hasClasses&&outerClassesArr.push(classes),!isNested&&hasClasses&&outerClassesArr.push(classes),!isNested&&hasLayoutClasses&&outerClassesArr.push(layoutClasses),outerClassesArr.length&&attrs.push(`class="${outerClassesArr.join(" ")}"`),innerClassesArr.length&&innerAttrs.push(`class="${innerClassesArr.join(" ")}"`);const att=isNestedSemanticParent?innerAttrs:attrs;(0,string_js_1.isStringStrict)(attr)&&att.push(attr),(0,string_js_1.isStringStrict)(style)&&att.push(`style="${style}"`);let outerTag=tag,innerTag="";isNested&&(outerTag=isSemanticParent?"div":tag,innerTag=isSemanticParent?tag:"div");let start=`<${outerTag}${attrs.length?` ${attrs.join(" ")}`:""}>`,end=`</${outerTag}>`;return innerTag&&(start=`${start}<${innerTag} ${innerAttrs.join(" ")}>`,end=`</${innerTag}>${end}`),[start,end]};exports.Container=Container;
@@ -0,0 +1,15 @@
1
+ import type { Generic } from '../../global/globalTypes.js';
2
+ import type { RenderFunctionArgs, RenderItem } from '../../render/renderTypes.js';
3
+ export interface ContainerArgs<T = any, M = any> extends Generic {
4
+ tag?: string & T;
5
+ maxWidth?: (string | number) & M;
6
+ layoutClasses?: string;
7
+ classes?: string;
8
+ style?: string;
9
+ attr?: string;
10
+ nest?: boolean;
11
+ }
12
+ export interface ContainerProps<A = ContainerArgs, R = RenderItem> extends RenderFunctionArgs<A, R> {
13
+ args: ContainerArgs & A;
14
+ }
15
+ export type ContainerPropsFilter<A = ContainerArgs, R = RenderItem> = (props: ContainerProps<A, R>) => ContainerProps<A, R>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,5 @@
1
+ import type { LocalData, LocalDataArgs, AllLocalDataArgs } from './localDataTypes.js';
2
+ import type { RenderAllData } from '../render/renderTypes.js';
3
+ declare const getLocalData: (args: LocalDataArgs) => Promise<LocalData>;
4
+ declare const getAllLocalData: (args?: AllLocalDataArgs) => Promise<RenderAllData | undefined>;
5
+ export { getLocalData, getAllLocalData };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getAllLocalData=exports.getLocalData=void 0;const promises_1=require("node:fs/promises"),node_path_1=require("node:path"),object_js_1=require("../utils/object/object.js"),string_js_1=require("../utils/string/string.js"),filters_js_1=require("../filters/filters.js"),json_js_1=require("../utils/json/json.js"),config_js_1=require("../config/config.js"),localDataNormal_js_1=require("./localDataNormal.js"),getLocalData=async args=>{if(!(0,object_js_1.isObjectStrict)(args))throw new Error("No args");const{key:key,refProps:refProps,imageProps:imageProps,unsetProps:unsetProps}=args;if(!(0,string_js_1.isStringStrict)(key))throw new Error("No key");if(config_js_1.config.env.cache){const cacheDataFilterArgs={key:key,type:"get"},cacheData=await(0,filters_js_1.applyFilters)("cacheData",void 0,cacheDataFilterArgs,!0),cacheItems=cacheData?.data;if((0,object_js_1.isObject)(cacheItems))return structuredClone(cacheItems)}const dir=config_js_1.config.local.dir,data={};let hasData=!1;const files=await(0,promises_1.readdir)((0,node_path_1.resolve)(dir));for(const file of files){const fileExt=(0,node_path_1.extname)(file),fileName=(0,node_path_1.basename)(file,fileExt);if(".json"!==fileExt)continue;const fileContents=await(0,promises_1.readFile)((0,node_path_1.resolve)(dir,file),{encoding:"utf8"}),fileJson=(0,json_js_1.getJson)(fileContents);fileJson&&(data[fileName]=fileJson,hasData=!0)}if(!hasData)throw new Error("No data");const newData=(0,localDataNormal_js_1.normalizeLocalData)(data,refProps,imageProps,unsetProps);if(config_js_1.config.env.cache){const cacheDataFilterArgs={key:key,type:"set",data:data};await(0,filters_js_1.applyFilters)("cacheData",{data:newData},cacheDataFilterArgs,!0)}return newData};exports.getLocalData=getLocalData;const getAllLocalData=async args=>{const data=await getLocalData({key:"all_file_data",refProps:args?.refProps,imageProps:args?.imageProps,unsetProps:args?.unsetProps});let allData={navigationItem:[],navigation:[],content:{page:[]}};for(const[,value]of Object.entries(data)){const{contentType:contentType}=value;if(!(0,string_js_1.isStringStrict)(contentType))continue;const isPartial=config_js_1.config.partialTypes.includes(contentType),isWhole=config_js_1.config.wholeTypes.includes(contentType);if(!isPartial&&!isWhole)continue;const val=(0,filters_js_1.applyFilters)("localData",value);isPartial&&(null==allData[contentType]&&(allData[contentType]=[]),allData[contentType].push(val)),isWhole&&(null==allData.content[contentType]&&(allData.content[contentType]=[]),allData.content[contentType].push(val))}return allData=(0,filters_js_1.applyFilters)("allData",allData,{type:"local"}),allData};exports.getAllLocalData=getAllLocalData;
@@ -0,0 +1,3 @@
1
+ import type { LocalData } from './localDataTypes.js';
2
+ declare const normalizeLocalData: (data: LocalData, refProps?: string[], imageProps?: string[], unsetProps?: string[]) => LocalData;
3
+ export { normalizeLocalData };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeLocalData=void 0;const object_js_1=require("../utils/object/object.js"),array_js_1=require("../utils/array/array.js"),string_js_1=require("../utils/string/string.js"),store_js_1=require("../store/store.js"),normalizeLocalRefs=(data,refData,imageData,refProps=["internalLink","term","taxonomy"],imageProps=["image"],unsetProps=["content"],contentType)=>{const newData=(0,array_js_1.isArray)(data)?[]:{},isTemplate="contentTemplate"===data.renderType,isNavigation="navigation"===contentType,isNavigationItem="navigationItem"===contentType;for(const[key,value]of Object.entries(data)){const isRef=refProps.includes(key),isImage=imageProps.includes(key),isStr=(0,string_js_1.isStringStrict)(value),isArr=(0,array_js_1.isArrayStrict)(value);let newValue=value;isTemplate&&"content"===key&&isArr&&(newValue=value.map(item=>(0,string_js_1.isStringStrict)(item)?{...refData[item]}:item)),(isNavigation&&"items"===key||isNavigationItem&&"children"===key)&&isArr&&(newValue=value.map(id=>(0,string_js_1.isStringStrict)(id)?{id:id,title:refData[id]?.title}:null).filter(Boolean)),isImage&&isStr&&(newValue=imageData[value]?{...imageData[value]}:null),isRef&&isStr&&(newValue={...refData[value]},unsetProps.forEach(prop=>{newValue[prop]&&(newValue[prop]=void 0)})),isRef&&(0,array_js_1.isArrayStrict)(value)&&(newValue=value.map(refKey=>{if(!(0,string_js_1.isStringStrict)(refKey))return null;const ref=refData[refKey];if(!(0,object_js_1.isObjectStrict)(ref))return null;const newRef={...ref};return unsetProps.forEach(prop=>{newRef[prop]&&(newRef[prop]=void 0)}),newRef}).filter(Boolean)),(0,object_js_1.isObject)(newValue)&&(newValue=normalizeLocalRefs(newValue,refData,imageData,refProps,imageProps,unsetProps)),newData[key]=newValue}return newData},normalizeLocalData=(data,refProps,imageProps,unsetProps)=>{const newData={},imageMeta=(0,store_js_1.getStoreItem)("imageMeta"),refData={};for(const[key,item]of Object.entries(data))(0,object_js_1.isObjectStrict)(item)&&(refData[key]={id:key,...item});for(const[key,item]of Object.entries(refData))newData[key]=normalizeLocalRefs(item,refData,imageMeta,refProps,imageProps,unsetProps,item.contentType);return newData};exports.normalizeLocalData=normalizeLocalData;
@@ -0,0 +1,14 @@
1
+ import type { RenderItem } from '../render/renderTypes.js';
2
+ export type LocalData = Record<string, RenderItem>;
3
+ export type LocalDataItem = Record<string | number, unknown>;
4
+ export interface LocalDataArgs {
5
+ key: string;
6
+ refProps?: string[];
7
+ imageProps?: string[];
8
+ unsetProps?: string[];
9
+ }
10
+ export interface AllLocalDataArgs {
11
+ refProps?: string[];
12
+ imageProps?: string[];
13
+ unsetProps?: string[];
14
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,3 @@
1
+ import type { FormProps } from './FormTypes.js';
2
+ declare const Form: (props: FormProps) => string[];
3
+ export { Form };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Form=void 0;const uuid_1=require("uuid"),filters_js_1=require("../../filters/filters.js"),string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),Form=props=>{if(!(0,object_js_1.isObjectStrict)(props))return[];props=(0,filters_js_1.applyFilters)("formProps",props);const{args:args}=props,{id:id,formTag:formTag="form",formClasses:formClasses,formAttr:formAttr,fields:fields="",fieldsClasses:fieldsClasses,fieldsAttr:fieldsAttr,submitFieldClasses:submitFieldClasses,submitFieldAttr:submitFieldAttr,submitLabel:submitLabel="Submit",submitClasses:submitClasses,submitAttr:submitAttr,honeypotName:honeypotName,honeypotFieldClasses:honeypotFieldClasses,honeypotFieldAttr:honeypotFieldAttr,honeypotLabelClasses:honeypotLabelClasses,honeypotLabel:honeypotLabel="Website",honeypotClasses:honeypotClasses,honeypotAttr:honeypotAttr}=(0,object_js_1.isObjectStrict)(args)?args:{};if(!(0,string_js_1.isStringStrict)(id)||!(0,string_js_1.isStringStrict)(formTag)||!(0,string_js_1.isStringStrict)(submitLabel))return[];const formAttrs=((0,string_js_1.isStringStrict)(formClasses)?` class="${formClasses}"`:"")+((0,string_js_1.isStringStrict)(formAttr)?` ${formAttr}`:""),fieldsTag="form"===formTag?"div":"form",fieldsAttrs=((0,string_js_1.isStringStrict)(fieldsClasses)?` class="${fieldsClasses}"`:"")+((0,string_js_1.isStringStrict)(fieldsAttr)?` ${fieldsAttr}`:"");let honeypotOutput="";if((0,string_js_1.isStringStrict)(honeypotName)){const honeypotId=(0,uuid_1.v4)(),honeypotFieldAttrs=((0,string_js_1.isStringStrict)(honeypotFieldClasses)?` class="${honeypotFieldClasses}"`:"")+((0,string_js_1.isStringStrict)(honeypotFieldAttr)?` ${honeypotFieldAttr}`:""),honeypotAttrs=((0,string_js_1.isStringStrict)(honeypotClasses)?` class="${honeypotClasses}"`:"")+((0,string_js_1.isStringStrict)(honeypotAttr)?` ${honeypotAttr}`:"");honeypotOutput=`\n <div${honeypotFieldAttrs}>\n <label for="${honeypotId}"${(0,string_js_1.isStringStrict)(honeypotLabelClasses)?` class="${honeypotLabelClasses}"`:""}>\n ${honeypotLabel}\n </label>\n <input type="url" name="${honeypotName}" id="${honeypotId}" autocomplete="off"${honeypotAttrs}>\n </div>\n `}return[`\n <${formTag} id="${id}"${formAttrs}>\n <${fieldsTag}${fieldsAttrs}>`,`${fields}${honeypotOutput}\n <div${((0,string_js_1.isStringStrict)(submitFieldClasses)?` class="${submitFieldClasses}"`:"")+((0,string_js_1.isStringStrict)(submitFieldAttr)?` ${submitFieldAttr}`:"")}>\n <button type="submit"${((0,string_js_1.isStringStrict)(submitClasses)?` class="${submitClasses}"`:"")+((0,string_js_1.isStringStrict)(submitAttr)?` ${submitAttr}`:"")}>\n ${submitLabel}\n </button>\n </div>\n </${fieldsTag}>\n </${formTag}>\n `]};exports.Form=Form;
@@ -0,0 +1,3 @@
1
+ import type { FormFieldProps } from './FormTypes.js';
2
+ declare const FormField: (props: FormFieldProps) => string[];
3
+ export { FormField };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormField=void 0;const uuid_1=require("uuid"),filters_js_1=require("../../filters/filters.js"),string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),FormField=props=>{if(!(0,object_js_1.isObjectStrict)(props))return[];props=(0,filters_js_1.applyFilters)("formFieldProps",props);const{args:args}=props,{type:type="text",name:name,label:label,hint:hint,value:value,required:required=!1,attr:attr,emptyError:emptyError,invalidError:invalidError,fieldTag:fieldTag="div",fieldClasses:fieldClasses,fieldAttr:fieldAttr,fieldsetClasses:fieldsetClasses,fieldsetAttr:fieldsetAttr,labelClasses:labelClasses,classes:classes,radioIcon:radioIcon,checkboxIcon:checkboxIcon}=(0,object_js_1.isObjectStrict)(args)?args:{},isHidden="hidden"===type;if(!(0,string_js_1.isStringStrict)(label)&&!isHidden)return[];let isFieldset="fieldset"===type;if(!isFieldset&&!(0,string_js_1.isStringStrict)(name))return[];const isOption="checkbox"===type||"radio"===type,isSelect="select"===type;("checkbox-group"===type||"radio-group"===type)&&(isFieldset=!0);const isTextarea="textarea"===type,hasValue=(0,string_js_1.isStringStrict)(value),id=(0,uuid_1.v4)();let optionIcon="",selectIcon="";"radio"===type&&(0,string_js_1.isStringStrict)(radioIcon)&&(optionIcon=radioIcon),"checkbox"===type&&(0,string_js_1.isStringStrict)(checkboxIcon)&&(optionIcon=checkboxIcon),"select"===type&&(0,string_js_1.isStringStrict)(args.selectIcon)&&(selectIcon=args.selectIcon);const requiredIcon=required&&(0,string_js_1.isStringStrict)(args.requiredIcon)?args.requiredIcon:"",fieldAttrs=["data-form-field"],fieldsetAttrs=[],attrs=["data-form-input"];if((0,string_js_1.isStringStrict)(attr)){const attrsArr=attr.split("\n");for(const attrItem of attrsArr){const[attrName,attrValue]=attrItem.split(" : ");(0,string_js_1.isStringStrict)(attrName)&&(0,string_js_1.isStringStrict)(attrValue)&&attrs.push(`${attrName}="${attrValue}"`)}}isTextarea||isSelect||!hasValue||attrs.push(`value="${value}"`),(0,string_js_1.isStringStrict)(classes)&&attrs.push(`class="${classes}"`),(0,string_js_1.isStringStrict)(fieldClasses)&&fieldAttrs.push(`class="${fieldClasses}"`),(0,string_js_1.isStringStrict)(fieldsetClasses)&&fieldsetAttrs.push(`class="${fieldsetClasses}"`),(0,string_js_1.isStringStrict)(fieldAttr)&&fieldAttrs.push(fieldAttr),(0,string_js_1.isStringStrict)(fieldsetAttr)&&fieldsetAttrs.push(fieldsetAttr),(0,string_js_1.isStringStrict)(emptyError)&&!isHidden&&(isFieldset?fieldsetAttrs:attrs).push(`data-form-empty="${emptyError}"`),(0,string_js_1.isStringStrict)(invalidError)&&!isHidden&&(isFieldset?fieldsetAttrs:attrs).push(`data-form-invalid="${invalidError}"`),required&&!isHidden&&(isFieldset?fieldsetAttrs:attrs).push(isFieldset?"data-form-required":"required");const fieldAtts=` ${fieldAttrs.join(" ")}`,fieldsetAtts=fieldsetAttrs.length?` ${fieldsetAttrs.join(" ")}`:"",atts=` ${attrs.join(" ")}`;let hintOutput="";(0,string_js_1.isStringStrict)(hint)&&(hintOutput=`<small data-form-hint>${hint}</small>`);let labelBefore="",labelAfter="";const labelClass=(0,string_js_1.isStringStrict)(labelClasses)?` class="${labelClasses}"`:"";isFieldset?labelBefore=`\n <legend id="${(0,uuid_1.v4)()}"${labelClass}>\n <span data-form-legend>\n <span data-form-legend-text>${label}</span>\n ${requiredIcon}\n </span>\n ${hintOutput}\n </legend>\n `:isOption?labelAfter=`\n <label for="${id}"${labelClass}>\n <span data-form-option>\n ${optionIcon}\n <span data-form-label>\n <span data-form-label-text>${label}</span>\n ${requiredIcon}\n </span>\n </span>\n ${hintOutput}\n </label>\n `:labelBefore=`\n <label for="${id}"${labelClass}>\n <span data-form-label>\n <span data-form-label-text>${label}</span>\n ${requiredIcon}\n </span>\n ${hintOutput}\n </label>\n `;let beforeOutput="",afterOutput="";switch(type){case"text":case"email":case"checkbox":case"radio":case"number":case"password":case"tel":case"url":case"hidden":beforeOutput=`<input type="${type}" name="${name}" id="${id}"${atts}>`;break;case"textarea":beforeOutput=`<textarea name="${name}" id="${id}"${atts}>${hasValue?value:""}</textarea>`;break;case"select":beforeOutput=`\n <div data-form-select>\n <select name="${name}" id="${id}"${atts}>`,afterOutput=`\n </select>\n ${selectIcon}\n </div>`}return isHidden?[beforeOutput]:[`\n <${fieldTag}${fieldAtts}>\n ${isFieldset?`<fieldset${fieldsetAtts}>`:""}\n ${labelBefore}\n ${isFieldset?"<div data-form-group>":""}\n ${beforeOutput}`,`${afterOutput}\n ${labelAfter}\n ${isFieldset?"</div></fieldset>":""}\n </${fieldTag}>\n `]};exports.FormField=FormField;
@@ -0,0 +1,3 @@
1
+ import type { FormOptionProps } from './FormTypes.js';
2
+ declare const FormOption: (props: FormOptionProps) => string;
3
+ export { FormOption };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormOption=void 0;const uuid_1=require("uuid"),filters_js_1=require("../../filters/filters.js"),string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),array_js_1=require("../../utils/array/array.js"),FormOption=props=>{if(!(0,object_js_1.isObjectStrict)(props))return"";props=(0,filters_js_1.applyFilters)("formOptionProps",props);const{args:args,parents:parents}=props,{label:label,value:value="",name:name,hint:hint,selected:selected,radioIcon:radioIcon,checkboxIcon:checkboxIcon,optionClasses:optionClasses,labelClasses:labelClasses,classes:classes}=(0,object_js_1.isObjectStrict)(args)?args:{};if(!(0,string_js_1.isStringStrict)(label))return"";if(!(0,array_js_1.isArrayStrict)(parents))return"";const fieldParent=parents[0];if(!(0,object_js_1.isObjectStrict)(fieldParent))return"";const{renderType:renderType,args:fieldArgs}=fieldParent;if("formField"!==renderType)return"";const{name:fieldName,type:fieldType}=fieldArgs,isRadioGroup="radio-group"===fieldType,isCheckboxGroup="checkbox-group"===fieldType,isSelect="select"===fieldType;if(!isRadioGroup&&!isCheckboxGroup&&!isSelect)return"";if(isSelect)return`<option value="${value}"${selected?" selected":""}>${label}</option>`;const inputName=name||fieldName;if(!(0,string_js_1.isStringStrict)(inputName))return"";const id=(0,uuid_1.v4)();let optionIcon="";isRadioGroup&&(0,string_js_1.isStringStrict)(radioIcon)&&(optionIcon=radioIcon),isCheckboxGroup&&(0,string_js_1.isStringStrict)(checkboxIcon)&&(optionIcon=checkboxIcon);let hintOutput="";return(0,string_js_1.isStringStrict)(hint)&&(hintOutput=`<small data-form-hint>${hint}</small>`),`\n <div${(0,string_js_1.isStringStrict)(optionClasses)?` class="${optionClasses}"`:""}>\n <input\n type="${isRadioGroup?"radio":"checkbox"}"\n value="${value}"\n name="${inputName}"\n id="${id}"\n ${(0,string_js_1.isStringStrict)(classes)?` class="${classes}"`:""}\n data-form-input\n ${selected?" checked":""}\n >\n <label for="${id}"${(0,string_js_1.isStringStrict)(labelClasses)?` class="${labelClasses}"`:""}>\n <span data-form-option>\n ${optionIcon}\n <span data-form-label>\n <span data-form-label-text>${label}</span>\n ${hintOutput}\n </span>\n </span>\n </label>\n </div>\n `};exports.FormOption=FormOption;
@@ -0,0 +1,76 @@
1
+ import type { Generic, ParentArgs } from '../../global/globalTypes.js';
2
+ import type { RenderFunctionArgs, RenderItem } from '../../render/renderTypes.js';
3
+ export interface FormArgs extends Generic {
4
+ id?: string;
5
+ formTag?: string;
6
+ formClasses?: string;
7
+ formAttr?: string;
8
+ fields?: string;
9
+ fieldsClasses?: string;
10
+ fieldsAttr?: string;
11
+ submitFieldClasses?: string;
12
+ submitFieldAttr?: string;
13
+ submitLabel?: string;
14
+ submitClasses?: string;
15
+ submitAttr?: string;
16
+ honeypotName?: string;
17
+ honeypotFieldClasses?: string;
18
+ honeypotFieldAttr?: string;
19
+ honeypotLabelClasses?: string;
20
+ honeypotClasses?: string;
21
+ honeypotLabel?: string;
22
+ honeypotAttr?: string;
23
+ }
24
+ export interface FormProps<A = FormArgs, R = RenderItem> extends RenderFunctionArgs<A, R> {
25
+ args: FormArgs & A;
26
+ }
27
+ export interface FormMeta {
28
+ subject?: string;
29
+ toEmail?: string;
30
+ senderEmail?: string;
31
+ }
32
+ export type FormPropsFilter<A = FormArgs, R = RenderItem> = (props: FormProps<A, R>) => FormProps<A, R>;
33
+ export type FormFieldType = 'text' | 'email' | 'checkbox' | 'radio' | 'number' | 'password' | 'tel' | 'url' | 'textarea' | 'select' | 'radio-group' | 'checkbox-group' | 'fieldset' | 'hidden' | 'file';
34
+ export interface FormFieldArgs extends Generic {
35
+ type?: FormFieldType;
36
+ name?: string;
37
+ label?: string;
38
+ hint?: string;
39
+ value?: string;
40
+ required?: boolean;
41
+ attr?: string;
42
+ emptyError?: string;
43
+ invalidError?: string;
44
+ fieldsetClasses?: string;
45
+ fieldsetAttr?: string;
46
+ fieldTag?: string;
47
+ fieldClasses?: string;
48
+ fieldAttr?: string;
49
+ labelClasses?: string;
50
+ classes?: string;
51
+ radioIcon?: string;
52
+ checkboxIcon?: string;
53
+ selectIcon?: string;
54
+ requiredIcon?: string;
55
+ }
56
+ export interface FormFieldProps<A = FormFieldArgs, R = RenderItem> extends RenderFunctionArgs<A, R> {
57
+ args: FormFieldArgs & A;
58
+ }
59
+ export type FormFieldPropsFilter<A = FormFieldArgs, R = RenderItem> = (props: FormFieldProps<A, R>) => FormFieldProps<A, R>;
60
+ export interface FormOptionArgs extends Generic {
61
+ label?: string;
62
+ value?: string;
63
+ name?: string;
64
+ hint?: string;
65
+ selected?: boolean;
66
+ optionClasses?: string;
67
+ labelClasses?: string;
68
+ classes?: string;
69
+ radioIcon?: string;
70
+ checkboxIcon?: string;
71
+ }
72
+ export interface FormOptionProps<A = FormOptionArgs, R = RenderItem, P = ParentArgs & FormFieldProps> extends RenderFunctionArgs<A, R, P> {
73
+ args: FormOptionArgs & A;
74
+ parents?: P[];
75
+ }
76
+ export type FormOptionPropsFilter<A = FormOptionArgs, R = RenderItem> = (props: FormOptionProps<A, R>) => FormOptionProps<A, R>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1 @@
1
+ {"type": "commonjs"}
@@ -0,0 +1,4 @@
1
+ import type { RenderRedirect } from '../render/renderTypes.js';
2
+ declare let redirects: string[];
3
+ declare const setRedirects: (data?: RenderRedirect[]) => boolean;
4
+ export { redirects, setRedirects };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setRedirects=exports.redirects=void 0;const array_js_1=require("../utils/array/array.js"),object_js_1=require("../utils/object/object.js");let redirects=[];exports.redirects=redirects;const setRedirects=data=>!!(0,array_js_1.isArrayStrict)(data)&&(exports.redirects=redirects=[],data.forEach(item=>{if(!(0,object_js_1.isObjectStrict)(item))return;const{redirect:redirect}=item;(0,array_js_1.isArrayStrict)(redirect)&&(exports.redirects=redirects=redirects.concat(redirect))}),redirects.length>1);exports.setRedirects=setRedirects;
@@ -0,0 +1,2 @@
1
+ declare const createRedirectsFile: (path?: string) => Promise<void>;
2
+ export { createRedirectsFile };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createRedirectsFile=void 0;const promises_1=require("node:fs/promises"),node_path_1=require("node:path"),print_js_1=require("../utils/print/print.js"),redirects_js_1=require("./redirects.js"),createRedirectsFile=async(path="site/_redirects")=>{const redirectsPath=(0,node_path_1.resolve)(path),redirectsDir=(0,node_path_1.dirname)(redirectsPath);await(0,promises_1.mkdir)(redirectsDir,{recursive:!0}),await(0,promises_1.writeFile)(redirectsPath,redirects_js_1.redirects.join("\n").trimEnd()),(0,print_js_1.print)("[FRM] Successfully wrote",redirectsPath,"success")};exports.createRedirectsFile=createRedirectsFile;
@@ -0,0 +1,11 @@
1
+ import type { RenderContentArgs, RenderItemArgs, RenderItemReturn, RenderArgs, RenderReturn, RenderFunctions, RenderLayout, RenderHttpError, RenderNavigation, RenderFunctionsArgs } from './renderTypes.js';
2
+ import type { RefString } from '../global/globalTypes.js';
3
+ declare let renderFunctions: RenderFunctions;
4
+ declare let renderLayout: RenderLayout;
5
+ declare let renderHttpError: RenderHttpError;
6
+ declare let renderNavigation: RenderNavigation;
7
+ declare const setRenderFunctions: (args: RenderFunctionsArgs) => boolean;
8
+ declare const renderContent: (args: RenderContentArgs, _html?: RefString) => Promise<string>;
9
+ declare const renderItem: (args: RenderItemArgs, _contentType?: string) => Promise<RenderItemReturn | null>;
10
+ declare const render: (args: RenderArgs) => Promise<RenderReturn[] | RenderReturn>;
11
+ export { render, renderItem, renderContent, renderFunctions, renderLayout, renderNavigation, renderHttpError, setRenderFunctions };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setRenderFunctions=exports.renderHttpError=exports.renderNavigation=exports.renderLayout=exports.renderFunctions=exports.renderContent=exports.renderItem=exports.render=void 0;const actions_js_1=require("../actions/actions.js"),filters_js_1=require("../filters/filters.js"),link_js_1=require("../utils/link/link.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"),function_js_1=require("../utils/function/function.js"),shortcodes_js_1=require("../shortcodes/shortcodes.js"),tag_js_1=require("../utils/tag/tag.js"),store_js_1=require("../store/store.js"),redirects_js_1=require("../redirects/redirects.js"),scripts_js_1=require("../scripts/scripts.js"),config_js_1=require("../config/config.js");let renderFunctions={};exports.renderFunctions=renderFunctions;let renderLayout=()=>"";exports.renderLayout=renderLayout;let renderHttpError=()=>"";exports.renderHttpError=renderHttpError;let renderNavigation=()=>{};exports.renderNavigation=renderNavigation;const setRenderFunctions=args=>{if(!(0,object_js_1.isObjectStrict)(args))return!1;const{functions:functions,layout:layout,navigation:navigation,httpError:httpError}=args;return!(!(0,object_js_1.isObjectStrict)(functions)||!(0,function_js_1.isFunction)(layout))&&(exports.renderFunctions=renderFunctions={...functions},exports.renderLayout=renderLayout=layout,(0,function_js_1.isFunction)(navigation)&&(exports.renderNavigation=renderNavigation=navigation),(0,function_js_1.isFunction)(httpError)&&(exports.renderHttpError=renderHttpError=httpError),!0)};exports.setRenderFunctions=setRenderFunctions;const getContentTemplate=(content,templates=[],named=!1)=>{if(!(0,array_js_1.isArrayStrict)(content))return{content:[],namedContent:{},templates:[]};const namedContent={},newContent=content.map(c=>(named&&(0,string_js_1.isString)(c.name)&&(namedContent[c.name]={...c}),(0,tag_js_1.tagExists)(c,"template")?(templates.push({...c}),{metadata:{tags:[{id:"templateBreak"}]}}):c));return{namedContent:namedContent,content:newContent,templates:structuredClone(templates)}},mapContentTemplate=(templates,content=[],namedContent={},named=!1)=>{if(!(0,array_js_1.isArrayStrict)(templates))return templates;const lastTemplateIndex=templates.length-1;return templates.forEach((t,i)=>{content[0]&&(0,tag_js_1.tagExists)(content[0],"templateBreak")&&content.length>=1&&content.shift();if((0,tag_js_1.tagExists)(t,"templateOptional")&&i===lastTemplateIndex&&!content.length)return void templates.pop();const isSlot=(0,tag_js_1.tagExists)(t,"templateSlot");let children=t.content;if((0,array_js_1.isArrayStrict)(children)&&!isSlot&&!named){let repeat;const newChildren=[...children],repeatIndex=children.findIndex(c=>{const isRepeat=(0,tag_js_1.tagExists)(c,"templateRepeat");return isRepeat&&(repeat=c),isRepeat});if(-1!==repeatIndex&&repeat){let breakIndex=content.findIndex(c=>(0,tag_js_1.tagExists)(c,"templateBreak"));breakIndex=-1===breakIndex?content.length:breakIndex;let insertIndex=repeatIndex;for(let j=insertIndex;j<breakIndex-1;j+=1)newChildren.splice(insertIndex,0,structuredClone(repeat)),insertIndex=j}children=newChildren}if(isSlot&&content.length>=1){let fill=null;return fill=named?namedContent[t.name]:content.shift(),void(fill&&(templates[i]=fill))}(0,array_js_1.isArray)(children)&&templates[i]&&(templates[i].content=mapContentTemplate(children,content,namedContent,named))}),templates},renderContent=async(args,_html={ref:""})=>{if(!(0,object_js_1.isObjectStrict)(args))return _html.ref;const{content:content=[],serverlessData:serverlessData,previewData:previewData,itemData:itemData,itemContains:itemContains=new Set,itemHeadings:itemHeadings=[],parents:parents=[],depth:depth=0}=args;let{headingsIndex:headingsIndex=-1}=args;if(!(0,array_js_1.isArrayStrict)(content))return _html.ref;for(const item of content){if(!(0,object_js_1.isObjectStrict)(item))continue;const props={...item},renderType=(0,string_js_1.isString)(props.renderType)?props.renderType:"",isRichText="richText"===renderType;let childrenArr,children=props.content;if("contentTemplate"===renderType){const isNamed=(0,tag_js_1.tagExists)(item,"templateNamed"),template=getContentTemplate((0,array_js_1.isArray)(props.content)?props.content:[],[],isNamed);children=mapContentTemplate(template.templates,template.content,template.namedContent,isNamed)}let childrenStr="";(0,array_js_1.isArrayStrict)(children)&&!isRichText&&(childrenArr=children),(0,string_js_1.isStringStrict)(children)&&!isRichText&&(childrenStr=children),"content"===renderType&&0===depth&&(headingsIndex=itemHeadings.push([])-1);let renderStart="",renderEnd="",filterType="",filterArgs={};const renderFunction=renderFunctions[renderType];if((0,function_js_1.isFunction)(renderFunction)){childrenArr&&(props.content=void 0);const renderArgs={args:props,parents:parents,itemData:itemData,itemContains:itemContains,serverlessData:serverlessData,previewData:previewData};childrenArr&&(renderArgs.children=childrenArr),"richText"===renderType&&(renderArgs.headings=itemHeadings[headingsIndex]);const renderOutput=await renderFunction(renderArgs);if((0,array_js_1.isArrayStrict)(renderOutput)){const[start,end]=renderOutput;(0,string_js_1.isString)(start)&&(renderStart=start),(0,string_js_1.isString)(end)&&(renderEnd=end)}(0,string_js_1.isString)(renderOutput)&&(renderStart=renderOutput,childrenArr=void 0),itemContains.add(renderType),filterType=renderType,filterArgs={...props,content:void 0}}const renderContentFilterArgs={renderType:filterType,args:filterArgs},[filterRenderStart,filterRenderEnd]=await(0,filters_js_1.applyFilters)("renderContent",[renderStart,renderEnd],renderContentFilterArgs,!0);if(renderStart=filterRenderStart,renderEnd=filterRenderEnd,_html.ref+=renderStart+childrenStr,childrenArr){const parentsCopy=[...parents];renderType&&parentsCopy.unshift({renderType:renderType,args:{...props,content:void 0,parents:void 0}}),await renderContent({content:childrenArr,serverlessData:serverlessData,previewData:previewData,parents:parentsCopy,itemData:itemData,itemContains:itemContains,itemHeadings:itemHeadings,headingsIndex:headingsIndex,depth:depth+1},_html)}_html.ref+=renderEnd}return _html.ref};exports.renderContent=renderContent;const renderItem=async(args,_contentType)=>{if(!(0,object_js_1.isObjectStrict)(args))return null;const{item:item,serverlessData:serverlessData,previewData:previewData}=args;if(!(0,object_js_1.isObjectStrict)(item))return null;const contentType=item.contentType;if(!(0,string_js_1.isStringStrict)(contentType))return null;if("taxonomy"===contentType&&!0!==item.isPage)return null;const id=item.id;if(!(0,string_js_1.isStringStrict)(id))return null;if(!(0,string_js_1.isStringStrict)(item.slug))return null;let serverlessRender=!1;const itemContains=new Set,itemHeadings=[];scripts_js_1.scripts.deps.clear(),scripts_js_1.scripts.item.clear(),scripts_js_1.scripts.meta={},scripts_js_1.styles.deps.clear(),scripts_js_1.styles.item.clear();const renderItemStartArgs={id:id,itemData:{...item},contentType:contentType,itemContains:new Set,itemHeadings:[],serverlessData:serverlessData,previewData:previewData};await(0,actions_js_1.doActions)("renderItemStart",renderItemStartArgs,!0);const title=item.title,meta={title:"",description:"",url:"",image:"",canonical:"",prev:"",next:"",index:!0,isIndex:!1,...item.meta};(0,string_js_1.isStringStrict)(item.metaTitle)&&(meta.title=item.metaTitle),(0,string_js_1.isStringStrict)(item.metaDescription)&&(meta.description=item.metaDescription),(0,string_js_1.isStringStrict)(item.metaImage?.url)&&(meta.image=item.metaImage.url),!(0,string_js_1.isStringStrict)(meta.title)&&(0,string_js_1.isStringStrict)(title)&&(meta.title=title);const slugArgs={id:id,contentType:contentType,slug:item.slug,returnParents:!0,itemData:item,page:0},s=(0,link_js_1.getSlug)(slugArgs,!0),slug=s.slug,slugIsHtml=slug.endsWith(".html"),permalink=(0,link_js_1.getPermalink)(slug,!slugIsHtml),parents=s.parents;meta.url=permalink,meta.canonical=permalink;const taxonomy="term"===contentType?item.taxonomy:"taxonomy"===contentType?item:null;item.baseUrl=permalink,item.baseType=(0,object_js_1.isObjectStrict)(taxonomy)&&(0,array_js_1.isArrayStrict)(taxonomy.contentTypes)?taxonomy.contentTypes:contentType;let formattedSlug="index"!==slug&&""!==slug?`/${slug}/`:"/";slugIsHtml&&(formattedSlug=slug);const index="index"===item.slug;let itemServerlessData;if(meta.isIndex=index,(0,object_js_1.isObjectStrict)(serverlessData)){if(!(serverlessData.path===formattedSlug&&null!=serverlessData.query))return{serverlessRender:!1};itemServerlessData=serverlessData}const itemData={...item};itemData.id=id,itemData.parents=parents,itemData.content=void 0;let contentOutput="";const contentData=item.content;(0,string_js_1.isStringStrict)(contentData)&&(contentOutput=contentData),(0,array_js_1.isArrayStrict)(contentData)&&(contentOutput=await renderContent({content:contentData,serverlessData:itemServerlessData,parents:[],itemData:itemData,itemContains:itemContains,itemHeadings:itemHeadings,previewData:previewData})),contentOutput=await(0,shortcodes_js_1.doShortcodes)(contentOutput,itemData);const pag=itemData.pagination;if((0,object_js_1.isObjectStrict)(pag)){const{currentParams:currentParams,prevParams:prevParams,nextParams:nextParams}=pag,currentParamsStr=new URLSearchParams(currentParams).toString();if(currentParamsStr&&(meta.canonicalParams=`?${currentParamsStr}`),(0,string_js_1.isStringStrict)(pag.title)&&(meta.paginationTitle=pag.title),pag.prev){const prevSlugArgs={...slugArgs,params:prevParams},p=(0,link_js_1.getSlug)(prevSlugArgs,!0);meta.prev=(0,link_js_1.getPermalink)(p.slug,1===pag.prev&&!prevParams)}if(pag.next){const nextSlugArgs={...slugArgs,params:nextParams},n=(0,link_js_1.getSlug)(nextSlugArgs,!0);meta.next=(0,link_js_1.getPermalink)(n.slug,!1)}serverlessRender=!0}const cmsLocales=config_js_1.config.cms.locales,slugData=[id,(0,string_js_1.isStringStrict)(_contentType)?_contentType:contentType];if((0,string_js_1.isStringStrict)(item.locale)&&cmsLocales){const locale=item.locale;cmsLocales.includes(locale)&&locale!==cmsLocales[0]&&slugData.push(locale)}(config_js_1.config.env.dev||config_js_1.config.env.prod&&serverlessRender)&&(0,store_js_1.setStoreItem)("slugs",slugData,slugIsHtml?`/${slug}`:formattedSlug);const layoutArgs={id:id,meta:meta,contentType:contentType,content:contentOutput,slug:formattedSlug,itemContains:itemContains,itemHeadings:itemHeadings,itemData:itemData,serverlessData:serverlessData,previewData:previewData};let layoutOutput=await renderLayout(layoutArgs);const renderItemFilterArgs={id:id,contentType:contentType,slug:formattedSlug,output:layoutOutput,itemData:itemData,itemContains:itemContains,itemHeadings:itemHeadings,serverlessData:serverlessData,previewData:previewData};layoutOutput=await(0,filters_js_1.applyFilters)("renderItem",layoutOutput,renderItemFilterArgs,!0);const renderItemEndArgs={id:id,contentType:contentType,slug:formattedSlug,output:layoutOutput,itemData:itemData,itemContains:itemContains,itemHeadings:itemHeadings,serverlessData:serverlessData,previewData:previewData};return await(0,actions_js_1.doActions)("renderItemEnd",renderItemEndArgs,!0),{serverlessRender:serverlessRender,itemData:itemData,data:{slug:formattedSlug,output:layoutOutput}}};exports.renderItem=renderItem;const render=async args=>{if(!(0,object_js_1.isObjectStrict)(args))return[];const{allData:allData,serverlessData:serverlessData,previewData:previewData}=args,isServerless=null!=serverlessData,isPreview=null!=previewData;if(scripts_js_1.scripts.deps.clear(),scripts_js_1.scripts.item.clear(),scripts_js_1.scripts.meta={},scripts_js_1.styles.deps.clear(),scripts_js_1.styles.item.clear(),!(0,object_js_1.isObjectStrict)(allData))return[];const{redirect:redirect,content:content}=allData;await(0,actions_js_1.doActions)("renderStart",args,!0);const data=[];isServerless||(0,store_js_1.setStoreData)(allData),await renderNavigation({navigations:(0,store_js_1.getStoreItem)("navigations"),items:(0,store_js_1.getStoreItem)("navigationItems")}),(0,redirects_js_1.setRedirects)(redirect);for(const[contentType,contentItems]of Object.entries(content))if((0,array_js_1.isArrayStrict)(contentItems))for(const contentItem of contentItems){const item=await renderItem({item:await(0,filters_js_1.applyFilters)("renderItemData",contentItem,{contentType:contentType},!0),serverlessData:serverlessData,previewData:previewData},contentType);if(!item)continue;const{serverlessRender:serverlessRender=!1,data:itemData}=item;itemData&&(data.push(itemData),serverlessRender&&!isServerless&&(0,store_js_1.setStoreItem)("serverless",["reload"],itemData.slug))}const[outputItem]=data,output=(isServerless||isPreview)&&outputItem?outputItem:data;return await(0,actions_js_1.doActions)("renderEnd",{...args,data:output},!0),output};exports.render=render;
@@ -0,0 +1,4 @@
1
+ import type { RenderItem, RenderContentArgs, RenderInlineItem } from './renderTypes.js';
2
+ declare const renderInlineContent: (content: RenderItem[], args?: Partial<Omit<RenderContentArgs, "content">>) => Promise<string>;
3
+ declare const renderInlineItem: (item: RenderInlineItem) => Promise<string>;
4
+ export { renderInlineContent, renderInlineItem };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.renderInlineItem=exports.renderInlineContent=void 0;const render_js_1=require("./render.js"),object_js_1=require("../utils/object/object.js"),string_js_1=require("../utils/string/string.js"),renderInlineContent=async(content,args)=>await(0,render_js_1.renderContent)({content:content,parents:[],itemData:{},itemContains:new Set,itemHeadings:[],...args});exports.renderInlineContent=renderInlineContent;const renderInlineItem=async item=>{if(!(0,object_js_1.isObjectStrict)(item))return"";const res=await(0,render_js_1.renderItem)({item:item});return(0,string_js_1.isString)(res?.data?.output)?res.data.output:""};exports.renderInlineItem=renderInlineItem;
@@ -0,0 +1,197 @@
1
+ import type { Generic, GenericStrings, InternalLink, Taxonomy, ParentArgs } from '../global/globalTypes.js';
2
+ import type { NavigationList, NavigationItem, NavigationProps } from '../components/Navigation/NavigationTypes.js';
3
+ import type { RichTextHeading } from '../text/RichText/RichTextTypes.js';
4
+ import type { PaginationData } from '../components/Pagination/PaginationTypes.js';
5
+ export interface RenderMeta {
6
+ title?: string;
7
+ paginationTitle?: string;
8
+ description?: string;
9
+ url?: string;
10
+ image?: string;
11
+ canonical?: string;
12
+ canonicalParams?: string;
13
+ prev?: string;
14
+ next?: string;
15
+ index?: boolean;
16
+ isIndex?: boolean;
17
+ }
18
+ export interface RenderBase {
19
+ itemData: RenderItem;
20
+ itemHeadings: RichTextHeading[][];
21
+ itemContains: Set<string>;
22
+ serverlessData?: RenderServerlessData;
23
+ previewData?: RenderPreviewData;
24
+ }
25
+ export interface RenderServerlessData {
26
+ path: string;
27
+ query?: Generic;
28
+ }
29
+ export interface RenderPreviewData {
30
+ id: string;
31
+ contentType: string;
32
+ locale?: string;
33
+ }
34
+ export interface RenderRedirect {
35
+ redirect: string[];
36
+ }
37
+ export interface RenderTag {
38
+ id: string;
39
+ }
40
+ export interface RenderMetaTags {
41
+ tags?: RenderTag[];
42
+ }
43
+ export interface RenderFile {
44
+ path?: string;
45
+ url?: string;
46
+ name?: string;
47
+ alt?: string;
48
+ width?: number;
49
+ height?: number;
50
+ size?: number;
51
+ format?: string;
52
+ type?: string;
53
+ sizes?: Record<number, string>;
54
+ }
55
+ export interface RenderRichText {
56
+ tag?: string;
57
+ link?: string;
58
+ internalLink?: InternalLink;
59
+ content?: RenderItem[] | string;
60
+ attr?: string | GenericStrings;
61
+ }
62
+ export interface RenderTemplate {
63
+ content: RenderItem[];
64
+ namedContent: Record<string, RenderItem>;
65
+ templates: RenderItem[];
66
+ }
67
+ export type RenderNavigation = (args: NavigationProps) => void | Promise<void>;
68
+ export interface RenderHttpErrorArgs extends Generic {
69
+ code: number;
70
+ }
71
+ export type RenderHttpError = (args: RenderHttpErrorArgs) => string | Promise<string>;
72
+ export interface RenderFunctionArgs<A = any, R = RenderItem, P = ParentArgs, C = any> {
73
+ args: 0 extends (1 & A) ? any : A;
74
+ parents?: P[];
75
+ itemData?: R;
76
+ itemContains?: Set<string>;
77
+ serverlessData?: RenderServerlessData;
78
+ previewData?: RenderPreviewData;
79
+ headings?: RichTextHeading[];
80
+ children?: C[];
81
+ }
82
+ export type RenderFunction<A = any, R = RenderItem, P = ParentArgs, C = any> = (props: RenderFunctionArgs<A, R, P, C>) => string | string[] | Promise<string | string[]>;
83
+ export type RenderFunctions<A = any, R = RenderItem, P = ParentArgs, C = any> = Record<string, RenderFunction<A, R, P, C>>;
84
+ export interface RenderFunctionsArgs {
85
+ functions: RenderFunctions;
86
+ layout: RenderLayout;
87
+ navigation?: RenderNavigation;
88
+ httpError?: RenderHttpError;
89
+ }
90
+ export interface RenderContentArgs extends RenderBase {
91
+ content: RenderItem[];
92
+ parents: ParentArgs[];
93
+ headingsIndex?: number;
94
+ depth?: number;
95
+ }
96
+ export interface RenderItem extends Generic, Partial<Taxonomy> {
97
+ id?: string;
98
+ contentType?: string;
99
+ renderType?: string;
100
+ tag?: string;
101
+ link?: string;
102
+ internalLink?: InternalLink;
103
+ slug?: string;
104
+ title?: string;
105
+ content?: RenderItem[] | string;
106
+ meta?: RenderMeta;
107
+ baseUrl?: string;
108
+ baseType?: string | string[];
109
+ archive?: string;
110
+ parent?: RenderItem;
111
+ taxonomy?: Taxonomy;
112
+ metadata?: RenderMetaTags;
113
+ pagination?: PaginationData;
114
+ }
115
+ export interface RenderItemArgs {
116
+ item: RenderItem;
117
+ serverlessData?: RenderServerlessData;
118
+ previewData?: RenderPreviewData;
119
+ }
120
+ interface RenderItemReturnData {
121
+ slug: string;
122
+ output: string;
123
+ }
124
+ export interface RenderItemReturn {
125
+ serverlessRender?: boolean;
126
+ itemData?: RenderItem;
127
+ data?: RenderItemReturnData;
128
+ }
129
+ export interface RenderInlineItem extends Omit<RenderItem, 'id' | 'slug' | 'contentType' | 'content'> {
130
+ id: string;
131
+ slug: string;
132
+ contentType: string;
133
+ content: RenderItem[] | string;
134
+ }
135
+ export interface RenderItemStartActionArgs extends RenderBase {
136
+ id: string;
137
+ contentType: string;
138
+ }
139
+ export interface RenderItemActionArgs extends RenderBase {
140
+ id: string;
141
+ contentType: string;
142
+ slug: string;
143
+ output: string;
144
+ }
145
+ export interface RenderLayoutArgs {
146
+ id: string;
147
+ meta: RenderMeta;
148
+ contentType: string;
149
+ content: string;
150
+ slug: string;
151
+ itemData: RenderItem;
152
+ itemHeadings?: RichTextHeading[][];
153
+ itemContains?: Set<string>;
154
+ serverlessData?: RenderServerlessData;
155
+ previewData?: RenderPreviewData;
156
+ }
157
+ export type RenderLayout = (args: RenderLayoutArgs) => string | Promise<string>;
158
+ interface RenderAllDataContent {
159
+ page: RenderItem[];
160
+ [key: string]: RenderItem[];
161
+ }
162
+ export interface RenderAllData extends Generic {
163
+ navigation?: NavigationList[];
164
+ navigationItem?: NavigationItem[];
165
+ redirect?: RenderRedirect[];
166
+ content: RenderAllDataContent;
167
+ }
168
+ export interface RenderArgs {
169
+ allData?: RenderAllData;
170
+ serverlessData?: RenderServerlessData;
171
+ previewData?: RenderPreviewData;
172
+ }
173
+ export interface RenderReturn {
174
+ slug: string;
175
+ output: string;
176
+ }
177
+ export type RenderContentFilter = <T>(content: string[], args: ParentArgs<T>) => Promise<string[]> | string[];
178
+ export type RenderItemFilter = (output: string, args: RenderItemActionArgs) => Promise<string> | string;
179
+ interface RenderItemDataFilterArgs {
180
+ contentType: string;
181
+ }
182
+ export type RenderItemDataFilter = (item: RenderItem, args: RenderItemDataFilterArgs) => Promise<RenderItem> | RenderItem;
183
+ export type RenderStartAction = (args: RenderArgs) => Promise<void> | void;
184
+ export interface RenderEndActionArgs extends RenderArgs {
185
+ data: RenderReturn[] | RenderReturn;
186
+ }
187
+ export type RenderEndAction = (args: RenderEndActionArgs) => Promise<void> | void;
188
+ export type RenderItemStartAction = (args: RenderItemStartActionArgs) => Promise<void> | void;
189
+ export type RenderItemEndAction = (args: RenderItemActionArgs) => Promise<void> | void;
190
+ export interface RenderData {
191
+ items: RenderItem[];
192
+ total?: number;
193
+ pages?: number;
194
+ skip?: number;
195
+ limit?: number;
196
+ }
197
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,8 @@
1
+ import type { Scripts, Styles, ScriptsPriority } from './scriptsTypes.js';
2
+ declare const scripts: Scripts;
3
+ declare const styles: Styles;
4
+ declare const addScript: (path: string, deps?: string[], priority?: ScriptsPriority) => boolean;
5
+ declare const addStyle: (path: string, deps?: string[], priority?: ScriptsPriority) => boolean;
6
+ declare const outputScripts: (link: string) => string;
7
+ declare const outputStyles: (link: string) => string;
8
+ export { scripts, styles, addScript, addStyle, outputScripts, outputStyles };