@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.
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/cjs/components/Navigation/Navigation.d.ts +16 -0
- package/cjs/components/Navigation/Navigation.js +1 -0
- package/cjs/components/Navigation/NavigationTypes.d.ts +85 -0
- package/cjs/components/Navigation/NavigationTypes.js +1 -0
- package/cjs/components/Pagination/Pagination.d.ts +3 -0
- package/cjs/components/Pagination/Pagination.js +1 -0
- package/cjs/components/Pagination/PaginationTypes.d.ts +44 -0
- package/cjs/components/Pagination/PaginationTypes.js +1 -0
- package/cjs/config/config.d.ts +5 -0
- package/cjs/config/config.js +1 -0
- package/cjs/config/configTypes.d.ts +64 -0
- package/cjs/config/configTypes.js +1 -0
- package/cjs/contentful/contentfulData.d.ts +5 -0
- package/cjs/contentful/contentfulData.js +1 -0
- package/cjs/contentful/contentfulDataNormal.d.ts +4 -0
- package/cjs/contentful/contentfulDataNormal.js +1 -0
- package/cjs/contentful/contentfulDataTypes.d.ts +67 -0
- package/cjs/contentful/contentfulDataTypes.js +1 -0
- package/cjs/global/globalTypes.d.ts +32 -0
- package/cjs/global/globalTypes.js +1 -0
- package/cjs/layouts/Column/Column.d.ts +3 -0
- package/cjs/layouts/Column/Column.js +1 -0
- package/cjs/layouts/Column/ColumnTypes.d.ts +16 -0
- package/cjs/layouts/Column/ColumnTypes.js +1 -0
- package/cjs/layouts/Container/Container.d.ts +3 -0
- package/cjs/layouts/Container/Container.js +1 -0
- package/cjs/layouts/Container/ContainerTypes.d.ts +15 -0
- package/cjs/layouts/Container/ContainerTypes.js +1 -0
- package/cjs/local/localData.d.ts +5 -0
- package/cjs/local/localData.js +1 -0
- package/cjs/local/localDataNormal.d.ts +3 -0
- package/cjs/local/localDataNormal.js +1 -0
- package/cjs/local/localDataTypes.d.ts +14 -0
- package/cjs/local/localDataTypes.js +1 -0
- package/cjs/objects/Form/Form.d.ts +3 -0
- package/cjs/objects/Form/Form.js +1 -0
- package/cjs/objects/Form/FormField.d.ts +3 -0
- package/cjs/objects/Form/FormField.js +1 -0
- package/cjs/objects/Form/FormOption.d.ts +3 -0
- package/cjs/objects/Form/FormOption.js +1 -0
- package/cjs/objects/Form/FormTypes.d.ts +74 -0
- package/cjs/objects/Form/FormTypes.js +1 -0
- package/cjs/package.json +1 -0
- package/cjs/redirects/redirects.d.ts +4 -0
- package/cjs/redirects/redirects.js +1 -0
- package/cjs/redirects/redirectsFile.d.ts +2 -0
- package/cjs/redirects/redirectsFile.js +1 -0
- package/cjs/render/render.d.ts +11 -0
- package/cjs/render/render.js +1 -0
- package/cjs/render/renderInline.d.ts +4 -0
- package/cjs/render/renderInline.js +1 -0
- package/cjs/render/renderTypes.d.ts +198 -0
- package/cjs/render/renderTypes.js +1 -0
- package/cjs/serverless/Ajax/Ajax.d.ts +3 -0
- package/cjs/serverless/Ajax/Ajax.js +1 -0
- package/cjs/serverless/Ajax/AjaxTypes.d.ts +11 -0
- package/cjs/serverless/Ajax/AjaxTypes.js +1 -0
- package/cjs/serverless/Contact/Contact.d.ts +3 -0
- package/cjs/serverless/Contact/Contact.js +1 -0
- package/cjs/serverless/Contact/ContactTypes.d.ts +13 -0
- package/cjs/serverless/Contact/ContactTypes.js +1 -0
- package/cjs/serverless/Preview/Preview.d.ts +5 -0
- package/cjs/serverless/Preview/Preview.js +1 -0
- package/cjs/serverless/Reload/Reload.d.ts +5 -0
- package/cjs/serverless/Reload/Reload.js +1 -0
- package/cjs/serverless/Reload/ReloadTypes.d.ts +5 -0
- package/cjs/serverless/Reload/ReloadTypes.js +1 -0
- package/cjs/serverless/serverless.d.ts +6 -0
- package/cjs/serverless/serverless.js +1 -0
- package/cjs/serverless/serverlessFiles.d.ts +3 -0
- package/cjs/serverless/serverlessFiles.js +1 -0
- package/cjs/serverless/serverlessTypes.d.ts +50 -0
- package/cjs/serverless/serverlessTypes.js +1 -0
- package/cjs/store/store.d.ts +9 -0
- package/cjs/store/store.js +1 -0
- package/cjs/store/storeFiles.d.ts +2 -0
- package/cjs/store/storeFiles.js +1 -0
- package/cjs/store/storeTypes.d.ts +35 -0
- package/cjs/store/storeTypes.js +1 -0
- package/cjs/text/RichText/RichText.d.ts +4 -0
- package/cjs/text/RichText/RichText.js +1 -0
- package/cjs/text/RichText/RichTextTypes.d.ts +54 -0
- package/cjs/text/RichText/RichTextTypes.js +1 -0
- package/cjs/utils/ResponseError/ResponseError.d.ts +5 -0
- package/cjs/utils/ResponseError/ResponseError.js +1 -0
- package/cjs/utils/action/action.d.ts +8 -0
- package/cjs/utils/action/action.js +1 -0
- package/cjs/utils/action/actionTypes.d.ts +10 -0
- package/cjs/utils/action/actionTypes.js +1 -0
- package/cjs/utils/archive/archive.d.ts +7 -0
- package/cjs/utils/archive/archive.js +1 -0
- package/cjs/utils/archive/archiveTypes.d.ts +18 -0
- package/cjs/utils/archive/archiveTypes.js +1 -0
- package/cjs/utils/array/array.d.ts +3 -0
- package/cjs/utils/array/array.js +1 -0
- package/cjs/utils/boolean/boolean.d.ts +2 -0
- package/cjs/utils/boolean/boolean.js +1 -0
- package/cjs/utils/contentType/contentType.d.ts +2 -0
- package/cjs/utils/contentType/contentType.js +1 -0
- package/cjs/utils/dataSource/dataSource.d.ts +3 -0
- package/cjs/utils/dataSource/dataSource.js +1 -0
- package/cjs/utils/dataSource/dataSourceTypes.d.ts +9 -0
- package/cjs/utils/dataSource/dataSourceTypes.js +1 -0
- package/cjs/utils/escape/escape.d.ts +2 -0
- package/cjs/utils/escape/escape.js +1 -0
- package/cjs/utils/excerpt/excerpt.d.ts +3 -0
- package/cjs/utils/excerpt/excerpt.js +1 -0
- package/cjs/utils/excerpt/excerptTypes.d.ts +14 -0
- package/cjs/utils/excerpt/excerptTypes.js +1 -0
- package/cjs/utils/file/filePath.d.ts +2 -0
- package/cjs/utils/file/filePath.js +1 -0
- package/cjs/utils/filter/filter.d.ts +8 -0
- package/cjs/utils/filter/filter.js +1 -0
- package/cjs/utils/filter/filterTypes.d.ts +62 -0
- package/cjs/utils/filter/filterTypes.js +1 -0
- package/cjs/utils/function/function.d.ts +3 -0
- package/cjs/utils/function/function.js +1 -0
- package/cjs/utils/heading/heading.d.ts +2 -0
- package/cjs/utils/heading/heading.js +1 -0
- package/cjs/utils/image/image.d.ts +5 -0
- package/cjs/utils/image/image.js +1 -0
- package/cjs/utils/image/imageLocal.d.ts +3 -0
- package/cjs/utils/image/imageLocal.js +1 -0
- package/cjs/utils/image/imageRemote.d.ts +3 -0
- package/cjs/utils/image/imageRemote.js +1 -0
- package/cjs/utils/image/imageTypes.d.ts +60 -0
- package/cjs/utils/image/imageTypes.js +1 -0
- package/cjs/utils/json/json.d.ts +3 -0
- package/cjs/utils/json/json.js +1 -0
- package/cjs/utils/link/link.d.ts +6 -0
- package/cjs/utils/link/link.js +1 -0
- package/cjs/utils/link/linkShare.d.ts +3 -0
- package/cjs/utils/link/linkShare.js +1 -0
- package/cjs/utils/link/linkTypes.d.ts +31 -0
- package/cjs/utils/link/linkTypes.js +1 -0
- package/cjs/utils/map/map.d.ts +2 -0
- package/cjs/utils/map/map.js +1 -0
- package/cjs/utils/minify/minify.d.ts +2 -0
- package/cjs/utils/minify/minify.js +1 -0
- package/cjs/utils/number/number.d.ts +2 -0
- package/cjs/utils/number/number.js +1 -0
- package/cjs/utils/object/object.d.ts +4 -0
- package/cjs/utils/object/object.js +1 -0
- package/cjs/utils/object/objectUtils.d.ts +2 -0
- package/cjs/utils/object/objectUtils.js +1 -0
- package/cjs/utils/path/path.d.ts +3 -0
- package/cjs/utils/path/path.js +1 -0
- package/cjs/utils/print/print.d.ts +2 -0
- package/cjs/utils/print/print.js +1 -0
- package/cjs/utils/scriptStyle/scriptStyle.d.ts +8 -0
- package/cjs/utils/scriptStyle/scriptStyle.js +1 -0
- package/cjs/utils/scriptStyle/scriptStyleTypes.d.ts +12 -0
- package/cjs/utils/scriptStyle/scriptStyleTypes.js +1 -0
- package/cjs/utils/set/set.d.ts +3 -0
- package/cjs/utils/set/set.js +1 -0
- package/cjs/utils/shortcode/shortcode.d.ts +10 -0
- package/cjs/utils/shortcode/shortcode.js +1 -0
- package/cjs/utils/shortcode/shortcodeTypes.d.ts +20 -0
- package/cjs/utils/shortcode/shortcodeTypes.js +1 -0
- package/cjs/utils/string/string.d.ts +3 -0
- package/cjs/utils/string/string.js +1 -0
- package/cjs/utils/tag/tag.d.ts +4 -0
- package/cjs/utils/tag/tag.js +1 -0
- package/cjs/utils/tag/tagTypes.d.ts +7 -0
- package/cjs/utils/tag/tagTypes.js +1 -0
- package/cjs/utils/year/year.d.ts +2 -0
- package/cjs/utils/year/year.js +1 -0
- package/cjs/wordpress/wordpressData.d.ts +6 -0
- package/cjs/wordpress/wordpressData.js +1 -0
- package/cjs/wordpress/wordpressDataNormal.d.ts +9 -0
- package/cjs/wordpress/wordpressDataNormal.js +1 -0
- package/cjs/wordpress/wordpressDataTypes.d.ts +206 -0
- package/cjs/wordpress/wordpressDataTypes.js +1 -0
- package/lib/components/Navigation/Navigation.d.ts +16 -0
- package/lib/components/Navigation/Navigation.js +1 -0
- package/lib/components/Navigation/NavigationTypes.d.ts +85 -0
- package/lib/components/Navigation/NavigationTypes.js +1 -0
- package/lib/components/Pagination/Pagination.d.ts +3 -0
- package/lib/components/Pagination/Pagination.js +1 -0
- package/lib/components/Pagination/PaginationTypes.d.ts +44 -0
- package/lib/components/Pagination/PaginationTypes.js +1 -0
- package/lib/config/config.d.ts +5 -0
- package/lib/config/config.js +1 -0
- package/lib/config/configTypes.d.ts +64 -0
- package/lib/config/configTypes.js +1 -0
- package/lib/contentful/contentfulData.d.ts +5 -0
- package/lib/contentful/contentfulData.js +1 -0
- package/lib/contentful/contentfulDataNormal.d.ts +4 -0
- package/lib/contentful/contentfulDataNormal.js +1 -0
- package/lib/contentful/contentfulDataTypes.d.ts +67 -0
- package/lib/contentful/contentfulDataTypes.js +1 -0
- package/lib/global/globalTypes.d.ts +32 -0
- package/lib/global/globalTypes.js +1 -0
- package/lib/layouts/Column/Column.d.ts +3 -0
- package/lib/layouts/Column/Column.js +1 -0
- package/lib/layouts/Column/ColumnTypes.d.ts +16 -0
- package/lib/layouts/Column/ColumnTypes.js +1 -0
- package/lib/layouts/Container/Container.d.ts +3 -0
- package/lib/layouts/Container/Container.js +1 -0
- package/lib/layouts/Container/ContainerTypes.d.ts +15 -0
- package/lib/layouts/Container/ContainerTypes.js +1 -0
- package/lib/local/localData.d.ts +5 -0
- package/lib/local/localData.js +1 -0
- package/lib/local/localDataNormal.d.ts +3 -0
- package/lib/local/localDataNormal.js +1 -0
- package/lib/local/localDataTypes.d.ts +14 -0
- package/lib/local/localDataTypes.js +1 -0
- package/lib/objects/Form/Form.d.ts +3 -0
- package/lib/objects/Form/Form.js +1 -0
- package/lib/objects/Form/FormField.d.ts +3 -0
- package/lib/objects/Form/FormField.js +1 -0
- package/lib/objects/Form/FormOption.d.ts +3 -0
- package/lib/objects/Form/FormOption.js +1 -0
- package/lib/objects/Form/FormTypes.d.ts +74 -0
- package/lib/objects/Form/FormTypes.js +1 -0
- package/lib/package.json +1 -0
- package/lib/redirects/redirects.d.ts +4 -0
- package/lib/redirects/redirects.js +1 -0
- package/lib/redirects/redirectsFile.d.ts +2 -0
- package/lib/redirects/redirectsFile.js +1 -0
- package/lib/render/render.d.ts +11 -0
- package/lib/render/render.js +1 -0
- package/lib/render/renderInline.d.ts +4 -0
- package/lib/render/renderInline.js +1 -0
- package/lib/render/renderTypes.d.ts +198 -0
- package/lib/render/renderTypes.js +1 -0
- package/lib/serverless/Ajax/Ajax.d.ts +3 -0
- package/lib/serverless/Ajax/Ajax.js +1 -0
- package/lib/serverless/Ajax/AjaxTypes.d.ts +11 -0
- package/lib/serverless/Ajax/AjaxTypes.js +1 -0
- package/lib/serverless/Contact/Contact.d.ts +3 -0
- package/lib/serverless/Contact/Contact.js +1 -0
- package/lib/serverless/Contact/ContactTypes.d.ts +13 -0
- package/lib/serverless/Contact/ContactTypes.js +1 -0
- package/lib/serverless/Preview/Preview.d.ts +5 -0
- package/lib/serverless/Preview/Preview.js +1 -0
- package/lib/serverless/Reload/Reload.d.ts +5 -0
- package/lib/serverless/Reload/Reload.js +1 -0
- package/lib/serverless/Reload/ReloadTypes.d.ts +5 -0
- package/lib/serverless/Reload/ReloadTypes.js +1 -0
- package/lib/serverless/serverless.d.ts +6 -0
- package/lib/serverless/serverless.js +1 -0
- package/lib/serverless/serverlessFiles.d.ts +3 -0
- package/lib/serverless/serverlessFiles.js +1 -0
- package/lib/serverless/serverlessTypes.d.ts +50 -0
- package/lib/serverless/serverlessTypes.js +1 -0
- package/lib/store/store.d.ts +9 -0
- package/lib/store/store.js +1 -0
- package/lib/store/storeFiles.d.ts +2 -0
- package/lib/store/storeFiles.js +1 -0
- package/lib/store/storeTypes.d.ts +35 -0
- package/lib/store/storeTypes.js +1 -0
- package/lib/text/RichText/RichText.d.ts +4 -0
- package/lib/text/RichText/RichText.js +1 -0
- package/lib/text/RichText/RichTextTypes.d.ts +54 -0
- package/lib/text/RichText/RichTextTypes.js +1 -0
- package/lib/utils/ResponseError/ResponseError.d.ts +5 -0
- package/lib/utils/ResponseError/ResponseError.js +1 -0
- package/lib/utils/action/action.d.ts +8 -0
- package/lib/utils/action/action.js +1 -0
- package/lib/utils/action/actionTypes.d.ts +10 -0
- package/lib/utils/action/actionTypes.js +1 -0
- package/lib/utils/archive/archive.d.ts +7 -0
- package/lib/utils/archive/archive.js +1 -0
- package/lib/utils/archive/archiveTypes.d.ts +18 -0
- package/lib/utils/archive/archiveTypes.js +1 -0
- package/lib/utils/array/array.d.ts +3 -0
- package/lib/utils/array/array.js +1 -0
- package/lib/utils/boolean/boolean.d.ts +2 -0
- package/lib/utils/boolean/boolean.js +1 -0
- package/lib/utils/contentType/contentType.d.ts +2 -0
- package/lib/utils/contentType/contentType.js +1 -0
- package/lib/utils/dataSource/dataSource.d.ts +3 -0
- package/lib/utils/dataSource/dataSource.js +1 -0
- package/lib/utils/dataSource/dataSourceTypes.d.ts +9 -0
- package/lib/utils/dataSource/dataSourceTypes.js +1 -0
- package/lib/utils/escape/escape.d.ts +2 -0
- package/lib/utils/escape/escape.js +1 -0
- package/lib/utils/excerpt/excerpt.d.ts +3 -0
- package/lib/utils/excerpt/excerpt.js +1 -0
- package/lib/utils/excerpt/excerptTypes.d.ts +14 -0
- package/lib/utils/excerpt/excerptTypes.js +1 -0
- package/lib/utils/file/filePath.d.ts +2 -0
- package/lib/utils/file/filePath.js +1 -0
- package/lib/utils/filter/filter.d.ts +8 -0
- package/lib/utils/filter/filter.js +1 -0
- package/lib/utils/filter/filterTypes.d.ts +62 -0
- package/lib/utils/filter/filterTypes.js +1 -0
- package/lib/utils/function/function.d.ts +3 -0
- package/lib/utils/function/function.js +1 -0
- package/lib/utils/heading/heading.d.ts +2 -0
- package/lib/utils/heading/heading.js +1 -0
- package/lib/utils/image/image.d.ts +5 -0
- package/lib/utils/image/image.js +1 -0
- package/lib/utils/image/imageLocal.d.ts +3 -0
- package/lib/utils/image/imageLocal.js +1 -0
- package/lib/utils/image/imageRemote.d.ts +3 -0
- package/lib/utils/image/imageRemote.js +1 -0
- package/lib/utils/image/imageTypes.d.ts +60 -0
- package/lib/utils/image/imageTypes.js +1 -0
- package/lib/utils/json/json.d.ts +3 -0
- package/lib/utils/json/json.js +1 -0
- package/lib/utils/link/link.d.ts +6 -0
- package/lib/utils/link/link.js +1 -0
- package/lib/utils/link/linkShare.d.ts +3 -0
- package/lib/utils/link/linkShare.js +1 -0
- package/lib/utils/link/linkTypes.d.ts +31 -0
- package/lib/utils/link/linkTypes.js +1 -0
- package/lib/utils/map/map.d.ts +2 -0
- package/lib/utils/map/map.js +1 -0
- package/lib/utils/minify/minify.d.ts +2 -0
- package/lib/utils/minify/minify.js +1 -0
- package/lib/utils/number/number.d.ts +2 -0
- package/lib/utils/number/number.js +1 -0
- package/lib/utils/object/object.d.ts +4 -0
- package/lib/utils/object/object.js +1 -0
- package/lib/utils/object/objectUtils.d.ts +2 -0
- package/lib/utils/object/objectUtils.js +1 -0
- package/lib/utils/path/path.d.ts +3 -0
- package/lib/utils/path/path.js +1 -0
- package/lib/utils/print/print.d.ts +2 -0
- package/lib/utils/print/print.js +1 -0
- package/lib/utils/scriptStyle/scriptStyle.d.ts +8 -0
- package/lib/utils/scriptStyle/scriptStyle.js +1 -0
- package/lib/utils/scriptStyle/scriptStyleTypes.d.ts +12 -0
- package/lib/utils/scriptStyle/scriptStyleTypes.js +1 -0
- package/lib/utils/set/set.d.ts +3 -0
- package/lib/utils/set/set.js +1 -0
- package/lib/utils/shortcode/shortcode.d.ts +10 -0
- package/lib/utils/shortcode/shortcode.js +1 -0
- package/lib/utils/shortcode/shortcodeTypes.d.ts +20 -0
- package/lib/utils/shortcode/shortcodeTypes.js +1 -0
- package/lib/utils/string/string.d.ts +3 -0
- package/lib/utils/string/string.js +1 -0
- package/lib/utils/tag/tag.d.ts +4 -0
- package/lib/utils/tag/tag.js +1 -0
- package/lib/utils/tag/tagTypes.d.ts +7 -0
- package/lib/utils/tag/tagTypes.js +1 -0
- package/lib/utils/year/year.d.ts +2 -0
- package/lib/utils/year/year.js +1 -0
- package/lib/wordpress/wordpressData.d.ts +6 -0
- package/lib/wordpress/wordpressData.js +1 -0
- package/lib/wordpress/wordpressDataNormal.d.ts +9 -0
- package/lib/wordpress/wordpressDataNormal.js +1 -0
- package/lib/wordpress/wordpressDataTypes.d.ts +206 -0
- package/lib/wordpress/wordpressDataTypes.js +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
fieldsClasses?: string;
|
|
9
|
+
fieldsAttr?: string;
|
|
10
|
+
submitFieldClasses?: string;
|
|
11
|
+
submitFieldAttr?: string;
|
|
12
|
+
submitLabel?: string;
|
|
13
|
+
submitClasses?: string;
|
|
14
|
+
submitAttr?: string;
|
|
15
|
+
honeypot?: boolean;
|
|
16
|
+
honeypotFieldClasses?: string;
|
|
17
|
+
honeypotFieldAttr?: string;
|
|
18
|
+
honeypotLabelClasses?: string;
|
|
19
|
+
honeypotClasses?: string;
|
|
20
|
+
honeypotLabel?: string;
|
|
21
|
+
honeypotAttr?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface FormProps<T = FormArgs, R = RenderItem> extends RenderFunctionArgs<T, R> {
|
|
24
|
+
args: FormArgs & T;
|
|
25
|
+
}
|
|
26
|
+
export interface FormMeta {
|
|
27
|
+
subject?: string;
|
|
28
|
+
toEmail?: string;
|
|
29
|
+
senderEmail?: string;
|
|
30
|
+
}
|
|
31
|
+
export type FormPropsFilter<T = FormArgs, R = RenderItem> = (props: FormProps<T, R>) => FormProps<T, R>;
|
|
32
|
+
export type FormFieldType = 'text' | 'email' | 'checkbox' | 'radio' | 'number' | 'password' | 'tel' | 'url' | 'textarea' | 'select' | 'radio-group' | 'checkbox-group' | 'fieldset' | 'hidden';
|
|
33
|
+
export interface FormFieldArgs extends Generic {
|
|
34
|
+
type?: FormFieldType;
|
|
35
|
+
name?: string;
|
|
36
|
+
label?: string;
|
|
37
|
+
hint?: string;
|
|
38
|
+
value?: string;
|
|
39
|
+
required?: boolean;
|
|
40
|
+
attributes?: string;
|
|
41
|
+
emptyError?: string;
|
|
42
|
+
invalidError?: string;
|
|
43
|
+
fieldsetClasses?: string;
|
|
44
|
+
fieldsetAttr?: string;
|
|
45
|
+
fieldClasses?: string;
|
|
46
|
+
fieldAttr?: string;
|
|
47
|
+
labelClasses?: string;
|
|
48
|
+
classes?: string;
|
|
49
|
+
radioIcon?: string;
|
|
50
|
+
checkboxIcon?: string;
|
|
51
|
+
selectIcon?: string;
|
|
52
|
+
requiredIcon?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface FormFieldProps<T = FormFieldArgs, R = RenderItem> extends RenderFunctionArgs<T, R> {
|
|
55
|
+
args: FormFieldArgs & T;
|
|
56
|
+
}
|
|
57
|
+
export type FormFieldPropsFilter<T = FormFieldArgs, R = RenderItem> = (props: FormFieldProps<T, R>) => FormFieldProps<T, R>;
|
|
58
|
+
export interface FormOptionArgs extends Generic {
|
|
59
|
+
label?: string;
|
|
60
|
+
value?: string;
|
|
61
|
+
name?: string;
|
|
62
|
+
hint?: string;
|
|
63
|
+
selected?: boolean;
|
|
64
|
+
optionClasses?: string;
|
|
65
|
+
labelClasses?: string;
|
|
66
|
+
classes?: string;
|
|
67
|
+
radioIcon?: string;
|
|
68
|
+
checkboxIcon?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface FormOptionProps<T = FormOptionArgs, R = RenderItem, P = ParentArgs & FormFieldProps> extends RenderFunctionArgs<T, R, P> {
|
|
71
|
+
args: FormOptionArgs & T;
|
|
72
|
+
parents?: P[];
|
|
73
|
+
}
|
|
74
|
+
export type FormOptionPropsFilter<T = FormOptionArgs, R = RenderItem> = (props: FormOptionProps<T, R>) => FormOptionProps<T, R>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
package/cjs/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
|
@@ -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 @@
|
|
|
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, RenderNavigations, RenderFunctionsArgs } from './renderTypes.js';
|
|
2
|
+
import type { HtmlString } from '../global/globalTypes.js';
|
|
3
|
+
declare let renderFunctions: RenderFunctions;
|
|
4
|
+
declare let renderLayout: RenderLayout;
|
|
5
|
+
declare let renderHttpError: RenderHttpError;
|
|
6
|
+
declare let renderNavigations: RenderNavigations;
|
|
7
|
+
declare const setRenderFunctions: (args: RenderFunctionsArgs) => boolean;
|
|
8
|
+
declare const renderContent: (args: RenderContentArgs, _output?: HtmlString) => 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, renderNavigations, renderHttpError, setRenderFunctions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setRenderFunctions=exports.renderHttpError=exports.renderNavigations=exports.renderLayout=exports.renderFunctions=exports.renderContent=exports.renderItem=exports.render=void 0;const action_js_1=require("../utils/action/action.js"),filter_js_1=require("../utils/filter/filter.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"),number_js_1=require("../utils/number/number.js"),function_js_1=require("../utils/function/function.js"),shortcode_js_1=require("../utils/shortcode/shortcode.js"),tag_js_1=require("../utils/tag/tag.js"),store_js_1=require("../store/store.js"),redirects_js_1=require("../redirects/redirects.js"),serverless_js_1=require("../serverless/serverless.js"),scriptStyle_js_1=require("../utils/scriptStyle/scriptStyle.js"),Container_js_1=require("../layouts/Container/Container.js"),Column_js_1=require("../layouts/Column/Column.js"),Form_js_1=require("../objects/Form/Form.js"),FormField_js_1=require("../objects/Form/FormField.js"),FormOption_js_1=require("../objects/Form/FormOption.js"),RichText_js_1=require("../text/RichText/RichText.js"),defaultRenderFunctions={container:Container_js_1.Container,column:Column_js_1.Column,form:Form_js_1.Form,formField:FormField_js_1.FormField,formOption:FormOption_js_1.FormOption,richText:RichText_js_1.RichText};let renderFunctions={...defaultRenderFunctions};exports.renderFunctions=renderFunctions;let renderLayout=()=>"";exports.renderLayout=renderLayout;let renderHttpError=()=>"";exports.renderHttpError=renderHttpError;let renderNavigations=()=>{};exports.renderNavigations=renderNavigations;const setRenderFunctions=args=>{if(!(0,object_js_1.isObjectStrict)(args))return!1;const{functions:functions,layout:layout,navigations:navigations,httpError:httpError}=args;return!(!(0,object_js_1.isObjectStrict)(functions)||!(0,function_js_1.isFunction)(layout))&&(exports.renderFunctions=renderFunctions={...defaultRenderFunctions,...functions},exports.renderLayout=renderLayout=layout,(0,function_js_1.isFunction)(navigations)&&(exports.renderNavigations=renderNavigations=navigations),(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:templates};const namedContent={};return{content: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",name:""}]}}):c))),namedContent:namedContent,templates: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){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,{...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,_output={html:""})=>{if(!(0,object_js_1.isObjectStrict)(args))return _output.html;const{content:content=[],serverlessData:serverlessData,previewData:previewData,pageData:pageData,pageContains:pageContains=[],pageHeadings:pageHeadings=[],navigations:navigations,parents:parents=[],depth:depth=0}=args;let{headingsIndex:headingsIndex=-1}=args;if(!(0,array_js_1.isArrayStrict)(content))return _output.html;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:"",contentAttr=props.contentIsAttribute,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=pageHeadings.push([])-1),(0,string_js_1.isStringStrict)(contentAttr)&&(props[contentAttr]=children,props.content=void 0,childrenArr=void 0);let renderStart="",renderEnd="",filterType="",filterArgs={};const renderFunction=renderFunctions[renderType];if((0,function_js_1.isFunction)(renderFunction)){const renderArgs={args:props,parents:parents,pageData:pageData,pageContains:pageContains,navigations:navigations,serverlessData:serverlessData,previewData:previewData};childrenArr&&(renderArgs.children=childrenArr),"richText"===renderType&&(renderArgs.headings=pageHeadings[headingsIndex]);let renderOutput=await renderFunction(renderArgs);if((0,array_js_1.isArrayStrict)(renderOutput)){1===renderOutput.length&&(renderOutput=renderOutput[0]?.split("%content")??["",""]);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),pageContains.push(renderType),filterType=renderType,filterArgs={...props,content:void 0}}const renderContentFilterArgs={renderType:filterType,args:filterArgs},[filterRenderStart,filterRenderEnd]=await(0,filter_js_1.applyFilters)("renderContent",[renderStart,renderEnd],renderContentFilterArgs,!0);if((0,string_js_1.isString)(filterRenderStart)&&(renderStart=filterRenderStart),(0,string_js_1.isString)(filterRenderEnd)&&(renderEnd=filterRenderEnd),_output.html+=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,pageData:pageData,pageContains:pageContains,pageHeadings:pageHeadings,navigations:navigations,headingsIndex:headingsIndex,depth:depth+1},_output)}_output.html+=renderEnd}return _output.html};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 pageContains=[],pageHeadings=[];scriptStyle_js_1.scripts.deps.clear(),scriptStyle_js_1.scripts.item.clear(),scriptStyle_js_1.scripts.meta={},scriptStyle_js_1.styles.deps.clear(),scriptStyle_js_1.styles.item.clear();const renderItemStartArgs={id:id,pageData:{...item},contentType:contentType,pageContains:[],pageHeadings:[],serverlessData:serverlessData,previewData:previewData};await(0,action_js_1.doActions)("renderItemStart",renderItemStartArgs,!0);const title=item.title,meta={title:"",description:"",url:"",image:"",canonical:"",prev:"",next:"",noIndex:!1,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 taxonomy="term"===contentType?item.taxonomy:"taxonomy"===contentType?item:{},slugArgs={id:id,contentType:contentType,slug:item.slug,returnParents:!0,pageData:item,page:0},s=(0,link_js_1.getSlug)(slugArgs,!0),slug=s.slug,slugIsHtml=slug.includes(".html"),permalink=(0,link_js_1.getPermalink)(slug,!slugIsHtml),parents=s.parents;item.baseUrl=permalink,meta.url=permalink,meta.canonical=permalink;let formattedSlug="index"!==slug&&""!==slug?`/${slug}/`:"/";slugIsHtml&&(formattedSlug=slug),(0,store_js_1.setStoreItem)("slugs",{id:id,contentType:(0,string_js_1.isStringStrict)(_contentType)?_contentType:contentType},slugIsHtml?`/${slug}`:formattedSlug);const index="index"===item.slug;let navigations,itemServerlessData;if(meta.isIndex=index,(0,function_js_1.isFunction)(renderNavigations)){let currentType=contentType;(0,object_js_1.isObjectStrict)(taxonomy)&&(0,array_js_1.isArrayStrict)(taxonomy.contentTypes)&&(currentType=taxonomy.contentTypes),navigations=await renderNavigations({navigations:(0,store_js_1.getStoreItem)("navigations"),items:(0,store_js_1.getStoreItem)("navigationItems"),currentLink:permalink,currentType:currentType,title:title,parents:parents})}if((0,object_js_1.isObjectStrict)(serverlessData)){if(!(serverlessData.path===formattedSlug&&null!=serverlessData.query))return{serverlessRender:!1};itemServerlessData=serverlessData}const pageData={...item};pageData.id=id,pageData.parents=parents,pageData.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:[],pageData:pageData,pageContains:pageContains,pageHeadings:pageHeadings,navigations:navigations,previewData:previewData})),contentOutput=await(0,shortcode_js_1.doShortcodes)(contentOutput,pageData);const pag=pageData.pagination;if((0,object_js_1.isObjectStrict)(pag)){const{current:current=0,total:total=1,currentFilters:currentFilters,prevFilters:prevFilters,nextFilters:nextFilters}=pag;if(meta.canonicalParams=`${current>1?`?page=${current}`:""}${(0,string_js_1.isString)(currentFilters)?currentFilters:""}`,(0,string_js_1.isStringStrict)(pag.title)&&(meta.paginationTitle=pag.title),(0,number_js_1.isNumber)(pag.prev)&&pag.prev>=1){slugArgs.page=pag.prev;const p=(0,link_js_1.getSlug)(slugArgs,!0);meta.prev=`${(0,link_js_1.getPermalink)(p.slug,1===pag.prev)}${(0,string_js_1.isString)(prevFilters)?prevFilters:""}`}if((0,number_js_1.isNumber)(pag.next)&&pag.next>1&&pag.next<total){slugArgs.page=pag.next;const n=(0,link_js_1.getSlug)(slugArgs,!0);meta.next=`${(0,link_js_1.getPermalink)(n.slug,!1)}${(0,string_js_1.isString)(nextFilters)?nextFilters:""}`}serverlessRender=!0}let layoutOutput="";if((0,function_js_1.isFunction)(renderLayout)){const layoutArgs={id:id,meta:meta,navigations:navigations,contentType:contentType,content:contentOutput,slug:formattedSlug,pageContains:pageContains,pageHeadings:pageHeadings,pageData:pageData,serverlessData:serverlessData,previewData:previewData};layoutOutput=await renderLayout(layoutArgs)}const renderItemFilterArgs={id:id,contentType:contentType,slug:formattedSlug,output:layoutOutput,pageData:pageData,pageContains:pageContains,pageHeadings:pageHeadings,serverlessData:serverlessData,previewData:previewData};layoutOutput=await(0,filter_js_1.applyFilters)("renderItem",layoutOutput,renderItemFilterArgs,!0);const renderItemEndArgs={id:id,contentType:contentType,slug:formattedSlug,output:layoutOutput,pageData:pageData,pageContains:pageContains,pageHeadings:pageHeadings,serverlessData:serverlessData,previewData:previewData};return await(0,action_js_1.doActions)("renderItemEnd",renderItemEndArgs,!0),{serverlessRender:serverlessRender,pageData:pageData,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(scriptStyle_js_1.scripts.deps.clear(),scriptStyle_js_1.scripts.item.clear(),scriptStyle_js_1.scripts.meta={},scriptStyle_js_1.styles.deps.clear(),scriptStyle_js_1.styles.item.clear(),!(0,object_js_1.isObjectStrict)(allData))return[];const{redirect:redirect,content:content}=allData;await(0,action_js_1.doActions)("renderStart",args,!0);const data=[];isServerless||(0,store_js_1.setStoreData)(allData),(0,redirects_js_1.setRedirects)(redirect),serverless_js_1.serverlessRoutes.reload=[];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,filter_js_1.applyFilters)("renderItemData",contentItem,{contentType:contentType},!0),serverlessData:serverlessData},contentType);if(!item)continue;const{serverlessRender:serverlessRender=!1,data:itemData}=item;itemData&&(data.push(itemData),serverlessRender&&!isServerless&&serverless_js_1.serverlessRoutes.reload.push({path:itemData.slug.replace(/^\/|\/$/gm,"")}))}const[outputItem]=data,output=(isServerless||isPreview)&&outputItem?outputItem:data;return await(0,action_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:[],pageData:{},pageContains:[],pageHeadings:[],navigations:void 0,...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,198 @@
|
|
|
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 { Navigation } from '../components/Navigation/Navigation.js';
|
|
4
|
+
import type { RichTextHeading } from '../text/RichText/RichTextTypes.js';
|
|
5
|
+
import type { StoreParent } from '../store/storeTypes.js';
|
|
6
|
+
import { PaginationData } from '../components/Pagination/PaginationTypes.js';
|
|
7
|
+
export interface RenderMeta {
|
|
8
|
+
title?: string;
|
|
9
|
+
paginationTitle?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
url?: string;
|
|
12
|
+
image?: string;
|
|
13
|
+
canonical?: string;
|
|
14
|
+
canonicalParams?: string;
|
|
15
|
+
prev?: string;
|
|
16
|
+
next?: string;
|
|
17
|
+
noIndex?: boolean;
|
|
18
|
+
isIndex?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface RenderBase {
|
|
21
|
+
pageData: RenderItem;
|
|
22
|
+
pageHeadings: RichTextHeading[][];
|
|
23
|
+
pageContains: string[];
|
|
24
|
+
serverlessData?: RenderServerlessData;
|
|
25
|
+
previewData?: RenderPreviewData;
|
|
26
|
+
}
|
|
27
|
+
export interface RenderServerlessData {
|
|
28
|
+
path: string;
|
|
29
|
+
query?: Generic;
|
|
30
|
+
}
|
|
31
|
+
export interface RenderPreviewData {
|
|
32
|
+
id: string;
|
|
33
|
+
contentType: string;
|
|
34
|
+
}
|
|
35
|
+
export interface RenderRedirect {
|
|
36
|
+
redirect: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface RenderTag {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
}
|
|
42
|
+
export interface RenderMetaTags {
|
|
43
|
+
tags?: RenderTag[];
|
|
44
|
+
}
|
|
45
|
+
export interface RenderFile {
|
|
46
|
+
path?: string;
|
|
47
|
+
url?: string;
|
|
48
|
+
name?: string;
|
|
49
|
+
alt?: string;
|
|
50
|
+
width?: number;
|
|
51
|
+
height?: number;
|
|
52
|
+
size?: number;
|
|
53
|
+
format?: string;
|
|
54
|
+
type?: string;
|
|
55
|
+
sizes?: Record<number, string>;
|
|
56
|
+
}
|
|
57
|
+
export interface RenderRichText {
|
|
58
|
+
tag?: string;
|
|
59
|
+
link?: string;
|
|
60
|
+
internalLink?: InternalLink;
|
|
61
|
+
content?: RenderItem[] | string;
|
|
62
|
+
attr?: string | GenericStrings;
|
|
63
|
+
}
|
|
64
|
+
export interface RenderTemplate {
|
|
65
|
+
content: RenderItem[];
|
|
66
|
+
namedContent: Record<string, RenderItem>;
|
|
67
|
+
templates: RenderItem[];
|
|
68
|
+
}
|
|
69
|
+
export interface RenderNavigationsArgs extends NavigationProps {
|
|
70
|
+
title?: string;
|
|
71
|
+
parents: StoreParent[];
|
|
72
|
+
}
|
|
73
|
+
export type RenderNavigations = (args: RenderNavigationsArgs) => Navigation | undefined | Promise<Navigation | undefined>;
|
|
74
|
+
export interface RenderHttpErrorArgs extends Generic {
|
|
75
|
+
code: number;
|
|
76
|
+
}
|
|
77
|
+
export type RenderHttpError = (args: RenderHttpErrorArgs) => string | Promise<string>;
|
|
78
|
+
export interface RenderFunctionArgs<T = any, R = RenderItem, P = ParentArgs> {
|
|
79
|
+
args: 0 extends (1 & T) ? any : T;
|
|
80
|
+
parents?: P[];
|
|
81
|
+
pageData?: R;
|
|
82
|
+
pageContains?: string[];
|
|
83
|
+
navigations?: Navigation;
|
|
84
|
+
serverlessData?: RenderServerlessData;
|
|
85
|
+
previewData?: RenderPreviewData;
|
|
86
|
+
headings?: RichTextHeading[];
|
|
87
|
+
children?: R[];
|
|
88
|
+
}
|
|
89
|
+
export type RenderFunction<T = any, R = RenderItem, P = ParentArgs> = (props: RenderFunctionArgs<T, R, P>) => string | string[] | Promise<string | string[]>;
|
|
90
|
+
export type RenderFunctions<T = any, R = RenderItem, P = ParentArgs> = Record<string, RenderFunction<T, R, P>>;
|
|
91
|
+
export interface RenderFunctionsArgs {
|
|
92
|
+
functions: RenderFunctions;
|
|
93
|
+
layout: RenderLayout;
|
|
94
|
+
navigations?: RenderNavigations;
|
|
95
|
+
httpError?: RenderHttpError;
|
|
96
|
+
}
|
|
97
|
+
export interface RenderContentArgs extends RenderBase {
|
|
98
|
+
content: RenderItem[];
|
|
99
|
+
parents: ParentArgs[];
|
|
100
|
+
navigations?: Navigation;
|
|
101
|
+
headingsIndex?: number;
|
|
102
|
+
depth?: number;
|
|
103
|
+
}
|
|
104
|
+
export interface RenderItem extends Generic, Partial<Taxonomy> {
|
|
105
|
+
id?: string;
|
|
106
|
+
contentType?: string;
|
|
107
|
+
renderType?: string;
|
|
108
|
+
tag?: string;
|
|
109
|
+
link?: string;
|
|
110
|
+
internalLink?: InternalLink;
|
|
111
|
+
slug?: string;
|
|
112
|
+
title?: string;
|
|
113
|
+
content?: RenderItem[] | string;
|
|
114
|
+
meta?: RenderMeta;
|
|
115
|
+
baseUrl?: string;
|
|
116
|
+
archive?: string;
|
|
117
|
+
parent?: RenderItem;
|
|
118
|
+
taxonomy?: Taxonomy;
|
|
119
|
+
metadata?: RenderMetaTags;
|
|
120
|
+
pagination?: PaginationData;
|
|
121
|
+
}
|
|
122
|
+
export interface RenderItemArgs {
|
|
123
|
+
item: RenderItem;
|
|
124
|
+
serverlessData?: RenderServerlessData;
|
|
125
|
+
previewData?: RenderPreviewData;
|
|
126
|
+
}
|
|
127
|
+
export interface RenderItemReturn {
|
|
128
|
+
serverlessRender?: boolean;
|
|
129
|
+
pageData?: RenderItem;
|
|
130
|
+
data?: {
|
|
131
|
+
slug: string;
|
|
132
|
+
output: string;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export interface RenderInlineItem extends Omit<RenderItem, 'id' | 'slug' | 'contentType' | 'content'> {
|
|
136
|
+
id: string;
|
|
137
|
+
slug: string;
|
|
138
|
+
contentType: string;
|
|
139
|
+
content: RenderItem[] | string;
|
|
140
|
+
}
|
|
141
|
+
export interface RenderItemStartActionArgs extends RenderBase {
|
|
142
|
+
id: string;
|
|
143
|
+
contentType: string;
|
|
144
|
+
}
|
|
145
|
+
export interface RenderItemActionArgs extends RenderBase {
|
|
146
|
+
id: string;
|
|
147
|
+
contentType: string;
|
|
148
|
+
slug: string;
|
|
149
|
+
output: string;
|
|
150
|
+
}
|
|
151
|
+
export interface RenderLayoutArgs {
|
|
152
|
+
id: string;
|
|
153
|
+
meta: RenderMeta;
|
|
154
|
+
navigations?: Navigation;
|
|
155
|
+
contentType: string;
|
|
156
|
+
content: string;
|
|
157
|
+
slug: string;
|
|
158
|
+
pageData: RenderItem;
|
|
159
|
+
pageHeadings?: RichTextHeading[][];
|
|
160
|
+
pageContains?: string[];
|
|
161
|
+
serverlessData?: RenderServerlessData;
|
|
162
|
+
previewData?: RenderPreviewData;
|
|
163
|
+
}
|
|
164
|
+
export type RenderLayout = (args: RenderLayoutArgs) => string | Promise<string>;
|
|
165
|
+
export interface RenderAllData extends Generic {
|
|
166
|
+
navigation?: NavigationList[];
|
|
167
|
+
navigationItem?: NavigationItem[];
|
|
168
|
+
redirect?: RenderRedirect[];
|
|
169
|
+
content: {
|
|
170
|
+
page: RenderItem[];
|
|
171
|
+
[key: string]: RenderItem[];
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export interface RenderArgs {
|
|
175
|
+
allData?: RenderAllData;
|
|
176
|
+
serverlessData?: RenderServerlessData;
|
|
177
|
+
previewData?: RenderPreviewData;
|
|
178
|
+
}
|
|
179
|
+
export interface RenderReturn {
|
|
180
|
+
slug: string;
|
|
181
|
+
output: string;
|
|
182
|
+
}
|
|
183
|
+
export type RenderContentFilter = <T>(content: string[], args: ParentArgs<T>) => Promise<string[]> | string[];
|
|
184
|
+
export type RenderItemFilter = (output: string, args: RenderItemActionArgs) => Promise<string> | string;
|
|
185
|
+
export type RenderItemDataFilter = (item: RenderItem, args: {
|
|
186
|
+
contentType: string;
|
|
187
|
+
}) => Promise<RenderItem> | RenderItem;
|
|
188
|
+
export type RenderStartAction = (args: RenderArgs) => Promise<void> | void;
|
|
189
|
+
export interface RenderEndActionArgs extends RenderArgs {
|
|
190
|
+
data: RenderReturn[] | RenderReturn;
|
|
191
|
+
}
|
|
192
|
+
export type RenderEndAction = (args: RenderEndActionArgs) => Promise<void> | void;
|
|
193
|
+
export type RenderItemStartAction = (args: RenderItemStartActionArgs) => Promise<void> | void;
|
|
194
|
+
export type RenderItemEndAction = (args: RenderItemActionArgs) => Promise<void> | void;
|
|
195
|
+
export interface RenderDataMeta {
|
|
196
|
+
total?: number;
|
|
197
|
+
totalPages?: number;
|
|
198
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Ajax=void 0;const ResponseError_js_1=require("../../utils/ResponseError/ResponseError.js"),filter_js_1=require("../../utils/filter/filter.js"),object_js_1=require("../../utils/object/object.js"),string_js_1=require("../../utils/string/string.js"),number_js_1=require("../../utils/number/number.js"),function_js_1=require("../../utils/function/function.js"),print_js_1=require("../../utils/print/print.js"),config_js_1=require("../../config/config.js"),serverless_js_1=require("../serverless.js"),Ajax=async(context,setupServerless)=>{try{await setupServerless(context,"ajax");const request=context.request,data=await request.json();if(!(0,object_js_1.isObjectStrict)(data))throw new Error("Data not an object");const honeypotName=`${config_js_1.config.namespace}_asi`;if((0,object_js_1.isObjectStrict)(data.inputs?.[honeypotName])){const honeypotValue=data.inputs[honeypotName].value;if((0,string_js_1.isStringStrict)(honeypotValue)){const options={status:200,headers:{"Content-Type":"application/json"}};return new Response(JSON.stringify({success:"Form successully sent"}),options)}data.inputs[honeypotName].exclude=!0}const action=data.action;if(!(0,string_js_1.isStringStrict)(action))throw new Error("No action");let res=null;const ajaxFn=serverless_js_1.serverlessActions[action];(0,function_js_1.isFunction)(ajaxFn)&&(res=await ajaxFn(data,context));const ajaxResultFilterArgs={data:data,context:context};if(res=await(0,filter_js_1.applyFilters)("ajaxResult",res,ajaxResultFilterArgs,!0),!res)throw new Error("No result");if(res.error)throw new ResponseError_js_1.ResponseError(res.error.message,res.error.response);const options={status:200,headers:{"Content-Type":"application/json"}};let message="";if(res.success){const{message:successMessage,headers:headers}=res.success;(0,string_js_1.isStringStrict)(successMessage)&&(message=successMessage),(0,object_js_1.isObjectStrict)(headers)&&(options.headers={...options.headers,...headers})}return new Response(JSON.stringify({success:message}),options)}catch(error){(0,print_js_1.print)("[FRM] Error with ajax function",error);let statusCode=500,message=error instanceof Error?error.message:"Unknown error";error instanceof ResponseError_js_1.ResponseError&&((0,number_js_1.isNumber)(error.response?.status)&&(statusCode=error.response.status),(0,string_js_1.isStringStrict)(error.message)&&(message=error.message));const options={status:statusCode,headers:{"Content-Type":"application/json"}};return new Response(JSON.stringify({error:message}),options)}};exports.Ajax=Ajax;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GenericStrings } from '../../global/globalTypes.js';
|
|
2
|
+
import type { ServerlessActionData, ServerlessContext, ServerlessActionReturn } from '../serverlessTypes.js';
|
|
3
|
+
export interface AjaxResultOptions {
|
|
4
|
+
status: number;
|
|
5
|
+
headers?: GenericStrings;
|
|
6
|
+
}
|
|
7
|
+
export interface AjaxResultFilterArgs {
|
|
8
|
+
data: ServerlessActionData;
|
|
9
|
+
context: ServerlessContext;
|
|
10
|
+
}
|
|
11
|
+
export type AjaxResultFilter = (res: ServerlessActionReturn | null, args: AjaxResultFilterArgs) => Promise<ServerlessActionReturn | null>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Contact=void 0;const config_js_1=require("../../config/config.js"),escape_js_1=require("../../utils/escape/escape.js"),array_js_1=require("../../utils/array/array.js"),string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),boolean_js_1=require("../../utils/boolean/boolean.js"),objectUtils_js_1=require("../../utils/object/objectUtils.js"),filter_js_1=require("../../utils/filter/filter.js"),link_js_1=require("../../utils/link/link.js"),store_js_1=require("../../store/store.js"),minify_js_1=require("../../utils/minify/minify.js"),recurseEmailHtml=(data,output,depth=1)=>{if(!(0,object_js_1.isObject)(data))return;const isArr=(0,array_js_1.isArray)(data);(0,objectUtils_js_1.getObjectKeys)(data).forEach((label=>{const value=data[label],l=label.toString(),h=depth+1;1===depth&&(output.html+='\n <tr>\n <td style="padding: 16px 0; border-bottom: 2px solid #ccc;">\n '),label&&!isArr&&(output.html+=`\n <h${h} style="font-family: sans-serif; color: #222; margin: 16px 0; line-height: 1.3em">\n ${l}\n </h${h}>\n `,output.plain+=`${l}\n`),recurseEmailHtml(value,output,depth+1),(0,string_js_1.isString)(value)&&(output.html+=`\n <p style="font-family: sans-serif; color: #222; margin: 16px 0; line-height: 1.5em;">\n ${value}\n </p>\n `,output.plain+=value.replace(/<br\s*\/?>/gi,"\n").replace(/(<([^>]+)>)/gi,"")+"\n"),1===depth&&(output.html+="\n </td>\n </tr>\n ",output.plain+="\n")}))},Contact=async args=>{const{id:id,action:action,inputs:inputs}=args;if(!(0,string_js_1.isStringStrict)(id))return{error:{message:"No id"}};if(!(0,object_js_1.isObjectStrict)(inputs)||!Object.keys(inputs).length)return{error:{message:"No inputs"}};const formMetaData=(0,store_js_1.getStoreItem)("formMeta");if(!(0,object_js_1.isObjectStrict)(formMetaData))return{error:{message:"No meta"}};const meta=formMetaData[id];if(!(0,object_js_1.isObjectStrict)(meta))return{error:{message:"No meta object"}};const toEmail=meta.toEmail;if(!(0,string_js_1.isStringStrict)(toEmail))return{error:{message:"No to email"}};const toEmails=toEmail.split(","),senderEmail=meta.senderEmail;if(!(0,string_js_1.isStringStrict)(senderEmail))return{error:{message:"No sender email"}};let subject=(0,string_js_1.isStringStrict)(meta.subject)?meta.subject:"",replyToEmail="";const header=`${config_js_1.config.title} contact form submission`,footer=`This email was sent from a contact form on ${config_js_1.config.title} (${(0,link_js_1.getPermalink)()})`,outputData={},output={html:"",plain:""};for(const[name,input]of Object.entries(inputs)){const inputExclude=input.exclude;if(!!(0,boolean_js_1.isBoolean)(inputExclude)&&inputExclude)continue;const inputType=input.type,inputLabel=input.label.trim(),inputValue=input.value;let inputValueStr="";if((0,array_js_1.isArray)(inputValue)&&(inputValueStr=inputValue.map((v=>(0,escape_js_1.escape)(v.trim()+""))).join("<br>")),(0,string_js_1.isString)(inputValue)&&(inputValueStr=(0,escape_js_1.escape)(inputValue.trim()+"")),"subject"===name){subject=inputValueStr?`${(0,string_js_1.isStringStrict)(subject)?`${subject} - `:""}${inputValueStr}`:subject;continue}"email"===inputType&&inputValueStr&&(replyToEmail=inputValueStr,inputValueStr=`<a href="mailto:${inputValueStr}">${inputValueStr}</a>`);const outputValue=""===inputValueStr?"--":inputValueStr;let hasLegend=!1,legend="";if((0,string_js_1.isStringStrict)(input.legend)&&(hasLegend=!0,legend=input.legend),hasLegend){null==outputData[legend]&&(outputData[legend]={});null==outputData[legend][inputLabel]&&(outputData[legend][inputLabel]=[]),outputData[legend][inputLabel].push(outputValue)}if(!hasLegend){null==outputData[inputLabel]&&(outputData[inputLabel]=[]),outputData[inputLabel].push(outputValue)}}recurseEmailHtml(outputData,output);const outputHtml=`\n <table width="100%" cellpadding="0" cellspacing="0" border="0">\n <tr>\n <td align="center" width="100%" style="padding: 0 16px 16px 16px;">\n <table align="center" cellpadding="0" cellspacing="0" border="0" style="margin-right: auto; margin-left: auto; border-spacing: 0; max-width: 37.5em;">\n <tr>\n <td style="padding: 32px 0 0 0;">\n <h1 style="font-family: sans-serif; color: #222; margin: 0; line-height: 1.3em;">\n ${header}\n </h1>\n </td>\n </tr>\n <tr>\n <td>\n <table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">\n ${output.html}\n <tr>\n <td style="padding: 32px 0;">\n <p style="font-family: sans-serif; color: #222; margin: 0; line-height: 1.5em;">\n ${footer}\n </p>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n `,outputPlain=`${header}\n\n${output.plain}${footer}`;subject||(subject=`${config_js_1.config.title} Contact Form`);const body={id:id,action:action,inputs:inputs,to:toEmails,sender:senderEmail,subject:subject,text:(0,minify_js_1.minify)(outputPlain),html:(0,minify_js_1.minify)(outputHtml)};return replyToEmail&&(body.replyTo=replyToEmail),await(0,filter_js_1.applyFilters)("contactResult",{},body,!0)};exports.Contact=Contact;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ServerlessActionData, ServerlessActionReturn } from '../serverlessTypes.js';
|
|
2
|
+
export interface ContactData {
|
|
3
|
+
[key: string]: string[] | ContactData;
|
|
4
|
+
}
|
|
5
|
+
export interface ContactBody extends ServerlessActionData {
|
|
6
|
+
to: string[];
|
|
7
|
+
sender: string;
|
|
8
|
+
subject: string;
|
|
9
|
+
text: string;
|
|
10
|
+
html: string;
|
|
11
|
+
replyTo?: string;
|
|
12
|
+
}
|
|
13
|
+
export type ContactResultFilter = (res: ServerlessActionReturn | null, args: ContactBody) => Promise<ServerlessActionReturn | null>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ServerlessContext, ServerlessSetup } from '../serverlessTypes.js';
|
|
2
|
+
import type { getAllContentfulData } from '../../contentful/contentfulData.js';
|
|
3
|
+
import type { getAllWordPressData } from '../../wordpress/wordpressData.js';
|
|
4
|
+
declare const Preview: (context: ServerlessContext, setupServerless: ServerlessSetup, getData: typeof getAllContentfulData | typeof getAllWordPressData) => Promise<Response>;
|
|
5
|
+
export { Preview };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Preview=void 0;const string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),function_js_1=require("../../utils/function/function.js"),render_js_1=require("../../render/render.js"),minify_js_1=require("../../utils/minify/minify.js"),Preview=async(context,setupServerless,getData)=>{const{request:request,next:next}=context,{searchParams:searchParams}=new URL(request.url),contentType=searchParams.get("content_type"),id=searchParams.get("preview");if(!(0,string_js_1.isStringStrict)(id)||!(0,string_js_1.isStringStrict)(contentType))return next();await setupServerless(context,"preview");const previewData={id:id,contentType:contentType},data=await(0,render_js_1.render)({previewData:previewData,allData:await getData({previewData:previewData})});let html="",status=200;(0,object_js_1.isObjectStrict)(data)&&(html=data.output);const isEmpty=""===html;return isEmpty&&(status=404),isEmpty&&(0,function_js_1.isFunction)(render_js_1.renderHttpError)&&(html=await(0,render_js_1.renderHttpError)({code:status})),new Response((0,minify_js_1.minify)(html),{status:status,headers:{"Content-Type":"text/html;charset=UTF-8"}})};exports.Preview=Preview;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ServerlessContext, ServerlessSetup } from '../serverlessTypes.js';
|
|
2
|
+
import type { getAllContentfulData } from '../../contentful/contentfulData.js';
|
|
3
|
+
import type { getAllWordPressData } from '../../wordpress/wordpressData.js';
|
|
4
|
+
declare const Reload: (context: ServerlessContext, setupServerless: ServerlessSetup, getData: typeof getAllContentfulData | typeof getAllWordPressData) => Promise<Response>;
|
|
5
|
+
export { Reload };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Reload=void 0;const string_js_1=require("../../utils/string/string.js"),object_js_1=require("../../utils/object/object.js"),function_js_1=require("../../utils/function/function.js"),render_js_1=require("../../render/render.js"),minify_js_1=require("../../utils/minify/minify.js"),print_js_1=require("../../utils/print/print.js"),getErrorHtml=async(context,setupServerless,status)=>{try{if(await setupServerless(context,"error"),(0,function_js_1.isFunction)(render_js_1.renderHttpError))return await(0,render_js_1.renderHttpError)({code:status})}catch(error){(0,print_js_1.print)("[FRM] Error rendering http error",error)}return""},Reload=async(context,setupServerless,getData)=>{try{const{request:request,next:next}=context,{searchParams:searchParams,pathname:pathname}=new URL(request.url),page=searchParams.get("page"),filters=searchParams.get("filters"),path=pathname,query={};let noPage=!1,noFilters=!1;if((0,string_js_1.isStringStrict)(page)?query.page=page:noPage=!0,(0,string_js_1.isStringStrict)(filters)?query.filters=filters:noFilters=!0,noPage&&noFilters)return next();await setupServerless(context,"reload");const serverlessData={query:query,path:path},data=await(0,render_js_1.render)({serverlessData:serverlessData,allData:await getData({serverlessData:serverlessData})});let html="",status=200;(0,object_js_1.isObjectStrict)(data)&&(html=data.output);const isEmpty=""===html;return isEmpty&&(status=404),isEmpty&&(0,function_js_1.isFunction)(render_js_1.renderHttpError)&&(html=await(0,render_js_1.renderHttpError)({code:status})),new Response((0,minify_js_1.minify)(html),{status:status,headers:{"Content-Type":"text/html;charset=UTF-8"}})}catch(error){(0,print_js_1.print)("[FRM] Error with reload function",error);const status=500,html=await getErrorHtml(context,setupServerless,status);return new Response(html,{status:status,headers:{"Content-Type":"text/html;charset=UTF-8"}})}};exports.Reload=Reload;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ServerlessRoutes, ServerlessActions, ServerlessArgs } from './serverlessTypes.js';
|
|
2
|
+
declare let serverlessDir: string;
|
|
3
|
+
declare let serverlessRoutes: ServerlessRoutes;
|
|
4
|
+
declare let serverlessActions: ServerlessActions;
|
|
5
|
+
declare const setServerless: (args: ServerlessArgs, dir?: string) => boolean;
|
|
6
|
+
export { serverlessDir, serverlessRoutes, serverlessActions, setServerless };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setServerless=exports.serverlessActions=exports.serverlessRoutes=exports.serverlessDir=void 0;const string_js_1=require("../utils/string/string.js"),object_js_1=require("../utils/object/object.js");let serverlessDir="functions";exports.serverlessDir=serverlessDir;let serverlessRoutes={reload:[]};exports.serverlessRoutes=serverlessRoutes;let serverlessActions={};exports.serverlessActions=serverlessActions;const setServerless=(args,dir="functions")=>{if(!(0,object_js_1.isObjectStrict)(args))return!1;const{actions:actions,routes:routes}=args;return(0,object_js_1.isObjectStrict)(actions)&&(exports.serverlessActions=serverlessActions={...actions}),(0,object_js_1.isObjectStrict)(routes)&&(exports.serverlessRoutes=serverlessRoutes={reload:[],...routes}),(0,string_js_1.isStringStrict)(dir)&&(exports.serverlessDir=serverlessDir=dir),!0};exports.setServerless=setServerless;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createServerlessFiles=void 0;const promises_1=require("node:fs/promises"),node_path_1=require("node:path"),path_js_1=require("../utils/path/path.js"),object_js_1=require("../utils/object/object.js"),array_js_1=require("../utils/array/array.js"),string_js_1=require("../utils/string/string.js"),dataSource_js_1=require("../utils/dataSource/dataSource.js"),print_js_1=require("../utils/print/print.js"),config_js_1=require("../config/config.js"),serverless_js_1=require("./serverless.js"),minify=str=>str.replace(/\s+/g," ").replace(/;\s*}/g,";}").trim(),createServerlessFiles=async args=>{let defaultDataExport="getAllContentfulData",defaultDataFile="@alanizcreative/formation-static/contentful/contentfulData.js";dataSource_js_1.dataSource.isWordPress()&&(defaultDataExport="getAllWordPressData",defaultDataFile="@alanizcreative/formation-static/wordpress/wordpressData.js");const defaults={dataExport:defaultDataExport,dataExportFile:defaultDataFile,setupExport:"setupServerless",setupExportFile:"lib/setup/setupServerless.js",previewExportFile:"@alanizcreative/formation-static/serverless/Preview/Preview.js",reloadExportFile:"@alanizcreative/formation-static/serverless/Reload/Reload.js",ajaxExportFile:"@alanizcreative/formation-static/serverless/Ajax/Ajax.js",ajaxFile:"ajax/index.js",previewFile:"_middleware.js",reloadFile:"_middleware.js"},{dataExport:dataExport,dataExportFile:dataExportFile,setupExport:setupExport,setupExportFile:setupExportFile,previewExportFile:previewExportFile,reloadExportFile:reloadExportFile,ajaxExportFile:ajaxExportFile,ajaxFile:ajaxFile,previewFile:previewFile,reloadFile:reloadFile}=Object.assign(defaults,(0,object_js_1.isObjectStrict)(args)?args:{});if(await(0,promises_1.mkdir)((0,node_path_1.resolve)(serverless_js_1.serverlessDir),{recursive:!0}),(0,string_js_1.isStringStrict)(ajaxFile)){const pathDepth=(0,path_js_1.getPathDepth)(`${serverless_js_1.serverlessDir}/${ajaxFile}`),content=`import { Ajax } from '${ajaxExportFile.startsWith("@")?"":pathDepth}${ajaxExportFile}';\nimport { ${setupExport} } from '${pathDepth}${setupExportFile}';\nconst render = async (context) => {\n return await Ajax(context, ${setupExport});\n};\nexport const onRequestPost = [render];`,path=(0,node_path_1.resolve)(serverless_js_1.serverlessDir,ajaxFile),dir=(0,node_path_1.dirname)(path);await(0,promises_1.mkdir)((0,node_path_1.resolve)(serverless_js_1.serverlessDir,dir),{recursive:!0}),await(0,promises_1.writeFile)(path,minify(content)),(0,print_js_1.print)("[FRM] Successfully wrote",path,"success")}if(config_js_1.config.env.dev&&(0,string_js_1.isStringStrict)(previewFile)){const pathDepth=(0,path_js_1.getPathDepth)(`${serverless_js_1.serverlessDir}/${previewFile}`),content=`import { Preview } from '${previewExportFile.startsWith("@")?"":pathDepth}${previewExportFile}';\nimport { ${dataExport} } from '${dataExportFile.startsWith("@")?"":pathDepth}${dataExportFile}';\nimport { ${setupExport} } from '${pathDepth}${setupExportFile}';\nconst render = async (context) => {\n return await Preview(context, ${setupExport}, ${dataExport});\n};\nexport const onRequestGet = [render];`,path=(0,node_path_1.resolve)(serverless_js_1.serverlessDir,previewFile),dir=(0,node_path_1.dirname)(path);await(0,promises_1.mkdir)((0,node_path_1.resolve)(serverless_js_1.serverlessDir,dir),{recursive:!0}),await(0,promises_1.writeFile)(path,minify(content)),(0,print_js_1.print)("[FRM] Successfully wrote",path,"success")}const newRoutes=[],hasReloadFile=(0,string_js_1.isStringStrict)(reloadFile);for(const[type,routes]of Object.entries(serverless_js_1.serverlessRoutes))if((0,array_js_1.isArrayStrict)(routes))for(const route of routes){let{path:path,content:content}=route;if((0,string_js_1.isStringStrict)(path)){if("reload"===type&&hasReloadFile){path=`${path}/${reloadFile}`;const pathDepth=(0,path_js_1.getPathDepth)(`${serverless_js_1.serverlessDir}/${path}`);content=`import { Reload } from '${reloadExportFile.startsWith("@")?"":pathDepth}${reloadExportFile}';\nimport { ${dataExport} } from '${dataExportFile.startsWith("@")?"":pathDepth}${dataExportFile}';\nimport { ${setupExport} } from '${pathDepth}${setupExportFile}';\nconst render = async (context) => {\n return await Reload(context, ${setupExport}, ${dataExport});\n};\nexport const onRequestGet = [render];`}(0,string_js_1.isStringStrict)(content)&&newRoutes.push({path:path,content:content})}}for(const route of newRoutes){const{path:path,content:content}=route,newPath=(0,node_path_1.resolve)(serverless_js_1.serverlessDir,path),dir=(0,node_path_1.dirname)(newPath);await(0,promises_1.mkdir)((0,node_path_1.resolve)(serverless_js_1.serverlessDir,dir),{recursive:!0}),await(0,promises_1.writeFile)(newPath,content),(0,print_js_1.print)("[FRM] Successfully wrote",newPath,"success")}};exports.createServerlessFiles=createServerlessFiles;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { EventContext } from '@cloudflare/workers-types';
|
|
2
|
+
import type { Generic, GenericStrings } from '../global/globalTypes.js';
|
|
3
|
+
export interface ServerlessRoute {
|
|
4
|
+
path: string;
|
|
5
|
+
content?: string;
|
|
6
|
+
}
|
|
7
|
+
export type ServerlessRoutes = Record<string, ServerlessRoute[]>;
|
|
8
|
+
export type ServerlessContext = EventContext<GenericStrings, string, unknown>;
|
|
9
|
+
export type ServerlessSetup = (context: ServerlessContext, type?: string) => Promise<void> | void;
|
|
10
|
+
export interface ServerlessActionInput extends Generic {
|
|
11
|
+
type: string;
|
|
12
|
+
label: string;
|
|
13
|
+
value: string | string[];
|
|
14
|
+
legend?: string;
|
|
15
|
+
exclude?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ServerlessActionData {
|
|
18
|
+
id: string;
|
|
19
|
+
action: string;
|
|
20
|
+
inputs: Record<string, ServerlessActionInput>;
|
|
21
|
+
}
|
|
22
|
+
export interface ServerlessActionReturn {
|
|
23
|
+
error?: {
|
|
24
|
+
message: string;
|
|
25
|
+
response?: Response;
|
|
26
|
+
};
|
|
27
|
+
success?: {
|
|
28
|
+
message: string;
|
|
29
|
+
headers?: GenericStrings;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export type ServerlessAction = (args: ServerlessActionData, context: ServerlessContext) => Promise<ServerlessActionReturn>;
|
|
33
|
+
export type ServerlessActions = Record<string, ServerlessAction>;
|
|
34
|
+
export interface ServerlessFilesArgs {
|
|
35
|
+
dataExport?: string;
|
|
36
|
+
dataExportFile?: string;
|
|
37
|
+
setupExport?: string;
|
|
38
|
+
setupExportFile?: string;
|
|
39
|
+
previewExportFile?: string;
|
|
40
|
+
reloadExportFile?: string;
|
|
41
|
+
ajaxExportFile?: string;
|
|
42
|
+
ajaxFile?: string;
|
|
43
|
+
previewFile?: string;
|
|
44
|
+
reloadFile?: string;
|
|
45
|
+
setupFile?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ServerlessArgs {
|
|
48
|
+
actions?: ServerlessActions;
|
|
49
|
+
routes?: ServerlessRoutes;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Store } from './storeTypes.js';
|
|
2
|
+
import type { RenderAllData } from '../render/renderTypes.js';
|
|
3
|
+
declare let storeDir: string;
|
|
4
|
+
declare let store: Store;
|
|
5
|
+
declare const setStore: <T extends object>(args: T, dir?: string) => Store & T;
|
|
6
|
+
declare const setStoreItem: <T extends Store, K extends keyof T, V extends keyof T[K] | undefined = undefined>(prop: K, value: V extends keyof T[K] ? T[K][V] : T[K], subProp?: V) => boolean;
|
|
7
|
+
declare const setStoreData: (allData: RenderAllData) => boolean;
|
|
8
|
+
declare const getStoreItem: <T extends Store, K extends keyof T>(prop: K) => T[K];
|
|
9
|
+
export { store, storeDir, setStore, setStoreData, setStoreItem, getStoreItem };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStoreItem=exports.setStoreItem=exports.setStoreData=exports.setStore=exports.storeDir=exports.store=void 0;const contentType_js_1=require("../utils/contentType/contentType.js"),object_js_1=require("../utils/object/object.js"),string_js_1=require("../utils/string/string.js"),array_js_1=require("../utils/array/array.js"),config_js_1=require("../config/config.js");let storeDir="lib/store";exports.storeDir=storeDir;const defaultStore={slugs:{},parents:{},navigations:[],navigationItems:[],formMeta:{},archiveMeta:{},imageMeta:{},taxonomies:{}};let store={...defaultStore};exports.store=store;const setStore=(args,dir="lib/store")=>(0,object_js_1.isObjectStrict)(args)?(exports.store=store={...defaultStore,...args},(0,string_js_1.isStringStrict)(dir)&&(exports.storeDir=storeDir=dir),store):store;exports.setStore=setStore;const setStoreItem=(prop,value,subProp)=>!(!(0,string_js_1.isStringStrict)(prop)||!(0,object_js_1.isObject)(value)||null==store[prop])&&((0,string_js_1.isStringStrict)(subProp)?store[prop][subProp]=value:store[prop]=value,!0);exports.setStoreItem=setStoreItem;const setStoreData=allData=>{if(!(0,object_js_1.isObjectStrict)(allData))return!1;const{navigation:navigation,navigationItem:navigationItem,content:content}=allData;store.navigations=(0,array_js_1.isArrayStrict)(navigation)?navigation:[],store.navigationItems=(0,array_js_1.isArrayStrict)(navigationItem)?navigationItem:[];const data={...allData,...content};return config_js_1.config.hierarchicalTypes.forEach((type=>{const items=data[type];(0,array_js_1.isArrayStrict)(items)&&items.forEach((item=>{if(!(0,object_js_1.isObjectStrict)(item))return;const{id:id,parent:parent,archive:archive,slug:slug,title:title}=item;if(!(0,string_js_1.isStringStrict)(id))return;const archiveType=(0,contentType_js_1.normalizeContentType)(archive);if((0,string_js_1.isStringStrict)(archiveType)){const archiveObj=(0,object_js_1.isObjectStrict)(store.archiveMeta[archiveType])?store.archiveMeta[archiveType]:{};store.archiveMeta[archiveType]={id:id,slug:slug,title:title,contentType:type,...archiveObj}}if((0,object_js_1.isObjectStrict)(parent)){const parentSlug=parent.slug,parentTitle=parent.title,parentId=parent.id;(0,string_js_1.isStringStrict)(parentSlug)&&(0,string_js_1.isStringStrict)(parentTitle)&&(0,string_js_1.isStringStrict)(parentId)&&(null==store.parents[type]&&(store.parents[type]={}),store.parents[type][id]={id:parentId,slug:parentSlug,title:parentTitle})}}))})),!0};exports.setStoreData=setStoreData;const getStoreItem=prop=>store[prop];exports.getStoreItem=getStoreItem;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createStoreFiles=void 0;const promises_1=require("node:fs/promises"),node_path_1=require("node:path"),print_js_1=require("../utils/print/print.js"),store_js_1=require("./store.js"),createStoreFiles=async()=>{await(0,promises_1.mkdir)((0,node_path_1.resolve)(store_js_1.storeDir),{recursive:!0});for(const[key,data]of Object.entries(store_js_1.store)){const fileName=`${key}.json`,path=(0,node_path_1.resolve)(store_js_1.storeDir,fileName);await(0,promises_1.writeFile)(path,JSON.stringify(data)),(0,print_js_1.print)("[FRM] Successfully wrote",path,"success")}};exports.createStoreFiles=createStoreFiles;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { NavigationList, NavigationItem } from '../components/Navigation/NavigationTypes.js';
|
|
2
|
+
import type { ImageProps } from '../utils/image/imageTypes.js';
|
|
3
|
+
import type { FormMeta } from '../objects/Form/FormTypes.js';
|
|
4
|
+
import type { Generic, Taxonomy } from '../global/globalTypes.js';
|
|
5
|
+
export interface StoreSlug {
|
|
6
|
+
contentType: string;
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
export interface StoreParent {
|
|
10
|
+
id: string;
|
|
11
|
+
slug: string;
|
|
12
|
+
title: string;
|
|
13
|
+
}
|
|
14
|
+
export interface StoreArchiveMeta {
|
|
15
|
+
id?: string;
|
|
16
|
+
slug?: string;
|
|
17
|
+
title?: string;
|
|
18
|
+
contentType?: string;
|
|
19
|
+
singular?: string;
|
|
20
|
+
plural?: string;
|
|
21
|
+
layout?: string;
|
|
22
|
+
order?: string;
|
|
23
|
+
display?: number;
|
|
24
|
+
}
|
|
25
|
+
export type StoreImageMeta = Record<string, ImageProps>;
|
|
26
|
+
export interface Store extends Generic {
|
|
27
|
+
slugs: Record<string, StoreSlug>;
|
|
28
|
+
parents: Record<string, Record<string, StoreParent>>;
|
|
29
|
+
archiveMeta: Record<string, StoreArchiveMeta>;
|
|
30
|
+
formMeta: Record<string, FormMeta>;
|
|
31
|
+
imageMeta: StoreImageMeta;
|
|
32
|
+
navigations: NavigationList[];
|
|
33
|
+
navigationItems: NavigationItem[];
|
|
34
|
+
taxonomies: Record<string, Taxonomy>;
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RichTextProps, RichTextContent } from './RichTextTypes.js';
|
|
2
|
+
declare const getPlainText: (args: RichTextContent | RichTextContent[] | string | undefined, _output?: string) => string;
|
|
3
|
+
declare const RichText: (props: RichTextProps) => string;
|
|
4
|
+
export { RichText, getPlainText };
|