{"version":3,"sources":["webpack://CoveoForSitecore/./src/ui/distance/NavigatorPositionProvider.ts"],"names":["element","options","bindings","NavigatorPositionProvider","ID","ComponentOptions","initComponentOptions","bind","onRootElement","DistanceEvents","onResolvingPosition","args","providers","push","getPosition","Promise","resolve","reject","navigator","geolocation","getCurrentPosition","position","latitude","coords","longitude","error","Component","Initialization","registerAutoCreateComponent"],"mappings":"4qBAAA,WAYA,0CAII,WACWA,EACAC,EACAC,GAHX,MAKI,YAAMF,EAASG,EAA0BC,GAAIF,IAAS,K,OAJ/C,EAAAF,UACA,EAAAC,UACA,EAAAC,WAIP,EAAKD,QAAU,EAAAI,iBAAiBC,qBAAqBN,EAASG,EAA2BF,GAEzF,EAAKM,KAAKC,cAAc,EAAAC,eAAeC,oBAAqB,EAAKA,qB,EAwBzE,OArC+C,OAgBnC,YAAAA,oBAAR,SAA4BC,GAA5B,WACIA,EAAKC,UAAUC,KAAK,CAChBC,YAAa,WAAM,SAAKA,kBAIxB,YAAAA,YAAR,WACI,OAAO,IAAIC,SAAa,SAACC,EAASC,GAC9BC,UAAUC,YAAYC,oBAClB,SAACC,GACGL,EAA8B,CAC1BM,SAAUD,EAASE,OAAOD,SAC1BE,UAAWH,EAASE,OAAOC,eAGnC,SAACC,GACGR,EAAOQ,UA/BT,EAAArB,GAAK,4BACL,EAAAH,QAA6C,GAmC/D,EArCA,CAA+C,EAAAyB,WAuC/C,EAAAC,eAAeC,4BAA4BzB","file":"NavigatorPositionProvider.min.js","sourcesContent":["import {\r\n Component,\r\n ComponentOptions,\r\n IComponentBindings,\r\n Initialization,\r\n IResolvingPositionEventArgs,\r\n IGeolocationPosition,\r\n DistanceEvents,\r\n} from 'coveo-search-ui';\r\n\r\nexport interface INavigatorPositionProviderOptions {}\r\n\r\nexport class NavigatorPositionProvider extends Component {\r\n public static ID = 'NavigatorPositionProvider';\r\n public static options: INavigatorPositionProviderOptions = {};\r\n\r\n constructor(\r\n public element: HTMLElement,\r\n public options: INavigatorPositionProviderOptions,\r\n public bindings: IComponentBindings\r\n ) {\r\n super(element, NavigatorPositionProvider.ID, bindings);\r\n\r\n this.options = ComponentOptions.initComponentOptions(element, NavigatorPositionProvider, options);\r\n\r\n this.bind.onRootElement(DistanceEvents.onResolvingPosition, this.onResolvingPosition);\r\n }\r\n\r\n private onResolvingPosition(args: IResolvingPositionEventArgs): void {\r\n args.providers.push({\r\n getPosition: () => this.getPosition(),\r\n });\r\n }\r\n\r\n private getPosition(): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n resolve(<IGeolocationPosition>{\r\n latitude: position.coords.latitude,\r\n longitude: position.coords.longitude,\r\n });\r\n },\r\n (error) => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n}\r\n\r\nInitialization.registerAutoCreateComponent(NavigatorPositionProvider);\r\n"],"sourceRoot":""}