@seatlayer/js 0.9.0 → 0.10.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.cjs +596 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +78 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.js +596 -54
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -394,6 +394,8 @@ declare class SeatPicker {
|
|
|
394
394
|
private rendered;
|
|
395
395
|
private destroyed;
|
|
396
396
|
private els;
|
|
397
|
+
/** Feature 6 anchor regions — positioned flex containers over the map. */
|
|
398
|
+
private regions;
|
|
397
399
|
private ro;
|
|
398
400
|
private holdTimer;
|
|
399
401
|
private toastTimer;
|
|
@@ -422,6 +424,22 @@ declare class SeatPicker {
|
|
|
422
424
|
private viewEl;
|
|
423
425
|
private viewCleanup;
|
|
424
426
|
private allSeatsCache;
|
|
427
|
+
private miniEl;
|
|
428
|
+
private miniCanvas;
|
|
429
|
+
private miniBase;
|
|
430
|
+
private miniTf;
|
|
431
|
+
private priceBandKeys;
|
|
432
|
+
private priceFilterEl;
|
|
433
|
+
/** Last surfaced section summary (re-rendered when the price band changes). */
|
|
434
|
+
private lastSection;
|
|
435
|
+
/** Section card collapsed to its slim pill (seat-picking has begun). */
|
|
436
|
+
private secCardCollapsed;
|
|
437
|
+
/** When the card was (re)shown — the focus glide's own view change must not collapse it. */
|
|
438
|
+
private secCardShownAt;
|
|
439
|
+
/** Previous tray ticket count — first 0→n transition auto-expands the mobile sheet. */
|
|
440
|
+
private lastTrayCount;
|
|
441
|
+
private a11yChipsEl;
|
|
442
|
+
private cbEl;
|
|
425
443
|
private modalScrim;
|
|
426
444
|
private prevFocus;
|
|
427
445
|
private escHandler;
|
|
@@ -437,10 +455,54 @@ declare class SeatPicker {
|
|
|
437
455
|
static open(options: Omit<SeatPickerOptions, 'container'>): Promise<SeatPicker>;
|
|
438
456
|
constructor(options: SeatPickerOptions);
|
|
439
457
|
render(): Promise<this>;
|
|
458
|
+
/**
|
|
459
|
+
* Move layout-dependent chrome between its wide dock (map regions / zoom
|
|
460
|
+
* column) and its narrow dock (the sheet's consolidated Filters row), and
|
|
461
|
+
* re-render the section card in the form the layout wants (docked card/pill
|
|
462
|
+
* on wide, sheet strip on narrow). Runs on every layout flip + once post-render.
|
|
463
|
+
*/
|
|
464
|
+
private dockLayoutChrome;
|
|
440
465
|
/** The "Need more time?" prompt shown in the hold's final EXTEND_PROMPT_MS. */
|
|
441
466
|
private buildExtendPrompt;
|
|
442
467
|
/** Success overlay + onBooked fire when the held seats settle to booked. */
|
|
443
468
|
private buildBookedOverlay;
|
|
469
|
+
/**
|
|
470
|
+
* Create the positioned flex containers that own every persistent map overlay.
|
|
471
|
+
* Appended once after controller.render(); each chrome piece is then appended
|
|
472
|
+
* INTO its region and flows within it, so nothing free-floats over anything
|
|
473
|
+
* else. Regions carve the map into non-overlapping zones (top strip split into
|
|
474
|
+
* left/center/right, left rail, and the three used corners).
|
|
475
|
+
*/
|
|
476
|
+
private buildRegions;
|
|
477
|
+
/** Read a resolved --sl-* token value (canvas needs a real color, not var()). */
|
|
478
|
+
private cssVar;
|
|
479
|
+
/** Section-bearing objects on the active floor (single-floor → doc.objects). */
|
|
480
|
+
private activeFloorObjects;
|
|
481
|
+
/**
|
|
482
|
+
* Build the overview minimap: a static venue thumbnail (section outlines, or
|
|
483
|
+
* seat dots when the chart has no sections) with the live viewport rectangle
|
|
484
|
+
* drawn on top. The rect tracks pan/zoom via the constructor's onViewChange.
|
|
485
|
+
*/
|
|
486
|
+
private buildMinimap;
|
|
487
|
+
/** Repaint the static overview + rect (floor switch, live open/close). */
|
|
488
|
+
private refreshMinimap;
|
|
489
|
+
/** Paint the venue overview into the offscreen base canvas. */
|
|
490
|
+
private drawMinimapStatic;
|
|
491
|
+
/** Blit the base overview, then stroke the current viewport rectangle on top. */
|
|
492
|
+
private drawMinimapRect;
|
|
493
|
+
/** Minimap click → focus the section under the point (or overview on a miss). */
|
|
494
|
+
private minimapJump;
|
|
495
|
+
/** Effective price of a category (first tier when tiered, else base price). */
|
|
496
|
+
private catPrice;
|
|
497
|
+
/** Derive price bands: one chip per distinct price (≤5), else quantile ranges. */
|
|
498
|
+
private priceBands;
|
|
499
|
+
/**
|
|
500
|
+
* Build the price-band chip row in the side panel, directly under the "Prices"
|
|
501
|
+
* header and above the legend it dims. Living in the panel (not a map overlay)
|
|
502
|
+
* keeps it clear of the top-center rung pills and top-left a11y chips, and it
|
|
503
|
+
* rides the bottom sheet on narrow layouts. Skipped when there's <2 bands.
|
|
504
|
+
*/
|
|
505
|
+
private buildPriceFilter;
|
|
444
506
|
/** Build the rung pills (charts with sections) and floor switcher (>1 floor). */
|
|
445
507
|
private buildArenaChrome;
|
|
446
508
|
/** Reflect the engine's current LOD rung onto the pill group. */
|
|
@@ -449,6 +511,22 @@ declare class SeatPicker {
|
|
|
449
511
|
private syncFloors;
|
|
450
512
|
/** Show (or clear, on null) the tapped-section summary card. */
|
|
451
513
|
private showSectionCard;
|
|
514
|
+
/**
|
|
515
|
+
* Render the section card in the form the layout + state want: expanded card
|
|
516
|
+
* or slim pill in the top-center anchor region (wide), or a compact strip in
|
|
517
|
+
* the sheet head (narrow). Never floats over the seats at the tap point.
|
|
518
|
+
*/
|
|
519
|
+
private renderSectionCard;
|
|
520
|
+
/** Collapse the expanded card to its slim pill (seat-picking started). */
|
|
521
|
+
private collapseSectionCard;
|
|
522
|
+
/**
|
|
523
|
+
* onViewChange hook for the card. The focus glide's own settle (within the
|
|
524
|
+
* grace window) enforces the ~25% coverage rule with the FINAL viewport; any
|
|
525
|
+
* later pan/zoom means seat-picking has begun → collapse to the pill.
|
|
526
|
+
*/
|
|
527
|
+
private sectionCardOnView;
|
|
528
|
+
/** Fraction of the focused section's on-screen bbox covered by the card. */
|
|
529
|
+
private sectionCardCoverage;
|
|
452
530
|
/** aria-live readout when keyboard focus lands on a seat. */
|
|
453
531
|
private announceSeat;
|
|
454
532
|
private showConfirm;
|
package/dist/index.d.ts
CHANGED
|
@@ -394,6 +394,8 @@ declare class SeatPicker {
|
|
|
394
394
|
private rendered;
|
|
395
395
|
private destroyed;
|
|
396
396
|
private els;
|
|
397
|
+
/** Feature 6 anchor regions — positioned flex containers over the map. */
|
|
398
|
+
private regions;
|
|
397
399
|
private ro;
|
|
398
400
|
private holdTimer;
|
|
399
401
|
private toastTimer;
|
|
@@ -422,6 +424,22 @@ declare class SeatPicker {
|
|
|
422
424
|
private viewEl;
|
|
423
425
|
private viewCleanup;
|
|
424
426
|
private allSeatsCache;
|
|
427
|
+
private miniEl;
|
|
428
|
+
private miniCanvas;
|
|
429
|
+
private miniBase;
|
|
430
|
+
private miniTf;
|
|
431
|
+
private priceBandKeys;
|
|
432
|
+
private priceFilterEl;
|
|
433
|
+
/** Last surfaced section summary (re-rendered when the price band changes). */
|
|
434
|
+
private lastSection;
|
|
435
|
+
/** Section card collapsed to its slim pill (seat-picking has begun). */
|
|
436
|
+
private secCardCollapsed;
|
|
437
|
+
/** When the card was (re)shown — the focus glide's own view change must not collapse it. */
|
|
438
|
+
private secCardShownAt;
|
|
439
|
+
/** Previous tray ticket count — first 0→n transition auto-expands the mobile sheet. */
|
|
440
|
+
private lastTrayCount;
|
|
441
|
+
private a11yChipsEl;
|
|
442
|
+
private cbEl;
|
|
425
443
|
private modalScrim;
|
|
426
444
|
private prevFocus;
|
|
427
445
|
private escHandler;
|
|
@@ -437,10 +455,54 @@ declare class SeatPicker {
|
|
|
437
455
|
static open(options: Omit<SeatPickerOptions, 'container'>): Promise<SeatPicker>;
|
|
438
456
|
constructor(options: SeatPickerOptions);
|
|
439
457
|
render(): Promise<this>;
|
|
458
|
+
/**
|
|
459
|
+
* Move layout-dependent chrome between its wide dock (map regions / zoom
|
|
460
|
+
* column) and its narrow dock (the sheet's consolidated Filters row), and
|
|
461
|
+
* re-render the section card in the form the layout wants (docked card/pill
|
|
462
|
+
* on wide, sheet strip on narrow). Runs on every layout flip + once post-render.
|
|
463
|
+
*/
|
|
464
|
+
private dockLayoutChrome;
|
|
440
465
|
/** The "Need more time?" prompt shown in the hold's final EXTEND_PROMPT_MS. */
|
|
441
466
|
private buildExtendPrompt;
|
|
442
467
|
/** Success overlay + onBooked fire when the held seats settle to booked. */
|
|
443
468
|
private buildBookedOverlay;
|
|
469
|
+
/**
|
|
470
|
+
* Create the positioned flex containers that own every persistent map overlay.
|
|
471
|
+
* Appended once after controller.render(); each chrome piece is then appended
|
|
472
|
+
* INTO its region and flows within it, so nothing free-floats over anything
|
|
473
|
+
* else. Regions carve the map into non-overlapping zones (top strip split into
|
|
474
|
+
* left/center/right, left rail, and the three used corners).
|
|
475
|
+
*/
|
|
476
|
+
private buildRegions;
|
|
477
|
+
/** Read a resolved --sl-* token value (canvas needs a real color, not var()). */
|
|
478
|
+
private cssVar;
|
|
479
|
+
/** Section-bearing objects on the active floor (single-floor → doc.objects). */
|
|
480
|
+
private activeFloorObjects;
|
|
481
|
+
/**
|
|
482
|
+
* Build the overview minimap: a static venue thumbnail (section outlines, or
|
|
483
|
+
* seat dots when the chart has no sections) with the live viewport rectangle
|
|
484
|
+
* drawn on top. The rect tracks pan/zoom via the constructor's onViewChange.
|
|
485
|
+
*/
|
|
486
|
+
private buildMinimap;
|
|
487
|
+
/** Repaint the static overview + rect (floor switch, live open/close). */
|
|
488
|
+
private refreshMinimap;
|
|
489
|
+
/** Paint the venue overview into the offscreen base canvas. */
|
|
490
|
+
private drawMinimapStatic;
|
|
491
|
+
/** Blit the base overview, then stroke the current viewport rectangle on top. */
|
|
492
|
+
private drawMinimapRect;
|
|
493
|
+
/** Minimap click → focus the section under the point (or overview on a miss). */
|
|
494
|
+
private minimapJump;
|
|
495
|
+
/** Effective price of a category (first tier when tiered, else base price). */
|
|
496
|
+
private catPrice;
|
|
497
|
+
/** Derive price bands: one chip per distinct price (≤5), else quantile ranges. */
|
|
498
|
+
private priceBands;
|
|
499
|
+
/**
|
|
500
|
+
* Build the price-band chip row in the side panel, directly under the "Prices"
|
|
501
|
+
* header and above the legend it dims. Living in the panel (not a map overlay)
|
|
502
|
+
* keeps it clear of the top-center rung pills and top-left a11y chips, and it
|
|
503
|
+
* rides the bottom sheet on narrow layouts. Skipped when there's <2 bands.
|
|
504
|
+
*/
|
|
505
|
+
private buildPriceFilter;
|
|
444
506
|
/** Build the rung pills (charts with sections) and floor switcher (>1 floor). */
|
|
445
507
|
private buildArenaChrome;
|
|
446
508
|
/** Reflect the engine's current LOD rung onto the pill group. */
|
|
@@ -449,6 +511,22 @@ declare class SeatPicker {
|
|
|
449
511
|
private syncFloors;
|
|
450
512
|
/** Show (or clear, on null) the tapped-section summary card. */
|
|
451
513
|
private showSectionCard;
|
|
514
|
+
/**
|
|
515
|
+
* Render the section card in the form the layout + state want: expanded card
|
|
516
|
+
* or slim pill in the top-center anchor region (wide), or a compact strip in
|
|
517
|
+
* the sheet head (narrow). Never floats over the seats at the tap point.
|
|
518
|
+
*/
|
|
519
|
+
private renderSectionCard;
|
|
520
|
+
/** Collapse the expanded card to its slim pill (seat-picking started). */
|
|
521
|
+
private collapseSectionCard;
|
|
522
|
+
/**
|
|
523
|
+
* onViewChange hook for the card. The focus glide's own settle (within the
|
|
524
|
+
* grace window) enforces the ~25% coverage rule with the FINAL viewport; any
|
|
525
|
+
* later pan/zoom means seat-picking has begun → collapse to the pill.
|
|
526
|
+
*/
|
|
527
|
+
private sectionCardOnView;
|
|
528
|
+
/** Fraction of the focused section's on-screen bbox covered by the card. */
|
|
529
|
+
private sectionCardCoverage;
|
|
452
530
|
/** aria-live readout when keyboard focus lands on a seat. */
|
|
453
531
|
private announceSeat;
|
|
454
532
|
private showConfirm;
|