@mappedin/mappedin-js 5.45.1 → 5.47.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.
@@ -1 +1 @@
1
- .mMapviewHoverLabel{background:rgba(255,255,255,.9);color:#333;padding:10px;font-size:14px;font-weight:700;transition:opacity .3s;font-family:sans-serif}.mappedin-map{position:relative;overflow:hidden}.mappedin__floating-label{position:absolute;top:0;left:0;opacity:0;width:200px;height:200px;will-change:transform;transition:opacity .3s linear}.mappedin__floating-label__icon{position:absolute;top:0;left:0;width:16px;height:16px}.mappedin__floating-label__icon>svg{position:absolute;top:-50%;left:-50%}.mappedin__floating-label__text_holder{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;font-weight:500;position:absolute;pointer-events:none;word-break:keep-all}.mappedin__floating-label__text_legacy{text-shadow:1px 1px 0px #ffffff,-1px -1px 0px #ffffff,1px -1px 0px #ffffff,-1px 1px 0px #ffffff}.mappedin__floating-label__text_back{-webkit-text-stroke:4px white;color:#fff}.mappedin__floating-label__text_front{color:#000;position:absolute;display:block;width:100%;height:100%;top:0;left:0}.mappedin-tooltip__wrapper{display:flex;width:1px;height:1px;align-items:center;justify-content:center;z-index:1}.mappedin-tooltip{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;top:0;transition:transform .3s linear;font-weight:700;color:#000;position:absolute;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:transform,opacity;justify-content:center}.mappedin-tooltip>div{z-index:2;flex-shrink:0;max-width:500px;background:white;border-radius:20px;box-shadow:0 2px 11px #0003}.mappedin-tooltip:before{content:"";width:0;height:0;top:calc(50% - 10px);left:-10px;z-index:1;position:absolute;border-bottom:10px solid transparent;border-top:10px solid transparent}.mappedin-tooltip .mappedin-tooltip__dot{pointer-events:none;display:none;position:absolute;background-color:#585858;border-radius:50%;box-shadow:0 0 11px #0000004d}.mappedin-tooltip.tooltip--anchor-dot .mappedin-tooltip__dot{display:block}.mappedin-tooltip.tooltip--anchor-dot .mappedin-tooltip__content{display:none}.mappedin-tooltip.tooltip--anchor-top{left:0;top:0}.mappedin-tooltip.tooltip--anchor-top:before{left:calc(50% - 10px);top:calc(100% - 5px);right:auto;border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-bottom{left:0;top:0}.mappedin-tooltip.tooltip--anchor-bottom:before{left:calc(50% - 10px);top:-15px;right:auto;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-right{justify-content:flex-start;left:0;top:0}.mappedin-tooltip.tooltip--anchor-right:before{left:-5px;right:auto;border-right:10px solid white}.mappedin-tooltip.tooltip--anchor-left{left:0;top:0}.mappedin-tooltip.tooltip--anchor-left:before{left:auto;right:-5px;border-left:10px solid white}.mappedin-tooltip.tooltip--anchor-top-left{left:7px;top:7px}.mappedin-tooltip.tooltip--anchor-top-left:before{left:auto;right:-7px;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--anchor-top-right{left:-6px;top:7px}.mappedin-tooltip.tooltip--anchor-top-right:before{left:-7px;right:auto;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-left{left:7px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-left:before{left:auto;right:-7px;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-right{left:-6px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-right:before{left:-7px;right:auto;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--visible{opacity:1}.mappedin-tooltip.pointer-events-none{pointer-events:none}.mappedin-tooltip.pointer-events-auto{pointer-events:auto}.mappedin-marker{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;pointer-events:none;top:0;transition:transform .3s linear;position:absolute;font-weight:700;color:#000;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:opacity;justify-content:center}.mappedin__smart-collision-engine__container{position:absolute;left:0;top:0;bottom:0;right:0;pointer-events:none;transform-style:preserve-3d;z-index:1;font-family:InterUI-Regular,Helvetica,Arial,sans-serif}.mappedin__smart-collision-engine-debug__container{position:absolute;left:0;top:0;bottom:0;right:0;transition:opacity .3s ease-in-out;pointer-events:none;will-change:opacity}.mappedin__smart-collision-engine-debug__container.interacting{opacity:.2}.outdoor-ctrl-attrib{display:block;position:absolute;visibility:visible;pointer-events:auto;font:9px/11px InterUI-Regular,Helvetica,Arial,sans-serif;transform:translate(0);padding:3px 20px 1px 5px;background-color:#ffffff80;margin:0;min-width:11px;min-height:11px}.outdoor-ctrl-attrib.outdoor-ctrl-attrib-hide{display:none}.outdoor-ctrl-attrib-top-left{top:0;left:1px;float:left;border-bottom-right-radius:4px}.outdoor-ctrl-attrib-top-right{top:0;right:1px;float:right;border-bottom-left-radius:4px}.outdoor-ctrl-attrib-bottom-left{bottom:0;left:1px;float:left;border-top-right-radius:4px}.outdoor-ctrl-attrib-bottom-right{right:0;bottom:1px;float:right;border-top-left-radius:4px}.outdoor-ctrl-attrib-bottom-left,.outdoor-ctrl-attrib-top-left{padding:3px 5px 1px 20px}.outdoor-ctrl-attrib.outdoor-compact{background-color:transparent}.outdoor-ctrl-attrib.outdoor-compact-show{min-width:15px;min-height:15px;box-sizing:border-box;background-color:#ffffff80}.outdoor-ctrl-attrib-inner,.outdoor-ctrl-attrib-inner a{color:#000000bf;text-decoration:none}.outdoor-ctrl-attrib-inner a:hover{color:#017ef1;text-decoration:underline;cursor:pointer}.outdoor-ctrl-attrib.outdoor-compact .outdoor-ctrl-attrib-inner{display:none}.outdoor-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'><circle cx='10' cy='10' r='5.9' style='fill:rgba(255,255,255,1);'/><path style='fill:rgba(0,0,0,0.7);' d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/></svg>");background-size:15px;width:15px;height:15px;box-sizing:border-box;border-radius:50%;outline:none;top:0;right:2px;border:1px}.outdoor-ctrl-attrib summary.outdoor-ctrl-attrib-button{-webkit-appearance:none;appearance:none;list-style:none}.outdoor-ctrl-attrib summary.outdoor-ctrl-attrib-button::-webkit-details-marker{display:none}.outdoor-ctrl-attrib-top-left .outdoor-ctrl-attrib-button,.outdoor-ctrl-attrib-bottom-left .outdoor-ctrl-attrib-button{left:2px}.outdoor-ctrl-attrib.outdoor-compact .outdoor-ctrl-attrib-button,.outdoor-ctrl-attrib.outdoor-compact-show .outdoor-ctrl-attrib-inner{display:block}
1
+ .mMapviewHoverLabel{background:rgba(255,255,255,.9);color:#333;padding:10px;font-size:14px;font-weight:700;transition:opacity .3s;font-family:sans-serif}.mappedin-map{position:relative;overflow:hidden}.mappedin__floating-label{position:absolute;top:0;left:0;opacity:0;width:200px;height:200px;will-change:transform;transition:opacity .3s linear}.mappedin__floating-label__icon{position:absolute;top:0;left:0;width:16px;height:16px}.mappedin__floating-label__icon>svg{position:absolute;top:-50%;left:-50%}.mappedin__floating-label__text_holder{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;font-weight:500;position:absolute;pointer-events:none;word-break:keep-all}.mappedin__floating-label__text_legacy{text-shadow:1px 1px 0px #ffffff,-1px -1px 0px #ffffff,1px -1px 0px #ffffff,-1px 1px 0px #ffffff}.mappedin__floating-label__text_back{-webkit-text-stroke:4px white;color:#fff}.mappedin__floating-label__text_front{color:#000;position:absolute;display:block;width:100%;height:100%;top:0;left:0}.mappedin-tooltip__wrapper{display:flex;width:1px;height:1px;align-items:center;justify-content:center;z-index:1}.mappedin-tooltip{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;top:0;transition:transform .3s linear;font-weight:700;color:#000;position:absolute;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:transform,opacity;justify-content:center}.mappedin-tooltip>div{z-index:2;flex-shrink:0;max-width:500px;background:white;border-radius:20px;box-shadow:0 2px 11px #0003}.mappedin-tooltip:before{content:"";width:0;height:0;top:calc(50% - 10px);left:-10px;z-index:1;position:absolute;border-bottom:10px solid transparent;border-top:10px solid transparent}.mappedin-tooltip .mappedin-tooltip__dot{pointer-events:none;display:none;position:absolute;background-color:#585858;border-radius:50%;box-shadow:0 0 11px #0000004d;left:0;top:0}.mappedin-tooltip.tooltip--anchor-top{left:0;top:0}.mappedin-tooltip.tooltip--anchor-top:before{left:calc(50% - 10px);top:calc(100% - 5px);right:auto;border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-bottom{left:0;top:0}.mappedin-tooltip.tooltip--anchor-bottom:before{left:calc(50% - 10px);top:-15px;right:auto;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-right{justify-content:flex-start;left:0;top:0}.mappedin-tooltip.tooltip--anchor-right:before{left:-5px;right:auto;border-right:10px solid white}.mappedin-tooltip.tooltip--anchor-left{left:0;top:0}.mappedin-tooltip.tooltip--anchor-left:before{left:auto;right:-5px;border-left:10px solid white}.mappedin-tooltip.tooltip--anchor-top-left{left:7px;top:7px}.mappedin-tooltip.tooltip--anchor-top-left:before{left:auto;right:-7px;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--anchor-top-right{left:-6px;top:7px}.mappedin-tooltip.tooltip--anchor-top-right:before{left:-7px;right:auto;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-left{left:7px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-left:before{left:auto;right:-7px;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-right{left:-6px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-right:before{left:-7px;right:auto;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--visible{opacity:1}.mappedin-tooltip.pointer-events-none{pointer-events:none}.mappedin-tooltip.pointer-events-auto{pointer-events:auto}.mappedin-tooltip.tooltip--anchor-dot{pointer-events:none}.mappedin-tooltip.tooltip--anchor-dot .mappedin-tooltip__dot{display:block}.mappedin-tooltip.tooltip--anchor-dot .mappedin-tooltip__content{visibility:hidden}.mappedin-marker{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;pointer-events:none;top:0;transition:transform .3s linear;position:absolute;font-weight:700;color:#000;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:opacity;justify-content:center}.mappedin__smart-collision-engine__container{position:absolute;left:0;top:0;bottom:0;right:0;pointer-events:none;transform-style:preserve-3d;z-index:1;font-family:InterUI-Regular,Helvetica,Arial,sans-serif}.mappedin__smart-collision-engine-debug__container{position:absolute;left:0;top:0;bottom:0;right:0;transition:opacity .3s ease-in-out;pointer-events:none;will-change:opacity}.mappedin__smart-collision-engine-debug__container.interacting{opacity:.2}.outdoor-ctrl-attrib{display:block;position:absolute;visibility:visible;pointer-events:auto;font:9px/11px InterUI-Regular,Helvetica,Arial,sans-serif;transform:translate(0);padding:3px 20px 1px 5px;background-color:#ffffff80;margin:0;min-width:11px;min-height:11px}.outdoor-ctrl-attrib.outdoor-ctrl-attrib-hide{display:none}.outdoor-ctrl-attrib-top-left{top:0;left:1px;float:left;border-bottom-right-radius:4px}.outdoor-ctrl-attrib-top-right{top:0;right:1px;float:right;border-bottom-left-radius:4px}.outdoor-ctrl-attrib-bottom-left{bottom:0;left:1px;float:left;border-top-right-radius:4px}.outdoor-ctrl-attrib-bottom-right{right:0;bottom:1px;float:right;border-top-left-radius:4px}.outdoor-ctrl-attrib-bottom-left,.outdoor-ctrl-attrib-top-left{padding:3px 5px 1px 20px}.outdoor-ctrl-attrib.outdoor-compact{background-color:transparent}.outdoor-ctrl-attrib.outdoor-compact-show{min-width:15px;min-height:15px;box-sizing:border-box;background-color:#ffffff80}.outdoor-ctrl-attrib-inner,.outdoor-ctrl-attrib-inner a{color:#000000bf;text-decoration:none}.outdoor-ctrl-attrib-inner a:hover{color:#017ef1;text-decoration:underline;cursor:pointer}.outdoor-ctrl-attrib.outdoor-compact .outdoor-ctrl-attrib-inner{display:none}.outdoor-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'><circle cx='10' cy='10' r='5.9' style='fill:rgba(255,255,255,1);'/><path style='fill:rgba(0,0,0,0.7);' d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/></svg>");background-size:15px;width:15px;height:15px;box-sizing:border-box;border-radius:50%;outline:none;top:0;right:2px;border:1px}.outdoor-ctrl-attrib summary.outdoor-ctrl-attrib-button{-webkit-appearance:none;appearance:none;list-style:none}.outdoor-ctrl-attrib summary.outdoor-ctrl-attrib-button::-webkit-details-marker{display:none}.outdoor-ctrl-attrib-top-left .outdoor-ctrl-attrib-button,.outdoor-ctrl-attrib-bottom-left .outdoor-ctrl-attrib-button{left:2px}.outdoor-ctrl-attrib.outdoor-compact .outdoor-ctrl-attrib-button,.outdoor-ctrl-attrib.outdoor-compact-show .outdoor-ctrl-attrib-inner{display:block}
@@ -108,7 +108,7 @@ declare module '@mappedin/mappedin-js' {
108
108
  export { TILE_RENDER_MODES } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
109
109
  export { AzureOutdoorContextProvider, OpenStreetMapOutdoorContext, } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Outdoor-Context.provider';
110
110
  export type { IOutdoorContextProvider } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Outdoor-Context.provider';
111
- export { setMaplibreWorkerURL } from '@mappedin/mappedin-js/renderer/internal';
111
+ export { setMaplibreWorkerURL, findPreferredLanguage } from '@mappedin/mappedin-js/renderer/internal';
112
112
  }
113
113
 
114
114
  declare module '@mappedin/mappedin-js/renderer/public/MapView' {
@@ -794,7 +794,7 @@ declare module '@mappedin/mappedin-js/get-venue' {
794
794
  */
795
795
  export function setFetchFn(fetchFn: any): void;
796
796
  /** Classes */
797
- export { MappedinCollectionType, MappedinNavigatable, MappedinNode, MappedinLocation, MappedinPolygon, MappedinCategory, MappedinDirections, MappedinDestinationSet, MappedinVortex, MappedinVenue, MappedinRankings, MappedinEvent, MappedinLocationState, MappedinMap, MappedinCoordinate, MappedinMapGroup, Mappedin, } from '@mappedin/mappedin-js/get-venue/internal';
797
+ export { MappedinCollectionType, MappedinNavigatable, MappedinNode, MappedinLocation, MappedinPolygon, MappedinCategory, MappedinDirections, MappedinDestinationSet, MappedinVortex, MappedinVenue, MappedinRankings, MappedinEvent, MappedinLocationState, MappedinMap, MappedinCoordinate, MappedinMapGroup, findPreferredLanguage, Mappedin, } from '@mappedin/mappedin-js/get-venue/internal';
798
798
  /**
799
799
  * @internal
800
800
  * @hidden
@@ -983,6 +983,14 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedi
983
983
  import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
984
984
  import { BlueDotManager } from '@mappedin/mappedin-js/renderer/internal';
985
985
  export const DEFAULT_BLUE_DOT_COLOR = "#2266ff";
986
+ /**
987
+ * Position Updater Events
988
+ * @internal
989
+ */
990
+ export enum E_POSITION_UPDATER_EVENT {
991
+ POSITION_UPDATE = 0,
992
+ ERROR = 1
993
+ }
986
994
  export interface IPositionUpdater extends IPubSub {
987
995
  /**
988
996
  * Function that emits position updates
@@ -3902,7 +3910,7 @@ declare module '@mappedin/mappedin-js/renderer/internal' {
3902
3910
  import { TMapClickEvent } from '@mappedin/mappedin-js/renderer/MapView.types';
3903
3911
  import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
3904
3912
  import { Vector3 } from '@mappedin/mvf';
3905
- export { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode, MappedinLocation, MappedinVenue, } from '@mappedin/mappedin-js/get-venue';
3913
+ export { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode, MappedinLocation, MappedinVenue, findPreferredLanguage, } from '@mappedin/mappedin-js/get-venue';
3906
3914
  export type { TEnableBlueDotOptions, TFloatingLabelAppearance, TGeolocationObject, TPathOptions, TConnectionProps, TConnectionTemplateFn, TMarkerTemplateProps, TMarkerTemplateFn, TJourneyOptions, TPadding, TCreateMarkerOptions, TAnimationOptions, TCreateTooltipInternalOptions, TCreateTooltipCommonOptions, TCreateTooltipOptions, TCreateTextTooltipOptions, TCreateCustomInnerHTMLTooltipOptions, TCreateCustomTooltipOptions, TCreateThreeDMarkerOptions, TGetPolygonsAtCoordinateOptions, TMapViewOptions, TMapViewOptionsLegacy, TFlatLabelOptions, TFlatLabelAppearance, TFloatingLabelPolygonOptions, TAddFlatLabelOptions, TAddFloatingLabelOptions, TLabelAllLocationCommonOptions, TLabelAllLocationFloatingLabelOptions, TLabelAllLocationFlatLabelOptions, TFloatingLabelAllLocationsOptions, TFlatLabelAllLocationsOptions, changeListenerFn, TMapClickEvent, E_SDK_EVENT_PAYLOAD, E_BLUEDOT_EVENT_PAYLOAD, CAMERA_EVENT_PAYLOAD, } from '@mappedin/mappedin-js/renderer/MapView.types';
3907
3915
  export { labelThemes } from '@mappedin/mappedin-js/renderer/MapView.types';
3908
3916
  export { GEOLOCATION_STATUS, COLLISION_RANKING_TIERS, E_BLUEDOT_STATE_REASON, E_BLUEDOT_STATE, E_BLUEDOT_MARKER_STATE, STATE, MARKER_ANCHOR, E_SDK_EVENT, E_BLUEDOT_EVENT, E_CAMERA_EVENT, E_CAMERA_DIRECTION, SAFE_AREA_INSET_TYPE, CAMERA_EASING_MODE, ANIMATION_TWEENS, STACKED_MAPS_STATE, } from '@mappedin/mappedin-js/renderer/MapView.enums';
@@ -4944,6 +4952,11 @@ declare module '@mappedin/mappedin-js/get-venue/Mappedin.types' {
4944
4952
  noAuth?: boolean;
4945
4953
  perspective?: string;
4946
4954
  language?: string;
4955
+ /**
4956
+ * Fallback to navigator language if the language is not available
4957
+ * @default true
4958
+ */
4959
+ fallbackToNavigatorLanguages?: boolean;
4947
4960
  headers?: {
4948
4961
  [key in string]: string;
4949
4962
  };
@@ -5010,18 +5023,18 @@ declare module '@mappedin/mappedin-js/get-venue/Mappedin.types' {
5010
5023
  declare module '@mappedin/mappedin-js/get-venue/Mappedin' {
5011
5024
  import { Navigator } from '@mappedin/mappedin-js/navigator';
5012
5025
  import type { TAllGetVenueOptions, TGetVenueOptions, TGetVenueOptionsInternal } from '@mappedin/mappedin-js/get-venue/Mappedin.types';
5013
- import type { MappedinNode, MappedinPolygon, MappedinLocation, MappedinCategory, MappedinVortex, MappedinVenue, MappedinTheme, MappedinRankings, MappedinLocationRankings, MappedinEvent, MappedinLocationState, MappedinMap, MappedinMapGroup, GET_VENUE_PAYLOAD } from '@mappedin/mappedin-js/get-venue/internal';
5014
- import { TAccessors, GET_VENUE_EVENT } from '@mappedin/mappedin-js/get-venue/internal';
5015
- import { IAnalytics } from '@mappedin/mappedin-js/get-venue/Mappedin.CustomerAnalytics';
5016
- import { ParsedMVF } from '@mappedin/mvf';
5017
- import { ParsedMVFv1 } from '@mappedin/mappedin-js/get-venue/Mappedin.MVF.types';
5026
+ import type { MappedinNode, MappedinPolygon, MappedinLocation, MappedinCategory, MappedinVortex, MappedinVenue, MappedinTheme, MappedinRankings, MappedinLocationRankings, MappedinEvent, MappedinLocationState, MappedinMap, MappedinMapGroup, GET_VENUE_PAYLOAD, TAccessors } from '@mappedin/mappedin-js/get-venue/internal';
5027
+ import { GET_VENUE_EVENT } from '@mappedin/mappedin-js/get-venue/internal';
5028
+ import type { IAnalytics } from '@mappedin/mappedin-js/get-venue/Mappedin.CustomerAnalytics';
5029
+ import type { ParsedMVF } from '@mappedin/mvf';
5030
+ import type { ParsedMVFv1 } from '@mappedin/mappedin-js/get-venue/Mappedin.MVF.types';
5018
5031
  import { PubSub } from '@mappedin/mappedin-js/get-venue/pub-sub.typed';
5019
5032
  export const defaultOptions: TGetVenueOptionsInternal<TGetVenueOptions>;
5020
5033
  export class Mappedin extends PubSub<GET_VENUE_PAYLOAD, GET_VENUE_EVENT> {
5021
5034
  #private;
5022
5035
  perspective: any;
5023
5036
  things: any;
5024
- options: any;
5037
+ options: TGetVenueOptionsInternal<TAllGetVenueOptions> & Pick<TGetVenueOptions, 'language' | 'fallbackToNavigatorLanguages'>;
5025
5038
  updatedAt?: string;
5026
5039
  categories: MappedinCategory[];
5027
5040
  locations: MappedinLocation[];
@@ -5263,6 +5276,25 @@ declare module '@mappedin/mappedin-js/get-venue/Mappedin' {
5263
5276
  */
5264
5277
  toString: (includeOptions?: boolean) => string;
5265
5278
  }
5279
+ /**
5280
+ * Finds the ideal language for the venue based on the following priority:
5281
+ * 1. User specified language (if it exists in venue languages)
5282
+ * 2. Browser navigator languages (if fallback is enabled)
5283
+ * 3. Venue's default language
5284
+ *
5285
+ * @param venue - The MappedinVenue object containing available languages
5286
+ * @param options - Configuration options
5287
+ * @param options.language - Preferred language code to use
5288
+ * @param options.fallbackToNavigatorLanguages - Whether to use browser's language settings as fallback (defaults to true)
5289
+ * @returns An object containing the selected language code and name, or undefined if no language is found
5290
+ */
5291
+ export function findPreferredLanguage(venue: MappedinVenue, options: {
5292
+ language?: string;
5293
+ fallbackToNavigatorLanguages?: boolean;
5294
+ }): {
5295
+ code: string;
5296
+ name: string;
5297
+ } | undefined;
5266
5298
  }
5267
5299
 
5268
5300
  declare module '@mappedin/mappedin-js/get-venue/default-things' {
@@ -5347,7 +5379,7 @@ declare module '@mappedin/mappedin-js/get-venue/internal' {
5347
5379
  code: string;
5348
5380
  };
5349
5381
  };
5350
- export { Mappedin } from '@mappedin/mappedin-js/get-venue/Mappedin';
5382
+ export { Mappedin, findPreferredLanguage } from '@mappedin/mappedin-js/get-venue/Mappedin';
5351
5383
  }
5352
5384
 
5353
5385
  declare module '@mappedin/mappedin-js/get-venue/Mappedin.CustomerAnalytics' {
@@ -5599,6 +5631,51 @@ declare module '@mappedin/mappedin-js/get-venue/MappedinLocation' {
5599
5631
  */
5600
5632
  get parent(): MappedinLocation | undefined;
5601
5633
  set parent(parent: MappedinLocation | undefined);
5634
+ /**
5635
+ * Specific instances of this location with different properties.
5636
+ * Typically, there will be at least one node or polygon defined,
5637
+ * plus one or more other properties that are different from the parent.
5638
+ * The remaining properties will be the same as the parent.
5639
+ * For example, suppose there is a location like this:
5640
+ *
5641
+ * ```json
5642
+ * {
5643
+ * "id": "location-id-1",
5644
+ * "name": "Location 1",
5645
+ * "nodes": ["node-1", "node-2"],
5646
+ * "polygons": ["polygon-1", "polygon-2"],
5647
+ * "externalId": "externalId-1",
5648
+ * "description": "Description 1",
5649
+ * }
5650
+ * ```
5651
+ *
5652
+ * (Note that for clarity, we have put strings in for nodes and polygons, but in practice they would be objects.)
5653
+ *
5654
+ * Then suppose it had an `instances` array that contained an object that looked like this:
5655
+ *
5656
+ * ```json
5657
+ * {
5658
+ * "id": "instance-id-1",
5659
+ * "name": "Location 1 - A",
5660
+ * "nodes": ["node-1"],
5661
+ * "polygons": ["polygon-1"],
5662
+ * "externalId": "externalId-1-A",
5663
+ * "description": "Description 1",
5664
+ * }
5665
+ * ```
5666
+ * This says "Location 1" is the parent location, and "Location 1 - A" is an instance of it. The instance has a different name, and a different external ID, and it only applies to node `node-1` and polygon `polygon-1`.
5667
+ * The ID will always be different, but other properties (like the description) are the same as the parent.
5668
+ *
5669
+ * Example use cases:
5670
+ * - A Mall may have a location with two nodes and one polygon. It may then have an instance with one of the nodes, and operating hours
5671
+ * that are different from the parent. This indicates that this instance is an entrance for the location that is accessible at different times, perhaps for an interior mall entrance, when the main location (and other, exterior entrance) is open later than the rest of the mall.
5672
+ * - An airport may have a location with several polygons and nodes, and an instance for each node (and corresponding polygon, if any) with a different siblingGroup. The location in the sibling group may be the airport terminal, or airside vs landside.
5673
+ * This would allow an application to show the location once in a search result, but offer UX to select the instance that is in the right terminal.
5674
+ *
5675
+ * Note: Instances are actual EnterpriseLocations. This means they have all the properties of a normal EnterpriseLocation, including an `instances` property, that will always be undefined. They also do NOT have a parent property, or any other explicit reference to the parent location. These instances are
5676
+ * only referenced from their parent location, and will not show up in other places in the map data. However, they should otherwise behave like normal EnterpriseLocations, being targetable for things like navigation and focus.
5677
+ */
5678
+ get instances(): MappedinLocation[];
5602
5679
  /**
5603
5680
  * Categories related to this location.
5604
5681
  *
@@ -5902,11 +5979,7 @@ declare module '@mappedin/mappedin-js/get-venue/Mappedin.OfflineSearch' {
5902
5979
  /**
5903
5980
  * Search for a term
5904
5981
  */
5905
- search(
5906
- /**
5907
- * Search term
5908
- */
5909
- term: string): Promise<TMappedinOfflineSearchResult[]>;
5982
+ search(term: string): Promise<TMappedinOfflineSearchResult[]>;
5910
5983
  /**
5911
5984
  * Export search index to JSON for storage/caching - this would avoid having to re-index
5912
5985
  * on page reload
@@ -10627,9 +10700,9 @@ declare module '@mappedin/mappedin-js/get-venue/MappedinNavigatable' {
10627
10700
  }
10628
10701
 
10629
10702
  declare module '@mappedin/mappedin-js/get-venue/MappedinNode' {
10630
- import type { MappedinPolygon, MappedinLocation, Mappedin } from '@mappedin/mappedin-js/get-venue/internal';
10703
+ import type { MappedinPolygon, MappedinLocation, Mappedin, MappedinDirections, MappedinMap, TDirectionToOptions } from '@mappedin/mappedin-js/get-venue/internal';
10631
10704
  import type { TOpeningHours } from '@mappedin/mappedin-js/get-venue/Mappedin.API.types';
10632
- import { MappedinNavigatable, MappedinDirections, MappedinDestinationSet, MappedinMap, TDirectionToOptions } from '@mappedin/mappedin-js/get-venue/internal';
10705
+ import { MappedinNavigatable, MappedinDestinationSet } from '@mappedin/mappedin-js/get-venue/internal';
10633
10706
  /**
10634
10707
  * A {@link MappedinNode} represents a position, anchored to a specific {@link MappedinMap}.
10635
10708
  *