@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
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import {} from '@measured/puck';
|
|
4
|
+
import { buildResponsiveSpanVars, hideOnDataAttrs, PB_RESPONSIVE_METADATA, RESPONSIVE_HIDE_ON_CLASS, resolveColumnSpan, } from '@endora-commerce/page-builder-core';
|
|
5
|
+
import { createHideOnField } from '@endora-commerce/page-builder-core/fields/hide-on-field';
|
|
6
|
+
import { getZoneParentComponentType } from '@endora-commerce/page-builder-core/editor/puck-guards';
|
|
7
|
+
import { usePreviewBreakpointTier } from '@endora-commerce/page-builder-core/client';
|
|
8
|
+
import { BoxStyled } from './box-styles.js';
|
|
9
|
+
import { BACKGROUND_FIELD, BOX_BORDER_FIELD, BOX_MARGIN_FIELD, BOX_PADDING_FIELD, COLUMN_SPAN_OPTIONS, CORNER_RADIUS_FIELD, DEFAULT_LAYOUT_BOX_PROPS, SHADOW_FIELD, } from '../fields/shared-fields.js';
|
|
10
|
+
import { COLUMN_SLOT_EDIT_PROPS } from '../editor/slot-edit-props.js';
|
|
11
|
+
const HIDE_ON_FIELD = createHideOnField();
|
|
12
|
+
/**
|
|
13
|
+
* Published: CSS vars + @media (storefront).
|
|
14
|
+
* Editing: inline `grid-column` from the selected Puck viewport tier. Relying on
|
|
15
|
+
* iframe @media alone is brittle — a tablet frame of exactly 768px often fails
|
|
16
|
+
* `min-width: 768px` once a scrollbar eats a few pixels, so columns stay span 12.
|
|
17
|
+
*/
|
|
18
|
+
function columnSpanStyle(span, tier, editing) {
|
|
19
|
+
if (editing) {
|
|
20
|
+
return { gridColumn: `span ${resolveColumnSpan(span, tier, 12)}` };
|
|
21
|
+
}
|
|
22
|
+
return buildResponsiveSpanVars(span, 12);
|
|
23
|
+
}
|
|
24
|
+
function ColumnShell({ span, hideOn, editing, tier, dragRef, children, }) {
|
|
25
|
+
return (_jsx("div", { ref: dragRef ?? undefined, className: `cmsc-pb-row-col cmsc:min-w-0 cmsc:self-stretch ${RESPONSIVE_HIDE_ON_CLASS}`, style: columnSpanStyle(span, tier, editing), ...hideOnDataAttrs(hideOn), "data-pb-editing": editing ? '1' : '0', children: children }));
|
|
26
|
+
}
|
|
27
|
+
const ColumnEditingRender = (props) => {
|
|
28
|
+
const tier = usePreviewBreakpointTier();
|
|
29
|
+
const { content: Content, span, hideOn, puck, ...box } = props;
|
|
30
|
+
return (_jsx(ColumnShell, { span: span, hideOn: hideOn, editing: true, tier: tier, dragRef: puck?.dragRef, children: _jsx(BoxStyled, { previewTier: tier, className: "cmsc-pb-column-inner cmsc:h-full cmsc:w-full", ...box, children: _jsx(Content, { ...COLUMN_SLOT_EDIT_PROPS }) }) }));
|
|
31
|
+
};
|
|
32
|
+
const ColumnPublishedRender = (props) => {
|
|
33
|
+
const { content: Content, span, hideOn, ...box } = props;
|
|
34
|
+
return (_jsx(ColumnShell, { span: span, hideOn: hideOn, editing: false, tier: "mobile", children: _jsx(BoxStyled, { className: "cmsc:h-full cmsc:w-full", ...box, children: _jsx(Content, {}) }) }));
|
|
35
|
+
};
|
|
36
|
+
const columnConfig = {
|
|
37
|
+
label: 'Column',
|
|
38
|
+
/** Grid cell is .cmsc-pb-row-col — Puck must not wrap it in an extra block. */
|
|
39
|
+
inline: true,
|
|
40
|
+
resolvePermissions: (data, { appState, permissions }) => {
|
|
41
|
+
const itemId = data.props.id;
|
|
42
|
+
if (typeof itemId !== 'string')
|
|
43
|
+
return permissions;
|
|
44
|
+
let parentType = null;
|
|
45
|
+
const zones = appState.data.zones ?? {};
|
|
46
|
+
for (const [zone, items] of Object.entries(zones)) {
|
|
47
|
+
if (!Array.isArray(items))
|
|
48
|
+
continue;
|
|
49
|
+
const containsColumn = items.some((entry) => {
|
|
50
|
+
if (!entry || typeof entry !== 'object')
|
|
51
|
+
return false;
|
|
52
|
+
return entry.props?.id === itemId;
|
|
53
|
+
});
|
|
54
|
+
if (containsColumn) {
|
|
55
|
+
parentType = getZoneParentComponentType(zone, appState.data);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (parentType === null) {
|
|
60
|
+
const visit = (items, parent) => {
|
|
61
|
+
for (const entry of items) {
|
|
62
|
+
if (!entry || typeof entry !== 'object')
|
|
63
|
+
continue;
|
|
64
|
+
const record = entry;
|
|
65
|
+
if (record.props?.id === itemId) {
|
|
66
|
+
parentType = parent;
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
if (record.props && typeof record.props === 'object') {
|
|
70
|
+
for (const value of Object.values(record.props)) {
|
|
71
|
+
if (Array.isArray(value) && visit(value, record.type ?? null))
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
};
|
|
78
|
+
visit(appState.data.content ?? [], 'root');
|
|
79
|
+
}
|
|
80
|
+
const inRow = parentType === 'cms.Row';
|
|
81
|
+
return {
|
|
82
|
+
...permissions,
|
|
83
|
+
insert: inRow,
|
|
84
|
+
drag: inRow,
|
|
85
|
+
duplicate: inRow,
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
fields: {
|
|
89
|
+
hideOn: HIDE_ON_FIELD,
|
|
90
|
+
span: {
|
|
91
|
+
type: 'select',
|
|
92
|
+
label: 'Width',
|
|
93
|
+
metadata: PB_RESPONSIVE_METADATA,
|
|
94
|
+
options: COLUMN_SPAN_OPTIONS,
|
|
95
|
+
},
|
|
96
|
+
content: {
|
|
97
|
+
type: 'slot',
|
|
98
|
+
disallow: ['cms.Column'],
|
|
99
|
+
},
|
|
100
|
+
margin: BOX_MARGIN_FIELD,
|
|
101
|
+
padding: BOX_PADDING_FIELD,
|
|
102
|
+
border: BOX_BORDER_FIELD,
|
|
103
|
+
background: BACKGROUND_FIELD,
|
|
104
|
+
cornerRadius: CORNER_RADIUS_FIELD,
|
|
105
|
+
shadow: SHADOW_FIELD,
|
|
106
|
+
},
|
|
107
|
+
defaultProps: {
|
|
108
|
+
span: 12,
|
|
109
|
+
content: [],
|
|
110
|
+
...DEFAULT_LAYOUT_BOX_PROPS,
|
|
111
|
+
},
|
|
112
|
+
render: (props) => props.puck?.isEditing ? _jsx(ColumnEditingRender, { ...props }) : _jsx(ColumnPublishedRender, { ...props }),
|
|
113
|
+
};
|
|
114
|
+
/** Column must not use withHideOn — the outer grid cell is .cmsc-pb-row-col itself. */
|
|
115
|
+
export const Column = columnConfig;
|
|
116
|
+
export function createDefaultColumnItem(id) {
|
|
117
|
+
return {
|
|
118
|
+
type: 'cms.Column',
|
|
119
|
+
props: {
|
|
120
|
+
id,
|
|
121
|
+
span: 12,
|
|
122
|
+
content: [],
|
|
123
|
+
...DEFAULT_LAYOUT_BOX_PROPS,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=Column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Column.js","sourceRoot":"","sources":["../../src/components/Column.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type PuckComponent } from '@measured/puck';
|
|
2
|
+
import type { ContactFormEmbedProps } from '../schema/component-types.js';
|
|
3
|
+
export declare const ContactFormEmbed: {
|
|
4
|
+
render: PuckComponent<ContactFormEmbedProps>;
|
|
5
|
+
label?: string;
|
|
6
|
+
defaultProps?: ContactFormEmbedProps;
|
|
7
|
+
fields?: import("@measured/puck").Fields<ContactFormEmbedProps, {}>;
|
|
8
|
+
permissions?: Partial<import("@measured/puck").Permissions>;
|
|
9
|
+
inline?: boolean;
|
|
10
|
+
resolveFields?: (data: Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
11
|
+
changed: Partial<Record<keyof ContactFormEmbedProps, boolean> & {
|
|
12
|
+
id: string;
|
|
13
|
+
}>;
|
|
14
|
+
fields: import("@measured/puck").Fields<ContactFormEmbedProps, {}>;
|
|
15
|
+
lastFields: import("@measured/puck").Fields<ContactFormEmbedProps, {}>;
|
|
16
|
+
lastData: Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
17
|
+
appState: import("@measured/puck").AppState;
|
|
18
|
+
parent: import("@measured/puck").ComponentData | null;
|
|
19
|
+
}) => import("@measured/puck").Fields<ContactFormEmbedProps, {}> | Promise<import("@measured/puck").Fields<ContactFormEmbedProps, {}>>;
|
|
20
|
+
resolveData?: (data: Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
21
|
+
changed: Partial<Record<keyof ContactFormEmbedProps, boolean> & {
|
|
22
|
+
id: string;
|
|
23
|
+
}>;
|
|
24
|
+
lastData: Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
25
|
+
metadata: import("@measured/puck").Metadata;
|
|
26
|
+
trigger: import("@measured/puck").ResolveDataTrigger;
|
|
27
|
+
}) => (Omit<Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
28
|
+
props?: Partial<ContactFormEmbedProps>;
|
|
29
|
+
}) | Promise<Omit<Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
30
|
+
props?: Partial<ContactFormEmbedProps>;
|
|
31
|
+
}>;
|
|
32
|
+
resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
33
|
+
changed: Partial<Record<keyof ContactFormEmbedProps, boolean> & {
|
|
34
|
+
id: string;
|
|
35
|
+
}>;
|
|
36
|
+
lastPermissions: Partial<import("@measured/puck").Permissions>;
|
|
37
|
+
permissions: Partial<import("@measured/puck").Permissions>;
|
|
38
|
+
appState: import("@measured/puck").AppState;
|
|
39
|
+
lastData: Omit<import("@measured/puck").ComponentData<ContactFormEmbedProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
40
|
+
}) => Promise<Partial<import("@measured/puck").Permissions>> | Partial<import("@measured/puck").Permissions>;
|
|
41
|
+
metadata?: import("@measured/puck").Metadata;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=ContactFormEmbed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactFormEmbed.d.ts","sourceRoot":"","sources":["../../src/components/ContactFormEmbed.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAoF1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import {} from '@measured/puck';
|
|
4
|
+
import { withHideOn } from '@endora-commerce/page-builder-core';
|
|
5
|
+
import { usePreviewBreakpointTier } from '@endora-commerce/page-builder-core/client';
|
|
6
|
+
import { BoxStyled } from './box-styles.js';
|
|
7
|
+
import { BOX_BORDER_FIELD, BOX_MARGIN_FIELD, BOX_PADDING_FIELD, DEFAULT_BOX_PROPS, } from '../fields/shared-fields.js';
|
|
8
|
+
function ContactFormBody({ props, editing, tier, }) {
|
|
9
|
+
const { heading = '', description = '', embedUrl = '', mailto = '', heightPx = 480, ...box } = props;
|
|
10
|
+
return (_jsxs(BoxStyled, { ...box, ...(editing && tier ? { previewTier: tier } : {}), className: "cmsc-pb-contact", children: [heading ? _jsx("h3", { className: "cmsc-pb-contact__heading", children: heading }) : null, description ? _jsx("p", { className: "cmsc-pb-contact__desc", children: description }) : null, embedUrl ? (_jsx("iframe", { title: heading || 'Contact form', src: embedUrl, className: "cmsc-pb-contact__iframe", style: { height: `${heightPx}px` }, loading: "lazy" })) : mailto ? (_jsxs("a", { className: "cmsc-pb-contact__mailto", href: `mailto:${mailto}`, children: ["Email ", mailto] })) : editing ? (_jsx("p", { className: "cmsc:text-sm cmsc:text-[#64748b]", children: "Set an embed URL or mailto address for this contact block." })) : null] }));
|
|
11
|
+
}
|
|
12
|
+
const ContactEditingRender = (props) => (_jsx(ContactFormBody, { props: props, editing: true, tier: usePreviewBreakpointTier() }));
|
|
13
|
+
const ContactPublishedRender = (props) => (_jsx(ContactFormBody, { props: props, editing: false, tier: null }));
|
|
14
|
+
const contactConfig = {
|
|
15
|
+
label: 'Contact / form embed',
|
|
16
|
+
fields: {
|
|
17
|
+
heading: { type: 'text', label: 'Heading' },
|
|
18
|
+
description: { type: 'textarea', label: 'Description' },
|
|
19
|
+
embedUrl: { type: 'text', label: 'Form embed URL (iframe)' },
|
|
20
|
+
mailto: { type: 'text', label: 'Mailto fallback' },
|
|
21
|
+
heightPx: { type: 'number', label: 'Embed height (px)', min: 200, max: 1200 },
|
|
22
|
+
margin: BOX_MARGIN_FIELD,
|
|
23
|
+
padding: BOX_PADDING_FIELD,
|
|
24
|
+
border: BOX_BORDER_FIELD,
|
|
25
|
+
},
|
|
26
|
+
defaultProps: {
|
|
27
|
+
heading: 'Contact us',
|
|
28
|
+
description: 'Send a message to our sales team.',
|
|
29
|
+
embedUrl: '',
|
|
30
|
+
mailto: 'sales@example.com',
|
|
31
|
+
heightPx: 480,
|
|
32
|
+
...DEFAULT_BOX_PROPS,
|
|
33
|
+
},
|
|
34
|
+
render: (props) => props.puck?.isEditing ? _jsx(ContactEditingRender, { ...props }) : _jsx(ContactPublishedRender, { ...props }),
|
|
35
|
+
};
|
|
36
|
+
export const ContactFormEmbed = withHideOn(contactConfig);
|
|
37
|
+
//# sourceMappingURL=ContactFormEmbed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactFormEmbed.js","sourceRoot":"","sources":["../../src/components/ContactFormEmbed.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type PuckComponent } from '@measured/puck';
|
|
2
|
+
import type { ContentSliderProps } from '../schema/component-types.js';
|
|
3
|
+
export declare const ContentSlider: {
|
|
4
|
+
render: PuckComponent<ContentSliderProps>;
|
|
5
|
+
label?: string;
|
|
6
|
+
defaultProps?: ContentSliderProps;
|
|
7
|
+
fields?: import("@measured/puck").Fields<ContentSliderProps, {}>;
|
|
8
|
+
permissions?: Partial<import("@measured/puck").Permissions>;
|
|
9
|
+
inline?: boolean;
|
|
10
|
+
resolveFields?: (data: Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
11
|
+
changed: Partial<Record<keyof ContentSliderProps, boolean> & {
|
|
12
|
+
id: string;
|
|
13
|
+
}>;
|
|
14
|
+
fields: import("@measured/puck").Fields<ContentSliderProps, {}>;
|
|
15
|
+
lastFields: import("@measured/puck").Fields<ContentSliderProps, {}>;
|
|
16
|
+
lastData: Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
17
|
+
appState: import("@measured/puck").AppState;
|
|
18
|
+
parent: import("@measured/puck").ComponentData | null;
|
|
19
|
+
}) => import("@measured/puck").Fields<ContentSliderProps, {}> | Promise<import("@measured/puck").Fields<ContentSliderProps, {}>>;
|
|
20
|
+
resolveData?: (data: Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
21
|
+
changed: Partial<Record<keyof ContentSliderProps, boolean> & {
|
|
22
|
+
id: string;
|
|
23
|
+
}>;
|
|
24
|
+
lastData: Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
25
|
+
metadata: import("@measured/puck").Metadata;
|
|
26
|
+
trigger: import("@measured/puck").ResolveDataTrigger;
|
|
27
|
+
}) => (Omit<Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
28
|
+
props?: Partial<ContentSliderProps>;
|
|
29
|
+
}) | Promise<Omit<Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
30
|
+
props?: Partial<ContentSliderProps>;
|
|
31
|
+
}>;
|
|
32
|
+
resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
33
|
+
changed: Partial<Record<keyof ContentSliderProps, boolean> & {
|
|
34
|
+
id: string;
|
|
35
|
+
}>;
|
|
36
|
+
lastPermissions: Partial<import("@measured/puck").Permissions>;
|
|
37
|
+
permissions: Partial<import("@measured/puck").Permissions>;
|
|
38
|
+
appState: import("@measured/puck").AppState;
|
|
39
|
+
lastData: Omit<import("@measured/puck").ComponentData<ContentSliderProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
40
|
+
}) => Promise<Partial<import("@measured/puck").Permissions>> | Partial<import("@measured/puck").Permissions>;
|
|
41
|
+
metadata?: import("@measured/puck").Metadata;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=ContentSlider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentSlider.d.ts","sourceRoot":"","sources":["../../src/components/ContentSlider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAiKvE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import {} from '@measured/puck';
|
|
4
|
+
import { PB_RESPONSIVE_METADATA, resolveResponsiveNumber, withHideOn, } from '@endora-commerce/page-builder-core';
|
|
5
|
+
import { getSlotZoneItemCount } from '@endora-commerce/page-builder-core/editor/puck-guards';
|
|
6
|
+
import { useEditorCarouselPage } from '@endora-commerce/page-builder-core/editor/carousel-preview';
|
|
7
|
+
import { usePageBuilderPuck } from '@endora-commerce/page-builder-core/editor/use-page-builder-puck';
|
|
8
|
+
import { usePreviewBreakpointTier } from '@endora-commerce/page-builder-core/client';
|
|
9
|
+
import { useViewportBreakpointTier } from '../hooks/use-viewport-breakpoint-tier.js';
|
|
10
|
+
import { BoxStyled } from './box-styles.js';
|
|
11
|
+
import { BOX_BORDER_FIELD, BOX_MARGIN_FIELD, BOX_PADDING_FIELD, DEFAULT_BOX_PROPS, DEFAULT_LAYOUT_PADDING, } from '../fields/shared-fields.js';
|
|
12
|
+
import { CarouselShell } from './carousel/CarouselShell.js';
|
|
13
|
+
import { CONTENT_SLIDER_SLOT_EDIT_PROPS } from '../editor/slot-edit-props.js';
|
|
14
|
+
function slidesPerViewForTier(_tier) {
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
17
|
+
const ContentSliderEditingRender = (props) => {
|
|
18
|
+
const tier = usePreviewBreakpointTier();
|
|
19
|
+
const { slides: Slides, slidesPerView = 1, gap = 16, autoplay = false, intervalMs = 5000, showArrows = true, showDots = true, equalHeight = true, ...box } = props;
|
|
20
|
+
const perView = Math.max(1, Math.round(resolveResponsiveNumber(slidesPerView, tier, slidesPerViewForTier(tier))));
|
|
21
|
+
const gapPx = resolveResponsiveNumber(gap, tier, 16);
|
|
22
|
+
const Slot = Slides;
|
|
23
|
+
const sliderId = props.id;
|
|
24
|
+
const previewPage = useEditorCarouselPage(sliderId);
|
|
25
|
+
const editorSlideCount = usePageBuilderPuck((state) => getSlotZoneItemCount(state.appState.data, `${sliderId}:slides`));
|
|
26
|
+
return (_jsx(BoxStyled, { ...box, previewTier: tier, children: _jsx(CarouselShell, { slidesPerView: perView, gap: gapPx, autoplay: autoplay, intervalMs: intervalMs, showArrows: showArrows, showDots: showDots, equalHeight: equalHeight, slotMode: true, editorPreview: true, previewPage: previewPage, editorCarouselId: sliderId, editorSlideCount: editorSlideCount, children: _jsx(Slot, { ...CONTENT_SLIDER_SLOT_EDIT_PROPS }) }) }));
|
|
27
|
+
};
|
|
28
|
+
const ContentSliderPublishedRender = (props) => {
|
|
29
|
+
const tier = useViewportBreakpointTier();
|
|
30
|
+
const { slides: Slides, slidesPerView = 1, gap = 16, autoplay = false, intervalMs = 5000, showArrows = true, showDots = true, equalHeight = true, ...box } = props;
|
|
31
|
+
const perView = Math.max(1, Math.round(resolveResponsiveNumber(slidesPerView, tier, slidesPerViewForTier(tier))));
|
|
32
|
+
const gapPx = resolveResponsiveNumber(gap, tier, 16);
|
|
33
|
+
const Slot = Slides;
|
|
34
|
+
return (_jsx(BoxStyled, { ...box, children: _jsx(CarouselShell, { slidesPerView: perView, gap: gapPx, autoplay: autoplay, intervalMs: intervalMs, showArrows: showArrows, showDots: showDots, equalHeight: equalHeight, slotMode: true, children: _jsx(Slot, { className: "cmsc-pb-content-slider-slot" }) }) }));
|
|
35
|
+
};
|
|
36
|
+
const contentSliderConfig = {
|
|
37
|
+
label: 'Content slider',
|
|
38
|
+
fields: {
|
|
39
|
+
slides: {
|
|
40
|
+
type: 'slot',
|
|
41
|
+
label: 'Slides',
|
|
42
|
+
// Row is accepted then wrapped into a Slide by the page-builder onAction handler.
|
|
43
|
+
allow: ['cms.Slide', 'cms.Row'],
|
|
44
|
+
disallow: ['cms.Column', 'cms.ContentSlider'],
|
|
45
|
+
},
|
|
46
|
+
slidesPerView: {
|
|
47
|
+
type: 'select',
|
|
48
|
+
label: 'Slides per view',
|
|
49
|
+
metadata: PB_RESPONSIVE_METADATA,
|
|
50
|
+
options: [
|
|
51
|
+
{ label: '1', value: 1 },
|
|
52
|
+
{ label: '2', value: 2 },
|
|
53
|
+
{ label: '3', value: 3 },
|
|
54
|
+
{ label: '4', value: 4 },
|
|
55
|
+
{ label: '5', value: 5 },
|
|
56
|
+
{ label: '6', value: 6 },
|
|
57
|
+
{ label: '7', value: 7 },
|
|
58
|
+
{ label: '8', value: 8 },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
gap: {
|
|
62
|
+
type: 'number',
|
|
63
|
+
label: 'Gap (px)',
|
|
64
|
+
min: 0,
|
|
65
|
+
max: 48,
|
|
66
|
+
metadata: PB_RESPONSIVE_METADATA,
|
|
67
|
+
},
|
|
68
|
+
autoplay: { type: 'radio', label: 'Autoplay', options: [{ label: 'Yes', value: true }, { label: 'No', value: false }] },
|
|
69
|
+
intervalMs: { type: 'number', label: 'Autoplay interval (ms)', min: 2000, max: 15000 },
|
|
70
|
+
showArrows: { type: 'radio', label: 'Arrows', options: [{ label: 'Show', value: true }, { label: 'Hide', value: false }] },
|
|
71
|
+
showDots: { type: 'radio', label: 'Dots', options: [{ label: 'Show', value: true }, { label: 'Hide', value: false }] },
|
|
72
|
+
equalHeight: {
|
|
73
|
+
type: 'radio',
|
|
74
|
+
label: 'Equal slide height',
|
|
75
|
+
options: [{ label: 'Yes', value: true }, { label: 'No', value: false }],
|
|
76
|
+
},
|
|
77
|
+
margin: BOX_MARGIN_FIELD,
|
|
78
|
+
padding: BOX_PADDING_FIELD,
|
|
79
|
+
border: BOX_BORDER_FIELD,
|
|
80
|
+
},
|
|
81
|
+
defaultProps: {
|
|
82
|
+
slides: [],
|
|
83
|
+
slidesPerView: 1,
|
|
84
|
+
gap: 16,
|
|
85
|
+
autoplay: false,
|
|
86
|
+
intervalMs: 5000,
|
|
87
|
+
showArrows: true,
|
|
88
|
+
showDots: true,
|
|
89
|
+
equalHeight: true,
|
|
90
|
+
...DEFAULT_BOX_PROPS,
|
|
91
|
+
padding: DEFAULT_LAYOUT_PADDING,
|
|
92
|
+
},
|
|
93
|
+
render: (props) => props.puck?.isEditing ? (_jsx(ContentSliderEditingRender, { ...props })) : (_jsx(ContentSliderPublishedRender, { ...props })),
|
|
94
|
+
};
|
|
95
|
+
export const ContentSlider = withHideOn(contentSliderConfig);
|
|
96
|
+
//# sourceMappingURL=ContentSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentSlider.js","sourceRoot":"","sources":["../../src/components/ContentSlider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAA4C,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE9E,SAAS,oBAAoB,CAAC,KAAsC;IAClE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,0BAA0B,GAAsC,CAAC,KAAK,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;IACxC,MAAM,EACJ,MAAM,EAAE,MAAM,EACd,aAAa,GAAG,CAAC,EACjB,GAAG,GAAG,EAAE,EACR,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,IAAI,EACjB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,IAAI,EAClB,GAAG,GAAG,EACP,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClH,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAoE,CAAC;IAClF,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,QAAQ,SAAS,CAAC,CAChE,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,OAAK,GAAG,EAAE,WAAW,EAAE,IAAI,YACnC,KAAC,aAAa,IACZ,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,QACR,aAAa,QACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,QAAQ,EAC1B,gBAAgB,EAAE,gBAAgB,YAElC,KAAC,IAAI,OAAK,8BAA8B,GAAI,GAC9B,GACN,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAsC,CAAC,KAAK,EAAE,EAAE;IAChF,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,MAAM,EACJ,MAAM,EAAE,MAAM,EACd,aAAa,GAAG,CAAC,EACjB,GAAG,GAAG,EAAE,EACR,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,IAAI,EACjB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,IAAI,EAClB,GAAG,GAAG,EACP,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClH,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAqD,CAAC;IAEnE,OAAO,CACL,KAAC,SAAS,OAAK,GAAG,YAChB,KAAC,aAAa,IACZ,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,kBAER,KAAC,IAAI,IAAC,SAAS,EAAC,6BAA6B,GAAG,GAClC,GACN,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAwC;IAC/D,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE;QACN,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,kFAAkF;YAClF,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YAC/B,QAAQ,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;SAC9C;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,sBAAsB;YAChC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;aACzB;SACF;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,sBAAsB;SACjC;QACD,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;QACvH,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;QACtF,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;QAC1H,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;QACtH,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACxE;QACD,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,gBAAgB;KACzB;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,CAAC;QAChB,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,iBAAiB;QACpB,OAAO,EAAE,sBAAsB;KAChC;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,0BAA0B,OAAK,KAAK,GAAI,CAC1C,CAAC,CAAC,CAAC,CACF,KAAC,4BAA4B,OAAK,KAAK,GAAI,CAC5C;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type PuckComponent } from '@measured/puck';
|
|
2
|
+
import type { FeatureListProps } from '../schema/component-types.js';
|
|
3
|
+
export declare const FeatureList: {
|
|
4
|
+
render: PuckComponent<FeatureListProps>;
|
|
5
|
+
label?: string;
|
|
6
|
+
defaultProps?: FeatureListProps;
|
|
7
|
+
fields?: import("@measured/puck").Fields<FeatureListProps, {}>;
|
|
8
|
+
permissions?: Partial<import("@measured/puck").Permissions>;
|
|
9
|
+
inline?: boolean;
|
|
10
|
+
resolveFields?: (data: Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
11
|
+
changed: Partial<Record<keyof FeatureListProps, boolean> & {
|
|
12
|
+
id: string;
|
|
13
|
+
}>;
|
|
14
|
+
fields: import("@measured/puck").Fields<FeatureListProps, {}>;
|
|
15
|
+
lastFields: import("@measured/puck").Fields<FeatureListProps, {}>;
|
|
16
|
+
lastData: Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
17
|
+
appState: import("@measured/puck").AppState;
|
|
18
|
+
parent: import("@measured/puck").ComponentData | null;
|
|
19
|
+
}) => import("@measured/puck").Fields<FeatureListProps, {}> | Promise<import("@measured/puck").Fields<FeatureListProps, {}>>;
|
|
20
|
+
resolveData?: (data: Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
21
|
+
changed: Partial<Record<keyof FeatureListProps, boolean> & {
|
|
22
|
+
id: string;
|
|
23
|
+
}>;
|
|
24
|
+
lastData: Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
25
|
+
metadata: import("@measured/puck").Metadata;
|
|
26
|
+
trigger: import("@measured/puck").ResolveDataTrigger;
|
|
27
|
+
}) => (Omit<Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
28
|
+
props?: Partial<FeatureListProps>;
|
|
29
|
+
}) | Promise<Omit<Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
30
|
+
props?: Partial<FeatureListProps>;
|
|
31
|
+
}>;
|
|
32
|
+
resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
33
|
+
changed: Partial<Record<keyof FeatureListProps, boolean> & {
|
|
34
|
+
id: string;
|
|
35
|
+
}>;
|
|
36
|
+
lastPermissions: Partial<import("@measured/puck").Permissions>;
|
|
37
|
+
permissions: Partial<import("@measured/puck").Permissions>;
|
|
38
|
+
appState: import("@measured/puck").AppState;
|
|
39
|
+
lastData: Omit<import("@measured/puck").ComponentData<FeatureListProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
40
|
+
}) => Promise<Partial<import("@measured/puck").Permissions>> | Partial<import("@measured/puck").Permissions>;
|
|
41
|
+
metadata?: import("@measured/puck").Metadata;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=FeatureList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureList.d.ts","sourceRoot":"","sources":["../../src/components/FeatureList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQ1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA+IrE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import {} from '@measured/puck';
|
|
4
|
+
import { PB_RESPONSIVE_METADATA, createColorField, resolveResponsiveNumber, withHideOn, } from '@endora-commerce/page-builder-core';
|
|
5
|
+
import { usePreviewBreakpointTier } from '@endora-commerce/page-builder-core/client';
|
|
6
|
+
import { useViewportBreakpointTier } from '../hooks/use-viewport-breakpoint-tier.js';
|
|
7
|
+
import { BoxStyled } from './box-styles.js';
|
|
8
|
+
import { BOX_BORDER_FIELD, BOX_MARGIN_FIELD, BOX_PADDING_FIELD, DEFAULT_BOX_PROPS, } from '../fields/shared-fields.js';
|
|
9
|
+
import { createIconPickerField } from './IconPickerField.js';
|
|
10
|
+
import { resolveCmsIcon } from './icon-catalog.js';
|
|
11
|
+
function FeatureListBody({ props, tier, editing, }) {
|
|
12
|
+
const { items = [], columns = 3, gap = 24, iconColor = '#0f766e', iconSize = 28, align = 'left', ...box } = props;
|
|
13
|
+
const cols = Math.max(1, Math.min(4, Math.round(resolveResponsiveNumber(columns, tier, 3))));
|
|
14
|
+
const gapPx = resolveResponsiveNumber(gap, tier, 24);
|
|
15
|
+
return (_jsxs(BoxStyled, { ...box, ...(editing ? { previewTier: tier } : {}), children: [_jsx("ul", { className: "cmsc-pb-feature-list", style: {
|
|
16
|
+
gap: `${gapPx}px`,
|
|
17
|
+
gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,
|
|
18
|
+
textAlign: align,
|
|
19
|
+
}, children: items.map((item, index) => {
|
|
20
|
+
const Icon = resolveCmsIcon(item.icon);
|
|
21
|
+
return (_jsxs("li", { className: "cmsc-pb-feature-list__item", children: [Icon ? (_jsx("span", { className: "cmsc-pb-feature-list__icon", children: _jsx(Icon, { size: iconSize, color: iconColor, "aria-hidden": true }) })) : null, _jsx("h3", { className: "cmsc-pb-feature-list__title", children: item.title }), item.description ? (_jsx("p", { className: "cmsc-pb-feature-list__desc", children: item.description })) : null] }, `${item.title}-${index}`));
|
|
22
|
+
}) }), editing && items.length === 0 ? (_jsx("p", { className: "cmsc:text-sm cmsc:text-[#64748b]", children: "Add features in the Items tab." })) : null] }));
|
|
23
|
+
}
|
|
24
|
+
const FeatureListEditingRender = (props) => (_jsx(FeatureListBody, { props: props, tier: usePreviewBreakpointTier(), editing: true }));
|
|
25
|
+
const FeatureListPublishedRender = (props) => (_jsx(FeatureListBody, { props: props, tier: useViewportBreakpointTier(), editing: false }));
|
|
26
|
+
const featureListConfig = {
|
|
27
|
+
label: 'Feature list',
|
|
28
|
+
fields: {
|
|
29
|
+
items: {
|
|
30
|
+
type: 'array',
|
|
31
|
+
label: 'Features',
|
|
32
|
+
getItemSummary: (item) => item.title || 'Feature',
|
|
33
|
+
arrayFields: {
|
|
34
|
+
icon: createIconPickerField('Icon'),
|
|
35
|
+
title: { type: 'text', label: 'Title' },
|
|
36
|
+
description: { type: 'textarea', label: 'Description' },
|
|
37
|
+
},
|
|
38
|
+
defaultItemProps: {
|
|
39
|
+
icon: 'checkCircle2',
|
|
40
|
+
title: 'Feature',
|
|
41
|
+
description: 'Short supporting copy.',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
columns: {
|
|
45
|
+
type: 'number',
|
|
46
|
+
label: 'Columns',
|
|
47
|
+
min: 1,
|
|
48
|
+
max: 4,
|
|
49
|
+
metadata: PB_RESPONSIVE_METADATA,
|
|
50
|
+
},
|
|
51
|
+
gap: {
|
|
52
|
+
type: 'number',
|
|
53
|
+
label: 'Gap (px)',
|
|
54
|
+
min: 0,
|
|
55
|
+
max: 64,
|
|
56
|
+
metadata: PB_RESPONSIVE_METADATA,
|
|
57
|
+
},
|
|
58
|
+
iconColor: createColorField({ label: 'Icon color' }),
|
|
59
|
+
iconSize: { type: 'number', label: 'Icon size (px)', min: 16, max: 64 },
|
|
60
|
+
align: {
|
|
61
|
+
type: 'select',
|
|
62
|
+
label: 'Align',
|
|
63
|
+
options: [
|
|
64
|
+
{ label: 'Left', value: 'left' },
|
|
65
|
+
{ label: 'Center', value: 'center' },
|
|
66
|
+
{ label: 'Right', value: 'right' },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
margin: BOX_MARGIN_FIELD,
|
|
70
|
+
padding: BOX_PADDING_FIELD,
|
|
71
|
+
border: BOX_BORDER_FIELD,
|
|
72
|
+
},
|
|
73
|
+
defaultProps: {
|
|
74
|
+
items: [
|
|
75
|
+
{ icon: 'truck', title: 'Fast delivery', description: 'Reliable logistics for B2B orders.' },
|
|
76
|
+
{ icon: 'shieldCheck', title: 'Secure', description: 'Enterprise-grade account security.' },
|
|
77
|
+
{ icon: 'lifeBuoy', title: 'Support', description: 'Dedicated sales and support team.' },
|
|
78
|
+
],
|
|
79
|
+
columns: 3,
|
|
80
|
+
gap: 24,
|
|
81
|
+
iconColor: '#0f766e',
|
|
82
|
+
iconSize: 28,
|
|
83
|
+
align: 'left',
|
|
84
|
+
...DEFAULT_BOX_PROPS,
|
|
85
|
+
},
|
|
86
|
+
render: (props) => props.puck?.isEditing ? (_jsx(FeatureListEditingRender, { ...props })) : (_jsx(FeatureListPublishedRender, { ...props })),
|
|
87
|
+
};
|
|
88
|
+
export const FeatureList = withHideOn(featureListConfig);
|
|
89
|
+
//# sourceMappingURL=FeatureList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureList.js","sourceRoot":"","sources":["../../src/components/FeatureList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type PuckComponent } from '@measured/puck';
|
|
2
|
+
import type { HeadingProps } from '../schema/component-types.js';
|
|
3
|
+
export declare const Heading: {
|
|
4
|
+
render: PuckComponent<HeadingProps>;
|
|
5
|
+
label?: string;
|
|
6
|
+
defaultProps?: HeadingProps;
|
|
7
|
+
fields?: import("@measured/puck").Fields<HeadingProps, {}>;
|
|
8
|
+
permissions?: Partial<import("@measured/puck").Permissions>;
|
|
9
|
+
inline?: boolean;
|
|
10
|
+
resolveFields?: (data: Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
11
|
+
changed: Partial<Record<keyof HeadingProps, boolean> & {
|
|
12
|
+
id: string;
|
|
13
|
+
}>;
|
|
14
|
+
fields: import("@measured/puck").Fields<HeadingProps, {}>;
|
|
15
|
+
lastFields: import("@measured/puck").Fields<HeadingProps, {}>;
|
|
16
|
+
lastData: Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
17
|
+
appState: import("@measured/puck").AppState;
|
|
18
|
+
parent: import("@measured/puck").ComponentData | null;
|
|
19
|
+
}) => import("@measured/puck").Fields<HeadingProps, {}> | Promise<import("@measured/puck").Fields<HeadingProps, {}>>;
|
|
20
|
+
resolveData?: (data: Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
21
|
+
changed: Partial<Record<keyof HeadingProps, boolean> & {
|
|
22
|
+
id: string;
|
|
23
|
+
}>;
|
|
24
|
+
lastData: Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
25
|
+
metadata: import("@measured/puck").Metadata;
|
|
26
|
+
trigger: import("@measured/puck").ResolveDataTrigger;
|
|
27
|
+
}) => (Omit<Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
28
|
+
props?: Partial<HeadingProps>;
|
|
29
|
+
}) | Promise<Omit<Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
|
|
30
|
+
props?: Partial<HeadingProps>;
|
|
31
|
+
}>;
|
|
32
|
+
resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
|
|
33
|
+
changed: Partial<Record<keyof HeadingProps, boolean> & {
|
|
34
|
+
id: string;
|
|
35
|
+
}>;
|
|
36
|
+
lastPermissions: Partial<import("@measured/puck").Permissions>;
|
|
37
|
+
permissions: Partial<import("@measured/puck").Permissions>;
|
|
38
|
+
appState: import("@measured/puck").AppState;
|
|
39
|
+
lastData: Omit<import("@measured/puck").ComponentData<HeadingProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type"> | null;
|
|
40
|
+
}) => Promise<Partial<import("@measured/puck").Permissions>> | Partial<import("@measured/puck").Permissions>;
|
|
41
|
+
metadata?: import("@measured/puck").Metadata;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=Heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/components/Heading.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQ1E,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAwJ/E,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4B,CAAC"}
|