@forgebuild/hotal-ui 0.22.0 → 0.23.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.ts CHANGED
@@ -356,6 +356,47 @@ export interface LiveSpaBookingsFeedElement extends HTMLElement {
356
356
  currency?: string;
357
357
  }
358
358
 
359
+ export interface GolfBooking {
360
+ id: string;
361
+ first_name: string;
362
+ last_name: string;
363
+ email?: string | null;
364
+ phone?: string | null;
365
+ course_name?: string | null;
366
+ tee_time: string;
367
+ players: number;
368
+ holes?: number | null;
369
+ price?: string | number | null;
370
+ status: string;
371
+ created_at: string;
372
+ }
373
+
374
+ export interface LiveGolfBookingsFeedElement extends HTMLElement {
375
+ heading?: string;
376
+ channelName?: string;
377
+ ablyAuthUrl?: string;
378
+ /** Fetches one page of booking history, newest-first; Ably only
379
+ * delivers events published after the subscription starts, so history
380
+ * has to come from a REST call. Omit `cursor` for the first page; each
381
+ * subsequent call passes the `created_at` of the oldest loaded
382
+ * booking so only the next page is fetched. Return fewer than
383
+ * `limit` items to signal there's nothing older left. */
384
+ fetchBookings?: (params: { cursor?: string; limit: number }) => Promise<GolfBooking[]>;
385
+ maxItems?: number;
386
+ /** Set false to stop fetching further pages once the first one loads --
387
+ * disables the scroll-to-bottom sentinel entirely rather than swapping
388
+ * in a manual button. Default true. */
389
+ autoLoadMore?: boolean;
390
+ emptyLabel?: string;
391
+ /** Set false to hide the guest email address on list items. Must be set
392
+ * as a JS property to get false -- Boolean-typed custom-element
393
+ * attributes are presence-based. Default true. */
394
+ showEmail?: boolean;
395
+ /** Symbol prefixed to price ('€', '$', ...); the payload carries no
396
+ * currency of its own. Default empty (bare amount). */
397
+ currency?: string;
398
+ }
399
+
359
400
  export interface VenueCarouselSlide {
360
401
  key: string;
361
402
  src: string;
@@ -799,6 +840,7 @@ declare global {
799
840
  'live-reservations-feed': LiveReservationsFeedElement;
800
841
  'live-room-bookings-feed': LiveRoomBookingsFeedElement;
801
842
  'live-spa-bookings-feed': LiveSpaBookingsFeedElement;
843
+ 'live-golf-bookings-feed': LiveGolfBookingsFeedElement;
802
844
  'venue-carousel': VenueCarouselElement;
803
845
  'room-grid': RoomGridElement;
804
846
  'island-map': IslandMapElement;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgebuild/hotal-ui",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "Reusable Svelte UI components for booking and reservation experiences.",
5
5
  "type": "module",
6
6
  "license": "MIT",