@redneckz/wildless-cms-uni-blocks 0.14.860 → 0.14.862
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/README.md +13 -5
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +16 -20
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/icons/IconName.d.ts +2 -2
- package/bundle/model/Fallback.d.ts +0 -1
- package/bundle/model/FormTypeFieldDef.d.ts +1 -1
- package/dist/components/ApplicationLeadForm/parseEsiaProfile.js +2 -0
- package/dist/components/ApplicationLeadForm/parseEsiaProfile.js.map +1 -1
- package/dist/components/TabsLayout/TabsLayout.js +13 -15
- package/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/dist/icons/IconName.d.ts +2 -2
- package/dist/icons/IconName.js +1 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/Fallback.d.ts +0 -1
- package/dist/model/FormTypeFieldDef.d.ts +1 -1
- package/lib/common.css +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
- package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +1 -0
- package/lib/components/ApplicationLeadForm/parseEsiaProfile.js +2 -0
- package/lib/components/ApplicationLeadForm/parseEsiaProfile.js.map +1 -1
- package/lib/components/TabsLayout/TabsLayout.js +14 -16
- package/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/lib/icons/IconName.d.ts +2 -2
- package/lib/icons/IconName.js +1 -1
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/Fallback.d.ts +0 -1
- package/lib/model/FormTypeFieldDef.d.ts +1 -1
- package/lib/retail/components/DraftDialog/utils.d.ts +3 -3
- package/mobile/bundle/bundle.umd.js +16 -20
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/icons/IconName.d.ts +2 -2
- package/mobile/bundle/model/Fallback.d.ts +0 -1
- package/mobile/bundle/model/FormTypeFieldDef.d.ts +1 -1
- package/mobile/dist/components/ApplicationLeadForm/parseEsiaProfile.js +2 -0
- package/mobile/dist/components/ApplicationLeadForm/parseEsiaProfile.js.map +1 -1
- package/mobile/dist/components/TabsLayout/TabsLayout.js +13 -15
- package/mobile/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/dist/icons/IconName.d.ts +2 -2
- package/mobile/dist/icons/IconName.js +1 -1
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/Fallback.d.ts +0 -1
- package/mobile/dist/model/FormTypeFieldDef.d.ts +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationLeadForm/parseEsiaProfile.js +2 -0
- package/mobile/lib/components/ApplicationLeadForm/parseEsiaProfile.js.map +1 -1
- package/mobile/lib/components/TabsLayout/TabsLayout.js +14 -16
- package/mobile/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/lib/icons/IconName.d.ts +2 -2
- package/mobile/lib/icons/IconName.js +1 -1
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/Fallback.d.ts +0 -1
- package/mobile/lib/model/FormTypeFieldDef.d.ts +1 -1
- package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +30 -0
- package/mobile/src/components/ApplicationLeadForm/parseEsiaProfile.ts +2 -0
- package/mobile/src/components/TabsLayout/TabsLayout.tsx +19 -23
- package/mobile/src/icons/IconName.ts +2 -2
- package/mobile/src/icons/PercentIcon.svg +1 -1
- package/mobile/src/model/Fallback.ts +0 -1
- package/mobile/src/model/FormTypeFieldDef.ts +1 -0
- package/package.json +1 -21
- package/src/components/ApplicationForm/ApplicationForm.example.json +30 -0
- package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +23 -0
- package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +23 -0
- package/src/components/ApplicationLeadForm/parseEsiaProfile.ts +2 -0
- package/src/components/ContentPage/ContentPage.fixture.mobile.tsx +1 -4
- package/src/components/ContentPage/ContentPage.fixture.tsx +2 -7
- package/src/components/TabsLayout/TabsLayout.tsx +19 -23
- package/src/icons/IconName.ts +2 -2
- package/src/icons/PercentIcon.svg +1 -1
- package/src/model/Fallback.ts +0 -1
- package/src/model/FormTypeFieldDef.ts +1 -0
- package/bundle/components/ContentPage/computeAPIFallback.d.ts +0 -4
- package/bundle/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/bundle/components/ContentPage/mapSlot.d.ts +0 -2
- package/bundle/components/ContentPage/normalizeBlock.d.ts +0 -3
- package/bundle/components/ContentPage/normalizeBlock.mobile.d.ts +0 -3
- package/bundle/components/ContentPage/normalizePage.d.ts +0 -3
- package/bundle/components/ContentPage/toMobileBlock.d.ts +0 -2
- package/bundle/content-page-repository/ContentPageRepository.d.ts +0 -10
- package/bundle/content-page-repository/JSONDocContentBox.d.ts +0 -8
- package/bundle/content-page-repository/TransformationOptions.d.ts +0 -4
- package/bundle/content-page-repository/clearAttachmentHref.d.ts +0 -2
- package/bundle/content-page-repository/computeImgOutputPath.d.ts +0 -3
- package/bundle/content-page-repository/extensions.d.ts +0 -3
- package/bundle/content-page-repository/index.d.ts +0 -3
- package/bundle/content-page-repository/mapJSON.d.ts +0 -1
- package/bundle/content-page-repository/mergePages.d.ts +0 -2
- package/bundle/content-page-repository/replaceHeadingTags.d.ts +0 -1
- package/bundle/content-page-repository/resizeImg.d.ts +0 -3
- package/bundle/content-page-repository/transformAttachmentLink.d.ts +0 -3
- package/bundle/content-page-repository/transformContentPage.d.ts +0 -4
- package/bundle/content-page-repository/transformDocument.d.ts +0 -3
- package/bundle/content-page-repository/transformHTML.d.ts +0 -1
- package/bundle/content-page-repository/transformImg.d.ts +0 -12
- package/bundle/content-page-repository/transformMarkdown.d.ts +0 -1
- package/bundle/content-page-repository/transformPicture.d.ts +0 -3
- package/dist/components/ContentPage/computeAPIFallback.d.ts +0 -4
- package/dist/components/ContentPage/computeAPIFallback.js +0 -36
- package/dist/components/ContentPage/computeAPIFallback.js.map +0 -1
- package/dist/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/dist/components/ContentPage/loadModuleFallback.js +0 -36
- package/dist/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/dist/components/ContentPage/mapSlot.d.ts +0 -2
- package/dist/components/ContentPage/mapSlot.js +0 -16
- package/dist/components/ContentPage/mapSlot.js.map +0 -1
- package/dist/components/ContentPage/normalizeBlock.d.ts +0 -3
- package/dist/components/ContentPage/normalizeBlock.js +0 -15
- package/dist/components/ContentPage/normalizeBlock.js.map +0 -1
- package/dist/components/ContentPage/normalizeBlock.mobile.d.ts +0 -3
- package/dist/components/ContentPage/normalizeBlock.mobile.js +0 -18
- package/dist/components/ContentPage/normalizeBlock.mobile.js.map +0 -1
- package/dist/components/ContentPage/normalizePage.d.ts +0 -3
- package/dist/components/ContentPage/normalizePage.js +0 -6
- package/dist/components/ContentPage/normalizePage.js.map +0 -1
- package/dist/components/ContentPage/toMobileBlock.d.ts +0 -2
- package/dist/components/ContentPage/toMobileBlock.js +0 -12
- package/dist/components/ContentPage/toMobileBlock.js.map +0 -1
- package/dist/content-page-repository/ContentPageRepository.d.ts +0 -10
- package/dist/content-page-repository/ContentPageRepository.js +0 -31
- package/dist/content-page-repository/ContentPageRepository.js.map +0 -1
- package/dist/content-page-repository/JSONDocContentBox.d.ts +0 -8
- package/dist/content-page-repository/JSONDocContentBox.js +0 -39
- package/dist/content-page-repository/JSONDocContentBox.js.map +0 -1
- package/dist/content-page-repository/TransformationOptions.d.ts +0 -4
- package/dist/content-page-repository/TransformationOptions.js +0 -2
- package/dist/content-page-repository/TransformationOptions.js.map +0 -1
- package/dist/content-page-repository/clearAttachmentHref.d.ts +0 -2
- package/dist/content-page-repository/clearAttachmentHref.js +0 -6
- package/dist/content-page-repository/clearAttachmentHref.js.map +0 -1
- package/dist/content-page-repository/computeImgOutputPath.d.ts +0 -3
- package/dist/content-page-repository/computeImgOutputPath.js +0 -18
- package/dist/content-page-repository/computeImgOutputPath.js.map +0 -1
- package/dist/content-page-repository/extensions.d.ts +0 -3
- package/dist/content-page-repository/extensions.js +0 -18
- package/dist/content-page-repository/extensions.js.map +0 -1
- package/dist/content-page-repository/index.d.ts +0 -3
- package/dist/content-page-repository/index.js +0 -9
- package/dist/content-page-repository/index.js.map +0 -1
- package/dist/content-page-repository/mapJSON.d.ts +0 -1
- package/dist/content-page-repository/mapJSON.js +0 -26
- package/dist/content-page-repository/mapJSON.js.map +0 -1
- package/dist/content-page-repository/mergePages.d.ts +0 -2
- package/dist/content-page-repository/mergePages.js +0 -7
- package/dist/content-page-repository/mergePages.js.map +0 -1
- package/dist/content-page-repository/replaceHeadingTags.d.ts +0 -1
- package/dist/content-page-repository/replaceHeadingTags.js +0 -5
- package/dist/content-page-repository/replaceHeadingTags.js.map +0 -1
- package/dist/content-page-repository/resizeImg.d.ts +0 -3
- package/dist/content-page-repository/resizeImg.js +0 -19
- package/dist/content-page-repository/resizeImg.js.map +0 -1
- package/dist/content-page-repository/transformAttachmentLink.d.ts +0 -3
- package/dist/content-page-repository/transformAttachmentLink.js +0 -40
- package/dist/content-page-repository/transformAttachmentLink.js.map +0 -1
- package/dist/content-page-repository/transformContentPage.d.ts +0 -4
- package/dist/content-page-repository/transformContentPage.js +0 -78
- package/dist/content-page-repository/transformContentPage.js.map +0 -1
- package/dist/content-page-repository/transformDocument.d.ts +0 -3
- package/dist/content-page-repository/transformDocument.js +0 -38
- package/dist/content-page-repository/transformDocument.js.map +0 -1
- package/dist/content-page-repository/transformHTML.d.ts +0 -1
- package/dist/content-page-repository/transformHTML.js +0 -54
- package/dist/content-page-repository/transformHTML.js.map +0 -1
- package/dist/content-page-repository/transformImg.d.ts +0 -12
- package/dist/content-page-repository/transformImg.js +0 -51
- package/dist/content-page-repository/transformImg.js.map +0 -1
- package/dist/content-page-repository/transformMarkdown.d.ts +0 -1
- package/dist/content-page-repository/transformMarkdown.js +0 -18
- package/dist/content-page-repository/transformMarkdown.js.map +0 -1
- package/dist/content-page-repository/transformPicture.d.ts +0 -3
- package/dist/content-page-repository/transformPicture.js +0 -28
- package/dist/content-page-repository/transformPicture.js.map +0 -1
- package/lib/components/ContentPage/computeAPIFallback.d.ts +0 -4
- package/lib/components/ContentPage/computeAPIFallback.js +0 -33
- package/lib/components/ContentPage/computeAPIFallback.js.map +0 -1
- package/lib/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/lib/components/ContentPage/loadModuleFallback.js +0 -10
- package/lib/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/lib/components/ContentPage/mapSlot.d.ts +0 -2
- package/lib/components/ContentPage/mapSlot.js +0 -13
- package/lib/components/ContentPage/mapSlot.js.map +0 -1
- package/lib/components/ContentPage/normalizeBlock.d.ts +0 -3
- package/lib/components/ContentPage/normalizeBlock.js +0 -12
- package/lib/components/ContentPage/normalizeBlock.js.map +0 -1
- package/lib/components/ContentPage/normalizeBlock.mobile.d.ts +0 -3
- package/lib/components/ContentPage/normalizeBlock.mobile.js +0 -15
- package/lib/components/ContentPage/normalizeBlock.mobile.js.map +0 -1
- package/lib/components/ContentPage/normalizePage.d.ts +0 -3
- package/lib/components/ContentPage/normalizePage.js +0 -3
- package/lib/components/ContentPage/normalizePage.js.map +0 -1
- package/lib/components/ContentPage/toMobileBlock.d.ts +0 -2
- package/lib/components/ContentPage/toMobileBlock.js +0 -9
- package/lib/components/ContentPage/toMobileBlock.js.map +0 -1
- package/lib/content-page-repository/ContentPageRepository.d.ts +0 -10
- package/lib/content-page-repository/ContentPageRepository.js +0 -25
- package/lib/content-page-repository/ContentPageRepository.js.map +0 -1
- package/lib/content-page-repository/JSONDocContentBox.d.ts +0 -8
- package/lib/content-page-repository/JSONDocContentBox.js +0 -36
- package/lib/content-page-repository/JSONDocContentBox.js.map +0 -1
- package/lib/content-page-repository/TransformationOptions.d.ts +0 -4
- package/lib/content-page-repository/TransformationOptions.js +0 -2
- package/lib/content-page-repository/TransformationOptions.js.map +0 -1
- package/lib/content-page-repository/clearAttachmentHref.d.ts +0 -2
- package/lib/content-page-repository/clearAttachmentHref.js +0 -3
- package/lib/content-page-repository/clearAttachmentHref.js.map +0 -1
- package/lib/content-page-repository/computeImgOutputPath.d.ts +0 -3
- package/lib/content-page-repository/computeImgOutputPath.js +0 -12
- package/lib/content-page-repository/computeImgOutputPath.js.map +0 -1
- package/lib/content-page-repository/extensions.d.ts +0 -3
- package/lib/content-page-repository/extensions.js +0 -16
- package/lib/content-page-repository/extensions.js.map +0 -1
- package/lib/content-page-repository/index.d.ts +0 -3
- package/lib/content-page-repository/index.js +0 -4
- package/lib/content-page-repository/index.js.map +0 -1
- package/lib/content-page-repository/mapJSON.d.ts +0 -1
- package/lib/content-page-repository/mapJSON.js +0 -23
- package/lib/content-page-repository/mapJSON.js.map +0 -1
- package/lib/content-page-repository/mergePages.d.ts +0 -2
- package/lib/content-page-repository/mergePages.js +0 -4
- package/lib/content-page-repository/mergePages.js.map +0 -1
- package/lib/content-page-repository/replaceHeadingTags.d.ts +0 -1
- package/lib/content-page-repository/replaceHeadingTags.js +0 -2
- package/lib/content-page-repository/replaceHeadingTags.js.map +0 -1
- package/lib/content-page-repository/resizeImg.d.ts +0 -3
- package/lib/content-page-repository/resizeImg.js +0 -13
- package/lib/content-page-repository/resizeImg.js.map +0 -1
- package/lib/content-page-repository/transformAttachmentLink.d.ts +0 -3
- package/lib/content-page-repository/transformAttachmentLink.js +0 -34
- package/lib/content-page-repository/transformAttachmentLink.js.map +0 -1
- package/lib/content-page-repository/transformContentPage.d.ts +0 -4
- package/lib/content-page-repository/transformContentPage.js +0 -71
- package/lib/content-page-repository/transformContentPage.js.map +0 -1
- package/lib/content-page-repository/transformDocument.d.ts +0 -3
- package/lib/content-page-repository/transformDocument.js +0 -32
- package/lib/content-page-repository/transformDocument.js.map +0 -1
- package/lib/content-page-repository/transformHTML.d.ts +0 -1
- package/lib/content-page-repository/transformHTML.js +0 -25
- package/lib/content-page-repository/transformHTML.js.map +0 -1
- package/lib/content-page-repository/transformImg.d.ts +0 -12
- package/lib/content-page-repository/transformImg.js +0 -45
- package/lib/content-page-repository/transformImg.js.map +0 -1
- package/lib/content-page-repository/transformMarkdown.d.ts +0 -1
- package/lib/content-page-repository/transformMarkdown.js +0 -12
- package/lib/content-page-repository/transformMarkdown.js.map +0 -1
- package/lib/content-page-repository/transformPicture.d.ts +0 -3
- package/lib/content-page-repository/transformPicture.js +0 -22
- package/lib/content-page-repository/transformPicture.js.map +0 -1
- package/mobile/bundle/components/ContentPage/computeAPIFallback.d.ts +0 -4
- package/mobile/bundle/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/mobile/bundle/components/ContentPage/mapSlot.d.ts +0 -2
- package/mobile/bundle/components/ContentPage/normalizeBlock.d.ts +0 -3
- package/mobile/bundle/components/ContentPage/normalizePage.d.ts +0 -3
- package/mobile/bundle/components/ContentPage/toMobileBlock.d.ts +0 -2
- package/mobile/bundle/content-page-repository/ContentPageRepository.d.ts +0 -10
- package/mobile/bundle/content-page-repository/JSONDocContentBox.d.ts +0 -8
- package/mobile/bundle/content-page-repository/TransformationOptions.d.ts +0 -4
- package/mobile/bundle/content-page-repository/clearAttachmentHref.d.ts +0 -2
- package/mobile/bundle/content-page-repository/computeImgOutputPath.d.ts +0 -3
- package/mobile/bundle/content-page-repository/extensions.d.ts +0 -3
- package/mobile/bundle/content-page-repository/index.d.ts +0 -3
- package/mobile/bundle/content-page-repository/mapJSON.d.ts +0 -1
- package/mobile/bundle/content-page-repository/mergePages.d.ts +0 -2
- package/mobile/bundle/content-page-repository/replaceHeadingTags.d.ts +0 -1
- package/mobile/bundle/content-page-repository/resizeImg.d.ts +0 -3
- package/mobile/bundle/content-page-repository/transformAttachmentLink.d.ts +0 -3
- package/mobile/bundle/content-page-repository/transformContentPage.d.ts +0 -4
- package/mobile/bundle/content-page-repository/transformDocument.d.ts +0 -3
- package/mobile/bundle/content-page-repository/transformHTML.d.ts +0 -1
- package/mobile/bundle/content-page-repository/transformImg.d.ts +0 -12
- package/mobile/bundle/content-page-repository/transformMarkdown.d.ts +0 -1
- package/mobile/bundle/content-page-repository/transformPicture.d.ts +0 -3
- package/mobile/dist/components/ContentPage/computeAPIFallback.d.ts +0 -4
- package/mobile/dist/components/ContentPage/computeAPIFallback.js +0 -36
- package/mobile/dist/components/ContentPage/computeAPIFallback.js.map +0 -1
- package/mobile/dist/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/mobile/dist/components/ContentPage/loadModuleFallback.js +0 -36
- package/mobile/dist/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/mobile/dist/components/ContentPage/mapSlot.d.ts +0 -2
- package/mobile/dist/components/ContentPage/mapSlot.js +0 -16
- package/mobile/dist/components/ContentPage/mapSlot.js.map +0 -1
- package/mobile/dist/components/ContentPage/normalizeBlock.d.ts +0 -3
- package/mobile/dist/components/ContentPage/normalizeBlock.js +0 -18
- package/mobile/dist/components/ContentPage/normalizeBlock.js.map +0 -1
- package/mobile/dist/components/ContentPage/normalizePage.d.ts +0 -3
- package/mobile/dist/components/ContentPage/normalizePage.js +0 -6
- package/mobile/dist/components/ContentPage/normalizePage.js.map +0 -1
- package/mobile/dist/components/ContentPage/toMobileBlock.d.ts +0 -2
- package/mobile/dist/components/ContentPage/toMobileBlock.js +0 -12
- package/mobile/dist/components/ContentPage/toMobileBlock.js.map +0 -1
- package/mobile/dist/content-page-repository/ContentPageRepository.d.ts +0 -10
- package/mobile/dist/content-page-repository/ContentPageRepository.js +0 -31
- package/mobile/dist/content-page-repository/ContentPageRepository.js.map +0 -1
- package/mobile/dist/content-page-repository/JSONDocContentBox.d.ts +0 -8
- package/mobile/dist/content-page-repository/JSONDocContentBox.js +0 -39
- package/mobile/dist/content-page-repository/JSONDocContentBox.js.map +0 -1
- package/mobile/dist/content-page-repository/TransformationOptions.d.ts +0 -4
- package/mobile/dist/content-page-repository/TransformationOptions.js +0 -2
- package/mobile/dist/content-page-repository/TransformationOptions.js.map +0 -1
- package/mobile/dist/content-page-repository/clearAttachmentHref.d.ts +0 -2
- package/mobile/dist/content-page-repository/clearAttachmentHref.js +0 -6
- package/mobile/dist/content-page-repository/clearAttachmentHref.js.map +0 -1
- package/mobile/dist/content-page-repository/computeImgOutputPath.d.ts +0 -3
- package/mobile/dist/content-page-repository/computeImgOutputPath.js +0 -18
- package/mobile/dist/content-page-repository/computeImgOutputPath.js.map +0 -1
- package/mobile/dist/content-page-repository/extensions.d.ts +0 -3
- package/mobile/dist/content-page-repository/extensions.js +0 -18
- package/mobile/dist/content-page-repository/extensions.js.map +0 -1
- package/mobile/dist/content-page-repository/index.d.ts +0 -3
- package/mobile/dist/content-page-repository/index.js +0 -9
- package/mobile/dist/content-page-repository/index.js.map +0 -1
- package/mobile/dist/content-page-repository/mapJSON.d.ts +0 -1
- package/mobile/dist/content-page-repository/mapJSON.js +0 -26
- package/mobile/dist/content-page-repository/mapJSON.js.map +0 -1
- package/mobile/dist/content-page-repository/mergePages.d.ts +0 -2
- package/mobile/dist/content-page-repository/mergePages.js +0 -7
- package/mobile/dist/content-page-repository/mergePages.js.map +0 -1
- package/mobile/dist/content-page-repository/replaceHeadingTags.d.ts +0 -1
- package/mobile/dist/content-page-repository/replaceHeadingTags.js +0 -5
- package/mobile/dist/content-page-repository/replaceHeadingTags.js.map +0 -1
- package/mobile/dist/content-page-repository/resizeImg.d.ts +0 -3
- package/mobile/dist/content-page-repository/resizeImg.js +0 -19
- package/mobile/dist/content-page-repository/resizeImg.js.map +0 -1
- package/mobile/dist/content-page-repository/transformAttachmentLink.d.ts +0 -3
- package/mobile/dist/content-page-repository/transformAttachmentLink.js +0 -40
- package/mobile/dist/content-page-repository/transformAttachmentLink.js.map +0 -1
- package/mobile/dist/content-page-repository/transformContentPage.d.ts +0 -4
- package/mobile/dist/content-page-repository/transformContentPage.js +0 -78
- package/mobile/dist/content-page-repository/transformContentPage.js.map +0 -1
- package/mobile/dist/content-page-repository/transformDocument.d.ts +0 -3
- package/mobile/dist/content-page-repository/transformDocument.js +0 -38
- package/mobile/dist/content-page-repository/transformDocument.js.map +0 -1
- package/mobile/dist/content-page-repository/transformHTML.d.ts +0 -1
- package/mobile/dist/content-page-repository/transformHTML.js +0 -54
- package/mobile/dist/content-page-repository/transformHTML.js.map +0 -1
- package/mobile/dist/content-page-repository/transformImg.d.ts +0 -12
- package/mobile/dist/content-page-repository/transformImg.js +0 -51
- package/mobile/dist/content-page-repository/transformImg.js.map +0 -1
- package/mobile/dist/content-page-repository/transformMarkdown.d.ts +0 -1
- package/mobile/dist/content-page-repository/transformMarkdown.js +0 -18
- package/mobile/dist/content-page-repository/transformMarkdown.js.map +0 -1
- package/mobile/dist/content-page-repository/transformPicture.d.ts +0 -3
- package/mobile/dist/content-page-repository/transformPicture.js +0 -28
- package/mobile/dist/content-page-repository/transformPicture.js.map +0 -1
- package/mobile/lib/components/ContentPage/computeAPIFallback.d.ts +0 -4
- package/mobile/lib/components/ContentPage/computeAPIFallback.js +0 -33
- package/mobile/lib/components/ContentPage/computeAPIFallback.js.map +0 -1
- package/mobile/lib/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/mobile/lib/components/ContentPage/loadModuleFallback.js +0 -10
- package/mobile/lib/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/mobile/lib/components/ContentPage/mapSlot.d.ts +0 -2
- package/mobile/lib/components/ContentPage/mapSlot.js +0 -13
- package/mobile/lib/components/ContentPage/mapSlot.js.map +0 -1
- package/mobile/lib/components/ContentPage/normalizeBlock.d.ts +0 -3
- package/mobile/lib/components/ContentPage/normalizeBlock.js +0 -15
- package/mobile/lib/components/ContentPage/normalizeBlock.js.map +0 -1
- package/mobile/lib/components/ContentPage/normalizePage.d.ts +0 -3
- package/mobile/lib/components/ContentPage/normalizePage.js +0 -3
- package/mobile/lib/components/ContentPage/normalizePage.js.map +0 -1
- package/mobile/lib/components/ContentPage/toMobileBlock.d.ts +0 -2
- package/mobile/lib/components/ContentPage/toMobileBlock.js +0 -9
- package/mobile/lib/components/ContentPage/toMobileBlock.js.map +0 -1
- package/mobile/lib/content-page-repository/ContentPageRepository.d.ts +0 -10
- package/mobile/lib/content-page-repository/ContentPageRepository.js +0 -25
- package/mobile/lib/content-page-repository/ContentPageRepository.js.map +0 -1
- package/mobile/lib/content-page-repository/JSONDocContentBox.d.ts +0 -8
- package/mobile/lib/content-page-repository/JSONDocContentBox.js +0 -36
- package/mobile/lib/content-page-repository/JSONDocContentBox.js.map +0 -1
- package/mobile/lib/content-page-repository/TransformationOptions.d.ts +0 -4
- package/mobile/lib/content-page-repository/TransformationOptions.js +0 -2
- package/mobile/lib/content-page-repository/TransformationOptions.js.map +0 -1
- package/mobile/lib/content-page-repository/clearAttachmentHref.d.ts +0 -2
- package/mobile/lib/content-page-repository/clearAttachmentHref.js +0 -3
- package/mobile/lib/content-page-repository/clearAttachmentHref.js.map +0 -1
- package/mobile/lib/content-page-repository/computeImgOutputPath.d.ts +0 -3
- package/mobile/lib/content-page-repository/computeImgOutputPath.js +0 -12
- package/mobile/lib/content-page-repository/computeImgOutputPath.js.map +0 -1
- package/mobile/lib/content-page-repository/extensions.d.ts +0 -3
- package/mobile/lib/content-page-repository/extensions.js +0 -16
- package/mobile/lib/content-page-repository/extensions.js.map +0 -1
- package/mobile/lib/content-page-repository/index.d.ts +0 -3
- package/mobile/lib/content-page-repository/index.js +0 -4
- package/mobile/lib/content-page-repository/index.js.map +0 -1
- package/mobile/lib/content-page-repository/mapJSON.d.ts +0 -1
- package/mobile/lib/content-page-repository/mapJSON.js +0 -23
- package/mobile/lib/content-page-repository/mapJSON.js.map +0 -1
- package/mobile/lib/content-page-repository/mergePages.d.ts +0 -2
- package/mobile/lib/content-page-repository/mergePages.js +0 -4
- package/mobile/lib/content-page-repository/mergePages.js.map +0 -1
- package/mobile/lib/content-page-repository/replaceHeadingTags.d.ts +0 -1
- package/mobile/lib/content-page-repository/replaceHeadingTags.js +0 -2
- package/mobile/lib/content-page-repository/replaceHeadingTags.js.map +0 -1
- package/mobile/lib/content-page-repository/resizeImg.d.ts +0 -3
- package/mobile/lib/content-page-repository/resizeImg.js +0 -13
- package/mobile/lib/content-page-repository/resizeImg.js.map +0 -1
- package/mobile/lib/content-page-repository/transformAttachmentLink.d.ts +0 -3
- package/mobile/lib/content-page-repository/transformAttachmentLink.js +0 -34
- package/mobile/lib/content-page-repository/transformAttachmentLink.js.map +0 -1
- package/mobile/lib/content-page-repository/transformContentPage.d.ts +0 -4
- package/mobile/lib/content-page-repository/transformContentPage.js +0 -71
- package/mobile/lib/content-page-repository/transformContentPage.js.map +0 -1
- package/mobile/lib/content-page-repository/transformDocument.d.ts +0 -3
- package/mobile/lib/content-page-repository/transformDocument.js +0 -32
- package/mobile/lib/content-page-repository/transformDocument.js.map +0 -1
- package/mobile/lib/content-page-repository/transformHTML.d.ts +0 -1
- package/mobile/lib/content-page-repository/transformHTML.js +0 -25
- package/mobile/lib/content-page-repository/transformHTML.js.map +0 -1
- package/mobile/lib/content-page-repository/transformImg.d.ts +0 -12
- package/mobile/lib/content-page-repository/transformImg.js +0 -45
- package/mobile/lib/content-page-repository/transformImg.js.map +0 -1
- package/mobile/lib/content-page-repository/transformMarkdown.d.ts +0 -1
- package/mobile/lib/content-page-repository/transformMarkdown.js +0 -12
- package/mobile/lib/content-page-repository/transformMarkdown.js.map +0 -1
- package/mobile/lib/content-page-repository/transformPicture.d.ts +0 -3
- package/mobile/lib/content-page-repository/transformPicture.js +0 -22
- package/mobile/lib/content-page-repository/transformPicture.js.map +0 -1
- package/mobile/src/components/ContentPage/computeAPIFallback.ts +0 -67
- package/mobile/src/components/ContentPage/loadModuleFallback.ts +0 -11
- package/mobile/src/components/ContentPage/mapSlot.ts +0 -18
- package/mobile/src/components/ContentPage/normalizeBlock.ts +0 -25
- package/mobile/src/components/ContentPage/normalizePage.ts +0 -8
- package/mobile/src/components/ContentPage/toMobileBlock.ts +0 -11
- package/mobile/src/content-page-repository/ContentPageRepository.ts +0 -31
- package/mobile/src/content-page-repository/JSONDocContentBox.ts +0 -56
- package/mobile/src/content-page-repository/TransformationOptions.ts +0 -4
- package/mobile/src/content-page-repository/clearAttachmentHref.ts +0 -3
- package/mobile/src/content-page-repository/computeImgOutputPath.ts +0 -21
- package/mobile/src/content-page-repository/extensions.ts +0 -17
- package/mobile/src/content-page-repository/index.ts +0 -3
- package/mobile/src/content-page-repository/mapJSON.ts +0 -30
- package/mobile/src/content-page-repository/mergePages.ts +0 -8
- package/mobile/src/content-page-repository/replaceHeadingTags.ts +0 -2
- package/mobile/src/content-page-repository/resizeImg.ts +0 -17
- package/mobile/src/content-page-repository/transformAttachmentLink.ts +0 -46
- package/mobile/src/content-page-repository/transformContentPage.ts +0 -102
- package/mobile/src/content-page-repository/transformDocument.ts +0 -43
- package/mobile/src/content-page-repository/transformHTML.ts +0 -28
- package/mobile/src/content-page-repository/transformImg.ts +0 -81
- package/mobile/src/content-page-repository/transformMarkdown.ts +0 -14
- package/mobile/src/content-page-repository/transformPicture.ts +0 -35
- package/src/components/ContentPage/computeAPIFallback.ts +0 -67
- package/src/components/ContentPage/loadModuleFallback.ts +0 -11
- package/src/components/ContentPage/mapSlot.ts +0 -18
- package/src/components/ContentPage/normalizeBlock.mobile.ts +0 -25
- package/src/components/ContentPage/normalizeBlock.ts +0 -21
- package/src/components/ContentPage/normalizePage.ts +0 -8
- package/src/components/ContentPage/toMobileBlock.ts +0 -11
- package/src/content-page-repository/ContentPageRepository.ts +0 -31
- package/src/content-page-repository/JSONDocContentBox.ts +0 -56
- package/src/content-page-repository/TransformationOptions.ts +0 -4
- package/src/content-page-repository/clearAttachmentHref.ts +0 -3
- package/src/content-page-repository/computeImgOutputPath.ts +0 -21
- package/src/content-page-repository/extensions.ts +0 -17
- package/src/content-page-repository/index.ts +0 -3
- package/src/content-page-repository/mapJSON.ts +0 -30
- package/src/content-page-repository/mergePages.ts +0 -8
- package/src/content-page-repository/replaceHeadingTags.ts +0 -2
- package/src/content-page-repository/resizeImg.ts +0 -17
- package/src/content-page-repository/transformAttachmentLink.ts +0 -46
- package/src/content-page-repository/transformContentPage.ts +0 -102
- package/src/content-page-repository/transformDocument.ts +0 -43
- package/src/content-page-repository/transformHTML.ts +0 -28
- package/src/content-page-repository/transformImg.ts +0 -81
- package/src/content-page-repository/transformMarkdown.ts +0 -14
- package/src/content-page-repository/transformPicture.ts +0 -35
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import rehypeParse from 'rehype-parse';
|
|
2
|
-
import rehypeSanitize, { defaultSchema } from 'rehype-sanitize';
|
|
3
|
-
import rehypeStringify from 'rehype-stringify';
|
|
4
|
-
import { unified } from 'unified';
|
|
5
|
-
import { replaceHeadingTags } from './replaceHeadingTags';
|
|
6
|
-
|
|
7
|
-
export async function transformHTML(html: string | null | undefined): Promise<string> {
|
|
8
|
-
if (!html) {
|
|
9
|
-
return '';
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const extendedSchema = {
|
|
13
|
-
...defaultSchema,
|
|
14
|
-
protocols: {
|
|
15
|
-
...defaultSchema.protocols,
|
|
16
|
-
href: [...(defaultSchema?.protocols?.href || []), 'tel'],
|
|
17
|
-
src: [...(defaultSchema.protocols?.src ?? []), 'data'],
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const result = await unified()
|
|
22
|
-
.use(rehypeParse)
|
|
23
|
-
.use(rehypeSanitize, extendedSchema)
|
|
24
|
-
.use(rehypeStringify)
|
|
25
|
-
.process(html);
|
|
26
|
-
|
|
27
|
-
return replaceHeadingTags(result.toString('utf-8'));
|
|
28
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import sharp, { type Sharp } from 'sharp';
|
|
4
|
-
import util from 'util';
|
|
5
|
-
import { type ImageSize } from '../model/ImageSize';
|
|
6
|
-
import { type ImgSource } from '../model/Picture';
|
|
7
|
-
import { isPictureSizeEmpty } from '../utils/isPictureSizeEmpty';
|
|
8
|
-
import { computeImgOutputPath } from './computeImgOutputPath';
|
|
9
|
-
import { resizeImg } from './resizeImg';
|
|
10
|
-
import { type TransformationOptions } from './TransformationOptions';
|
|
11
|
-
|
|
12
|
-
const mkdir = util.promisify(fs.mkdir);
|
|
13
|
-
const copyFile = util.promisify(fs.copyFile);
|
|
14
|
-
|
|
15
|
-
type ImgOutputPath = string;
|
|
16
|
-
type TransformationTaskKey = ImgOutputPath;
|
|
17
|
-
type TransformationTasksCache = Map<TransformationTaskKey, Promise<ImgOutputPath>>;
|
|
18
|
-
|
|
19
|
-
type TransformImgOptions = TransformationOptions &
|
|
20
|
-
ImgSource & { containerSize?: ImageSize; cache?: TransformationTasksCache };
|
|
21
|
-
|
|
22
|
-
const defaultTransformationCache: TransformationTasksCache = new Map();
|
|
23
|
-
|
|
24
|
-
const isNilTransform = ({ size, containerSize, format }: TransformImgOptions) =>
|
|
25
|
-
isPictureSizeEmpty(size) && isPictureSizeEmpty(containerSize) && !format;
|
|
26
|
-
|
|
27
|
-
const isVectorInput = (input: string) =>
|
|
28
|
-
['.svg', '.eps', '.epsf', '.epsi', '.pdf'].some((ext) => input.toLowerCase().endsWith(ext));
|
|
29
|
-
|
|
30
|
-
export function transformImg(
|
|
31
|
-
src: string,
|
|
32
|
-
pagePath: string,
|
|
33
|
-
options: TransformImgOptions,
|
|
34
|
-
): ImgOutputPath | Promise<ImgOutputPath> {
|
|
35
|
-
if (!src) {
|
|
36
|
-
return src;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const withoutTransform = isNilTransform(options) || isVectorInput(src);
|
|
40
|
-
|
|
41
|
-
const output = computeImgOutputPath(src, options, withoutTransform);
|
|
42
|
-
|
|
43
|
-
const { cache = defaultTransformationCache } = options;
|
|
44
|
-
|
|
45
|
-
const cachedResult = cache.get(output);
|
|
46
|
-
if (cachedResult) {
|
|
47
|
-
return cachedResult;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const result = (async () => {
|
|
51
|
-
try {
|
|
52
|
-
await mkdir(path.dirname(output), { recursive: true });
|
|
53
|
-
if (withoutTransform) {
|
|
54
|
-
await copyFile(src, output);
|
|
55
|
-
} else {
|
|
56
|
-
const chain = await computeTransformationChain(options)(sharp(src));
|
|
57
|
-
await chain.toFile(output);
|
|
58
|
-
}
|
|
59
|
-
} catch (e) {
|
|
60
|
-
console.info(`No "${src}" attachment found on page: "${pagePath}"`);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return output;
|
|
64
|
-
})();
|
|
65
|
-
cache.set(output, result);
|
|
66
|
-
|
|
67
|
-
return result;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const computeTransformationChain = ({
|
|
71
|
-
size,
|
|
72
|
-
containerSize,
|
|
73
|
-
format,
|
|
74
|
-
options,
|
|
75
|
-
}: TransformImgOptions) =>
|
|
76
|
-
pipe(resizeImg(isPictureSizeEmpty(size) ? containerSize : size), (_) =>
|
|
77
|
-
format ? _.toFormat(format, { ...options, lossless: true }) : _,
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
const pipe = (...operations: Array<(chain: Sharp) => Promise<Sharp> | Sharp>) =>
|
|
81
|
-
operations.reduce((a, b) => async (chain: Sharp) => b(await a(chain)));
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import remarkHtml from 'remark-html';
|
|
2
|
-
import remarkParse from 'remark-parse';
|
|
3
|
-
import { unified } from 'unified';
|
|
4
|
-
import { replaceHeadingTags } from './replaceHeadingTags';
|
|
5
|
-
|
|
6
|
-
export async function transformMarkdown(markdown: string | null | undefined): Promise<string> {
|
|
7
|
-
if (!markdown) {
|
|
8
|
-
return '';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const result = await unified().use(remarkParse).use(remarkHtml).process(markdown);
|
|
12
|
-
|
|
13
|
-
return replaceHeadingTags(result.toString('utf-8'));
|
|
14
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import sharp from 'sharp';
|
|
3
|
-
import { type Picture } from '../model/Picture';
|
|
4
|
-
import { type TransformationOptions } from './TransformationOptions';
|
|
5
|
-
import { transformImg } from './transformImg';
|
|
6
|
-
|
|
7
|
-
export async function transformPicture(
|
|
8
|
-
picture: Picture,
|
|
9
|
-
pagePath: string,
|
|
10
|
-
options: TransformationOptions,
|
|
11
|
-
): Promise<Picture> {
|
|
12
|
-
const src = picture?.src || '';
|
|
13
|
-
|
|
14
|
-
const transformedImgPath = await transformImg(src, pagePath, { ...options, ...picture });
|
|
15
|
-
|
|
16
|
-
const { width, height } = await sharp(transformedImgPath).metadata();
|
|
17
|
-
const containerSize = width && height ? { width, height } : undefined;
|
|
18
|
-
|
|
19
|
-
const sources = picture.sources || [];
|
|
20
|
-
const transformedSources = await Promise.all(
|
|
21
|
-
sources.map((_) => transformImg(src, pagePath, { ...options, ..._, containerSize })),
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
const imgPathToSrc = (_: string) => path.join('/', path.relative(options.publicDir, _));
|
|
25
|
-
|
|
26
|
-
return {
|
|
27
|
-
...picture,
|
|
28
|
-
src: imgPathToSrc(transformedImgPath),
|
|
29
|
-
sources: transformedSources.map((_, i) => ({
|
|
30
|
-
...sources[i],
|
|
31
|
-
src: imgPathToSrc(_),
|
|
32
|
-
size: { width, height },
|
|
33
|
-
})),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { type JSONNode } from '@redneckz/json-op';
|
|
2
|
-
import { collectRef, resolveJPointer } from '@redneckz/json-ref';
|
|
3
|
-
import { ContentPageRepository } from '../../content-page-repository/ContentPageRepository';
|
|
4
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
5
|
-
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
6
|
-
import { type Fallback, type FallbackMap } from '../../model/Fallback';
|
|
7
|
-
import { unique } from '../../utils/unique';
|
|
8
|
-
import { joinPath } from '../../utils/url';
|
|
9
|
-
import { loadModuleFallback } from './loadModuleFallback';
|
|
10
|
-
|
|
11
|
-
type FallbackEntry = [key: string, data: JSONNode];
|
|
12
|
-
|
|
13
|
-
const BASE_DIR = 'content';
|
|
14
|
-
|
|
15
|
-
export const computeAPIFallback = async (
|
|
16
|
-
blocksRegistry: BlocksRegistry,
|
|
17
|
-
contentPageData: ContentPageDef,
|
|
18
|
-
): Promise<Fallback> => {
|
|
19
|
-
return Object.fromEntries(
|
|
20
|
-
(
|
|
21
|
-
await Promise.all([
|
|
22
|
-
computeFallbackFromModules(blocksRegistry),
|
|
23
|
-
computeFallbackFromContentRefs(contentPageData),
|
|
24
|
-
])
|
|
25
|
-
)
|
|
26
|
-
.flatMap((_) => _)
|
|
27
|
-
.filter(([key, data]) => key && data),
|
|
28
|
-
);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const computeFallbackFromModules = async (
|
|
32
|
-
blocksRegistry: BlocksRegistry,
|
|
33
|
-
): Promise<FallbackEntry[]> => {
|
|
34
|
-
const fallbackMap: FallbackMap = (
|
|
35
|
-
await Promise.all(Object.keys(blocksRegistry).map(loadModuleFallback))
|
|
36
|
-
)
|
|
37
|
-
.filter((_): _ is FallbackMap => Boolean(_))
|
|
38
|
-
.reduce((acc, _) => ({ ...acc, ..._ }), {});
|
|
39
|
-
|
|
40
|
-
return (
|
|
41
|
-
await Promise.allSettled(
|
|
42
|
-
Object.entries(fallbackMap).map(
|
|
43
|
-
async ([key, fetcher]): Promise<FallbackEntry> => [key, await fetcher()],
|
|
44
|
-
),
|
|
45
|
-
)
|
|
46
|
-
)
|
|
47
|
-
.filter((_): _ is PromiseFulfilledResult<FallbackEntry> => _.status === 'fulfilled')
|
|
48
|
-
.map(({ value }) => value);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const computeFallbackFromContentRefs = async (
|
|
52
|
-
contentPageData: ContentPageDef,
|
|
53
|
-
): Promise<FallbackEntry[]> => {
|
|
54
|
-
const refs = unique(collectRef(contentPageData as JSONNode));
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
await Promise.allSettled(
|
|
58
|
-
refs.map(async (_) => [
|
|
59
|
-
_,
|
|
60
|
-
(await ContentPageRepository.inst.generatePage(joinPath(BASE_DIR, _))) as JSONNode,
|
|
61
|
-
]),
|
|
62
|
-
)
|
|
63
|
-
)
|
|
64
|
-
.filter((_): _ is PromiseFulfilledResult<FallbackEntry> => _.status === 'fulfilled')
|
|
65
|
-
.map(({ value }) => value)
|
|
66
|
-
.map(([ref, data]) => [ref, resolveJPointer(data, ref)]);
|
|
67
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type FallbackMap } from '../../model/Fallback';
|
|
2
|
-
|
|
3
|
-
export const loadModuleFallback = async (blockName: string): Promise<FallbackMap | undefined> => {
|
|
4
|
-
try {
|
|
5
|
-
const blockFallback = await import(`../${blockName}/${blockName}.fallback`);
|
|
6
|
-
|
|
7
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
8
|
-
} catch (error) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type BlockDef, type Slot } from '../../model/ContentPageDef';
|
|
2
|
-
|
|
3
|
-
export const mapSlot =
|
|
4
|
-
(mapper: (blocks?: BlockDef[]) => BlockDef[]) =>
|
|
5
|
-
<S extends Slot>(slot: S): S => ({
|
|
6
|
-
...slot,
|
|
7
|
-
...(slot.blocks ? { blocks: mapper(slot.blocks) } : {}),
|
|
8
|
-
...(slot.slots
|
|
9
|
-
? {
|
|
10
|
-
slots: Object.fromEntries(
|
|
11
|
-
Object.entries(slot.slots).map(([slotKey, slotBlocks]) => [
|
|
12
|
-
slotKey,
|
|
13
|
-
mapper(slotBlocks),
|
|
14
|
-
]),
|
|
15
|
-
),
|
|
16
|
-
}
|
|
17
|
-
: {}),
|
|
18
|
-
});
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
|
-
import { type BlockDef, type Slot } from '../../model/ContentPageDef';
|
|
3
|
-
import { mapSlot } from './mapSlot';
|
|
4
|
-
import { toMobileBlock } from './toMobileBlock';
|
|
5
|
-
|
|
6
|
-
export function normalizeBlock<S extends Slot>(block?: S, blocksRegistry?: BlocksRegistry): S {
|
|
7
|
-
const { mobile } = (block || {}) as BlockDef;
|
|
8
|
-
|
|
9
|
-
return mapSlot(filterBlocks(blocksRegistry))((mobile ? toMobileBlock(block) : block) || {}) as S;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const filterBlocks =
|
|
13
|
-
(blocksRegistry?: BlocksRegistry) =>
|
|
14
|
-
(blocks?: BlockDef[]): BlockDef[] =>
|
|
15
|
-
blocks
|
|
16
|
-
? blocks
|
|
17
|
-
?.filter(
|
|
18
|
-
(block) =>
|
|
19
|
-
blocksRegistry &&
|
|
20
|
-
(block?.type || block?.mobile?.type || '') in blocksRegistry &&
|
|
21
|
-
!block.mobile?.hidden &&
|
|
22
|
-
!block?.hidden,
|
|
23
|
-
)
|
|
24
|
-
.map((block) => normalizeBlock(block, blocksRegistry))
|
|
25
|
-
: [];
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
|
-
import { type BlockDef, type Slot } from '../../model/ContentPageDef';
|
|
3
|
-
import { mapSlot } from './mapSlot';
|
|
4
|
-
|
|
5
|
-
export function normalizeBlock<S extends Slot>(block?: S, blocksRegistry?: BlocksRegistry): S {
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
|
-
const { mobile, ...result } = (block || {}) as BlockDef;
|
|
8
|
-
|
|
9
|
-
return mapSlot(filterBlocks(blocksRegistry))({ ...result }) as S;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const filterBlocks =
|
|
13
|
-
(blocksRegistry?: BlocksRegistry) =>
|
|
14
|
-
(blocks?: BlockDef[]): BlockDef[] =>
|
|
15
|
-
blocks
|
|
16
|
-
? blocks
|
|
17
|
-
?.filter(
|
|
18
|
-
(block) => blocksRegistry && (block?.type || '') in blocksRegistry && !block?.hidden,
|
|
19
|
-
)
|
|
20
|
-
.map((block) => normalizeBlock(block, blocksRegistry))
|
|
21
|
-
: [];
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
|
-
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
-
import { normalizeBlock } from './normalizeBlock';
|
|
4
|
-
|
|
5
|
-
export const normalizePage =
|
|
6
|
-
(blocksRegistry: BlocksRegistry) =>
|
|
7
|
-
(contentPage: ContentPageDef | undefined | null): ContentPageDef =>
|
|
8
|
-
contentPage ? normalizeBlock(contentPage, blocksRegistry) : {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type BlockDef } from '../../model/ContentPageDef';
|
|
2
|
-
|
|
3
|
-
export function toMobileBlock(block: BlockDef = {}): BlockDef {
|
|
4
|
-
const { mobile, ...desktop } = block;
|
|
5
|
-
|
|
6
|
-
return {
|
|
7
|
-
...desktop,
|
|
8
|
-
...(mobile?.style ? { style: mobile.style } : {}),
|
|
9
|
-
...(mobile?.content ? { content: mobile.content } : {}),
|
|
10
|
-
};
|
|
11
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import { glob } from 'glob';
|
|
3
|
-
import util from 'util';
|
|
4
|
-
import { type ContentPageDef } from '../model/ContentPageDef';
|
|
5
|
-
import { type TransformationOptions } from './TransformationOptions';
|
|
6
|
-
import { generatedPagePath, transformContentPage } from './transformContentPage';
|
|
7
|
-
|
|
8
|
-
const readFile = util.promisify(fs.readFile);
|
|
9
|
-
|
|
10
|
-
export class ContentPageRepository {
|
|
11
|
-
public static readonly inst = new ContentPageRepository();
|
|
12
|
-
|
|
13
|
-
constructor(
|
|
14
|
-
private readonly options: TransformationOptions = {
|
|
15
|
-
contentDir: 'content',
|
|
16
|
-
publicDir: 'public',
|
|
17
|
-
},
|
|
18
|
-
) {}
|
|
19
|
-
|
|
20
|
-
listAllContentPages(): Promise<string[]> {
|
|
21
|
-
return glob(`${this.options.contentDir}/**/*.page.json`, { posix: true });
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async readPage(filePath: string): Promise<ContentPageDef> {
|
|
25
|
-
return JSON.parse(await readFile(generatedPagePath(filePath), 'utf-8'));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
generatePage(filePath: string): Promise<ContentPageDef> {
|
|
29
|
-
return transformContentPage(filePath, this.options);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isJSONArray,
|
|
3
|
-
isJSONRecord,
|
|
4
|
-
JSONBoxDefault,
|
|
5
|
-
type JSONBox,
|
|
6
|
-
type JSONNode,
|
|
7
|
-
type JSONRecord,
|
|
8
|
-
} from '@redneckz/json-op';
|
|
9
|
-
import { type JSONPathElement } from '@redneckz/json-op/lib/JSONPath';
|
|
10
|
-
|
|
11
|
-
const isAtomicArray = (node: JSONNode | undefined): boolean =>
|
|
12
|
-
isJSONArray(node) && !node.some(nodeId);
|
|
13
|
-
|
|
14
|
-
const ID_PREFIX = 'id:';
|
|
15
|
-
|
|
16
|
-
const nodeId = (node: JSONNode | undefined): string | undefined =>
|
|
17
|
-
isJSONRecord(node) && '__id' in node ? (node.__id as string) : undefined;
|
|
18
|
-
|
|
19
|
-
const keyToId = (p: JSONPathElement | undefined): string | undefined =>
|
|
20
|
-
typeof p === 'string' && p.startsWith(ID_PREFIX) ? p.substring(ID_PREFIX.length) : undefined;
|
|
21
|
-
|
|
22
|
-
const findIndexById = (_: JSONNode | undefined, id: string | undefined): number | -1 =>
|
|
23
|
-
id && isJSONArray(_) ? _.findIndex((node) => id === nodeId(node)) : -1;
|
|
24
|
-
|
|
25
|
-
export class JSONDocContentBox extends JSONBoxDefault {
|
|
26
|
-
size(): number {
|
|
27
|
-
return isAtomicArray(this._) ? 0 : super.size();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
entries(): Array<[p: JSONPathElement, child: JSONBox]> {
|
|
31
|
-
if (isAtomicArray(this._)) {
|
|
32
|
-
return [];
|
|
33
|
-
} else if (isJSONArray(this._)) {
|
|
34
|
-
return this._.map((node, i) => [
|
|
35
|
-
nodeId(node) ? `${ID_PREFIX}${nodeId(node)}` : i,
|
|
36
|
-
new JSONDocContentBox(node),
|
|
37
|
-
]);
|
|
38
|
-
} else {
|
|
39
|
-
return super.entries();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
get(p?: JSONPathElement): JSONBox {
|
|
44
|
-
const id = keyToId(p);
|
|
45
|
-
|
|
46
|
-
return super.get(id ? findIndexById(this._, id) : p);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
set(p: JSONPathElement | undefined, child: JSONNode): JSONBox {
|
|
50
|
-
const id = keyToId(p);
|
|
51
|
-
const index = findIndexById(this._, id);
|
|
52
|
-
const adjustedIndex = index >= 0 ? index : this.size();
|
|
53
|
-
|
|
54
|
-
return super.set(id ? adjustedIndex : p, id ? { ...(child as JSONRecord), __id: id } : child);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { type ImgSource } from '../model/Picture';
|
|
3
|
-
import { type TransformationOptions } from './TransformationOptions';
|
|
4
|
-
|
|
5
|
-
export function computeImgOutputPath(
|
|
6
|
-
imgInputPath: string,
|
|
7
|
-
{ contentDir, publicDir, format, size }: TransformationOptions & ImgSource,
|
|
8
|
-
withoutTransform = false,
|
|
9
|
-
): string {
|
|
10
|
-
const imgRelativePath = path.relative(contentDir, imgInputPath);
|
|
11
|
-
|
|
12
|
-
const imgDir = path.dirname(imgRelativePath);
|
|
13
|
-
|
|
14
|
-
const inputExt = path.extname(imgRelativePath);
|
|
15
|
-
const fileName = path.basename(imgRelativePath, inputExt);
|
|
16
|
-
const suffixParts = [size?.width, size?.height].filter(Boolean);
|
|
17
|
-
const suffix = suffixParts.length && !withoutTransform ? `-${suffixParts.join('-')}` : '';
|
|
18
|
-
const ext = format && !withoutTransform ? `.${format}` : inputExt;
|
|
19
|
-
|
|
20
|
-
return path.join(publicDir, imgDir, `${fileName}${suffix}${ext}`);
|
|
21
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const OUTPUT_SUFFIX = '.static';
|
|
2
|
-
|
|
3
|
-
export const DOCUMENT_EXT_LIST = [
|
|
4
|
-
'.txt',
|
|
5
|
-
'.doc',
|
|
6
|
-
'.docx',
|
|
7
|
-
'.xls',
|
|
8
|
-
'.xlsx',
|
|
9
|
-
'.xlsb',
|
|
10
|
-
'.ppt',
|
|
11
|
-
'.pptx',
|
|
12
|
-
'.pdf',
|
|
13
|
-
'.zip',
|
|
14
|
-
'.7z',
|
|
15
|
-
];
|
|
16
|
-
|
|
17
|
-
export const IMAGE_EXT_LIST = ['.jpeg', '.jpg', '.png', '.gif', '.webp', '.heif', '.avif', '.svg'];
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export async function mapJSON<T>(
|
|
2
|
-
data: T,
|
|
3
|
-
mapper: <In, Out = In>(value: In, key: string[]) => Promise<Out>,
|
|
4
|
-
keyParts: string[] = [],
|
|
5
|
-
): Promise<T> {
|
|
6
|
-
if (data === null || data === undefined) {
|
|
7
|
-
return data;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const mappedData = await mapper(data, keyParts);
|
|
11
|
-
if (mappedData !== data) {
|
|
12
|
-
return mappedData as T;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (Array.isArray(data)) {
|
|
16
|
-
const values = data.map((_, i) => mapJSON(_, mapper, [String(i)].concat(keyParts)));
|
|
17
|
-
|
|
18
|
-
return Promise.all(values) as any;
|
|
19
|
-
} else if (typeof data === 'object' && (data as any).toString() === '[object Object]') {
|
|
20
|
-
const subKeys = Object.keys(data);
|
|
21
|
-
const values = subKeys.map((k) => mapJSON(data[k], mapper, [k].concat(keyParts)));
|
|
22
|
-
const pairs = (await Promise.all(values)).map((_, i) => ({
|
|
23
|
-
[subKeys[i]]: _,
|
|
24
|
-
}));
|
|
25
|
-
|
|
26
|
-
return Object.assign({}, ...pairs);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return mapper<T>(data, keyParts);
|
|
30
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { leafs, merge, type JSONRecord } from '@redneckz/json-op';
|
|
2
|
-
import { JSONDocContentBox } from './JSONDocContentBox';
|
|
3
|
-
|
|
4
|
-
export const mergePages = (page: JSONRecord, diffs: JSONRecord): JSONRecord =>
|
|
5
|
-
merge(
|
|
6
|
-
new JSONDocContentBox(page as JSONRecord),
|
|
7
|
-
leafs(new JSONDocContentBox(diffs as JSONRecord)),
|
|
8
|
-
) as JSONRecord;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import sharp, { type ResizeOptions, type Sharp } from 'sharp';
|
|
2
|
-
import { type ImageSize } from '../model/ImageSize';
|
|
3
|
-
|
|
4
|
-
export const resizeImg =
|
|
5
|
-
(size?: Partial<ImageSize>, options?: ResizeOptions) =>
|
|
6
|
-
(chain: Sharp): Sharp =>
|
|
7
|
-
size
|
|
8
|
-
? chain.resize(size.width || null, size.height || null, {
|
|
9
|
-
/*
|
|
10
|
-
* Editor behaviour with one dimension present: resize by given dimension maintaining aspect ratio. (fit: contain)
|
|
11
|
-
* With two dimensions present: resize trying to fill given dimensions (fit: fill)
|
|
12
|
-
*/
|
|
13
|
-
fit: size.width && size.height ? sharp.fit.fill : sharp.fit.contain,
|
|
14
|
-
background: { r: 0, g: 0, b: 0, alpha: 0 },
|
|
15
|
-
...options,
|
|
16
|
-
})
|
|
17
|
-
: chain;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import util from 'util';
|
|
4
|
-
import { type LinkProps } from '../model/LinkProps';
|
|
5
|
-
import { isUUID } from '../utils/isUUID';
|
|
6
|
-
import { clearAttachmentHref } from './clearAttachmentHref';
|
|
7
|
-
import { type TransformationOptions } from './TransformationOptions';
|
|
8
|
-
|
|
9
|
-
const mkdir = util.promisify(fs.mkdir);
|
|
10
|
-
const copyFile = util.promisify(fs.copyFile);
|
|
11
|
-
|
|
12
|
-
export async function transformAttachmentLink(
|
|
13
|
-
link: LinkProps,
|
|
14
|
-
pagePath: string,
|
|
15
|
-
options: TransformationOptions,
|
|
16
|
-
): Promise<LinkProps> {
|
|
17
|
-
if (!link?.href) {
|
|
18
|
-
return link;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
return {
|
|
23
|
-
...link,
|
|
24
|
-
href: await transformHref(clearAttachmentHref(link.href), options),
|
|
25
|
-
};
|
|
26
|
-
} catch (e) {
|
|
27
|
-
console.info(`No "${link.href}" attachment found on page: "${pagePath}"`);
|
|
28
|
-
|
|
29
|
-
return link;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async function transformHref(input: string, options: TransformationOptions) {
|
|
34
|
-
if (isUUID(input)) {
|
|
35
|
-
return input;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const { contentDir, publicDir } = options;
|
|
39
|
-
const docRelativePath = path.relative(contentDir, input);
|
|
40
|
-
const output = path.join(publicDir, docRelativePath);
|
|
41
|
-
|
|
42
|
-
await mkdir(path.dirname(output), { recursive: true });
|
|
43
|
-
await copyFile(input, output);
|
|
44
|
-
|
|
45
|
-
return path.join('/', docRelativePath);
|
|
46
|
-
}
|