@expofp/schema 3.22.0 → 3.23.1

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.
@@ -1601,7 +1601,6 @@ export declare const UrlConfigSchema: z.ZodObject<{
1601
1601
  lng: z.ZodOptional<z.ZodNumber>;
1602
1602
  }, z.core.$strip>, z.ZodBoolean, z.ZodOptional<z.ZodNumber>], null>;
1603
1603
  }, z.core.$strip>], "name">>>;
1604
- noOverlay: z.ZodOptional<z.ZodBoolean>;
1605
1604
  consent: z.ZodOptional<z.ZodEnum<{
1606
1605
  ask: "ask";
1607
1606
  denied: "denied";
@@ -1664,7 +1663,6 @@ export declare const UrlConfigSchema: z.ZodObject<{
1664
1663
  mapBearingDegrees: z.ZodOptional<z.ZodNumber>;
1665
1664
  mapPitchDegrees: z.ZodOptional<z.ZodNumber>;
1666
1665
  }, z.core.$strip>>;
1667
- allowConsent: z.ZodOptional<z.ZodBoolean>;
1668
1666
  validateSchema: z.ZodOptional<z.ZodBoolean>;
1669
1667
  }, z.core.$strip>;
1670
1668
  /**
@@ -163,17 +163,17 @@ export const ConfigSchema = z.object({
163
163
  disableGps: z.boolean(),
164
164
  /**
165
165
  * The initial camera, applied once at boot (an empty object means "don't
166
- * move"). The runtime counterpart is `FloorPlan.setCamera` / the `setCamera`
167
- * intent; the legacy `?centerxy=`/`?center=`/`?z=`/`?bearing=`/`?zoomtime=`
168
- * URL params translate into this shape.
166
+ * move"). The URL form is `?camera[x]=…`; the runtime counterpart is
167
+ * `FloorPlan.setCamera` / the `setCamera` intent.
169
168
  */
170
169
  camera: CameraSchema,
171
170
  /**
172
- * Visibility of the map chrome, applied once at boot (an empty object leaves
173
- * the chrome untouched; a non-empty one resets every omitted element to
174
- * visible — the legacy `?hide=` list semantics). The runtime counterpart is
175
- * `FloorPlan.setVisibility` / the `setVisibility` intent; the legacy
176
- * `?hide=a,b` deep link keeps its store-level translation.
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.
177
177
  */
178
178
  visibility: VisibilitySchema,
179
179
  /**
@@ -200,16 +200,19 @@ export const ConfigSchema = z.object({
200
200
  * The kiosk anchor — where a kiosk device stands and how its camera is
201
201
  * framed, applied at boot when the device has no locally-saved kiosk (the
202
202
  * on-device SetKiosk flow wins; `localStorage['kiosk']='0'` disables both).
203
- * Canonical URL form `?kiosk[x]=…`; the legacy `kiosk_*` params stay the
204
- * per-navigation translation and `?kiosk=1/0` keeps toggling kiosk mode.
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.
205
207
  */
206
208
  kiosk: KioskSchema,
207
209
  });
208
210
  /**
209
- * Deprecated `allowConsent` input alias, accepted by every input schema and
210
- * folded into `consent` by `loadConfig` (`true` → `'granted'`, `false` →
211
- * `'denied'`; a layer's own `consent` wins). The effective config never
212
- * 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).
213
216
  */
214
217
  const DeprecatedConsentAlias = {
215
218
  allowConsent: z.boolean().optional(),
@@ -299,8 +302,9 @@ export const UrlConfigSchema = ConfigSchema.partial()
299
302
  intents: true,
300
303
  consent: true,
301
304
  // the former one-shot presentation params — the query keys keep their
302
- // historical names, which match these field names exactly
303
- noOverlay: true,
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
304
308
  monochrome: true,
305
309
  hideHeaderLogo: true,
306
310
  hideLogoInBooth: true,
@@ -324,7 +328,6 @@ export const UrlConfigSchema = ConfigSchema.partial()
324
328
  // drops out of the tolerant parse and keeps its params-based primary
325
329
  kiosk: true,
326
330
  })
327
- .extend(DeprecatedConsentAlias)
328
331
  .extend(LoadDiagnostics);
329
332
  /**
330
333
  * The subset persisted per-user in localStorage.
@@ -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). The legacy `kiosk_*` URL params stay the per-navigation
8
- * translation of this same shape (QR-shared routes smuggle the anchor through
9
- * them), and `?kiosk=1/0` keeps toggling kiosk MODE — the mode and the anchor
10
- * are independent inputs.
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). The legacy `kiosk_*` URL params stay the per-navigation
8
- * translation of this same shape (QR-shared routes smuggle the anchor through
9
- * them), and `?kiosk=1/0` keeps toggling kiosk MODE — the mode and the anchor
10
- * are independent inputs.
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.22.0",
3
+ "version": "3.23.1",
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.22.0"
28
+ "@expofp/utils": "3.23.1"
29
29
  },
30
30
  "files": [
31
31
  "dist",