@theseam/ui-common 0.3.1 → 0.3.4

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.
Files changed (100) hide show
  1. package/bundles/theseam-ui-common-dynamic.umd.js +1 -0
  2. package/bundles/theseam-ui-common-dynamic.umd.js.map +1 -1
  3. package/bundles/theseam-ui-common-form-field.umd.js +1 -1
  4. package/bundles/theseam-ui-common-form-field.umd.js.map +1 -1
  5. package/bundles/theseam-ui-common-google-maps.umd.js +2202 -0
  6. package/bundles/theseam-ui-common-google-maps.umd.js.map +1 -0
  7. package/bundles/theseam-ui-common-menu.umd.js +1 -0
  8. package/bundles/theseam-ui-common-menu.umd.js.map +1 -1
  9. package/bundles/theseam-ui-common-modal.umd.js +21 -1
  10. package/bundles/theseam-ui-common-modal.umd.js.map +1 -1
  11. package/bundles/theseam-ui-common-utils.umd.js +610 -136
  12. package/bundles/theseam-ui-common-utils.umd.js.map +1 -1
  13. package/bundles/theseam-ui-common-widget.umd.js +3 -1
  14. package/bundles/theseam-ui-common-widget.umd.js.map +1 -1
  15. package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-evaluator.js +2 -1
  16. package/esm2015/form-field/input.directive.js +2 -2
  17. package/esm2015/google-maps/google-maps/google-maps.component.js +261 -0
  18. package/esm2015/google-maps/google-maps-contextmenu.js +113 -0
  19. package/esm2015/google-maps/google-maps-controls.service.js +70 -0
  20. package/esm2015/google-maps/google-maps-feature-helpers.js +177 -0
  21. package/esm2015/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.js +195 -0
  22. package/esm2015/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.js +163 -0
  23. package/esm2015/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.js +57 -0
  24. package/esm2015/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.js +119 -0
  25. package/esm2015/google-maps/google-maps.module.js +45 -0
  26. package/esm2015/google-maps/google-maps.service.js +344 -0
  27. package/esm2015/google-maps/map-control.component.js +65 -0
  28. package/esm2015/google-maps/map-controls-service.js +4 -0
  29. package/esm2015/google-maps/map-file-drop/map-file-drop.component.js +135 -0
  30. package/esm2015/google-maps/map-value-manager.service.js +46 -0
  31. package/esm2015/google-maps/public-api.js +14 -0
  32. package/esm2015/google-maps/theseam-ui-common-google-maps.js +6 -0
  33. package/esm2015/menu/menu-toggle.directive.js +2 -1
  34. package/esm2015/modal/modal-ref.js +22 -2
  35. package/esm2015/utils/geo-json/coerce-feature-collection.js +44 -0
  36. package/esm2015/utils/geo-json/geo-json-to-area.js +11 -0
  37. package/esm2015/utils/geo-json/is-feature-collection.validator.js +21 -0
  38. package/esm2015/utils/geo-json/is-only-geometry-types.js +23 -0
  39. package/esm2015/utils/geo-json/is-only-geometry-types.validator.js +32 -0
  40. package/esm2015/utils/geo-json/merge-polygons.js +35 -0
  41. package/esm2015/utils/geo-json/no-inner-rings.validator.js +63 -0
  42. package/esm2015/utils/geo-json/no-kinks.validator.js +39 -0
  43. package/esm2015/utils/geo-json/read-geo-file.js +99 -0
  44. package/esm2015/utils/geo-json/split-multi-polygons.js +29 -0
  45. package/esm2015/utils/is-null-or-undefined.js +1 -1
  46. package/esm2015/utils/public-api.js +11 -1
  47. package/esm2015/widget/widget-content-components/widget-tile/widget-tile.component.js +4 -2
  48. package/fesm2015/theseam-ui-common-dynamic.js +1 -0
  49. package/fesm2015/theseam-ui-common-dynamic.js.map +1 -1
  50. package/fesm2015/theseam-ui-common-form-field.js +1 -1
  51. package/fesm2015/theseam-ui-common-form-field.js.map +1 -1
  52. package/fesm2015/theseam-ui-common-google-maps.js +1729 -0
  53. package/fesm2015/theseam-ui-common-google-maps.js.map +1 -0
  54. package/fesm2015/theseam-ui-common-menu.js +1 -0
  55. package/fesm2015/theseam-ui-common-menu.js.map +1 -1
  56. package/fesm2015/theseam-ui-common-modal.js +21 -1
  57. package/fesm2015/theseam-ui-common-modal.js.map +1 -1
  58. package/fesm2015/theseam-ui-common-utils.js +477 -94
  59. package/fesm2015/theseam-ui-common-utils.js.map +1 -1
  60. package/fesm2015/theseam-ui-common-widget.js +3 -1
  61. package/fesm2015/theseam-ui-common-widget.js.map +1 -1
  62. package/form-field/theseam-ui-common-form-field.metadata.json +1 -1
  63. package/google-maps/google-maps/google-maps.component.d.ts +89 -0
  64. package/google-maps/google-maps-contextmenu.d.ts +15 -0
  65. package/google-maps/google-maps-controls.service.d.ts +23 -0
  66. package/google-maps/google-maps-feature-helpers.d.ts +37 -0
  67. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +104 -0
  68. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +80 -0
  69. package/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.d.ts +21 -0
  70. package/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.d.ts +34 -0
  71. package/google-maps/google-maps.module.d.ts +2 -0
  72. package/google-maps/google-maps.service.d.ts +53 -0
  73. package/google-maps/map-control.component.d.ts +20 -0
  74. package/google-maps/map-controls-service.d.ts +13 -0
  75. package/google-maps/map-file-drop/map-file-drop.component.d.ts +34 -0
  76. package/google-maps/map-value-manager.service.d.ts +18 -0
  77. package/google-maps/package.json +11 -0
  78. package/google-maps/public-api.d.ts +13 -0
  79. package/google-maps/theseam-ui-common-google-maps.d.ts +5 -0
  80. package/google-maps/theseam-ui-common-google-maps.metadata.json +1 -0
  81. package/modal/modal-ref.d.ts +1 -0
  82. package/modal/theseam-ui-common-modal.metadata.json +1 -1
  83. package/package.json +17 -10
  84. package/utils/geo-json/coerce-feature-collection.d.ts +2 -0
  85. package/utils/geo-json/geo-json-to-area.d.ts +6 -0
  86. package/utils/geo-json/is-feature-collection.validator.d.ts +3 -0
  87. package/utils/geo-json/is-only-geometry-types.d.ts +5 -0
  88. package/utils/geo-json/is-only-geometry-types.validator.d.ts +4 -0
  89. package/utils/geo-json/merge-polygons.d.ts +9 -0
  90. package/utils/geo-json/no-inner-rings.validator.d.ts +10 -0
  91. package/utils/geo-json/no-kinks.validator.d.ts +3 -0
  92. package/utils/geo-json/read-geo-file.d.ts +7 -0
  93. package/utils/geo-json/split-multi-polygons.d.ts +8 -0
  94. package/utils/is-null-or-undefined.d.ts +1 -1
  95. package/utils/public-api.d.ts +10 -0
  96. package/utils/theseam-ui-common-utils.metadata.json +1 -1
  97. package/widget/styles/_variables.scss +1 -0
  98. package/widget/theseam-ui-common-widget.metadata.json +1 -1
  99. package/widget/widget-content-components/widget-tile/widget-tile.component.d.ts +2 -0
  100. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -1
@@ -0,0 +1,37 @@
1
+ /// <reference types="googlemaps" />
2
+ import { NgZone } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ export declare enum AppFeaturePropertyName {
5
+ IsSelected = "__app__isSelected"
6
+ }
7
+ export declare function isAppFeatureProperty(propertyName: string): propertyName is AppFeaturePropertyName;
8
+ export declare function isFeatureSelected(feature: google.maps.Data.Feature): boolean;
9
+ export declare function setFeatureSelected(feature: google.maps.Data.Feature, isSelected: boolean): void;
10
+ export declare function stripAppFeaturePropertiesFromJson(json: any): void;
11
+ /**
12
+ * Searches for a Feature in Data that contains the provided Feature and can use
13
+ * it as a cutout area.
14
+ */
15
+ export declare function getPossibleExteriorFeature(data: google.maps.Data, feature: google.maps.Data.Feature): google.maps.Data.Feature | undefined;
16
+ export declare function addInnerFeatureCutoutToExteriorFeature(exteriorFeature: google.maps.Data.Feature, innerFeature: google.maps.Data.Feature): void;
17
+ /**
18
+ * Google maps paths don't always start and stop at the exact same position, so
19
+ * this will fix that for turfjs.
20
+ */
21
+ export declare function fixPathDifferentStartingAndEndingPoint(coordinates: number[][]): void;
22
+ export declare function polygonCoordinates(polygon: google.maps.Data.Polygon): number[][][];
23
+ export declare function multiPolygonCoordinates(multiPolygon: google.maps.Data.MultiPolygon): number[][][][];
24
+ export declare function toTurfJsPolygon(polygon: google.maps.Data.Polygon): import("@turf/helpers").Feature<import("@turf/helpers").Polygon, import("@turf/helpers").Properties>;
25
+ export declare function toTurfJsMultiPolygon(multiPolygon: google.maps.Data.MultiPolygon): import("@turf/helpers").Feature<import("@turf/helpers").MultiPolygon, import("@turf/helpers").Properties>;
26
+ export declare function toTurfJsFeature(googleFeature: google.maps.Data.Feature): import("@turf/helpers").Feature<import("@turf/helpers").Polygon, import("@turf/helpers").Properties> | import("@turf/helpers").Feature<import("@turf/helpers").MultiPolygon, import("@turf/helpers").Properties>;
27
+ export declare function featureContains(featureA: google.maps.Data.Feature, featureB: google.maps.Data.Feature): boolean;
28
+ export declare function createDataFeatureFromPolygon(polygon: google.maps.Polygon): google.maps.Data.Feature;
29
+ export declare function getBoundsWithAllFeatures(data: google.maps.Data): google.maps.LatLngBounds;
30
+ export declare function getFeatureBounds(feature: google.maps.Data.Feature): google.maps.LatLngBounds;
31
+ export declare function getFeatureCenter(feature: google.maps.Data.Feature): google.maps.LatLng;
32
+ export declare function removeAllFeatures(data: google.maps.Data): void;
33
+ export declare function getFeaturesCount(data: google.maps.Data): number;
34
+ /**
35
+ * NOTE: Original events are not emitted, because filtering may omit events.
36
+ */
37
+ export declare function createFeatureChangeObservable(data: google.maps.Data, ngZone: NgZone): Observable<void>;
@@ -0,0 +1,104 @@
1
+ /// <reference types="googlemaps" />
2
+ import { BooleanInput } from '@angular/cdk/coercion';
3
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
4
+ import { Observable } from 'rxjs';
5
+ import { InputDirective } from '@theseam/ui-common/form-field';
6
+ import { SeamIcon } from '@theseam/ui-common/icon';
7
+ import { TheSeamGoogleMapsPlacesAutocompleteDirective } from './google-maps-places-autocomplete.directive';
8
+ /**
9
+ *
10
+ */
11
+ export declare class TheSeamGoogleMapsPlacesAutoCompleteComponent implements OnInit, OnDestroy {
12
+ private readonly _elementRef;
13
+ static ngAcceptInputType_disabled: BooleanInput;
14
+ private readonly _ngUnsubscribe;
15
+ private readonly _autoCompleteReadySubject;
16
+ private _placeChangedPending;
17
+ autoComplete?: google.maps.places.Autocomplete;
18
+ label: string | undefined | null;
19
+ icon: SeamIcon | undefined | null;
20
+ disabled: BooleanInput;
21
+ placeholder: string | undefined | null;
22
+ autocorrect: 'off' | 'on' | undefined | null;
23
+ autocapitalize: 'off' | 'on' | undefined | null;
24
+ /**
25
+ * Set the tab index to `-1` to allow the root element of the
26
+ * component to receive `focus` event from javascript, but not get focused by
27
+ * keyboard navigation.
28
+ */
29
+ set tabIndex(value: number);
30
+ get tabIndex(): number;
31
+ private _tabIndex;
32
+ set options(value: google.maps.places.AutocompleteOptions | undefined | null);
33
+ _options: google.maps.places.AutocompleteOptions;
34
+ /**
35
+ * This event is fired when a PlaceResult is made available for a Place the
36
+ * user has selected. If the user enters the name of a Place that was not
37
+ * suggested by the control and presses the Enter key, or if a Place Details
38
+ * request fails, the PlaceResult contains the user input in the name
39
+ * property, with no other properties defined.
40
+ *
41
+ * See: https://developers.google.com/maps/documentation/javascript/reference/places-widget#Autocomplete.place_changed
42
+ */
43
+ readonly placeChanged: Observable<void>;
44
+ _inputDirective: InputDirective;
45
+ set __autocompleteDirective(value: TheSeamGoogleMapsPlacesAutocompleteDirective);
46
+ _autoCompleteDirective: TheSeamGoogleMapsPlacesAutocompleteDirective;
47
+ get _attrTabIndex(): number;
48
+ _onClick(event: MouseEvent): void;
49
+ _onFocus(): void;
50
+ constructor(_elementRef: ElementRef);
51
+ ngOnInit(): void;
52
+ /** @ignore */
53
+ ngOnDestroy(): void;
54
+ private _untilAutoCompleteReady;
55
+ /**
56
+ * Returns the bounds to which predictions are biased.
57
+ */
58
+ getBounds(): google.maps.LatLngBounds | undefined;
59
+ /**
60
+ * Returns the fields to be included for the Place in the details response
61
+ * when the details are successfully retrieved. For a list of fields see
62
+ * [PlaceResult](https://developers.google.com/maps/documentation/javascript/reference/places-service#PlaceResult).
63
+ */
64
+ getFields(): string[] | undefined;
65
+ /**
66
+ * Returns the details of the Place selected by user if the details were
67
+ * successfully retrieved. Otherwise returns a stub Place object, with the
68
+ * name property set to the current value of the input field.
69
+ */
70
+ getPlace(): google.maps.places.PlaceResult;
71
+ /**
72
+ * Sets the preferred area within which to return Place results. Results are
73
+ * biased towards, but not restricted to, this area.
74
+ */
75
+ setBounds(bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral): void;
76
+ /**
77
+ * Sets the component restrictions. Component restrictions are used to
78
+ * restrict predictions to only those within the parent component. For
79
+ * example, the country.
80
+ */
81
+ setComponentRestrictions(restrictions?: google.maps.places.ComponentRestrictions): void;
82
+ /**
83
+ * Sets the fields to be included for the Place in the details response when
84
+ * the details are successfully retrieved. For a list of fields see
85
+ * [PlaceResult](https://developers.google.com/maps/documentation/javascript/reference/places-service#PlaceResult).
86
+ */
87
+ setFields(fields?: string[]): void;
88
+ /** */
89
+ setOptions(options?: google.maps.places.AutocompleteOptions): void;
90
+ /**
91
+ * Sets the types of predictions to be returned. For supported types, see the
92
+ * [developer's guide](https://developers.google.com/maps/documentation/javascript/places-autocomplete#constrain-place-types).
93
+ * If no types are specified, all types will be returned.
94
+ */
95
+ setTypes(types?: string[]): void;
96
+ /** Focuses the input. */
97
+ focus(): void;
98
+ /** Unfocuses the input. */
99
+ blur(): void;
100
+ getHostElement(): HTMLInputElement;
101
+ private _createPlaceChangedObservable;
102
+ /** Asserts that the map has been initialized. */
103
+ private _assertInitialized;
104
+ }
@@ -0,0 +1,80 @@
1
+ /// <reference types="googlemaps" />
2
+ import { ElementRef, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ export declare const SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS: google.maps.places.AutocompleteOptions;
5
+ export declare class TheSeamGoogleMapsPlacesAutocompleteDirective implements OnInit, OnDestroy, OnChanges {
6
+ private readonly _elementRef;
7
+ private readonly _ngZone;
8
+ private readonly _autoCompleteReadySubject;
9
+ private readonly _ngUnsubscribe;
10
+ private _placeChangedPending;
11
+ private _listeners;
12
+ autoComplete?: google.maps.places.Autocomplete;
13
+ set options(value: google.maps.places.AutocompleteOptions | undefined | null);
14
+ private _options;
15
+ /**
16
+ * This event is fired when a PlaceResult is made available for a Place the
17
+ * user has selected. If the user enters the name of a Place that was not
18
+ * suggested by the control and presses the Enter key, or if a Place Details
19
+ * request fails, the PlaceResult contains the user input in the name
20
+ * property, with no other properties defined.
21
+ *
22
+ * See: https://developers.google.com/maps/documentation/javascript/reference/places-widget#Autocomplete.place_changed
23
+ */
24
+ readonly placeChanged: Observable<any>;
25
+ _attrType: string;
26
+ constructor(_elementRef: ElementRef<HTMLInputElement>, _ngZone: NgZone);
27
+ ngOnInit(): void;
28
+ ngOnDestroy(): void;
29
+ ngOnChanges(changes: SimpleChanges): void;
30
+ private _untilGoogleMapsApiLoaded;
31
+ /**
32
+ * Returns the bounds to which predictions are biased.
33
+ */
34
+ getBounds(): google.maps.LatLngBounds | undefined;
35
+ /**
36
+ * Returns the fields to be included for the Place in the details response
37
+ * when the details are successfully retrieved. For a list of fields see
38
+ * [PlaceResult](https://developers.google.com/maps/documentation/javascript/reference/places-service#PlaceResult).
39
+ */
40
+ getFields(): string[] | undefined;
41
+ /**
42
+ * Returns the details of the Place selected by user if the details were
43
+ * successfully retrieved. Otherwise returns a stub Place object, with the
44
+ * name property set to the current value of the input field.
45
+ */
46
+ getPlace(): google.maps.places.PlaceResult;
47
+ /**
48
+ * Sets the preferred area within which to return Place results. Results are
49
+ * biased towards, but not restricted to, this area.
50
+ */
51
+ setBounds(bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral): void;
52
+ /**
53
+ * Sets the component restrictions. Component restrictions are used to
54
+ * restrict predictions to only those within the parent component. For
55
+ * example, the country.
56
+ */
57
+ setComponentRestrictions(restrictions?: google.maps.places.ComponentRestrictions): void;
58
+ /**
59
+ * Sets the fields to be included for the Place in the details response when
60
+ * the details are successfully retrieved. For a list of fields see
61
+ * [PlaceResult](https://developers.google.com/maps/documentation/javascript/reference/places-service#PlaceResult).
62
+ */
63
+ setFields(fields?: string[]): void;
64
+ /** */
65
+ setOptions(options?: google.maps.places.AutocompleteOptions): void;
66
+ /**
67
+ * Sets the types of predictions to be returned. For supported types, see the
68
+ * [developer's guide](https://developers.google.com/maps/documentation/javascript/places-autocomplete#constrain-place-types).
69
+ * If no types are specified, all types will be returned.
70
+ */
71
+ setTypes(types?: string[]): void;
72
+ /** Focuses the input. */
73
+ focus(): void;
74
+ /** Unfocuses the input. */
75
+ blur(): void;
76
+ getHostElement(): HTMLInputElement;
77
+ private _createPlaceChangedObservable;
78
+ /** Asserts that the map has been initialized. */
79
+ private _assertInitialized;
80
+ }
@@ -0,0 +1,21 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { SeamIcon } from '@theseam/ui-common/icon';
3
+ import { GoogleMapsService } from '../google-maps.service';
4
+ export interface GoogleMapsRecenterButtonControlData {
5
+ label?: string | undefined | null;
6
+ icon?: SeamIcon | undefined | null;
7
+ }
8
+ /**
9
+ *
10
+ */
11
+ export declare class TheSeamGoogleMapsRecenterButtonControlComponent implements OnDestroy {
12
+ private readonly _googleMaps;
13
+ private readonly _ngUnsubscribe;
14
+ private _listeners;
15
+ label: string | undefined | null;
16
+ icon: SeamIcon | undefined | null;
17
+ _onClick(event: MouseEvent): void;
18
+ constructor(_googleMaps: GoogleMapsService, _data?: GoogleMapsRecenterButtonControlData);
19
+ /** @ignore */
20
+ ngOnDestroy(): void;
21
+ }
@@ -0,0 +1,34 @@
1
+ import { ElementRef, OnDestroy, Renderer2 } from '@angular/core';
2
+ import { SeamIcon } from '@theseam/ui-common/icon';
3
+ import { GoogleMapsService } from '../google-maps.service';
4
+ import { MapValueManagerService } from '../map-value-manager.service';
5
+ export interface GoogleMapsUploadButtonControlData {
6
+ label?: string | undefined | null;
7
+ icon?: SeamIcon | undefined | null;
8
+ }
9
+ /**
10
+ *
11
+ */
12
+ export declare class TheSeamGoogleMapsUploadButtonControlComponent implements OnDestroy {
13
+ private readonly _elementRef;
14
+ private readonly _mapValueManager;
15
+ private readonly _renderer;
16
+ private readonly _googleMaps;
17
+ private readonly _ngUnsubscribe;
18
+ private readonly _fileInputElement;
19
+ private _listeners;
20
+ label: string | undefined | null;
21
+ icon: SeamIcon | undefined | null;
22
+ _onClick(event: MouseEvent): void;
23
+ constructor(_elementRef: ElementRef, _mapValueManager: MapValueManagerService, _renderer: Renderer2, _googleMaps: GoogleMapsService, _data?: GoogleMapsUploadButtonControlData);
24
+ /** @ignore */
25
+ ngOnDestroy(): void;
26
+ private _getFile;
27
+ private _importFile;
28
+ private _createHiddenInput;
29
+ private _createTemporaryFormElement;
30
+ /**
31
+ * Reset input element, so that the same file can be added again.
32
+ */
33
+ private _resetInput;
34
+ }
@@ -0,0 +1,2 @@
1
+ export declare class TheSeamGoogleMapsModule {
2
+ }
@@ -0,0 +1,53 @@
1
+ /// <reference types="googlemaps" />
2
+ import { NgZone, OnDestroy, ViewContainerRef } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { MenuComponent } from '@theseam/ui-common/menu';
5
+ import { MapValueManagerService } from './map-value-manager.service';
6
+ export declare class GoogleMapsService implements OnDestroy {
7
+ private readonly _mapValueManager;
8
+ private readonly _ngZone;
9
+ private readonly _vcr;
10
+ private readonly _ngUnsubscribe;
11
+ private readonly _mapReadySubject;
12
+ private _drawingManager?;
13
+ private _featureContextMenu;
14
+ private _activeContextMenu;
15
+ private _baseLatLng?;
16
+ private _allowDrawingHoleInPolygon;
17
+ private _fileInputHandler;
18
+ googleMap?: google.maps.Map;
19
+ readonly mapReady$: Observable<boolean>;
20
+ get mapReady(): boolean;
21
+ constructor(_mapValueManager: MapValueManagerService, _ngZone: NgZone, _vcr: ViewContainerRef);
22
+ ngOnDestroy(): void;
23
+ setMap(map: google.maps.Map): void;
24
+ setBaseLatLng(lat: number, lng: number): void;
25
+ setFeatureContextMenu(menu: MenuComponent | null): void;
26
+ getDiv(): HTMLDivElement;
27
+ fitBounds(bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding): void;
28
+ /**
29
+ * Iterates the map's features and removes any that are selected.
30
+ */
31
+ deleteSelection(): void;
32
+ /**
33
+ * Stops the current drawing.
34
+ */
35
+ stopDrawing(): void;
36
+ private _initDrawingManager;
37
+ addControl(element: HTMLElement, position: google.maps.ControlPosition): void;
38
+ setData(data: any): Promise<void>;
39
+ reCenterOnFeatures(): void;
40
+ allowDrawingHoleInPolygon(allow: boolean): void;
41
+ setFileInputHandler(handler: ((file: File) => void) | undefined | null): void;
42
+ getFileInputHandler(): ((file: File) => void) | undefined | null;
43
+ private _initFeatureStyling;
44
+ private _initFeatureChangeListeners;
45
+ isDrawing(): boolean;
46
+ hasSelectedFeature(): boolean;
47
+ getSelectedFeature(): google.maps.Data.Feature | null;
48
+ openContextMenu(): void;
49
+ private _openContextMenuForFeature;
50
+ getGeoJson(removeAppProperties?: boolean): Promise<object>;
51
+ /** Asserts that the map has been initialized. */
52
+ private _assertInitialized;
53
+ }
@@ -0,0 +1,20 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { OnDestroy } from '@angular/core';
3
+ import { GoogleMapsControlsService } from './google-maps-controls.service';
4
+ import { GoogleMapsService } from './google-maps.service';
5
+ import { MapControl } from './map-controls-service';
6
+ export declare class TheSeamMapsControlComponent implements OnInit, OnDestroy {
7
+ private readonly _googleMaps;
8
+ private readonly _googleMapsControls;
9
+ private readonly _ngUnsubscribe;
10
+ private _controlRef?;
11
+ set def(value: MapControl | null | undefined);
12
+ _def: MapControl | null | undefined;
13
+ constructor(_googleMaps: GoogleMapsService, _googleMapsControls: GoogleMapsControlsService);
14
+ /** @ignore */
15
+ ngOnInit(): void;
16
+ /** @ignore */
17
+ ngOnDestroy(): void;
18
+ private _add;
19
+ private _remove;
20
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="googlemaps" />
2
+ import { InjectionToken } from '@angular/core';
3
+ import { ComponentType } from '@theseam/ui-common/models';
4
+ export interface MapControl<TData = any> {
5
+ component: ComponentType<any>;
6
+ data?: TData;
7
+ position?: google.maps.ControlPosition;
8
+ }
9
+ export interface MapControlsService {
10
+ add(control: MapControl): void;
11
+ }
12
+ export declare const MAP_CONTROLS_SERVICE: InjectionToken<MapControlsService>;
13
+ export declare const MAP_CONTROL_DATA: InjectionToken<any>;
@@ -0,0 +1,34 @@
1
+ import { ElementRef, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
+ import { GoogleMapsService } from '../google-maps.service';
3
+ import { MapValueManagerService } from '../map-value-manager.service';
4
+ /**
5
+ *
6
+ */
7
+ export declare class TheSeamMapFileDropComponent implements OnInit, OnDestroy {
8
+ private readonly _elementRef;
9
+ private readonly _ngZone;
10
+ private readonly _googleMaps;
11
+ private readonly _mapValueManager;
12
+ private readonly _renderer;
13
+ private readonly _ngUnsubscribe;
14
+ /**
15
+ * Map element drag events added to.
16
+ */
17
+ private _mapDiv;
18
+ private _listeners;
19
+ private _globalDragInProgress;
20
+ constructor(_elementRef: ElementRef, _ngZone: NgZone, _googleMaps: GoogleMapsService, _mapValueManager: MapValueManagerService, _renderer: Renderer2);
21
+ /** @ignore */
22
+ ngOnInit(): void;
23
+ /** @ignore */
24
+ ngOnDestroy(): void;
25
+ private _enableFileDrop;
26
+ private _disableFileDrop;
27
+ private readonly _handleDragOverEvent;
28
+ private readonly _handleDropEvent;
29
+ private readonly _handleDragEnterEvent;
30
+ private readonly _handleDragLeaveEvent;
31
+ private _dropAllowed;
32
+ private _isSupportedDataTransfer;
33
+ private _isSupportedDataTransferTypes;
34
+ }
@@ -0,0 +1,18 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare enum MapValueSource {
3
+ Input = "input",
4
+ FeatureChange = "featurechange"
5
+ }
6
+ export declare type MapValue = object | undefined | null;
7
+ export interface MapValueChange {
8
+ value: MapValue;
9
+ source: MapValueSource;
10
+ }
11
+ export declare class MapValueManagerService {
12
+ private readonly _valueChangedSubject;
13
+ private _value;
14
+ readonly valueChanged: Observable<MapValueChange>;
15
+ constructor();
16
+ setValue(value: MapValue, source: MapValueSource): boolean;
17
+ get value(): MapValue;
18
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "../bundles/theseam-ui-common-google-maps.umd.js",
3
+ "module": "../fesm2015/theseam-ui-common-google-maps.js",
4
+ "es2015": "../fesm2015/theseam-ui-common-google-maps.js",
5
+ "esm2015": "../esm2015/google-maps/theseam-ui-common-google-maps.js",
6
+ "fesm2015": "../fesm2015/theseam-ui-common-google-maps.js",
7
+ "typings": "theseam-ui-common-google-maps.d.ts",
8
+ "metadata": "theseam-ui-common-google-maps.metadata.json",
9
+ "sideEffects": false,
10
+ "name": "@theseam/ui-common/google-maps"
11
+ }
@@ -0,0 +1,13 @@
1
+ export * from './google-maps/google-maps.component';
2
+ export * from './google-maps.module';
3
+ export * from './map-value-manager.service';
4
+ export * from './map-control.component';
5
+ export * from './google-maps.service';
6
+ export * from './google-maps-feature-helpers';
7
+ export * from './google-maps-controls.service';
8
+ export * from './google-maps-contextmenu';
9
+ export * from './map-file-drop/map-file-drop.component';
10
+ export * from './google-maps-upload-button-control/google-maps-upload-button-control.component';
11
+ export * from './google-maps-recenter-button-control/google-maps-recenter-button-control.component';
12
+ export * from './google-maps-places-autocomplete/google-maps-places-autocomplete.directive';
13
+ export * from './google-maps-places-autocomplete/google-maps-places-autocomplete.component';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ export { MAP_CONTROLS_SERVICE as ɵb, MAP_CONTROL_DATA as ɵc, MapControl as ɵa } from './map-controls-service';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"TheSeamGoogleMapsComponent":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":67,"character":48,"module":"./google-maps/google-maps.component"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"seam-google-maps","inputs":["disabled"],"providers":[{"__symbolic":"reference","name":"MapValueManagerService"},{"__symbolic":"reference","name":"GoogleMapsService"},{"provide":{"__symbolic":"reference","name":"ɵb"},"useClass":{"__symbolic":"reference","name":"GoogleMapsControlsService"}},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":58,"character":15},"useExisting":{"__symbolic":"reference","name":"TheSeamGoogleMapsComponent"},"multi":true}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":64,"character":19},"member":"OnPush"},"exportAs":"seamGoogleMaps","template":"<agm-map\n [latitude]=\"latitude\"\n [longitude]=\"longitude\"\n [zoom]=\"zoom\"\n [mapTypeControl]=\"true\"\n mapTypeId=\"hybrid\"\n [streetViewControl]=\"false\"\n (mapReady)=\"_onMapReady($event)\"\n [fullscreenControl]=\"$any(fullscreenControlEnabled)\">\n</agm-map>\n<seam-menu #featureContextMenu>\n <button seamMenuItem (click)=\"_onClickDeleteFeature()\">Delete</button>\n</seam-menu>\n<seam-map-file-drop *ngIf=\"fileDropEnabled\"></seam-map-file-drop>\n\n<seam-map-control *ngIf=\"fileUploadControlEnabled\" [def]=\"_fileUploadControlDef\"></seam-map-control>\n<seam-map-control *ngIf=\"reCenterControlEnabled\" [def]=\"_reCenterControlDef\"></seam-map-control>\n","styles":[":host{display:block;position:relative;height:400px;width:100%}:host.show-focus-border.cdk-focused{outline:0;box-shadow:0 0 0 .2rem #357ebd40}:host.show-focus-border[disabled]{opacity:.65}agm-map{height:inherit;width:inherit}\n"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":3}}]}],"fileDropEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":115,"character":12}}]}],"fileUploadControlEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":117,"character":12}}]}],"fullscreenControlEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":118,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":118,"character":12}}]}],"reCenterControlEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":119,"character":12}}]}],"mapTypeControlEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":120,"character":12}}]}],"streetViewControlEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":121,"character":12}}]}],"allowDrawingHoleInPolygon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":123,"character":12}}]}],"fileImportHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"_attrDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":130,"character":3},"arguments":["attr.disabled"]}]}],"_attrTabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":133,"character":3},"arguments":["attr.tabindex"]}]}],"zoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":139,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputNumber","line":139,"character":12}}]}],"longitude":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputNumber","line":140,"character":12}}]}],"latitude":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":141,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputNumber","line":141,"character":12}}]}],"mapReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":143,"character":3}}]}],"agmMap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":145,"character":3},"arguments":[{"__symbolic":"reference","module":"@agm/core","name":"AgmMap","line":145,"character":13},{"static":true}]}]}],"featureContextMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":146,"character":3},"arguments":["featureContextMenu",{"static":true,"read":{"__symbolic":"reference","module":"@theseam/ui-common/menu","name":"MenuComponent","line":146,"character":57}}]}]}],"agmMapTpl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":148,"character":3},"arguments":[{"__symbolic":"reference","module":"@agm/core","name":"AgmMap","line":148,"character":13},{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":148,"character":43}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":151,"character":16},{"__symbolic":"reference","module":"@angular/cdk/a11y","name":"FocusMonitor","line":152,"character":36},{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","name":"MapValueManagerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"fitBounds":[{"__symbolic":"method"}],"getGeoJson":[{"__symbolic":"method"}],"hasFocus":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"_getHostElement":[{"__symbolic":"method"}],"_onMapReady":[{"__symbolic":"method"}],"_onClickDeleteFeature":[{"__symbolic":"method"}]}},"TheSeamGoogleMapsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TheSeamGoogleMapsComponent"},{"__symbolic":"reference","name":"TheSeamMapFileDropComponent"},{"__symbolic":"reference","name":"TheSeamGoogleMapsUploadButtonControlComponent"},{"__symbolic":"reference","name":"TheSeamGoogleMapsRecenterButtonControlComponent"},{"__symbolic":"reference","name":"TheSeamMapsControlComponent"},{"__symbolic":"reference","name":"TheSeamGoogleMapsPlacesAutocompleteDirective"},{"__symbolic":"reference","name":"TheSeamGoogleMapsPlacesAutoCompleteComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/cdk/observers","name":"ObserversModule","line":30,"character":4},{"__symbolic":"reference","module":"@theseam/ui-common/shared","name":"TheSeamSharedModule","line":31,"character":4},{"__symbolic":"reference","module":"@theseam/ui-common/menu","name":"TheSeamMenuModule","line":32,"character":4},{"__symbolic":"reference","module":"@theseam/ui-common/icon","name":"TheSeamIconModule","line":33,"character":4},{"__symbolic":"reference","module":"@theseam/ui-common/form-field","name":"TheSeamFormFieldModule","line":34,"character":4},{"__symbolic":"reference","module":"@agm/core","name":"AgmCoreModule","line":35,"character":4}],"exports":[{"__symbolic":"reference","name":"TheSeamGoogleMapsComponent"},{"__symbolic":"reference","name":"TheSeamGoogleMapsPlacesAutocompleteDirective"},{"__symbolic":"reference","name":"TheSeamGoogleMapsPlacesAutoCompleteComponent"}]}]}],"members":{}},"MapValueSource":{"Input":"input","FeatureChange":"featurechange"},"MapValue":{"__symbolic":"interface"},"MapValueChange":{"__symbolic":"interface"},"MapValueManagerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setValue":[{"__symbolic":"method"}]}},"TheSeamMapsControlComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"seam-map-control","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":18,"character":19},"member":"OnPush"}}]}],"members":{"def":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":36,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]],"parameters":[{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","name":"GoogleMapsControlsService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_add":[{"__symbolic":"method"}],"_remove":[{"__symbolic":"method"}]}},"GoogleMapsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":72,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MapValueManagerService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":96,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":97,"character":27}]}],"ngOnDestroy":[{"__symbolic":"method"}],"setMap":[{"__symbolic":"method"}],"setBaseLatLng":[{"__symbolic":"method"}],"setFeatureContextMenu":[{"__symbolic":"method"}],"getDiv":[{"__symbolic":"method"}],"fitBounds":[{"__symbolic":"method"}],"deleteSelection":[{"__symbolic":"method"}],"stopDrawing":[{"__symbolic":"method"}],"_initDrawingManager":[{"__symbolic":"method"}],"addControl":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}],"reCenterOnFeatures":[{"__symbolic":"method"}],"allowDrawingHoleInPolygon":[{"__symbolic":"method"}],"setFileInputHandler":[{"__symbolic":"method"}],"getFileInputHandler":[{"__symbolic":"method"}],"_initFeatureStyling":[{"__symbolic":"method"}],"_initFeatureChangeListeners":[{"__symbolic":"method"}],"isDrawing":[{"__symbolic":"method"}],"hasSelectedFeature":[{"__symbolic":"method"}],"getSelectedFeature":[{"__symbolic":"method"}],"openContextMenu":[{"__symbolic":"method"}],"_openContextMenuForFeature":[{"__symbolic":"method"}],"getGeoJson":[{"__symbolic":"method"}],"_assertInitialized":[{"__symbolic":"method"}]}},"AppFeaturePropertyName":{"IsSelected":"__app__isSelected"},"isAppFeatureProperty":{"__symbolic":"function","parameters":["propertyName"],"value":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"values"},"arguments":[{"__symbolic":"reference","name":"AppFeaturePropertyName"}]},"member":"findIndex"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":17,"character":15,"module":"./google-maps-feature-helpers"}]},"right":-1}},"isFeatureSelected":{"__symbolic":"function"},"setFeatureSelected":{"__symbolic":"function"},"stripAppFeaturePropertiesFromJson":{"__symbolic":"function"},"getPossibleExteriorFeature":{"__symbolic":"function"},"addInnerFeatureCutoutToExteriorFeature":{"__symbolic":"function"},"fixPathDifferentStartingAndEndingPoint":{"__symbolic":"function"},"polygonCoordinates":{"__symbolic":"function","parameters":["polygon"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"polygon"},"member":"getArray"}},"member":"map"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":102,"character":32,"module":"./google-maps-feature-helpers"}]}},"multiPolygonCoordinates":{"__symbolic":"function","parameters":["multiPolygon"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"multiPolygon"},"member":"getArray"}},"member":"map"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":110,"character":37,"module":"./google-maps-feature-helpers"}]}},"toTurfJsPolygon":{"__symbolic":"function","parameters":["polygon"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@turf/helpers","name":"polygon","line":114,"character":9},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"polygonCoordinates"},"arguments":[{"__symbolic":"reference","name":"polygon"}]}]}},"toTurfJsMultiPolygon":{"__symbolic":"function","parameters":["multiPolygon"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@turf/helpers","name":"multiPolygon","line":118,"character":9},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"multiPolygonCoordinates"},"arguments":[{"__symbolic":"reference","name":"multiPolygon"}]}]}},"toTurfJsFeature":{"__symbolic":"function"},"featureContains":{"__symbolic":"function"},"createDataFeatureFromPolygon":{"__symbolic":"function"},"getBoundsWithAllFeatures":{"__symbolic":"function"},"getFeatureBounds":{"__symbolic":"function"},"getFeatureCenter":{"__symbolic":"function","parameters":["feature"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"getFeatureBounds"},"arguments":[{"__symbolic":"reference","name":"feature"}]},"member":"getCenter"}}},"removeAllFeatures":{"__symbolic":"function"},"getFeaturesCount":{"__symbolic":"function"},"createFeatureChangeObservable":{"__symbolic":"function","parameters":["data","ngZone"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":186,"character":13},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":186,"character":30,"module":"./google-maps-feature-helpers"}]}},"MapControlRef":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":17,"character":48},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":18,"character":32},{"__symbolic":"reference","name":"ɵa"}]}],"destroy":[{"__symbolic":"method"}]}},"GoogleMapsControlsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":73,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":17,"character":48},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":18,"character":32}]}],"add":[{"__symbolic":"method"}]}},"GoogleMapsContextMenu":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"select","expression":{"__symbolic":"error","message":"Expression form not supported","line":17,"character":27,"module":"./google-maps-contextmenu"},"member":"Map"},{"__symbolic":"reference","module":"@theseam/ui-common/menu","name":"MenuComponent","line":18,"character":28},{"__symbolic":"select","expression":{"__symbolic":"error","message":"Expression form not supported","line":19,"character":15,"module":"./google-maps-contextmenu"},"member":"LatLng"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":20,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":21,"character":30},{"__symbolic":"select","expression":{"__symbolic":"error","message":"Expression form not supported","line":22,"character":28,"module":"./google-maps-contextmenu"},"member":"Data"},{"__symbolic":"select","expression":{"__symbolic":"error","message":"Expression form not supported","line":23,"character":31,"module":"./google-maps-contextmenu"},"member":"Feature"}]}],"close":[{"__symbolic":"method"}]}},"TheSeamMapFileDropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"seam-map-file-drop","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":24,"character":19},"member":"OnPush"},"template":"","styles":[":host{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:9999!important;background-color:#1e1e1eb3}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":40,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":41,"character":30},{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","name":"MapValueManagerService"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":44,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_enableFileDrop":[{"__symbolic":"method"}],"_disableFileDrop":[{"__symbolic":"method"}],"_dropAllowed":[{"__symbolic":"method"}],"_isSupportedDataTransfer":[{"__symbolic":"method"}],"_isSupportedDataTransferTypes":[{"__symbolic":"method"}]}},"GoogleMapsUploadButtonControlData":{"__symbolic":"interface"},"TheSeamGoogleMapsUploadButtonControlComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"button[seam-google-maps-upload-button-control]","host":{"[attr.draggable]":"false","[attr.aria-label]":"label","[attr.title]":"label","type":"button","class":"gmnoprint gm-control-active","$quoted$":["[attr.draggable]","[attr.aria-label]","[attr.title]","type","class"]},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":40,"character":19},"member":"OnPush"},"template":"<seam-icon [icon]=\"icon\" iconType=\"image-fill\"></seam-icon>\n","styles":[":host{background:none white;border:0px;margin:10px;padding:11px;text-transform:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:2px;height:40px;width:40px;box-shadow:#0000004d 0 1px 4px -1px;overflow:hidden}\n"]}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"_onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":54,"character":3},"arguments":["click",["event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":64,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":34},{"__symbolic":"reference","name":"MapValueManagerService"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":62,"character":32},{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"_getFile":[{"__symbolic":"method"}],"_importFile":[{"__symbolic":"method"}],"_createHiddenInput":[{"__symbolic":"method"}],"_createTemporaryFormElement":[{"__symbolic":"method"}],"_resetInput":[{"__symbolic":"method"}]}},"GoogleMapsRecenterButtonControlData":{"__symbolic":"interface"},"TheSeamGoogleMapsRecenterButtonControlComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"button[seam-google-maps-recenter-button-control]","host":{"[attr.draggable]":"false","[attr.aria-label]":"label","[attr.title]":"label","type":"button","class":"gmnoprint gm-control-active","$quoted$":["[attr.draggable]","[attr.aria-label]","[attr.title]","type","class"]},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":19},"member":"OnPush"},"template":"<seam-icon [icon]=\"icon\" iconType=\"image-fill\"></seam-icon>\n","styles":[":host{background:none white;border:0px;margin:10px;padding:11px;text-transform:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:2px;height:40px;width:40px;box-shadow:#0000004d 0 1px 4px -1px;overflow:hidden}\n"]}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"_onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":48,"character":3},"arguments":["click",["event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":55,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","name":"GoogleMapsService"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS":{"componentRestrictions":{"country":"US"}},"TheSeamGoogleMapsPlacesAutocompleteDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":11,"character":1},"arguments":[{"selector":"input[seamGoogleMapsPlacesAutocomplete]","exportAs":"seamGoogleMapsPlacesAutocomplete"}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"placeChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"_attrType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":41,"character":3},"arguments":["attr.type"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":44,"character":45,"context":{"typeName":"HTMLInputElement"},"module":"./google-maps-places-autocomplete/google-maps-places-autocomplete.directive"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":45,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_untilGoogleMapsApiLoaded":[{"__symbolic":"method"}],"getBounds":[{"__symbolic":"method"}],"getFields":[{"__symbolic":"method"}],"getPlace":[{"__symbolic":"method"}],"setBounds":[{"__symbolic":"method"}],"setComponentRestrictions":[{"__symbolic":"method"}],"setFields":[{"__symbolic":"method"}],"setOptions":[{"__symbolic":"method"}],"setTypes":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"blur":[{"__symbolic":"method"}],"getHostElement":[{"__symbolic":"method"}],"_createPlaceChangedObservable":[{"__symbolic":"method"}],"_assertInitialized":[{"__symbolic":"method"}]}},"TheSeamGoogleMapsPlacesAutoCompleteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"seam-google-maps-places-autocomplete","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":33,"character":19},"member":"OnPush"},"exportAs":"seamGoogleMapsPlacesAutoComplete","template":"<div *ngIf=\"icon\" class=\"search-container--icon-wrapper\">\n <seam-icon [icon]=\"icon\" class=\"text-muted\" size=\"lg\"></seam-icon>\n</div>\n<label *ngIf=\"label || placeholder\" [attr.for]=\"inp.id\" class=\"sr-only\">{{ label || placeholder }}</label>\n<input #inp=\"seamInput\"\n seamInput\n seamGoogleMapsPlacesAutocomplete\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocorrect]=\"autocorrect\"\n [attr.autocapitalize]=\"autocapitalize\"\n [options]=\"_options\"\n/>\n","styles":[":host{position:relative;width:100%}:host>input{padding-left:40px}:host .search-container--icon-wrapper{position:absolute;top:6px;left:10px;bottom:0px}:host .search-container--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"]}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@theseam/ui-common/core","name":"InputBoolean","line":50,"character":12}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"autocorrect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"autocapitalize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":4}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"placeChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"_inputDirective":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":85,"character":3},"arguments":["inp",{"read":{"__symbolic":"reference","module":"@theseam/ui-common/form-field","name":"InputDirective","line":85,"character":28},"static":true}]}]}],"__autocompleteDirective":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":87,"character":3},"arguments":[{"__symbolic":"reference","name":"TheSeamGoogleMapsPlacesAutocompleteDirective"},{"static":true}]}]}],"_attrTabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":98,"character":3},"arguments":["attr.tabindex"]}]}],"_onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":101,"character":3},"arguments":["click",["event"]]}]}],"_onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":106,"character":3},"arguments":["focus",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":112,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_untilAutoCompleteReady":[{"__symbolic":"method"}],"getBounds":[{"__symbolic":"method"}],"getFields":[{"__symbolic":"method"}],"getPlace":[{"__symbolic":"method"}],"setBounds":[{"__symbolic":"method"}],"setComponentRestrictions":[{"__symbolic":"method"}],"setFields":[{"__symbolic":"method"}],"setOptions":[{"__symbolic":"method"}],"setTypes":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"blur":[{"__symbolic":"method"}],"getHostElement":[{"__symbolic":"method"}],"_createPlaceChangedObservable":[{"__symbolic":"method"}],"_assertInitialized":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"interface"},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":40},"arguments":["MAP_CONTROLS_SERVICE"]},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":16,"character":36},"arguments":["MAP_CONTROL_DATA"]}},"origins":{"TheSeamGoogleMapsComponent":"./google-maps/google-maps.component","TheSeamGoogleMapsModule":"./google-maps.module","MapValueSource":"./map-value-manager.service","MapValue":"./map-value-manager.service","MapValueChange":"./map-value-manager.service","MapValueManagerService":"./map-value-manager.service","TheSeamMapsControlComponent":"./map-control.component","GoogleMapsService":"./google-maps.service","AppFeaturePropertyName":"./google-maps-feature-helpers","isAppFeatureProperty":"./google-maps-feature-helpers","isFeatureSelected":"./google-maps-feature-helpers","setFeatureSelected":"./google-maps-feature-helpers","stripAppFeaturePropertiesFromJson":"./google-maps-feature-helpers","getPossibleExteriorFeature":"./google-maps-feature-helpers","addInnerFeatureCutoutToExteriorFeature":"./google-maps-feature-helpers","fixPathDifferentStartingAndEndingPoint":"./google-maps-feature-helpers","polygonCoordinates":"./google-maps-feature-helpers","multiPolygonCoordinates":"./google-maps-feature-helpers","toTurfJsPolygon":"./google-maps-feature-helpers","toTurfJsMultiPolygon":"./google-maps-feature-helpers","toTurfJsFeature":"./google-maps-feature-helpers","featureContains":"./google-maps-feature-helpers","createDataFeatureFromPolygon":"./google-maps-feature-helpers","getBoundsWithAllFeatures":"./google-maps-feature-helpers","getFeatureBounds":"./google-maps-feature-helpers","getFeatureCenter":"./google-maps-feature-helpers","removeAllFeatures":"./google-maps-feature-helpers","getFeaturesCount":"./google-maps-feature-helpers","createFeatureChangeObservable":"./google-maps-feature-helpers","MapControlRef":"./google-maps-controls.service","GoogleMapsControlsService":"./google-maps-controls.service","GoogleMapsContextMenu":"./google-maps-contextmenu","TheSeamMapFileDropComponent":"./map-file-drop/map-file-drop.component","GoogleMapsUploadButtonControlData":"./google-maps-upload-button-control/google-maps-upload-button-control.component","TheSeamGoogleMapsUploadButtonControlComponent":"./google-maps-upload-button-control/google-maps-upload-button-control.component","GoogleMapsRecenterButtonControlData":"./google-maps-recenter-button-control/google-maps-recenter-button-control.component","TheSeamGoogleMapsRecenterButtonControlComponent":"./google-maps-recenter-button-control/google-maps-recenter-button-control.component","SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS":"./google-maps-places-autocomplete/google-maps-places-autocomplete.directive","TheSeamGoogleMapsPlacesAutocompleteDirective":"./google-maps-places-autocomplete/google-maps-places-autocomplete.directive","TheSeamGoogleMapsPlacesAutoCompleteComponent":"./google-maps-places-autocomplete/google-maps-places-autocomplete.component","ɵa":"./map-controls-service","ɵb":"./map-controls-service","ɵc":"./map-controls-service"},"importAs":"@theseam/ui-common/google-maps"}
@@ -47,4 +47,5 @@ export declare class ModalRef<T, R = any> {
47
47
  beforeClosed(): Observable<R | undefined>;
48
48
  /** Gets an observable that emits when dialog is finished closing. */
49
49
  afterClosed(): Observable<R | undefined>;
50
+ private _isModalMouseEvent;
50
51
  }