@forgebuild/hotal-ui 0.22.0 → 0.23.1
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/hotal-ui.js +6194 -5824
- package/dist/index.d.ts +115 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -356,6 +356,119 @@ export interface LiveSpaBookingsFeedElement extends HTMLElement {
|
|
|
356
356
|
currency?: string;
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
+
export interface GolfShopItem {
|
|
360
|
+
id?: string;
|
|
361
|
+
item_id?: string;
|
|
362
|
+
item_name: string;
|
|
363
|
+
quantity: number;
|
|
364
|
+
unit_price?: string | number;
|
|
365
|
+
total?: string | number;
|
|
366
|
+
variant?: string | null;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
export interface GolfBooking {
|
|
370
|
+
id: string;
|
|
371
|
+
first_name: string;
|
|
372
|
+
last_name: string;
|
|
373
|
+
email?: string | null;
|
|
374
|
+
phone?: string | null;
|
|
375
|
+
course_name?: string | null;
|
|
376
|
+
tee_time: string;
|
|
377
|
+
players: number;
|
|
378
|
+
holes?: number | null;
|
|
379
|
+
price?: string | number | null;
|
|
380
|
+
/** Pro-shop purchases attached to the booking; omit or leave empty for a
|
|
381
|
+
* plain tee-time booking with nothing purchased alongside it. */
|
|
382
|
+
items?: GolfShopItem[];
|
|
383
|
+
status: string;
|
|
384
|
+
created_at: string;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
export interface LiveGolfBookingsFeedElement extends HTMLElement {
|
|
388
|
+
heading?: string;
|
|
389
|
+
channelName?: string;
|
|
390
|
+
ablyAuthUrl?: string;
|
|
391
|
+
/** Fetches one page of booking history, newest-first; Ably only
|
|
392
|
+
* delivers events published after the subscription starts, so history
|
|
393
|
+
* has to come from a REST call. Omit `cursor` for the first page; each
|
|
394
|
+
* subsequent call passes the `created_at` of the oldest loaded
|
|
395
|
+
* booking so only the next page is fetched. Return fewer than
|
|
396
|
+
* `limit` items to signal there's nothing older left. */
|
|
397
|
+
fetchBookings?: (params: { cursor?: string; limit: number }) => Promise<GolfBooking[]>;
|
|
398
|
+
maxItems?: number;
|
|
399
|
+
/** Set false to stop fetching further pages once the first one loads --
|
|
400
|
+
* disables the scroll-to-bottom sentinel entirely rather than swapping
|
|
401
|
+
* in a manual button. Default true. */
|
|
402
|
+
autoLoadMore?: boolean;
|
|
403
|
+
emptyLabel?: string;
|
|
404
|
+
/** Set false to hide the guest email address on list items. Must be set
|
|
405
|
+
* as a JS property to get false -- Boolean-typed custom-element
|
|
406
|
+
* attributes are presence-based. Default true. */
|
|
407
|
+
showEmail?: boolean;
|
|
408
|
+
/** Symbol prefixed to price ('€', '$', ...); the payload carries no
|
|
409
|
+
* currency of its own. Default empty (bare amount). */
|
|
410
|
+
currency?: string;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export interface DiningOrderItem {
|
|
414
|
+
id?: string;
|
|
415
|
+
item_id?: string;
|
|
416
|
+
item_name: string;
|
|
417
|
+
quantity: number;
|
|
418
|
+
unit_price?: string | number;
|
|
419
|
+
total?: string | number;
|
|
420
|
+
variant?: string | null;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
export interface DiningOrder {
|
|
424
|
+
id: string;
|
|
425
|
+
restaurant_id: string;
|
|
426
|
+
booking_id?: string | null;
|
|
427
|
+
table_id?: string | null;
|
|
428
|
+
guest_id?: string | null;
|
|
429
|
+
status: string;
|
|
430
|
+
notes?: string | null;
|
|
431
|
+
scheduled_for?: string | null;
|
|
432
|
+
total_price: string | number;
|
|
433
|
+
created_at: string;
|
|
434
|
+
items: DiningOrderItem[];
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
export interface DiningOrderBookingRef {
|
|
438
|
+
id: string;
|
|
439
|
+
room_number?: string | null;
|
|
440
|
+
guest_name?: string | null;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
export interface LiveDiningOrdersFeedElement extends HTMLElement {
|
|
444
|
+
heading?: string;
|
|
445
|
+
channelName?: string;
|
|
446
|
+
ablyAuthUrl?: string;
|
|
447
|
+
/** Fetches one page of order history, newest-first; Ably only delivers
|
|
448
|
+
* events published after the subscription starts, so history has to
|
|
449
|
+
* come from a REST call. Omit `cursor` for the first page; each
|
|
450
|
+
* subsequent call passes the `created_at` of the oldest loaded order so
|
|
451
|
+
* only the next page is fetched. Return fewer than `limit` items to
|
|
452
|
+
* signal there's nothing older left. */
|
|
453
|
+
fetchOrders?: (params: { cursor?: string; limit: number }) => Promise<DiningOrder[]>;
|
|
454
|
+
/** Resolves booking_id -> room/guest, since the order payload carries
|
|
455
|
+
* only the id. */
|
|
456
|
+
bookings?: DiningOrderBookingRef[];
|
|
457
|
+
maxItems?: number;
|
|
458
|
+
/** Set false to stop fetching further pages once the first one loads --
|
|
459
|
+
* disables the scroll-to-bottom sentinel entirely rather than swapping
|
|
460
|
+
* in a manual button. Default true. */
|
|
461
|
+
autoLoadMore?: boolean;
|
|
462
|
+
emptyLabel?: string;
|
|
463
|
+
/** Symbol prefixed to money amounts ('€', '$', ...); the payload carries
|
|
464
|
+
* no currency of its own. Default empty (bare amount). */
|
|
465
|
+
currency?: string;
|
|
466
|
+
/** Restricts the feed to one booking's orders -- `fetchOrders` should
|
|
467
|
+
* already be scoped server-side; this only filters the live `new-order`
|
|
468
|
+
* events, which otherwise arrive unfiltered off the channel. */
|
|
469
|
+
filterBookingId?: string;
|
|
470
|
+
}
|
|
471
|
+
|
|
359
472
|
export interface VenueCarouselSlide {
|
|
360
473
|
key: string;
|
|
361
474
|
src: string;
|
|
@@ -799,6 +912,8 @@ declare global {
|
|
|
799
912
|
'live-reservations-feed': LiveReservationsFeedElement;
|
|
800
913
|
'live-room-bookings-feed': LiveRoomBookingsFeedElement;
|
|
801
914
|
'live-spa-bookings-feed': LiveSpaBookingsFeedElement;
|
|
915
|
+
'live-golf-bookings-feed': LiveGolfBookingsFeedElement;
|
|
916
|
+
'live-dining-orders-feed': LiveDiningOrdersFeedElement;
|
|
802
917
|
'venue-carousel': VenueCarouselElement;
|
|
803
918
|
'room-grid': RoomGridElement;
|
|
804
919
|
'island-map': IslandMapElement;
|