@loafmarkets/ui 0.1.389 → 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
@@ -9522,7 +9522,21 @@ function GalleryMapSection({
9522
9522
  ] }),
9523
9523
  isMobile ? /* @__PURE__ */ jsx(StackedGallery, { images, onPhotoClick }) : /* @__PURE__ */ jsxs(Fragment, { children: [
9524
9524
  /* @__PURE__ */ jsxs(Carousel, { children: [
9525
- 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
+ ) }),
9526
9540
  /* @__PURE__ */ jsx(Track, { style: { transform: `translateX(-${carouselIndex * 100}%)` }, children: images.map((img, idx) => /* @__PURE__ */ jsxs(Slide, { onClick: () => onPhotoClick?.(idx), children: [
9527
9541
  /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title }),
9528
9542
  /* @__PURE__ */ jsxs(SlideCaption, { children: [
@@ -9642,8 +9656,12 @@ function GalleryMapSection({
9642
9656
  autoPlay: true,
9643
9657
  controls: true,
9644
9658
  playsInline: true,
9659
+ muted: true,
9645
9660
  controlsList: "nodownload",
9646
9661
  disablePictureInPicture: true,
9662
+ onVolumeChange: (e) => {
9663
+ if (!e.currentTarget.muted) e.currentTarget.muted = true;
9664
+ },
9647
9665
  onClick: (e) => e.stopPropagation(),
9648
9666
  onContextMenu: (e) => e.preventDefault()
9649
9667
  }
@@ -9939,6 +9957,15 @@ var Carousel = styled10.div`
9939
9957
  var VideoOverlay = styled10.div`
9940
9958
  position: absolute; inset: 0; z-index: 3; background: #000; border-radius: 8px;
9941
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
+ }
9942
9969
  `;
9943
9970
  var Track = styled10.div`
9944
9971
  display: flex; transition: transform 0.4s ease;
@@ -10093,6 +10120,13 @@ var FullVideoOverlay = styled10.div`
10093
10120
  border-radius: 10px;
10094
10121
  background: #000;
10095
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
+ }
10096
10130
  `;
10097
10131
  var FullVideoClose = styled10.button`
10098
10132
  position: absolute;
@@ -10679,6 +10713,8 @@ var Wrapper = styled10.div`
10679
10713
  display: flex;
10680
10714
  flex-direction: column;
10681
10715
  gap: 1.5rem;
10716
+ /* Breathing room before the footer below the last section (Trading Hours). */
10717
+ padding-bottom: 2.5rem;
10682
10718
  `;
10683
10719
  var GallerySpecRow = styled10.div`
10684
10720
  display: grid;