Documentation / @expofp/schema / ConfigDefaults
Variable: ConfigDefaults
const ConfigDefaults: object;Complete field defaults for the effective config — one value for every Config field — applied as the lowest-precedence layer in loadConfig so an explicit value from any source (manifest, options, localStorage, URL) wins.
Typed satisfies Required<Config>, so it must stay exhaustive: add a field to the schema and TypeScript flags the missing default here (plain Config would let an optional field slip through). Values are type zero-values (false / '' / 0 / [] / {}) except where a meaningful default exists (disableRuntimeAlerts).
Kept as a plain object rather than .default()s inside the layer schemas: a default in a schema materializes on every layer's parse — and in Zod 4 .partial() does not suppress it — so a higher, empty layer would stomp a lower layer's explicit value.
Type Declaration
allow3dView
allow3dView: false = false;alwaysShowSidebar
alwaysShowSidebar: false = false;autoTrackingGps
autoTrackingGps: false = false;booths
booths: never[] = [];boothTerm
boothTerm: string = '';busRoutes
busRoutes: false = false;camera
camera: object = {};categories
categories: never[] = [];consent
consent: "ask" = 'ask';customCss
customCss: string = '';customCssFonts
customCssFonts: never[] = [];customKioskQrCodeUrl
customKioskQrCodeUrl: string = '';customSetKiosk
customSetKiosk: string = '';debugMode
debugMode: false = false;debugPattern
debugPattern: string = '';dimensionless
dimensionless: false = false;disableBookmarked
disableBookmarked: false = false;disableFeatured
disableFeatured: false = false;disableGps
disableGps: false = false;disableRuntimeAlerts
disableRuntimeAlerts: true = true;enableExperimentalMaplibre
enableExperimentalMaplibre: undefined = undefined;Deliberately undefined rather than false: the flag is tri-state. Unset lets the drawing decide (__fpGeo.properties.config.type === 'maplibre'), while an explicit false from any layer — debug panel, localStorage, URL, host options — vetoes the map. A false default would erase that distinction (see MaplibreStore.useMaplibreMap).
enableExperimentalOutdoorMarkers
enableExperimentalOutdoorMarkers: false = false;enableIPS
enableIPS: false = false;enableRotation
enableRotation: false = false;endDate
endDate: string = '';events
events: never[] = [];exhibitors
exhibitors: never[] = [];exhibitorTerm
exhibitorTerm: string = '';exhibitorTermPlural
exhibitorTermPlural: string = '';expo
expo: string = '';expoFpAd
expoFpAd: false = false;filterButtonsConfig
filterButtonsConfig: object = {};filters
filters: object = {};fpSvgJsRef
fpSvgJsRef: null = null;fpSvgLayerJsRefs
fpSvgLayerJsRefs: object = {};free
free: false = false;gallery
gallery: never[] = [];gtag
gtag: string = '';heatmap
heatmap: object = {};hide3dMapDefault
hide3dMapDefault: false = false;hideBookmarks
hideBookmarks: false = false;hideBookmarksLink
hideBookmarksLink: false = false;hideBoothBadges
hideBoothBadges: false = false;hideCategoriesLink
hideCategoriesLink: false = false;hideDirections
hideDirections: false = false;hideDownloadPdfLink
hideDownloadPdfLink: false = false;hideEventHomeLink
hideEventHomeLink: false = false;hideExhibitorBoothNumber
hideExhibitorBoothNumber: false = false;hideExhibitors
hideExhibitors: false = false;hideHeaderLogo
hideHeaderLogo: false = false;hideLanguage
hideLanguage: false = false;hideLanguageLink
hideLanguageLink: false = false;hideLogoInBooth
hideLogoInBooth: false = false;hideModeSwitchButton
hideModeSwitchButton: false = false;hideRegisterToAttendLink
hideRegisterToAttendLink: false = false;hideShareButton
hideShareButton: false = false;hideWayInformation
hideWayInformation: false = false;homeUrl
homeUrl: string = '';ignoreQuery
ignoreQuery: false = false;intents
intents: never[] = [];isRebooking
isRebooking: false = false;isTrial
isTrial: false = false;kiosk
kiosk: object = {};levelTerm
levelTerm: string = '';locale
locale: string = '';logo
logo: string = '';maplibre
maplibre: object = {};monochrome
monochrome: false = false;noFeatured
noFeatured: false = false;noOverlay
noOverlay: false = false;offHistory
offHistory: false = false;onlyFeaturedExhibitors
onlyFeaturedExhibitors: false = false;poiTypes
poiTypes: never[] = [];previewMode
previewMode: false = false;registerUrl
registerUrl: string = '';reserveButtonTerm
reserveButtonTerm: string = '';reserveInstructions
reserveInstructions: string = '';searchText
searchText: string = '';sendLoginLinkUrl
sendLoginLinkUrl: string = '';shortLevelName
shortLevelName: false = false;showCategories
showCategories: false = false;showCompaniesAndBooths
showCompaniesAndBooths: false = false;showDebugButton
showDebugButton: false = false;showLevelLabel
showLevelLabel: false = false;showOtherSpaces
showOtherSpaces: false = false;startDate
startDate: string = '';subtitle
subtitle: string = '';title
title: string = '';trackerUrl
trackerUrl: string = '';trialExpiresAt
trialExpiresAt: string = '';viewerMode
viewerMode: false = false;viewOptimizationLevel
viewOptimizationLevel: number = 0;visibility
visibility: object = {};wfDataJsRef
wfDataJsRef: null = null;