@opensite/ui 2.9.4 → 2.9.5

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.
@@ -524,9 +524,18 @@ function ContactMap({
524
524
  }
525
525
  );
526
526
  }, [formEngineSetup]);
527
+ const isInIframe = React4__namespace.useMemo(() => {
528
+ if (typeof window === "undefined") return false;
529
+ try {
530
+ return window.self !== window.top;
531
+ } catch {
532
+ return true;
533
+ }
534
+ }, []);
527
535
  const resolvedMapProps = React4__namespace.useMemo(() => {
528
536
  return {
529
- mapWrapperClassName: "h-full min-h-[420px] md:min-h-[520px]",
537
+ // Use simpler height rules when in iframe to avoid resize loops
538
+ mapWrapperClassName: isInIframe ? "h-full min-h-[420px]" : "h-full min-h-[420px] md:min-h-[520px]",
530
539
  panelPosition: "top-left",
531
540
  ...mapProps,
532
541
  className: cn("h-full w-full", mapClassName, mapProps?.className),
@@ -535,7 +544,7 @@ function ContactMap({
535
544
  IconComponent: DynamicIcon,
536
545
  ImgComponent: img.Img
537
546
  };
538
- }, [mapClassName, mapProps, optixFlowConfig]);
547
+ }, [isInIframe, mapClassName, mapProps, optixFlowConfig]);
539
548
  return /* @__PURE__ */ jsxRuntime.jsx(
540
549
  Section,
541
550
  {
@@ -578,7 +587,20 @@ function ContactMap({
578
587
  ] }),
579
588
  renderForm
580
589
  ] }) }),
581
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-full", mapColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(maps.GeoMap, { ...resolvedMapProps }) })
590
+ /* @__PURE__ */ jsxRuntime.jsx(
591
+ "div",
592
+ {
593
+ className: cn(
594
+ // Add overflow hidden and relative positioning to contain the map properly
595
+ "relative h-full overflow-hidden",
596
+ // In iframe contexts, ensure proper containment without fixed aspect ratios
597
+ isInIframe && "min-h-0",
598
+ // Allow flexible height but prevent infinite expansion
599
+ mapColumnClassName
600
+ ),
601
+ children: /* @__PURE__ */ jsxRuntime.jsx(maps.GeoMap, { ...resolvedMapProps })
602
+ }
603
+ )
582
604
  ]
583
605
  }
584
606
  )
@@ -503,9 +503,18 @@ function ContactMap({
503
503
  }
504
504
  );
505
505
  }, [formEngineSetup]);
506
+ const isInIframe = React4.useMemo(() => {
507
+ if (typeof window === "undefined") return false;
508
+ try {
509
+ return window.self !== window.top;
510
+ } catch {
511
+ return true;
512
+ }
513
+ }, []);
506
514
  const resolvedMapProps = React4.useMemo(() => {
507
515
  return {
508
- mapWrapperClassName: "h-full min-h-[420px] md:min-h-[520px]",
516
+ // Use simpler height rules when in iframe to avoid resize loops
517
+ mapWrapperClassName: isInIframe ? "h-full min-h-[420px]" : "h-full min-h-[420px] md:min-h-[520px]",
509
518
  panelPosition: "top-left",
510
519
  ...mapProps,
511
520
  className: cn("h-full w-full", mapClassName, mapProps?.className),
@@ -514,7 +523,7 @@ function ContactMap({
514
523
  IconComponent: DynamicIcon,
515
524
  ImgComponent: Img
516
525
  };
517
- }, [mapClassName, mapProps, optixFlowConfig]);
526
+ }, [isInIframe, mapClassName, mapProps, optixFlowConfig]);
518
527
  return /* @__PURE__ */ jsx(
519
528
  Section,
520
529
  {
@@ -557,7 +566,20 @@ function ContactMap({
557
566
  ] }),
558
567
  renderForm
559
568
  ] }) }),
560
- /* @__PURE__ */ jsx("div", { className: cn("h-full", mapColumnClassName), children: /* @__PURE__ */ jsx(GeoMap, { ...resolvedMapProps }) })
569
+ /* @__PURE__ */ jsx(
570
+ "div",
571
+ {
572
+ className: cn(
573
+ // Add overflow hidden and relative positioning to contain the map properly
574
+ "relative h-full overflow-hidden",
575
+ // In iframe contexts, ensure proper containment without fixed aspect ratios
576
+ isInIframe && "min-h-0",
577
+ // Allow flexible height but prevent infinite expansion
578
+ mapColumnClassName
579
+ ),
580
+ children: /* @__PURE__ */ jsx(GeoMap, { ...resolvedMapProps })
581
+ }
582
+ )
561
583
  ]
562
584
  }
563
585
  )
package/dist/registry.cjs CHANGED
@@ -16634,9 +16634,18 @@ function ContactMap({
16634
16634
  }
16635
16635
  );
16636
16636
  }, [formEngineSetup]);
16637
+ const isInIframe = React32__namespace.useMemo(() => {
16638
+ if (typeof window === "undefined") return false;
16639
+ try {
16640
+ return window.self !== window.top;
16641
+ } catch {
16642
+ return true;
16643
+ }
16644
+ }, []);
16637
16645
  const resolvedMapProps = React32__namespace.useMemo(() => {
16638
16646
  return {
16639
- mapWrapperClassName: "h-full min-h-[420px] md:min-h-[520px]",
16647
+ // Use simpler height rules when in iframe to avoid resize loops
16648
+ mapWrapperClassName: isInIframe ? "h-full min-h-[420px]" : "h-full min-h-[420px] md:min-h-[520px]",
16640
16649
  panelPosition: "top-left",
16641
16650
  ...mapProps,
16642
16651
  className: cn("h-full w-full", mapClassName, mapProps?.className),
@@ -16645,7 +16654,7 @@ function ContactMap({
16645
16654
  IconComponent: DynamicIcon,
16646
16655
  ImgComponent: img.Img
16647
16656
  };
16648
- }, [mapClassName, mapProps, optixFlowConfig]);
16657
+ }, [isInIframe, mapClassName, mapProps, optixFlowConfig]);
16649
16658
  return /* @__PURE__ */ jsxRuntime.jsx(
16650
16659
  Section,
16651
16660
  {
@@ -16688,7 +16697,20 @@ function ContactMap({
16688
16697
  ] }),
16689
16698
  renderForm
16690
16699
  ] }) }),
16691
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-full", mapColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(maps.GeoMap, { ...resolvedMapProps }) })
16700
+ /* @__PURE__ */ jsxRuntime.jsx(
16701
+ "div",
16702
+ {
16703
+ className: cn(
16704
+ // Add overflow hidden and relative positioning to contain the map properly
16705
+ "relative h-full overflow-hidden",
16706
+ // In iframe contexts, ensure proper containment without fixed aspect ratios
16707
+ isInIframe && "min-h-0",
16708
+ // Allow flexible height but prevent infinite expansion
16709
+ mapColumnClassName
16710
+ ),
16711
+ children: /* @__PURE__ */ jsxRuntime.jsx(maps.GeoMap, { ...resolvedMapProps })
16712
+ }
16713
+ )
16692
16714
  ]
16693
16715
  }
16694
16716
  )
@@ -47243,7 +47265,7 @@ function TestimonialsParallaxNumber({
47243
47265
  ) })
47244
47266
  ] }),
47245
47267
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
47246
- /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
47268
+ companyName ? /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
47247
47269
  framerMotion.motion.div,
47248
47270
  {
47249
47271
  initial: { opacity: 0, x: -20 },
@@ -47254,12 +47276,12 @@ function TestimonialsParallaxNumber({
47254
47276
  children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm", children: companyName })
47255
47277
  },
47256
47278
  activeIndex
47257
- ) }),
47279
+ ) }) : null,
47258
47280
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mb-12 min-h-[140px]", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
47259
47281
  framerMotion.motion.blockquote,
47260
47282
  {
47261
47283
  className: cn(
47262
- "text-2xl md:text-4xl lg:text-5xl",
47284
+ "text-2xl md:text-3xl lg:text-4xl xl:text-5xl",
47263
47285
  "font-light leading-[1.15] tracking-tight",
47264
47286
  quoteClassName
47265
47287
  ),
package/dist/registry.js CHANGED
@@ -16594,9 +16594,18 @@ function ContactMap({
16594
16594
  }
16595
16595
  );
16596
16596
  }, [formEngineSetup]);
16597
+ const isInIframe = React32.useMemo(() => {
16598
+ if (typeof window === "undefined") return false;
16599
+ try {
16600
+ return window.self !== window.top;
16601
+ } catch {
16602
+ return true;
16603
+ }
16604
+ }, []);
16597
16605
  const resolvedMapProps = React32.useMemo(() => {
16598
16606
  return {
16599
- mapWrapperClassName: "h-full min-h-[420px] md:min-h-[520px]",
16607
+ // Use simpler height rules when in iframe to avoid resize loops
16608
+ mapWrapperClassName: isInIframe ? "h-full min-h-[420px]" : "h-full min-h-[420px] md:min-h-[520px]",
16600
16609
  panelPosition: "top-left",
16601
16610
  ...mapProps,
16602
16611
  className: cn("h-full w-full", mapClassName, mapProps?.className),
@@ -16605,7 +16614,7 @@ function ContactMap({
16605
16614
  IconComponent: DynamicIcon,
16606
16615
  ImgComponent: Img
16607
16616
  };
16608
- }, [mapClassName, mapProps, optixFlowConfig]);
16617
+ }, [isInIframe, mapClassName, mapProps, optixFlowConfig]);
16609
16618
  return /* @__PURE__ */ jsx(
16610
16619
  Section,
16611
16620
  {
@@ -16648,7 +16657,20 @@ function ContactMap({
16648
16657
  ] }),
16649
16658
  renderForm
16650
16659
  ] }) }),
16651
- /* @__PURE__ */ jsx("div", { className: cn("h-full", mapColumnClassName), children: /* @__PURE__ */ jsx(GeoMap, { ...resolvedMapProps }) })
16660
+ /* @__PURE__ */ jsx(
16661
+ "div",
16662
+ {
16663
+ className: cn(
16664
+ // Add overflow hidden and relative positioning to contain the map properly
16665
+ "relative h-full overflow-hidden",
16666
+ // In iframe contexts, ensure proper containment without fixed aspect ratios
16667
+ isInIframe && "min-h-0",
16668
+ // Allow flexible height but prevent infinite expansion
16669
+ mapColumnClassName
16670
+ ),
16671
+ children: /* @__PURE__ */ jsx(GeoMap, { ...resolvedMapProps })
16672
+ }
16673
+ )
16652
16674
  ]
16653
16675
  }
16654
16676
  )
@@ -47203,7 +47225,7 @@ function TestimonialsParallaxNumber({
47203
47225
  ) })
47204
47226
  ] }),
47205
47227
  /* @__PURE__ */ jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
47206
- /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
47228
+ companyName ? /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
47207
47229
  motion.div,
47208
47230
  {
47209
47231
  initial: { opacity: 0, x: -20 },
@@ -47214,12 +47236,12 @@ function TestimonialsParallaxNumber({
47214
47236
  children: /* @__PURE__ */ jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm", children: companyName })
47215
47237
  },
47216
47238
  activeIndex
47217
- ) }),
47239
+ ) }) : null,
47218
47240
  /* @__PURE__ */ jsx("div", { className: "relative mb-12 min-h-[140px]", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
47219
47241
  motion.blockquote,
47220
47242
  {
47221
47243
  className: cn(
47222
- "text-2xl md:text-4xl lg:text-5xl",
47244
+ "text-2xl md:text-3xl lg:text-4xl xl:text-5xl",
47223
47245
  "font-light leading-[1.15] tracking-tight",
47224
47246
  quoteClassName
47225
47247
  ),
@@ -992,7 +992,7 @@ function TestimonialsParallaxNumber({
992
992
  ) })
993
993
  ] }),
994
994
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
995
- /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
995
+ companyName ? /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
996
996
  framerMotion.motion.div,
997
997
  {
998
998
  initial: { opacity: 0, x: -20 },
@@ -1003,12 +1003,12 @@ function TestimonialsParallaxNumber({
1003
1003
  children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm", children: companyName })
1004
1004
  },
1005
1005
  activeIndex
1006
- ) }),
1006
+ ) }) : null,
1007
1007
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mb-12 min-h-[140px]", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
1008
1008
  framerMotion.motion.blockquote,
1009
1009
  {
1010
1010
  className: cn(
1011
- "text-2xl md:text-4xl lg:text-5xl",
1011
+ "text-2xl md:text-3xl lg:text-4xl xl:text-5xl",
1012
1012
  "font-light leading-[1.15] tracking-tight",
1013
1013
  quoteClassName
1014
1014
  ),
@@ -971,7 +971,7 @@ function TestimonialsParallaxNumber({
971
971
  ) })
972
972
  ] }),
973
973
  /* @__PURE__ */ jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
974
- /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
974
+ companyName ? /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
975
975
  motion.div,
976
976
  {
977
977
  initial: { opacity: 0, x: -20 },
@@ -982,12 +982,12 @@ function TestimonialsParallaxNumber({
982
982
  children: /* @__PURE__ */ jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm", children: companyName })
983
983
  },
984
984
  activeIndex
985
- ) }),
985
+ ) }) : null,
986
986
  /* @__PURE__ */ jsx("div", { className: "relative mb-12 min-h-[140px]", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
987
987
  motion.blockquote,
988
988
  {
989
989
  className: cn(
990
- "text-2xl md:text-4xl lg:text-5xl",
990
+ "text-2xl md:text-3xl lg:text-4xl xl:text-5xl",
991
991
  "font-light leading-[1.15] tracking-tight",
992
992
  quoteClassName
993
993
  ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "2.9.4",
3
+ "version": "2.9.5",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",
@@ -3413,7 +3413,7 @@
3413
3413
  "@page-speed/icon": "0.1.2",
3414
3414
  "@page-speed/img": "0.4.6",
3415
3415
  "@page-speed/lightbox": "0.2.1",
3416
- "@page-speed/maps": "0.1.6",
3416
+ "@page-speed/maps": "0.1.7",
3417
3417
  "@page-speed/pdf-viewer": "0.1.9",
3418
3418
  "@page-speed/social-share": "0.0.5",
3419
3419
  "@radix-ui/react-accordion": "^1.2.12",