@bigz-app/booking-widget 0.3.9 → 0.3.10

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.
@@ -12313,8 +12313,21 @@
12313
12313
  function PromoDialog({ onClose, onCtaClick }) {
12314
12314
  const [copied, setCopied] = d$1(false);
12315
12315
  const [isVisible, setIsVisible] = d$1(false);
12316
+ const [portalContainer, setPortalContainer] = d$1(null);
12316
12317
  // Hardcoded Xmas surf school content
12317
12318
  const discountCode = "X-MAS";
12319
+ // Create portal container on mount to escape stacking context issues
12320
+ y$1(() => {
12321
+ const container = document.createElement("div");
12322
+ container.id = "bigz-promo-dialog-portal";
12323
+ container.style.position = "relative";
12324
+ container.style.zIndex = "2147483647"; // Maximum z-index value
12325
+ document.body.appendChild(container);
12326
+ setPortalContainer(container);
12327
+ return () => {
12328
+ document.body.removeChild(container);
12329
+ };
12330
+ }, []);
12318
12331
  // Animate in on mount
12319
12332
  y$1(() => {
12320
12333
  const timer = setTimeout(() => setIsVisible(true), 50);
@@ -12346,7 +12359,11 @@
12346
12359
  setIsVisible(false);
12347
12360
  setTimeout(onCtaClick, 200);
12348
12361
  };
12349
- return (u$2(k$3, { children: [u$2("style", { children: `
12362
+ // Don't render until portal container is ready
12363
+ if (!portalContainer) {
12364
+ return null;
12365
+ }
12366
+ const dialogContent = (u$2(k$3, { children: [u$2("style", { children: `
12350
12367
  @keyframes promo-wave {
12351
12368
  0%, 100% { transform: translateX(0) translateY(0); }
12352
12369
  25% { transform: translateX(5px) translateY(-3px); }
@@ -12376,7 +12393,7 @@
12376
12393
  inset: 0,
12377
12394
  backgroundColor: "rgba(0, 20, 40, 0.85)",
12378
12395
  backdropFilter: "blur(8px)",
12379
- zIndex: 9998,
12396
+ zIndex: 60,
12380
12397
  opacity: isVisible ? 1 : 0,
12381
12398
  transition: "opacity 300ms ease-out",
12382
12399
  } }), u$2("div", { style: {
@@ -12384,7 +12401,7 @@
12384
12401
  top: "50%",
12385
12402
  left: "50%",
12386
12403
  transform: `translate(-50%, -50%) scale(${isVisible ? 1 : 0.9})`,
12387
- zIndex: 9999,
12404
+ zIndex: 61,
12388
12405
  width: "92%",
12389
12406
  maxWidth: "440px",
12390
12407
  opacity: isVisible ? 1 : 0,
@@ -12565,6 +12582,8 @@
12565
12582
  fontSize: "12px",
12566
12583
  color: "rgba(255,255,255,0.6)",
12567
12584
  }, children: "G\u00FCltig f\u00FCr alle Buchungen bis 31. Dezember 2025" })] })] }) })] }));
12585
+ // Use portal to render at document body level, escaping any stacking context
12586
+ return $$1(dialogContent, portalContainer);
12568
12587
  }
12569
12588
 
12570
12589
  // Predefined themes & Style Provider have been moved to ../styles/StyleProvider.tsx