@phila/phila-ui-map-core 0.0.1-beta.2 → 0.0.1-beta.3

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/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { BaseProps } from '@phila/phila-ui-core';
2
+ import { CircleLayerSpecification } from 'maplibre-gl';
2
3
  import { ColorArraySpecification } from 'maplibre-gl';
3
4
  import { ColorSpecification } from 'maplibre-gl';
4
5
  import { ComponentOptionsMixin } from 'vue';
@@ -9,26 +10,122 @@ import { default as default_2 } from 'maplibre-gl';
9
10
  import { DefineComponent } from 'vue';
10
11
  import { ExpressionSpecification } from 'maplibre-gl';
11
12
  import { ExtractPropTypes } from 'vue';
13
+ import { FillLayerSpecification } from 'maplibre-gl';
12
14
  import { FilterSpecification } from 'maplibre-gl';
13
15
  import { FormattedSpecification } from 'maplibre-gl';
16
+ import { GeoJSONSourceSpecification } from 'maplibre-gl';
14
17
  import { IControl } from 'maplibre-gl';
15
18
  import { LayerSpecification } from 'maplibre-gl';
19
+ import { LineLayerSpecification } from 'maplibre-gl';
20
+ import { LngLatLike } from 'maplibre-gl';
16
21
  import { default as Map_2 } from './Map.vue';
17
- import { Map as Map_3 } from 'maplibre-gl';
22
+ import { MapLayerMouseEvent } from 'maplibre-gl';
18
23
  import { NumberArraySpecification } from 'maplibre-gl';
24
+ import { Offset } from 'maplibre-gl';
19
25
  import { PaddingSpecification } from 'maplibre-gl';
20
26
  import { PointLike } from 'maplibre-gl';
21
27
  import { PropertyValueSpecification } from 'maplibre-gl';
22
28
  import { PropType } from 'vue';
23
29
  import { PublicProps } from 'vue';
30
+ import { RasterLayerSpecification } from 'maplibre-gl';
31
+ import { RasterSourceSpecification } from 'maplibre-gl';
24
32
  import { Ref } from 'vue';
25
33
  import { ResolvedImageSpecification } from 'maplibre-gl';
26
34
  import { SourceSpecification } from 'maplibre-gl';
35
+ import { SymbolLayerSpecification } from 'maplibre-gl';
27
36
  import { TransitionSpecification } from 'maplibre-gl';
28
37
  import { VariableAnchorOffsetCollectionSpecification } from 'maplibre-gl';
38
+ import { VectorSourceSpecification } from 'maplibre-gl';
29
39
  import { VisibilitySpecification } from 'maplibre-gl';
30
40
 
31
- declare const __VLS_component: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MapLayerProps>, {
41
+ declare const __VLS_component: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MapMarkerProps>, {
42
+ color: string;
43
+ popup: undefined;
44
+ draggable: boolean;
45
+ rotation: number;
46
+ offset: undefined;
47
+ icon: undefined;
48
+ iconSize: number;
49
+ iconColor: undefined;
50
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
51
+ dragstart: (lngLat: {
52
+ lng: number;
53
+ lat: number;
54
+ }) => void;
55
+ drag: (lngLat: {
56
+ lng: number;
57
+ lat: number;
58
+ }) => void;
59
+ dragend: (lngLat: {
60
+ lng: number;
61
+ lat: number;
62
+ }) => void;
63
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MapMarkerProps>, {
64
+ color: string;
65
+ popup: undefined;
66
+ draggable: boolean;
67
+ rotation: number;
68
+ offset: undefined;
69
+ icon: undefined;
70
+ iconSize: number;
71
+ iconColor: undefined;
72
+ }>>> & Readonly<{
73
+ onDrag?: ((lngLat: {
74
+ lng: number;
75
+ lat: number;
76
+ }) => any) | undefined;
77
+ onDragend?: ((lngLat: {
78
+ lng: number;
79
+ lat: number;
80
+ }) => any) | undefined;
81
+ onDragstart?: ((lngLat: {
82
+ lng: number;
83
+ lat: number;
84
+ }) => any) | undefined;
85
+ }>, {
86
+ icon: string;
87
+ iconSize: number;
88
+ offset: default_2.PointLike;
89
+ rotation: number;
90
+ color: string;
91
+ popup: string;
92
+ draggable: boolean;
93
+ iconColor: string;
94
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
95
+
96
+ declare const __VLS_component_2: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_2<__VLS_TypePropsToRuntimeProps_2<MapPopupProps>, {
97
+ html: undefined;
98
+ closeButton: boolean;
99
+ closeOnClick: boolean;
100
+ className: undefined;
101
+ maxWidth: string;
102
+ offset: undefined;
103
+ anchor: undefined;
104
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
105
+ close: () => void;
106
+ open: () => void;
107
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_2<__VLS_TypePropsToRuntimeProps_2<MapPopupProps>, {
108
+ html: undefined;
109
+ closeButton: boolean;
110
+ closeOnClick: boolean;
111
+ className: undefined;
112
+ maxWidth: string;
113
+ offset: undefined;
114
+ anchor: undefined;
115
+ }>>> & Readonly<{
116
+ onClose?: (() => any) | undefined;
117
+ onOpen?: (() => any) | undefined;
118
+ }>, {
119
+ offset: default_2.Offset;
120
+ className: string;
121
+ anchor: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center";
122
+ html: string;
123
+ closeButton: boolean;
124
+ closeOnClick: boolean;
125
+ maxWidth: string;
126
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
127
+
128
+ declare const __VLS_component_3: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_3<__VLS_TypePropsToRuntimeProps_3<MapLayerProps>, {
32
129
  sourceLayer: undefined;
33
130
  paint: () => {};
34
131
  layout: () => {};
@@ -36,7 +133,7 @@ filter: undefined;
36
133
  minzoom: undefined;
37
134
  maxzoom: undefined;
38
135
  beforeId: undefined;
39
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<MapLayerProps>, {
136
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_3<__VLS_TypePropsToRuntimeProps_3<MapLayerProps>, {
40
137
  sourceLayer: undefined;
41
138
  paint: () => {};
42
139
  layout: () => {};
@@ -269,70 +366,15 @@ maxzoom: number;
269
366
  beforeId: string;
270
367
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
271
368
 
272
- declare const __VLS_component_2: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_2<__VLS_TypePropsToRuntimeProps_2<MapMarkerProps>, {
273
- color: string;
274
- popup: undefined;
275
- draggable: boolean;
276
- rotation: number;
277
- offset: undefined;
278
- icon: undefined;
279
- iconSize: number;
280
- iconColor: undefined;
281
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
282
- dragstart: (lngLat: {
283
- lng: number;
284
- lat: number;
285
- }) => void;
286
- drag: (lngLat: {
287
- lng: number;
288
- lat: number;
289
- }) => void;
290
- dragend: (lngLat: {
291
- lng: number;
292
- lat: number;
293
- }) => void;
294
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_2<__VLS_TypePropsToRuntimeProps_2<MapMarkerProps>, {
295
- color: string;
296
- popup: undefined;
297
- draggable: boolean;
298
- rotation: number;
299
- offset: undefined;
300
- icon: undefined;
301
- iconSize: number;
302
- iconColor: undefined;
303
- }>>> & Readonly<{
304
- onDrag?: ((lngLat: {
305
- lng: number;
306
- lat: number;
307
- }) => any) | undefined;
308
- onDragend?: ((lngLat: {
309
- lng: number;
310
- lat: number;
311
- }) => any) | undefined;
312
- onDragstart?: ((lngLat: {
313
- lng: number;
314
- lat: number;
315
- }) => any) | undefined;
316
- }>, {
317
- icon: string;
318
- iconSize: number;
319
- color: string;
320
- popup: string;
321
- draggable: boolean;
322
- rotation: number;
323
- offset: default_2.PointLike;
324
- iconColor: string;
325
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
326
-
327
- declare const __VLS_component_3: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_3<__VLS_TypePropsToRuntimeProps_3<MapNavigationControlProps>, {
369
+ declare const __VLS_component_4: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_9<__VLS_TypePropsToRuntimeProps_9<MapNavigationControlProps>, {
328
370
  position: string;
329
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_3<__VLS_TypePropsToRuntimeProps_3<MapNavigationControlProps>, {
371
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_9<__VLS_TypePropsToRuntimeProps_9<MapNavigationControlProps>, {
330
372
  position: string;
331
373
  }>>> & Readonly<{}>, {
332
374
  position: MapControlPosition;
333
375
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
334
376
 
335
- declare const __VLS_component_4: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_4<__VLS_TypePropsToRuntimeProps_4<MapFloatingPanelProps>, {
377
+ declare const __VLS_component_5: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_10<__VLS_TypePropsToRuntimeProps_10<MapFloatingPanelProps>, {
336
378
  position: string;
337
379
  visible: boolean;
338
380
  offset: () => {
@@ -340,7 +382,7 @@ x: number;
340
382
  y: number;
341
383
  };
342
384
  leaveRoomForControls: boolean;
343
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_4<__VLS_TypePropsToRuntimeProps_4<MapFloatingPanelProps>, {
385
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_10<__VLS_TypePropsToRuntimeProps_10<MapFloatingPanelProps>, {
344
386
  position: string;
345
387
  visible: boolean;
346
388
  offset: () => {
@@ -350,18 +392,63 @@ y: number;
350
392
  leaveRoomForControls: boolean;
351
393
  }>>> & Readonly<{}>, {
352
394
  position: MapControlPosition;
395
+ visible: boolean;
353
396
  offset: {
354
397
  x: number;
355
398
  y: number;
356
399
  };
357
- visible: boolean;
358
400
  leaveRoomForControls: boolean;
359
401
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
360
402
 
403
+ declare const __VLS_component_6: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_12<__VLS_TypePropsToRuntimeProps_12<MapButtonProps>, {
404
+ icon: undefined;
405
+ image: string;
406
+ position: string;
407
+ title: string;
408
+ iconSize: number;
409
+ toggleable: boolean;
410
+ active: boolean;
411
+ activeColor: string;
412
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
413
+ click: () => void;
414
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_12<__VLS_TypePropsToRuntimeProps_12<MapButtonProps>, {
415
+ icon: undefined;
416
+ image: string;
417
+ position: string;
418
+ title: string;
419
+ iconSize: number;
420
+ toggleable: boolean;
421
+ active: boolean;
422
+ activeColor: string;
423
+ }>>> & Readonly<{
424
+ onClick?: (() => any) | undefined;
425
+ }>, {
426
+ icon: string;
427
+ image: string;
428
+ position: MapControlPosition;
429
+ title: string;
430
+ iconSize: number;
431
+ toggleable: boolean;
432
+ active: boolean;
433
+ activeColor: string;
434
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
435
+
361
436
  declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
362
437
 
363
438
  declare type __VLS_NonUndefinedable_10<T> = T extends undefined ? never : T;
364
439
 
440
+ declare type __VLS_NonUndefinedable_11<T> = T extends undefined ? never : T;
441
+
442
+ declare type __VLS_NonUndefinedable_12<T> = T extends undefined ? never : T;
443
+
444
+ declare type __VLS_NonUndefinedable_13<T> = T extends undefined ? never : T;
445
+
446
+ declare type __VLS_NonUndefinedable_14<T> = T extends undefined ? never : T;
447
+
448
+ declare type __VLS_NonUndefinedable_15<T> = T extends undefined ? never : T;
449
+
450
+ declare type __VLS_NonUndefinedable_16<T> = T extends undefined ? never : T;
451
+
365
452
  declare type __VLS_NonUndefinedable_2<T> = T extends undefined ? never : T;
366
453
 
367
454
  declare type __VLS_NonUndefinedable_3<T> = T extends undefined ? never : T;
@@ -386,6 +473,30 @@ declare type __VLS_Prettify_10<T> = {
386
473
  [K in keyof T]: T[K];
387
474
  } & {};
388
475
 
476
+ declare type __VLS_Prettify_11<T> = {
477
+ [K in keyof T]: T[K];
478
+ } & {};
479
+
480
+ declare type __VLS_Prettify_12<T> = {
481
+ [K in keyof T]: T[K];
482
+ } & {};
483
+
484
+ declare type __VLS_Prettify_13<T> = {
485
+ [K in keyof T]: T[K];
486
+ } & {};
487
+
488
+ declare type __VLS_Prettify_14<T> = {
489
+ [K in keyof T]: T[K];
490
+ } & {};
491
+
492
+ declare type __VLS_Prettify_15<T> = {
493
+ [K in keyof T]: T[K];
494
+ } & {};
495
+
496
+ declare type __VLS_Prettify_16<T> = {
497
+ [K in keyof T]: T[K];
498
+ } & {};
499
+
389
500
  declare type __VLS_Prettify_2<T> = {
390
501
  [K in keyof T]: T[K];
391
502
  } & {};
@@ -434,6 +545,14 @@ declare function __VLS_template_4(): {
434
545
  default?(_: {}): any;
435
546
  };
436
547
 
548
+ declare function __VLS_template_5(): {
549
+ default?(_: {}): any;
550
+ };
551
+
552
+ declare function __VLS_template_6(): {
553
+ default?(_: {}): any;
554
+ };
555
+
437
556
  declare type __VLS_TypePropsToRuntimeProps<T> = {
438
557
  [K in keyof T]-?: {} extends Pick<T, K> ? {
439
558
  type: PropType<__VLS_NonUndefinedable<T[K]>>;
@@ -452,6 +571,60 @@ declare type __VLS_TypePropsToRuntimeProps_10<T> = {
452
571
  };
453
572
  };
454
573
 
574
+ declare type __VLS_TypePropsToRuntimeProps_11<T> = {
575
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
576
+ type: PropType<__VLS_NonUndefinedable_11<T[K]>>;
577
+ } : {
578
+ type: PropType<T[K]>;
579
+ required: true;
580
+ };
581
+ };
582
+
583
+ declare type __VLS_TypePropsToRuntimeProps_12<T> = {
584
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
585
+ type: PropType<__VLS_NonUndefinedable_12<T[K]>>;
586
+ } : {
587
+ type: PropType<T[K]>;
588
+ required: true;
589
+ };
590
+ };
591
+
592
+ declare type __VLS_TypePropsToRuntimeProps_13<T> = {
593
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
594
+ type: PropType<__VLS_NonUndefinedable_13<T[K]>>;
595
+ } : {
596
+ type: PropType<T[K]>;
597
+ required: true;
598
+ };
599
+ };
600
+
601
+ declare type __VLS_TypePropsToRuntimeProps_14<T> = {
602
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
603
+ type: PropType<__VLS_NonUndefinedable_14<T[K]>>;
604
+ } : {
605
+ type: PropType<T[K]>;
606
+ required: true;
607
+ };
608
+ };
609
+
610
+ declare type __VLS_TypePropsToRuntimeProps_15<T> = {
611
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
612
+ type: PropType<__VLS_NonUndefinedable_15<T[K]>>;
613
+ } : {
614
+ type: PropType<T[K]>;
615
+ required: true;
616
+ };
617
+ };
618
+
619
+ declare type __VLS_TypePropsToRuntimeProps_16<T> = {
620
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
621
+ type: PropType<__VLS_NonUndefinedable_16<T[K]>>;
622
+ } : {
623
+ type: PropType<T[K]>;
624
+ required: true;
625
+ };
626
+ };
627
+
455
628
  declare type __VLS_TypePropsToRuntimeProps_2<T> = {
456
629
  [K in keyof T]-?: {} extends Pick<T, K> ? {
457
630
  type: PropType<__VLS_NonUndefinedable_2<T[K]>>;
@@ -536,6 +709,42 @@ declare type __VLS_WithDefaults_10<P, D> = {
536
709
  }> : P[K];
537
710
  };
538
711
 
712
+ declare type __VLS_WithDefaults_11<P, D> = {
713
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_11<P[K] & {
714
+ default: D[K];
715
+ }> : P[K];
716
+ };
717
+
718
+ declare type __VLS_WithDefaults_12<P, D> = {
719
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_12<P[K] & {
720
+ default: D[K];
721
+ }> : P[K];
722
+ };
723
+
724
+ declare type __VLS_WithDefaults_13<P, D> = {
725
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_13<P[K] & {
726
+ default: D[K];
727
+ }> : P[K];
728
+ };
729
+
730
+ declare type __VLS_WithDefaults_14<P, D> = {
731
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_14<P[K] & {
732
+ default: D[K];
733
+ }> : P[K];
734
+ };
735
+
736
+ declare type __VLS_WithDefaults_15<P, D> = {
737
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_15<P[K] & {
738
+ default: D[K];
739
+ }> : P[K];
740
+ };
741
+
742
+ declare type __VLS_WithDefaults_16<P, D> = {
743
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_16<P[K] & {
744
+ default: D[K];
745
+ }> : P[K];
746
+ };
747
+
539
748
  declare type __VLS_WithDefaults_2<P, D> = {
540
749
  [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify_2<P[K] & {
541
750
  default: D[K];
@@ -608,42 +817,104 @@ declare type __VLS_WithTemplateSlots_4<T, S> = T & {
608
817
  };
609
818
  };
610
819
 
611
- export declare const BasemapDropdown: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_9<__VLS_TypePropsToRuntimeProps_9<BasemapDropdownProps>, {
612
- position: string;
613
- selectedIndex: number;
614
- useAsControl: boolean;
615
- isDropUp: boolean;
616
- imageryLayerId: string;
617
- imageryLabelsLayerId: string;
618
- baseLayerId: null;
619
- isImageryVisible: boolean;
620
- }>>, {
621
- isOpen: Ref<boolean, boolean>;
622
- selectedIndex: Ref<number, number>;
623
- selectedOption: ComputedRef<BasemapOption>;
624
- toggleDropdown: typeof toggleDropdown;
625
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
626
- select: (option: BasemapOption, index: number) => void;
627
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_9<__VLS_TypePropsToRuntimeProps_9<BasemapDropdownProps>, {
628
- position: string;
629
- selectedIndex: number;
630
- useAsControl: boolean;
820
+ declare type __VLS_WithTemplateSlots_5<T, S> = T & {
821
+ new (): {
822
+ $slots: S;
823
+ };
824
+ };
825
+
826
+ declare type __VLS_WithTemplateSlots_6<T, S> = T & {
827
+ new (): {
828
+ $slots: S;
829
+ };
830
+ };
831
+
832
+ /** AIS geocode result feature */
833
+ export declare interface AisGeocodeResult {
834
+ type: "Feature";
835
+ ais_feature_type: string;
836
+ match_type: string;
837
+ geometry: {
838
+ type: "Point";
839
+ coordinates: [number, number];
840
+ };
841
+ properties: {
842
+ street_address: string;
843
+ opa_account_num?: string;
844
+ opa_owners?: string[];
845
+ zip_code?: string;
846
+ pwd_parcel_id?: string;
847
+ [key: string]: unknown;
848
+ };
849
+ }
850
+
851
+ /** Full AIS API response */
852
+ export declare interface AisResponse {
853
+ search_type: string;
854
+ search_params: {
855
+ query: string;
856
+ [key: string]: unknown;
857
+ };
858
+ query: string;
859
+ normalized: string;
860
+ page: number;
861
+ page_count: number;
862
+ page_size: number;
863
+ total_size: number;
864
+ type: "FeatureCollection";
865
+ features: AisGeocodeResult[];
866
+ }
867
+
868
+ /** Base props shared by all vector layer components */
869
+ declare interface BaseLayerProps extends BaseProps {
870
+ /** Unique layer ID */
871
+ id: string;
872
+ /** Layer source - either inline definition or reference to existing source ID */
873
+ source: string | GeoJSONSourceSpecification | VectorSourceSpecification;
874
+ /** Source layer (for vector tile sources) */
875
+ sourceLayer?: string;
876
+ /** Filter expression to filter features */
877
+ filter?: FilterSpecification;
878
+ /** Minimum zoom level for layer visibility */
879
+ minzoom?: number;
880
+ /** Maximum zoom level for layer visibility */
881
+ maxzoom?: number;
882
+ /** ID of layer to insert this layer before */
883
+ beforeId?: string;
884
+ }
885
+
886
+ declare interface BasemapChangeEvent {
887
+ showImagery: boolean;
888
+ imageryUrl: string | null;
889
+ imageryLabelsUrl: string | null;
890
+ /** Whether labels should be shown for the selected imagery. False for historic maps with built-in labels. */
891
+ showLabels: boolean;
892
+ }
893
+
894
+ export declare const BasemapDropdown: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_15<__VLS_TypePropsToRuntimeProps_15<BasemapDropdownProps>, {
895
+ position: string;
896
+ selectedIndex: number;
897
+ useAsControl: boolean;
898
+ isDropUp: boolean;
899
+ }>>, {
900
+ isOpen: Ref<boolean, boolean>;
901
+ selectedIndex: Ref<number, number>;
902
+ selectedOption: ComputedRef<BasemapOption>;
903
+ toggleDropdown: typeof toggleDropdown;
904
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
905
+ select: (option: BasemapOption, index: number) => void;
906
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_15<__VLS_TypePropsToRuntimeProps_15<BasemapDropdownProps>, {
907
+ position: string;
908
+ selectedIndex: number;
909
+ useAsControl: boolean;
631
910
  isDropUp: boolean;
632
- imageryLayerId: string;
633
- imageryLabelsLayerId: string;
634
- baseLayerId: null;
635
- isImageryVisible: boolean;
636
911
  }>>> & Readonly<{
637
912
  onSelect?: ((option: BasemapOption, index: number) => any) | undefined;
638
913
  }>, {
639
914
  position: MapControlPosition;
640
- imageryLayerId: string;
641
- imageryLabelsLayerId: string;
642
- baseLayerId: string | null;
643
915
  selectedIndex: number;
644
916
  useAsControl: boolean;
645
917
  isDropUp: boolean;
646
- isImageryVisible: boolean;
647
918
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
648
919
 
649
920
  declare interface BasemapDropdownProps {
@@ -652,59 +923,42 @@ declare interface BasemapDropdownProps {
652
923
  selectedIndex?: number;
653
924
  useAsControl?: boolean;
654
925
  isDropUp?: boolean;
655
- imageryLayerId?: string;
656
- imageryLabelsLayerId?: string;
657
- baseLayerId?: string | null;
658
- isImageryVisible?: boolean;
659
926
  }
660
927
 
661
928
  declare interface BasemapOption {
662
929
  label: string;
663
930
  imageryUrl: string;
664
- imageryLabelsUrl: string;
931
+ imageryLabelsUrl: string | null;
932
+ /** Whether labels should be shown for this option. False for historic maps with built-in labels. */
933
+ showLabels?: boolean;
665
934
  }
666
935
 
667
- export declare const BasemapToggle: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_8<__VLS_TypePropsToRuntimeProps_8<BasemapToggleProps>, {
936
+ export declare const BasemapToggle: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_14<__VLS_TypePropsToRuntimeProps_14<BasemapToggleProps>, {
668
937
  position: string;
669
938
  imageryUrl: string;
670
939
  imageryLabelsUrl: string;
671
- imageryLayerId: string;
672
- imageryLabelsLayerId: string;
673
- baseLayerId: null;
674
- iconImage: null;
675
- basemapImage: null;
676
940
  title: string;
677
941
  iconSize: number;
678
942
  showDropdown: boolean;
679
- dropdownOptions: () => never[];
943
+ dropdownOptions: () => ImageryYearOption[];
680
944
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
681
- toggled: (value: boolean) => void;
682
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_8<__VLS_TypePropsToRuntimeProps_8<BasemapToggleProps>, {
945
+ change: (value: BasemapChangeEvent) => void;
946
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_14<__VLS_TypePropsToRuntimeProps_14<BasemapToggleProps>, {
683
947
  position: string;
684
948
  imageryUrl: string;
685
949
  imageryLabelsUrl: string;
686
- imageryLayerId: string;
687
- imageryLabelsLayerId: string;
688
- baseLayerId: null;
689
- iconImage: null;
690
- basemapImage: null;
691
950
  title: string;
692
951
  iconSize: number;
693
952
  showDropdown: boolean;
694
- dropdownOptions: () => never[];
953
+ dropdownOptions: () => ImageryYearOption[];
695
954
  }>>> & Readonly<{
696
- onToggled?: ((value: boolean) => any) | undefined;
955
+ onChange?: ((value: BasemapChangeEvent) => any) | undefined;
697
956
  }>, {
698
957
  position: MapControlPosition;
699
958
  title: string;
700
959
  iconSize: number;
701
960
  imageryUrl: string;
702
961
  imageryLabelsUrl: string;
703
- imageryLayerId: string;
704
- imageryLabelsLayerId: string;
705
- baseLayerId: string | null;
706
- iconImage: string | null;
707
- basemapImage: string | null;
708
962
  showDropdown: boolean;
709
963
  dropdownOptions: BasemapOption[];
710
964
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
@@ -713,9 +967,6 @@ declare interface BasemapToggleProps extends BaseProps {
713
967
  position?: MapControlPosition;
714
968
  imageryUrl?: string;
715
969
  imageryLabelsUrl?: string;
716
- imageryLayerId?: string;
717
- imageryLabelsLayerId?: string;
718
- baseLayerId?: string | null;
719
970
  iconImage?: string | null;
720
971
  basemapImage?: string | null;
721
972
  title?: string;
@@ -724,25 +975,94 @@ declare interface BasemapToggleProps extends BaseProps {
724
975
  dropdownOptions?: BasemapOption[];
725
976
  }
726
977
 
727
- declare interface ButtonControl extends IControl {
728
- _map?: Map_3;
729
- _container?: HTMLDivElement;
730
- _button?: HTMLButtonElement;
978
+ export declare const CircleLayer: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_6<CircleLayerProps>, {
979
+ sourceLayer: undefined;
980
+ paint: () => {};
981
+ layout: () => {};
982
+ filter: undefined;
983
+ minzoom: undefined;
984
+ maxzoom: undefined;
985
+ beforeId: undefined;
986
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
987
+ click: (event: MapLayerMouseEvent) => void;
988
+ dblclick: (event: MapLayerMouseEvent) => void;
989
+ mouseenter: (event: MapLayerMouseEvent) => void;
990
+ mouseleave: (event: MapLayerMouseEvent) => void;
991
+ mousemove: (event: MapLayerMouseEvent) => void;
992
+ mousedown: (event: MapLayerMouseEvent) => void;
993
+ mouseup: (event: MapLayerMouseEvent) => void;
994
+ contextmenu: (event: MapLayerMouseEvent) => void;
995
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_6<CircleLayerProps>, {
996
+ sourceLayer: undefined;
997
+ paint: () => {};
998
+ layout: () => {};
999
+ filter: undefined;
1000
+ minzoom: undefined;
1001
+ maxzoom: undefined;
1002
+ beforeId: undefined;
1003
+ }>>> & Readonly<{
1004
+ onClick?: ((event: MapLayerMouseEvent) => any) | undefined;
1005
+ onDblclick?: ((event: MapLayerMouseEvent) => any) | undefined;
1006
+ onMousedown?: ((event: MapLayerMouseEvent) => any) | undefined;
1007
+ onMouseup?: ((event: MapLayerMouseEvent) => any) | undefined;
1008
+ onMousemove?: ((event: MapLayerMouseEvent) => any) | undefined;
1009
+ onMouseenter?: ((event: MapLayerMouseEvent) => any) | undefined;
1010
+ onMouseleave?: ((event: MapLayerMouseEvent) => any) | undefined;
1011
+ onContextmenu?: ((event: MapLayerMouseEvent) => any) | undefined;
1012
+ }>, {
1013
+ sourceLayer: string;
1014
+ paint: {
1015
+ "circle-radius"?: DataDrivenPropertyValueSpecification<number>;
1016
+ "circle-radius-transition"?: TransitionSpecification;
1017
+ "circle-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1018
+ "circle-color-transition"?: TransitionSpecification;
1019
+ "circle-blur"?: DataDrivenPropertyValueSpecification<number>;
1020
+ "circle-blur-transition"?: TransitionSpecification;
1021
+ "circle-opacity"?: DataDrivenPropertyValueSpecification<number>;
1022
+ "circle-opacity-transition"?: TransitionSpecification;
1023
+ "circle-translate"?: PropertyValueSpecification<[number, number]>;
1024
+ "circle-translate-transition"?: TransitionSpecification;
1025
+ "circle-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">;
1026
+ "circle-pitch-scale"?: PropertyValueSpecification<"map" | "viewport">;
1027
+ "circle-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport">;
1028
+ "circle-stroke-width"?: DataDrivenPropertyValueSpecification<number>;
1029
+ "circle-stroke-width-transition"?: TransitionSpecification;
1030
+ "circle-stroke-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1031
+ "circle-stroke-color-transition"?: TransitionSpecification;
1032
+ "circle-stroke-opacity"?: DataDrivenPropertyValueSpecification<number>;
1033
+ "circle-stroke-opacity-transition"?: TransitionSpecification;
1034
+ };
1035
+ layout: {
1036
+ "circle-sort-key"?: DataDrivenPropertyValueSpecification<number>;
1037
+ visibility?: VisibilitySpecification;
1038
+ };
1039
+ filter: FilterSpecification;
1040
+ minzoom: number;
1041
+ maxzoom: number;
1042
+ beforeId: string;
1043
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1044
+
1045
+ declare interface CircleLayerProps extends BaseLayerProps {
1046
+ /** Paint properties for circle styling */
1047
+ paint?: CircleLayerSpecification["paint"];
1048
+ /** Layout properties */
1049
+ layout?: CircleLayerSpecification["layout"];
731
1050
  }
732
1051
 
733
- /**
734
- * Factory for creating standard button controls
735
- */
736
- export declare function createButtonControl(icon?: string, image?: string, title?: string, iconSize?: number, clickHandler?: (this: GlobalEventHandlers, ev: MouseEvent) => void): ButtonControl;
1052
+ export declare const defaultBasemapSource: RasterSourceSpecification;
1053
+
1054
+ export declare const defaultImageryOptions: ImageryYearOption[];
737
1055
 
738
- export declare const DrawTool: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_5<DrawToolProps>, {
1056
+ export declare const defaultLabelsSource: RasterSourceSpecification;
1057
+
1058
+ export declare const DrawTool: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_11<__VLS_TypePropsToRuntimeProps_11<DrawToolProps>, {
739
1059
  icon: string;
740
1060
  position: string;
741
1061
  title: string;
742
1062
  iconSize: number;
743
1063
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
744
1064
  polygonComplete: (geometry: ShapeGeometry) => void;
745
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_5<DrawToolProps>, {
1065
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_11<__VLS_TypePropsToRuntimeProps_11<DrawToolProps>, {
746
1066
  icon: string;
747
1067
  position: string;
748
1068
  title: string;
@@ -763,13 +1083,92 @@ declare interface DrawToolProps extends BaseProps {
763
1083
  iconSize?: number;
764
1084
  }
765
1085
 
766
- export declare const GeolocationButton: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_7<GeolocationButtonProps>, {
1086
+ /**
1087
+ * Fetch the geometry for a parcel by its ID.
1088
+ * Returns a GeoJSON FeatureCollection, or null if not found.
1089
+ */
1090
+ export declare function fetchParcelGeometry(parcelId: string): Promise<ParcelFeatureCollection | null>;
1091
+
1092
+ export declare const FillLayer: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_4<__VLS_TypePropsToRuntimeProps_4<FillLayerProps>, {
1093
+ sourceLayer: undefined;
1094
+ paint: () => {};
1095
+ layout: () => {};
1096
+ filter: undefined;
1097
+ minzoom: undefined;
1098
+ maxzoom: undefined;
1099
+ beforeId: undefined;
1100
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1101
+ click: (event: MapLayerMouseEvent) => void;
1102
+ dblclick: (event: MapLayerMouseEvent) => void;
1103
+ mouseenter: (event: MapLayerMouseEvent) => void;
1104
+ mouseleave: (event: MapLayerMouseEvent) => void;
1105
+ mousemove: (event: MapLayerMouseEvent) => void;
1106
+ mousedown: (event: MapLayerMouseEvent) => void;
1107
+ mouseup: (event: MapLayerMouseEvent) => void;
1108
+ contextmenu: (event: MapLayerMouseEvent) => void;
1109
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_4<__VLS_TypePropsToRuntimeProps_4<FillLayerProps>, {
1110
+ sourceLayer: undefined;
1111
+ paint: () => {};
1112
+ layout: () => {};
1113
+ filter: undefined;
1114
+ minzoom: undefined;
1115
+ maxzoom: undefined;
1116
+ beforeId: undefined;
1117
+ }>>> & Readonly<{
1118
+ onClick?: ((event: MapLayerMouseEvent) => any) | undefined;
1119
+ onDblclick?: ((event: MapLayerMouseEvent) => any) | undefined;
1120
+ onMousedown?: ((event: MapLayerMouseEvent) => any) | undefined;
1121
+ onMouseup?: ((event: MapLayerMouseEvent) => any) | undefined;
1122
+ onMousemove?: ((event: MapLayerMouseEvent) => any) | undefined;
1123
+ onMouseenter?: ((event: MapLayerMouseEvent) => any) | undefined;
1124
+ onMouseleave?: ((event: MapLayerMouseEvent) => any) | undefined;
1125
+ onContextmenu?: ((event: MapLayerMouseEvent) => any) | undefined;
1126
+ }>, {
1127
+ sourceLayer: string;
1128
+ paint: {
1129
+ "fill-antialias"?: PropertyValueSpecification<boolean>;
1130
+ "fill-opacity"?: DataDrivenPropertyValueSpecification<number>;
1131
+ "fill-opacity-transition"?: TransitionSpecification;
1132
+ "fill-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1133
+ "fill-color-transition"?: TransitionSpecification;
1134
+ "fill-outline-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1135
+ "fill-outline-color-transition"?: TransitionSpecification;
1136
+ "fill-translate"?: PropertyValueSpecification<[number, number]>;
1137
+ "fill-translate-transition"?: TransitionSpecification;
1138
+ "fill-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">;
1139
+ "fill-pattern"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>;
1140
+ "fill-pattern-transition"?: TransitionSpecification;
1141
+ };
1142
+ layout: {
1143
+ "fill-sort-key"?: DataDrivenPropertyValueSpecification<number>;
1144
+ visibility?: VisibilitySpecification;
1145
+ };
1146
+ filter: FilterSpecification;
1147
+ minzoom: number;
1148
+ maxzoom: number;
1149
+ beforeId: string;
1150
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1151
+
1152
+ declare interface FillLayerProps extends BaseLayerProps {
1153
+ /** Paint properties for fill styling */
1154
+ paint?: FillLayerSpecification["paint"];
1155
+ /** Layout properties */
1156
+ layout?: FillLayerSpecification["layout"];
1157
+ }
1158
+
1159
+ /**
1160
+ * Geocode an address string via Philadelphia AIS API.
1161
+ * Returns the full AIS response object, or null if no results found.
1162
+ */
1163
+ export declare function geocodeAddress(address: string): Promise<AisResponse | null>;
1164
+
1165
+ export declare const GeolocationButton: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_13<__VLS_TypePropsToRuntimeProps_13<GeolocationButtonProps>, {
767
1166
  position: string;
768
1167
  icon: string;
769
1168
  iconSize: number;
770
1169
  title: string;
771
1170
  trackUser: boolean;
772
- showAccuracyCircle: boolean;
1171
+ markerColor: string;
773
1172
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
774
1173
  located: (data: {
775
1174
  longitude: number;
@@ -777,27 +1176,27 @@ latitude: number;
777
1176
  accuracy: number;
778
1177
  }) => void;
779
1178
  error: (error: Error | GeolocationPositionError) => void;
780
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_7<GeolocationButtonProps>, {
1179
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_13<__VLS_TypePropsToRuntimeProps_13<GeolocationButtonProps>, {
781
1180
  position: string;
782
1181
  icon: string;
783
1182
  iconSize: number;
784
1183
  title: string;
785
1184
  trackUser: boolean;
786
- showAccuracyCircle: boolean;
1185
+ markerColor: string;
787
1186
  }>>> & Readonly<{
788
- onError?: ((error: Error | GeolocationPositionError) => any) | undefined;
789
1187
  onLocated?: ((data: {
790
1188
  longitude: number;
791
1189
  latitude: number;
792
1190
  accuracy: number;
793
1191
  }) => any) | undefined;
1192
+ onError?: ((error: Error | GeolocationPositionError) => any) | undefined;
794
1193
  }>, {
795
1194
  icon: string;
796
1195
  position: MapControlPosition;
797
1196
  title: string;
798
1197
  iconSize: number;
799
1198
  trackUser: boolean;
800
- showAccuracyCircle: boolean;
1199
+ markerColor: string;
801
1200
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
802
1201
 
803
1202
  declare interface GeolocationButtonProps extends BaseProps {
@@ -806,12 +1205,114 @@ declare interface GeolocationButtonProps extends BaseProps {
806
1205
  iconSize?: number;
807
1206
  title?: string;
808
1207
  trackUser?: boolean;
809
- showAccuracyCircle?: boolean;
1208
+ markerColor?: string;
1209
+ }
1210
+
1211
+ export declare const imageryLabelsSource: RasterSourceSpecification;
1212
+
1213
+ export declare const imageryLabelsUrl = "https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_Labels/MapServer/tile/{z}/{y}/{x}";
1214
+
1215
+ export declare const imageryParcelOutlinesSource: RasterSourceSpecification;
1216
+
1217
+ export declare interface ImagerySource {
1218
+ tiles: string[];
1219
+ type: "raster";
1220
+ tileSize: number;
1221
+ }
1222
+
1223
+ export declare const imagerySources: Record<string, RasterSourceSpecification>;
1224
+
1225
+ export declare interface ImageryYearOption {
1226
+ label: string;
1227
+ year: string;
1228
+ imageryUrl: string;
1229
+ imageryLabelsUrl: string | null;
1230
+ /** Whether labels should be shown for this imagery year. True for actual aerial imagery, false for historic maps with built-in labels. */
1231
+ showLabels: boolean;
810
1232
  }
811
1233
 
812
- /** Common layer type for MapLayer */
1234
+ /** Common layer type for MapLayer (legacy component) */
813
1235
  declare type LayerType = "fill" | "line" | "symbol" | "circle" | "fill-extrusion" | "raster" | "background" | "heatmap" | "hillshade";
814
1236
 
1237
+ export declare const LineLayer: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_5<LineLayerProps>, {
1238
+ sourceLayer: undefined;
1239
+ paint: () => {};
1240
+ layout: () => {};
1241
+ filter: undefined;
1242
+ minzoom: undefined;
1243
+ maxzoom: undefined;
1244
+ beforeId: undefined;
1245
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1246
+ click: (event: MapLayerMouseEvent) => void;
1247
+ dblclick: (event: MapLayerMouseEvent) => void;
1248
+ mouseenter: (event: MapLayerMouseEvent) => void;
1249
+ mouseleave: (event: MapLayerMouseEvent) => void;
1250
+ mousemove: (event: MapLayerMouseEvent) => void;
1251
+ mousedown: (event: MapLayerMouseEvent) => void;
1252
+ mouseup: (event: MapLayerMouseEvent) => void;
1253
+ contextmenu: (event: MapLayerMouseEvent) => void;
1254
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_5<LineLayerProps>, {
1255
+ sourceLayer: undefined;
1256
+ paint: () => {};
1257
+ layout: () => {};
1258
+ filter: undefined;
1259
+ minzoom: undefined;
1260
+ maxzoom: undefined;
1261
+ beforeId: undefined;
1262
+ }>>> & Readonly<{
1263
+ onClick?: ((event: MapLayerMouseEvent) => any) | undefined;
1264
+ onDblclick?: ((event: MapLayerMouseEvent) => any) | undefined;
1265
+ onMousedown?: ((event: MapLayerMouseEvent) => any) | undefined;
1266
+ onMouseup?: ((event: MapLayerMouseEvent) => any) | undefined;
1267
+ onMousemove?: ((event: MapLayerMouseEvent) => any) | undefined;
1268
+ onMouseenter?: ((event: MapLayerMouseEvent) => any) | undefined;
1269
+ onMouseleave?: ((event: MapLayerMouseEvent) => any) | undefined;
1270
+ onContextmenu?: ((event: MapLayerMouseEvent) => any) | undefined;
1271
+ }>, {
1272
+ sourceLayer: string;
1273
+ paint: {
1274
+ "line-opacity"?: DataDrivenPropertyValueSpecification<number>;
1275
+ "line-opacity-transition"?: TransitionSpecification;
1276
+ "line-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1277
+ "line-color-transition"?: TransitionSpecification;
1278
+ "line-translate"?: PropertyValueSpecification<[number, number]>;
1279
+ "line-translate-transition"?: TransitionSpecification;
1280
+ "line-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">;
1281
+ "line-width"?: DataDrivenPropertyValueSpecification<number>;
1282
+ "line-width-transition"?: TransitionSpecification;
1283
+ "line-gap-width"?: DataDrivenPropertyValueSpecification<number>;
1284
+ "line-gap-width-transition"?: TransitionSpecification;
1285
+ "line-offset"?: DataDrivenPropertyValueSpecification<number>;
1286
+ "line-offset-transition"?: TransitionSpecification;
1287
+ "line-blur"?: DataDrivenPropertyValueSpecification<number>;
1288
+ "line-blur-transition"?: TransitionSpecification;
1289
+ "line-dasharray"?: DataDrivenPropertyValueSpecification<Array<number>>;
1290
+ "line-dasharray-transition"?: TransitionSpecification;
1291
+ "line-pattern"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>;
1292
+ "line-pattern-transition"?: TransitionSpecification;
1293
+ "line-gradient"?: ExpressionSpecification;
1294
+ };
1295
+ layout: {
1296
+ "line-cap"?: PropertyValueSpecification<"butt" | "round" | "square">;
1297
+ "line-join"?: DataDrivenPropertyValueSpecification<"bevel" | "round" | "miter">;
1298
+ "line-miter-limit"?: PropertyValueSpecification<number>;
1299
+ "line-round-limit"?: PropertyValueSpecification<number>;
1300
+ "line-sort-key"?: DataDrivenPropertyValueSpecification<number>;
1301
+ visibility?: VisibilitySpecification;
1302
+ };
1303
+ filter: FilterSpecification;
1304
+ minzoom: number;
1305
+ maxzoom: number;
1306
+ beforeId: string;
1307
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1308
+
1309
+ declare interface LineLayerProps extends BaseLayerProps {
1310
+ /** Paint properties for line styling */
1311
+ paint?: LineLayerSpecification["paint"];
1312
+ /** Layout properties */
1313
+ layout?: LineLayerSpecification["layout"];
1314
+ }
1315
+
815
1316
  declare interface LineStringGeometry {
816
1317
  type: "LineString";
817
1318
  coordinates: number[][];
@@ -819,38 +1320,7 @@ declare interface LineStringGeometry {
819
1320
 
820
1321
  export { Map_2 as Map }
821
1322
 
822
- export declare const MapButton: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_6<MapButtonProps>, {
823
- icon: string;
824
- image: string;
825
- position: string;
826
- title: string;
827
- iconSize: number;
828
- toggleable: boolean;
829
- active: boolean;
830
- activeColor: string;
831
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
832
- click: () => void;
833
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_6<MapButtonProps>, {
834
- icon: string;
835
- image: string;
836
- position: string;
837
- title: string;
838
- iconSize: number;
839
- toggleable: boolean;
840
- active: boolean;
841
- activeColor: string;
842
- }>>> & Readonly<{
843
- onClick?: (() => any) | undefined;
844
- }>, {
845
- icon: string;
846
- position: MapControlPosition;
847
- title: string;
848
- iconSize: number;
849
- image: string;
850
- toggleable: boolean;
851
- active: boolean;
852
- activeColor: string;
853
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1323
+ export declare const MapButton: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, ReturnType<typeof __VLS_template_6>>;
854
1324
 
855
1325
  declare interface MapButtonProps extends BaseProps {
856
1326
  icon?: string;
@@ -866,11 +1336,7 @@ declare interface MapButtonProps extends BaseProps {
866
1336
  /** Common position type for map controls */
867
1337
  declare type MapControlPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
868
1338
 
869
- declare interface MapControlProps {
870
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
871
- }
872
-
873
- export declare const MapFloatingPanel: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, ReturnType<typeof __VLS_template_4>>;
1339
+ export declare const MapFloatingPanel: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, ReturnType<typeof __VLS_template_5>>;
874
1340
 
875
1341
  declare interface MapFloatingPanelProps extends BaseProps {
876
1342
  position?: MapControlPosition;
@@ -882,8 +1348,9 @@ declare interface MapFloatingPanelProps extends BaseProps {
882
1348
  leaveRoomForControls?: boolean;
883
1349
  }
884
1350
 
885
- export declare const MapLayer: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
1351
+ export declare const MapLayer: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, ReturnType<typeof __VLS_template_3>>;
886
1352
 
1353
+ /** Legacy MapLayer props - use specific layer components instead */
887
1354
  declare interface MapLayerProps extends BaseProps {
888
1355
  id: string;
889
1356
  type: LayerType;
@@ -897,7 +1364,7 @@ declare interface MapLayerProps extends BaseProps {
897
1364
  beforeId?: string;
898
1365
  }
899
1366
 
900
- export declare const MapMarker: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, ReturnType<typeof __VLS_template_2>>;
1367
+ export declare const MapMarker: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
901
1368
 
902
1369
  declare interface MapMarkerProps extends BaseProps {
903
1370
  lngLat: [number, number];
@@ -911,55 +1378,96 @@ declare interface MapMarkerProps extends BaseProps {
911
1378
  iconColor?: string;
912
1379
  }
913
1380
 
914
- export declare const MapNavigationControl: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, ReturnType<typeof __VLS_template_3>>;
1381
+ export declare const MapNavigationControl: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, ReturnType<typeof __VLS_template_4>>;
915
1382
 
916
1383
  declare interface MapNavigationControlProps extends BaseProps {
917
1384
  position?: MapControlPosition;
918
1385
  }
919
1386
 
920
- export declare const MeasureButton: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_10<__VLS_TypePropsToRuntimeProps_10<MeasureButtonProps>, {
1387
+ export declare const MapPopup: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, ReturnType<typeof __VLS_template_2>>;
1388
+
1389
+ declare interface MapPopupProps {
1390
+ /** The geographic location for the popup [lng, lat] */
1391
+ lngLat: LngLatLike;
1392
+ /** HTML content to display in the popup */
1393
+ html?: string;
1394
+ /** Whether the popup should have a close button */
1395
+ closeButton?: boolean;
1396
+ /** Whether clicking outside the popup closes it */
1397
+ closeOnClick?: boolean;
1398
+ /** CSS class name(s) to add to the popup container */
1399
+ className?: string;
1400
+ /** Maximum width of the popup (CSS string, e.g., '300px') */
1401
+ maxWidth?: string;
1402
+ /** Offset from the anchor point [x, y] pixels */
1403
+ offset?: Offset;
1404
+ /** Anchor position relative to the lngLat */
1405
+ anchor?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center";
1406
+ }
1407
+
1408
+ export declare const MapSearchControl: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_16<__VLS_TypePropsToRuntimeProps_16<MapSearchControlProps>, {
921
1409
  position: string;
922
- icon: string;
923
- iconSize: number;
924
- title: string;
925
- unit: string;
926
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
927
- measured: (data: MeasuredData) => void;
928
- cleared: () => void;
929
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_10<__VLS_TypePropsToRuntimeProps_10<MeasureButtonProps>, {
1410
+ placeholder: string;
1411
+ geocode: boolean;
1412
+ flyTo: boolean;
1413
+ flyToZoom: number;
1414
+ }>>, {
1415
+ loading: Ref<boolean, boolean>;
1416
+ error: Ref<string | null, string | null>;
1417
+ searchQuery: Ref<string, string>;
1418
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1419
+ search: (query: string) => void;
1420
+ result: (result: AisGeocodeResult) => void;
1421
+ error: (error: string) => void;
1422
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_16<__VLS_TypePropsToRuntimeProps_16<MapSearchControlProps>, {
930
1423
  position: string;
931
- icon: string;
932
- iconSize: number;
933
- title: string;
934
- unit: string;
1424
+ placeholder: string;
1425
+ geocode: boolean;
1426
+ flyTo: boolean;
1427
+ flyToZoom: number;
935
1428
  }>>> & Readonly<{
936
- onMeasured?: ((data: MeasuredData) => any) | undefined;
937
- onCleared?: (() => any) | undefined;
1429
+ onError?: ((error: string) => any) | undefined;
1430
+ onSearch?: ((query: string) => any) | undefined;
1431
+ onResult?: ((result: AisGeocodeResult) => any) | undefined;
938
1432
  }>, {
939
- icon: string;
940
1433
  position: MapControlPosition;
941
- title: string;
942
- iconSize: number;
943
- unit: "feet" | "meters" | "miles" | "kilometers";
1434
+ placeholder: string;
1435
+ geocode: boolean;
1436
+ flyTo: boolean;
1437
+ flyToZoom: number;
944
1438
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
945
1439
 
946
- declare interface MeasureButtonProps extends BaseProps {
1440
+ declare interface MapSearchControlProps {
947
1441
  position?: MapControlPosition;
948
- icon?: string;
949
- iconSize?: number;
950
- title?: string;
951
- unit?: "feet" | "meters" | "miles" | "kilometers";
1442
+ placeholder?: string;
1443
+ /** Whether to geocode the search query via AIS (default: true) */
1444
+ geocode?: boolean;
1445
+ /** Whether to fly to the geocoded location (default: true) */
1446
+ flyTo?: boolean;
1447
+ /** Zoom level when flying to location (default: 18) */
1448
+ flyToZoom?: number;
952
1449
  }
953
1450
 
954
- declare interface MeasuredData {
955
- points: Point[];
956
- totalDistance: string;
957
- unit: string;
1451
+ /**
1452
+ * GeoJSON FeatureCollection for parcel geometry
1453
+ */
1454
+ export declare interface ParcelFeatureCollection {
1455
+ type: "FeatureCollection";
1456
+ features: Array<{
1457
+ type: "Feature";
1458
+ geometry: PolygonGeometry_2;
1459
+ properties: {
1460
+ parcelid: string;
1461
+ };
1462
+ }>;
958
1463
  }
959
1464
 
960
- declare interface Point {
961
- lng: number;
962
- lat: number;
1465
+ /**
1466
+ * Result from querying a parcel at a point
1467
+ */
1468
+ export declare interface ParcelQueryResult {
1469
+ parcelId: string;
1470
+ address: string | null;
963
1471
  }
964
1472
 
965
1473
  declare interface PointGeometry {
@@ -972,18 +1480,231 @@ declare interface PolygonGeometry {
972
1480
  coordinates: number[][][];
973
1481
  }
974
1482
 
1483
+ /**
1484
+ * GeoJSON Polygon geometry
1485
+ */
1486
+ declare interface PolygonGeometry_2 {
1487
+ type: "Polygon";
1488
+ coordinates: number[][][];
1489
+ }
1490
+
1491
+ /**
1492
+ * Query the PWD parcel layer at a given point.
1493
+ * Returns parcel ID and address if found, or null if no parcel at that location.
1494
+ */
1495
+ export declare function queryParcelAtPoint(lng: number, lat: number): Promise<ParcelQueryResult | null>;
1496
+
1497
+ export declare const RasterLayer: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_8<__VLS_TypePropsToRuntimeProps_8<RasterLayerProps>, {
1498
+ paint: () => {};
1499
+ minzoom: undefined;
1500
+ maxzoom: undefined;
1501
+ beforeId: undefined;
1502
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_8<__VLS_TypePropsToRuntimeProps_8<RasterLayerProps>, {
1503
+ paint: () => {};
1504
+ minzoom: undefined;
1505
+ maxzoom: undefined;
1506
+ beforeId: undefined;
1507
+ }>>> & Readonly<{}>, {
1508
+ paint: {
1509
+ "raster-opacity"?: PropertyValueSpecification<number>;
1510
+ "raster-opacity-transition"?: TransitionSpecification;
1511
+ "raster-hue-rotate"?: PropertyValueSpecification<number>;
1512
+ "raster-hue-rotate-transition"?: TransitionSpecification;
1513
+ "raster-brightness-min"?: PropertyValueSpecification<number>;
1514
+ "raster-brightness-min-transition"?: TransitionSpecification;
1515
+ "raster-brightness-max"?: PropertyValueSpecification<number>;
1516
+ "raster-brightness-max-transition"?: TransitionSpecification;
1517
+ "raster-saturation"?: PropertyValueSpecification<number>;
1518
+ "raster-saturation-transition"?: TransitionSpecification;
1519
+ "raster-contrast"?: PropertyValueSpecification<number>;
1520
+ "raster-contrast-transition"?: TransitionSpecification;
1521
+ "raster-resampling"?: PropertyValueSpecification<"linear" | "nearest">;
1522
+ "raster-fade-duration"?: PropertyValueSpecification<number>;
1523
+ };
1524
+ minzoom: number;
1525
+ maxzoom: number;
1526
+ beforeId: string;
1527
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1528
+
1529
+ declare interface RasterLayerProps extends BaseProps {
1530
+ /** Unique layer ID */
1531
+ id: string;
1532
+ /** Raster source - either inline definition or reference to existing source ID */
1533
+ source: string | RasterSourceSpecification;
1534
+ /** Paint properties for raster styling (opacity, contrast, etc.) */
1535
+ paint?: RasterLayerSpecification["paint"];
1536
+ /** Minimum zoom level for layer visibility */
1537
+ minzoom?: number;
1538
+ /** Maximum zoom level for layer visibility */
1539
+ maxzoom?: number;
1540
+ /** ID of layer to insert this layer before */
1541
+ beforeId?: string;
1542
+ }
1543
+
975
1544
  declare type ShapeGeometry = PolygonGeometry | LineStringGeometry | PointGeometry;
976
1545
 
1546
+ export declare const SymbolLayer: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_7<SymbolLayerProps>, {
1547
+ sourceLayer: undefined;
1548
+ paint: () => {};
1549
+ layout: () => {};
1550
+ filter: undefined;
1551
+ minzoom: undefined;
1552
+ maxzoom: undefined;
1553
+ beforeId: undefined;
1554
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1555
+ click: (event: MapLayerMouseEvent) => void;
1556
+ dblclick: (event: MapLayerMouseEvent) => void;
1557
+ mouseenter: (event: MapLayerMouseEvent) => void;
1558
+ mouseleave: (event: MapLayerMouseEvent) => void;
1559
+ mousemove: (event: MapLayerMouseEvent) => void;
1560
+ mousedown: (event: MapLayerMouseEvent) => void;
1561
+ mouseup: (event: MapLayerMouseEvent) => void;
1562
+ contextmenu: (event: MapLayerMouseEvent) => void;
1563
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_7<SymbolLayerProps>, {
1564
+ sourceLayer: undefined;
1565
+ paint: () => {};
1566
+ layout: () => {};
1567
+ filter: undefined;
1568
+ minzoom: undefined;
1569
+ maxzoom: undefined;
1570
+ beforeId: undefined;
1571
+ }>>> & Readonly<{
1572
+ onClick?: ((event: MapLayerMouseEvent) => any) | undefined;
1573
+ onDblclick?: ((event: MapLayerMouseEvent) => any) | undefined;
1574
+ onMousedown?: ((event: MapLayerMouseEvent) => any) | undefined;
1575
+ onMouseup?: ((event: MapLayerMouseEvent) => any) | undefined;
1576
+ onMousemove?: ((event: MapLayerMouseEvent) => any) | undefined;
1577
+ onMouseenter?: ((event: MapLayerMouseEvent) => any) | undefined;
1578
+ onMouseleave?: ((event: MapLayerMouseEvent) => any) | undefined;
1579
+ onContextmenu?: ((event: MapLayerMouseEvent) => any) | undefined;
1580
+ }>, {
1581
+ sourceLayer: string;
1582
+ paint: {
1583
+ "icon-opacity"?: DataDrivenPropertyValueSpecification<number>;
1584
+ "icon-opacity-transition"?: TransitionSpecification;
1585
+ "icon-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1586
+ "icon-color-transition"?: TransitionSpecification;
1587
+ "icon-halo-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1588
+ "icon-halo-color-transition"?: TransitionSpecification;
1589
+ "icon-halo-width"?: DataDrivenPropertyValueSpecification<number>;
1590
+ "icon-halo-width-transition"?: TransitionSpecification;
1591
+ "icon-halo-blur"?: DataDrivenPropertyValueSpecification<number>;
1592
+ "icon-halo-blur-transition"?: TransitionSpecification;
1593
+ "icon-translate"?: PropertyValueSpecification<[number, number]>;
1594
+ "icon-translate-transition"?: TransitionSpecification;
1595
+ "icon-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">;
1596
+ "text-opacity"?: DataDrivenPropertyValueSpecification<number>;
1597
+ "text-opacity-transition"?: TransitionSpecification;
1598
+ "text-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1599
+ "text-color-transition"?: TransitionSpecification;
1600
+ "text-halo-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>;
1601
+ "text-halo-color-transition"?: TransitionSpecification;
1602
+ "text-halo-width"?: DataDrivenPropertyValueSpecification<number>;
1603
+ "text-halo-width-transition"?: TransitionSpecification;
1604
+ "text-halo-blur"?: DataDrivenPropertyValueSpecification<number>;
1605
+ "text-halo-blur-transition"?: TransitionSpecification;
1606
+ "text-translate"?: PropertyValueSpecification<[number, number]>;
1607
+ "text-translate-transition"?: TransitionSpecification;
1608
+ "text-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">;
1609
+ };
1610
+ layout: {
1611
+ "symbol-placement"?: PropertyValueSpecification<"point" | "line" | "line-center">;
1612
+ "symbol-spacing"?: PropertyValueSpecification<number>;
1613
+ "symbol-avoid-edges"?: PropertyValueSpecification<boolean>;
1614
+ "symbol-sort-key"?: DataDrivenPropertyValueSpecification<number>;
1615
+ "symbol-z-order"?: PropertyValueSpecification<"auto" | "viewport-y" | "source">;
1616
+ "icon-allow-overlap"?: PropertyValueSpecification<boolean>;
1617
+ "icon-overlap"?: PropertyValueSpecification<"never" | "always" | "cooperative">;
1618
+ "icon-ignore-placement"?: PropertyValueSpecification<boolean>;
1619
+ "icon-optional"?: PropertyValueSpecification<boolean>;
1620
+ "icon-rotation-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">;
1621
+ "icon-size"?: DataDrivenPropertyValueSpecification<number>;
1622
+ "icon-text-fit"?: PropertyValueSpecification<"none" | "width" | "height" | "both">;
1623
+ "icon-text-fit-padding"?: PropertyValueSpecification<[number, number, number, number]>;
1624
+ "icon-image"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>;
1625
+ "icon-rotate"?: DataDrivenPropertyValueSpecification<number>;
1626
+ "icon-padding"?: DataDrivenPropertyValueSpecification<PaddingSpecification>;
1627
+ "icon-keep-upright"?: PropertyValueSpecification<boolean>;
1628
+ "icon-offset"?: DataDrivenPropertyValueSpecification<[number, number]>;
1629
+ "icon-anchor"?: DataDrivenPropertyValueSpecification<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">;
1630
+ "icon-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">;
1631
+ "text-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">;
1632
+ "text-rotation-alignment"?: PropertyValueSpecification<"map" | "viewport" | "viewport-glyph" | "auto">;
1633
+ "text-field"?: DataDrivenPropertyValueSpecification<FormattedSpecification>;
1634
+ "text-font"?: DataDrivenPropertyValueSpecification<Array<string>>;
1635
+ "text-size"?: DataDrivenPropertyValueSpecification<number>;
1636
+ "text-max-width"?: DataDrivenPropertyValueSpecification<number>;
1637
+ "text-line-height"?: PropertyValueSpecification<number>;
1638
+ "text-letter-spacing"?: DataDrivenPropertyValueSpecification<number>;
1639
+ "text-justify"?: DataDrivenPropertyValueSpecification<"auto" | "left" | "center" | "right">;
1640
+ "text-radial-offset"?: DataDrivenPropertyValueSpecification<number>;
1641
+ "text-variable-anchor"?: PropertyValueSpecification<Array<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">>;
1642
+ "text-variable-anchor-offset"?: DataDrivenPropertyValueSpecification<VariableAnchorOffsetCollectionSpecification>;
1643
+ "text-anchor"?: DataDrivenPropertyValueSpecification<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">;
1644
+ "text-max-angle"?: PropertyValueSpecification<number>;
1645
+ "text-writing-mode"?: PropertyValueSpecification<Array<"horizontal" | "vertical">>;
1646
+ "text-rotate"?: DataDrivenPropertyValueSpecification<number>;
1647
+ "text-padding"?: PropertyValueSpecification<number>;
1648
+ "text-keep-upright"?: PropertyValueSpecification<boolean>;
1649
+ "text-transform"?: DataDrivenPropertyValueSpecification<"none" | "uppercase" | "lowercase">;
1650
+ "text-offset"?: DataDrivenPropertyValueSpecification<[number, number]>;
1651
+ "text-allow-overlap"?: PropertyValueSpecification<boolean>;
1652
+ "text-overlap"?: PropertyValueSpecification<"never" | "always" | "cooperative">;
1653
+ "text-ignore-placement"?: PropertyValueSpecification<boolean>;
1654
+ "text-optional"?: PropertyValueSpecification<boolean>;
1655
+ visibility?: VisibilitySpecification;
1656
+ };
1657
+ filter: FilterSpecification;
1658
+ minzoom: number;
1659
+ maxzoom: number;
1660
+ beforeId: string;
1661
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1662
+
1663
+ declare interface SymbolLayerProps extends BaseLayerProps {
1664
+ /** Paint properties for symbol styling */
1665
+ paint?: SymbolLayerSpecification["paint"];
1666
+ /** Layout properties (includes text and icon settings) */
1667
+ layout?: SymbolLayerSpecification["layout"];
1668
+ }
1669
+
977
1670
  declare function toggleDropdown(): void;
978
1671
 
979
1672
  /**
980
- * Composable for creating MapLibre IControl components
981
- * Handles the boilerplate of adding/removing controls
1673
+ * Composable for adding MapLibre controls to the map.
1674
+ *
1675
+ * This composable handles positioning controls in MapLibre's corner containers
1676
+ * (top-left, top-right, etc.) and automatic cleanup on unmount.
1677
+ *
1678
+ * ## What is IControl?
1679
+ *
1680
+ * IControl is MapLibre's interface for map controls. It's not a class you extend -
1681
+ * it's a TypeScript interface that uses "duck typing": any object with the right
1682
+ * methods qualifies. The required methods are:
1683
+ *
1684
+ * - onAdd(map): Called when control is added. Must return an HTMLElement.
1685
+ * - onRemove(): Called when control is removed. Handle any cleanup here.
1686
+ *
1687
+ * So this plain object is a valid IControl:
1688
+ *
1689
+ * { onAdd() { return myDiv; }, onRemove() {} }
1690
+ *
1691
+ * ## Usage
1692
+ *
1693
+ * For Vue template-based controls (MapButton, MapSearchControl, BasemapDropdown),
1694
+ * pass a ref to the container element. The composable creates the IControl internally,
1695
+ * returning your Vue template's DOM element from onAdd():
1696
+ *
1697
+ * const containerRef = ref<HTMLElement | null>(null);
1698
+ * useMapControl(props, containerRef);
1699
+ *
1700
+ * For MapLibre's built-in controls (like NavigationControl), pass a function that
1701
+ * returns the control. These already implement IControl internally:
1702
+ *
1703
+ * useMapControl(props, () => new maplibregl.NavigationControl());
982
1704
  */
983
- export declare function useMapControl(props: MapControlProps, createControlFn: (map: Map_3) => IControl | Promise<IControl>): {
984
- map: Ref<Map_3 | null, Map_3 | null> | undefined;
985
- control: null;
986
- };
1705
+ export declare function useMapControl(props: {
1706
+ position?: MapControlPosition;
1707
+ }, controlOrContainer: Ref<HTMLElement | null> | (() => IControl)): void;
987
1708
 
988
1709
  export { }
989
1710