@meetelise/studio-components 0.0.18 → 0.0.20

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 (205) hide show
  1. package/dist/componentSchema.json +118 -16
  2. package/dist/components/Accordion.d.ts +3 -2
  3. package/dist/components/Accordion.d.ts.map +1 -1
  4. package/dist/components/Accordion.js +2 -2
  5. package/dist/components/Accordion.js.map +1 -1
  6. package/dist/components/AddressBlock.d.ts +3 -2
  7. package/dist/components/AddressBlock.d.ts.map +1 -1
  8. package/dist/components/AddressBlock.js +2 -2
  9. package/dist/components/AddressBlock.js.map +1 -1
  10. package/dist/components/AmenityList.d.ts +3 -2
  11. package/dist/components/AmenityList.d.ts.map +1 -1
  12. package/dist/components/AmenityList.js +4 -4
  13. package/dist/components/AmenityList.js.map +1 -1
  14. package/dist/components/Badge.d.ts +3 -2
  15. package/dist/components/Badge.d.ts.map +1 -1
  16. package/dist/components/Badge.js +2 -2
  17. package/dist/components/Badge.js.map +1 -1
  18. package/dist/components/Button.d.ts +3 -2
  19. package/dist/components/Button.d.ts.map +1 -1
  20. package/dist/components/Button.js +2 -2
  21. package/dist/components/Button.js.map +1 -1
  22. package/dist/components/CTABanner.d.ts +3 -2
  23. package/dist/components/CTABanner.d.ts.map +1 -1
  24. package/dist/components/CTABanner.js +2 -2
  25. package/dist/components/CTABanner.js.map +1 -1
  26. package/dist/components/ContactForm.d.ts +3 -2
  27. package/dist/components/ContactForm.d.ts.map +1 -1
  28. package/dist/components/ContactForm.js +7 -4
  29. package/dist/components/ContactForm.js.map +1 -1
  30. package/dist/components/Container.d.ts +3 -2
  31. package/dist/components/Container.d.ts.map +1 -1
  32. package/dist/components/Container.js +2 -2
  33. package/dist/components/Container.js.map +1 -1
  34. package/dist/components/Divider.d.ts +3 -2
  35. package/dist/components/Divider.d.ts.map +1 -1
  36. package/dist/components/Divider.js +3 -3
  37. package/dist/components/Divider.js.map +1 -1
  38. package/dist/components/FeatureCard.d.ts +3 -2
  39. package/dist/components/FeatureCard.d.ts.map +1 -1
  40. package/dist/components/FeatureCard.js +2 -2
  41. package/dist/components/FeatureCard.js.map +1 -1
  42. package/dist/components/Footer.d.ts +3 -3
  43. package/dist/components/Footer.d.ts.map +1 -1
  44. package/dist/components/Footer.js +2 -2
  45. package/dist/components/Footer.js.map +1 -1
  46. package/dist/components/Gallery.d.ts +3 -2
  47. package/dist/components/Gallery.d.ts.map +1 -1
  48. package/dist/components/Gallery.js +3 -3
  49. package/dist/components/Gallery.js.map +1 -1
  50. package/dist/components/Grid.d.ts +3 -2
  51. package/dist/components/Grid.d.ts.map +1 -1
  52. package/dist/components/Grid.js +2 -2
  53. package/dist/components/Grid.js.map +1 -1
  54. package/dist/components/Icon.d.ts +3 -2
  55. package/dist/components/Icon.d.ts.map +1 -1
  56. package/dist/components/Icon.js +2 -2
  57. package/dist/components/Icon.js.map +1 -1
  58. package/dist/components/Image.d.ts +3 -2
  59. package/dist/components/Image.d.ts.map +1 -1
  60. package/dist/components/Image.js +2 -2
  61. package/dist/components/Image.js.map +1 -1
  62. package/dist/components/Link.d.ts +3 -2
  63. package/dist/components/Link.d.ts.map +1 -1
  64. package/dist/components/Link.js +2 -2
  65. package/dist/components/Link.js.map +1 -1
  66. package/dist/components/LocationsDirectory.d.ts +18 -0
  67. package/dist/components/LocationsDirectory.d.ts.map +1 -0
  68. package/dist/components/LocationsDirectory.js +72 -0
  69. package/dist/components/LocationsDirectory.js.map +1 -0
  70. package/dist/components/MapEmbed.d.ts +3 -2
  71. package/dist/components/MapEmbed.d.ts.map +1 -1
  72. package/dist/components/MapEmbed.js +2 -2
  73. package/dist/components/MapEmbed.js.map +1 -1
  74. package/dist/components/Modal.d.ts +3 -2
  75. package/dist/components/Modal.d.ts.map +1 -1
  76. package/dist/components/Modal.js +2 -2
  77. package/dist/components/Modal.js.map +1 -1
  78. package/dist/components/Nav.d.ts +3 -3
  79. package/dist/components/Nav.d.ts.map +1 -1
  80. package/dist/components/Nav.js +2 -2
  81. package/dist/components/Nav.js.map +1 -1
  82. package/dist/components/PropertyCard.d.ts +15 -0
  83. package/dist/components/PropertyCard.d.ts.map +1 -0
  84. package/dist/components/PropertyCard.js +31 -0
  85. package/dist/components/PropertyCard.js.map +1 -0
  86. package/dist/components/PropertyGrid.d.ts +13 -0
  87. package/dist/components/PropertyGrid.d.ts.map +1 -0
  88. package/dist/components/PropertyGrid.js +55 -0
  89. package/dist/components/PropertyGrid.js.map +1 -0
  90. package/dist/components/Repeat.d.ts.map +1 -1
  91. package/dist/components/Repeat.js +10 -1
  92. package/dist/components/Repeat.js.map +1 -1
  93. package/dist/components/ScheduleTour.d.ts +3 -2
  94. package/dist/components/ScheduleTour.d.ts.map +1 -1
  95. package/dist/components/ScheduleTour.js +6 -4
  96. package/dist/components/ScheduleTour.js.map +1 -1
  97. package/dist/components/ScrollReveal.d.ts +3 -2
  98. package/dist/components/ScrollReveal.d.ts.map +1 -1
  99. package/dist/components/ScrollReveal.js +2 -2
  100. package/dist/components/ScrollReveal.js.map +1 -1
  101. package/dist/components/Section.d.ts +3 -2
  102. package/dist/components/Section.d.ts.map +1 -1
  103. package/dist/components/Section.js +2 -2
  104. package/dist/components/Section.js.map +1 -1
  105. package/dist/components/Stack.d.ts +3 -2
  106. package/dist/components/Stack.d.ts.map +1 -1
  107. package/dist/components/Stack.js +2 -2
  108. package/dist/components/Stack.js.map +1 -1
  109. package/dist/components/Stat.d.ts +3 -2
  110. package/dist/components/Stat.d.ts.map +1 -1
  111. package/dist/components/Stat.js +2 -2
  112. package/dist/components/Stat.js.map +1 -1
  113. package/dist/components/Testimonial.d.ts +3 -2
  114. package/dist/components/Testimonial.d.ts.map +1 -1
  115. package/dist/components/Testimonial.js +2 -2
  116. package/dist/components/Testimonial.js.map +1 -1
  117. package/dist/components/Text.d.ts +3 -2
  118. package/dist/components/Text.d.ts.map +1 -1
  119. package/dist/components/Text.js +2 -2
  120. package/dist/components/Text.js.map +1 -1
  121. package/dist/components/ThemeProvider.d.ts +3 -3
  122. package/dist/components/ThemeProvider.d.ts.map +1 -1
  123. package/dist/components/ThemeProvider.js +3 -18
  124. package/dist/components/ThemeProvider.js.map +1 -1
  125. package/dist/components/VideoHero.d.ts +3 -2
  126. package/dist/components/VideoHero.d.ts.map +1 -1
  127. package/dist/components/VideoHero.js +2 -2
  128. package/dist/components/VideoHero.js.map +1 -1
  129. package/dist/components/VideoPlayer.d.ts +3 -2
  130. package/dist/components/VideoPlayer.d.ts.map +1 -1
  131. package/dist/components/VideoPlayer.js +2 -2
  132. package/dist/components/VideoPlayer.js.map +1 -1
  133. package/dist/components/VirtualTourEmbed.d.ts +3 -2
  134. package/dist/components/VirtualTourEmbed.d.ts.map +1 -1
  135. package/dist/components/VirtualTourEmbed.js +2 -2
  136. package/dist/components/VirtualTourEmbed.js.map +1 -1
  137. package/dist/components/browser/ComponentBrowser.d.ts +2 -1
  138. package/dist/components/browser/ComponentBrowser.d.ts.map +1 -1
  139. package/dist/components/browser/ComponentBrowser.js +8 -8
  140. package/dist/components/browser/ComponentBrowser.js.map +1 -1
  141. package/dist/components/browser/ComponentShowcase.d.ts +3 -2
  142. package/dist/components/browser/ComponentShowcase.d.ts.map +1 -1
  143. package/dist/components/browser/ComponentShowcase.js +2 -2
  144. package/dist/components/browser/ComponentShowcase.js.map +1 -1
  145. package/dist/components/browser/componentMeta.d.ts +1 -1
  146. package/dist/components/browser/componentMeta.d.ts.map +1 -1
  147. package/dist/components/browser/componentMeta.js +43 -0
  148. package/dist/components/browser/componentMeta.js.map +1 -1
  149. package/dist/components/registry.d.ts.map +1 -1
  150. package/dist/components/registry.js +6 -2
  151. package/dist/components/registry.js.map +1 -1
  152. package/dist/components/units/FloorplanExplorer.d.ts +3 -2
  153. package/dist/components/units/FloorplanExplorer.d.ts.map +1 -1
  154. package/dist/components/units/FloorplanExplorer.js +5 -5
  155. package/dist/components/units/FloorplanExplorer.js.map +1 -1
  156. package/dist/components/units/UnitExplorer.d.ts +3 -2
  157. package/dist/components/units/UnitExplorer.d.ts.map +1 -1
  158. package/dist/components/units/UnitExplorer.js +3 -3
  159. package/dist/components/units/UnitExplorer.js.map +1 -1
  160. package/dist/components/units/UnitPage.d.ts +3 -2
  161. package/dist/components/units/UnitPage.d.ts.map +1 -1
  162. package/dist/components/units/UnitPage.js +5 -5
  163. package/dist/components/units/UnitPage.js.map +1 -1
  164. package/dist/hooks/useProperties.d.ts +58 -0
  165. package/dist/hooks/useProperties.d.ts.map +1 -0
  166. package/dist/hooks/useProperties.js +56 -0
  167. package/dist/hooks/useProperties.js.map +1 -0
  168. package/dist/index.d.ts +7 -14
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js +4 -15
  171. package/dist/index.js.map +1 -1
  172. package/dist/renderer.d.ts +6 -2
  173. package/dist/renderer.d.ts.map +1 -1
  174. package/dist/renderer.js +18 -8
  175. package/dist/renderer.js.map +1 -1
  176. package/dist/router.d.ts +2 -0
  177. package/dist/router.d.ts.map +1 -1
  178. package/dist/router.js +31 -1
  179. package/dist/router.js.map +1 -1
  180. package/dist/schema/componentSchema.d.ts.map +1 -1
  181. package/dist/schema/componentSchema.js +54 -13
  182. package/dist/schema/componentSchema.js.map +1 -1
  183. package/dist/types.d.ts +8 -0
  184. package/dist/types.d.ts.map +1 -1
  185. package/dist/utils/nodeIdentity.d.ts +49 -0
  186. package/dist/utils/nodeIdentity.d.ts.map +1 -0
  187. package/dist/utils/nodeIdentity.js +275 -0
  188. package/dist/utils/nodeIdentity.js.map +1 -0
  189. package/dist/utils/resolveConfig.d.ts +5 -0
  190. package/dist/utils/resolveConfig.d.ts.map +1 -1
  191. package/dist/utils/resolveConfig.js +92 -37
  192. package/dist/utils/resolveConfig.js.map +1 -1
  193. package/dist/utils/themeTokens.d.ts +15 -0
  194. package/dist/utils/themeTokens.d.ts.map +1 -0
  195. package/dist/utils/themeTokens.js +34 -0
  196. package/dist/utils/themeTokens.js.map +1 -0
  197. package/dist/utils/utm.d.ts +17 -0
  198. package/dist/utils/utm.d.ts.map +1 -0
  199. package/dist/utils/utm.js +20 -0
  200. package/dist/utils/utm.js.map +1 -0
  201. package/package.json +17 -1
  202. package/dist/components/EliseChat.d.ts +0 -8
  203. package/dist/components/EliseChat.d.ts.map +0 -1
  204. package/dist/components/EliseChat.js +0 -22
  205. package/dist/components/EliseChat.js.map +0 -1
@@ -14,7 +14,7 @@ const maxWidthClasses = {
14
14
  wide: "max-w-6xl mx-auto",
15
15
  full: "w-full",
16
16
  };
17
- export function Container({ id, bg, bgImage, bgOverlay, padding = "lg", maxWidth = "default", children, className, }) {
17
+ export function Container({ id, bg, bgImage, bgOverlay, padding = "lg", maxWidth = "default", children, className, "data-node-id": dataNodeId, }) {
18
18
  const defaults = ["w-full", paddingClasses[padding] ?? paddingClasses.lg].join(" ");
19
19
  const outerStyle = {};
20
20
  if (bg)
@@ -24,6 +24,6 @@ export function Container({ id, bg, bgImage, bgOverlay, padding = "lg", maxWidth
24
24
  outerStyle.backgroundSize = "cover";
25
25
  outerStyle.backgroundPosition = "center";
26
26
  }
27
- return (_jsxs("div", { id: id, className: twMerge(defaults, "relative", className), style: outerStyle, children: [bgImage && bgOverlay && (_jsx("div", { className: "absolute inset-0", style: { backgroundColor: bgOverlay } })), _jsx("div", { className: twMerge("relative", maxWidthClasses[maxWidth] ?? maxWidthClasses.default), children: children })] }));
27
+ return (_jsxs("div", { id: id, "data-node-id": dataNodeId, className: twMerge(defaults, "relative", className), style: outerStyle, children: [bgImage && bgOverlay && (_jsx("div", { className: "absolute inset-0", style: { backgroundColor: bgOverlay } })), _jsx("div", { className: twMerge("relative", maxWidthClasses[maxWidth] ?? maxWidthClasses.default), children: children })] }));
28
28
  }
29
29
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAgBzC,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,eAAe,GAA2B;IAC9C,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,EACxB,EAAE,EACF,EAAE,EACF,OAAO,EACP,SAAS,EACT,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,SAAS,EACpB,QAAQ,EACR,SAAS,GACM;IACf,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAC5E,GAAG,CACJ,CAAC;IAEF,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,UAAU,CAAC,eAAe,GAAG,OAAO,OAAO,GAAG,CAAC;QAC/C,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC;QACpC,UAAU,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED,OAAO,CACL,eACE,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EACnD,KAAK,EAAE,UAAU,aAGhB,OAAO,IAAI,SAAS,IAAI,CACvB,cACE,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,GACrC,CACH,EACD,cACE,SAAS,EAAE,OAAO,CAChB,UAAU,EACV,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,OAAO,CACrD,YAEA,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAiBzC,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,eAAe,GAA2B;IAC9C,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,EACxB,EAAE,EACF,EAAE,EACF,OAAO,EACP,SAAS,EACT,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,SAAS,EACpB,QAAQ,EACR,SAAS,EACT,cAAc,EAAE,UAAU,GACX;IACf,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAC5E,GAAG,CACJ,CAAC;IAEF,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,UAAU,CAAC,eAAe,GAAG,OAAO,OAAO,GAAG,CAAC;QAC/C,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC;QACpC,UAAU,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED,OAAO,CACL,eACE,EAAE,EAAE,EAAE,kBACQ,UAAU,EACxB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EACnD,KAAK,EAAE,UAAU,aAGhB,OAAO,IAAI,SAAS,IAAI,CACvB,cACE,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,GACrC,CACH,EACD,cACE,SAAS,EAAE,OAAO,CAChB,UAAU,EACV,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,OAAO,CACrD,YAEA,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,9 +1,10 @@
1
- interface DividerProps {
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface DividerProps extends EditableNodeAttributes {
2
3
  label?: string;
3
4
  color?: string;
4
5
  spacing?: "sm" | "md" | "lg";
5
6
  className?: string;
6
7
  }
7
- export declare function Divider({ label, color, spacing, className }: DividerProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Divider({ label, color, spacing, className, "data-node-id": dataNodeId }: DividerProps): import("react/jsx-runtime").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=Divider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAc,EAAE,SAAS,EAAE,EAAE,YAAY,2CA4BhF"}
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,YAAa,SAAQ,sBAAsB;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAc,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,YAAY,2CA8B5G"}
@@ -5,11 +5,11 @@ const spacingClasses = {
5
5
  md: "my-8",
6
6
  lg: "my-16",
7
7
  };
8
- export function Divider({ label, color, spacing = "md", className }) {
8
+ export function Divider({ label, color, spacing = "md", className, "data-node-id": dataNodeId }) {
9
9
  const lineColor = color ?? "var(--color-muted)";
10
10
  if (label) {
11
- return (_jsxs("div", { className: twMerge("flex items-center gap-4", spacingClasses[spacing] ?? spacingClasses.md, className), children: [_jsx("div", { className: "flex-1 h-px", style: { backgroundColor: lineColor, opacity: 0.2 } }), _jsx("span", { className: "text-xs font-semibold uppercase tracking-widest text-[var(--color-muted)]", children: label }), _jsx("div", { className: "flex-1 h-px", style: { backgroundColor: lineColor, opacity: 0.2 } })] }));
11
+ return (_jsxs("div", { "data-node-id": dataNodeId, className: twMerge("flex items-center gap-4", spacingClasses[spacing] ?? spacingClasses.md, className), children: [_jsx("div", { className: "flex-1 h-px", style: { backgroundColor: lineColor, opacity: 0.2 } }), _jsx("span", { className: "text-xs font-semibold uppercase tracking-widest text-[var(--color-muted)]", children: label }), _jsx("div", { className: "flex-1 h-px", style: { backgroundColor: lineColor, opacity: 0.2 } })] }));
12
12
  }
13
- return (_jsx("div", { className: twMerge(spacingClasses[spacing] ?? spacingClasses.md, className), children: _jsx("div", { className: "h-px w-full", style: { backgroundColor: lineColor, opacity: 0.15 } }) }));
13
+ return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge(spacingClasses[spacing] ?? spacingClasses.md, className), children: _jsx("div", { className: "h-px w-full", style: { backgroundColor: lineColor, opacity: 0.15 } }) }));
14
14
  }
15
15
  //# sourceMappingURL=Divider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,MAAM,cAAc,GAA2B;IAC7C,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,EAAgB;IAC/E,MAAM,SAAS,GAAG,KAAK,IAAI,oBAAoB,CAAC;IAEhD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,eACE,SAAS,EAAE,OAAO,CAChB,yBAAyB,EACzB,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,EAC5C,SAAS,CACV,aAED,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,EACpF,eAAM,SAAS,EAAC,2EAA2E,YACxF,KAAK,GACD,EACP,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,IAChF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cACE,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,YAE3E,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAI,GACjF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAUzC,MAAM,cAAc,GAA2B;IAC7C,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAgB;IAC3G,MAAM,SAAS,GAAG,KAAK,IAAI,oBAAoB,CAAC;IAEhD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,+BACgB,UAAU,EACxB,SAAS,EAAE,OAAO,CAChB,yBAAyB,EACzB,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,EAC5C,SAAS,CACV,aAED,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,EACpF,eAAM,SAAS,EAAC,2EAA2E,YACxF,KAAK,GACD,EACP,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,IAChF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACgB,UAAU,EACxB,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,YAE3E,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAI,GACjF,CACP,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
- interface FeatureCardProps {
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface FeatureCardProps extends EditableNodeAttributes {
2
3
  image?: string;
3
4
  imageAlt?: string;
4
5
  /** Image position: top (default), left, right */
@@ -10,6 +11,6 @@ interface FeatureCardProps {
10
11
  linkLabel?: string;
11
12
  className?: string;
12
13
  }
13
- export declare function FeatureCard({ image, imageAlt, imagePosition, title, subtitle, description, linkTo, linkLabel, className, }: FeatureCardProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function FeatureCard({ image, imageAlt, imagePosition, title, subtitle, description, linkTo, linkLabel, className, "data-node-id": dataNodeId, }: FeatureCardProps): import("react/jsx-runtime").JSX.Element;
14
15
  export {};
15
16
  //# sourceMappingURL=FeatureCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureCard.d.ts","sourceRoot":"","sources":["../../src/components/FeatureCard.tsx"],"names":[],"mappings":"AAGA,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAA0B,EAC1B,SAAS,GACV,EAAE,gBAAgB,2CAiElB"}
1
+ {"version":3,"file":"FeatureCard.d.ts","sourceRoot":"","sources":["../../src/components/FeatureCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,gBAAiB,SAAQ,sBAAsB;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAA0B,EAC1B,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,gBAAgB,2CAkElB"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { twMerge } from "tailwind-merge";
3
3
  import { useNavigate } from "../router";
4
- export function FeatureCard({ image, imageAlt, imagePosition = "top", title, subtitle, description, linkTo, linkLabel = "Learn More →", className, }) {
4
+ export function FeatureCard({ image, imageAlt, imagePosition = "top", title, subtitle, description, linkTo, linkLabel = "Learn More →", className, "data-node-id": dataNodeId, }) {
5
5
  const navigate = useNavigate();
6
6
  const isHorizontal = imagePosition === "left" || imagePosition === "right";
7
7
  const imageEl = image ? (_jsx("div", { className: twMerge("overflow-hidden bg-gray-100", isHorizontal ? "w-2/5 shrink-0" : "aspect-[16/10] w-full"), children: _jsx("img", { src: image, alt: imageAlt ?? title ?? "", className: "w-full h-full object-cover transition-transform duration-500 group-hover:scale-105", loading: "lazy" }) })) : null;
@@ -9,6 +9,6 @@ export function FeatureCard({ image, imageAlt, imagePosition = "top", title, sub
9
9
  e.preventDefault();
10
10
  navigate(linkTo);
11
11
  }, className: "mt-auto pt-2 text-sm font-semibold text-[var(--color-primary)] hover:underline cursor-pointer", children: linkLabel }))] }));
12
- return (_jsxs("div", { className: twMerge("group rounded-[var(--radius)] bg-white border border-gray-100 overflow-hidden transition-all duration-300", isHorizontal && "flex", imagePosition === "right" && "flex-row-reverse", className), children: [imageEl, contentEl] }));
12
+ return (_jsxs("div", { "data-node-id": dataNodeId, className: twMerge("group rounded-[var(--radius)] bg-white border border-gray-100 overflow-hidden transition-all duration-300", isHorizontal && "flex", imagePosition === "right" && "flex-row-reverse", className), children: [imageEl, contentEl] }));
13
13
  }
14
14
  //# sourceMappingURL=FeatureCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureCard.js","sourceRoot":"","sources":["../../src/components/FeatureCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAexC,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,aAAa,GAAG,KAAK,EACrB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GAAG,cAAc,EAC1B,SAAS,GACQ;IACjB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,CAAC;IAE3E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CACtB,cACE,SAAS,EAAE,OAAO,CAChB,6BAA6B,EAC7B,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,CAC1D,YAED,cACE,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,QAAQ,IAAI,KAAK,IAAI,EAAE,EAC5B,SAAS,EAAC,oFAAoF,EAC9F,OAAO,EAAC,MAAM,GACd,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,CAChB,eAAK,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,aAChF,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,6EAA6E,YAC1F,QAAQ,GACJ,CACR,EACA,KAAK,IAAI,CACR,aAAI,SAAS,EAAC,kDAAkD,YAC7D,KAAK,GACH,CACN,EACA,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,uDAAuD,YACjE,WAAW,GACV,CACL,EACA,MAAM,IAAI,CACT,YACE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,EACD,SAAS,EAAC,+FAA+F,YAExG,SAAS,GACR,CACL,IACG,CACP,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,OAAO,CAChB,2GAA2G,EAC3G,YAAY,IAAI,MAAM,EACtB,aAAa,KAAK,OAAO,IAAI,kBAAkB,EAC/C,SAAS,CACV,aAEA,OAAO,EACP,SAAS,IACN,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"FeatureCard.js","sourceRoot":"","sources":["../../src/components/FeatureCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAgBxC,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,aAAa,GAAG,KAAK,EACrB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GAAG,cAAc,EAC1B,SAAS,EACT,cAAc,EAAE,UAAU,GACT;IACjB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,CAAC;IAE3E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CACtB,cACE,SAAS,EAAE,OAAO,CAChB,6BAA6B,EAC7B,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,CAC1D,YAED,cACE,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,QAAQ,IAAI,KAAK,IAAI,EAAE,EAC5B,SAAS,EAAC,oFAAoF,EAC9F,OAAO,EAAC,MAAM,GACd,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,CAChB,eAAK,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,aAChF,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,6EAA6E,YAC1F,QAAQ,GACJ,CACR,EACA,KAAK,IAAI,CACR,aAAI,SAAS,EAAC,kDAAkD,YAC7D,KAAK,GACH,CACN,EACA,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,uDAAuD,YACjE,WAAW,GACV,CACL,EACA,MAAM,IAAI,CACT,YACE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,EACD,SAAS,EAAC,+FAA+F,YAExG,SAAS,GACR,CACL,IACG,CACP,CAAC;IAEF,OAAO,CACL,+BACgB,UAAU,EACxB,SAAS,EAAE,OAAO,CAChB,2GAA2G,EAC3G,YAAY,IAAI,MAAM,EACtB,aAAa,KAAK,OAAO,IAAI,kBAAkB,EAC/C,SAAS,CACV,aAEA,OAAO,EACP,SAAS,IACN,CACP,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { FooterColumn } from "../types";
2
- interface FooterProps {
1
+ import type { EditableNodeAttributes, FooterColumn } from "../types";
2
+ interface FooterProps extends EditableNodeAttributes {
3
3
  columns?: FooterColumn[];
4
4
  logo?: string;
5
5
  copyright?: string;
6
6
  className?: string;
7
7
  }
8
- export declare function Footer({ columns, logo, copyright, className }: FooterProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Footer({ columns, logo, copyright, className, "data-node-id": dataNodeId }: FooterProps): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=Footer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAY,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,WAAW,2CA6D/E"}
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErE,UAAU,WAAY,SAAQ,sBAAsB;IAClD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAY,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,WAAW,2CA8D3G"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { twMerge } from "tailwind-merge";
3
3
  import { useNavigate } from "../router";
4
- export function Footer({ columns = [], logo, copyright, className }) {
4
+ export function Footer({ columns = [], logo, copyright, className, "data-node-id": dataNodeId }) {
5
5
  const navigate = useNavigate();
6
6
  const colCount = columns.length || 1;
7
7
  const gridClass = colCount <= 2
@@ -9,7 +9,7 @@ export function Footer({ columns = [], logo, copyright, className }) {
9
9
  : colCount === 3
10
10
  ? "grid-cols-1 sm:grid-cols-3"
11
11
  : "grid-cols-2 sm:grid-cols-4";
12
- return (_jsx("footer", { className: twMerge("w-full bg-[var(--color-foreground)] text-white/80", className), children: _jsxs("div", { className: "max-w-6xl mx-auto px-4 py-12", children: [columns.length > 0 && (_jsx("div", { className: twMerge("grid gap-8 mb-8", gridClass), children: columns.map((col) => (_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-semibold text-white uppercase tracking-wider mb-3", children: col.title }), _jsx("ul", { className: "flex flex-col gap-2", children: col.links.map((link) => (_jsx("li", { children: _jsx("a", { href: link.to, onClick: (e) => {
12
+ return (_jsx("footer", { "data-node-id": dataNodeId, className: twMerge("w-full bg-[var(--color-foreground)] text-white/80", className), children: _jsxs("div", { className: "max-w-6xl mx-auto px-4 py-12", children: [columns.length > 0 && (_jsx("div", { className: twMerge("grid gap-8 mb-8", gridClass), children: columns.map((col) => (_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-semibold text-white uppercase tracking-wider mb-3", children: col.title }), _jsx("ul", { className: "flex flex-col gap-2", children: col.links.map((link) => (_jsx("li", { children: _jsx("a", { href: link.to, onClick: (e) => {
13
13
  // Only use client-side nav for internal links
14
14
  if (link.to.startsWith("/")) {
15
15
  e.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAUxC,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAe;IAC9E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAErC,MAAM,SAAS,GACb,QAAQ,IAAI,CAAC;QACX,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,QAAQ,KAAK,CAAC;YACd,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,4BAA4B,CAAC;IAErC,OAAO,CACL,iBACE,SAAS,EAAE,OAAO,CAChB,mDAAmD,EACnD,SAAS,CACV,YAED,eAAK,SAAS,EAAC,8BAA8B,aAE1C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,YAClD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,0BACE,aAAI,SAAS,EAAC,gEAAgE,YAC3E,GAAG,CAAC,KAAK,GACP,EACL,aAAI,SAAS,EAAC,qBAAqB,YAChC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,uBACE,YACE,IAAI,EAAE,IAAI,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4CACb,8CAA8C;4CAC9C,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gDAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;gDACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4CACpB,CAAC;wCACH,CAAC,EACD,SAAS,EAAC,0DAA0D,YAEnE,IAAI,CAAC,KAAK,GACT,IAbG,IAAI,CAAC,EAAE,CAcX,CACN,CAAC,GACC,KAtBG,GAAG,CAAC,KAAK,CAuBb,CACP,CAAC,GACE,CACP,EAGD,eAAK,SAAS,EAAC,4FAA4F,aACxG,IAAI,IAAI,cAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,EAAE,EAAC,SAAS,EAAC,uBAAuB,GAAG,EACnE,SAAS,IAAI,CACZ,YAAG,SAAS,EAAC,uBAAuB,YAAE,SAAS,GAAK,CACrD,IACG,IACF,GACC,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAUxC,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAe;IAC1G,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAErC,MAAM,SAAS,GACb,QAAQ,IAAI,CAAC;QACX,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,QAAQ,KAAK,CAAC;YACd,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,4BAA4B,CAAC;IAErC,OAAO,CACL,iCACgB,UAAU,EACxB,SAAS,EAAE,OAAO,CAChB,mDAAmD,EACnD,SAAS,CACV,YAED,eAAK,SAAS,EAAC,8BAA8B,aAE1C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,cAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,YAClD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,0BACE,aAAI,SAAS,EAAC,gEAAgE,YAC3E,GAAG,CAAC,KAAK,GACP,EACL,aAAI,SAAS,EAAC,qBAAqB,YAChC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,uBACE,YACE,IAAI,EAAE,IAAI,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4CACb,8CAA8C;4CAC9C,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gDAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;gDACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4CACpB,CAAC;wCACH,CAAC,EACD,SAAS,EAAC,0DAA0D,YAEnE,IAAI,CAAC,KAAK,GACT,IAbG,IAAI,CAAC,EAAE,CAcX,CACN,CAAC,GACC,KAtBG,GAAG,CAAC,KAAK,CAuBb,CACP,CAAC,GACE,CACP,EAGD,eAAK,SAAS,EAAC,4FAA4F,aACxG,IAAI,IAAI,cAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,EAAE,EAAC,SAAS,EAAC,uBAAuB,GAAG,EACnE,SAAS,IAAI,CACZ,YAAG,SAAS,EAAC,uBAAuB,YAAE,SAAS,GAAK,CACrD,IACG,IACF,GACC,CACV,CAAC;AACJ,CAAC"}
@@ -1,9 +1,10 @@
1
+ import type { EditableNodeAttributes } from "../types";
1
2
  interface GalleryImage {
2
3
  src: string;
3
4
  alt?: string;
4
5
  category?: string;
5
6
  }
6
- interface GalleryProps {
7
+ interface GalleryProps extends EditableNodeAttributes {
7
8
  /** When set, fetches photos live from GET /v1/property/{propertyId}/media */
8
9
  propertyId?: string;
9
10
  /** Static images from content blob (fallback when propertyId is not set) */
@@ -13,6 +14,6 @@ interface GalleryProps {
13
14
  columns?: 2 | 3 | 4;
14
15
  className?: string;
15
16
  }
16
- export declare function Gallery({ propertyId: propertyIdProp, images: staticImages, categories, layout, columns, className, }: GalleryProps): import("react/jsx-runtime").JSX.Element | null;
17
+ export declare function Gallery({ propertyId: propertyIdProp, images: staticImages, categories, layout, columns, className, "data-node-id": dataNodeId, }: GalleryProps): import("react/jsx-runtime").JSX.Element | null;
17
18
  export {};
18
19
  //# sourceMappingURL=Gallery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../src/components/Gallery.tsx"],"names":[],"mappings":"AAOA,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD,wBAAgB,OAAO,CAAC,EACtB,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,YAAiB,EACzB,UAAU,EACV,MAAe,EACf,OAAW,EACX,SAAS,GACV,EAAE,YAAY,kDAgNd"}
1
+ {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../src/components/Gallery.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAa,SAAQ,sBAAsB;IACnD,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD,wBAAgB,OAAO,CAAC,EACtB,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,YAAiB,EACzB,UAAU,EACV,MAAe,EACf,OAAW,EACX,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,YAAY,kDAgNd"}
@@ -16,7 +16,7 @@ const TYPE_TO_CATEGORY = {
16
16
  UnitPhotography: "Interiors",
17
17
  Floorplan: "Floor Plans",
18
18
  };
19
- export function Gallery({ propertyId: propertyIdProp, images: staticImages = [], categories, layout = "grid", columns = 3, className, }) {
19
+ export function Gallery({ propertyId: propertyIdProp, images: staticImages = [], categories, layout = "grid", columns = 3, className, "data-node-id": dataNodeId, }) {
20
20
  const config = useSiteConfig();
21
21
  const { authenticatedFetch } = useAuth();
22
22
  const propertyId = propertyIdProp ?? config.property?.propertyId;
@@ -67,11 +67,11 @@ export function Gallery({ propertyId: propertyIdProp, images: staticImages = [],
67
67
  return images.filter((img) => img.category === activeCategory);
68
68
  }, [images, activeCategory]);
69
69
  if (loading) {
70
- return (_jsx("div", { className: twMerge("text-center py-8 text-[var(--color-muted)]", className), children: "Loading gallery..." }));
70
+ return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("text-center py-8 text-[var(--color-muted)]", className), children: "Loading gallery..." }));
71
71
  }
72
72
  if (images.length === 0)
73
73
  return null;
74
- return (_jsxs("div", { className: twMerge("w-full", className), children: [derivedCategories.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2 mb-6", children: derivedCategories.map((cat) => {
74
+ return (_jsxs("div", { "data-node-id": dataNodeId, className: twMerge("w-full", className), children: [derivedCategories.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2 mb-6", children: derivedCategories.map((cat) => {
75
75
  const isActive = cat === "All" ? !activeCategory : activeCategory === cat;
76
76
  return (_jsx("button", { onClick: () => setActiveCategory(cat === "All" ? null : cat), className: twMerge("rounded-full px-4 py-1.5 text-sm font-medium transition-colors cursor-pointer", isActive
77
77
  ? "bg-[var(--color-primary)] text-white"
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.js","sourceRoot":"","sources":["../../src/components/Gallery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gallery.js","sourceRoot":"","sources":["../../src/components/Gallery.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- interface GridProps {
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface GridProps extends EditableNodeAttributes {
2
3
  columns?: 1 | 2 | 3 | 4;
3
4
  gap?: "none" | "sm" | "md" | "lg" | "xl";
4
5
  children?: React.ReactNode;
5
6
  className?: string;
6
7
  }
7
- export declare function Grid({ columns, gap, children, className }: GridProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Grid({ columns, gap, children, className, "data-node-id": dataNodeId }: GridProps): import("react/jsx-runtime").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=Grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/components/Grid.tsx"],"names":[],"mappings":"AAEA,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiBD,wBAAgB,IAAI,CAAC,EAAE,OAAW,EAAE,GAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,2CAQ/E"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/components/Grid.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,SAAU,SAAQ,sBAAsB;IAChD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiBD,wBAAgB,IAAI,CAAC,EAAE,OAAW,EAAE,GAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,SAAS,2CAQ3G"}
@@ -13,12 +13,12 @@ const gapClasses = {
13
13
  lg: "gap-8",
14
14
  xl: "gap-12",
15
15
  };
16
- export function Grid({ columns = 3, gap = "md", children, className }) {
16
+ export function Grid({ columns = 3, gap = "md", children, className, "data-node-id": dataNodeId }) {
17
17
  const defaults = [
18
18
  "grid",
19
19
  columnClasses[columns] ?? columnClasses[3],
20
20
  gapClasses[gap] ?? gapClasses.md,
21
21
  ].join(" ");
22
- return _jsx("div", { className: twMerge(defaults, className), children: children });
22
+ return _jsx("div", { "data-node-id": dataNodeId, className: twMerge(defaults, className), children: children });
23
23
  }
24
24
  //# sourceMappingURL=Grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../src/components/Grid.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,MAAM,aAAa,GAA2B;IAC5C,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,4BAA4B;IAC/B,CAAC,EAAE,2CAA2C;IAC9C,CAAC,EAAE,2CAA2C;CAC/C,CAAC;AAEF,MAAM,UAAU,GAA2B;IACzC,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,UAAU,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAa;IAC9E,MAAM,QAAQ,GAAG;QACf,MAAM;QACN,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;QAC1C,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE;KACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,cAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../src/components/Grid.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAUzC,MAAM,aAAa,GAA2B;IAC5C,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,4BAA4B;IAC/B,CAAC,EAAE,2CAA2C;IAC9C,CAAC,EAAE,2CAA2C;CAC/C,CAAC;AAEF,MAAM,UAAU,GAA2B;IACzC,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,UAAU,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAa;IAC1G,MAAM,QAAQ,GAAG;QACf,MAAM;QACN,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;QAC1C,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE;KACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,8BAAmB,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AAClG,CAAC"}
@@ -1,8 +1,9 @@
1
- interface IconProps {
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface IconProps extends EditableNodeAttributes {
2
3
  name: string;
3
4
  size?: "sm" | "md" | "lg";
4
5
  className?: string;
5
6
  }
6
- export declare function Icon({ name, size, className }: IconProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function Icon({ name, size, className, "data-node-id": dataNodeId }: IconProps): import("react/jsx-runtime").JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=Icon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/components/Icon.tsx"],"names":[],"mappings":"AAEA,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyFD,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,IAAW,EAAE,SAAS,EAAE,EAAE,SAAS,2CAc/D"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/components/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,SAAU,SAAQ,sBAAsB;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyFD,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,IAAW,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,SAAS,2CAe3F"}
@@ -20,7 +20,7 @@ const icons = {
20
20
  security: (_jsxs(_Fragment, { children: [_jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10" }), _jsx("path", { d: "m9 12 2 2 4-4" })] })),
21
21
  };
22
22
  const fallbackIcon = _jsx("circle", { cx: "12", cy: "12", r: "4" });
23
- export function Icon({ name, size = "md", className }) {
24
- return (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: twMerge(sizeClasses[size] ?? sizeClasses.md, className), children: icons[name] ?? fallbackIcon }));
23
+ export function Icon({ name, size = "md", className, "data-node-id": dataNodeId }) {
24
+ return (_jsx("svg", { "data-node-id": dataNodeId, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: twMerge(sizeClasses[size] ?? sizeClasses.md, className), children: icons[name] ?? fallbackIcon }));
25
25
  }
26
26
  //# sourceMappingURL=Icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../src/components/Icon.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../src/components/Icon.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- interface ImageProps {
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface ImageProps extends EditableNodeAttributes {
2
3
  src?: string;
3
4
  alt?: string;
4
5
  className?: string;
5
6
  }
6
- export declare function Image({ src, alt, className }: ImageProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export declare function Image({ src, alt, className, "data-node-id": dataNodeId }: ImageProps): import("react/jsx-runtime").JSX.Element | null;
7
8
  export {};
8
9
  //# sourceMappingURL=Image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AAEA,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,UAAU,kDASxD"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,UAAW,SAAQ,sBAAsB;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,UAAU,kDAUpF"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { twMerge } from "tailwind-merge";
3
- export function Image({ src, alt, className }) {
3
+ export function Image({ src, alt, className, "data-node-id": dataNodeId }) {
4
4
  if (!src)
5
5
  return null;
6
- return (_jsx("img", { src: src, alt: alt ?? "", className: twMerge("max-w-full", className) }));
6
+ return (_jsx("img", { "data-node-id": dataNodeId, src: src, alt: alt ?? "", className: twMerge("max-w-full", className) }));
7
7
  }
8
8
  //# sourceMappingURL=Image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAQzC,MAAM,UAAU,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAc;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,IAAI,EAAE,EACd,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,GAC3C,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,MAAM,UAAU,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAc;IACnF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,CACL,8BACgB,UAAU,EACxB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,IAAI,EAAE,EACd,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,GAC3C,CACH,CAAC;AACJ,CAAC"}
@@ -1,8 +1,9 @@
1
- interface LinkProps {
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface LinkProps extends EditableNodeAttributes {
2
3
  to: string;
3
4
  content: string;
4
5
  className?: string;
5
6
  }
6
- export declare function Link({ to, content, className }: LinkProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function Link({ to, content, className, "data-node-id": dataNodeId }: LinkProps): import("react/jsx-runtime").JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=Link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AAGA,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,2CAezD"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,SAAU,SAAQ,sBAAsB;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,SAAS,2CAgBrF"}
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { twMerge } from "tailwind-merge";
3
3
  import { useNavigate } from "../router";
4
4
  const defaults = "text-[var(--color-primary)] underline-offset-2 hover:underline cursor-pointer";
5
- export function Link({ to, content, className }) {
5
+ export function Link({ to, content, className, "data-node-id": dataNodeId }) {
6
6
  const navigate = useNavigate();
7
- return (_jsx("a", { href: to, className: twMerge(defaults, className), onClick: (e) => {
7
+ return (_jsx("a", { "data-node-id": dataNodeId, href: to, className: twMerge(defaults, className), onClick: (e) => {
8
8
  e.preventDefault();
9
9
  navigate(to);
10
10
  }, children: content }));
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,QAAQ,GAAG,+EAA+E,CAAC;AAEjG,MAAM,UAAU,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAa;IACxD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,CACL,YACE,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,YAEA,OAAO,GACN,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,QAAQ,GAAG,+EAA+E,CAAC;AAEjG,MAAM,UAAU,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAa;IACpF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,CACL,4BACgB,UAAU,EACxB,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,YAEA,OAAO,GACN,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { EditableNodeAttributes } from "../types";
2
+ interface LocationsDirectoryProps extends EditableNodeAttributes {
3
+ /**
4
+ * Link template for each location. Placeholders: {state}, {city}.
5
+ * Defaults to a state-filtered listing route.
6
+ */
7
+ hrefPattern?: string;
8
+ /** Show cities (with counts) nested under each state. */
9
+ showCities?: boolean;
10
+ columns?: 2 | 3 | 4;
11
+ loadingMessage?: string;
12
+ emptyMessage?: string;
13
+ errorMessage?: string;
14
+ className?: string;
15
+ }
16
+ export declare function LocationsDirectory({ hrefPattern, showCities, columns, loadingMessage, emptyMessage, errorMessage, className, "data-node-id": dataNodeId, }: LocationsDirectoryProps): import("react/jsx-runtime").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=LocationsDirectory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocationsDirectory.d.ts","sourceRoot":"","sources":["../../src/components/LocationsDirectory.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,uBAAwB,SAAQ,sBAAsB;IAC9D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmCD,wBAAgB,kBAAkB,CAAC,EACjC,WAAyC,EACzC,UAAiB,EACjB,OAAW,EACX,cAAuC,EACvC,YAA4C,EAC5C,YAAqD,EACrD,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,uBAAuB,2CAkFzB"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { twMerge } from "tailwind-merge";
4
+ import { useNavigate } from "../router";
5
+ import { useProperties } from "../hooks/useProperties";
6
+ const gridColClasses = {
7
+ 2: "grid-cols-1 sm:grid-cols-2",
8
+ 3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
9
+ 4: "grid-cols-2 lg:grid-cols-4",
10
+ };
11
+ function buildLocationHref(pattern, state, city) {
12
+ const href = pattern
13
+ .replace(/\{state\}/g, encodeURIComponent(state))
14
+ .replace(/\{city\}/g, encodeURIComponent(city ?? ""));
15
+ if (city)
16
+ return href;
17
+ const [pathAndQuery, hash] = href.split("#");
18
+ const [path, query] = pathAndQuery.split("?");
19
+ if (!query)
20
+ return href;
21
+ const params = new URLSearchParams(query);
22
+ params.delete("city");
23
+ const nextQuery = params.toString();
24
+ return `${path}${nextQuery ? `?${nextQuery}` : ""}${hash ? `#${hash}` : ""}`;
25
+ }
26
+ export function LocationsDirectory({ hrefPattern = "/properties?state={state}", showCities = true, columns = 4, loadingMessage = "Loading locations...", emptyMessage = "No locations available yet.", errorMessage = "Locations are unavailable right now.", className, "data-node-id": dataNodeId, }) {
27
+ const { properties, loading, error } = useProperties({ includeMedia: false, includeAttributes: false });
28
+ const navigate = useNavigate();
29
+ const states = useMemo(() => {
30
+ const stateMap = new Map();
31
+ for (const p of properties) {
32
+ if (!p.state)
33
+ continue;
34
+ const cityMap = stateMap.get(p.state) ?? new Map();
35
+ if (p.city)
36
+ cityMap.set(p.city, (cityMap.get(p.city) ?? 0) + 1);
37
+ stateMap.set(p.state, cityMap);
38
+ }
39
+ return [...stateMap.entries()]
40
+ .map(([state, cityMap]) => {
41
+ const cities = [...cityMap.entries()]
42
+ .map(([city, count]) => ({ city, count }))
43
+ .sort((a, b) => a.city.localeCompare(b.city));
44
+ const count = cities.reduce((sum, c) => sum + c.count, 0);
45
+ return { state, count, cities };
46
+ })
47
+ .sort((a, b) => a.state.localeCompare(b.state));
48
+ }, [properties]);
49
+ if (loading && properties.length === 0) {
50
+ return _jsx("p", { "data-node-id": dataNodeId, className: twMerge("text-sm text-[var(--color-muted)]", className), children: loadingMessage });
51
+ }
52
+ if (error) {
53
+ return _jsx("p", { "data-node-id": dataNodeId, className: twMerge("text-sm text-[var(--color-muted)]", className), children: errorMessage });
54
+ }
55
+ if (states.length === 0) {
56
+ return _jsx("p", { "data-node-id": dataNodeId, className: twMerge("text-sm text-[var(--color-muted)]", className), children: emptyMessage });
57
+ }
58
+ const go = (e, href) => {
59
+ if (/^https?:\/\//i.test(href))
60
+ return;
61
+ e.preventDefault();
62
+ navigate(href);
63
+ };
64
+ return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("grid gap-4", gridColClasses[columns] ?? gridColClasses[4], className), children: states.map((group) => {
65
+ const stateHref = buildLocationHref(hrefPattern, group.state);
66
+ return (_jsxs("div", { className: "rounded-[var(--radius)] border border-[var(--color-muted)]/20 bg-white/80 p-4 shadow-sm", children: [_jsxs("a", { href: stateHref, onClick: (e) => go(e, stateHref), className: "flex items-center justify-between gap-3 text-[var(--color-foreground)] hover:text-[var(--color-primary)] cursor-pointer", children: [_jsx("span", { className: "text-lg font-semibold", children: group.state }), _jsxs("span", { className: "rounded-full bg-[var(--color-muted)]/10 px-2.5 py-1 text-xs font-medium text-[var(--color-secondary)]", children: [group.count, " ", group.count === 1 ? "community" : "communities"] })] }), showCities && group.cities.length > 0 && (_jsx("div", { className: "mt-3 flex flex-wrap gap-2", children: group.cities.map((c) => {
67
+ const cityHref = buildLocationHref(hrefPattern, group.state, c.city);
68
+ return (_jsxs("a", { href: cityHref, onClick: (e) => go(e, cityHref), className: "rounded-full border border-[var(--color-muted)]/20 px-3 py-1.5 text-sm text-[var(--color-secondary)] hover:border-[var(--color-primary)] hover:text-[var(--color-primary)] cursor-pointer", children: [c.city, " (", c.count, ")"] }, c.city));
69
+ }) }))] }, group.state));
70
+ }) }));
71
+ }
72
+ //# sourceMappingURL=LocationsDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocationsDirectory.js","sourceRoot":"","sources":["../../src/components/LocationsDirectory.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import type { EditableNodeAttributes } from "../types";
1
2
  interface MapMarker {
2
3
  lat: number;
3
4
  lng: number;
4
5
  label?: string;
5
6
  }
6
- interface MapEmbedProps {
7
+ interface MapEmbedProps extends EditableNodeAttributes {
7
8
  lat: number;
8
9
  lng: number;
9
10
  zoom?: number;
@@ -11,6 +12,6 @@ interface MapEmbedProps {
11
12
  markers?: MapMarker[];
12
13
  className?: string;
13
14
  }
14
- export declare function MapEmbed({ lat, lng, zoom, height, className }: MapEmbedProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function MapEmbed({ lat, lng, zoom, height, className, "data-node-id": dataNodeId }: MapEmbedProps): import("react/jsx-runtime").JSX.Element;
15
16
  export {};
16
17
  //# sourceMappingURL=MapEmbed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapEmbed.d.ts","sourceRoot":"","sources":["../../src/components/MapEmbed.tsx"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAS,EAAE,MAAgB,EAAE,SAAc,EAAE,EAAE,aAAa,2CAiBhG"}
1
+ {"version":3,"file":"MapEmbed.d.ts","sourceRoot":"","sources":["../../src/components/MapEmbed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAc,SAAQ,sBAAsB;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAS,EAAE,MAAgB,EAAE,SAAc,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,aAAa,2CAiB5H"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- export function MapEmbed({ lat, lng, zoom = 15, height = "400px", className = "" }) {
2
+ export function MapEmbed({ lat, lng, zoom = 15, height = "400px", className = "", "data-node-id": dataNodeId }) {
3
3
  const src = `https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d3000!2d${lng}!3d${lat}!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2sus!4v1&zoom=${zoom}`;
4
- return (_jsx("div", { className: `w-full overflow-hidden rounded-[var(--radius)] ${className}`, style: { height }, children: _jsx("iframe", { src: src, width: "100%", height: "100%", style: { border: 0 }, allowFullScreen: true, loading: "lazy", referrerPolicy: "no-referrer-when-downgrade", title: "Property location map" }) }));
4
+ return (_jsx("div", { "data-node-id": dataNodeId, className: `w-full overflow-hidden rounded-[var(--radius)] ${className}`, style: { height }, children: _jsx("iframe", { src: src, width: "100%", height: "100%", style: { border: 0 }, allowFullScreen: true, loading: "lazy", referrerPolicy: "no-referrer-when-downgrade", title: "Property location map" }) }));
5
5
  }
6
6
  //# sourceMappingURL=MapEmbed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapEmbed.js","sourceRoot":"","sources":["../../src/components/MapEmbed.tsx"],"names":[],"mappings":";AAeA,MAAM,UAAU,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE,SAAS,GAAG,EAAE,EAAiB;IAC/F,MAAM,GAAG,GAAG,gEAAgE,GAAG,MAAM,GAAG,uEAAuE,IAAI,EAAE,CAAC;IAEtK,OAAO,CACL,cAAK,SAAS,EAAE,kDAAkD,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,YAC9F,iBACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EACpB,eAAe,QACf,OAAO,EAAC,MAAM,EACd,cAAc,EAAC,4BAA4B,EAC3C,KAAK,EAAC,uBAAuB,GAC7B,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MapEmbed.js","sourceRoot":"","sources":["../../src/components/MapEmbed.tsx"],"names":[],"mappings":";AAiBA,MAAM,UAAU,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAiB;IAC3H,MAAM,GAAG,GAAG,gEAAgE,GAAG,MAAM,GAAG,uEAAuE,IAAI,EAAE,CAAC;IAEtK,OAAO,CACL,8BAAmB,UAAU,EAAE,SAAS,EAAE,kDAAkD,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,YACxH,iBACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EACpB,eAAe,QACf,OAAO,EAAC,MAAM,EACd,cAAc,EAAC,4BAA4B,EAC3C,KAAK,EAAC,uBAAuB,GAC7B,GACE,CACP,CAAC;AACJ,CAAC"}