@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.
@@ -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
- position: MapControlPosition_2;
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: () => {
@@ -349,19 +391,64 @@ y: number;
349
391
  };
350
392
  leaveRoomForControls: boolean;
351
393
  }>>> & Readonly<{}>, {
352
- position: MapControlPosition_2;
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;
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;
629
908
  selectedIndex: number;
630
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,76 +923,50 @@ 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;
665
- }
666
-
667
- declare interface BasemapOption_2 {
668
- label: string;
669
- imageryUrl: string;
670
- 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;
671
934
  }
672
935
 
673
- 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>, {
674
937
  position: string;
675
938
  imageryUrl: string;
676
939
  imageryLabelsUrl: string;
677
- imageryLayerId: string;
678
- imageryLabelsLayerId: string;
679
- baseLayerId: null;
680
- iconImage: null;
681
- basemapImage: null;
682
940
  title: string;
683
941
  iconSize: number;
684
942
  showDropdown: boolean;
685
- dropdownOptions: () => never[];
943
+ dropdownOptions: () => ImageryYearOption[];
686
944
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
687
- toggled: (value: boolean) => void;
688
- }, 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>, {
689
947
  position: string;
690
948
  imageryUrl: string;
691
949
  imageryLabelsUrl: string;
692
- imageryLayerId: string;
693
- imageryLabelsLayerId: string;
694
- baseLayerId: null;
695
- iconImage: null;
696
- basemapImage: null;
697
950
  title: string;
698
951
  iconSize: number;
699
952
  showDropdown: boolean;
700
- dropdownOptions: () => never[];
953
+ dropdownOptions: () => ImageryYearOption[];
701
954
  }>>> & Readonly<{
702
- onToggled?: ((value: boolean) => any) | undefined;
955
+ onChange?: ((value: BasemapChangeEvent) => any) | undefined;
703
956
  }>, {
704
- position: MapControlPosition_2;
957
+ position: MapControlPosition;
705
958
  title: string;
706
959
  iconSize: number;
707
960
  imageryUrl: string;
708
961
  imageryLabelsUrl: string;
709
- imageryLayerId: string;
710
- imageryLabelsLayerId: string;
711
- baseLayerId: string | null;
712
- iconImage: string | null;
713
- basemapImage: string | null;
714
962
  showDropdown: boolean;
715
- dropdownOptions: BasemapOption_2[];
963
+ dropdownOptions: BasemapOption[];
716
964
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
717
965
 
718
966
  declare interface BasemapToggleProps extends BaseProps {
719
967
  position?: MapControlPosition;
720
968
  imageryUrl?: string;
721
969
  imageryLabelsUrl?: string;
722
- imageryLayerId?: string;
723
- imageryLabelsLayerId?: string;
724
- baseLayerId?: string | null;
725
970
  iconImage?: string | null;
726
971
  basemapImage?: string | null;
727
972
  title?: string;
@@ -730,25 +975,94 @@ declare interface BasemapToggleProps extends BaseProps {
730
975
  dropdownOptions?: BasemapOption[];
731
976
  }
732
977
 
733
- declare interface ButtonControl extends IControl {
734
- _map?: Map_3;
735
- _container?: HTMLDivElement;
736
- _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"];
737
1050
  }
738
1051
 
739
- /**
740
- * Factory for creating standard button controls
741
- */
742
- 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[];
743
1055
 
744
- 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>, {
745
1059
  icon: string;
746
1060
  position: string;
747
1061
  title: string;
748
1062
  iconSize: number;
749
1063
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
750
1064
  polygonComplete: (geometry: ShapeGeometry) => void;
751
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_5<__VLS_TypePropsToRuntimeProps_5<DrawToolProps>, {
1065
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_11<__VLS_TypePropsToRuntimeProps_11<DrawToolProps>, {
752
1066
  icon: string;
753
1067
  position: string;
754
1068
  title: string;
@@ -757,7 +1071,7 @@ iconSize: number;
757
1071
  onPolygonComplete?: ((geometry: ShapeGeometry) => any) | undefined;
758
1072
  }>, {
759
1073
  icon: string;
760
- position: MapControlPosition_2;
1074
+ position: MapControlPosition;
761
1075
  title: string;
762
1076
  iconSize: number;
763
1077
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
@@ -769,13 +1083,92 @@ declare interface DrawToolProps extends BaseProps {
769
1083
  iconSize?: number;
770
1084
  }
771
1085
 
772
- 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>, {
773
1166
  position: string;
774
1167
  icon: string;
775
1168
  iconSize: number;
776
1169
  title: string;
777
1170
  trackUser: boolean;
778
- showAccuracyCircle: boolean;
1171
+ markerColor: string;
779
1172
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
780
1173
  located: (data: {
781
1174
  longitude: number;
@@ -783,27 +1176,27 @@ latitude: number;
783
1176
  accuracy: number;
784
1177
  }) => void;
785
1178
  error: (error: Error | GeolocationPositionError) => void;
786
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_7<__VLS_TypePropsToRuntimeProps_7<GeolocationButtonProps>, {
1179
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_13<__VLS_TypePropsToRuntimeProps_13<GeolocationButtonProps>, {
787
1180
  position: string;
788
1181
  icon: string;
789
1182
  iconSize: number;
790
1183
  title: string;
791
1184
  trackUser: boolean;
792
- showAccuracyCircle: boolean;
1185
+ markerColor: string;
793
1186
  }>>> & Readonly<{
794
- onError?: ((error: Error | GeolocationPositionError) => any) | undefined;
795
1187
  onLocated?: ((data: {
796
1188
  longitude: number;
797
1189
  latitude: number;
798
1190
  accuracy: number;
799
1191
  }) => any) | undefined;
1192
+ onError?: ((error: Error | GeolocationPositionError) => any) | undefined;
800
1193
  }>, {
801
1194
  icon: string;
802
- position: MapControlPosition_2;
1195
+ position: MapControlPosition;
803
1196
  title: string;
804
1197
  iconSize: number;
805
1198
  trackUser: boolean;
806
- showAccuracyCircle: boolean;
1199
+ markerColor: string;
807
1200
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
808
1201
 
809
1202
  declare interface GeolocationButtonProps extends BaseProps {
@@ -812,12 +1205,114 @@ declare interface GeolocationButtonProps extends BaseProps {
812
1205
  iconSize?: number;
813
1206
  title?: string;
814
1207
  trackUser?: boolean;
815
- showAccuracyCircle?: boolean;
1208
+ markerColor?: string;
816
1209
  }
817
1210
 
818
- /** Common layer type for MapLayer */
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;
1232
+ }
1233
+
1234
+ /** Common layer type for MapLayer (legacy component) */
819
1235
  declare type LayerType = "fill" | "line" | "symbol" | "circle" | "fill-extrusion" | "raster" | "background" | "heatmap" | "hillshade";
820
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
+
821
1316
  declare interface LineStringGeometry {
822
1317
  type: "LineString";
823
1318
  coordinates: number[][];
@@ -825,38 +1320,7 @@ declare interface LineStringGeometry {
825
1320
 
826
1321
  export { Map_2 as Map }
827
1322
 
828
- export declare const MapButton: DefineComponent<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_6<MapButtonProps>, {
829
- icon: string;
830
- image: string;
831
- position: string;
832
- title: string;
833
- iconSize: number;
834
- toggleable: boolean;
835
- active: boolean;
836
- activeColor: string;
837
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
838
- click: () => void;
839
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults_6<__VLS_TypePropsToRuntimeProps_6<MapButtonProps>, {
840
- icon: string;
841
- image: string;
842
- position: string;
843
- title: string;
844
- iconSize: number;
845
- toggleable: boolean;
846
- active: boolean;
847
- activeColor: string;
848
- }>>> & Readonly<{
849
- onClick?: (() => any) | undefined;
850
- }>, {
851
- icon: string;
852
- position: MapControlPosition_2;
853
- title: string;
854
- iconSize: number;
855
- image: string;
856
- toggleable: boolean;
857
- active: boolean;
858
- activeColor: string;
859
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1323
+ export declare const MapButton: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, ReturnType<typeof __VLS_template_6>>;
860
1324
 
861
1325
  declare interface MapButtonProps extends BaseProps {
862
1326
  icon?: string;
@@ -872,14 +1336,7 @@ declare interface MapButtonProps extends BaseProps {
872
1336
  /** Common position type for map controls */
873
1337
  declare type MapControlPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
874
1338
 
875
- /** Common position type for map controls */
876
- declare type MapControlPosition_2 = "top-left" | "top-right" | "bottom-left" | "bottom-right";
877
-
878
- declare interface MapControlProps {
879
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
880
- }
881
-
882
- 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>>;
883
1340
 
884
1341
  declare interface MapFloatingPanelProps extends BaseProps {
885
1342
  position?: MapControlPosition;
@@ -891,8 +1348,9 @@ declare interface MapFloatingPanelProps extends BaseProps {
891
1348
  leaveRoomForControls?: boolean;
892
1349
  }
893
1350
 
894
- 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>>;
895
1352
 
1353
+ /** Legacy MapLayer props - use specific layer components instead */
896
1354
  declare interface MapLayerProps extends BaseProps {
897
1355
  id: string;
898
1356
  type: LayerType;
@@ -906,7 +1364,7 @@ declare interface MapLayerProps extends BaseProps {
906
1364
  beforeId?: string;
907
1365
  }
908
1366
 
909
- 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>>;
910
1368
 
911
1369
  declare interface MapMarkerProps extends BaseProps {
912
1370
  lngLat: [number, number];
@@ -920,55 +1378,96 @@ declare interface MapMarkerProps extends BaseProps {
920
1378
  iconColor?: string;
921
1379
  }
922
1380
 
923
- 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>>;
924
1382
 
925
1383
  declare interface MapNavigationControlProps extends BaseProps {
926
1384
  position?: MapControlPosition;
927
1385
  }
928
1386
 
929
- 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>, {
930
1409
  position: string;
931
- icon: string;
932
- iconSize: number;
933
- title: string;
934
- unit: string;
935
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
936
- measured: (data: MeasuredData) => void;
937
- cleared: () => void;
938
- }, 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>, {
939
1423
  position: string;
940
- icon: string;
941
- iconSize: number;
942
- title: string;
943
- unit: string;
1424
+ placeholder: string;
1425
+ geocode: boolean;
1426
+ flyTo: boolean;
1427
+ flyToZoom: number;
944
1428
  }>>> & Readonly<{
945
- onMeasured?: ((data: MeasuredData) => any) | undefined;
946
- onCleared?: (() => any) | undefined;
1429
+ onError?: ((error: string) => any) | undefined;
1430
+ onSearch?: ((query: string) => any) | undefined;
1431
+ onResult?: ((result: AisGeocodeResult) => any) | undefined;
947
1432
  }>, {
948
- icon: string;
949
- position: MapControlPosition_2;
950
- title: string;
951
- iconSize: number;
952
- unit: "feet" | "meters" | "miles" | "kilometers";
1433
+ position: MapControlPosition;
1434
+ placeholder: string;
1435
+ geocode: boolean;
1436
+ flyTo: boolean;
1437
+ flyToZoom: number;
953
1438
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
954
1439
 
955
- declare interface MeasureButtonProps extends BaseProps {
1440
+ declare interface MapSearchControlProps {
956
1441
  position?: MapControlPosition;
957
- icon?: string;
958
- iconSize?: number;
959
- title?: string;
960
- 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;
961
1449
  }
962
1450
 
963
- declare interface MeasuredData {
964
- points: Point[];
965
- totalDistance: string;
966
- 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
+ }>;
967
1463
  }
968
1464
 
969
- declare interface Point {
970
- lng: number;
971
- 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;
972
1471
  }
973
1472
 
974
1473
  declare interface PointGeometry {
@@ -981,18 +1480,231 @@ declare interface PolygonGeometry {
981
1480
  coordinates: number[][][];
982
1481
  }
983
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
+
984
1544
  declare type ShapeGeometry = PolygonGeometry | LineStringGeometry | PointGeometry;
985
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
+
986
1670
  declare function toggleDropdown(): void;
987
1671
 
988
1672
  /**
989
- * Composable for creating MapLibre IControl components
990
- * 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());
991
1704
  */
992
- export declare function useMapControl(props: MapControlProps, createControlFn: (map: Map_3) => IControl | Promise<IControl>): {
993
- map: Ref<Map_3 | null, Map_3 | null> | undefined;
994
- control: null;
995
- };
1705
+ export declare function useMapControl(props: {
1706
+ position?: MapControlPosition;
1707
+ }, controlOrContainer: Ref<HTMLElement | null> | (() => IControl)): void;
996
1708
 
997
1709
  export { }
998
1710