Documentation / @expofp/schema / KioskSchema
Variable: KioskSchema
ts
const KioskSchema: ZodObject<{
heading: ZodOptional<ZodNumber>;
iconSizePercent: ZodOptional<ZodNumber>;
lat: ZodOptional<ZodNumber>;
lng: ZodOptional<ZodNumber>;
mapBearingDegrees: ZodOptional<ZodNumber>;
mapCenterLat: ZodOptional<ZodNumber>;
mapCenterLng: ZodOptional<ZodNumber>;
mapCenterX: ZodOptional<ZodNumber>;
mapCenterY: ZodOptional<ZodNumber>;
mapInitialPtScale: ZodOptional<ZodNumber>;
mapPitch: ZodOptional<ZodNumber>;
mapPitchDegrees: ZodOptional<ZodNumber>;
mapPtScale: ZodOptional<ZodNumber>;
mapRollDegrees: ZodOptional<ZodNumber>;
mapZoom: ZodOptional<ZodNumber>;
uiScale: ZodOptional<ZodNumber>;
x: ZodOptional<ZodNumber>;
y: ZodOptional<ZodNumber>;
z: ZodOptional<ZodNullable<ZodUnion<readonly [ZodString, ZodNumber]>>>;
}, $strip>;The kiosk anchor — the config.kiosk node: where the physical kiosk device stands and how its camera is framed. Applied at boot when the device has no locally-saved kiosk (the on-device SetKiosk flow persists to localStorage and wins over the config; the localStorage['kiosk']='0' device switch disables both). The legacy kiosk_* URL params stay the per-navigation translation of this same shape (QR-shared routes smuggle the anchor through them), and ?kiosk=1/0 keeps toggling kiosk MODE — the mode and the anchor are independent inputs.