@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.js CHANGED
@@ -2631,26 +2631,38 @@ var PropertyTour = React5__namespace.forwardRef(
2631
2631
  ...props,
2632
2632
  children: [
2633
2633
  /* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "px-6 pb-0 pt-6", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "m-0 text-lg font-semibold text-white", children: title }) }),
2634
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col px-6 pb-6 pt-5", style: { minHeight: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex-1 w-full overflow-hidden rounded-lg bg-black", children: /* @__PURE__ */ jsxRuntime.jsxs(
2635
- "video",
2636
- {
2637
- ref: videoRef,
2638
- className: "absolute inset-0 h-full w-full object-cover object-center",
2639
- controls,
2640
- controlsList: "nodownload noplaybackrate",
2641
- disablePictureInPicture: true,
2642
- onContextMenu: (e) => e.preventDefault(),
2643
- loop,
2644
- autoPlay,
2645
- muted,
2646
- playsInline,
2647
- poster,
2648
- children: [
2649
- /* @__PURE__ */ jsxRuntime.jsx("source", { src }),
2650
- "Your browser does not support the video tag."
2651
- ]
2652
- }
2653
- ) }) })
2634
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col px-6 pb-6 pt-5", style: { minHeight: 0 }, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-1 w-full overflow-hidden rounded-lg bg-black", children: [
2635
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
2636
+ .loaf-muted-video::-webkit-media-controls-mute-button,
2637
+ .loaf-muted-video::-webkit-media-controls-volume-slider,
2638
+ .loaf-muted-video::-webkit-media-controls-volume-control-container {
2639
+ display: none !important;
2640
+ }
2641
+ ` }),
2642
+ /* @__PURE__ */ jsxRuntime.jsxs(
2643
+ "video",
2644
+ {
2645
+ ref: videoRef,
2646
+ className: "loaf-muted-video absolute inset-0 h-full w-full object-cover object-center",
2647
+ controls,
2648
+ controlsList: "nodownload noplaybackrate",
2649
+ disablePictureInPicture: true,
2650
+ onVolumeChange: (e) => {
2651
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
2652
+ },
2653
+ onContextMenu: (e) => e.preventDefault(),
2654
+ loop,
2655
+ autoPlay,
2656
+ muted,
2657
+ playsInline,
2658
+ poster,
2659
+ children: [
2660
+ /* @__PURE__ */ jsxRuntime.jsx("source", { src }),
2661
+ "Your browser does not support the video tag."
2662
+ ]
2663
+ }
2664
+ )
2665
+ ] }) })
2654
2666
  ]
2655
2667
  }
2656
2668
  );
@@ -9535,7 +9547,21 @@ function GalleryMapSection({
9535
9547
  ] }),
9536
9548
  isMobile ? /* @__PURE__ */ jsxRuntime.jsx(StackedGallery, { images, onPhotoClick }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9537
9549
  /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { children: [
9538
- showVideo && videoUrl && /* @__PURE__ */ jsxRuntime.jsx(VideoOverlay, { children: /* @__PURE__ */ jsxRuntime.jsx("video", { autoPlay: true, loop: true, playsInline: true, controls: true, style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: 8 }, children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" }) }) }),
9550
+ showVideo && videoUrl && /* @__PURE__ */ jsxRuntime.jsx(VideoOverlay, { children: /* @__PURE__ */ jsxRuntime.jsx(
9551
+ "video",
9552
+ {
9553
+ autoPlay: true,
9554
+ loop: true,
9555
+ playsInline: true,
9556
+ muted: true,
9557
+ controls: true,
9558
+ onVolumeChange: (e) => {
9559
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
9560
+ },
9561
+ style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: 8 },
9562
+ children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" })
9563
+ }
9564
+ ) }),
9539
9565
  /* @__PURE__ */ jsxRuntime.jsx(Track, { style: { transform: `translateX(-${carouselIndex * 100}%)` }, children: images.map((img, idx) => /* @__PURE__ */ jsxRuntime.jsxs(Slide, { onClick: () => onPhotoClick?.(idx), children: [
9540
9566
  /* @__PURE__ */ jsxRuntime.jsx("img", { src: img.src, alt: img.title }),
9541
9567
  /* @__PURE__ */ jsxRuntime.jsxs(SlideCaption, { children: [
@@ -9655,8 +9681,12 @@ function GalleryMapSection({
9655
9681
  autoPlay: true,
9656
9682
  controls: true,
9657
9683
  playsInline: true,
9684
+ muted: true,
9658
9685
  controlsList: "nodownload",
9659
9686
  disablePictureInPicture: true,
9687
+ onVolumeChange: (e) => {
9688
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
9689
+ },
9660
9690
  onClick: (e) => e.stopPropagation(),
9661
9691
  onContextMenu: (e) => e.preventDefault()
9662
9692
  }
@@ -9952,6 +9982,15 @@ var Carousel = styled10__default.default.div`
9952
9982
  var VideoOverlay = styled10__default.default.div`
9953
9983
  position: absolute; inset: 0; z-index: 3; background: #000; border-radius: 8px;
9954
9984
  display: flex; align-items: center; justify-content: center;
9985
+
9986
+ /* Property videos stay permanently muted — remove the volume + mute buttons
9987
+ from the native player (Chrome/Edge/Safari/iOS/Android). Firefox ignores
9988
+ these and is covered by the onVolumeChange force-mute fallback. */
9989
+ video::-webkit-media-controls-mute-button,
9990
+ video::-webkit-media-controls-volume-slider,
9991
+ video::-webkit-media-controls-volume-control-container {
9992
+ display: none !important;
9993
+ }
9955
9994
  `;
9956
9995
  var Track = styled10__default.default.div`
9957
9996
  display: flex; transition: transform 0.4s ease;
@@ -10106,6 +10145,13 @@ var FullVideoOverlay = styled10__default.default.div`
10106
10145
  border-radius: 10px;
10107
10146
  background: #000;
10108
10147
  }
10148
+ /* Permanent mute — strip the volume + mute buttons (Firefox handled by the
10149
+ onVolumeChange fallback). */
10150
+ video::-webkit-media-controls-mute-button,
10151
+ video::-webkit-media-controls-volume-slider,
10152
+ video::-webkit-media-controls-volume-control-container {
10153
+ display: none !important;
10154
+ }
10109
10155
  `;
10110
10156
  var FullVideoClose = styled10__default.default.button`
10111
10157
  position: absolute;
@@ -10692,6 +10738,8 @@ var Wrapper = styled10__default.default.div`
10692
10738
  display: flex;
10693
10739
  flex-direction: column;
10694
10740
  gap: 1.5rem;
10741
+ /* Breathing room before the footer below the last section (Trading Hours). */
10742
+ padding-bottom: 2.5rem;
10695
10743
  `;
10696
10744
  var GallerySpecRow = styled10__default.default.div`
10697
10745
  display: grid;