@expofp/schema 3.21.1 → 3.23.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/lib/config-defaults.d.ts +2 -0
- package/dist/lib/config-defaults.js +2 -0
- package/dist/lib/config.d.ts +4 -2
- package/dist/lib/config.js +27 -17
- package/dist/lib/kiosk.d.ts +10 -4
- package/dist/lib/kiosk.js +10 -4
- package/package.json +2 -2
|
@@ -78,6 +78,8 @@ export declare const ConfigDefaults: {
|
|
|
78
78
|
enableRotation: false;
|
|
79
79
|
alwaysShowSidebar: false;
|
|
80
80
|
customKioskQrCodeUrl: string;
|
|
81
|
+
/** No provider configured; see the field's note in `config.ts` for why not `''`. */
|
|
82
|
+
mobileLocationProvider: null;
|
|
81
83
|
/**
|
|
82
84
|
* Deliberately undefined rather than `false`: the flag is tri-state. Unset
|
|
83
85
|
* lets the drawing decide (`__fpGeo.properties.config.type === 'maplibre'`),
|
|
@@ -84,6 +84,8 @@ export const ConfigDefaults = {
|
|
|
84
84
|
enableRotation: false,
|
|
85
85
|
alwaysShowSidebar: false,
|
|
86
86
|
customKioskQrCodeUrl: '',
|
|
87
|
+
/** No provider configured; see the field's note in `config.ts` for why not `''`. */
|
|
88
|
+
mobileLocationProvider: null,
|
|
87
89
|
// flags (deprecated nested `flags` flattened to root)
|
|
88
90
|
/**
|
|
89
91
|
* Deliberately undefined rather than `false`: the flag is tri-state. Unset
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -306,6 +306,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
306
306
|
enableRotation: z.ZodBoolean;
|
|
307
307
|
alwaysShowSidebar: z.ZodBoolean;
|
|
308
308
|
customKioskQrCodeUrl: z.ZodString;
|
|
309
|
+
mobileLocationProvider: z.ZodNullable<z.ZodString>;
|
|
309
310
|
debugMode: z.ZodBoolean;
|
|
310
311
|
debugPattern: z.ZodString;
|
|
311
312
|
showDebugButton: z.ZodBoolean;
|
|
@@ -667,6 +668,7 @@ export declare const DataSchema: z.ZodObject<{
|
|
|
667
668
|
enableRotation: z.ZodOptional<z.ZodBoolean>;
|
|
668
669
|
alwaysShowSidebar: z.ZodOptional<z.ZodBoolean>;
|
|
669
670
|
customKioskQrCodeUrl: z.ZodOptional<z.ZodString>;
|
|
671
|
+
mobileLocationProvider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
670
672
|
debugMode: z.ZodOptional<z.ZodBoolean>;
|
|
671
673
|
debugPattern: z.ZodOptional<z.ZodString>;
|
|
672
674
|
showDebugButton: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1039,6 +1041,7 @@ export declare const DataJsSchema: z.ZodObject<{
|
|
|
1039
1041
|
enableRotation: z.ZodOptional<z.ZodBoolean>;
|
|
1040
1042
|
alwaysShowSidebar: z.ZodOptional<z.ZodBoolean>;
|
|
1041
1043
|
customKioskQrCodeUrl: z.ZodOptional<z.ZodString>;
|
|
1044
|
+
mobileLocationProvider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1042
1045
|
debugMode: z.ZodOptional<z.ZodBoolean>;
|
|
1043
1046
|
debugPattern: z.ZodOptional<z.ZodString>;
|
|
1044
1047
|
showDebugButton: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1405,6 +1408,7 @@ export declare const ManifestSchema: z.ZodObject<{
|
|
|
1405
1408
|
enableRotation: z.ZodOptional<z.ZodBoolean>;
|
|
1406
1409
|
alwaysShowSidebar: z.ZodOptional<z.ZodBoolean>;
|
|
1407
1410
|
customKioskQrCodeUrl: z.ZodOptional<z.ZodString>;
|
|
1411
|
+
mobileLocationProvider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1408
1412
|
debugMode: z.ZodOptional<z.ZodBoolean>;
|
|
1409
1413
|
debugPattern: z.ZodOptional<z.ZodString>;
|
|
1410
1414
|
showDebugButton: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1597,7 +1601,6 @@ export declare const UrlConfigSchema: z.ZodObject<{
|
|
|
1597
1601
|
lng: z.ZodOptional<z.ZodNumber>;
|
|
1598
1602
|
}, z.core.$strip>, z.ZodBoolean, z.ZodOptional<z.ZodNumber>], null>;
|
|
1599
1603
|
}, z.core.$strip>], "name">>>;
|
|
1600
|
-
noOverlay: z.ZodOptional<z.ZodBoolean>;
|
|
1601
1604
|
consent: z.ZodOptional<z.ZodEnum<{
|
|
1602
1605
|
ask: "ask";
|
|
1603
1606
|
denied: "denied";
|
|
@@ -1660,7 +1663,6 @@ export declare const UrlConfigSchema: z.ZodObject<{
|
|
|
1660
1663
|
mapBearingDegrees: z.ZodOptional<z.ZodNumber>;
|
|
1661
1664
|
mapPitchDegrees: z.ZodOptional<z.ZodNumber>;
|
|
1662
1665
|
}, z.core.$strip>>;
|
|
1663
|
-
allowConsent: z.ZodOptional<z.ZodBoolean>;
|
|
1664
1666
|
validateSchema: z.ZodOptional<z.ZodBoolean>;
|
|
1665
1667
|
}, z.core.$strip>;
|
|
1666
1668
|
/**
|
package/dist/lib/config.js
CHANGED
|
@@ -124,6 +124,13 @@ export const ConfigSchema = z.object({
|
|
|
124
124
|
enableRotation: z.boolean(),
|
|
125
125
|
alwaysShowSidebar: z.boolean(),
|
|
126
126
|
customKioskQrCodeUrl: z.string(),
|
|
127
|
+
/**
|
|
128
|
+
* Indoor-positioning provider for the native SDKs, opaque web-side:
|
|
129
|
+
* `<provider>.<version>.<base64url credentials>`, e.g.
|
|
130
|
+
* `indooratlas.1.SGVsbG8gV29ybGQh`. `null` (the default) means none — not
|
|
131
|
+
* `''`, so the native bridge sees Kotlin `null` / Swift `nil`.
|
|
132
|
+
*/
|
|
133
|
+
mobileLocationProvider: z.string().nullable(),
|
|
127
134
|
...FlagsSchema.shape,
|
|
128
135
|
// user preferences
|
|
129
136
|
/** Debug mode: verbose logs, the in-map debug overlay, dev-leniency in error paths. */
|
|
@@ -156,17 +163,17 @@ export const ConfigSchema = z.object({
|
|
|
156
163
|
disableGps: z.boolean(),
|
|
157
164
|
/**
|
|
158
165
|
* The initial camera, applied once at boot (an empty object means "don't
|
|
159
|
-
* move"). The
|
|
160
|
-
*
|
|
161
|
-
* URL params translate into this shape.
|
|
166
|
+
* move"). The URL form is `?camera[x]=…`; the runtime counterpart is
|
|
167
|
+
* `FloorPlan.setCamera` / the `setCamera` intent.
|
|
162
168
|
*/
|
|
163
169
|
camera: CameraSchema,
|
|
164
170
|
/**
|
|
165
|
-
* Visibility of the map chrome, applied once at boot
|
|
166
|
-
* the chrome untouched; a non-empty one
|
|
167
|
-
* visible —
|
|
168
|
-
*
|
|
169
|
-
* `?
|
|
171
|
+
* Visibility of the map chrome, applied once at boot. An empty object leaves
|
|
172
|
+
* the chrome untouched; a non-empty one REBUILDS the set — every element it
|
|
173
|
+
* omits resets to visible — so a URL that hides one element must list every
|
|
174
|
+
* other element it also wants hidden. The URL form is
|
|
175
|
+
* `?visibility[header]=false`; the runtime counterpart is
|
|
176
|
+
* `FloorPlan.setVisibility` / the `setVisibility` intent.
|
|
170
177
|
*/
|
|
171
178
|
visibility: VisibilitySchema,
|
|
172
179
|
/**
|
|
@@ -193,16 +200,19 @@ export const ConfigSchema = z.object({
|
|
|
193
200
|
* The kiosk anchor — where a kiosk device stands and how its camera is
|
|
194
201
|
* framed, applied at boot when the device has no locally-saved kiosk (the
|
|
195
202
|
* on-device SetKiosk flow wins; `localStorage['kiosk']='0'` disables both).
|
|
196
|
-
* Canonical URL form `?kiosk[x]
|
|
197
|
-
*
|
|
203
|
+
* Canonical URL form `?kiosk[x]=…`, and `?kiosk=1/0` keeps toggling kiosk
|
|
204
|
+
* mode. The legacy `kiosk_x/y/z` params are a separate, narrower channel:
|
|
205
|
+
* they carry the anchor POSITION to a phone scanning a kiosk's route QR
|
|
206
|
+
* code, and put that phone in no kiosk mode of its own.
|
|
198
207
|
*/
|
|
199
208
|
kiosk: KioskSchema,
|
|
200
209
|
});
|
|
201
210
|
/**
|
|
202
|
-
* Deprecated `allowConsent` input alias, accepted by
|
|
203
|
-
* folded into `consent` by `loadConfig` (`true` → `'granted'`,
|
|
204
|
-
* `'denied'`; a layer's own `consent` wins). The effective config
|
|
205
|
-
* carries it.
|
|
211
|
+
* Deprecated `allowConsent` input alias, accepted by the data and options input
|
|
212
|
+
* schemas and folded into `consent` by `loadConfig` (`true` → `'granted'`,
|
|
213
|
+
* `false` → `'denied'`; a layer's own `consent` wins). The effective config
|
|
214
|
+
* never carries it. RETIRED from the URL query — `?consent=` is the only query
|
|
215
|
+
* form (see `retiredKeys` in `@expofp/config`'s legacy-url codec).
|
|
206
216
|
*/
|
|
207
217
|
const DeprecatedConsentAlias = {
|
|
208
218
|
allowConsent: z.boolean().optional(),
|
|
@@ -292,8 +302,9 @@ export const UrlConfigSchema = ConfigSchema.partial()
|
|
|
292
302
|
intents: true,
|
|
293
303
|
consent: true,
|
|
294
304
|
// the former one-shot presentation params — the query keys keep their
|
|
295
|
-
// historical names, which match these field names exactly
|
|
296
|
-
|
|
305
|
+
// historical names, which match these field names exactly. `noOverlay` is
|
|
306
|
+
// NOT among them: the overlay is addressed by `?visibility[overlay]=false`
|
|
307
|
+
// from the URL, the field stays a manifest/options setting
|
|
297
308
|
monochrome: true,
|
|
298
309
|
hideHeaderLogo: true,
|
|
299
310
|
hideLogoInBooth: true,
|
|
@@ -317,7 +328,6 @@ export const UrlConfigSchema = ConfigSchema.partial()
|
|
|
317
328
|
// drops out of the tolerant parse and keeps its params-based primary
|
|
318
329
|
kiosk: true,
|
|
319
330
|
})
|
|
320
|
-
.extend(DeprecatedConsentAlias)
|
|
321
331
|
.extend(LoadDiagnostics);
|
|
322
332
|
/**
|
|
323
333
|
* The subset persisted per-user in localStorage.
|
package/dist/lib/kiosk.d.ts
CHANGED
|
@@ -4,10 +4,16 @@ import * as z from 'zod';
|
|
|
4
4
|
* stands and how its camera is framed. Applied at boot when the device has no
|
|
5
5
|
* locally-saved kiosk (the on-device SetKiosk flow persists to localStorage
|
|
6
6
|
* and wins over the config; the `localStorage['kiosk']='0'` device switch
|
|
7
|
-
* disables both).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* are
|
|
7
|
+
* disables both). `?kiosk=1/0` keeps toggling kiosk MODE — the mode and the
|
|
8
|
+
* anchor are independent inputs.
|
|
9
|
+
*
|
|
10
|
+
* The legacy `kiosk_x/y/z` params are a narrower, per-navigation channel for
|
|
11
|
+
* one purpose: a kiosk's route QR code hands the scanning phone the anchor
|
|
12
|
+
* POSITION so the route's missing starting point resolves there. The framing
|
|
13
|
+
* fields below travel only in this node, never through those params. Note that
|
|
14
|
+
* the scanning phone does end up in kiosk mode and stays there — a pre-existing
|
|
15
|
+
* quirk of how the anchor is stored, not an intended property of the channel;
|
|
16
|
+
* `packages/floorplan/src/components/Kiosk/kioskUrlParam.ts` traces it.
|
|
11
17
|
*/
|
|
12
18
|
export declare const KioskSchema: z.ZodObject<{
|
|
13
19
|
x: z.ZodOptional<z.ZodNumber>;
|
package/dist/lib/kiosk.js
CHANGED
|
@@ -4,10 +4,16 @@ import * as z from 'zod';
|
|
|
4
4
|
* stands and how its camera is framed. Applied at boot when the device has no
|
|
5
5
|
* locally-saved kiosk (the on-device SetKiosk flow persists to localStorage
|
|
6
6
|
* and wins over the config; the `localStorage['kiosk']='0'` device switch
|
|
7
|
-
* disables both).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* are
|
|
7
|
+
* disables both). `?kiosk=1/0` keeps toggling kiosk MODE — the mode and the
|
|
8
|
+
* anchor are independent inputs.
|
|
9
|
+
*
|
|
10
|
+
* The legacy `kiosk_x/y/z` params are a narrower, per-navigation channel for
|
|
11
|
+
* one purpose: a kiosk's route QR code hands the scanning phone the anchor
|
|
12
|
+
* POSITION so the route's missing starting point resolves there. The framing
|
|
13
|
+
* fields below travel only in this node, never through those params. Note that
|
|
14
|
+
* the scanning phone does end up in kiosk mode and stays there — a pre-existing
|
|
15
|
+
* quirk of how the anchor is stored, not an intended property of the channel;
|
|
16
|
+
* `packages/floorplan/src/components/Kiosk/kioskUrlParam.ts` traces it.
|
|
11
17
|
*/
|
|
12
18
|
export const KioskSchema = z.object({
|
|
13
19
|
/** Anchor x in plan coordinates. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/schema",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.23.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.
|
|
28
|
+
"@expofp/utils": "3.23.0"
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
31
31
|
"dist",
|