@page-speed/lightbox 0.1.2 → 0.1.4

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.
@@ -8,8 +8,9 @@ interface CustomSlideLayoutProps {
8
8
  style?: React.CSSProperties;
9
9
  }
10
10
  /**
11
- * Custom slide layout: optimized for component-type items where you want
12
- * full creative control over the slide content. Chrome is overlaid or minimal.
11
+ * Custom slide layout: optimized for PDF/slide presentations.
12
+ * Based on the design mockups showing a centered white card with
13
+ * rounded corners containing the slide content.
13
14
  */
14
15
  export declare function CustomSlideLayout({ content, chrome, height, maxWidth, className, style, }: CustomSlideLayoutProps): import("react/jsx-runtime").JSX.Element;
15
16
  export {};
@@ -8,9 +8,9 @@ interface HorizontalLayoutProps {
8
8
  style?: React.CSSProperties;
9
9
  }
10
10
  /**
11
- * Default desktop layout: primary content area with chrome and optional
12
- * thumbnails below. For v1 we only implement the main content + chrome
13
- * region; thumbnails can be added later as a non-breaking enhancement.
11
+ * Default desktop layout: primary content area with chrome below.
12
+ * Based on the design mockups showing a large content card with
13
+ * thumbnail strip and navigation at the bottom.
14
14
  */
15
15
  export declare function HorizontalLayout({ content, chrome, height, maxWidth, className, style, }: HorizontalLayoutProps): import("react/jsx-runtime").JSX.Element;
16
16
  export {};
@@ -2,15 +2,16 @@ import React from "react";
2
2
  interface VerticalSplitLayoutProps {
3
3
  content: React.ReactNode;
4
4
  chrome: React.ReactNode;
5
+ sidebar?: React.ReactNode;
5
6
  height?: string | number;
6
7
  maxWidth?: string | number;
7
8
  className?: string;
8
9
  style?: React.CSSProperties;
9
10
  }
10
11
  /**
11
- * Vertical split layout: content on the left, chrome/controls on the right.
12
- * Ideal for tablet and medium-sized viewports where you want side-by-side
13
- * media and metadata/controls.
12
+ * Vertical split layout: content on the left, sidebar on the right.
13
+ * Based on the design mockups showing a large image with a sidebar
14
+ * containing social media post details and thumbnail grid.
14
15
  */
15
- export declare function VerticalSplitLayout({ content, chrome, height, maxWidth, className, style, }: VerticalSplitLayoutProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function VerticalSplitLayout({ content, chrome, sidebar, height, maxWidth, className, style, }: VerticalSplitLayoutProps): import("react/jsx-runtime").JSX.Element;
16
17
  export {};
@@ -7,4 +7,4 @@ import { LightboxProps } from "../types";
7
7
  * That keeps it easy to integrate into the Semantic Site Builder while
8
8
  * still providing strong defaults for keyboard and scroll handling.
9
9
  */
10
- export declare function Lightbox(props: LightboxProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function Lightbox(props: LightboxProps): import("react/jsx-runtime").JSX.Element | null;
@@ -9,13 +9,20 @@ interface LightboxChromeProps {
9
9
  onNext: () => void;
10
10
  onPrev: () => void;
11
11
  onClose?: () => void;
12
+ className?: string;
13
+ variant?: "toolbar" | "floating";
12
14
  }
13
15
  /**
14
- * Toolbar / chrome shown above or below the main content.
16
+ * Toolbar / chrome for the lightbox.
15
17
  *
16
- * For v1 this focuses on navigation, close button, basic captions, and
17
- * counter. More advanced controls (share, download, fullscreen) can be
18
- * layered in later without breaking the API.
18
+ * Supports two variants:
19
+ * - "toolbar": Traditional toolbar layout (default)
20
+ * - "floating": Floating buttons positioned around the viewport
21
+ *
22
+ * The floating variant matches the design mockups with:
23
+ * - Top-right action buttons (fullscreen, download, share, close)
24
+ * - Bottom-right navigation arrows
25
+ * - Bottom-left caption card
19
26
  */
20
- export declare function LightboxChrome({ currentIndex, totalItems, currentItem, canNext, canPrev, controls, onNext, onPrev, onClose, }: LightboxChromeProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function LightboxChrome({ currentIndex, totalItems, currentItem, canNext, canPrev, controls, onNext, onPrev, onClose, className, variant, }: LightboxChromeProps): import("react/jsx-runtime").JSX.Element;
21
28
  export {};
@@ -1,12 +1,14 @@
1
1
  interface LightboxOverlayProps {
2
2
  onClose?: () => void;
3
3
  closeOnBackdropClick?: boolean;
4
+ className?: string;
4
5
  }
5
6
  /**
6
7
  * Full-screen dark overlay that sits behind the lightbox content.
7
8
  *
9
+ * Uses a subtle grid pattern background matching the design mockups.
8
10
  * Kept intentionally minimal so it works well with the Semantic Site
9
11
  * Builder and external layout containers.
10
12
  */
11
- export declare function LightboxOverlay({ onClose, closeOnBackdropClick, }: LightboxOverlayProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function LightboxOverlay({ onClose, closeOnBackdropClick, className, }: LightboxOverlayProps): import("react/jsx-runtime").JSX.Element;
12
14
  export {};