@planetaexo/design-system 0.94.0 → 0.95.0

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.d.cts CHANGED
@@ -3174,7 +3174,18 @@ declare function MenuTrip({ sections, activeSection, onSelect, variant, bold, cl
3174
3174
 
3175
3175
  type PhotoGalleryVariant = "grid" | "gridCompact" | "masonry" | "filmstrip" | "featured" | "collage" | "collageTight" | "carousel" | "fullBleed";
3176
3176
  interface PhotoGalleryPhoto {
3177
+ /**
3178
+ * Full-resolution image — shown in the lightbox / opened photo tour, and the
3179
+ * fallback the grid thumbnails use when {@link thumbSrc} is omitted.
3180
+ */
3177
3181
  src: string;
3182
+ /**
3183
+ * Optional smaller image for the grid thumbnails (grid/gridCompact/masonry/
3184
+ * filmstrip/featured/collage tiles). Lets a consumer serve a lightweight,
3185
+ * resized variant in the gallery grid while the lightbox still opens the
3186
+ * full-resolution {@link src}. Falls back to {@link src} when omitted.
3187
+ */
3188
+ thumbSrc?: string;
3178
3189
  alt?: string;
3179
3190
  /** Caption displayed in the lightbox bottom-left */
3180
3191
  caption?: string;
package/dist/index.d.ts CHANGED
@@ -3174,7 +3174,18 @@ declare function MenuTrip({ sections, activeSection, onSelect, variant, bold, cl
3174
3174
 
3175
3175
  type PhotoGalleryVariant = "grid" | "gridCompact" | "masonry" | "filmstrip" | "featured" | "collage" | "collageTight" | "carousel" | "fullBleed";
3176
3176
  interface PhotoGalleryPhoto {
3177
+ /**
3178
+ * Full-resolution image — shown in the lightbox / opened photo tour, and the
3179
+ * fallback the grid thumbnails use when {@link thumbSrc} is omitted.
3180
+ */
3177
3181
  src: string;
3182
+ /**
3183
+ * Optional smaller image for the grid thumbnails (grid/gridCompact/masonry/
3184
+ * filmstrip/featured/collage tiles). Lets a consumer serve a lightweight,
3185
+ * resized variant in the gallery grid while the lightbox still opens the
3186
+ * full-resolution {@link src}. Falls back to {@link src} when omitted.
3187
+ */
3188
+ thumbSrc?: string;
3178
3189
  alt?: string;
3179
3190
  /** Caption displayed in the lightbox bottom-left */
3180
3191
  caption?: string;
package/dist/index.js CHANGED
@@ -12541,7 +12541,7 @@ function PhotoTile({
12541
12541
  onClick,
12542
12542
  showCredit = false
12543
12543
  }) {
12544
- var _a, _b;
12544
+ var _a, _b, _c;
12545
12545
  return /* @__PURE__ */ jsxs(
12546
12546
  "button",
12547
12547
  {
@@ -12556,8 +12556,8 @@ function PhotoTile({
12556
12556
  /* @__PURE__ */ jsx(
12557
12557
  Picture,
12558
12558
  {
12559
- src: photo.src,
12560
- alt: (_b = photo.alt) != null ? _b : `Photo ${index + 1}`,
12559
+ src: (_b = photo.thumbSrc) != null ? _b : photo.src,
12560
+ alt: (_c = photo.alt) != null ? _c : `Photo ${index + 1}`,
12561
12561
  title: photo.caption,
12562
12562
  className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105",
12563
12563
  loading: "lazy"
@@ -12674,7 +12674,7 @@ function MasonryGallery({
12674
12674
  const visible = expanded || !hasMore ? photos : photos.slice(0, initialVisible);
12675
12675
  return /* @__PURE__ */ jsxs(Fragment, { children: [
12676
12676
  /* @__PURE__ */ jsx("div", { className: "columns-2 sm:columns-3 gap-1 [&>*]:break-inside-avoid [&>*]:mb-1", children: visible.map((p, i) => {
12677
- var _a, _b;
12677
+ var _a, _b, _c;
12678
12678
  return /* @__PURE__ */ jsxs(
12679
12679
  "button",
12680
12680
  {
@@ -12686,8 +12686,8 @@ function MasonryGallery({
12686
12686
  /* @__PURE__ */ jsx(
12687
12687
  Picture,
12688
12688
  {
12689
- src: p.src,
12690
- alt: (_b = p.alt) != null ? _b : `Photo ${i + 1}`,
12689
+ src: (_b = p.thumbSrc) != null ? _b : p.src,
12690
+ alt: (_c = p.alt) != null ? _c : `Photo ${i + 1}`,
12691
12691
  title: p.caption,
12692
12692
  className: "w-full h-auto object-cover transition-transform duration-700 group-hover:scale-105",
12693
12693
  loading: "lazy"
@@ -12715,7 +12715,7 @@ function FilmstripGallery({
12715
12715
  onOpen
12716
12716
  }) {
12717
12717
  return /* @__PURE__ */ jsx("div", { className: "overflow-x-auto flex gap-1 snap-x snap-mandatory pb-1 scrollbar-none", children: photos.map((p, i) => {
12718
- var _a, _b;
12718
+ var _a, _b, _c;
12719
12719
  return /* @__PURE__ */ jsxs(
12720
12720
  "button",
12721
12721
  {
@@ -12727,8 +12727,8 @@ function FilmstripGallery({
12727
12727
  /* @__PURE__ */ jsx(
12728
12728
  Picture,
12729
12729
  {
12730
- src: p.src,
12731
- alt: (_b = p.alt) != null ? _b : `Photo ${i + 1}`,
12730
+ src: (_b = p.thumbSrc) != null ? _b : p.src,
12731
+ alt: (_c = p.alt) != null ? _c : `Photo ${i + 1}`,
12732
12732
  title: p.caption,
12733
12733
  className: "h-full w-full object-cover transition-transform duration-700 group-hover:scale-105",
12734
12734
  loading: "lazy"
@@ -12782,7 +12782,7 @@ function FeaturedGallery({
12782
12782
  ] })
12783
12783
  ] }),
12784
12784
  expanded && extra.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-1.5 overflow-x-auto flex gap-1.5 snap-x snap-mandatory scrollbar-none rounded-xl overflow-hidden pb-0", children: extra.map((p, i) => {
12785
- var _a, _b;
12785
+ var _a, _b, _c;
12786
12786
  return /* @__PURE__ */ jsxs(
12787
12787
  "button",
12788
12788
  {
@@ -12794,8 +12794,8 @@ function FeaturedGallery({
12794
12794
  /* @__PURE__ */ jsx(
12795
12795
  Picture,
12796
12796
  {
12797
- src: p.src,
12798
- alt: (_b = p.alt) != null ? _b : `Photo ${i + 4}`,
12797
+ src: (_b = p.thumbSrc) != null ? _b : p.src,
12798
+ alt: (_c = p.alt) != null ? _c : `Photo ${i + 4}`,
12799
12799
  title: p.caption,
12800
12800
  className: "h-full w-full object-cover transition-transform duration-700 group-hover:scale-105",
12801
12801
  loading: "lazy"