@expofp/schema 0.0.0-experimental.cf063fc
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 +24 -0
- package/dist/index.js +23 -0
- package/dist/lib/booth.d.ts +74 -0
- package/dist/lib/booth.js +35 -0
- package/dist/lib/branding.d.ts +21 -0
- package/dist/lib/branding.js +20 -0
- package/dist/lib/camera.d.ts +24 -0
- package/dist/lib/camera.js +36 -0
- package/dist/lib/categories.d.ts +9 -0
- package/dist/lib/categories.js +7 -0
- package/dist/lib/config-defaults.d.ts +147 -0
- package/dist/lib/config-defaults.js +164 -0
- package/dist/lib/config.d.ts +2146 -0
- package/dist/lib/config.js +438 -0
- package/dist/lib/exhibitor.d.ts +66 -0
- package/dist/lib/exhibitor.js +69 -0
- package/dist/lib/filters.d.ts +23 -0
- package/dist/lib/filters.js +24 -0
- package/dist/lib/flags.d.ts +17 -0
- package/dist/lib/flags.js +63 -0
- package/dist/lib/fp-geo.d.ts +105 -0
- package/dist/lib/fp-geo.js +55 -0
- package/dist/lib/fp-svg.d.ts +399 -0
- package/dist/lib/fp-svg.js +196 -0
- package/dist/lib/heatmap.d.ts +23 -0
- package/dist/lib/heatmap.js +24 -0
- package/dist/lib/intents.d.ts +173 -0
- package/dist/lib/intents.js +153 -0
- package/dist/lib/journey.d.ts +27 -0
- package/dist/lib/journey.js +26 -0
- package/dist/lib/kiosk.d.ts +39 -0
- package/dist/lib/kiosk.js +65 -0
- package/dist/lib/maplibre.d.ts +43 -0
- package/dist/lib/maplibre.js +51 -0
- package/dist/lib/maps.d.ts +22 -0
- package/dist/lib/maps.js +19 -0
- package/dist/lib/poi-types.d.ts +13 -0
- package/dist/lib/poi-types.js +17 -0
- package/dist/lib/schedule.d.ts +25 -0
- package/dist/lib/schedule.js +20 -0
- package/dist/lib/search.d.ts +51 -0
- package/dist/lib/search.js +36 -0
- package/dist/lib/venues.d.ts +222 -0
- package/dist/lib/venues.js +150 -0
- package/dist/lib/visibility.d.ts +17 -0
- package/dist/lib/visibility.js +23 -0
- package/dist/lib/wayfinding.d.ts +104 -0
- package/dist/lib/wayfinding.js +52 -0
- package/package.json +35 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from './lib/booth.js';
|
|
2
|
+
export * from './lib/branding.js';
|
|
3
|
+
export * from './lib/camera.js';
|
|
4
|
+
export * from './lib/categories.js';
|
|
5
|
+
export * from './lib/config.js';
|
|
6
|
+
export * from './lib/config-defaults.js';
|
|
7
|
+
export * from './lib/exhibitor.js';
|
|
8
|
+
export * from './lib/filters.js';
|
|
9
|
+
export * from './lib/flags.js';
|
|
10
|
+
export * from './lib/fp-geo.js';
|
|
11
|
+
export * from './lib/fp-svg.js';
|
|
12
|
+
export * from './lib/heatmap.js';
|
|
13
|
+
export * from './lib/intents.js';
|
|
14
|
+
export * from './lib/journey.js';
|
|
15
|
+
export * from './lib/kiosk.js';
|
|
16
|
+
export * from './lib/maplibre.js';
|
|
17
|
+
export * from './lib/maps.js';
|
|
18
|
+
export * from './lib/poi-types.js';
|
|
19
|
+
export * from './lib/schedule.js';
|
|
20
|
+
export * from './lib/search.js';
|
|
21
|
+
export * from './lib/venues.js';
|
|
22
|
+
export * from './lib/visibility.js';
|
|
23
|
+
export * from './lib/wayfinding.js';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from './lib/booth.js';
|
|
2
|
+
export * from './lib/branding.js';
|
|
3
|
+
export * from './lib/camera.js';
|
|
4
|
+
export * from './lib/categories.js';
|
|
5
|
+
export * from './lib/config.js';
|
|
6
|
+
export * from './lib/config-defaults.js';
|
|
7
|
+
export * from './lib/exhibitor.js';
|
|
8
|
+
export * from './lib/filters.js';
|
|
9
|
+
export * from './lib/flags.js';
|
|
10
|
+
export * from './lib/fp-geo.js';
|
|
11
|
+
export * from './lib/fp-svg.js';
|
|
12
|
+
export * from './lib/heatmap.js';
|
|
13
|
+
export * from './lib/intents.js';
|
|
14
|
+
export * from './lib/journey.js';
|
|
15
|
+
export * from './lib/kiosk.js';
|
|
16
|
+
export * from './lib/maplibre.js';
|
|
17
|
+
export * from './lib/maps.js';
|
|
18
|
+
export * from './lib/poi-types.js';
|
|
19
|
+
export * from './lib/schedule.js';
|
|
20
|
+
export * from './lib/search.js';
|
|
21
|
+
export * from './lib/venues.js';
|
|
22
|
+
export * from './lib/visibility.js';
|
|
23
|
+
export * from './lib/wayfinding.js';
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/** A standard sellable booth. */
|
|
3
|
+
export declare const RawRegularBoothSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodNumber;
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
title: z.ZodOptional<z.ZodString>;
|
|
7
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
8
|
+
exhibitors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
9
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
10
|
+
poiTypeId: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
12
|
+
onhold: "onhold";
|
|
13
|
+
reserved: "reserved";
|
|
14
|
+
}>>;
|
|
15
|
+
size: z.ZodOptional<z.ZodString>;
|
|
16
|
+
price: z.ZodOptional<z.ZodString>;
|
|
17
|
+
availColor: z.ZodOptional<z.ZodString>;
|
|
18
|
+
soldColor: z.ZodOptional<z.ZodString>;
|
|
19
|
+
holdColor: z.ZodOptional<z.ZodString>;
|
|
20
|
+
buyUrl: z.ZodOptional<z.ZodString>;
|
|
21
|
+
reserveUrl: z.ZodOptional<z.ZodString>;
|
|
22
|
+
type: z.ZodOptional<z.ZodString>;
|
|
23
|
+
labelColor: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$loose>;
|
|
25
|
+
/** A non-sellable special area (entrance, lounge, …), tagged `special: true`. */
|
|
26
|
+
export declare const RawSpecialBoothSchema: z.ZodObject<{
|
|
27
|
+
id: z.ZodNumber;
|
|
28
|
+
name: z.ZodString;
|
|
29
|
+
title: z.ZodOptional<z.ZodString>;
|
|
30
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
exhibitors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
32
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
33
|
+
poiTypeId: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
description: z.ZodOptional<z.ZodString>;
|
|
35
|
+
color: z.ZodOptional<z.ZodString>;
|
|
36
|
+
special: z.ZodLiteral<true>;
|
|
37
|
+
}, z.core.$loose>;
|
|
38
|
+
export declare const RawBoothSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
39
|
+
id: z.ZodNumber;
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
title: z.ZodOptional<z.ZodString>;
|
|
42
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
43
|
+
exhibitors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
44
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
45
|
+
poiTypeId: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
description: z.ZodOptional<z.ZodString>;
|
|
47
|
+
color: z.ZodOptional<z.ZodString>;
|
|
48
|
+
special: z.ZodLiteral<true>;
|
|
49
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
50
|
+
id: z.ZodNumber;
|
|
51
|
+
name: z.ZodString;
|
|
52
|
+
title: z.ZodOptional<z.ZodString>;
|
|
53
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
54
|
+
exhibitors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
55
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
56
|
+
poiTypeId: z.ZodOptional<z.ZodNumber>;
|
|
57
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
58
|
+
onhold: "onhold";
|
|
59
|
+
reserved: "reserved";
|
|
60
|
+
}>>;
|
|
61
|
+
size: z.ZodOptional<z.ZodString>;
|
|
62
|
+
price: z.ZodOptional<z.ZodString>;
|
|
63
|
+
availColor: z.ZodOptional<z.ZodString>;
|
|
64
|
+
soldColor: z.ZodOptional<z.ZodString>;
|
|
65
|
+
holdColor: z.ZodOptional<z.ZodString>;
|
|
66
|
+
buyUrl: z.ZodOptional<z.ZodString>;
|
|
67
|
+
reserveUrl: z.ZodOptional<z.ZodString>;
|
|
68
|
+
type: z.ZodOptional<z.ZodString>;
|
|
69
|
+
labelColor: z.ZodOptional<z.ZodString>;
|
|
70
|
+
}, z.core.$loose>]>;
|
|
71
|
+
export type RawBooth = z.infer<typeof RawBoothSchema>;
|
|
72
|
+
export type RawRegularBooth = z.infer<typeof RawRegularBoothSchema>;
|
|
73
|
+
export type RawSpecialBooth = z.infer<typeof RawSpecialBoothSchema>;
|
|
74
|
+
//# sourceMappingURL=booth.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/** Fields shared by every booth, regular or special. */
|
|
3
|
+
const RawBoothBaseSchema = z.looseObject({
|
|
4
|
+
id: z.number(),
|
|
5
|
+
name: z.string(),
|
|
6
|
+
title: z.string().optional(),
|
|
7
|
+
externalId: z.string().optional(),
|
|
8
|
+
exhibitors: z.array(z.number()).optional(),
|
|
9
|
+
meta: z.record(z.string(), z.string()).optional(),
|
|
10
|
+
poiTypeId: z.number().optional(),
|
|
11
|
+
});
|
|
12
|
+
/** A standard sellable booth. */
|
|
13
|
+
export const RawRegularBoothSchema = RawBoothBaseSchema.extend({
|
|
14
|
+
/** Unavailable-for-sale state; `init-booths` derives the `onHold`/`reserved` flags. */
|
|
15
|
+
status: z.enum(['onhold', 'reserved']).optional(),
|
|
16
|
+
// populated: comes from svg or data.js
|
|
17
|
+
size: z.string().optional(),
|
|
18
|
+
price: z.string().optional(),
|
|
19
|
+
availColor: z.string().optional(),
|
|
20
|
+
soldColor: z.string().optional(),
|
|
21
|
+
holdColor: z.string().optional(),
|
|
22
|
+
buyUrl: z.string().optional(),
|
|
23
|
+
reserveUrl: z.string().optional(),
|
|
24
|
+
type: z.string().optional(),
|
|
25
|
+
labelColor: z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
/** A non-sellable special area (entrance, lounge, …), tagged `special: true`. */
|
|
28
|
+
export const RawSpecialBoothSchema = RawBoothBaseSchema.extend({
|
|
29
|
+
description: z.string().optional(),
|
|
30
|
+
color: z.string().optional(), // comes from svg or data.js
|
|
31
|
+
special: z.literal(true),
|
|
32
|
+
});
|
|
33
|
+
// Special branch first: with nearly every field optional a regular booth has no
|
|
34
|
+
// required discriminator, so `special: true` (still required) must be matched first.
|
|
35
|
+
export const RawBoothSchema = z.union([RawSpecialBoothSchema, RawRegularBoothSchema]);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/** How a selected booth/space/POI is highlighted on the plan. */
|
|
3
|
+
export declare const SelectionStyleSchema: z.ZodEnum<{
|
|
4
|
+
blink: "blink";
|
|
5
|
+
solid: "solid";
|
|
6
|
+
}>;
|
|
7
|
+
export type SelectionStyle = z.infer<typeof SelectionStyleSchema>;
|
|
8
|
+
/**
|
|
9
|
+
* Wayfinding palette overrides. Every key is optional; an absent key keeps
|
|
10
|
+
* the built-in color. Loose so the platform can add keys before the SDK
|
|
11
|
+
* learns them.
|
|
12
|
+
*/
|
|
13
|
+
export declare const WayfindingColorsSchema: z.ZodObject<{
|
|
14
|
+
route: z.ZodOptional<z.ZodString>;
|
|
15
|
+
routeActive: z.ZodOptional<z.ZodString>;
|
|
16
|
+
routePassed: z.ZodOptional<z.ZodString>;
|
|
17
|
+
source: z.ZodOptional<z.ZodString>;
|
|
18
|
+
destination: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$loose>;
|
|
20
|
+
export type WayfindingColors = z.infer<typeof WayfindingColorsSchema>;
|
|
21
|
+
//# sourceMappingURL=branding.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/** How a selected booth/space/POI is highlighted on the plan. */
|
|
3
|
+
export const SelectionStyleSchema = z.enum(['blink', 'solid']);
|
|
4
|
+
/**
|
|
5
|
+
* Wayfinding palette overrides. Every key is optional; an absent key keeps
|
|
6
|
+
* the built-in color. Loose so the platform can add keys before the SDK
|
|
7
|
+
* learns them.
|
|
8
|
+
*/
|
|
9
|
+
export const WayfindingColorsSchema = z.looseObject({
|
|
10
|
+
/** Remaining route segments. */
|
|
11
|
+
route: z.string().optional(),
|
|
12
|
+
/** Animated "current" segment drawn over the remaining route. */
|
|
13
|
+
routeActive: z.string().optional(),
|
|
14
|
+
/** Segments already walked. */
|
|
15
|
+
routePassed: z.string().optional(),
|
|
16
|
+
/** Departure / current-position / transition icons. */
|
|
17
|
+
source: z.string().optional(),
|
|
18
|
+
/** Destination icon. */
|
|
19
|
+
destination: z.string().optional(),
|
|
20
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A camera move request — the argument of `FloorPlan.setCamera` and the
|
|
4
|
+
* `setCamera` intent. Every field is optional with partial-merge semantics:
|
|
5
|
+
* only the fields present change the view, omitted ones keep their current
|
|
6
|
+
* values. `x`/`y` (floor-plan projected coordinates) and `lat`/`lng` (the GPS
|
|
7
|
+
* alternative) are pairs — a center moves only when both halves of a pair are
|
|
8
|
+
* given.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CameraSchema: z.ZodObject<{
|
|
11
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
lat: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
lng: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
floor: z.ZodOptional<z.ZodString>;
|
|
16
|
+
venue: z.ZodOptional<z.ZodString>;
|
|
17
|
+
bearing: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
zoomTime: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
pitchTime: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
pitchDegrees: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export interface Camera extends z.infer<typeof CameraSchema> {
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A camera move request — the argument of `FloorPlan.setCamera` and the
|
|
4
|
+
* `setCamera` intent. Every field is optional with partial-merge semantics:
|
|
5
|
+
* only the fields present change the view, omitted ones keep their current
|
|
6
|
+
* values. `x`/`y` (floor-plan projected coordinates) and `lat`/`lng` (the GPS
|
|
7
|
+
* alternative) are pairs — a center moves only when both halves of a pair are
|
|
8
|
+
* given.
|
|
9
|
+
*/
|
|
10
|
+
export const CameraSchema = z.object({
|
|
11
|
+
/** Center, floor-plan projected coordinates (paired with `y`). */
|
|
12
|
+
x: z.number().optional(),
|
|
13
|
+
/** Center, floor-plan projected coordinates (paired with `x`). */
|
|
14
|
+
y: z.number().optional(),
|
|
15
|
+
/** Center, GPS latitude (paired with `lng`). */
|
|
16
|
+
lat: z.number().optional(),
|
|
17
|
+
/** Center, GPS longitude (paired with `lat`). */
|
|
18
|
+
lng: z.number().optional(),
|
|
19
|
+
/** Floor name to activate. */
|
|
20
|
+
floor: z.string().optional(),
|
|
21
|
+
/**
|
|
22
|
+
* Venue `id` to focus (multi-venue plans) — a display name resolves nothing,
|
|
23
|
+
* so a hall may be renamed without breaking a saved link. Paired with `floor`
|
|
24
|
+
* it addresses a level inside that venue; alone it flies to the venue and
|
|
25
|
+
* opens its initial level. Ignored on plans without venue definitions.
|
|
26
|
+
*/
|
|
27
|
+
venue: z.string().optional(),
|
|
28
|
+
/** Map rotation in degrees (0–360). */
|
|
29
|
+
bearing: z.number().optional(),
|
|
30
|
+
/** Camera movement animation duration in milliseconds. */
|
|
31
|
+
zoomTime: z.number().optional(),
|
|
32
|
+
/** Tilt animation duration in milliseconds. */
|
|
33
|
+
pitchTime: z.number().optional(),
|
|
34
|
+
/** Camera tilt back from top down, in degrees. */
|
|
35
|
+
pitchDegrees: z.number().optional(),
|
|
36
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/** An exhibitor category — an entry in the config's `categories` list. */
|
|
3
|
+
export declare const RawCategorySchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodNumber;
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
sponsorship: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
}, z.core.$loose>;
|
|
8
|
+
export type RawCategory = z.infer<typeof RawCategorySchema>;
|
|
9
|
+
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complete field defaults for the effective config — one value for every
|
|
3
|
+
* `Config` field — applied as the lowest-precedence layer in `loadConfig` so an
|
|
4
|
+
* explicit value from any source (manifest, options, localStorage, URL) wins.
|
|
5
|
+
*
|
|
6
|
+
* Typed `satisfies Required<Config>`, so it must stay exhaustive: add a field to
|
|
7
|
+
* the schema and TypeScript flags the missing default here (plain `Config` would
|
|
8
|
+
* let an optional field slip through). Values are type zero-values (`false` /
|
|
9
|
+
* `''` / `0` / `[]` / `{}`) except where a meaningful default exists
|
|
10
|
+
* (`disableRuntimeAlerts`).
|
|
11
|
+
*
|
|
12
|
+
* Kept as a plain object rather than `.default()`s inside the layer schemas: a
|
|
13
|
+
* default in a schema materializes on *every* layer's parse — and in Zod 4
|
|
14
|
+
* `.partial()` does not suppress it — so a higher, empty layer would stomp a
|
|
15
|
+
* lower layer's explicit value.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ConfigDefaults: {
|
|
18
|
+
expo: string;
|
|
19
|
+
noFeatured: false;
|
|
20
|
+
isTrial: false;
|
|
21
|
+
expoFpAd: false;
|
|
22
|
+
free: false;
|
|
23
|
+
trialExpiresAt: string;
|
|
24
|
+
title: string;
|
|
25
|
+
subtitle: string;
|
|
26
|
+
homeUrl: string;
|
|
27
|
+
registerUrl: string;
|
|
28
|
+
startDate: string;
|
|
29
|
+
endDate: string;
|
|
30
|
+
logo: string;
|
|
31
|
+
gallery: never[];
|
|
32
|
+
gtag: string;
|
|
33
|
+
boothTerm: string;
|
|
34
|
+
levelTerm: string;
|
|
35
|
+
reserveButtonTerm: string;
|
|
36
|
+
exhibitorTerm: string;
|
|
37
|
+
exhibitorTermPlural: string;
|
|
38
|
+
locale: string;
|
|
39
|
+
booths: never[];
|
|
40
|
+
exhibitors: never[];
|
|
41
|
+
categories: never[];
|
|
42
|
+
poiTypes: never[];
|
|
43
|
+
events: never[];
|
|
44
|
+
reserveInstructions: string;
|
|
45
|
+
sendLoginLinkUrl: string;
|
|
46
|
+
trackerUrl: string;
|
|
47
|
+
hideWayInformation: false;
|
|
48
|
+
hideDirections: false;
|
|
49
|
+
hideExhibitors: false;
|
|
50
|
+
onlyFeaturedExhibitors: false;
|
|
51
|
+
hideExhibitorBoothNumber: false;
|
|
52
|
+
dimensionless: false;
|
|
53
|
+
hideCategoriesLink: false;
|
|
54
|
+
hideEventHomeLink: false;
|
|
55
|
+
hideRegisterToAttendLink: false;
|
|
56
|
+
hideDownloadPdfLink: false;
|
|
57
|
+
hideBookmarksLink: false;
|
|
58
|
+
hideBookmarks: false;
|
|
59
|
+
hideLanguage: false;
|
|
60
|
+
hideLanguageLink: false;
|
|
61
|
+
uiLanguages: never[];
|
|
62
|
+
hideBoothLevel: false;
|
|
63
|
+
selectionStyle: "blink";
|
|
64
|
+
selectionColor: string;
|
|
65
|
+
wayfindingColors: {};
|
|
66
|
+
autoTrackingGps: false;
|
|
67
|
+
enableIPS: false;
|
|
68
|
+
allow3dView: false;
|
|
69
|
+
hide3dMapDefault: false;
|
|
70
|
+
hideModeSwitchButton: false;
|
|
71
|
+
isRebooking: false;
|
|
72
|
+
customCss: string;
|
|
73
|
+
customCssFonts: never[];
|
|
74
|
+
showLevelLabel: false;
|
|
75
|
+
showCategories: false;
|
|
76
|
+
showCompaniesAndBooths: false;
|
|
77
|
+
showOtherSpaces: false;
|
|
78
|
+
hideShareButton: false;
|
|
79
|
+
collapseDescriptions: true;
|
|
80
|
+
searchCameraFollow: false;
|
|
81
|
+
viewOptimizationLevel: number;
|
|
82
|
+
shortLevelName: false;
|
|
83
|
+
searchText: string;
|
|
84
|
+
filterButtonsConfig: {};
|
|
85
|
+
enableRotation: false;
|
|
86
|
+
alwaysShowSidebar: false;
|
|
87
|
+
customKioskQrCodeUrl: string;
|
|
88
|
+
qrCodeBaseUrl: string;
|
|
89
|
+
venuesVersion: 1;
|
|
90
|
+
venues: never[];
|
|
91
|
+
/**
|
|
92
|
+
* No producer override: undefined means "let the platform decide", which is
|
|
93
|
+
* the whole default behavior — an eager 'google' here would silently force
|
|
94
|
+
* Google Maps on iOS.
|
|
95
|
+
*/
|
|
96
|
+
mapsProvider: undefined;
|
|
97
|
+
/**
|
|
98
|
+
* No deep link: a journey is what the visitor builds on this device, unless a
|
|
99
|
+
* scanned QR names one. Undefined rather than an empty object — a journey
|
|
100
|
+
* link without a destination is not a link.
|
|
101
|
+
*/
|
|
102
|
+
journey: undefined;
|
|
103
|
+
/** No provider configured; see the field's note in `config.ts` for why not `''`. */
|
|
104
|
+
mobileLocationProvider: null;
|
|
105
|
+
/**
|
|
106
|
+
* Deliberately undefined rather than `false`: the flag is tri-state. Unset
|
|
107
|
+
* lets the drawing decide (`__fpGeo.properties.config.type === 'maplibre'`),
|
|
108
|
+
* while an explicit `false` from any layer — debug panel, localStorage, URL,
|
|
109
|
+
* host options — vetoes the map. A `false` default would erase that
|
|
110
|
+
* distinction (see `MaplibreStore.useMaplibreMap`).
|
|
111
|
+
*/
|
|
112
|
+
enableExperimentalMaplibre: undefined;
|
|
113
|
+
enableExperimentalOutdoorMarkers: false;
|
|
114
|
+
enableExperimentalVenueFraming: false;
|
|
115
|
+
enableExperimentalNorthUp: false;
|
|
116
|
+
customSetKiosk: string;
|
|
117
|
+
hideBoothBadges: false;
|
|
118
|
+
crossVenueJourneys: true;
|
|
119
|
+
busRoutes: false;
|
|
120
|
+
debugMode: false;
|
|
121
|
+
debugPattern: string;
|
|
122
|
+
showDebugButton: false;
|
|
123
|
+
previewMode: false;
|
|
124
|
+
noOverlay: false;
|
|
125
|
+
offHistory: false;
|
|
126
|
+
ignoreQuery: false;
|
|
127
|
+
consent: "ask";
|
|
128
|
+
viewerMode: false;
|
|
129
|
+
disableRuntimeAlerts: true;
|
|
130
|
+
monochrome: false;
|
|
131
|
+
hideHeaderLogo: false;
|
|
132
|
+
hideLogoInBooth: false;
|
|
133
|
+
disableFeatured: false;
|
|
134
|
+
disableBookmarked: false;
|
|
135
|
+
disableGps: false;
|
|
136
|
+
camera: {};
|
|
137
|
+
visibility: {};
|
|
138
|
+
filters: {};
|
|
139
|
+
heatmap: {};
|
|
140
|
+
kiosk: {};
|
|
141
|
+
maplibre: {};
|
|
142
|
+
intents: never[];
|
|
143
|
+
fpSvgJsRef: null;
|
|
144
|
+
fpSvgLayerJsRefs: {};
|
|
145
|
+
wfDataJsRef: null;
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=config-defaults.d.ts.map
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complete field defaults for the effective config — one value for every
|
|
3
|
+
* `Config` field — applied as the lowest-precedence layer in `loadConfig` so an
|
|
4
|
+
* explicit value from any source (manifest, options, localStorage, URL) wins.
|
|
5
|
+
*
|
|
6
|
+
* Typed `satisfies Required<Config>`, so it must stay exhaustive: add a field to
|
|
7
|
+
* the schema and TypeScript flags the missing default here (plain `Config` would
|
|
8
|
+
* let an optional field slip through). Values are type zero-values (`false` /
|
|
9
|
+
* `''` / `0` / `[]` / `{}`) except where a meaningful default exists
|
|
10
|
+
* (`disableRuntimeAlerts`).
|
|
11
|
+
*
|
|
12
|
+
* Kept as a plain object rather than `.default()`s inside the layer schemas: a
|
|
13
|
+
* default in a schema materializes on *every* layer's parse — and in Zod 4
|
|
14
|
+
* `.partial()` does not suppress it — so a higher, empty layer would stomp a
|
|
15
|
+
* lower layer's explicit value.
|
|
16
|
+
*/
|
|
17
|
+
export const ConfigDefaults = {
|
|
18
|
+
expo: '',
|
|
19
|
+
// trial / ad
|
|
20
|
+
noFeatured: false,
|
|
21
|
+
isTrial: false,
|
|
22
|
+
expoFpAd: false,
|
|
23
|
+
free: false,
|
|
24
|
+
trialExpiresAt: '',
|
|
25
|
+
// expo meta
|
|
26
|
+
title: '',
|
|
27
|
+
subtitle: '',
|
|
28
|
+
homeUrl: '',
|
|
29
|
+
registerUrl: '',
|
|
30
|
+
startDate: '',
|
|
31
|
+
endDate: '',
|
|
32
|
+
logo: '',
|
|
33
|
+
gallery: [],
|
|
34
|
+
gtag: '',
|
|
35
|
+
// terms / locale
|
|
36
|
+
boothTerm: '',
|
|
37
|
+
levelTerm: '',
|
|
38
|
+
reserveButtonTerm: '',
|
|
39
|
+
exhibitorTerm: '',
|
|
40
|
+
exhibitorTermPlural: '',
|
|
41
|
+
locale: '',
|
|
42
|
+
// data collections
|
|
43
|
+
booths: [],
|
|
44
|
+
exhibitors: [],
|
|
45
|
+
categories: [],
|
|
46
|
+
poiTypes: [],
|
|
47
|
+
events: [],
|
|
48
|
+
reserveInstructions: '',
|
|
49
|
+
sendLoginLinkUrl: '',
|
|
50
|
+
trackerUrl: '',
|
|
51
|
+
// visibility toggles
|
|
52
|
+
hideWayInformation: false,
|
|
53
|
+
hideDirections: false,
|
|
54
|
+
hideExhibitors: false,
|
|
55
|
+
onlyFeaturedExhibitors: false,
|
|
56
|
+
hideExhibitorBoothNumber: false,
|
|
57
|
+
dimensionless: false,
|
|
58
|
+
hideCategoriesLink: false,
|
|
59
|
+
hideEventHomeLink: false,
|
|
60
|
+
hideRegisterToAttendLink: false,
|
|
61
|
+
hideDownloadPdfLink: false,
|
|
62
|
+
hideBookmarksLink: false,
|
|
63
|
+
hideBookmarks: false,
|
|
64
|
+
hideLanguage: false,
|
|
65
|
+
hideLanguageLink: false,
|
|
66
|
+
uiLanguages: [],
|
|
67
|
+
hideBoothLevel: false,
|
|
68
|
+
selectionStyle: 'blink',
|
|
69
|
+
selectionColor: '',
|
|
70
|
+
wayfindingColors: {},
|
|
71
|
+
autoTrackingGps: false,
|
|
72
|
+
enableIPS: false,
|
|
73
|
+
allow3dView: false,
|
|
74
|
+
hide3dMapDefault: false,
|
|
75
|
+
hideModeSwitchButton: false,
|
|
76
|
+
isRebooking: false,
|
|
77
|
+
// custom styling
|
|
78
|
+
customCss: '',
|
|
79
|
+
customCssFonts: [],
|
|
80
|
+
showLevelLabel: false,
|
|
81
|
+
showCategories: false,
|
|
82
|
+
showCompaniesAndBooths: false,
|
|
83
|
+
showOtherSpaces: false,
|
|
84
|
+
hideShareButton: false,
|
|
85
|
+
collapseDescriptions: true,
|
|
86
|
+
searchCameraFollow: false,
|
|
87
|
+
viewOptimizationLevel: 0,
|
|
88
|
+
shortLevelName: false,
|
|
89
|
+
searchText: '',
|
|
90
|
+
filterButtonsConfig: {},
|
|
91
|
+
enableRotation: false,
|
|
92
|
+
alwaysShowSidebar: false,
|
|
93
|
+
customKioskQrCodeUrl: '',
|
|
94
|
+
qrCodeBaseUrl: '',
|
|
95
|
+
// A plan has a venue model only when `venues` is non-empty, so the empty
|
|
96
|
+
// default IS "no venue model"; `venuesVersion` carries the only legal wire
|
|
97
|
+
// version and is inert until venues arrive.
|
|
98
|
+
venuesVersion: 1,
|
|
99
|
+
venues: [],
|
|
100
|
+
/**
|
|
101
|
+
* No producer override: undefined means "let the platform decide", which is
|
|
102
|
+
* the whole default behavior — an eager 'google' here would silently force
|
|
103
|
+
* Google Maps on iOS.
|
|
104
|
+
*/
|
|
105
|
+
mapsProvider: undefined,
|
|
106
|
+
/**
|
|
107
|
+
* No deep link: a journey is what the visitor builds on this device, unless a
|
|
108
|
+
* scanned QR names one. Undefined rather than an empty object — a journey
|
|
109
|
+
* link without a destination is not a link.
|
|
110
|
+
*/
|
|
111
|
+
journey: undefined,
|
|
112
|
+
/** No provider configured; see the field's note in `config.ts` for why not `''`. */
|
|
113
|
+
mobileLocationProvider: null,
|
|
114
|
+
// flags (deprecated nested `flags` flattened to root)
|
|
115
|
+
/**
|
|
116
|
+
* Deliberately undefined rather than `false`: the flag is tri-state. Unset
|
|
117
|
+
* lets the drawing decide (`__fpGeo.properties.config.type === 'maplibre'`),
|
|
118
|
+
* while an explicit `false` from any layer — debug panel, localStorage, URL,
|
|
119
|
+
* host options — vetoes the map. A `false` default would erase that
|
|
120
|
+
* distinction (see `MaplibreStore.useMaplibreMap`).
|
|
121
|
+
*/
|
|
122
|
+
enableExperimentalMaplibre: undefined,
|
|
123
|
+
enableExperimentalOutdoorMarkers: false,
|
|
124
|
+
enableExperimentalVenueFraming: false,
|
|
125
|
+
enableExperimentalNorthUp: false,
|
|
126
|
+
customSetKiosk: '',
|
|
127
|
+
hideBoothBadges: false,
|
|
128
|
+
// TEMPORARY — DELETE BEFORE MERGE. The flag ships off (ADR-0010: the debut is
|
|
129
|
+
// gated, and the same switch stays the producer's opt-out afterwards); it is
|
|
130
|
+
// on here only so cross-venue journeys can be exercised on this branch
|
|
131
|
+
// without appending `?crossVenueJourneys=true` to every URL. Restore
|
|
132
|
+
// `crossVenueJourneys: false` before this branch merges.
|
|
133
|
+
crossVenueJourneys: true,
|
|
134
|
+
busRoutes: false,
|
|
135
|
+
// user preferences
|
|
136
|
+
debugMode: false,
|
|
137
|
+
debugPattern: '',
|
|
138
|
+
showDebugButton: false,
|
|
139
|
+
// options
|
|
140
|
+
previewMode: false,
|
|
141
|
+
noOverlay: false,
|
|
142
|
+
offHistory: false,
|
|
143
|
+
ignoreQuery: false,
|
|
144
|
+
consent: 'ask',
|
|
145
|
+
viewerMode: false,
|
|
146
|
+
disableRuntimeAlerts: true, // TODO: drop once runtime alerts are opt-in
|
|
147
|
+
monochrome: false,
|
|
148
|
+
hideHeaderLogo: false,
|
|
149
|
+
hideLogoInBooth: false,
|
|
150
|
+
disableFeatured: false,
|
|
151
|
+
disableBookmarked: false,
|
|
152
|
+
disableGps: false,
|
|
153
|
+
camera: {},
|
|
154
|
+
visibility: {},
|
|
155
|
+
filters: {},
|
|
156
|
+
heatmap: {},
|
|
157
|
+
kiosk: {},
|
|
158
|
+
maplibre: {},
|
|
159
|
+
intents: [],
|
|
160
|
+
// legacy / internal
|
|
161
|
+
fpSvgJsRef: null,
|
|
162
|
+
fpSvgLayerJsRefs: {},
|
|
163
|
+
wfDataJsRef: null,
|
|
164
|
+
};
|