{"version":3,"file":"nextalys-maps-module-lib-mapbox-draw.mjs","sources":["../../lib/mapbox-draw/nxs-mapbox-draw.provider.ts","../../lib/mapbox-draw/nxs-mapbox-draw.module.ts","../../lib/nextalys-maps-module-lib-mapbox-draw.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n// import MapboxDraw from '@mapbox/mapbox-gl-draw';\nimport { Subject } from 'rxjs';\nimport MapboxDraw from '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw';\n\ninterface NxsMapboxDrawOptions {\n    displayControlsDefault?: boolean;\n    controls?: {\n        polygon?: boolean;\n        line_string?: boolean;\n        point?: boolean;\n        combine_features?: boolean;\n        uncombine_features?: boolean;\n        trash?: boolean;\n    };\n}\ninterface NxsMapboxDraw {\n    getAll: () => any;\n}\ntype NxsMapboxDrawPosition = 'top-left' | 'top-right';\ntype NxsDrawControlEventType = 'draw.update' | 'draw.delete' | 'draw.create';\ninterface NxsDrawControlEvent {\n    type: NxsDrawControlEventType;\n    features: { geometry: { coordinates: ((number[]) | number[][]); type: 'Polygon' }; id: string; properties: any }[];\n    target: any;\n}\nexport interface NxsDrawControl {\n    onCreate: Subject<NxsDrawControlEvent>;\n    onDelete: Subject<NxsDrawControlEvent>;\n    onUpdate: Subject<NxsDrawControlEvent>;\n\n    draw: NxsMapboxDraw;\n\n}\n@Injectable()\nexport class NxsMapboxDrawService {\n    addDrawControlToMap(map: any, options?: NxsMapboxDrawOptions, position?: NxsMapboxDrawPosition) {\n        const draw = new MapboxDraw(options);\n        map.addControl(draw, position);\n        const drawControl: NxsDrawControl = {\n            draw: draw,\n            onCreate: new Subject(),\n            onDelete: new Subject(),\n            onUpdate: new Subject(),\n        };\n        map.on('draw.create', (evt) => { drawControl.onCreate.next(evt); });\n        map.on('draw.delete', (evt) => { drawControl.onDelete.next(evt); });\n        map.on('draw.update', (evt) => { drawControl.onUpdate.next(evt); });\n        return drawControl;\n    }\n\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from '@angular/common';\nimport { NxsMapboxDrawService } from \"./nxs-mapbox-draw.provider\";\n\n@NgModule({\n    imports: [\n        CommonModule,\n    ],\n    declarations: [],\n    exports: [],\n    providers: [\n        NxsMapboxDrawService,\n    ]\n})\nexport class NxsMapBoxDrawModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api-mapbox-draw';\n"],"names":[],"mappings":";;;;;;MAmCa,oBAAoB,CAAA;AAC7B,IAAA,mBAAmB,CAAC,GAAQ,EAAE,OAA8B,EAAE,QAAgC,EAAA;AAC1F,QAAA,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;AACpC,QAAA,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC9B,QAAA,MAAM,WAAW,GAAmB;AAChC,YAAA,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,OAAO,EAAE;YACvB,QAAQ,EAAE,IAAI,OAAO,EAAE;YACvB,QAAQ,EAAE,IAAI,OAAO,EAAE;SAC1B;QACD,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,KAAO,EAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,KAAO,EAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,KAAO,EAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACnE,QAAA,OAAO,WAAW;;uGAbb,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAApB,oBAAoB,EAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;;MCpBY,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YARxB,YAAY,CAAA,EAAA,CAAA;AAQP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAJjB,SAAA,EAAA;YACP,oBAAoB;AACvB,SAAA,EAAA,OAAA,EAAA,CANG,YAAY,CAAA,EAAA,CAAA;;2FAQP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;wBACP,oBAAoB;AACvB;AACJ,iBAAA;;;ACbD;;AAEG;;;;"}