@loafmarkets/ui 0.1.388 → 0.1.390

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.
package/dist/index.mjs CHANGED
@@ -2606,26 +2606,38 @@ var PropertyTour = React5.forwardRef(
2606
2606
  ...props,
2607
2607
  children: [
2608
2608
  /* @__PURE__ */ jsx(CardHeader, { className: "px-6 pb-0 pt-6", children: /* @__PURE__ */ jsx(CardTitle, { className: "m-0 text-lg font-semibold text-white", children: title }) }),
2609
- /* @__PURE__ */ jsx("div", { className: "flex flex-1 flex-col px-6 pb-6 pt-5", style: { minHeight: 0 }, children: /* @__PURE__ */ jsx("div", { className: "relative flex-1 w-full overflow-hidden rounded-lg bg-black", children: /* @__PURE__ */ jsxs(
2610
- "video",
2611
- {
2612
- ref: videoRef,
2613
- className: "absolute inset-0 h-full w-full object-cover object-center",
2614
- controls,
2615
- controlsList: "nodownload noplaybackrate",
2616
- disablePictureInPicture: true,
2617
- onContextMenu: (e) => e.preventDefault(),
2618
- loop,
2619
- autoPlay,
2620
- muted,
2621
- playsInline,
2622
- poster,
2623
- children: [
2624
- /* @__PURE__ */ jsx("source", { src }),
2625
- "Your browser does not support the video tag."
2626
- ]
2627
- }
2628
- ) }) })
2609
+ /* @__PURE__ */ jsx("div", { className: "flex flex-1 flex-col px-6 pb-6 pt-5", style: { minHeight: 0 }, children: /* @__PURE__ */ jsxs("div", { className: "relative flex-1 w-full overflow-hidden rounded-lg bg-black", children: [
2610
+ /* @__PURE__ */ jsx("style", { children: `
2611
+ .loaf-muted-video::-webkit-media-controls-mute-button,
2612
+ .loaf-muted-video::-webkit-media-controls-volume-slider,
2613
+ .loaf-muted-video::-webkit-media-controls-volume-control-container {
2614
+ display: none !important;
2615
+ }
2616
+ ` }),
2617
+ /* @__PURE__ */ jsxs(
2618
+ "video",
2619
+ {
2620
+ ref: videoRef,
2621
+ className: "loaf-muted-video absolute inset-0 h-full w-full object-cover object-center",
2622
+ controls,
2623
+ controlsList: "nodownload noplaybackrate",
2624
+ disablePictureInPicture: true,
2625
+ onVolumeChange: (e) => {
2626
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
2627
+ },
2628
+ onContextMenu: (e) => e.preventDefault(),
2629
+ loop,
2630
+ autoPlay,
2631
+ muted,
2632
+ playsInline,
2633
+ poster,
2634
+ children: [
2635
+ /* @__PURE__ */ jsx("source", { src }),
2636
+ "Your browser does not support the video tag."
2637
+ ]
2638
+ }
2639
+ )
2640
+ ] }) })
2629
2641
  ]
2630
2642
  }
2631
2643
  );
@@ -9510,7 +9522,21 @@ function GalleryMapSection({
9510
9522
  ] }),
9511
9523
  isMobile ? /* @__PURE__ */ jsx(StackedGallery, { images, onPhotoClick }) : /* @__PURE__ */ jsxs(Fragment, { children: [
9512
9524
  /* @__PURE__ */ jsxs(Carousel, { children: [
9513
- showVideo && videoUrl && /* @__PURE__ */ jsx(VideoOverlay, { children: /* @__PURE__ */ jsx("video", { autoPlay: true, loop: true, playsInline: true, controls: true, style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: 8 }, children: /* @__PURE__ */ jsx("source", { src: videoUrl, type: "video/mp4" }) }) }),
9525
+ showVideo && videoUrl && /* @__PURE__ */ jsx(VideoOverlay, { children: /* @__PURE__ */ jsx(
9526
+ "video",
9527
+ {
9528
+ autoPlay: true,
9529
+ loop: true,
9530
+ playsInline: true,
9531
+ muted: true,
9532
+ controls: true,
9533
+ onVolumeChange: (e) => {
9534
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
9535
+ },
9536
+ style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: 8 },
9537
+ children: /* @__PURE__ */ jsx("source", { src: videoUrl, type: "video/mp4" })
9538
+ }
9539
+ ) }),
9514
9540
  /* @__PURE__ */ jsx(Track, { style: { transform: `translateX(-${carouselIndex * 100}%)` }, children: images.map((img, idx) => /* @__PURE__ */ jsxs(Slide, { onClick: () => onPhotoClick?.(idx), children: [
9515
9541
  /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title }),
9516
9542
  /* @__PURE__ */ jsxs(SlideCaption, { children: [
@@ -9630,8 +9656,12 @@ function GalleryMapSection({
9630
9656
  autoPlay: true,
9631
9657
  controls: true,
9632
9658
  playsInline: true,
9659
+ muted: true,
9633
9660
  controlsList: "nodownload",
9634
9661
  disablePictureInPicture: true,
9662
+ onVolumeChange: (e) => {
9663
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
9664
+ },
9635
9665
  onClick: (e) => e.stopPropagation(),
9636
9666
  onContextMenu: (e) => e.preventDefault()
9637
9667
  }
@@ -9927,6 +9957,15 @@ var Carousel = styled10.div`
9927
9957
  var VideoOverlay = styled10.div`
9928
9958
  position: absolute; inset: 0; z-index: 3; background: #000; border-radius: 8px;
9929
9959
  display: flex; align-items: center; justify-content: center;
9960
+
9961
+ /* Property videos stay permanently muted — remove the volume + mute buttons
9962
+ from the native player (Chrome/Edge/Safari/iOS/Android). Firefox ignores
9963
+ these and is covered by the onVolumeChange force-mute fallback. */
9964
+ video::-webkit-media-controls-mute-button,
9965
+ video::-webkit-media-controls-volume-slider,
9966
+ video::-webkit-media-controls-volume-control-container {
9967
+ display: none !important;
9968
+ }
9930
9969
  `;
9931
9970
  var Track = styled10.div`
9932
9971
  display: flex; transition: transform 0.4s ease;
@@ -10081,6 +10120,13 @@ var FullVideoOverlay = styled10.div`
10081
10120
  border-radius: 10px;
10082
10121
  background: #000;
10083
10122
  }
10123
+ /* Permanent mute — strip the volume + mute buttons (Firefox handled by the
10124
+ onVolumeChange fallback). */
10125
+ video::-webkit-media-controls-mute-button,
10126
+ video::-webkit-media-controls-volume-slider,
10127
+ video::-webkit-media-controls-volume-control-container {
10128
+ display: none !important;
10129
+ }
10084
10130
  `;
10085
10131
  var FullVideoClose = styled10.button`
10086
10132
  position: absolute;
@@ -10667,6 +10713,8 @@ var Wrapper = styled10.div`
10667
10713
  display: flex;
10668
10714
  flex-direction: column;
10669
10715
  gap: 1.5rem;
10716
+ /* Breathing room before the footer below the last section (Trading Hours). */
10717
+ padding-bottom: 2.5rem;
10670
10718
  `;
10671
10719
  var GallerySpecRow = styled10.div`
10672
10720
  display: grid;