@theseam/ui-common 2.0.1-beta.114 → 2.0.1-beta.115
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.
package/google-maps/index.d.ts
CHANGED
|
@@ -101,7 +101,7 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
101
101
|
* delay-free discriminator: a stale click's timestamp should predate the
|
|
102
102
|
* moment the draw finished. It does not hold up empirically. Driving real
|
|
103
103
|
* mouse draws against the live Storybook and logging both the map `click`
|
|
104
|
-
* listener and `stopDrawing()` (see
|
|
104
|
+
* listener and `stopDrawing()` (see docs/superpowers/reports/closing-click-report.md)
|
|
105
105
|
* caught the echo repeatedly, and every single time its `domEvent.timeStamp`
|
|
106
106
|
* was a few milliseconds AFTER `stopDrawing()`'s own timestamp, not before
|
|
107
107
|
* — indistinguishable from a genuinely fresh click by timestamp alone.
|
|
@@ -127,6 +127,14 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
127
127
|
private _labelProperty;
|
|
128
128
|
private _labelsOverlay?;
|
|
129
129
|
private _warnedAboutLabelDisagreement;
|
|
130
|
+
private _canDelete;
|
|
131
|
+
private readonly _deleteBlockedSubject;
|
|
132
|
+
/**
|
|
133
|
+
* A delete that was attempted and refused. Fires only from the three delete
|
|
134
|
+
* commands, never from their `canDelete*` queries — rendering a menu is not
|
|
135
|
+
* an attempt.
|
|
136
|
+
*/
|
|
137
|
+
readonly deleteBlocked$: Observable<TheSeamMapGroupTarget>;
|
|
130
138
|
private readonly _selectionSubject;
|
|
131
139
|
/**
|
|
132
140
|
* `distinctUntilChanged` collapses repeated `null`s. Several paths clear the
|
|
@@ -176,6 +184,70 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
176
184
|
/**
|
|
177
185
|
* Iterates the map's features and removes any that are selected.
|
|
178
186
|
*/
|
|
187
|
+
private _removeSelection;
|
|
188
|
+
/**
|
|
189
|
+
* The consumer's veto. Consulted for every delete on every path, and for
|
|
190
|
+
* whether to offer a delete at all.
|
|
191
|
+
*/
|
|
192
|
+
setCanDelete(predicate: ((target: TheSeamMapGroupTarget) => boolean) | undefined | null): void;
|
|
193
|
+
/**
|
|
194
|
+
* Pair a set of features to remove with the target to consult `canDelete`
|
|
195
|
+
* with. `null` when there is nothing to delete — distinct from a refusal,
|
|
196
|
+
* and the reason no honest target exists to report.
|
|
197
|
+
*
|
|
198
|
+
* Builds `target.feature` itself rather than delegating the decision to
|
|
199
|
+
* `_targetFor`. There, `feature: null` means only "no particular feature";
|
|
200
|
+
* here it is a promise that the whole group is about to cease to exist.
|
|
201
|
+
* Conflating the two is what let a delete of ONE polygon be consulted as a
|
|
202
|
+
* group delete — see `ResolvedDeletion.unnamable`.
|
|
203
|
+
*/
|
|
204
|
+
private _deletionOf;
|
|
205
|
+
/** Resolves the same features `_removeSelection()` would remove. */
|
|
206
|
+
private _selectionDeletion;
|
|
207
|
+
/** Resolves the same features `_removeFocusedFeature()` would remove. */
|
|
208
|
+
private _focusedFeatureDeletion;
|
|
209
|
+
/** Resolves the same features `_removeGroup(key)` would remove. */
|
|
210
|
+
private _groupDeletion;
|
|
211
|
+
/**
|
|
212
|
+
* Whether `removing` may be deleted: the feature-declared lock first, then
|
|
213
|
+
* the consumer's predicate.
|
|
214
|
+
*
|
|
215
|
+
* MUST stay pure. It also answers menu-render questions, which are not
|
|
216
|
+
* delete attempts — a side effect here would fire on every right-click.
|
|
217
|
+
*/
|
|
218
|
+
private _mayDelete;
|
|
219
|
+
/**
|
|
220
|
+
* Whether a resolved deletion may proceed. The single gate every query and
|
|
221
|
+
* every command goes through.
|
|
222
|
+
*
|
|
223
|
+
* Wraps `_mayDelete` with the one refusal that cannot be phrased as a
|
|
224
|
+
* question about a target: an `unnamable` delete. Consulting the predicate
|
|
225
|
+
* there would mean LYING to it — handing it `feature: null`, which promises
|
|
226
|
+
* the whole group is about to cease to exist, for a delete that removes one
|
|
227
|
+
* polygon and leaves the rest standing. A consumer whose rule is "a field
|
|
228
|
+
* may be deleted, an individual polygon may not" answers `true` to that and
|
|
229
|
+
* loses a polygon it meant to keep. Fail closed exactly where a consumer's
|
|
230
|
+
* rule could be subverted.
|
|
231
|
+
*
|
|
232
|
+
* Only when a predicate is actually set. With none there is nobody to lie
|
|
233
|
+
* to, so there is nothing to protect — and refusing unconditionally would
|
|
234
|
+
* change 'legacy' mode's behaviour for unsupported-geometry features, which
|
|
235
|
+
* two applications depend on and this work must not drift.
|
|
236
|
+
*
|
|
237
|
+
* Pure, like `_mayDelete`: it also answers menu-render questions.
|
|
238
|
+
*/
|
|
239
|
+
private _mayDeleteResolved;
|
|
240
|
+
/** Whether "Delete Polygon" (or the `Delete` key) may act. */
|
|
241
|
+
canDeleteFocusedFeature(): boolean;
|
|
242
|
+
/** Whether "Delete Field" may act on `key`. */
|
|
243
|
+
canDeleteGroup(key: string): boolean;
|
|
244
|
+
/** Whether the legacy "Delete" item (or the `Delete` key) may act. */
|
|
245
|
+
canDeleteSelection(): boolean;
|
|
246
|
+
/**
|
|
247
|
+
* Remove every selected feature, unless `canDelete` or a feature's own
|
|
248
|
+
* `editable: false` refuses. A refused delete emits on `deleteBlocked$` and
|
|
249
|
+
* changes nothing.
|
|
250
|
+
*/
|
|
179
251
|
deleteSelection(): void;
|
|
180
252
|
/**
|
|
181
253
|
* Delete every feature in `key`'s group. Backs the grouped "Delete Field"
|
|
@@ -190,6 +262,12 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
190
262
|
* selected, a coincidence this design has already stopped being true once
|
|
191
263
|
* before and could again.
|
|
192
264
|
*/
|
|
265
|
+
private _removeGroup;
|
|
266
|
+
/**
|
|
267
|
+
* Remove every feature in `key`'s group, unless `canDelete` or a feature's
|
|
268
|
+
* own `editable: false` refuses. A refused delete emits on `deleteBlocked$`
|
|
269
|
+
* and changes nothing.
|
|
270
|
+
*/
|
|
193
271
|
deleteGroup(key: string): void;
|
|
194
272
|
/**
|
|
195
273
|
* Whether polygon drawing mode is currently active.
|
|
@@ -281,6 +359,25 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
281
359
|
* even constructed).
|
|
282
360
|
*/
|
|
283
361
|
setLabelProperty(property: string | undefined): void;
|
|
362
|
+
/**
|
|
363
|
+
* Write `label` into `featureLabelProperty` on every feature in `key`'s
|
|
364
|
+
* group, without re-adding any data. Returns `false` when no feature
|
|
365
|
+
* carries `key`, or when no `featureLabelProperty` is configured — there is
|
|
366
|
+
* then no property to write the label into.
|
|
367
|
+
*
|
|
368
|
+
* Unlike a write through the map's `value`, this does NOT go through
|
|
369
|
+
* `setData()`, so the selection and the viewport are untouched. The
|
|
370
|
+
* repaint and the value update fall out of the data layer's own
|
|
371
|
+
* `setproperty` event, which `_initFeatureChangeListeners()` already turns
|
|
372
|
+
* into a `_labelsOverlay.refresh()` and a `MapValueSource.FeatureChange`
|
|
373
|
+
* emission.
|
|
374
|
+
*
|
|
375
|
+
* It DOES emit a value change, because the label is part of the GeoJSON and
|
|
376
|
+
* the value genuinely changed. Writing that emitted value straight back
|
|
377
|
+
* through the `value` input is inert: `MapValueManagerService.setValue`
|
|
378
|
+
* finds the serialized form identical and returns without emitting.
|
|
379
|
+
*/
|
|
380
|
+
setGroupLabel(key: string, label: string): boolean;
|
|
284
381
|
private _ensureLabelsOverlay;
|
|
285
382
|
private _buildLabels;
|
|
286
383
|
private _warnAboutLabelDisagreement;
|
|
@@ -328,6 +425,12 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
328
425
|
* `feature` no longer exists — `_applySelection` naturally clears to null
|
|
329
426
|
* when the group is now empty, via `groupWithSources`.
|
|
330
427
|
*/
|
|
428
|
+
private _removeFocusedFeature;
|
|
429
|
+
/**
|
|
430
|
+
* Remove the focused polygon — or, with nothing focused, the selection —
|
|
431
|
+
* unless `canDelete` or a feature's own `editable: false` refuses. A
|
|
432
|
+
* refused delete emits on `deleteBlocked$` and changes nothing.
|
|
433
|
+
*/
|
|
331
434
|
deleteFocusedFeature(): void;
|
|
332
435
|
/** Escape cascades: cancel a draw, then clear selection, then leave edit mode. */
|
|
333
436
|
handleEscape(): void;
|
|
@@ -375,7 +478,7 @@ declare class GoogleMapsService implements OnDestroy {
|
|
|
375
478
|
* Arm `_suppressNextMapClick`, and guarantee it cannot linger forever if
|
|
376
479
|
* the echo it exists for never arrives — confirmed to be the normal case
|
|
377
480
|
* for most real closes, and true of every synthetic/`play()`-driven draw,
|
|
378
|
-
* per
|
|
481
|
+
* per docs/superpowers/reports/closing-click-report.md. A `setTimeout` would "solve"
|
|
379
482
|
* this by guessing a safe wall-clock delay, which is exactly the kind of
|
|
380
483
|
* timing window this fix is trying to avoid introducing. Two
|
|
381
484
|
* `requestAnimationFrame` callbacks bound the window instead: the observed
|
|
@@ -409,10 +512,38 @@ interface MapControlsService {
|
|
|
409
512
|
declare const MAP_CONTROLS_SERVICE: InjectionToken<MapControlsService>;
|
|
410
513
|
declare const MAP_CONTROL_DATA: InjectionToken<any>;
|
|
411
514
|
|
|
515
|
+
/** One entry in the map's feature context menu. */
|
|
412
516
|
interface TheSeamMapContextMenuItem {
|
|
413
517
|
label: string;
|
|
414
|
-
action: (
|
|
518
|
+
action: () => void;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* What the menu needs from the map service to decide what to offer.
|
|
522
|
+
*
|
|
523
|
+
* Narrowed to the query/command pairs so the decision stays a pure function
|
|
524
|
+
* and can be tested without a rendered map.
|
|
525
|
+
*/
|
|
526
|
+
interface TheSeamMapDeleteMenuContext {
|
|
527
|
+
mode: TheSeamMapInteractionMode;
|
|
528
|
+
editingEnabled: boolean;
|
|
529
|
+
/** The group the menu is opening for, or null when nothing is targeted. */
|
|
530
|
+
target: TheSeamMapGroupTarget | null;
|
|
531
|
+
canDeleteFocusedFeature(): boolean;
|
|
532
|
+
canDeleteGroup(key: string): boolean;
|
|
533
|
+
canDeleteSelection(): boolean;
|
|
534
|
+
deleteFocusedFeature(): void;
|
|
535
|
+
deleteGroup(key: string): void;
|
|
536
|
+
deleteSelection(): void;
|
|
415
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* The delete items the feature context menu offers.
|
|
540
|
+
*
|
|
541
|
+
* A refused item is not rendered at all. The caller is expected to hide the
|
|
542
|
+
* menu entirely for an empty list, so a consumer that refuses everything gets
|
|
543
|
+
* no menu rather than an empty one.
|
|
544
|
+
*/
|
|
545
|
+
declare function buildDeleteMenuItems(context: TheSeamMapDeleteMenuContext): TheSeamMapContextMenuItem[];
|
|
546
|
+
|
|
416
547
|
declare class TheSeamGoogleMapsComponentBase {
|
|
417
548
|
_elementRef: ElementRef;
|
|
418
549
|
constructor(_elementRef: ElementRef);
|
|
@@ -497,9 +628,37 @@ declare class TheSeamGoogleMapsComponent extends _TheSeamGoogleMapsMixinBase imp
|
|
|
497
628
|
newGroupKeyFactory: (() => string) | undefined;
|
|
498
629
|
/** Preselect a group. Applied on map-ready and after each external value write. */
|
|
499
630
|
selectedGroupKey: string | null;
|
|
631
|
+
/**
|
|
632
|
+
* Vetoes a delete. Return `false` to refuse the target.
|
|
633
|
+
*
|
|
634
|
+
* `target.feature === null` means the whole group is about to cease to
|
|
635
|
+
* exist — every polygon of it is going, however the delete was asked for.
|
|
636
|
+
* A non-null `feature` means one polygon is being removed from a group that
|
|
637
|
+
* survives.
|
|
638
|
+
*
|
|
639
|
+
* **Consulted when no delete is happening.** It decides whether to render
|
|
640
|
+
* the context-menu items, so it runs on every context-menu open. A
|
|
641
|
+
* predicate that logs an attempt or flips state will do so on every
|
|
642
|
+
* right-click. It must also be deterministic for a given target, or the
|
|
643
|
+
* menu and the `Delete` key can disagree about the same target.
|
|
644
|
+
*
|
|
645
|
+
* That is a correctness warning, not a performance one. The context-menu
|
|
646
|
+
* target changes only on a right-click, a delete, and a value write, so
|
|
647
|
+
* this runs a handful of times per gesture.
|
|
648
|
+
*
|
|
649
|
+
* Passing nothing refuses nothing, which is the behaviour this component
|
|
650
|
+
* has always had.
|
|
651
|
+
*/
|
|
652
|
+
canDelete: ((target: TheSeamMapGroupTarget) => boolean) | undefined;
|
|
500
653
|
mapReady: EventEmitter<google.maps.Map | undefined>;
|
|
501
654
|
selectionChange: EventEmitter<TheSeamMapGroupTarget | null>;
|
|
502
655
|
featureHoverChange: EventEmitter<TheSeamMapGroupTarget | null>;
|
|
656
|
+
/**
|
|
657
|
+
* A delete was attempted and refused — in practice, the `Delete` key, since
|
|
658
|
+
* a refused menu item is never rendered. Emits the target that was refused
|
|
659
|
+
* so the consumer can explain why; only the consumer knows the reason.
|
|
660
|
+
*/
|
|
661
|
+
deleteBlocked: EventEmitter<TheSeamMapGroupTarget>;
|
|
503
662
|
featureContextMenu: MenuComponent;
|
|
504
663
|
_options: {
|
|
505
664
|
mapTypeControl: boolean;
|
|
@@ -525,7 +684,6 @@ declare class TheSeamGoogleMapsComponent extends _TheSeamGoogleMapsMixinBase imp
|
|
|
525
684
|
focus(): void;
|
|
526
685
|
private _getHostElement;
|
|
527
686
|
_onMapReady(theMap: google.maps.Map): void;
|
|
528
|
-
_onClickDeleteFeature(): void;
|
|
529
687
|
/** Select a group by key. Returns false when no such group exists. */
|
|
530
688
|
selectGroup(key: string): boolean;
|
|
531
689
|
clearSelection(): void;
|
|
@@ -534,10 +692,18 @@ declare class TheSeamGoogleMapsComponent extends _TheSeamGoogleMapsMixinBase imp
|
|
|
534
692
|
/** Pan to a group's centre. Returns false when no such group exists. */
|
|
535
693
|
panToGroup(key: string): boolean;
|
|
536
694
|
getGroups(): TheSeamMapFeatureGroup[];
|
|
695
|
+
/**
|
|
696
|
+
* Set a group's label text in place. Returns false when no such group
|
|
697
|
+
* exists, or when no `featureLabelProperty` is set.
|
|
698
|
+
*
|
|
699
|
+
* Does not clear the selection or re-fit the viewport, so it is safe to
|
|
700
|
+
* call while the user is renaming the very group being displayed.
|
|
701
|
+
*/
|
|
702
|
+
setGroupLabel(key: string, label: string): boolean;
|
|
537
703
|
setEditMode(enabled: boolean): void;
|
|
538
704
|
isEditMode(): boolean;
|
|
539
705
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamGoogleMapsComponent, never>;
|
|
540
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TheSeamGoogleMapsComponent, "seam-google-maps", ["seamGoogleMaps"], { "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "fileDropEnabled": { "alias": "fileDropEnabled"; "required": false; }; "fileUploadControlEnabled": { "alias": "fileUploadControlEnabled"; "required": false; }; "fullscreenControlEnabled": { "alias": "fullscreenControlEnabled"; "required": false; }; "reCenterControlEnabled": { "alias": "reCenterControlEnabled"; "required": false; }; "mapTypeControlEnabled": { "alias": "mapTypeControlEnabled"; "required": false; }; "streetViewControlEnabled": { "alias": "streetViewControlEnabled"; "required": false; }; "allowDrawingHoleInPolygon": { "alias": "allowDrawingHoleInPolygon"; "required": false; }; "editingEnabled": { "alias": "editingEnabled"; "required": false; }; "fileImportHandler": { "alias": "fileImportHandler"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "longitude": { "alias": "longitude"; "required": false; }; "latitude": { "alias": "latitude"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "interactionMode": { "alias": "interactionMode"; "required": false; }; "featureGroupProperty": { "alias": "featureGroupProperty"; "required": false; }; "featureLabelProperty": { "alias": "featureLabelProperty"; "required": false; }; "newGroupKeyFactory": { "alias": "newGroupKeyFactory"; "required": false; }; "selectedGroupKey": { "alias": "selectedGroupKey"; "required": false; }; }, { "mapReady": "mapReady"; "selectionChange": "selectionChange"; "featureHoverChange": "featureHoverChange"; }, never, never, false, never>;
|
|
706
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TheSeamGoogleMapsComponent, "seam-google-maps", ["seamGoogleMaps"], { "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "fileDropEnabled": { "alias": "fileDropEnabled"; "required": false; }; "fileUploadControlEnabled": { "alias": "fileUploadControlEnabled"; "required": false; }; "fullscreenControlEnabled": { "alias": "fullscreenControlEnabled"; "required": false; }; "reCenterControlEnabled": { "alias": "reCenterControlEnabled"; "required": false; }; "mapTypeControlEnabled": { "alias": "mapTypeControlEnabled"; "required": false; }; "streetViewControlEnabled": { "alias": "streetViewControlEnabled"; "required": false; }; "allowDrawingHoleInPolygon": { "alias": "allowDrawingHoleInPolygon"; "required": false; }; "editingEnabled": { "alias": "editingEnabled"; "required": false; }; "fileImportHandler": { "alias": "fileImportHandler"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "longitude": { "alias": "longitude"; "required": false; }; "latitude": { "alias": "latitude"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "interactionMode": { "alias": "interactionMode"; "required": false; }; "featureGroupProperty": { "alias": "featureGroupProperty"; "required": false; }; "featureLabelProperty": { "alias": "featureLabelProperty"; "required": false; }; "newGroupKeyFactory": { "alias": "newGroupKeyFactory"; "required": false; }; "selectedGroupKey": { "alias": "selectedGroupKey"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; }, { "mapReady": "mapReady"; "selectionChange": "selectionChange"; "featureHoverChange": "featureHoverChange"; "deleteBlocked": "deleteBlocked"; }, never, never, false, never>;
|
|
541
707
|
}
|
|
542
708
|
|
|
543
709
|
/**
|
|
@@ -933,6 +1099,21 @@ interface TheSeamMapFeatureStyleContext {
|
|
|
933
1099
|
}
|
|
934
1100
|
/** Merge only the supported subset of one options object into another. */
|
|
935
1101
|
declare function mergeStyleOptions(target: google.maps.Data.StyleOptions, source: google.maps.Data.StyleOptions | undefined): google.maps.Data.StyleOptions;
|
|
1102
|
+
/**
|
|
1103
|
+
* Whether the feature declines to opt OUT of `option`.
|
|
1104
|
+
*
|
|
1105
|
+
* Resolved per key, not per object: a selected feature consults
|
|
1106
|
+
* `styleOptionsSelected` first and falls back to `styleOptions` only for a key
|
|
1107
|
+
* `styleOptionsSelected` does not itself mention. Otherwise a feature
|
|
1108
|
+
* declaring `styleOptionsSelected` for an unrelated reason, such as a
|
|
1109
|
+
* different selected fill colour, would silently lose an unrelated
|
|
1110
|
+
* `editable: false` from `styleOptions` the moment it is selected.
|
|
1111
|
+
*
|
|
1112
|
+
* Only an explicit `false` opts out. Shared by `computeFeatureStyle` and the
|
|
1113
|
+
* delete gate in `GoogleMapsService`, so the lock a consumer declares means
|
|
1114
|
+
* the same thing to both.
|
|
1115
|
+
*/
|
|
1116
|
+
declare function featureAllows(feature: google.maps.Data.Feature, option: 'editable' | 'draggable' | 'clickable'): boolean;
|
|
936
1117
|
/**
|
|
937
1118
|
* The style for a feature, in a fixed precedence order:
|
|
938
1119
|
*
|
|
@@ -960,10 +1141,10 @@ declare function mergeStyleOptions(target: google.maps.Data.StyleOptions, source
|
|
|
960
1141
|
* feature that opts out of one opts out of the other. This implication runs
|
|
961
1142
|
* only one way — `draggable: false` alone does not imply `editable: false`, so
|
|
962
1143
|
* a feature may still opt out of dragging while remaining reshapeable via its
|
|
963
|
-
* vertex handles. Resolved through
|
|
964
|
-
*
|
|
965
|
-
*
|
|
966
|
-
*
|
|
1144
|
+
* vertex handles. Resolved through `featureAllows`, which the delete gate
|
|
1145
|
+
* shares, so a feature that locks `editable: false` in `styleOptions` cannot
|
|
1146
|
+
* be dragged even if `styleOptionsSelected` declares `draggable` for an
|
|
1147
|
+
* unrelated reason (or not at all).
|
|
967
1148
|
*/
|
|
968
1149
|
declare function computeFeatureStyle(feature: google.maps.Data.Feature, context: TheSeamMapFeatureStyleContext): google.maps.Data.StyleOptions;
|
|
969
1150
|
/**
|
|
@@ -1078,5 +1259,5 @@ declare class TheSeamNoopGoogleMapsAPILoader extends TheSeamGoogleMapsApiLoader
|
|
|
1078
1259
|
static ɵprov: i0.ɵɵInjectableDeclaration<TheSeamNoopGoogleMapsAPILoader>;
|
|
1079
1260
|
}
|
|
1080
1261
|
|
|
1081
|
-
export { AppFeaturePropertyName, FEATURE_STYLE_OPTIONS_DEFAULT, FEATURE_STYLE_OPTIONS_SELECTED, FEATURE_STYLE_OVERRIDE_OPTIONS_HOVERED, GoogleMapsContextMenu, GoogleMapsControlsService, GoogleMapsService, MAP_CONTROLS_SERVICE, MAP_CONTROL_DATA, MapControlRef, MapValueManagerService, MapValueSource, SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS, SUPPORTED_PROPERTY_STYLE_OPTIONS, THESEAM_LAZY_MAPS_API_CONFIG, TheSeamGoogleMapsApiLoader, TheSeamGoogleMapsComponent, TheSeamGoogleMapsModule, TheSeamGoogleMapsPlacesAutoCompleteComponent, TheSeamGoogleMapsPlacesAutocompleteDirective, TheSeamGoogleMapsRecenterButtonControlComponent, TheSeamGoogleMapsUploadButtonControlComponent, TheSeamLazyMapsApiLoader, TheSeamMapFileDropComponent, TheSeamMapsControlComponent, TheSeamNoopGoogleMapsAPILoader, applyHoleToFeature, computeFeatureHoverStyle, computeFeatureStyle, createFeatureChangeObservable, dataMultiPolygonFromGeoJson, dataPolygonFromGeoJson, geoJsonFeatureFromDataFeature, geoJsonPolygonFromDataFeature, getBoundsWithAllFeatures, getFeatureBounds, getFeatureCenter, getFeaturesCount, getHoveredStyleOptionsDefinedByFeature, getSelectedStyleOptionsDefinedByFeature, getStyleOptionsDefinedByFeature, isAppFeatureProperty, isFeatureSelected, mergeStyleOptions, polygonCoordinates, polygonHasValidPathsLengths, polygonsFromDataFeature, removeAllFeatures, setFeatureSelected, stripAppFeaturePropertiesFromJson };
|
|
1082
|
-
export type { GoogleMapsRecenterButtonControlData, GoogleMapsUploadButtonControlData, MapControl, MapControlsService, MapValue, MapValueChange, TheSeamLazyMapsApiLoaderConfig, TheSeamMapFeatureGroup, TheSeamMapFeatureStyleContext, TheSeamMapGroupTarget, TheSeamMapInteractionMode };
|
|
1262
|
+
export { AppFeaturePropertyName, FEATURE_STYLE_OPTIONS_DEFAULT, FEATURE_STYLE_OPTIONS_SELECTED, FEATURE_STYLE_OVERRIDE_OPTIONS_HOVERED, GoogleMapsContextMenu, GoogleMapsControlsService, GoogleMapsService, MAP_CONTROLS_SERVICE, MAP_CONTROL_DATA, MapControlRef, MapValueManagerService, MapValueSource, SEAM_GOOGLE_PLACES_AUTOCOMPLETE_DEFAULT_OPTIONS, SUPPORTED_PROPERTY_STYLE_OPTIONS, THESEAM_LAZY_MAPS_API_CONFIG, TheSeamGoogleMapsApiLoader, TheSeamGoogleMapsComponent, TheSeamGoogleMapsModule, TheSeamGoogleMapsPlacesAutoCompleteComponent, TheSeamGoogleMapsPlacesAutocompleteDirective, TheSeamGoogleMapsRecenterButtonControlComponent, TheSeamGoogleMapsUploadButtonControlComponent, TheSeamLazyMapsApiLoader, TheSeamMapFileDropComponent, TheSeamMapsControlComponent, TheSeamNoopGoogleMapsAPILoader, applyHoleToFeature, buildDeleteMenuItems, computeFeatureHoverStyle, computeFeatureStyle, createFeatureChangeObservable, dataMultiPolygonFromGeoJson, dataPolygonFromGeoJson, featureAllows, geoJsonFeatureFromDataFeature, geoJsonPolygonFromDataFeature, getBoundsWithAllFeatures, getFeatureBounds, getFeatureCenter, getFeaturesCount, getHoveredStyleOptionsDefinedByFeature, getSelectedStyleOptionsDefinedByFeature, getStyleOptionsDefinedByFeature, isAppFeatureProperty, isFeatureSelected, mergeStyleOptions, polygonCoordinates, polygonHasValidPathsLengths, polygonsFromDataFeature, removeAllFeatures, setFeatureSelected, stripAppFeaturePropertiesFromJson };
|
|
1263
|
+
export type { GoogleMapsRecenterButtonControlData, GoogleMapsUploadButtonControlData, MapControl, MapControlsService, MapValue, MapValueChange, TheSeamLazyMapsApiLoaderConfig, TheSeamMapContextMenuItem, TheSeamMapDeleteMenuContext, TheSeamMapFeatureGroup, TheSeamMapFeatureStyleContext, TheSeamMapGroupTarget, TheSeamMapInteractionMode };
|