@seatlayer/core 0.19.0 → 0.21.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.cts CHANGED
@@ -2117,6 +2117,11 @@ declare class PickerController {
2117
2117
  * chart: clear any older section drill-in and guide the camera to the seats
2118
2118
  * that remain relevant. Clearing the filter glides back to the full chart. */
2119
2119
  focusCategoryFilter(keys: string[] | null): void;
2120
+ /** The floor a buyer means when filtering to `keys`: the active floor when it
2121
+ * carries any of those categories, else the first floor that does (null =
2122
+ * stay put). Row overrides and GA areas count — a category can exist on a
2123
+ * floor only via a per-seat override. */
2124
+ private floorForCategories;
2120
2125
  /** World-space rect currently visible + full chart bounds (F3 minimap frame). */
2121
2126
  getViewport(): {
2122
2127
  visible: {
package/dist/index.d.ts CHANGED
@@ -2117,6 +2117,11 @@ declare class PickerController {
2117
2117
  * chart: clear any older section drill-in and guide the camera to the seats
2118
2118
  * that remain relevant. Clearing the filter glides back to the full chart. */
2119
2119
  focusCategoryFilter(keys: string[] | null): void;
2120
+ /** The floor a buyer means when filtering to `keys`: the active floor when it
2121
+ * carries any of those categories, else the first floor that does (null =
2122
+ * stay put). Row overrides and GA areas count — a category can exist on a
2123
+ * floor only via a per-seat override. */
2124
+ private floorForCategories;
2120
2125
  /** World-space rect currently visible + full chart bounds (F3 minimap frame). */
2121
2126
  getViewport(): {
2122
2127
  visible: {
package/dist/index.js CHANGED
@@ -798,7 +798,7 @@ var en = {
798
798
  "picker.real360": "REAL 360\xB0",
799
799
  "picker.preview": "PREVIEW",
800
800
  "picker.open360": "Open 360\xB0 view",
801
- "picker.sightline": "\u2248 {rows} rows from stage \xB7 {angle}\xB0 off-center",
801
+ "picker.sightline": "\u2248 {m} m to stage \xB7 clear sightline",
802
802
  "picker.bookedDemo": "Booked! (demo)",
803
803
  "picker.bookButton.one": "Book {count} ticket \u2014 {amount}",
804
804
  "picker.bookButton.other": "Book {count} tickets \u2014 {amount}",
@@ -5041,9 +5041,29 @@ var PickerController = class {
5041
5041
  if (!renderer) return;
5042
5042
  renderer.clearSectionFocus?.();
5043
5043
  this.opts.onSectionFocus?.(null);
5044
+ if (keys?.length) {
5045
+ const target = this.floorForCategories(keys);
5046
+ if (target) this.setFloor(target);
5047
+ }
5044
5048
  if (renderer.focusCategories) renderer.focusCategories(keys);
5045
5049
  else renderer.zoomToFit();
5046
5050
  }
5051
+ /** The floor a buyer means when filtering to `keys`: the active floor when it
5052
+ * carries any of those categories, else the first floor that does (null =
5053
+ * stay put). Row overrides and GA areas count — a category can exist on a
5054
+ * floor only via a per-seat override. */
5055
+ floorForCategories(keys) {
5056
+ const doc = this._doc;
5057
+ if (!doc?.floors || doc.floors.length < 2) return null;
5058
+ const wanted = new Set(keys);
5059
+ const carries = (objects) => objects.some(
5060
+ (o) => o.type === "row" && (wanted.has(o.categoryKey) || (o.overrides ?? []).some((ov) => ov.categoryKey != null && wanted.has(ov.categoryKey))) || o.type === "gaArea" && wanted.has(o.categoryKey)
5061
+ );
5062
+ const activeId = this.getActiveFloorId();
5063
+ const active2 = doc.floors.find((f) => f.id === activeId);
5064
+ if (active2 && carries(active2.objects)) return null;
5065
+ return doc.floors.find((f) => carries(f.objects))?.id ?? null;
5066
+ }
5047
5067
  /** World-space rect currently visible + full chart bounds (F3 minimap frame). */
5048
5068
  getViewport() {
5049
5069
  const r = this.renderer;
@@ -5641,9 +5661,9 @@ function generateSeatThumb(seat, focalPoint, _neighborSeats) {
5641
5661
 
5642
5662
  // src/i18n/bundles.ts
5643
5663
  var LOADERS = {
5644
- es: () => import("./es-NLD3NL3W.js").then((m) => ({ default: m.es })),
5645
- de: () => import("./de-ZTKJOFHT.js").then((m) => ({ default: m.de })),
5646
- fr: () => import("./fr-KSFKWSAT.js").then((m) => ({ default: m.fr }))
5664
+ es: () => import("./es-LDI3FESI.js").then((m) => ({ default: m.es })),
5665
+ de: () => import("./de-HLJXYBWA.js").then((m) => ({ default: m.de })),
5666
+ fr: () => import("./fr-H4KTK4F5.js").then((m) => ({ default: m.fr }))
5647
5667
  };
5648
5668
  var loaded = /* @__PURE__ */ new Set(["en"]);
5649
5669
  async function loadLocale(code) {