@levo-so/site-runtime 0.3.18 → 0.3.20

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/index.d.ts CHANGED
@@ -635,6 +635,21 @@ export declare interface ILevoEntryFormProps {
635
635
  className?: string;
636
636
  }
637
637
 
638
+ declare interface ILevoEventRegisterProps {
639
+ /** Event id (or slug the single-event endpoint resolves). */
640
+ eventID: string;
641
+ /** Event name, shown in the sheet header and on the calendar entry. */
642
+ title?: string;
643
+ /** External ticketing URL — when set, renders a link out instead of the sheet. */
644
+ external?: string;
645
+ buttonText?: string;
646
+ /** Event start/end (`starts_at` / `ends_at`), shown in the viewer's own timezone and used for the calendar entry. */
647
+ startsAt?: string | Date | null;
648
+ endsAt?: string | Date | null;
649
+ /** Joining link (`url`), attached to the calendar entry so it is one tap away at start time. */
650
+ eventUrl?: string | null;
651
+ }
652
+
638
653
  /**
639
654
  * A form binding — the fields + submit for a collection. `LevoForm` renders it (the schema
640
655
  * drives which inputs appear); submissions go to the collection. Forms only bind to
@@ -1513,7 +1528,8 @@ export declare interface ISiteJson {
1513
1528
  domain?: string;
1514
1529
  /**
1515
1530
  * Favicon media object. Its `.location` becomes the site's `<link rel="icon">` and the
1516
- * visitor-chat header icon. Absent → the site keeps the starter's default `favicon.ico`.
1531
+ * visitor-chat header icon (see `levoRootLinks`). Absent → Levo's own icon; sites ship no
1532
+ * `public/favicon.ico`, so this is where a site's favicon comes from.
1517
1533
  */
1518
1534
  icon?: {
1519
1535
  location?: string;
@@ -1556,11 +1572,6 @@ export declare interface ISiteJson {
1556
1572
  export declare interface ISiteMeta extends IPageMeta {
1557
1573
  /** "%s · Acme" — %s is the page title. Applied only when the page provides a title. */
1558
1574
  titleTemplate?: string;
1559
- /**
1560
- * Favicon URL → `<link rel="icon">`. Site-level only (a per-page favicon isn't a thing),
1561
- * which is why it lives here rather than on `IPageMeta`.
1562
- */
1563
- icon?: string;
1564
1575
  }
1565
1576
 
1566
1577
  /**
@@ -1713,23 +1724,18 @@ export declare const LevoEntryForm: React.FC<ILevoEntryFormProps>;
1713
1724
 
1714
1725
  /**
1715
1726
  * Self-contained event registration widget for generated Studio v3 sites — ticket
1716
- * selection, coupons, attendee details, payment (Razorpay by default; Stripe Embedded
1717
- * Checkout when the booking API returns `provider: "stripe"`), and a booking confirmation.
1727
+ * choice, coupons, attendee details, payment (Razorpay by default; Stripe Embedded
1728
+ * Checkout when the booking API returns `provider: "stripe"`), and the confirmation, all
1729
+ * on one sheet that stays open from the first tap to "You're in".
1718
1730
  *
1719
1731
  * The AI drops this onto an event page and NEVER rebuilds the flow: it owns the entire
1720
1732
  * booking + payment path against the Levo event API. The site client (`useLevoClient`)
1721
1733
  * auto-stamps the workspace on every request, so no auth/workspace wiring is needed.
1722
1734
  * `external` turns it into a plain link out to a third-party ticketing URL.
1735
+ *
1736
+ * `?register=1` on the page URL opens the sheet on load, for campaign links and second CTAs.
1723
1737
  */
1724
- export declare const LevoEventRegister: ({ eventID, title, external, buttonText, }: {
1725
- /** Event id (or slug the single-event endpoint resolves). */
1726
- eventID: string;
1727
- /** Event name, shown in the modal header. */
1728
- title?: string;
1729
- /** External ticketing URL — when set, renders a link out instead of the modal flow. */
1730
- external?: string;
1731
- buttonText?: string;
1732
- }) => JSX.Element;
1738
+ export declare const LevoEventRegister: ({ eventID, title, external, buttonText, startsAt, endsAt, eventUrl, }: ILevoEventRegisterProps) => JSX.Element;
1733
1739
 
1734
1740
  /**
1735
1741
  * A collection-backed form for generated Studio v3 sites — renders the collection's fields