@expofp/schema 3.18.1 → 3.20.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.
@@ -86,6 +86,7 @@ export declare const ConfigDefaults: {
86
86
  * distinction (see `MaplibreStore.useMaplibreMap`).
87
87
  */
88
88
  enableExperimentalMaplibre: undefined;
89
+ enableExperimentalOutdoorMarkers: false;
89
90
  customSetKiosk: string;
90
91
  hideBoothBadges: false;
91
92
  busRoutes: false;
@@ -93,6 +93,7 @@ export const ConfigDefaults = {
93
93
  * distinction (see `MaplibreStore.useMaplibreMap`).
94
94
  */
95
95
  enableExperimentalMaplibre: undefined,
96
+ enableExperimentalOutdoorMarkers: false,
96
97
  customSetKiosk: '',
97
98
  hideBoothBadges: false,
98
99
  busRoutes: false,
@@ -28,6 +28,7 @@ export declare const ConsentSchema: z.ZodEnum<{
28
28
  }>;
29
29
  export declare const ConfigSchema: z.ZodObject<{
30
30
  enableExperimentalMaplibre: z.ZodOptional<z.ZodBoolean>;
31
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodBoolean>;
31
32
  customSetKiosk: z.ZodOptional<z.ZodString>;
32
33
  hideBoothBadges: z.ZodOptional<z.ZodBoolean>;
33
34
  busRoutes: z.ZodOptional<z.ZodBoolean>;
@@ -224,6 +225,7 @@ export declare const ConfigSchema: z.ZodObject<{
224
225
  id: z.ZodNumber;
225
226
  name: z.ZodString;
226
227
  parentId: z.ZodOptional<z.ZodNumber>;
228
+ iconUrl: z.ZodOptional<z.ZodString>;
227
229
  }, z.core.$loose>>;
228
230
  reserveInstructions: z.ZodString;
229
231
  sendLoginLinkUrl: z.ZodString;
@@ -387,6 +389,7 @@ export declare const ConfigSchema: z.ZodObject<{
387
389
  */
388
390
  export declare const DataSchema: z.ZodObject<{
389
391
  enableExperimentalMaplibre: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
392
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
390
393
  customSetKiosk: z.ZodOptional<z.ZodOptional<z.ZodString>>;
391
394
  hideBoothBadges: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
392
395
  busRoutes: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
@@ -583,6 +586,7 @@ export declare const DataSchema: z.ZodObject<{
583
586
  id: z.ZodNumber;
584
587
  name: z.ZodString;
585
588
  parentId: z.ZodOptional<z.ZodNumber>;
589
+ iconUrl: z.ZodOptional<z.ZodString>;
586
590
  }, z.core.$loose>>>;
587
591
  reserveInstructions: z.ZodOptional<z.ZodString>;
588
592
  sendLoginLinkUrl: z.ZodOptional<z.ZodString>;
@@ -742,6 +746,7 @@ export declare const DataSchema: z.ZodObject<{
742
746
  allowConsent: z.ZodOptional<z.ZodBoolean>;
743
747
  flags: z.ZodOptional<z.ZodObject<{
744
748
  enableExperimentalMaplibre: z.ZodOptional<z.ZodBoolean>;
749
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodBoolean>;
745
750
  customSetKiosk: z.ZodOptional<z.ZodString>;
746
751
  hideBoothBadges: z.ZodOptional<z.ZodBoolean>;
747
752
  busRoutes: z.ZodOptional<z.ZodBoolean>;
@@ -756,6 +761,7 @@ export declare const DataSchema: z.ZodObject<{
756
761
  export declare const DataJsSchema: z.ZodObject<{
757
762
  __data: z.ZodOptional<z.ZodObject<{
758
763
  enableExperimentalMaplibre: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
764
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
759
765
  customSetKiosk: z.ZodOptional<z.ZodOptional<z.ZodString>>;
760
766
  hideBoothBadges: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
761
767
  busRoutes: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
@@ -952,6 +958,7 @@ export declare const DataJsSchema: z.ZodObject<{
952
958
  id: z.ZodNumber;
953
959
  name: z.ZodString;
954
960
  parentId: z.ZodOptional<z.ZodNumber>;
961
+ iconUrl: z.ZodOptional<z.ZodString>;
955
962
  }, z.core.$loose>>>;
956
963
  reserveInstructions: z.ZodOptional<z.ZodString>;
957
964
  sendLoginLinkUrl: z.ZodOptional<z.ZodString>;
@@ -1111,6 +1118,7 @@ export declare const DataJsSchema: z.ZodObject<{
1111
1118
  allowConsent: z.ZodOptional<z.ZodBoolean>;
1112
1119
  flags: z.ZodOptional<z.ZodObject<{
1113
1120
  enableExperimentalMaplibre: z.ZodOptional<z.ZodBoolean>;
1121
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodBoolean>;
1114
1122
  customSetKiosk: z.ZodOptional<z.ZodString>;
1115
1123
  hideBoothBadges: z.ZodOptional<z.ZodBoolean>;
1116
1124
  busRoutes: z.ZodOptional<z.ZodBoolean>;
@@ -1119,6 +1127,7 @@ export declare const DataJsSchema: z.ZodObject<{
1119
1127
  }, z.core.$loose>;
1120
1128
  export declare const ManifestSchema: z.ZodObject<{
1121
1129
  enableExperimentalMaplibre: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1130
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1122
1131
  customSetKiosk: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1123
1132
  hideBoothBadges: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1124
1133
  busRoutes: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
@@ -1315,6 +1324,7 @@ export declare const ManifestSchema: z.ZodObject<{
1315
1324
  id: z.ZodNumber;
1316
1325
  name: z.ZodString;
1317
1326
  parentId: z.ZodOptional<z.ZodNumber>;
1327
+ iconUrl: z.ZodOptional<z.ZodString>;
1318
1328
  }, z.core.$loose>>>;
1319
1329
  reserveInstructions: z.ZodOptional<z.ZodString>;
1320
1330
  sendLoginLinkUrl: z.ZodOptional<z.ZodString>;
@@ -1473,6 +1483,9 @@ export declare const ManifestSchema: z.ZodObject<{
1473
1483
  }, z.core.$strip>>;
1474
1484
  allowConsent: z.ZodOptional<z.ZodBoolean>;
1475
1485
  legacyDataUrlBase: z.ZodOptional<z.ZodString>;
1486
+ legacyDataVersion: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull, z.ZodObject<{
1487
+ $ref: z.ZodString;
1488
+ }, z.core.$strip>]>>;
1476
1489
  }, z.core.$loose>;
1477
1490
  /**
1478
1491
  * Caller-supplied overrides — the config fields a host may set when embedding
@@ -1504,6 +1517,7 @@ export declare const OptionsSchema: z.ZodObject<{
1504
1517
  /** The subset tunable from the page URL query. */
1505
1518
  export declare const UrlConfigSchema: z.ZodObject<{
1506
1519
  enableExperimentalMaplibre: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1520
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1507
1521
  intents: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1508
1522
  name: z.ZodLiteral<"selectBooth">;
1509
1523
  args: z.ZodTuple<[z.ZodString], null>;
@@ -1662,6 +1676,7 @@ export declare const UrlConfigSchema: z.ZodObject<{
1662
1676
  */
1663
1677
  export declare const LocalStorageConfigSchema: z.ZodObject<{
1664
1678
  enableExperimentalMaplibre: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1679
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1665
1680
  debugMode: z.ZodOptional<z.ZodBoolean>;
1666
1681
  debugPattern: z.ZodOptional<z.ZodString>;
1667
1682
  showDebugButton: z.ZodOptional<z.ZodBoolean>;
@@ -250,6 +250,19 @@ export const ManifestSchema = z.looseObject({
250
250
  * sees it.
251
251
  */
252
252
  legacyDataUrlBase: z.string().optional(),
253
+ /**
254
+ * Pin of the legacy data revision — the `version.json` value at manifest
255
+ * generation time. `loadConfig` cache-busts the legacy file refs with it
256
+ * (`?v=<pin>`) and skips its own `version.json` probe, so the manifest and
257
+ * the data it points at stay consistent by construction. `null` states
258
+ * "probed: no version.json exists" — the runtime cache-busts per load with
259
+ * a timestamp, still without probing. Only an ABSENT field (legacy
260
+ * manifests, which predate the pin) leaves the runtime to probe; the
261
+ * retired `$ref`-pointer shape still parses but is treated as absent. An
262
+ * input consumed by `loadConfig` like `legacyDataUrlBase`, never carried on
263
+ * the effective config.
264
+ */
265
+ legacyDataVersion: z.union([z.string(), z.null(), z.object({ $ref: z.string() })]).optional(),
253
266
  });
254
267
  /**
255
268
  * Caller-supplied overrides — the config fields a host may set when embedding
@@ -275,6 +288,7 @@ export const OptionsSchema = ConfigSchema.partial()
275
288
  export const UrlConfigSchema = ConfigSchema.partial()
276
289
  .pick({
277
290
  enableExperimentalMaplibre: true,
291
+ enableExperimentalOutdoorMarkers: true,
278
292
  intents: true,
279
293
  consent: true,
280
294
  // the former one-shot presentation params — the query keys keep their
@@ -319,6 +333,7 @@ export const UrlConfigSchema = ConfigSchema.partial()
319
333
  export const LocalStorageConfigSchema = ConfigSchema.partial()
320
334
  .pick({
321
335
  enableExperimentalMaplibre: true,
336
+ enableExperimentalOutdoorMarkers: true,
322
337
  debugMode: true,
323
338
  debugPattern: true,
324
339
  showDebugButton: true,
@@ -6,6 +6,7 @@ import * as z from 'zod';
6
6
  */
7
7
  export declare const FlagsSchema: z.ZodObject<{
8
8
  enableExperimentalMaplibre: z.ZodOptional<z.ZodBoolean>;
9
+ enableExperimentalOutdoorMarkers: z.ZodOptional<z.ZodBoolean>;
9
10
  customSetKiosk: z.ZodOptional<z.ZodString>;
10
11
  hideBoothBadges: z.ZodOptional<z.ZodBoolean>;
11
12
  busRoutes: z.ZodOptional<z.ZodBoolean>;
package/dist/lib/flags.js CHANGED
@@ -7,6 +7,17 @@ import * as z from 'zod';
7
7
  export const FlagsSchema = z.looseObject({
8
8
  /** Enable experimental MapLibre GL JS support. */
9
9
  enableExperimentalMaplibre: z.boolean().optional(),
10
+ /**
11
+ * Enable experimental outdoor PoI markers: booths on an `Outdoor*` layer
12
+ * leave the renderer scene and draw as fixed-size native MapLibre markers
13
+ * with clustering.
14
+ *
15
+ * Unset or `false` disables the feature outright — Outdoor layers then
16
+ * render like any other layer, exactly as they did before it existed. Unlike
17
+ * `enableExperimentalMaplibre` this is NOT tri-state: no drawing field opts a
18
+ * plan in, so there is nothing for `undefined` to defer to.
19
+ */
20
+ enableExperimentalOutdoorMarkers: z.boolean().optional(),
10
21
  /** Custom `setkiosk` phrase. */
11
22
  customSetKiosk: z.string().optional(),
12
23
  /** Hide booth number badges. */
@@ -7,6 +7,7 @@ export declare const RawPoiTypeSchema: z.ZodObject<{
7
7
  id: z.ZodNumber;
8
8
  name: z.ZodString;
9
9
  parentId: z.ZodOptional<z.ZodNumber>;
10
+ iconUrl: z.ZodOptional<z.ZodString>;
10
11
  }, z.core.$loose>;
11
12
  export type RawPoiType = z.infer<typeof RawPoiTypeSchema>;
12
13
  //# sourceMappingURL=poi-types.d.ts.map
@@ -7,4 +7,6 @@ export const RawPoiTypeSchema = z.looseObject({
7
7
  id: z.number(),
8
8
  name: z.string(),
9
9
  parentId: z.number().optional(),
10
+ /** Icon shown for this type; overrides the built-in glyph. */
11
+ iconUrl: z.string().optional(),
10
12
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/schema",
3
- "version": "3.18.1",
3
+ "version": "3.20.0",
4
4
  "type": "module",
5
5
  "description": "ExpoFP SDK internal: expo data schemas and types",
6
6
  "homepage": "https://developer.expofp.com/",
@@ -25,7 +25,7 @@
25
25
  "zod": "4.4.3"
26
26
  },
27
27
  "devDependencies": {
28
- "@expofp/utils": "3.18.1"
28
+ "@expofp/utils": "3.20.0"
29
29
  },
30
30
  "files": [
31
31
  "dist",