{"version":3,"sources":["webpack://CoveoForSitecore/./src/ui/distance/StaticPositionProvider.ts"],"names":["coveo_search_ui_1","__webpack_require__","StaticPositionProvider","exports","_super","element","options","bindings","_this","call","this","ID","ComponentOptions","initComponentOptions","bind","onRootElement","DistanceEvents","onResolvingPosition","__extends","prototype","args","canGetPosition","providers","push","getPosition","latitude","longitude","Promise","resolve","buildNumberOption","required","float","Component","Initialization","registerAutoCreateComponent"],"mappings":"yqBAAA,IAAAA,EAAAC,EAAA,GAeAC,EAAAC,EAAAD,uBAAA,SAAAE,GAaI,SAAAF,EACWG,EACAC,EACAC,GAHX,IAAAC,EAKIJ,EAAAK,KAAAC,KAAML,EAASH,EAAuBS,GAAIJ,IAASG,YAJ5CF,EAAAH,UACAG,EAAAF,UACAE,EAAAD,WAIPC,EAAKF,QAAUN,EAAAY,iBAAiBC,qBAAqBR,EAASH,EAAwBI,GAEtFE,EAAKM,KAAKC,cAAcf,EAAAgB,eAAeC,oBAAqBT,EAAKS,uBAqBzE,OA3C4CC,EAAAhB,EAAAE,GAyBhCF,EAAAiB,UAAAF,oBAAR,SAA4BG,GAA5B,IAAAZ,EAAAE,KACQA,KAAKW,kBACLD,EAAKE,UAAUC,KAAK,CAChBC,YAAa,WAAM,OAAAhB,EAAKgB,kBAK5BtB,EAAAiB,UAAAE,eAAR,WACI,QAASX,KAAKJ,QAAQmB,YAAcf,KAAKJ,QAAQoB,WAG7CxB,EAAAiB,UAAAK,YAAR,WACI,OAAOG,QAAQC,QAA8B,CACzCF,UAAWhB,KAAKJ,QAAQoB,UACxBD,SAAUf,KAAKJ,QAAQmB,YAvCjBvB,EAAAS,GAAK,yBACLT,EAAAI,QAA0C,CACpDmB,SAAUzB,EAAAY,iBAAiBiB,kBAAkB,CACzCC,UAAU,EACVC,OAAO,IAEXL,UAAW1B,EAAAY,iBAAiBiB,kBAAkB,CAC1CC,UAAU,EACVC,OAAO,KAkCnB7B,EA3CA,CAA4CF,EAAAgC,WA6C5ChC,EAAAiC,eAAeC,4BAA4BhC","file":"StaticPositionProvider.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 IStaticPositionProviderOptions {\r\n    longitude: number;\r\n    latitude: number;\r\n}\r\n\r\nexport class StaticPositionProvider extends Component {\r\n    public static ID = 'StaticPositionProvider';\r\n    public static options: IStaticPositionProviderOptions = {\r\n        latitude: ComponentOptions.buildNumberOption({\r\n            required: true,\r\n            float: true,\r\n        }),\r\n        longitude: ComponentOptions.buildNumberOption({\r\n            required: true,\r\n            float: true,\r\n        }),\r\n    };\r\n\r\n    constructor(\r\n        public element: HTMLElement,\r\n        public options: IStaticPositionProviderOptions,\r\n        public bindings: IComponentBindings\r\n    ) {\r\n        super(element, StaticPositionProvider.ID, bindings);\r\n\r\n        this.options = ComponentOptions.initComponentOptions(element, StaticPositionProvider, 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        if (this.canGetPosition()) {\r\n            args.providers.push({\r\n                getPosition: () => this.getPosition(),\r\n            });\r\n        }\r\n    }\r\n\r\n    private canGetPosition(): boolean {\r\n        return !!this.options.latitude && !!this.options.longitude;\r\n    }\r\n\r\n    private getPosition(): Promise<any> {\r\n        return Promise.resolve(<IGeolocationPosition>{\r\n            longitude: this.options.longitude,\r\n            latitude: this.options.latitude,\r\n        });\r\n    }\r\n}\r\n\r\nInitialization.registerAutoCreateComponent(StaticPositionProvider);\r\n"],"sourceRoot":""}