{"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":""}