@endora-commerce/cms-components 0.100.0
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 +59 -0
- package/dist/cms-components.css +2 -0
- package/dist/components/Accordion.d.ts +43 -0
- package/dist/components/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion.js +81 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/AnnouncementBar.d.ts +43 -0
- package/dist/components/AnnouncementBar.d.ts.map +1 -0
- package/dist/components/AnnouncementBar.js +27 -0
- package/dist/components/AnnouncementBar.js.map +1 -0
- package/dist/components/Button.d.ts +43 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +122 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/CategoryGrid.d.ts +43 -0
- package/dist/components/CategoryGrid.d.ts.map +1 -0
- package/dist/components/CategoryGrid.js +117 -0
- package/dist/components/CategoryGrid.js.map +1 -0
- package/dist/components/CategoryList.d.ts +43 -0
- package/dist/components/CategoryList.d.ts.map +1 -0
- package/dist/components/CategoryList.js +96 -0
- package/dist/components/CategoryList.js.map +1 -0
- package/dist/components/CmsPageContainer.d.ts +12 -0
- package/dist/components/CmsPageContainer.d.ts.map +1 -0
- package/dist/components/CmsPageContainer.js +19 -0
- package/dist/components/CmsPageContainer.js.map +1 -0
- package/dist/components/CmsProductCard.d.ts +35 -0
- package/dist/components/CmsProductCard.d.ts.map +1 -0
- package/dist/components/CmsProductCard.js +101 -0
- package/dist/components/CmsProductCard.js.map +1 -0
- package/dist/components/Column.d.ts +50 -0
- package/dist/components/Column.d.ts.map +1 -0
- package/dist/components/Column.js +127 -0
- package/dist/components/Column.js.map +1 -0
- package/dist/components/ContactFormEmbed.d.ts +43 -0
- package/dist/components/ContactFormEmbed.d.ts.map +1 -0
- package/dist/components/ContactFormEmbed.js +37 -0
- package/dist/components/ContactFormEmbed.js.map +1 -0
- package/dist/components/ContentSlider.d.ts +43 -0
- package/dist/components/ContentSlider.d.ts.map +1 -0
- package/dist/components/ContentSlider.js +96 -0
- package/dist/components/ContentSlider.js.map +1 -0
- package/dist/components/FeatureList.d.ts +43 -0
- package/dist/components/FeatureList.d.ts.map +1 -0
- package/dist/components/FeatureList.js +89 -0
- package/dist/components/FeatureList.js.map +1 -0
- package/dist/components/Heading.d.ts +43 -0
- package/dist/components/Heading.d.ts.map +1 -0
- package/dist/components/Heading.js +116 -0
- package/dist/components/Heading.js.map +1 -0
- package/dist/components/Hero.d.ts +43 -0
- package/dist/components/Hero.d.ts.map +1 -0
- package/dist/components/Hero.js +186 -0
- package/dist/components/Hero.js.map +1 -0
- package/dist/components/IconPickerField.d.ts +3 -0
- package/dist/components/IconPickerField.d.ts.map +1 -0
- package/dist/components/IconPickerField.js +30 -0
- package/dist/components/IconPickerField.js.map +1 -0
- package/dist/components/Icons.d.ts +43 -0
- package/dist/components/Icons.d.ts.map +1 -0
- package/dist/components/Icons.js +62 -0
- package/dist/components/Icons.js.map +1 -0
- package/dist/components/Image.d.ts +43 -0
- package/dist/components/Image.d.ts.map +1 -0
- package/dist/components/Image.js +179 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/ImageSlider.d.ts +44 -0
- package/dist/components/ImageSlider.d.ts.map +1 -0
- package/dist/components/ImageSlider.js +186 -0
- package/dist/components/ImageSlider.js.map +1 -0
- package/dist/components/InsertBlock.d.ts +4 -0
- package/dist/components/InsertBlock.d.ts.map +1 -0
- package/dist/components/InsertBlock.js +30 -0
- package/dist/components/InsertBlock.js.map +1 -0
- package/dist/components/InsertTemplate.d.ts +4 -0
- package/dist/components/InsertTemplate.d.ts.map +1 -0
- package/dist/components/InsertTemplate.js +30 -0
- package/dist/components/InsertTemplate.js.map +1 -0
- package/dist/components/LogoStrip.d.ts +43 -0
- package/dist/components/LogoStrip.d.ts.map +1 -0
- package/dist/components/LogoStrip.js +155 -0
- package/dist/components/LogoStrip.js.map +1 -0
- package/dist/components/Map.d.ts +43 -0
- package/dist/components/Map.d.ts.map +1 -0
- package/dist/components/Map.js +165 -0
- package/dist/components/Map.js.map +1 -0
- package/dist/components/MissingComponentPlaceholder.d.ts +27 -0
- package/dist/components/MissingComponentPlaceholder.d.ts.map +1 -0
- package/dist/components/MissingComponentPlaceholder.js +24 -0
- package/dist/components/MissingComponentPlaceholder.js.map +1 -0
- package/dist/components/NewsletterSignup.d.ts +43 -0
- package/dist/components/NewsletterSignup.d.ts.map +1 -0
- package/dist/components/NewsletterSignup.js +43 -0
- package/dist/components/NewsletterSignup.js.map +1 -0
- package/dist/components/ProductCard.d.ts +43 -0
- package/dist/components/ProductCard.d.ts.map +1 -0
- package/dist/components/ProductCard.js +96 -0
- package/dist/components/ProductCard.js.map +1 -0
- package/dist/components/ProductGrid.d.ts +43 -0
- package/dist/components/ProductGrid.d.ts.map +1 -0
- package/dist/components/ProductGrid.js +138 -0
- package/dist/components/ProductGrid.js.map +1 -0
- package/dist/components/ProductSlider.d.ts +43 -0
- package/dist/components/ProductSlider.d.ts.map +1 -0
- package/dist/components/ProductSlider.js +134 -0
- package/dist/components/ProductSlider.js.map +1 -0
- package/dist/components/RawHtml.d.ts +43 -0
- package/dist/components/RawHtml.d.ts.map +1 -0
- package/dist/components/RawHtml.js +38 -0
- package/dist/components/RawHtml.js.map +1 -0
- package/dist/components/RawJs.d.ts +43 -0
- package/dist/components/RawJs.d.ts.map +1 -0
- package/dist/components/RawJs.js +53 -0
- package/dist/components/RawJs.js.map +1 -0
- package/dist/components/RichContent.d.ts +4 -0
- package/dist/components/RichContent.d.ts.map +1 -0
- package/dist/components/RichContent.js +48 -0
- package/dist/components/RichContent.js.map +1 -0
- package/dist/components/RichContentEditorField.d.ts +10 -0
- package/dist/components/RichContentEditorField.d.ts.map +1 -0
- package/dist/components/RichContentEditorField.js +130 -0
- package/dist/components/RichContentEditorField.js.map +1 -0
- package/dist/components/RichContentPublished.d.ts +5 -0
- package/dist/components/RichContentPublished.d.ts.map +1 -0
- package/dist/components/RichContentPublished.js +22 -0
- package/dist/components/RichContentPublished.js.map +1 -0
- package/dist/components/Row.d.ts +43 -0
- package/dist/components/Row.d.ts.map +1 -0
- package/dist/components/Row.js +305 -0
- package/dist/components/Row.js.map +1 -0
- package/dist/components/SimpleTable.d.ts +43 -0
- package/dist/components/SimpleTable.d.ts.map +1 -0
- package/dist/components/SimpleTable.js +155 -0
- package/dist/components/SimpleTable.js.map +1 -0
- package/dist/components/Slide.d.ts +44 -0
- package/dist/components/Slide.d.ts.map +1 -0
- package/dist/components/Slide.js +36 -0
- package/dist/components/Slide.js.map +1 -0
- package/dist/components/Social.d.ts +43 -0
- package/dist/components/Social.d.ts.map +1 -0
- package/dist/components/Social.js +110 -0
- package/dist/components/Social.js.map +1 -0
- package/dist/components/Spacer.d.ts +43 -0
- package/dist/components/Spacer.d.ts.map +1 -0
- package/dist/components/Spacer.js +48 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Stats.d.ts +43 -0
- package/dist/components/Stats.d.ts.map +1 -0
- package/dist/components/Stats.js +71 -0
- package/dist/components/Stats.js.map +1 -0
- package/dist/components/Tabs.d.ts +43 -0
- package/dist/components/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs.js +70 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Testimonial.d.ts +43 -0
- package/dist/components/Testimonial.d.ts.map +1 -0
- package/dist/components/Testimonial.js +74 -0
- package/dist/components/Testimonial.js.map +1 -0
- package/dist/components/Text.d.ts +43 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +87 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Video.d.ts +43 -0
- package/dist/components/Video.d.ts.map +1 -0
- package/dist/components/Video.js +98 -0
- package/dist/components/Video.js.map +1 -0
- package/dist/components/box-styles.d.ts +19 -0
- package/dist/components/box-styles.d.ts.map +1 -0
- package/dist/components/box-styles.js +66 -0
- package/dist/components/box-styles.js.map +1 -0
- package/dist/components/button-link.d.ts +7 -0
- package/dist/components/button-link.d.ts.map +1 -0
- package/dist/components/button-link.js +15 -0
- package/dist/components/button-link.js.map +1 -0
- package/dist/components/carousel/CarouselShell.d.ts +27 -0
- package/dist/components/carousel/CarouselShell.d.ts.map +1 -0
- package/dist/components/carousel/CarouselShell.js +210 -0
- package/dist/components/carousel/CarouselShell.js.map +1 -0
- package/dist/components/catalog/CatalogSkeletons.d.ts +27 -0
- package/dist/components/catalog/CatalogSkeletons.d.ts.map +1 -0
- package/dist/components/catalog/CatalogSkeletons.js +38 -0
- package/dist/components/catalog/CatalogSkeletons.js.map +1 -0
- package/dist/components/catalog-preview-context.d.ts +9 -0
- package/dist/components/catalog-preview-context.d.ts.map +1 -0
- package/dist/components/catalog-preview-context.js +18 -0
- package/dist/components/catalog-preview-context.js.map +1 -0
- package/dist/components/icon-catalog.d.ts +139 -0
- package/dist/components/icon-catalog.d.ts.map +1 -0
- package/dist/components/icon-catalog.js +148 -0
- package/dist/components/icon-catalog.js.map +1 -0
- package/dist/components/image-fields.d.ts +6 -0
- package/dist/components/image-fields.d.ts.map +1 -0
- package/dist/components/image-fields.js +11 -0
- package/dist/components/image-fields.js.map +1 -0
- package/dist/components/image-slider-item.d.ts +7 -0
- package/dist/components/image-slider-item.d.ts.map +1 -0
- package/dist/components/image-slider-item.js +45 -0
- package/dist/components/image-slider-item.js.map +1 -0
- package/dist/components/render-context.d.ts +29 -0
- package/dist/components/render-context.d.ts.map +1 -0
- package/dist/components/render-context.js +21 -0
- package/dist/components/render-context.js.map +1 -0
- package/dist/components/rich-content-shared.d.ts +11 -0
- package/dist/components/rich-content-shared.d.ts.map +1 -0
- package/dist/components/rich-content-shared.js +132 -0
- package/dist/components/rich-content-shared.js.map +1 -0
- package/dist/components/social-networks.d.ts +10 -0
- package/dist/components/social-networks.d.ts.map +1 -0
- package/dist/components/social-networks.js +43 -0
- package/dist/components/social-networks.js.map +1 -0
- package/dist/components/styles.d.ts +2 -0
- package/dist/components/styles.d.ts.map +1 -0
- package/dist/components/styles.js +9 -0
- package/dist/components/styles.js.map +1 -0
- package/dist/components/text-content.d.ts +13 -0
- package/dist/components/text-content.d.ts.map +1 -0
- package/dist/components/text-content.js +64 -0
- package/dist/components/text-content.js.map +1 -0
- package/dist/components/typography.d.ts +26 -0
- package/dist/components/typography.d.ts.map +1 -0
- package/dist/components/typography.js +52 -0
- package/dist/components/typography.js.map +1 -0
- package/dist/editor/row-layout-presets.d.ts +34 -0
- package/dist/editor/row-layout-presets.d.ts.map +1 -0
- package/dist/editor/row-layout-presets.js +175 -0
- package/dist/editor/row-layout-presets.js.map +1 -0
- package/dist/editor/slot-edit-props.d.ts +16 -0
- package/dist/editor/slot-edit-props.d.ts.map +1 -0
- package/dist/editor/slot-edit-props.js +25 -0
- package/dist/editor/slot-edit-props.js.map +1 -0
- package/dist/fields/catalog-data-fields.d.ts +7 -0
- package/dist/fields/catalog-data-fields.d.ts.map +1 -0
- package/dist/fields/catalog-data-fields.js +4 -0
- package/dist/fields/catalog-data-fields.js.map +1 -0
- package/dist/fields/catalog-fallback-fields.d.ts +4 -0
- package/dist/fields/catalog-fallback-fields.d.ts.map +1 -0
- package/dist/fields/catalog-fallback-fields.js +34 -0
- package/dist/fields/catalog-fallback-fields.js.map +1 -0
- package/dist/fields/catalog-resolve-fields.d.ts +5 -0
- package/dist/fields/catalog-resolve-fields.d.ts.map +1 -0
- package/dist/fields/catalog-resolve-fields.js +40 -0
- package/dist/fields/catalog-resolve-fields.js.map +1 -0
- package/dist/fields/shared-fields.d.ts +176 -0
- package/dist/fields/shared-fields.d.ts.map +1 -0
- package/dist/fields/shared-fields.js +142 -0
- package/dist/fields/shared-fields.js.map +1 -0
- package/dist/hooks/use-viewport-breakpoint-tier.d.ts +4 -0
- package/dist/hooks/use-viewport-breakpoint-tier.d.ts.map +1 -0
- package/dist/hooks/use-viewport-breakpoint-tier.js +21 -0
- package/dist/hooks/use-viewport-breakpoint-tier.js.map +1 -0
- package/dist/index.d.ts +127 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +377 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/catalog-types.d.ts +22 -0
- package/dist/schema/catalog-types.d.ts.map +1 -0
- package/dist/schema/catalog-types.js +2 -0
- package/dist/schema/catalog-types.js.map +1 -0
- package/dist/schema/component-types.d.ts +419 -0
- package/dist/schema/component-types.d.ts.map +1 -0
- package/dist/schema/component-types.js +2 -0
- package/dist/schema/component-types.js.map +1 -0
- package/dist/schema/envelope.d.ts +21 -0
- package/dist/schema/envelope.d.ts.map +1 -0
- package/dist/schema/envelope.js +19 -0
- package/dist/schema/envelope.js.map +1 -0
- package/dist/utils/catalog-fetch.d.ts +29 -0
- package/dist/utils/catalog-fetch.d.ts.map +1 -0
- package/dist/utils/catalog-fetch.js +88 -0
- package/dist/utils/catalog-fetch.js.map +1 -0
- package/dist/utils/catalog-load.d.ts +4 -0
- package/dist/utils/catalog-load.d.ts.map +1 -0
- package/dist/utils/catalog-load.js +11 -0
- package/dist/utils/catalog-load.js.map +1 -0
- package/dist/utils/catalog-preview-bridge.d.ts +13 -0
- package/dist/utils/catalog-preview-bridge.d.ts.map +1 -0
- package/dist/utils/catalog-preview-bridge.js +8 -0
- package/dist/utils/catalog-preview-bridge.js.map +1 -0
- package/dist/utils/catalog-skeleton-estimate.d.ts +7 -0
- package/dist/utils/catalog-skeleton-estimate.d.ts.map +1 -0
- package/dist/utils/catalog-skeleton-estimate.js +42 -0
- package/dist/utils/catalog-skeleton-estimate.js.map +1 -0
- package/dist/utils/resolve-image-url.d.ts +20 -0
- package/dist/utils/resolve-image-url.d.ts.map +1 -0
- package/dist/utils/resolve-image-url.js +24 -0
- package/dist/utils/resolve-image-url.js.map +1 -0
- package/dist/utils/sanitize-html.d.ts +6 -0
- package/dist/utils/sanitize-html.d.ts.map +1 -0
- package/dist/utils/sanitize-html.js +81 -0
- package/dist/utils/sanitize-html.js.map +1 -0
- package/dist/utils/video-embed.d.ts +11 -0
- package/dist/utils/video-embed.d.ts.map +1 -0
- package/dist/utils/video-embed.js +61 -0
- package/dist/utils/video-embed.js.map +1 -0
- package/dist/utils/walk-asset-ids.d.ts +3 -0
- package/dist/utils/walk-asset-ids.d.ts.map +1 -0
- package/dist/utils/walk-asset-ids.js +23 -0
- package/dist/utils/walk-asset-ids.js.map +1 -0
- package/package.json +117 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
// @endora-commerce/cms-components — shared Page Builder components for the CMS module
|
|
2
|
+
// (feature 014).
|
|
3
|
+
import { definePageBuilderComponent, ownerOf, withHideOn } from '@endora-commerce/page-builder-core';
|
|
4
|
+
import { Accordion } from './components/Accordion.js';
|
|
5
|
+
import { AnnouncementBar } from './components/AnnouncementBar.js';
|
|
6
|
+
import { Button } from './components/Button.js';
|
|
7
|
+
import { CategoryGrid } from './components/CategoryGrid.js';
|
|
8
|
+
import { CategoryList } from './components/CategoryList.js';
|
|
9
|
+
import { Column } from './components/Column.js';
|
|
10
|
+
import { ContactFormEmbed } from './components/ContactFormEmbed.js';
|
|
11
|
+
import { ContentSlider } from './components/ContentSlider.js';
|
|
12
|
+
import { FeatureList } from './components/FeatureList.js';
|
|
13
|
+
import { Heading } from './components/Heading.js';
|
|
14
|
+
import { Hero } from './components/Hero.js';
|
|
15
|
+
import { Icons } from './components/Icons.js';
|
|
16
|
+
import { Image } from './components/Image.js';
|
|
17
|
+
import { ImageSlider } from './components/ImageSlider.js';
|
|
18
|
+
import { InsertBlock } from './components/InsertBlock.js';
|
|
19
|
+
import { InsertTemplate } from './components/InsertTemplate.js';
|
|
20
|
+
import { LogoStrip } from './components/LogoStrip.js';
|
|
21
|
+
import { Map } from './components/Map.js';
|
|
22
|
+
import { MissingComponentPlaceholder } from './components/MissingComponentPlaceholder.js';
|
|
23
|
+
import { NewsletterSignup } from './components/NewsletterSignup.js';
|
|
24
|
+
import { ProductCard } from './components/ProductCard.js';
|
|
25
|
+
import { ProductGrid } from './components/ProductGrid.js';
|
|
26
|
+
import { ProductSlider } from './components/ProductSlider.js';
|
|
27
|
+
import { RawHtml } from './components/RawHtml.js';
|
|
28
|
+
import { RawJs } from './components/RawJs.js';
|
|
29
|
+
import { RichContent } from './components/RichContent.js';
|
|
30
|
+
import { Row } from './components/Row.js';
|
|
31
|
+
import { SimpleTable } from './components/SimpleTable.js';
|
|
32
|
+
import { Slide } from './components/Slide.js';
|
|
33
|
+
import { Social } from './components/Social.js';
|
|
34
|
+
import { Spacer } from './components/Spacer.js';
|
|
35
|
+
import { Stats } from './components/Stats.js';
|
|
36
|
+
import { Tabs } from './components/Tabs.js';
|
|
37
|
+
import { Testimonial } from './components/Testimonial.js';
|
|
38
|
+
import { Text } from './components/Text.js';
|
|
39
|
+
import { Video } from './components/Video.js';
|
|
40
|
+
export * from './components/Accordion.js';
|
|
41
|
+
export * from './components/AnnouncementBar.js';
|
|
42
|
+
export * from './components/Button.js';
|
|
43
|
+
export * from './components/CategoryGrid.js';
|
|
44
|
+
export * from './components/CategoryList.js';
|
|
45
|
+
export * from './components/Column.js';
|
|
46
|
+
export * from './components/ContactFormEmbed.js';
|
|
47
|
+
export * from './components/ContentSlider.js';
|
|
48
|
+
export * from './components/FeatureList.js';
|
|
49
|
+
export * from './components/Heading.js';
|
|
50
|
+
export * from './components/Hero.js';
|
|
51
|
+
export * from './components/Icons.js';
|
|
52
|
+
export * from './components/icon-catalog.js';
|
|
53
|
+
export * from './components/IconPickerField.js';
|
|
54
|
+
export * from './components/Image.js';
|
|
55
|
+
export * from './components/ImageSlider.js';
|
|
56
|
+
export * from './components/InsertBlock.js';
|
|
57
|
+
export * from './components/InsertTemplate.js';
|
|
58
|
+
export * from './components/LogoStrip.js';
|
|
59
|
+
export * from './components/Map.js';
|
|
60
|
+
export * from './components/MissingComponentPlaceholder.js';
|
|
61
|
+
export * from './components/NewsletterSignup.js';
|
|
62
|
+
export * from './components/ProductCard.js';
|
|
63
|
+
export * from './components/ProductGrid.js';
|
|
64
|
+
export * from './components/ProductSlider.js';
|
|
65
|
+
export * from './components/RawHtml.js';
|
|
66
|
+
export * from './components/RawJs.js';
|
|
67
|
+
export * from './components/RichContent.js';
|
|
68
|
+
export { RichContentEditorField } from './components/RichContentEditorField.js';
|
|
69
|
+
export { coerceRichContentProps, defaultRichContent, htmlFromTiptap, richContentExtensions, sanitizeRichHtml, } from './components/rich-content-shared.js';
|
|
70
|
+
export * from './components/Row.js';
|
|
71
|
+
export * from './components/SimpleTable.js';
|
|
72
|
+
export * from './components/Slide.js';
|
|
73
|
+
export * from './components/Social.js';
|
|
74
|
+
export * from './components/social-networks.js';
|
|
75
|
+
export * from './components/Spacer.js';
|
|
76
|
+
export * from './components/Stats.js';
|
|
77
|
+
export * from './components/Tabs.js';
|
|
78
|
+
export * from './components/Testimonial.js';
|
|
79
|
+
export * from './components/Text.js';
|
|
80
|
+
export * from './components/Video.js';
|
|
81
|
+
export * from './components/CmsPageContainer.js';
|
|
82
|
+
export * from './components/render-context.js';
|
|
83
|
+
export * from './components/catalog-preview-context.js';
|
|
84
|
+
export * from './components/box-styles.js';
|
|
85
|
+
export * from './schema/component-types.js';
|
|
86
|
+
export * from './schema/catalog-types.js';
|
|
87
|
+
export * from './utils/walk-asset-ids.js';
|
|
88
|
+
/**
|
|
89
|
+
* The CMS renderer map — **the React half only**, keyed by namespaced block name
|
|
90
|
+
* (feature 096, T301; `contracts/block-definition.md` §4.3).
|
|
91
|
+
*
|
|
92
|
+
* **The `categories` block is gone and nothing in this package replaces it.**
|
|
93
|
+
* A section is declared by the module whose blocks occupy it and is served,
|
|
94
|
+
* merged across the present modules, by
|
|
95
|
+
* `GET /api/v1/admin/cms/page-builder/config` — so a module contributing a
|
|
96
|
+
* block into a section no longer has to edit a map in a package it does not
|
|
97
|
+
* own, which is FR-009 and the shape feature 091 removed from the admin. The
|
|
98
|
+
* eight CMS sections it listed are `cms`' `blockCategories`, and the five
|
|
99
|
+
* Catalog entries are `catalog`'s.
|
|
100
|
+
*
|
|
101
|
+
* `defaultExpanded` went with it and no schema field replaces it (D-11).
|
|
102
|
+
* Measured on Puck `0.20.2`: `ComponentList` reads `{ expanded = true }`, so
|
|
103
|
+
* `defaultExpanded: true` — which is what all four sections wrote — is
|
|
104
|
+
* indistinguishable from omitting the field. Deleting it is behaviour-preserving.
|
|
105
|
+
*/
|
|
106
|
+
export const defaultPageBuilderConfig = {
|
|
107
|
+
components: {
|
|
108
|
+
'cms.Row': definePageBuilderComponent({
|
|
109
|
+
...Row,
|
|
110
|
+
contexts: ['cms'],
|
|
111
|
+
responsiveFields: [
|
|
112
|
+
'contentMaxWidth',
|
|
113
|
+
'customMaxWidthPx',
|
|
114
|
+
'contentPosition',
|
|
115
|
+
'minHeight',
|
|
116
|
+
'gap',
|
|
117
|
+
'rowGap',
|
|
118
|
+
'verticalAlign',
|
|
119
|
+
'margin',
|
|
120
|
+
'padding',
|
|
121
|
+
'border',
|
|
122
|
+
],
|
|
123
|
+
}),
|
|
124
|
+
'cms.Column': definePageBuilderComponent({
|
|
125
|
+
...Column,
|
|
126
|
+
contexts: ['cms'],
|
|
127
|
+
responsiveFields: ['span', 'margin', 'padding', 'border'],
|
|
128
|
+
}),
|
|
129
|
+
'cms.Text': definePageBuilderComponent({
|
|
130
|
+
...Text,
|
|
131
|
+
contexts: ['cms'],
|
|
132
|
+
responsiveFields: ['fontSize', 'fontWeight', 'textAlign', 'lineHeight', 'margin', 'padding', 'border'],
|
|
133
|
+
}),
|
|
134
|
+
'cms.RichContent': definePageBuilderComponent({
|
|
135
|
+
...withHideOn(RichContent),
|
|
136
|
+
contexts: ['cms'],
|
|
137
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
138
|
+
}),
|
|
139
|
+
'cms.Heading': definePageBuilderComponent({
|
|
140
|
+
...Heading,
|
|
141
|
+
contexts: ['cms'],
|
|
142
|
+
responsiveFields: ['fontSize', 'fontWeight', 'textAlign', 'lineHeight', 'margin', 'padding', 'border'],
|
|
143
|
+
}),
|
|
144
|
+
'cms.Button': definePageBuilderComponent({
|
|
145
|
+
...Button,
|
|
146
|
+
contexts: ['cms'],
|
|
147
|
+
responsiveFields: ['variant', 'margin', 'padding', 'border'],
|
|
148
|
+
}),
|
|
149
|
+
'cms.Image': definePageBuilderComponent({
|
|
150
|
+
...Image,
|
|
151
|
+
contexts: ['cms'],
|
|
152
|
+
responsiveFields: ['widthMode', 'widthPx', 'align', 'margin', 'padding', 'border'],
|
|
153
|
+
}),
|
|
154
|
+
'cms.Icons': definePageBuilderComponent({
|
|
155
|
+
...Icons,
|
|
156
|
+
contexts: ['cms'],
|
|
157
|
+
responsiveFields: ['align', 'margin', 'padding', 'border'],
|
|
158
|
+
}),
|
|
159
|
+
'cms.Social': definePageBuilderComponent({
|
|
160
|
+
...Social,
|
|
161
|
+
contexts: ['cms'],
|
|
162
|
+
responsiveFields: ['align', 'margin', 'padding', 'border'],
|
|
163
|
+
}),
|
|
164
|
+
'cms.Spacer': definePageBuilderComponent({
|
|
165
|
+
...Spacer,
|
|
166
|
+
contexts: ['cms'],
|
|
167
|
+
responsiveFields: ['heightPx'],
|
|
168
|
+
}),
|
|
169
|
+
'cms.FeatureList': definePageBuilderComponent({
|
|
170
|
+
...FeatureList,
|
|
171
|
+
contexts: ['cms'],
|
|
172
|
+
responsiveFields: ['columns', 'gap', 'margin', 'padding', 'border'],
|
|
173
|
+
}),
|
|
174
|
+
'cms.Hero': definePageBuilderComponent({
|
|
175
|
+
...Hero,
|
|
176
|
+
contexts: ['cms'],
|
|
177
|
+
responsiveFields: ['minHeightPx', 'margin', 'padding', 'border'],
|
|
178
|
+
}),
|
|
179
|
+
'cms.LogoStrip': definePageBuilderComponent({
|
|
180
|
+
...LogoStrip,
|
|
181
|
+
contexts: ['cms'],
|
|
182
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
183
|
+
}),
|
|
184
|
+
'cms.Testimonial': definePageBuilderComponent({
|
|
185
|
+
...Testimonial,
|
|
186
|
+
contexts: ['cms'],
|
|
187
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
188
|
+
}),
|
|
189
|
+
'cms.Stats': definePageBuilderComponent({
|
|
190
|
+
...Stats,
|
|
191
|
+
contexts: ['cms'],
|
|
192
|
+
responsiveFields: ['columns', 'margin', 'padding', 'border'],
|
|
193
|
+
}),
|
|
194
|
+
'cms.AnnouncementBar': definePageBuilderComponent({
|
|
195
|
+
...AnnouncementBar,
|
|
196
|
+
contexts: ['cms'],
|
|
197
|
+
}),
|
|
198
|
+
'cms.SimpleTable': definePageBuilderComponent({
|
|
199
|
+
...SimpleTable,
|
|
200
|
+
contexts: ['cms'],
|
|
201
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
202
|
+
}),
|
|
203
|
+
'cms.NewsletterSignup': definePageBuilderComponent({
|
|
204
|
+
...NewsletterSignup,
|
|
205
|
+
contexts: ['cms'],
|
|
206
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
207
|
+
}),
|
|
208
|
+
'cms.ContactFormEmbed': definePageBuilderComponent({
|
|
209
|
+
...ContactFormEmbed,
|
|
210
|
+
contexts: ['cms'],
|
|
211
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
212
|
+
}),
|
|
213
|
+
'cms.Video': definePageBuilderComponent({
|
|
214
|
+
...Video,
|
|
215
|
+
contexts: ['cms'],
|
|
216
|
+
responsiveFields: ['maxWidth', 'align', 'margin', 'padding', 'border'],
|
|
217
|
+
}),
|
|
218
|
+
'cms.Map': definePageBuilderComponent({
|
|
219
|
+
...Map,
|
|
220
|
+
contexts: ['cms'],
|
|
221
|
+
responsiveFields: ['height', 'margin', 'padding', 'border'],
|
|
222
|
+
}),
|
|
223
|
+
'catalog.ProductCard': definePageBuilderComponent({
|
|
224
|
+
...ProductCard,
|
|
225
|
+
contexts: ['cms'],
|
|
226
|
+
responsiveFields: ['maxWidthPx', 'imageHeightPx', 'margin', 'padding', 'border'],
|
|
227
|
+
}),
|
|
228
|
+
'catalog.ProductGrid': definePageBuilderComponent({
|
|
229
|
+
...ProductGrid,
|
|
230
|
+
contexts: ['cms'],
|
|
231
|
+
responsiveFields: ['columns', 'gap', 'view', 'margin', 'padding', 'border'],
|
|
232
|
+
}),
|
|
233
|
+
'catalog.ProductSlider': definePageBuilderComponent({
|
|
234
|
+
...ProductSlider,
|
|
235
|
+
contexts: ['cms'],
|
|
236
|
+
responsiveFields: ['slidesPerView', 'gap', 'margin', 'padding', 'border'],
|
|
237
|
+
}),
|
|
238
|
+
'catalog.CategoryList': definePageBuilderComponent({
|
|
239
|
+
...CategoryList,
|
|
240
|
+
contexts: ['cms'],
|
|
241
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
242
|
+
}),
|
|
243
|
+
'catalog.CategoryGrid': definePageBuilderComponent({
|
|
244
|
+
...CategoryGrid,
|
|
245
|
+
contexts: ['cms'],
|
|
246
|
+
responsiveFields: ['columns', 'gap', 'margin', 'padding', 'border'],
|
|
247
|
+
}),
|
|
248
|
+
'cms.ContentSlider': definePageBuilderComponent({
|
|
249
|
+
...ContentSlider,
|
|
250
|
+
contexts: ['cms'],
|
|
251
|
+
responsiveFields: ['slidesPerView', 'gap', 'margin', 'padding', 'border'],
|
|
252
|
+
}),
|
|
253
|
+
'cms.Slide': definePageBuilderComponent({
|
|
254
|
+
...Slide,
|
|
255
|
+
contexts: ['cms'],
|
|
256
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
257
|
+
}),
|
|
258
|
+
'cms.ImageSlider': definePageBuilderComponent({
|
|
259
|
+
...ImageSlider,
|
|
260
|
+
contexts: ['cms'],
|
|
261
|
+
responsiveFields: ['slidesPerView', 'gap', 'margin', 'padding', 'border'],
|
|
262
|
+
}),
|
|
263
|
+
'cms.Tabs': definePageBuilderComponent({
|
|
264
|
+
...Tabs,
|
|
265
|
+
contexts: ['cms'],
|
|
266
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
267
|
+
}),
|
|
268
|
+
'cms.Accordion': definePageBuilderComponent({
|
|
269
|
+
...Accordion,
|
|
270
|
+
contexts: ['cms'],
|
|
271
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
272
|
+
}),
|
|
273
|
+
'cms.RawHtml': definePageBuilderComponent({
|
|
274
|
+
...RawHtml,
|
|
275
|
+
contexts: ['cms'],
|
|
276
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
277
|
+
}),
|
|
278
|
+
'cms.RawJs': definePageBuilderComponent({
|
|
279
|
+
...RawJs,
|
|
280
|
+
contexts: ['cms'],
|
|
281
|
+
responsiveFields: ['margin', 'padding', 'border'],
|
|
282
|
+
}),
|
|
283
|
+
'cms.InsertBlock': definePageBuilderComponent({
|
|
284
|
+
...withHideOn(InsertBlock),
|
|
285
|
+
contexts: ['cms'],
|
|
286
|
+
}),
|
|
287
|
+
'cms.InsertTemplate': definePageBuilderComponent({
|
|
288
|
+
...withHideOn(InsertTemplate),
|
|
289
|
+
contexts: ['cms'],
|
|
290
|
+
}),
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
/**
|
|
294
|
+
* Builds a per-name placeholder ComponentConfig for a Page Builder
|
|
295
|
+
* component whose React renderer this bundle does not carry — because the
|
|
296
|
+
* descriptor declares a block no local renderer answers, because the owning
|
|
297
|
+
* module is switched off or not installed, or because the name is one the
|
|
298
|
+
* block-name migration did not recognise and left alone. FR-020 says those are
|
|
299
|
+
* one path, and this is it.
|
|
300
|
+
*
|
|
301
|
+
* `visible` is the surface's answer, not the placeholder's. On an editing
|
|
302
|
+
* surface an operator has to be told **why** a block vanished, so the
|
|
303
|
+
* placeholder renders its note; on a customer-facing one it renders an empty
|
|
304
|
+
* span, which is what `MissingComponentPlaceholder` decides for itself from the
|
|
305
|
+
* `?cms_admin=1` preview parameter when nothing says otherwise. Passing it
|
|
306
|
+
* explicitly is what makes the admin case work at all: nothing in this
|
|
307
|
+
* repository has ever set that query parameter, so every placeholder the editor
|
|
308
|
+
* merged before feature 096's T602 rendered as nothing — a block that has lost
|
|
309
|
+
* its module and a block that has been deleted looked identical on the canvas.
|
|
310
|
+
*/
|
|
311
|
+
export function makeMissingComponentConfig(componentName, ownerModule, options = {}) {
|
|
312
|
+
const forced = options.visible === true ? { isAdminPreview: true } : {};
|
|
313
|
+
return {
|
|
314
|
+
label: `${componentName} (missing renderer)`,
|
|
315
|
+
fields: MissingComponentPlaceholder.fields,
|
|
316
|
+
defaultProps: { componentName, ownerModule, ...forced },
|
|
317
|
+
render: (props) => MissingComponentPlaceholder.render({
|
|
318
|
+
componentName,
|
|
319
|
+
ownerModule,
|
|
320
|
+
...props,
|
|
321
|
+
...forced,
|
|
322
|
+
}),
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* The editor's degradation merge — feature 096, T602 (FR-019, FR-020).
|
|
327
|
+
*
|
|
328
|
+
* Give every one of `storedNames` that `config` cannot render a visible,
|
|
329
|
+
* data-preserving placeholder, and change nothing else.
|
|
330
|
+
*
|
|
331
|
+
* ## Why the stored document is a source of names at all
|
|
332
|
+
*
|
|
333
|
+
* The editor already merged a placeholder for a name the *descriptor* declares
|
|
334
|
+
* with no local renderer. That population does not contain the case
|
|
335
|
+
* Constitution XVII produces: a switched-off module's blocks are filtered out
|
|
336
|
+
* of the descriptor (FR-010), so after a deactivation the name on an operator's
|
|
337
|
+
* page is in neither the renderer map nor the descriptor and the merge saw it
|
|
338
|
+
* nowhere. The document is the one place it is still written down — which is
|
|
339
|
+
* the whole point of namespacing the persisted name in the first place.
|
|
340
|
+
*
|
|
341
|
+
* ## It takes names, not the document
|
|
342
|
+
*
|
|
343
|
+
* The caller walks the document with `countBlockNames`, which is the one
|
|
344
|
+
* structural walk this repository has. That is not ceremony: a React caller
|
|
345
|
+
* needs a **stable** memo key, and the set of names a document carries changes
|
|
346
|
+
* far less often than the document does — a keystroke inside a text block moves
|
|
347
|
+
* the document and not the names, and a merge keyed on the document would
|
|
348
|
+
* rebuild the whole Puck config on every one.
|
|
349
|
+
*
|
|
350
|
+
* ## What it deliberately does not do
|
|
351
|
+
*
|
|
352
|
+
* It adds **no category entry**. A degraded block must stay visible and
|
|
353
|
+
* editable where it already is; it is not a block anyone may insert, and the
|
|
354
|
+
* palette is the surface that answers the second question.
|
|
355
|
+
*
|
|
356
|
+
* It does not decide **presence**. Which names this config keys is the caller's
|
|
357
|
+
* answer, arrived at from the descriptor; this function only says what happens
|
|
358
|
+
* to a stored name that answer does not cover — which is why one unknown name
|
|
359
|
+
* behaves identically whatever made it unknown.
|
|
360
|
+
*/
|
|
361
|
+
export function withMissingBlockPlaceholders(config, storedNames) {
|
|
362
|
+
const components = (config.components ?? {});
|
|
363
|
+
const missing = [...new Set(storedNames)].filter((name) => !(name in components));
|
|
364
|
+
if (missing.length === 0)
|
|
365
|
+
return config;
|
|
366
|
+
const merged = { ...components };
|
|
367
|
+
for (const name of missing) {
|
|
368
|
+
// `ownerOf` answers `null` for a name that states no owner — an
|
|
369
|
+
// unrecognised one the migration left byte-identical. The placeholder then
|
|
370
|
+
// names the block and has no module to name, which is the one thing that
|
|
371
|
+
// differs between FR-020's three causes and is a property of the name
|
|
372
|
+
// rather than of the path it took.
|
|
373
|
+
merged[name] = makeMissingComponentConfig(name, ownerOf(name) ?? '', { visible: true });
|
|
374
|
+
}
|
|
375
|
+
return { ...config, components: merged };
|
|
376
|
+
}
|
|
377
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Minimal catalog shapes for CMS storefront fetch — avoids @endora-commerce/contracts in this package. */
|
|
2
|
+
export interface CmsProductSummary {
|
|
3
|
+
id: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
name: string;
|
|
6
|
+
sku: string;
|
|
7
|
+
primaryAssetUrl: string | null;
|
|
8
|
+
price: {
|
|
9
|
+
amount: number;
|
|
10
|
+
currency: string;
|
|
11
|
+
} | null;
|
|
12
|
+
stockLevel: number | null;
|
|
13
|
+
}
|
|
14
|
+
export interface CmsCategoryNode {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
slug: string;
|
|
18
|
+
sortOrder: number;
|
|
19
|
+
productCount: number;
|
|
20
|
+
children: CmsCategoryNode[];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=catalog-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/schema/catalog-types.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-types.js","sourceRoot":"","sources":["../../src/schema/catalog-types.ts"],"names":[],"mappings":""}
|