@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.
Files changed (300) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/cms-components.css +2 -0
  4. package/dist/components/Accordion.d.ts +43 -0
  5. package/dist/components/Accordion.d.ts.map +1 -0
  6. package/dist/components/Accordion.js +81 -0
  7. package/dist/components/Accordion.js.map +1 -0
  8. package/dist/components/AnnouncementBar.d.ts +43 -0
  9. package/dist/components/AnnouncementBar.d.ts.map +1 -0
  10. package/dist/components/AnnouncementBar.js +27 -0
  11. package/dist/components/AnnouncementBar.js.map +1 -0
  12. package/dist/components/Button.d.ts +43 -0
  13. package/dist/components/Button.d.ts.map +1 -0
  14. package/dist/components/Button.js +122 -0
  15. package/dist/components/Button.js.map +1 -0
  16. package/dist/components/CategoryGrid.d.ts +43 -0
  17. package/dist/components/CategoryGrid.d.ts.map +1 -0
  18. package/dist/components/CategoryGrid.js +117 -0
  19. package/dist/components/CategoryGrid.js.map +1 -0
  20. package/dist/components/CategoryList.d.ts +43 -0
  21. package/dist/components/CategoryList.d.ts.map +1 -0
  22. package/dist/components/CategoryList.js +96 -0
  23. package/dist/components/CategoryList.js.map +1 -0
  24. package/dist/components/CmsPageContainer.d.ts +12 -0
  25. package/dist/components/CmsPageContainer.d.ts.map +1 -0
  26. package/dist/components/CmsPageContainer.js +19 -0
  27. package/dist/components/CmsPageContainer.js.map +1 -0
  28. package/dist/components/CmsProductCard.d.ts +35 -0
  29. package/dist/components/CmsProductCard.d.ts.map +1 -0
  30. package/dist/components/CmsProductCard.js +101 -0
  31. package/dist/components/CmsProductCard.js.map +1 -0
  32. package/dist/components/Column.d.ts +50 -0
  33. package/dist/components/Column.d.ts.map +1 -0
  34. package/dist/components/Column.js +127 -0
  35. package/dist/components/Column.js.map +1 -0
  36. package/dist/components/ContactFormEmbed.d.ts +43 -0
  37. package/dist/components/ContactFormEmbed.d.ts.map +1 -0
  38. package/dist/components/ContactFormEmbed.js +37 -0
  39. package/dist/components/ContactFormEmbed.js.map +1 -0
  40. package/dist/components/ContentSlider.d.ts +43 -0
  41. package/dist/components/ContentSlider.d.ts.map +1 -0
  42. package/dist/components/ContentSlider.js +96 -0
  43. package/dist/components/ContentSlider.js.map +1 -0
  44. package/dist/components/FeatureList.d.ts +43 -0
  45. package/dist/components/FeatureList.d.ts.map +1 -0
  46. package/dist/components/FeatureList.js +89 -0
  47. package/dist/components/FeatureList.js.map +1 -0
  48. package/dist/components/Heading.d.ts +43 -0
  49. package/dist/components/Heading.d.ts.map +1 -0
  50. package/dist/components/Heading.js +116 -0
  51. package/dist/components/Heading.js.map +1 -0
  52. package/dist/components/Hero.d.ts +43 -0
  53. package/dist/components/Hero.d.ts.map +1 -0
  54. package/dist/components/Hero.js +186 -0
  55. package/dist/components/Hero.js.map +1 -0
  56. package/dist/components/IconPickerField.d.ts +3 -0
  57. package/dist/components/IconPickerField.d.ts.map +1 -0
  58. package/dist/components/IconPickerField.js +30 -0
  59. package/dist/components/IconPickerField.js.map +1 -0
  60. package/dist/components/Icons.d.ts +43 -0
  61. package/dist/components/Icons.d.ts.map +1 -0
  62. package/dist/components/Icons.js +62 -0
  63. package/dist/components/Icons.js.map +1 -0
  64. package/dist/components/Image.d.ts +43 -0
  65. package/dist/components/Image.d.ts.map +1 -0
  66. package/dist/components/Image.js +179 -0
  67. package/dist/components/Image.js.map +1 -0
  68. package/dist/components/ImageSlider.d.ts +44 -0
  69. package/dist/components/ImageSlider.d.ts.map +1 -0
  70. package/dist/components/ImageSlider.js +186 -0
  71. package/dist/components/ImageSlider.js.map +1 -0
  72. package/dist/components/InsertBlock.d.ts +4 -0
  73. package/dist/components/InsertBlock.d.ts.map +1 -0
  74. package/dist/components/InsertBlock.js +30 -0
  75. package/dist/components/InsertBlock.js.map +1 -0
  76. package/dist/components/InsertTemplate.d.ts +4 -0
  77. package/dist/components/InsertTemplate.d.ts.map +1 -0
  78. package/dist/components/InsertTemplate.js +30 -0
  79. package/dist/components/InsertTemplate.js.map +1 -0
  80. package/dist/components/LogoStrip.d.ts +43 -0
  81. package/dist/components/LogoStrip.d.ts.map +1 -0
  82. package/dist/components/LogoStrip.js +155 -0
  83. package/dist/components/LogoStrip.js.map +1 -0
  84. package/dist/components/Map.d.ts +43 -0
  85. package/dist/components/Map.d.ts.map +1 -0
  86. package/dist/components/Map.js +165 -0
  87. package/dist/components/Map.js.map +1 -0
  88. package/dist/components/MissingComponentPlaceholder.d.ts +27 -0
  89. package/dist/components/MissingComponentPlaceholder.d.ts.map +1 -0
  90. package/dist/components/MissingComponentPlaceholder.js +24 -0
  91. package/dist/components/MissingComponentPlaceholder.js.map +1 -0
  92. package/dist/components/NewsletterSignup.d.ts +43 -0
  93. package/dist/components/NewsletterSignup.d.ts.map +1 -0
  94. package/dist/components/NewsletterSignup.js +43 -0
  95. package/dist/components/NewsletterSignup.js.map +1 -0
  96. package/dist/components/ProductCard.d.ts +43 -0
  97. package/dist/components/ProductCard.d.ts.map +1 -0
  98. package/dist/components/ProductCard.js +96 -0
  99. package/dist/components/ProductCard.js.map +1 -0
  100. package/dist/components/ProductGrid.d.ts +43 -0
  101. package/dist/components/ProductGrid.d.ts.map +1 -0
  102. package/dist/components/ProductGrid.js +138 -0
  103. package/dist/components/ProductGrid.js.map +1 -0
  104. package/dist/components/ProductSlider.d.ts +43 -0
  105. package/dist/components/ProductSlider.d.ts.map +1 -0
  106. package/dist/components/ProductSlider.js +134 -0
  107. package/dist/components/ProductSlider.js.map +1 -0
  108. package/dist/components/RawHtml.d.ts +43 -0
  109. package/dist/components/RawHtml.d.ts.map +1 -0
  110. package/dist/components/RawHtml.js +38 -0
  111. package/dist/components/RawHtml.js.map +1 -0
  112. package/dist/components/RawJs.d.ts +43 -0
  113. package/dist/components/RawJs.d.ts.map +1 -0
  114. package/dist/components/RawJs.js +53 -0
  115. package/dist/components/RawJs.js.map +1 -0
  116. package/dist/components/RichContent.d.ts +4 -0
  117. package/dist/components/RichContent.d.ts.map +1 -0
  118. package/dist/components/RichContent.js +48 -0
  119. package/dist/components/RichContent.js.map +1 -0
  120. package/dist/components/RichContentEditorField.d.ts +10 -0
  121. package/dist/components/RichContentEditorField.d.ts.map +1 -0
  122. package/dist/components/RichContentEditorField.js +130 -0
  123. package/dist/components/RichContentEditorField.js.map +1 -0
  124. package/dist/components/RichContentPublished.d.ts +5 -0
  125. package/dist/components/RichContentPublished.d.ts.map +1 -0
  126. package/dist/components/RichContentPublished.js +22 -0
  127. package/dist/components/RichContentPublished.js.map +1 -0
  128. package/dist/components/Row.d.ts +43 -0
  129. package/dist/components/Row.d.ts.map +1 -0
  130. package/dist/components/Row.js +305 -0
  131. package/dist/components/Row.js.map +1 -0
  132. package/dist/components/SimpleTable.d.ts +43 -0
  133. package/dist/components/SimpleTable.d.ts.map +1 -0
  134. package/dist/components/SimpleTable.js +155 -0
  135. package/dist/components/SimpleTable.js.map +1 -0
  136. package/dist/components/Slide.d.ts +44 -0
  137. package/dist/components/Slide.d.ts.map +1 -0
  138. package/dist/components/Slide.js +36 -0
  139. package/dist/components/Slide.js.map +1 -0
  140. package/dist/components/Social.d.ts +43 -0
  141. package/dist/components/Social.d.ts.map +1 -0
  142. package/dist/components/Social.js +110 -0
  143. package/dist/components/Social.js.map +1 -0
  144. package/dist/components/Spacer.d.ts +43 -0
  145. package/dist/components/Spacer.d.ts.map +1 -0
  146. package/dist/components/Spacer.js +48 -0
  147. package/dist/components/Spacer.js.map +1 -0
  148. package/dist/components/Stats.d.ts +43 -0
  149. package/dist/components/Stats.d.ts.map +1 -0
  150. package/dist/components/Stats.js +71 -0
  151. package/dist/components/Stats.js.map +1 -0
  152. package/dist/components/Tabs.d.ts +43 -0
  153. package/dist/components/Tabs.d.ts.map +1 -0
  154. package/dist/components/Tabs.js +70 -0
  155. package/dist/components/Tabs.js.map +1 -0
  156. package/dist/components/Testimonial.d.ts +43 -0
  157. package/dist/components/Testimonial.d.ts.map +1 -0
  158. package/dist/components/Testimonial.js +74 -0
  159. package/dist/components/Testimonial.js.map +1 -0
  160. package/dist/components/Text.d.ts +43 -0
  161. package/dist/components/Text.d.ts.map +1 -0
  162. package/dist/components/Text.js +87 -0
  163. package/dist/components/Text.js.map +1 -0
  164. package/dist/components/Video.d.ts +43 -0
  165. package/dist/components/Video.d.ts.map +1 -0
  166. package/dist/components/Video.js +98 -0
  167. package/dist/components/Video.js.map +1 -0
  168. package/dist/components/box-styles.d.ts +19 -0
  169. package/dist/components/box-styles.d.ts.map +1 -0
  170. package/dist/components/box-styles.js +66 -0
  171. package/dist/components/box-styles.js.map +1 -0
  172. package/dist/components/button-link.d.ts +7 -0
  173. package/dist/components/button-link.d.ts.map +1 -0
  174. package/dist/components/button-link.js +15 -0
  175. package/dist/components/button-link.js.map +1 -0
  176. package/dist/components/carousel/CarouselShell.d.ts +27 -0
  177. package/dist/components/carousel/CarouselShell.d.ts.map +1 -0
  178. package/dist/components/carousel/CarouselShell.js +210 -0
  179. package/dist/components/carousel/CarouselShell.js.map +1 -0
  180. package/dist/components/catalog/CatalogSkeletons.d.ts +27 -0
  181. package/dist/components/catalog/CatalogSkeletons.d.ts.map +1 -0
  182. package/dist/components/catalog/CatalogSkeletons.js +38 -0
  183. package/dist/components/catalog/CatalogSkeletons.js.map +1 -0
  184. package/dist/components/catalog-preview-context.d.ts +9 -0
  185. package/dist/components/catalog-preview-context.d.ts.map +1 -0
  186. package/dist/components/catalog-preview-context.js +18 -0
  187. package/dist/components/catalog-preview-context.js.map +1 -0
  188. package/dist/components/icon-catalog.d.ts +139 -0
  189. package/dist/components/icon-catalog.d.ts.map +1 -0
  190. package/dist/components/icon-catalog.js +148 -0
  191. package/dist/components/icon-catalog.js.map +1 -0
  192. package/dist/components/image-fields.d.ts +6 -0
  193. package/dist/components/image-fields.d.ts.map +1 -0
  194. package/dist/components/image-fields.js +11 -0
  195. package/dist/components/image-fields.js.map +1 -0
  196. package/dist/components/image-slider-item.d.ts +7 -0
  197. package/dist/components/image-slider-item.d.ts.map +1 -0
  198. package/dist/components/image-slider-item.js +45 -0
  199. package/dist/components/image-slider-item.js.map +1 -0
  200. package/dist/components/render-context.d.ts +29 -0
  201. package/dist/components/render-context.d.ts.map +1 -0
  202. package/dist/components/render-context.js +21 -0
  203. package/dist/components/render-context.js.map +1 -0
  204. package/dist/components/rich-content-shared.d.ts +11 -0
  205. package/dist/components/rich-content-shared.d.ts.map +1 -0
  206. package/dist/components/rich-content-shared.js +132 -0
  207. package/dist/components/rich-content-shared.js.map +1 -0
  208. package/dist/components/social-networks.d.ts +10 -0
  209. package/dist/components/social-networks.d.ts.map +1 -0
  210. package/dist/components/social-networks.js +43 -0
  211. package/dist/components/social-networks.js.map +1 -0
  212. package/dist/components/styles.d.ts +2 -0
  213. package/dist/components/styles.d.ts.map +1 -0
  214. package/dist/components/styles.js +9 -0
  215. package/dist/components/styles.js.map +1 -0
  216. package/dist/components/text-content.d.ts +13 -0
  217. package/dist/components/text-content.d.ts.map +1 -0
  218. package/dist/components/text-content.js +64 -0
  219. package/dist/components/text-content.js.map +1 -0
  220. package/dist/components/typography.d.ts +26 -0
  221. package/dist/components/typography.d.ts.map +1 -0
  222. package/dist/components/typography.js +52 -0
  223. package/dist/components/typography.js.map +1 -0
  224. package/dist/editor/row-layout-presets.d.ts +34 -0
  225. package/dist/editor/row-layout-presets.d.ts.map +1 -0
  226. package/dist/editor/row-layout-presets.js +175 -0
  227. package/dist/editor/row-layout-presets.js.map +1 -0
  228. package/dist/editor/slot-edit-props.d.ts +16 -0
  229. package/dist/editor/slot-edit-props.d.ts.map +1 -0
  230. package/dist/editor/slot-edit-props.js +25 -0
  231. package/dist/editor/slot-edit-props.js.map +1 -0
  232. package/dist/fields/catalog-data-fields.d.ts +7 -0
  233. package/dist/fields/catalog-data-fields.d.ts.map +1 -0
  234. package/dist/fields/catalog-data-fields.js +4 -0
  235. package/dist/fields/catalog-data-fields.js.map +1 -0
  236. package/dist/fields/catalog-fallback-fields.d.ts +4 -0
  237. package/dist/fields/catalog-fallback-fields.d.ts.map +1 -0
  238. package/dist/fields/catalog-fallback-fields.js +34 -0
  239. package/dist/fields/catalog-fallback-fields.js.map +1 -0
  240. package/dist/fields/catalog-resolve-fields.d.ts +5 -0
  241. package/dist/fields/catalog-resolve-fields.d.ts.map +1 -0
  242. package/dist/fields/catalog-resolve-fields.js +40 -0
  243. package/dist/fields/catalog-resolve-fields.js.map +1 -0
  244. package/dist/fields/shared-fields.d.ts +176 -0
  245. package/dist/fields/shared-fields.d.ts.map +1 -0
  246. package/dist/fields/shared-fields.js +142 -0
  247. package/dist/fields/shared-fields.js.map +1 -0
  248. package/dist/hooks/use-viewport-breakpoint-tier.d.ts +4 -0
  249. package/dist/hooks/use-viewport-breakpoint-tier.d.ts.map +1 -0
  250. package/dist/hooks/use-viewport-breakpoint-tier.js +21 -0
  251. package/dist/hooks/use-viewport-breakpoint-tier.js.map +1 -0
  252. package/dist/index.d.ts +127 -0
  253. package/dist/index.d.ts.map +1 -0
  254. package/dist/index.js +377 -0
  255. package/dist/index.js.map +1 -0
  256. package/dist/schema/catalog-types.d.ts +22 -0
  257. package/dist/schema/catalog-types.d.ts.map +1 -0
  258. package/dist/schema/catalog-types.js +2 -0
  259. package/dist/schema/catalog-types.js.map +1 -0
  260. package/dist/schema/component-types.d.ts +419 -0
  261. package/dist/schema/component-types.d.ts.map +1 -0
  262. package/dist/schema/component-types.js +2 -0
  263. package/dist/schema/component-types.js.map +1 -0
  264. package/dist/schema/envelope.d.ts +21 -0
  265. package/dist/schema/envelope.d.ts.map +1 -0
  266. package/dist/schema/envelope.js +19 -0
  267. package/dist/schema/envelope.js.map +1 -0
  268. package/dist/utils/catalog-fetch.d.ts +29 -0
  269. package/dist/utils/catalog-fetch.d.ts.map +1 -0
  270. package/dist/utils/catalog-fetch.js +88 -0
  271. package/dist/utils/catalog-fetch.js.map +1 -0
  272. package/dist/utils/catalog-load.d.ts +4 -0
  273. package/dist/utils/catalog-load.d.ts.map +1 -0
  274. package/dist/utils/catalog-load.js +11 -0
  275. package/dist/utils/catalog-load.js.map +1 -0
  276. package/dist/utils/catalog-preview-bridge.d.ts +13 -0
  277. package/dist/utils/catalog-preview-bridge.d.ts.map +1 -0
  278. package/dist/utils/catalog-preview-bridge.js +8 -0
  279. package/dist/utils/catalog-preview-bridge.js.map +1 -0
  280. package/dist/utils/catalog-skeleton-estimate.d.ts +7 -0
  281. package/dist/utils/catalog-skeleton-estimate.d.ts.map +1 -0
  282. package/dist/utils/catalog-skeleton-estimate.js +42 -0
  283. package/dist/utils/catalog-skeleton-estimate.js.map +1 -0
  284. package/dist/utils/resolve-image-url.d.ts +20 -0
  285. package/dist/utils/resolve-image-url.d.ts.map +1 -0
  286. package/dist/utils/resolve-image-url.js +24 -0
  287. package/dist/utils/resolve-image-url.js.map +1 -0
  288. package/dist/utils/sanitize-html.d.ts +6 -0
  289. package/dist/utils/sanitize-html.d.ts.map +1 -0
  290. package/dist/utils/sanitize-html.js +81 -0
  291. package/dist/utils/sanitize-html.js.map +1 -0
  292. package/dist/utils/video-embed.d.ts +11 -0
  293. package/dist/utils/video-embed.d.ts.map +1 -0
  294. package/dist/utils/video-embed.js +61 -0
  295. package/dist/utils/video-embed.js.map +1 -0
  296. package/dist/utils/walk-asset-ids.d.ts +3 -0
  297. package/dist/utils/walk-asset-ids.d.ts.map +1 -0
  298. package/dist/utils/walk-asset-ids.js +23 -0
  299. package/dist/utils/walk-asset-ids.js.map +1 -0
  300. package/package.json +117 -0
@@ -0,0 +1,116 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import {} from '@measured/puck';
4
+ import { resolveTextAlignForTier, responsiveTextAlignClass, textAlignDataAttrs, 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, TEXT_TYPOGRAPHY_FIELDS, } from '../fields/shared-fields.js';
8
+ import { editingTypographyStyle, hasCustomFontSize, HEADING_DEFAULT_SIZE_PX, responsiveTypographyVars, typographyStyle, } from './typography.js';
9
+ function normalizeHeadingLevel(level) {
10
+ if (typeof level === 'string' && /^h[1-6]$/.test(level)) {
11
+ return level;
12
+ }
13
+ if (typeof level === 'number' && level >= 1 && level <= 6) {
14
+ return `h${level}`;
15
+ }
16
+ return 'h2';
17
+ }
18
+ function resolveHeadingAlign(props) {
19
+ return props.textAlign ?? props.align;
20
+ }
21
+ function headingDefaults(level) {
22
+ return {
23
+ fontSize: HEADING_DEFAULT_SIZE_PX[level],
24
+ fontWeight: 700,
25
+ lineHeight: 1.12,
26
+ };
27
+ }
28
+ const HeadingEditingRender = (props) => {
29
+ const tier = usePreviewBreakpointTier();
30
+ const { level, text, ...box } = props;
31
+ const Tag = normalizeHeadingLevel(level);
32
+ const resolvedAlign = resolveHeadingAlign(props);
33
+ const alignAttrs = textAlignDataAttrs(resolvedAlign, 'left');
34
+ const defaults = headingDefaults(Tag);
35
+ const useResponsiveSize = hasCustomFontSize(props.fontSize);
36
+ return (_jsx(BoxStyled, { previewTier: tier, ...box, children: _jsx(Tag, { className: `cmsc:font-sans cmsc:m-0 cmsc:text-[#15202b] cmsc:font-bold cmsc-pb-text-align ${useResponsiveSize ? 'cmsc-pb-text-size cmsc-pb-text-weight cmsc-pb-text-leading' : ''}`, style: {
37
+ ...typographyStyle({
38
+ ...(props.fontFamily !== undefined ? { fontFamily: props.fontFamily } : {}),
39
+ ...(props.fontStyle !== undefined ? { fontStyle: props.fontStyle } : {}),
40
+ color: props.color,
41
+ }),
42
+ ...(useResponsiveSize
43
+ ? editingTypographyStyle(props, tier, defaults)
44
+ : {
45
+ fontSize: `${defaults.fontSize}px`,
46
+ fontWeight: defaults.fontWeight,
47
+ lineHeight: defaults.lineHeight,
48
+ }),
49
+ textAlign: resolveTextAlignForTier(resolvedAlign, tier, 'left'),
50
+ }, ...alignAttrs, children: text }) }));
51
+ };
52
+ const HeadingPublishedRender = (props) => {
53
+ const { level, text, ...box } = props;
54
+ const Tag = normalizeHeadingLevel(level);
55
+ const resolvedAlign = resolveHeadingAlign(props);
56
+ const alignAttrs = textAlignDataAttrs(resolvedAlign, 'left');
57
+ const defaults = headingDefaults(Tag);
58
+ const useResponsiveSize = hasCustomFontSize(props.fontSize);
59
+ return (_jsx(BoxStyled, { ...box, children: _jsx(Tag, { className: `cmsc:font-sans cmsc:m-0 cmsc:text-[#15202b] cmsc:font-bold ${responsiveTextAlignClass(resolvedAlign, 'left')} ${useResponsiveSize ? 'cmsc-pb-text-size cmsc-pb-text-weight cmsc-pb-text-leading' : ''}`, style: {
60
+ ...(useResponsiveSize ? responsiveTypographyVars(props, defaults) : {}),
61
+ ...typographyStyle({
62
+ ...(props.fontFamily !== undefined ? { fontFamily: props.fontFamily } : {}),
63
+ ...(props.fontStyle !== undefined ? { fontStyle: props.fontStyle } : {}),
64
+ color: props.color,
65
+ }),
66
+ ...(!useResponsiveSize
67
+ ? {
68
+ fontSize: `${defaults.fontSize}px`,
69
+ fontWeight: defaults.fontWeight,
70
+ lineHeight: defaults.lineHeight,
71
+ }
72
+ : {}),
73
+ }, ...alignAttrs, children: text }) }));
74
+ };
75
+ const headingConfig = {
76
+ label: 'Heading',
77
+ fields: {
78
+ level: {
79
+ type: 'select',
80
+ label: 'Level',
81
+ options: [
82
+ { label: 'H1', value: 'h1' },
83
+ { label: 'H2', value: 'h2' },
84
+ { label: 'H3', value: 'h3' },
85
+ { label: 'H4', value: 'h4' },
86
+ { label: 'H5', value: 'h5' },
87
+ { label: 'H6', value: 'h6' },
88
+ ],
89
+ },
90
+ text: { type: 'textarea', label: 'Text', contentEditable: true },
91
+ ...TEXT_TYPOGRAPHY_FIELDS,
92
+ margin: BOX_MARGIN_FIELD,
93
+ padding: BOX_PADDING_FIELD,
94
+ border: BOX_BORDER_FIELD,
95
+ },
96
+ defaultProps: {
97
+ level: 'h2',
98
+ text: 'Section heading',
99
+ fontFamily: 'sans',
100
+ fontStyle: 'normal',
101
+ color: '#15202b',
102
+ fontWeight: 700,
103
+ textAlign: 'left',
104
+ lineHeight: 1.12,
105
+ ...DEFAULT_BOX_PROPS,
106
+ },
107
+ resolveData: async ({ props }) => {
108
+ if (props.align !== undefined && props.textAlign === undefined) {
109
+ return { props: { ...props, textAlign: props.align } };
110
+ }
111
+ return { props };
112
+ },
113
+ render: (props) => props.puck?.isEditing ? _jsx(HeadingEditingRender, { ...props }) : _jsx(HeadingPublishedRender, { ...props }),
114
+ };
115
+ export const Heading = withHideOn(headingConfig);
116
+ //# sourceMappingURL=Heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading.js","sourceRoot":"","sources":["../../src/components/Heading.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { type PuckComponent } from '@measured/puck';
2
+ import type { HeroProps } from '../schema/component-types.js';
3
+ export declare const Hero: {
4
+ render: PuckComponent<HeroProps>;
5
+ label?: string;
6
+ defaultProps?: HeroProps;
7
+ fields?: import("@measured/puck").Fields<HeroProps, {}>;
8
+ permissions?: Partial<import("@measured/puck").Permissions>;
9
+ inline?: boolean;
10
+ resolveFields?: (data: Omit<import("@measured/puck").ComponentData<HeroProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
11
+ changed: Partial<Record<keyof HeroProps, boolean> & {
12
+ id: string;
13
+ }>;
14
+ fields: import("@measured/puck").Fields<HeroProps, {}>;
15
+ lastFields: import("@measured/puck").Fields<HeroProps, {}>;
16
+ lastData: Omit<import("@measured/puck").ComponentData<HeroProps, 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<HeroProps, {}> | Promise<import("@measured/puck").Fields<HeroProps, {}>>;
20
+ resolveData?: (data: Omit<import("@measured/puck").ComponentData<HeroProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
21
+ changed: Partial<Record<keyof HeroProps, boolean> & {
22
+ id: string;
23
+ }>;
24
+ lastData: Omit<import("@measured/puck").ComponentData<HeroProps, 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<HeroProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
28
+ props?: Partial<HeroProps>;
29
+ }) | Promise<Omit<Omit<import("@measured/puck").ComponentData<HeroProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
30
+ props?: Partial<HeroProps>;
31
+ }>;
32
+ resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<HeroProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
33
+ changed: Partial<Record<keyof HeroProps, 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<HeroProps, 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=Hero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../src/components/Hero.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAc1E,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAoR7E,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC"}
@@ -0,0 +1,186 @@
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, buildResponsiveSpacingVars, createColorField, resolveResponsive, resolveResponsiveNumber, spacingStyleForTier, 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 { BACKGROUND_FIELD, BOX_BORDER_FIELD, BOX_MARGIN_FIELD, BOX_PADDING_FIELD, CORNER_RADIUS_FIELD, DEFAULT_BOX_PROPS, SHADOW_FIELD, } from '../fields/shared-fields.js';
9
+ import { resolveButtonHref } from './button-link.js';
10
+ const variantStyles = {
11
+ primary: 'cmsc-pb-btn-primary',
12
+ secondary: 'cmsc-pb-btn-secondary',
13
+ ghost: 'cmsc-pb-btn-ghost',
14
+ };
15
+ function contentPaddingStyle(padding, tier) {
16
+ if (tier)
17
+ return spacingStyleForTier(padding, tier, 'padding');
18
+ return buildResponsiveSpacingVars('padding', padding);
19
+ }
20
+ function buttonColorStyle(props) {
21
+ const style = {};
22
+ if (props.buttonBackgroundColor && props.buttonBackgroundColor !== 'transparent') {
23
+ style.backgroundColor = props.buttonBackgroundColor;
24
+ style.borderColor = props.buttonBackgroundColor;
25
+ }
26
+ if (props.buttonTextColor && props.buttonTextColor !== 'transparent') {
27
+ style.color = props.buttonTextColor;
28
+ }
29
+ return style;
30
+ }
31
+ function variantClasses(variant) {
32
+ const mobile = resolveResponsive(variant, 'mobile', 'primary');
33
+ const tablet = resolveResponsive(variant, 'tablet', 'primary');
34
+ const desktop = resolveResponsive(variant, 'desktop', 'primary');
35
+ const classes = [variantStyles[mobile], 'cmsc-pb-btn-variant', 'cmsc-pb-hero__cta'];
36
+ if (tablet !== mobile)
37
+ classes.push(`cmsc-pb-btn-variant-md-${tablet}`);
38
+ if (desktop !== tablet)
39
+ classes.push(`cmsc-pb-btn-variant-lg-${desktop}`);
40
+ return classes.join(' ');
41
+ }
42
+ const HERO_FIELDS = {
43
+ heading: { type: 'text', label: 'Heading' },
44
+ subtitle: { type: 'textarea', label: 'Subtitle' },
45
+ buttonLabel: { type: 'text', label: 'Button label' },
46
+ buttonLinkType: {
47
+ type: 'select',
48
+ label: 'Button link type',
49
+ options: [
50
+ { label: 'Static URL', value: 'url' },
51
+ { label: 'Product', value: 'product' },
52
+ { label: 'Category', value: 'category' },
53
+ { label: 'CMS page', value: 'page' },
54
+ ],
55
+ },
56
+ buttonLinkSlug: { type: 'text', label: 'Button link target (slug)' },
57
+ buttonHref: { type: 'text', label: 'Button URL' },
58
+ buttonTarget: {
59
+ type: 'select',
60
+ label: 'Button target',
61
+ options: [
62
+ { label: 'Same tab', value: '_self' },
63
+ { label: 'New tab', value: '_blank' },
64
+ ],
65
+ },
66
+ buttonVariant: {
67
+ type: 'select',
68
+ label: 'Button variant',
69
+ metadata: PB_RESPONSIVE_METADATA,
70
+ options: [
71
+ { label: 'Primary', value: 'primary' },
72
+ { label: 'Secondary', value: 'secondary' },
73
+ { label: 'Ghost', value: 'ghost' },
74
+ ],
75
+ },
76
+ buttonBackgroundColor: createColorField({ label: 'Button background' }),
77
+ buttonTextColor: createColorField({ label: 'Button text color' }),
78
+ background: BACKGROUND_FIELD,
79
+ overlayOpacity: {
80
+ type: 'number',
81
+ label: 'Overlay opacity (%)',
82
+ min: 0,
83
+ max: 90,
84
+ step: 5,
85
+ },
86
+ textColor: createColorField({ label: 'Text color' }),
87
+ contentAlign: {
88
+ type: 'select',
89
+ label: 'Content align',
90
+ options: [
91
+ { label: 'Left', value: 'left' },
92
+ { label: 'Center', value: 'center' },
93
+ { label: 'Right', value: 'right' },
94
+ ],
95
+ },
96
+ minHeightPx: {
97
+ type: 'number',
98
+ label: 'Min height (px)',
99
+ min: 160,
100
+ max: 900,
101
+ step: 8,
102
+ metadata: PB_RESPONSIVE_METADATA,
103
+ },
104
+ cornerRadius: CORNER_RADIUS_FIELD,
105
+ shadow: SHADOW_FIELD,
106
+ margin: BOX_MARGIN_FIELD,
107
+ padding: BOX_PADDING_FIELD,
108
+ border: BOX_BORDER_FIELD,
109
+ };
110
+ function HeroBody({ props, tier, editing, }) {
111
+ const { heading, subtitle = '', buttonLabel = '', buttonHref = '', buttonLinkType = 'url', buttonLinkSlug = '', buttonTarget = '_self', buttonVariant = 'primary', buttonBackgroundColor, buttonTextColor, minHeightPx = 320, contentAlign = 'left', overlayOpacity = 40, textColor = '#ffffff', background, cornerRadius, shadow, padding, margin, border, ...rest } = props;
112
+ const minHeight = resolveResponsiveNumber(minHeightPx, tier, 320);
113
+ const overlayAlpha = Math.min(100, Math.max(0, overlayOpacity)) / 100;
114
+ const resolvedHref = resolveButtonHref({
115
+ linkType: buttonLinkType,
116
+ linkSlug: buttonLinkSlug,
117
+ href: buttonHref,
118
+ });
119
+ const resolvedVariant = resolveResponsive(buttonVariant, tier, 'primary');
120
+ const colorStyle = buttonColorStyle({ buttonBackgroundColor, buttonTextColor });
121
+ const hasCustomColors = Object.keys(colorStyle).length > 0;
122
+ return (_jsx(BoxStyled, { ...rest, ...(margin !== undefined ? { margin } : {}), ...(border !== undefined ? { border } : {}), ...(background !== undefined ? { background } : {}), ...(cornerRadius !== undefined ? { cornerRadius } : {}), ...(shadow !== undefined ? { shadow } : {}), ...(editing ? { previewTier: tier } : {}), className: "cmsc-pb-hero", style: {
123
+ minHeight: `${minHeight}px`,
124
+ color: textColor,
125
+ ['--cmsc-hero-overlay']: String(overlayAlpha),
126
+ }, children: _jsxs("div", { className: "cmsc-pb-hero__frame", children: [_jsx("div", { className: "cmsc-pb-hero__overlay", "aria-hidden": true }), _jsxs("div", { className: `cmsc-pb-hero__content${editing ? '' : ' cmsc-pb-padding'}`, style: {
127
+ textAlign: contentAlign,
128
+ ...contentPaddingStyle(padding, editing ? tier : null),
129
+ }, children: [_jsx("h2", { className: "cmsc-pb-hero__heading", children: heading }), subtitle ? _jsx("p", { className: "cmsc-pb-hero__subtitle", children: subtitle }) : null, buttonLabel ? (_jsx("a", { className: hasCustomColors
130
+ ? 'cmsc-pb-hero__cta cmsc:inline-flex cmsc:items-center cmsc:justify-center cmsc:min-h-[40px] cmsc:px-[18px] cmsc:border cmsc:border-solid cmsc:rounded-[8px] cmsc:text-[14px] cmsc:font-bold cmsc:leading-none cmsc:no-underline'
131
+ : editing
132
+ ? `${variantStyles[resolvedVariant]} cmsc-pb-btn-variant cmsc-pb-hero__cta cmsc:inline-flex cmsc:items-center cmsc:justify-center cmsc:min-h-[40px] cmsc:px-[18px] cmsc:border cmsc:border-solid cmsc:rounded-[8px] cmsc:text-[14px] cmsc:font-bold cmsc:leading-none cmsc:no-underline`
133
+ : `${variantClasses(buttonVariant)} cmsc:inline-flex cmsc:items-center cmsc:justify-center cmsc:min-h-[40px] cmsc:px-[18px] cmsc:border cmsc:border-solid cmsc:rounded-[8px] cmsc:text-[14px] cmsc:font-bold cmsc:leading-none cmsc:no-underline`, href: resolvedHref || '#', target: buttonTarget, rel: buttonTarget === '_blank' ? 'noreferrer' : undefined, style: colorStyle, children: buttonLabel })) : null] })] }) }));
134
+ }
135
+ const HeroEditingRender = (props) => (_jsx(HeroBody, { props: props, tier: usePreviewBreakpointTier(), editing: true }));
136
+ const HeroPublishedRender = (props) => (_jsx(HeroBody, { props: props, tier: useViewportBreakpointTier(), editing: false }));
137
+ const heroConfig = {
138
+ label: 'Hero / CTA banner',
139
+ fields: HERO_FIELDS,
140
+ defaultProps: {
141
+ heading: 'Grow your B2B sales',
142
+ subtitle: 'Publish landing pages with catalog, content, and CTAs in one place.',
143
+ buttonLabel: 'Get started',
144
+ buttonLinkType: 'url',
145
+ buttonLinkSlug: '',
146
+ buttonHref: '/',
147
+ buttonTarget: '_self',
148
+ buttonVariant: 'primary',
149
+ minHeightPx: 360,
150
+ contentAlign: 'left',
151
+ overlayOpacity: 45,
152
+ textColor: '#ffffff',
153
+ ...DEFAULT_BOX_PROPS,
154
+ background: {
155
+ kind: 'gradient',
156
+ gradientFrom: '#0f766e',
157
+ gradientTo: '#134e4a',
158
+ gradientAngle: 135,
159
+ },
160
+ padding: { mode: 'uniform', value: 48 },
161
+ },
162
+ resolveFields: (data) => {
163
+ const linkType = data.props.buttonLinkType ?? 'url';
164
+ if (linkType === 'url') {
165
+ const { buttonLinkSlug: _removed, ...rest } = HERO_FIELDS;
166
+ return rest;
167
+ }
168
+ const { buttonHref: _removed, ...rest } = HERO_FIELDS;
169
+ return rest;
170
+ },
171
+ resolveData: async ({ props }) => {
172
+ const linkType = props.buttonLinkType ?? 'url';
173
+ const href = resolveButtonHref({
174
+ linkType,
175
+ linkSlug: props.buttonLinkSlug,
176
+ href: props.buttonHref,
177
+ });
178
+ if (linkType !== 'url' && href !== props.buttonHref) {
179
+ return { props: { ...props, buttonHref: href } };
180
+ }
181
+ return { props };
182
+ },
183
+ render: (props) => props.puck?.isEditing ? _jsx(HeroEditingRender, { ...props }) : _jsx(HeroPublishedRender, { ...props }),
184
+ };
185
+ export const Hero = withHideOn(heroConfig);
186
+ //# sourceMappingURL=Hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hero.js","sourceRoot":"","sources":["../../src/components/Hero.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Field } from '@measured/puck';
2
+ export declare function createIconPickerField(label?: string): Field<string>;
3
+ //# sourceMappingURL=IconPickerField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconPickerField.d.ts","sourceRoot":"","sources":["../../src/components/IconPickerField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA4E5C,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAanE"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useMemo, useState } from 'react';
4
+ import { FieldLabel } from '@measured/puck';
5
+ import { CMS_ICON_CATALOG, humanizeIconName, resolveCmsIcon, } from './icon-catalog.js';
6
+ function IconPickerControl({ value, onChange, readOnly, label, }) {
7
+ const [query, setQuery] = useState('');
8
+ const selected = (value && value in CMS_ICON_CATALOG ? value : 'star');
9
+ const SelectedIcon = resolveCmsIcon(selected);
10
+ const filtered = useMemo(() => {
11
+ const q = query.trim().toLowerCase();
12
+ const names = Object.keys(CMS_ICON_CATALOG);
13
+ if (!q)
14
+ return names;
15
+ return names.filter((name) => name.toLowerCase().includes(q) || humanizeIconName(name).toLowerCase().includes(q));
16
+ }, [query]);
17
+ return (_jsx(FieldLabel, { label: label, ...(readOnly === true ? { readOnly: true } : {}), children: _jsxs("div", { className: "cmsc-pb-icon-picker", children: [_jsxs("div", { className: "cmsc-pb-icon-picker__selected", children: [SelectedIcon ? _jsx(SelectedIcon, { size: 22, "aria-hidden": true }) : null, _jsx("span", { children: humanizeIconName(selected) })] }), _jsx("input", { type: "search", className: "cmsc-pb-icon-picker__search", placeholder: "Search icons\u2026", value: query, disabled: readOnly === true, onChange: (e) => setQuery(e.target.value) }), _jsx("div", { className: "cmsc-pb-icon-picker__grid", role: "listbox", "aria-label": "Icons", children: filtered.map((name) => {
18
+ const Icon = CMS_ICON_CATALOG[name];
19
+ const isActive = name === selected;
20
+ return (_jsx("button", { type: "button", role: "option", "aria-selected": isActive, title: humanizeIconName(name), disabled: readOnly === true, className: `cmsc-pb-icon-picker__item${isActive ? ' cmsc-pb-icon-picker__item--active' : ''}`, onClick: () => onChange(name), children: _jsx(Icon, { size: 18, "aria-hidden": true }) }, name));
21
+ }) }), filtered.length === 0 ? (_jsxs("p", { className: "cmsc-pb-icon-picker__empty", children: ["No icons match \u201C", query, "\u201D."] })) : null] }) }));
22
+ }
23
+ export function createIconPickerField(label = 'Icon') {
24
+ return {
25
+ type: 'custom',
26
+ label,
27
+ render: ({ value, onChange, readOnly }) => (_jsx(IconPickerControl, { value: value, onChange: onChange, label: label, ...(readOnly === true ? { readOnly: true } : {}) })),
28
+ };
29
+ }
30
+ //# sourceMappingURL=IconPickerField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconPickerField.js","sourceRoot":"","sources":["../../src/components/IconPickerField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAqB,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAEf,MAAM,mBAAmB,CAAC;AAE3B,SAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,GAMN;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAgB,CAAC;IACtF,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAkB,CAAC;QAC7D,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC7F,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,KAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YACzE,eAAK,SAAS,EAAC,qBAAqB,aAClC,eAAK,SAAS,EAAC,+BAA+B,aAC3C,YAAY,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,wBAAgB,CAAC,CAAC,CAAC,IAAI,EAC7D,yBAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAQ,IACrC,EACN,gBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6BAA6B,EACvC,WAAW,EAAC,oBAAe,EAC3B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAC3B,QAAQ,EAAE,CAAC,CAAC,EAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC/C,EACF,cAAK,SAAS,EAAC,2BAA2B,EAAC,IAAI,EAAC,SAAS,gBAAY,OAAO,YACzE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;wBACnC,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,mBACE,QAAQ,EACvB,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC7B,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAC3B,SAAS,EAAE,4BAA4B,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,EAAE,EAC7F,OAAO,EAAE,GAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAEnC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,wBAAgB,IATzB,IAAI,CAUF,CACV,CAAC;oBACJ,CAAC,CAAC,GACE,EACL,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,aAAG,SAAS,EAAC,4BAA4B,sCAAkB,KAAK,eAAO,CACxE,CAAC,CAAC,CAAC,IAAI,IACJ,GACK,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAK,GAAG,MAAM;IAClD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACzC,KAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,KACR,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACjD,CACH;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type PuckComponent } from '@measured/puck';
2
+ import type { IconsProps } from '../schema/component-types.js';
3
+ export declare const Icons: {
4
+ render: PuckComponent<IconsProps>;
5
+ label?: string;
6
+ defaultProps?: IconsProps;
7
+ fields?: import("@measured/puck").Fields<IconsProps, {}>;
8
+ permissions?: Partial<import("@measured/puck").Permissions>;
9
+ inline?: boolean;
10
+ resolveFields?: (data: Omit<import("@measured/puck").ComponentData<IconsProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
11
+ changed: Partial<Record<keyof IconsProps, boolean> & {
12
+ id: string;
13
+ }>;
14
+ fields: import("@measured/puck").Fields<IconsProps, {}>;
15
+ lastFields: import("@measured/puck").Fields<IconsProps, {}>;
16
+ lastData: Omit<import("@measured/puck").ComponentData<IconsProps, 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<IconsProps, {}> | Promise<import("@measured/puck").Fields<IconsProps, {}>>;
20
+ resolveData?: (data: Omit<import("@measured/puck").ComponentData<IconsProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
21
+ changed: Partial<Record<keyof IconsProps, boolean> & {
22
+ id: string;
23
+ }>;
24
+ lastData: Omit<import("@measured/puck").ComponentData<IconsProps, 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<IconsProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
28
+ props?: Partial<IconsProps>;
29
+ }) | Promise<Omit<Omit<import("@measured/puck").ComponentData<IconsProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
30
+ props?: Partial<IconsProps>;
31
+ }>;
32
+ resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<IconsProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
33
+ changed: Partial<Record<keyof IconsProps, 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<IconsProps, 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=Icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icons.d.ts","sourceRoot":"","sources":["../../src/components/Icons.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AA8G/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC"}
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import {} from '@measured/puck';
4
+ import { createColorField, resolveTextAlignForTier, responsiveTextAlignClass, textAlignDataAttrs, 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
+ import { createIconPickerField } from './IconPickerField.js';
9
+ import { resolveCmsIcon } from './icon-catalog.js';
10
+ function IconsBody({ props, tier, editing, }) {
11
+ const { name, size = 32, color = '#15202b', strokeWidth = 2, align, href, linkTarget, ...box } = props;
12
+ const Icon = resolveCmsIcon(name);
13
+ const alignAttrs = textAlignDataAttrs(align, 'left');
14
+ const iconNode = Icon ? (_jsx(Icon, { size: size, color: color, strokeWidth: strokeWidth, "aria-hidden": !href })) : editing ? (_jsx("span", { className: "cmsc:text-sm cmsc:text-[#64748b]", children: "Select an icon" })) : null;
15
+ const content = href && Icon ? (_jsx("a", { href: href, target: linkTarget ?? '_self', rel: linkTarget === '_blank' ? 'noreferrer' : undefined, className: "cmsc:inline-flex", "aria-label": name, children: iconNode })) : (_jsx("span", { className: "cmsc:inline-flex", children: iconNode }));
16
+ return (_jsx(BoxStyled, { ...box, ...(editing && tier ? { previewTier: tier } : {}), children: _jsx("div", { className: tier ? 'cmsc-pb-text-align' : responsiveTextAlignClass(align, 'left'), style: tier ? { textAlign: resolveTextAlignForTier(align, tier, 'left') } : undefined, ...alignAttrs, children: content }) }));
17
+ }
18
+ const IconsEditingRender = (props) => (_jsx(IconsBody, { props: props, tier: usePreviewBreakpointTier(), editing: true }));
19
+ const IconsPublishedRender = (props) => (_jsx(IconsBody, { props: props, tier: null, editing: false }));
20
+ const iconsConfig = {
21
+ label: 'Icons',
22
+ fields: {
23
+ name: createIconPickerField('Icon'),
24
+ size: { type: 'number', label: 'Size (px)', min: 12, max: 128, step: 2 },
25
+ color: createColorField({ label: 'Color' }),
26
+ strokeWidth: { type: 'number', label: 'Stroke width', min: 1, max: 3, step: 0.25 },
27
+ align: {
28
+ type: 'select',
29
+ label: 'Align',
30
+ options: [
31
+ { label: 'Left', value: 'left' },
32
+ { label: 'Center', value: 'center' },
33
+ { label: 'Right', value: 'right' },
34
+ ],
35
+ },
36
+ href: { type: 'text', label: 'Link URL (optional)' },
37
+ linkTarget: {
38
+ type: 'select',
39
+ label: 'Link target',
40
+ options: [
41
+ { label: 'Same tab', value: '_self' },
42
+ { label: 'New tab', value: '_blank' },
43
+ ],
44
+ },
45
+ margin: BOX_MARGIN_FIELD,
46
+ padding: BOX_PADDING_FIELD,
47
+ border: BOX_BORDER_FIELD,
48
+ },
49
+ defaultProps: {
50
+ name: 'star',
51
+ size: 32,
52
+ color: '#15202b',
53
+ strokeWidth: 2,
54
+ align: 'left',
55
+ href: '',
56
+ linkTarget: '_self',
57
+ ...DEFAULT_BOX_PROPS,
58
+ },
59
+ render: (props) => props.puck?.isEditing ? _jsx(IconsEditingRender, { ...props }) : _jsx(IconsPublishedRender, { ...props }),
60
+ };
61
+ export const Icons = withHideOn(iconsConfig);
62
+ //# sourceMappingURL=Icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/components/Icons.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { type PuckComponent } from '@measured/puck';
2
+ import type { ImageProps } from '../schema/component-types.js';
3
+ export declare const Image: {
4
+ render: PuckComponent<ImageProps>;
5
+ label?: string;
6
+ defaultProps?: ImageProps;
7
+ fields?: import("@measured/puck").Fields<ImageProps, {}>;
8
+ permissions?: Partial<import("@measured/puck").Permissions>;
9
+ inline?: boolean;
10
+ resolveFields?: (data: Omit<import("@measured/puck").ComponentData<ImageProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
11
+ changed: Partial<Record<keyof ImageProps, boolean> & {
12
+ id: string;
13
+ }>;
14
+ fields: import("@measured/puck").Fields<ImageProps, {}>;
15
+ lastFields: import("@measured/puck").Fields<ImageProps, {}>;
16
+ lastData: Omit<import("@measured/puck").ComponentData<ImageProps, 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<ImageProps, {}> | Promise<import("@measured/puck").Fields<ImageProps, {}>>;
20
+ resolveData?: (data: Omit<import("@measured/puck").ComponentData<ImageProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
21
+ changed: Partial<Record<keyof ImageProps, boolean> & {
22
+ id: string;
23
+ }>;
24
+ lastData: Omit<import("@measured/puck").ComponentData<ImageProps, 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<ImageProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
28
+ props?: Partial<ImageProps>;
29
+ }) | Promise<Omit<Omit<import("@measured/puck").ComponentData<ImageProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, "props"> & {
30
+ props?: Partial<ImageProps>;
31
+ }>;
32
+ resolvePermissions?: (data: Omit<import("@measured/puck").ComponentData<ImageProps, string, Record<string, import("@measured/puck").DefaultComponentProps>>, "type">, params: {
33
+ changed: Partial<Record<keyof ImageProps, 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<ImageProps, 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=Image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAe1E,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,8BAA8B,CAAC;AAwT/E,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC"}