@meetelise/studio-components 0.0.23 → 0.0.24

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 (79) hide show
  1. package/dist/componentSchema.json +43 -1
  2. package/dist/components/Container.d.ts +2 -1
  3. package/dist/components/Container.d.ts.map +1 -1
  4. package/dist/components/Container.js +5 -3
  5. package/dist/components/Container.js.map +1 -1
  6. package/dist/components/FeatureCard.d.ts +2 -1
  7. package/dist/components/FeatureCard.d.ts.map +1 -1
  8. package/dist/components/FeatureCard.js +2 -1
  9. package/dist/components/FeatureCard.js.map +1 -1
  10. package/dist/components/Footer.d.ts +2 -1
  11. package/dist/components/Footer.d.ts.map +1 -1
  12. package/dist/components/Footer.js +2 -1
  13. package/dist/components/Footer.js.map +1 -1
  14. package/dist/components/Gallery.d.ts +2 -1
  15. package/dist/components/Gallery.d.ts.map +1 -1
  16. package/dist/components/Gallery.js +13 -3
  17. package/dist/components/Gallery.js.map +1 -1
  18. package/dist/components/Image.d.ts +2 -1
  19. package/dist/components/Image.d.ts.map +1 -1
  20. package/dist/components/Image.js +2 -1
  21. package/dist/components/Image.js.map +1 -1
  22. package/dist/components/Lightbox.d.ts +2 -1
  23. package/dist/components/Lightbox.d.ts.map +1 -1
  24. package/dist/components/Lightbox.js +2 -1
  25. package/dist/components/Lightbox.js.map +1 -1
  26. package/dist/components/Nav.d.ts +2 -1
  27. package/dist/components/Nav.d.ts.map +1 -1
  28. package/dist/components/Nav.js +3 -2
  29. package/dist/components/Nav.js.map +1 -1
  30. package/dist/components/PropertyCard.d.ts.map +1 -1
  31. package/dist/components/PropertyCard.js +2 -1
  32. package/dist/components/PropertyCard.js.map +1 -1
  33. package/dist/components/StudioImage.d.ts +18 -0
  34. package/dist/components/StudioImage.d.ts.map +1 -0
  35. package/dist/components/StudioImage.js +76 -0
  36. package/dist/components/StudioImage.js.map +1 -0
  37. package/dist/components/VideoEmbed.d.ts +10 -0
  38. package/dist/components/VideoEmbed.d.ts.map +1 -0
  39. package/dist/components/VideoEmbed.js +47 -0
  40. package/dist/components/VideoEmbed.js.map +1 -0
  41. package/dist/components/VideoHero.d.ts +2 -1
  42. package/dist/components/VideoHero.d.ts.map +1 -1
  43. package/dist/components/VideoHero.js +3 -1
  44. package/dist/components/VideoHero.js.map +1 -1
  45. package/dist/components/browser/componentMeta.d.ts.map +1 -1
  46. package/dist/components/browser/componentMeta.js +31 -0
  47. package/dist/components/browser/componentMeta.js.map +1 -1
  48. package/dist/components/registry.d.ts.map +1 -1
  49. package/dist/components/registry.js +2 -0
  50. package/dist/components/registry.js.map +1 -1
  51. package/dist/components/units/FloorPlanCard.d.ts.map +1 -1
  52. package/dist/components/units/FloorPlanCard.js +2 -2
  53. package/dist/components/units/FloorPlanCard.js.map +1 -1
  54. package/dist/components/units/FloorplanExplorer.d.ts.map +1 -1
  55. package/dist/components/units/FloorplanExplorer.js +3 -3
  56. package/dist/components/units/FloorplanExplorer.js.map +1 -1
  57. package/dist/components/units/UnitCard.d.ts.map +1 -1
  58. package/dist/components/units/UnitCard.js +3 -3
  59. package/dist/components/units/UnitCard.js.map +1 -1
  60. package/dist/components/units/UnitPage.d.ts.map +1 -1
  61. package/dist/components/units/UnitPage.js +2 -2
  62. package/dist/components/units/UnitPage.js.map +1 -1
  63. package/dist/index.d.ts +6 -2
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +3 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/schema/componentSchema.d.ts +1 -1
  68. package/dist/schema/componentSchema.d.ts.map +1 -1
  69. package/dist/schema/componentSchema.js +16 -1
  70. package/dist/schema/componentSchema.js.map +1 -1
  71. package/dist/utils/imageUrl.d.ts +13 -3
  72. package/dist/utils/imageUrl.d.ts.map +1 -1
  73. package/dist/utils/imageUrl.js +58 -19
  74. package/dist/utils/imageUrl.js.map +1 -1
  75. package/dist/utils/resolveConfig.d.ts +48 -4
  76. package/dist/utils/resolveConfig.d.ts.map +1 -1
  77. package/dist/utils/resolveConfig.js +171 -14
  78. package/dist/utils/resolveConfig.js.map +1 -1
  79. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": 3,
2
+ "schemaVersion": 4,
3
3
  "components": {
4
4
  "Text": {
5
5
  "kind": "element",
@@ -534,6 +534,10 @@
534
534
  "description": "Full-width video/image background with overlay content",
535
535
  "acceptsChildren": true,
536
536
  "props": {
537
+ "src": {
538
+ "kind": "url",
539
+ "label": "Video URL"
540
+ },
537
541
  "poster": {
538
542
  "kind": "image",
539
543
  "default": "https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?w=1920&q=80"
@@ -555,6 +559,32 @@
555
559
  }
556
560
  }
557
561
  },
562
+ "VideoEmbed": {
563
+ "kind": "elise-component",
564
+ "category": "Heroes & Media",
565
+ "description": "Responsive YouTube or Vimeo embed with privacy-conscious YouTube URLs",
566
+ "acceptsChildren": false,
567
+ "props": {
568
+ "src": {
569
+ "kind": "url",
570
+ "required": true,
571
+ "label": "Video URL"
572
+ },
573
+ "title": {
574
+ "kind": "string",
575
+ "default": "Embedded video"
576
+ },
577
+ "aspectRatio": {
578
+ "kind": "enum",
579
+ "options": [
580
+ "16/9",
581
+ "4/3",
582
+ "1/1"
583
+ ],
584
+ "default": "16/9"
585
+ }
586
+ }
587
+ },
558
588
  "Gallery": {
559
589
  "kind": "elise-component",
560
590
  "category": "Heroes & Media",
@@ -711,6 +741,10 @@
711
741
  "kind": "image",
712
742
  "label": "Image"
713
743
  },
744
+ "imageAlt": {
745
+ "kind": "string",
746
+ "label": "Image alt text"
747
+ },
714
748
  "imagePosition": {
715
749
  "kind": "enum",
716
750
  "options": [
@@ -838,6 +872,10 @@
838
872
  "description": "Sticky/static navbar with logo, links, and mobile menu",
839
873
  "acceptsChildren": false,
840
874
  "props": {
875
+ "logo": {
876
+ "kind": "image",
877
+ "label": "Logo"
878
+ },
841
879
  "siteName": {
842
880
  "kind": "string",
843
881
  "bindable": true,
@@ -872,6 +910,10 @@
872
910
  "description": "Footer with column links and copyright",
873
911
  "acceptsChildren": false,
874
912
  "props": {
913
+ "logo": {
914
+ "kind": "image",
915
+ "label": "Logo"
916
+ },
875
917
  "copyright": {
876
918
  "kind": "string",
877
919
  "bindable": true,
@@ -1,4 +1,5 @@
1
1
  import type { EditableNodeAttributes } from "../types";
2
+ import { type StudioImageSource } from "./StudioImage";
2
3
  type ContainerTag = "div" | "section" | "main" | "header" | "footer" | "nav" | "aside";
3
4
  interface ContainerProps extends EditableNodeAttributes {
4
5
  as?: ContainerTag;
@@ -19,7 +20,7 @@ interface ContainerProps extends EditableNodeAttributes {
19
20
  minHeight?: "none" | "xs" | "sm" | "md" | "lg" | "screen";
20
21
  bg?: string;
21
22
  /** Background image URL — rendered behind content with optional overlay */
22
- bgImage?: string;
23
+ bgImage?: StudioImageSource;
23
24
  /** Semi-transparent overlay on bgImage, e.g. "rgba(0,0,0,0.5)" */
24
25
  bgOverlay?: string;
25
26
  bgSize?: "auto" | "cover" | "contain";
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,KAAK,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvF,UAAU,cAAe,SAAQ,sBAAsB;IACrD,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7D,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACjD,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkID,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,EAAE,EACF,OAAiB,EACjB,SAAsB,EACtB,GAAY,EACZ,KAAiB,EACjB,OAAiB,EACjB,IAAe,EACf,OAAO,EACP,QAAe,EACf,QAAe,EACf,KAAc,EACd,QAAoB,EACpB,SAAkB,EAClB,EAAE,EACF,OAAO,EACP,SAAS,EACT,MAAgB,EAChB,UAAqB,EACrB,WAAoB,EACpB,WAAW,EACX,MAAe,EACf,QAAoB,EACpB,QAAQ,EACR,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,cAAc,2CAmDhB"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvE,KAAK,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvF,UAAU,cAAe,SAAQ,sBAAsB;IACrD,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7D,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACjD,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkID,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,EAAE,EACF,OAAiB,EACjB,SAAsB,EACtB,GAAY,EACZ,KAAiB,EACjB,OAAiB,EACjB,IAAe,EACf,OAAO,EACP,QAAe,EACf,QAAe,EACf,KAAc,EACd,QAAoB,EACpB,SAAkB,EAClB,EAAE,EACF,OAAO,EACP,SAAS,EACT,MAAgB,EAChB,UAAqB,EACrB,WAAoB,EACpB,WAAW,EACX,MAAe,EACf,QAAoB,EACpB,QAAQ,EACR,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,cAAc,2CAoDhB"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { twMerge } from "tailwind-merge";
3
+ import { studioImageUrl } from "./StudioImage";
3
4
  const displayClasses = {
4
5
  block: "block",
5
6
  flex: "flex",
@@ -136,16 +137,17 @@ export function Container({ as, id, display = "block", direction = "vertical", g
136
137
  overflowClasses[overflow] ?? overflowClasses.visible,
137
138
  paddingClass,
138
139
  ].join(" ");
140
+ const backgroundUrl = bgImage ? studioImageUrl(bgImage, { w: 1920, q: 85 }) : "";
139
141
  const outerStyle = {};
140
142
  if (bg)
141
143
  outerStyle.backgroundColor = bg;
142
144
  if (borderColor)
143
145
  outerStyle.borderColor = borderColor;
144
- if (bgImage) {
145
- outerStyle.backgroundImage = `url(${bgImage})`;
146
+ if (backgroundUrl) {
147
+ outerStyle.backgroundImage = `url(${backgroundUrl})`;
146
148
  outerStyle.backgroundSize = bgSize;
147
149
  outerStyle.backgroundPosition = bgPosition;
148
150
  }
149
- return (_jsxs(Tag, { id: id, "data-node-id": dataNodeId, className: twMerge(defaults, bgImage && bgOverlay ? "relative" : undefined, className), style: outerStyle, children: [bgImage && bgOverlay && (_jsx("div", { className: "absolute inset-0", style: { backgroundColor: bgOverlay } })), bgImage && bgOverlay ? _jsx("div", { className: "relative z-10", children: children }) : children] }));
151
+ return (_jsxs(Tag, { id: id, "data-node-id": dataNodeId, className: twMerge(defaults, backgroundUrl && bgOverlay ? "relative" : undefined, className), style: outerStyle, children: [backgroundUrl && bgOverlay && (_jsx("div", { className: "absolute inset-0", style: { backgroundColor: bgOverlay } })), backgroundUrl && bgOverlay ? _jsx("div", { className: "relative z-10", children: children }) : children] }));
150
152
  }
151
153
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { EditableNodeAttributes } from "../types";
2
+ import { type StudioImageSource } from "./StudioImage";
2
3
  interface FeatureCardProps extends EditableNodeAttributes {
3
- image?: string;
4
+ image?: StudioImageSource;
4
5
  imageAlt?: string;
5
6
  /** Image position: top (default), left, right */
6
7
  imagePosition?: "top" | "left" | "right";
@@ -1 +1 @@
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
+ {"version":3,"file":"FeatureCard.d.ts","sourceRoot":"","sources":["../../src/components/FeatureCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,UAAU,gBAAiB,SAAQ,sBAAsB;IACvD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,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,2CAoElB"}
@@ -1,10 +1,11 @@
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
+ import { StudioImage } from "./StudioImage";
4
5
  export function FeatureCard({ image, imageAlt, imagePosition = "top", title, subtitle, description, linkTo, linkLabel = "Learn More →", className, "data-node-id": dataNodeId, }) {
5
6
  const navigate = useNavigate();
6
7
  const isHorizontal = imagePosition === "left" || imagePosition === "right";
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;
8
+ 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(StudioImage, { src: image, alt: imageAlt, fallbackAlt: title, sizes: isHorizontal ? "(min-width: 768px) 40vw, 100vw" : "(min-width: 1024px) 33vw, 100vw", allowCrop: false, className: "w-full h-full object-cover transition-transform duration-500 group-hover:scale-105" }) })) : null;
8
9
  const contentEl = (_jsxs("div", { className: twMerge("flex flex-col gap-2", isHorizontal ? "flex-1 p-6" : "p-6"), children: [subtitle && (_jsx("span", { className: "text-xs font-semibold uppercase tracking-widest text-[var(--color-primary)]", children: subtitle })), title && (_jsx("h3", { className: "text-xl font-bold text-[var(--color-foreground)]", children: title })), description && (_jsx("p", { className: "text-sm leading-relaxed text-[var(--color-secondary)]", children: description })), linkTo && (_jsx("a", { href: linkTo, onClick: (e) => {
9
10
  e.preventDefault();
10
11
  navigate(linkTo);
@@ -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;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
+ {"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,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAepE,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,KAAC,WAAW,IACV,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,QAAQ,EACb,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,iCAAiC,EAC1F,SAAS,EAAE,KAAK,EAChB,SAAS,EAAC,oFAAoF,GAC9F,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,7 +1,8 @@
1
1
  import type { EditableNodeAttributes, FooterColumn } from "../types";
2
+ import { type StudioImageSource } from "./StudioImage";
2
3
  interface FooterProps extends EditableNodeAttributes {
3
4
  columns?: FooterColumn[];
4
- logo?: string;
5
+ logo?: StudioImageSource;
5
6
  copyright?: string;
6
7
  className?: string;
7
8
  }
@@ -1 +1 @@
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
+ {"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;AACrE,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,UAAU,WAAY,SAAQ,sBAAsB;IAClD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,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,6 +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
+ import { StudioImage } from "./StudioImage";
4
5
  export function Footer({ columns = [], logo, copyright, className, "data-node-id": dataNodeId }) {
5
6
  const navigate = useNavigate();
6
7
  const colCount = columns.length || 1;
@@ -15,6 +16,6 @@ export function Footer({ columns = [], logo, copyright, className, "data-node-id
15
16
  e.preventDefault();
16
17
  navigate(link.to);
17
18
  }
18
- }, className: "text-sm text-white/60 hover:text-white transition-colors", children: link.label }) }, link.to))) })] }, col.title))) })), _jsxs("div", { className: "border-t border-white/10 pt-6 flex flex-col sm:flex-row items-center justify-between gap-4", children: [logo && _jsx("img", { src: logo, alt: "", className: "h-6 w-auto opacity-60" }), copyright && (_jsx("p", { className: "text-xs text-white/40", children: copyright }))] })] }) }));
19
+ }, className: "text-sm text-white/60 hover:text-white transition-colors", children: link.label }) }, link.to))) })] }, col.title))) })), _jsxs("div", { className: "border-t border-white/10 pt-6 flex flex-col sm:flex-row items-center justify-between gap-4", children: [logo && _jsx(StudioImage, { src: logo, decorative: true, sizes: "160px", className: "h-6 w-auto opacity-60" }), copyright && (_jsx("p", { className: "text-xs text-white/40", children: copyright }))] })] }) }));
19
20
  }
20
21
  //# sourceMappingURL=Footer.js.map
@@ -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,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
+ {"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;AAExC,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AASpE,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,KAAC,WAAW,IAAC,GAAG,EAAE,IAAI,EAAE,UAAU,QAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,uBAAuB,GAAG,EAC7F,SAAS,IAAI,CACZ,YAAG,SAAS,EAAC,uBAAuB,YAAE,SAAS,GAAK,CACrD,IACG,IACF,GACC,CACV,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { EditableNodeAttributes } from "../types";
2
+ import { type StudioImageSource } from "./StudioImage";
2
3
  interface GalleryImage {
3
- src: string;
4
+ src: StudioImageSource;
4
5
  alt?: string;
5
6
  category?: string;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../src/components/Gallery.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,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,2CA+Od"}
1
+ {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../src/components/Gallery.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,UAAU,YAAY;IACpB,GAAG,EAAE,iBAAiB,CAAC;IACvB,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;AA0BD,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,2CAoPd"}
@@ -3,20 +3,30 @@ import { useState, useMemo, useEffect, useCallback, useRef } from "react";
3
3
  import { twMerge } from "tailwind-merge";
4
4
  import { useSiteConfig } from "../hooks/useSiteConfig";
5
5
  import { useAuth } from "../hooks/useAuth";
6
- import { imageUrl } from "../utils/imageUrl";
7
6
  import { Lightbox } from "./Lightbox";
8
7
  import { StudioEditPlaceholder } from "./StudioEditPlaceholder";
8
+ import { StudioImage } from "./StudioImage";
9
9
  const gridColClasses = {
10
10
  2: "grid-cols-1 sm:grid-cols-2",
11
11
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
12
12
  4: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",
13
13
  };
14
+ const gridSizes = {
15
+ 2: "(min-width: 640px) 50vw, 100vw",
16
+ 3: "(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw",
17
+ 4: "(min-width: 1024px) 25vw, (min-width: 640px) 33vw, 50vw",
18
+ };
14
19
  /** Map media API "type" field to a user-friendly category name. */
15
20
  const TYPE_TO_CATEGORY = {
16
21
  Building: "Community",
17
22
  UnitPhotography: "Interiors",
18
23
  Floorplan: "Floor Plans",
19
24
  };
25
+ function imageKey(src, index) {
26
+ if (typeof src === "string")
27
+ return `${src}-${index}`;
28
+ return `${src?.asset ?? src?.src ?? "image"}-${index}`;
29
+ }
20
30
  export function Gallery({ propertyId: propertyIdProp, images: staticImages = [], categories, layout = "grid", columns = 3, className, "data-node-id": dataNodeId, }) {
21
31
  const config = useSiteConfig();
22
32
  const { authenticatedFetch } = useAuth();
@@ -101,9 +111,9 @@ export function Gallery({ propertyId: propertyIdProp, images: staticImages = [],
101
111
  : "bg-[var(--color-muted)]/10 text-[var(--color-foreground)] hover:bg-[var(--color-muted)]/20"), children: cat }, cat));
102
112
  }) })), layout === "grid" ? (
103
113
  /* Grid Layout */
104
- _jsx("div", { className: twMerge("grid gap-3", gridColClasses[columns] ?? gridColClasses[3]), children: filtered.map((img, i) => (_jsx("button", { onClick: () => setLightboxIndex(i), className: "group relative aspect-[4/3] overflow-hidden rounded-lg bg-gray-100 cursor-pointer", children: _jsx("img", { src: imageUrl(img.src, { w: 400, q: 75 }), alt: img.alt ?? "", loading: "lazy", className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105" }) }, `${img.src}-${i}`))) })) : (
114
+ _jsx("div", { className: twMerge("grid gap-3", gridColClasses[columns] ?? gridColClasses[3]), children: filtered.map((img, i) => (_jsx("button", { onClick: () => setLightboxIndex(i), className: "group relative aspect-[4/3] overflow-hidden rounded-lg bg-gray-100 cursor-pointer", children: _jsx(StudioImage, { src: img.src, alt: img.alt ?? "", sizes: gridSizes[columns] ?? gridSizes[3], quality: 75, allowCrop: false, className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105" }) }, imageKey(img.src, i)))) })) : (
105
115
  /* Carousel Layout */
106
- _jsx("div", { className: "relative", children: filtered.length > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { className: "aspect-[16/9] overflow-hidden rounded-lg bg-gray-100", children: _jsx("img", { src: imageUrl(filtered[carouselIndex % filtered.length]?.src, { w: 1200, q: 85 }), alt: filtered[carouselIndex % filtered.length]?.alt ?? "", className: "w-full h-full object-cover" }) }), _jsxs("div", { className: "absolute top-3 right-3 bg-black/50 text-white text-xs px-2 py-1 rounded", children: [(carouselIndex % filtered.length) + 1, " /", " ", filtered.length] }), filtered.length > 1 && (_jsxs(_Fragment, { children: [_jsx("button", { onClick: () => setCarouselIndex((carouselIndex - 1 + filtered.length) %
116
+ _jsx("div", { className: "relative", children: filtered.length > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { className: "aspect-[16/9] overflow-hidden rounded-lg bg-gray-100", children: _jsx(StudioImage, { src: filtered[carouselIndex % filtered.length]?.src, alt: filtered[carouselIndex % filtered.length]?.alt ?? "", sizes: "100vw", quality: 85, allowCrop: false, className: "w-full h-full object-cover" }) }), _jsxs("div", { className: "absolute top-3 right-3 bg-black/50 text-white text-xs px-2 py-1 rounded", children: [(carouselIndex % filtered.length) + 1, " /", " ", filtered.length] }), filtered.length > 1 && (_jsxs(_Fragment, { children: [_jsx("button", { onClick: () => setCarouselIndex((carouselIndex - 1 + filtered.length) %
107
117
  filtered.length), className: "absolute left-2 top-1/2 -translate-y-1/2 bg-black/40 hover:bg-black/60 text-white rounded-full p-2 cursor-pointer", "aria-label": "Previous", children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M15 18l-6-6 6-6" }) }) }), _jsx("button", { onClick: () => setCarouselIndex((carouselIndex + 1) % filtered.length), className: "absolute right-2 top-1/2 -translate-y-1/2 bg-black/40 hover:bg-black/60 text-white rounded-full p-2 cursor-pointer", "aria-label": "Next", children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M9 18l6-6-6-6" }) }) })] })), _jsx("button", { onClick: () => setLightboxIndex(carouselIndex % filtered.length), className: "absolute inset-0 cursor-pointer", "aria-label": "Open fullscreen" })] })) })), lightboxIndex != null && (_jsx(Lightbox, { images: filtered, index: lightboxIndex, onClose: () => setLightboxIndex(null), onChange: setLightboxIndex }))] }));
108
118
  }
109
119
  //# sourceMappingURL=Gallery.js.map
@@ -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":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAmBpE,MAAM,cAAc,GAA2B;IAC7C,CAAC,EAAE,4BAA4B;IAC/B,CAAC,EAAE,2CAA2C;IAC9C,CAAC,EAAE,2CAA2C;CAC/C,CAAC;AAEF,MAAM,SAAS,GAA2B;IACxC,CAAC,EAAE,gCAAgC;IACnC,CAAC,EAAE,0DAA0D;IAC7D,CAAC,EAAE,yDAAyD;CAC7D,CAAC;AAEF,mEAAmE;AACnE,MAAM,gBAAgB,GAA2B;IAC/C,QAAQ,EAAE,WAAW;IACrB,eAAe,EAAE,WAAW;IAC5B,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,SAAS,QAAQ,CAAC,GAAsB,EAAE,KAAa;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACtD,OAAO,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,YAAY,GAAG,EAAE,EACzB,UAAU,EACV,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,CAAC,EACX,SAAS,EACT,cAAc,EAAE,UAAU,GACb;IACb,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;IAErD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEhC,oDAAoD;IACpD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QAC7C,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC,GAAG,UAAU,kBAAkB,UAAU,qBAAqB,CAC/D,CAAC;YACF,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAA+E,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAE9G,MAAM,KAAK,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjD,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE;gBAClC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS;aAChE,CAAC,CAAC,CAAC;YACJ,IAAI,UAAU,KAAK,aAAa,CAAC,OAAO;gBAAE,OAAO;YACjD,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,UAAU,KAAK,aAAa,CAAC,OAAO;gBAAE,OAAO;YACjD,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,UAAU,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBACzC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChC,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,+DAA+D;IAC/D,MAAM,iBAAiB,GACrB,OAAO,CAAC,UAAU,CAAC,IAAI,gBAAgB,KAAK,UAAU,IAAI,SAAS,KAAK,IAAI,CAAC;IAC/E,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5D,MAAM,qBAAqB,GACzB,OAAO,CAAC,UAAU,CAAC;QACnB,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,OAAO,IAAI,gBAAgB,KAAK,UAAU,CAAC,CAAC;IAE/C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7B,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;QACrC,OAAO,CACL,8BAAmB,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,4CAA4C,EAAE,SAAS,CAAC,mCAEpG,CACP,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CACL,KAAC,qBAAqB,oBACN,UAAU,EACxB,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAC,yBAAyB,EAC9B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,+BAAmB,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,aAEnE,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC/B,cAAK,SAAS,EAAC,2BAA2B,YACvC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GACZ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,KAAK,GAAG,CAAC;oBAC3D,OAAO,CACL,iBAEE,OAAO,EAAE,GAAG,EAAE,CACZ,iBAAiB,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAE/C,SAAS,EAAE,OAAO,CAChB,+EAA+E,EAC/E,QAAQ;4BACN,CAAC,CAAC,sCAAsC;4BACxC,CAAC,CAAC,4FAA4F,CACjG,YAEA,GAAG,IAXC,GAAG,CAYD,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,EAEA,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;YACnB,iBAAiB;YACjB,cACE,SAAS,EAAE,OAAO,CAChB,YAAY,EACZ,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAC7C,YAEA,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,iBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAClC,SAAS,EAAC,mFAAmF,YAE7F,KAAC,WAAW,IACV,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAClB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EACzC,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,KAAK,EAChB,SAAS,EAAC,oFAAoF,GAC9F,IAXG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAYlB,CACV,CAAC,GACE,CACP,CAAC,CAAC,CAAC;YACF,qBAAqB;YACrB,cAAK,SAAS,EAAC,UAAU,YACtB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,8BACE,cAAK,SAAS,EAAC,sDAAsD,YACnE,KAAC,WAAW,IACV,GAAG,EAAE,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EACnD,GAAG,EACD,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,EAEtD,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,KAAK,EAChB,SAAS,EAAC,4BAA4B,GACtC,GACE,EAGN,eAAK,SAAS,EAAC,yEAAyE,aACrF,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAI,GAAG,EAC5C,QAAQ,CAAC,MAAM,IACZ,EAGL,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,8BACE,iBACE,OAAO,EAAE,GAAG,EAAE,CACZ,gBAAgB,CACd,CAAC,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;wCACnC,QAAQ,CAAC,MAAM,CAClB,EAEH,SAAS,EAAC,mHAAmH,gBAClH,UAAU,YAErB,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,YAEf,eAAM,CAAC,EAAC,iBAAiB,GAAG,GACxB,GACC,EACT,iBACE,OAAO,EAAE,GAAG,EAAE,CACZ,gBAAgB,CACd,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CACtC,EAEH,SAAS,EAAC,oHAAoH,gBACnH,MAAM,YAEjB,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,YAEf,eAAM,CAAC,EAAC,eAAe,GAAG,GACtB,GACC,IACR,CACJ,EAGD,iBACE,OAAO,EAAE,GAAG,EAAE,CACZ,gBAAgB,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAEnD,SAAS,EAAC,iCAAiC,gBAChC,iBAAiB,GAC5B,IACD,CACJ,GACG,CACP,EAGA,aAAa,IAAI,IAAI,IAAI,CACxB,KAAC,QAAQ,IACP,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACrC,QAAQ,EAAE,gBAAgB,GAC1B,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { EditableNodeAttributes } from "../types";
2
+ import { type StudioImageSource } from "./StudioImage";
2
3
  interface ImageProps extends EditableNodeAttributes {
3
- src?: string;
4
+ src?: StudioImageSource;
4
5
  alt?: string;
5
6
  className?: string;
6
7
  }
@@ -1 +1 @@
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
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,UAAU,UAAW,SAAQ,sBAAsB;IACjD,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,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,kDAWpF"}
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { twMerge } from "tailwind-merge";
3
+ import { StudioImage } from "./StudioImage";
3
4
  export function Image({ src, alt, className, "data-node-id": dataNodeId }) {
4
5
  if (!src)
5
6
  return null;
6
- return (_jsx("img", { "data-node-id": dataNodeId, src: src, alt: alt ?? "", className: twMerge("max-w-full", className) }));
7
+ return (_jsx(StudioImage, { "data-node-id": dataNodeId, src: src, alt: alt ?? "", sizes: "100vw", className: twMerge("max-w-full", className) }));
7
8
  }
8
9
  //# 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;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
+ {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAQpE,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,KAAC,WAAW,oBACI,UAAU,EACxB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,IAAI,EAAE,EACd,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,GAC3C,CACH,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { type StudioImageSource } from "./StudioImage";
1
2
  interface LightboxImage {
2
- src: string;
3
+ src: StudioImageSource;
3
4
  alt?: string;
4
5
  }
5
6
  interface LightboxProps {
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/components/Lightbox.tsx"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,aAAa,kDAmF3E"}
1
+ {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/components/Lightbox.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,UAAU,aAAa;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,aAAa,kDAsF3E"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useCallback } from "react";
3
+ import { StudioImage } from "./StudioImage";
3
4
  export function Lightbox({ images, index, onClose, onChange }) {
4
5
  const image = images[index];
5
6
  if (!image)
@@ -18,6 +19,6 @@ export function Lightbox({ images, index, onClose, onChange }) {
18
19
  window.addEventListener("keydown", onKey);
19
20
  return () => window.removeEventListener("keydown", onKey);
20
21
  }, [onClose, goPrev, goNext]);
21
- return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/90", onClick: onClose, children: [_jsx("button", { onClick: onClose, className: "absolute top-4 right-4 text-white/70 hover:text-white z-10 cursor-pointer", "aria-label": "Close", children: _jsx("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M6 6l12 12M18 6L6 18" }) }) }), _jsxs("div", { className: "absolute top-4 left-4 text-white/60 text-sm", children: [index + 1, " / ", images.length] }), images.length > 1 && (_jsx("button", { onClick: (e) => { e.stopPropagation(); goPrev(); }, className: "absolute left-4 text-white/70 hover:text-white z-10 cursor-pointer", "aria-label": "Previous", children: _jsx("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M15 18l-6-6 6-6" }) }) })), _jsx("img", { src: image.src, alt: image.alt ?? "", className: "max-w-[90vw] max-h-[85vh] object-contain", onClick: (e) => e.stopPropagation() }), images.length > 1 && (_jsx("button", { onClick: (e) => { e.stopPropagation(); goNext(); }, className: "absolute right-4 text-white/70 hover:text-white z-10 cursor-pointer", "aria-label": "Next", children: _jsx("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M9 18l6-6-6-6" }) }) })), image.alt && (_jsx("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2 text-white/70 text-sm text-center max-w-md", children: image.alt }))] }));
22
+ return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/90", onClick: onClose, children: [_jsx("button", { onClick: onClose, className: "absolute top-4 right-4 text-white/70 hover:text-white z-10 cursor-pointer", "aria-label": "Close", children: _jsx("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M6 6l12 12M18 6L6 18" }) }) }), _jsxs("div", { className: "absolute top-4 left-4 text-white/60 text-sm", children: [index + 1, " / ", images.length] }), images.length > 1 && (_jsx("button", { onClick: (e) => { e.stopPropagation(); goPrev(); }, className: "absolute left-4 text-white/70 hover:text-white z-10 cursor-pointer", "aria-label": "Previous", children: _jsx("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M15 18l-6-6 6-6" }) }) })), _jsx(StudioImage, { src: image.src, alt: image.alt ?? "", sizes: "90vw", quality: 90, allowCrop: false, className: "max-w-[90vw] max-h-[85vh] object-contain", onClick: (e) => e.stopPropagation() }), images.length > 1 && (_jsx("button", { onClick: (e) => { e.stopPropagation(); goNext(); }, className: "absolute right-4 text-white/70 hover:text-white z-10 cursor-pointer", "aria-label": "Next", children: _jsx("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M9 18l6-6-6-6" }) }) })), image.alt && (_jsx("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2 text-white/70 text-sm text-center max-w-md", children: image.alt }))] }));
22
23
  }
23
24
  //# sourceMappingURL=Lightbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../../src/components/Lightbox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../../src/components/Lightbox.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { EditableNodeAttributes, NavLink as NavLinkType } from "../types";
2
+ import { type StudioImageSource } from "./StudioImage";
2
3
  interface NavProps extends EditableNodeAttributes {
3
- logo?: string;
4
+ logo?: StudioImageSource;
4
5
  siteName?: string;
5
6
  links?: NavLinkType[];
6
7
  sticky?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Nav.d.ts","sourceRoot":"","sources":["../../src/components/Nav.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAE/E,UAAU,QAAS,SAAQ,sBAAsB;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAU,EAAE,MAAc,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,QAAQ,2CA2HlH"}
1
+ {"version":3,"file":"Nav.d.ts","sourceRoot":"","sources":["../../src/components/Nav.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,UAAU,QAAS,SAAQ,sBAAsB;IAC/C,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAU,EAAE,MAAc,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,QAAQ,2CA4HlH"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { useState } from "react";
3
3
  import { twMerge } from "tailwind-merge";
4
4
  import { useNavigate, usePathname } from "../router";
5
+ import { StudioImage } from "./StudioImage";
5
6
  export function Nav({ logo, siteName, links = [], sticky = false, className, "data-node-id": dataNodeId }) {
6
7
  const [menuOpen, setMenuOpen] = useState(false);
7
8
  const navigate = useNavigate();
@@ -36,10 +37,10 @@ export function Nav({ logo, siteName, links = [], sticky = false, className, "da
36
37
  }
37
38
  setMenuOpen(false);
38
39
  };
39
- return (_jsxs("nav", { "data-node-id": dataNodeId, className: twMerge("w-full bg-white border-b border-gray-100 z-40", sticky && "sticky top-0 shadow-sm", className), children: [_jsxs("div", { className: "max-w-6xl mx-auto flex items-center justify-between px-4 py-3", children: [_jsx("a", { href: "/", onClick: (e) => {
40
+ return (_jsxs("nav", { "data-node-id": dataNodeId, className: twMerge("w-full bg-white border-b border-gray-100 z-40", sticky && "sticky top-0 shadow-sm", className), children: [_jsxs("div", { className: "max-w-6xl mx-auto flex items-center justify-between px-4 py-3", children: [_jsx("a", { href: "/", "aria-label": siteName ? `${siteName} home` : "Home", onClick: (e) => {
40
41
  e.preventDefault();
41
42
  handleNav("/");
42
- }, className: "flex items-center gap-2 cursor-pointer", children: logo ? (_jsx("img", { src: logo, alt: siteName ?? "Home", className: "h-8 w-auto", width: "auto", height: "32" })) : siteName ? (_jsx("span", { className: "text-lg font-bold text-[var(--color-foreground)]", children: siteName })) : null }), _jsx("div", { className: "hidden md:flex items-center gap-6", children: links.map((link) => (_jsx("a", { href: link.to, onClick: (e) => {
43
+ }, className: "flex items-center gap-2 cursor-pointer", children: logo ? (_jsx(StudioImage, { src: logo, decorative: true, sizes: "160px", className: "h-8 w-auto" })) : siteName ? (_jsx("span", { className: "text-lg font-bold text-[var(--color-foreground)]", children: siteName })) : null }), _jsx("div", { className: "hidden md:flex items-center gap-6", children: links.map((link) => (_jsx("a", { href: link.to, onClick: (e) => {
43
44
  e.preventDefault();
44
45
  handleNav(link.to);
45
46
  }, className: twMerge("text-sm font-medium transition-colors cursor-pointer", pathname === link.to
@@ -1 +1 @@
1
- {"version":3,"file":"Nav.js","sourceRoot":"","sources":["../../src/components/Nav.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Nav.js","sourceRoot":"","sources":["../../src/components/Nav.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCard.d.ts","sourceRoot":"","sources":["../../src/components/PropertyCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,UAAU,iBAAkB,SAAQ,sBAAsB;IACxD,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM,CAMnF;AAYD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAgC,EAChC,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,iBAAiB,2CAyDnB"}
1
+ {"version":3,"file":"PropertyCard.d.ts","sourceRoot":"","sources":["../../src/components/PropertyCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,UAAU,iBAAkB,SAAQ,sBAAsB;IACxD,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM,CAMnF;AAYD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAgC,EAChC,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,iBAAiB,2CA2DnB"}
@@ -2,6 +2,7 @@ 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
4
  import { StudioEditPlaceholder } from "./StudioEditPlaceholder";
5
+ import { StudioImage } from "./StudioImage";
5
6
  export function buildPropertyHref(pattern, property) {
6
7
  return pattern
7
8
  .replace(/\{id\}/g, String(property.id))
@@ -33,6 +34,6 @@ export function PropertyCard({ property, hrefPattern = "/properties/{id}", class
33
34
  e.preventDefault();
34
35
  navigate(href);
35
36
  };
36
- return (_jsxs("a", { "data-node-id": dataNodeId, href: href, onClick: handleClick, target: isExternal ? "_blank" : undefined, rel: isExternal ? "noopener noreferrer" : undefined, className: twMerge("group flex flex-col overflow-hidden rounded-[var(--radius)] bg-white shadow-[var(--shadow)] transition-shadow hover:shadow-[var(--shadow-hover)] cursor-pointer", className), children: [_jsx("div", { className: "aspect-[4/3] w-full overflow-hidden bg-[var(--color-muted)]/10", children: image && (_jsx("img", { src: image, alt: property.name ?? "Property", loading: "lazy", className: "h-full w-full object-cover transition-transform duration-300 group-hover:scale-105" })) }), _jsxs("div", { className: "flex flex-col gap-1 p-4", children: [_jsx("span", { className: "text-base font-semibold text-[var(--color-foreground)]", children: property.name ?? "Community" }), location && (_jsx("span", { className: "text-sm text-[var(--color-secondary)]", children: location }))] })] }));
37
+ return (_jsxs("a", { "data-node-id": dataNodeId, href: href, onClick: handleClick, target: isExternal ? "_blank" : undefined, rel: isExternal ? "noopener noreferrer" : undefined, className: twMerge("group flex flex-col overflow-hidden rounded-[var(--radius)] bg-white shadow-[var(--shadow)] transition-shadow hover:shadow-[var(--shadow-hover)] cursor-pointer", className), children: [_jsx("div", { className: "aspect-[4/3] w-full overflow-hidden bg-[var(--color-muted)]/10", children: image && (_jsx(StudioImage, { src: image, alt: property.name ?? "Property", sizes: "(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw", allowCrop: false, loading: "lazy", className: "h-full w-full object-cover transition-transform duration-300 group-hover:scale-105" })) }), _jsxs("div", { className: "flex flex-col gap-1 p-4", children: [_jsx("span", { className: "text-base font-semibold text-[var(--color-foreground)]", children: property.name ?? "Community" }), location && (_jsx("span", { className: "text-sm text-[var(--color-secondary)]", children: location }))] })] }));
37
38
  }
38
39
  //# sourceMappingURL=PropertyCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCard.js","sourceRoot":"","sources":["../../src/components/PropertyCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PropertyCard.js","sourceRoot":"","sources":["../../src/components/PropertyCard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type ImageResizeOptions } from "../utils/imageUrl";
2
+ import type { ResolvedImage } from "../utils/resolveConfig";
3
+ export type StudioImageSource = ResolvedImage | string | null | undefined;
4
+ interface StudioImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, "alt" | "sizes" | "src" | "srcSet"> {
5
+ src: StudioImageSource;
6
+ sizes: string;
7
+ alt?: string;
8
+ fallbackAlt?: string;
9
+ decorative?: boolean;
10
+ allowCrop?: boolean;
11
+ quality?: number;
12
+ }
13
+ export declare function studioImageUrl(source: StudioImageSource, opts?: ImageResizeOptions & {
14
+ allowCrop?: boolean;
15
+ }): string;
16
+ export declare function StudioImage({ src, sizes, alt, fallbackAlt, decorative, allowCrop, quality, loading, className, style, ...imgProps }: StudioImageProps): import("react/jsx-runtime").JSX.Element | null;
17
+ export {};
18
+ //# sourceMappingURL=StudioImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StudioImage.d.ts","sourceRoot":"","sources":["../../src/components/StudioImage.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E,UAAU,gBACR,SAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3F,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoDD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,iBAAiB,EACzB,IAAI,CAAC,EAAE,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAClD,MAAM,CAKR;AAED,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,KAAK,EACL,GAAG,EACH,WAAW,EACX,UAAkB,EAClB,SAAgB,EAChB,OAAY,EACZ,OAAgB,EAChB,SAAS,EACT,KAAK,EACL,GAAG,QAAQ,EACZ,EAAE,gBAAgB,kDAkDlB"}