@phila/phila-ui-map-core 0.0.3-beta.8 → 0.0.3-beta.9

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,8 +1,8 @@
1
- import { defineComponent, inject, ref, watch, onBeforeUnmount, onUnmounted, createElementBlock, openBlock, computed, h as h$2, reactive, resolveComponent, createBlock, resolveDynamicComponent, mergeProps, withCtx, renderSlot, Fragment, createCommentVNode, normalizeProps, createTextVNode, toDisplayString, unref, normalizeClass, useAttrs, toRef, createElementVNode, withDirectives, vModelDynamic, createVNode, guardReactiveProps, withKeys, useSlots, onMounted, normalizeStyle, withModifiers, renderList, nextTick, defineAsyncComponent, provide, vShow, getCurrentInstance, toRefs, readonly, createStaticVNode } from "vue";
1
+ import { defineComponent, inject, ref, watch, onBeforeUnmount, onUnmounted, createElementBlock, openBlock, computed, h as h$2, reactive, resolveComponent, createBlock, resolveDynamicComponent, mergeProps, withCtx, renderSlot, Fragment, createCommentVNode, normalizeProps, createTextVNode, toDisplayString, unref, normalizeClass, useAttrs, toRef, createElementVNode, withDirectives, vModelDynamic, createVNode, guardReactiveProps, withKeys, useSlots, onMounted, normalizeStyle, withModifiers, renderList, nextTick, defineAsyncComponent, provide, vShow, getCurrentInstance, toRefs, Transition, readonly, createStaticVNode } from "vue";
2
2
  import maplibregl from "maplibre-gl";
3
3
  import { u as useMapControl } from "./useMapControl-JxftoDwE.js";
4
4
  import { p as point } from "./index-BXLyy2C_.js";
5
- const _hoisted_1$e = ["data-layer-id"], _sfc_main$o = /* @__PURE__ */ defineComponent({
5
+ const _hoisted_1$g = ["data-layer-id"], _sfc_main$q = /* @__PURE__ */ defineComponent({
6
6
  __name: "RasterLayer",
7
7
  props: {
8
8
  id: {},
@@ -79,9 +79,9 @@ const _hoisted_1$e = ["data-layer-id"], _sfc_main$o = /* @__PURE__ */ defineComp
79
79
  style: { display: "none" },
80
80
  "data-layer-id": O.id,
81
81
  "data-layer-type": "raster"
82
- }, null, 8, _hoisted_1$e));
82
+ }, null, 8, _hoisted_1$g));
83
83
  }
84
- }), _hoisted_1$d = ["data-layer-id"], _sfc_main$n = /* @__PURE__ */ defineComponent({
84
+ }), _hoisted_1$f = ["data-layer-id"], _sfc_main$p = /* @__PURE__ */ defineComponent({
85
85
  __name: "BasemapCeiling",
86
86
  props: {
87
87
  id: {}
@@ -124,7 +124,7 @@ const _hoisted_1$e = ["data-layer-id"], _sfc_main$o = /* @__PURE__ */ defineComp
124
124
  style: { display: "none" },
125
125
  "data-layer-id": O.id,
126
126
  "data-layer-type": "custom"
127
- }, null, 8, _hoisted_1$d));
127
+ }, null, 8, _hoisted_1$f));
128
128
  }
129
129
  });
130
130
  function _arrayLikeToArray$2(De, O) {
@@ -4137,14 +4137,14 @@ const Y = ["for"], Z = { class: "state-layer" }, ee = { class: "content" }, ae =
4137
4137
  }, 8, ["modelValue", "placeholder", "aria-label"])
4138
4138
  ], 16));
4139
4139
  }
4140
- }), _hoisted_1$c = ["aria-busy"], _hoisted_2$5 = {
4140
+ }), _hoisted_1$e = ["aria-busy"], _hoisted_2$7 = {
4141
4141
  key: 0,
4142
4142
  role: "alert",
4143
4143
  class: "map-search-error"
4144
- }, _hoisted_3$4 = {
4144
+ }, _hoisted_3$5 = {
4145
4145
  "aria-live": "polite",
4146
4146
  class: "sr-only"
4147
- }, _hoisted_4$2 = { key: 0 }, _sfc_main$m = /* @__PURE__ */ defineComponent({
4147
+ }, _hoisted_4$2 = { key: 0 }, _sfc_main$o = /* @__PURE__ */ defineComponent({
4148
4148
  __name: "MapSearchControl",
4149
4149
  props: {
4150
4150
  position: { default: "top-left" },
@@ -4197,11 +4197,11 @@ const Y = ["for"], Z = { class: "state-layer" }, ee = { class: "content" }, ae =
4197
4197
  "aria-label": "Search the map",
4198
4198
  onSearch: re
4199
4199
  }, null, 8, ["modelValue", "placeholder"]),
4200
- ye.value ? (openBlock(), createElementBlock("div", _hoisted_2$5, "⚠ " + toDisplayString(ye.value), 1)) : createCommentVNode("", !0),
4201
- createElementVNode("div", _hoisted_3$4, [
4200
+ ye.value ? (openBlock(), createElementBlock("div", _hoisted_2$7, "⚠ " + toDisplayString(ye.value), 1)) : createCommentVNode("", !0),
4201
+ createElementVNode("div", _hoisted_3$5, [
4202
4202
  he.value ? (openBlock(), createElementBlock("span", _hoisted_4$2, "Searching...")) : createCommentVNode("", !0)
4203
4203
  ])
4204
- ], 8, _hoisted_1$c));
4204
+ ], 8, _hoisted_1$e));
4205
4205
  }
4206
4206
  });
4207
4207
  function _arrayLikeToArray(De, O) {
@@ -4686,7 +4686,7 @@ defineComponent({
4686
4686
  };
4687
4687
  }
4688
4688
  });
4689
- const _hoisted_1$b = ["title", "aria-label", "aria-pressed"], _sfc_main$l = /* @__PURE__ */ defineComponent({
4689
+ const _hoisted_1$d = ["title", "aria-label", "aria-pressed"], _sfc_main$n = /* @__PURE__ */ defineComponent({
4690
4690
  __name: "MapButton",
4691
4691
  props: {
4692
4692
  icon: { default: void 0 },
@@ -4730,7 +4730,7 @@ const _hoisted_1$b = ["title", "aria-label", "aria-pressed"], _sfc_main$l = /* @
4730
4730
  style: normalizeStyle({ fontSize: `${M.iconSize}px` }),
4731
4731
  "aria-hidden": "true"
4732
4732
  }, null, 8, ["icon", "style"])) : createCommentVNode("", !0)
4733
- ], 14, _hoisted_1$b),
4733
+ ], 14, _hoisted_1$d),
4734
4734
  he.value ? createCommentVNode("", !0) : renderSlot(re.$slots, "default", { key: 1 })
4735
4735
  ], 2));
4736
4736
  }
@@ -4752,7 +4752,7 @@ var faUpRightFromSquare = {
4752
4752
  iconName: "location-crosshairs",
4753
4753
  icon: [576, 512, ["location"], "f601", "M288-16c17.7 0 32 14.3 32 32l0 18.3c98.1 14 175.7 91.6 189.7 189.7l18.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-18.3 0c-14 98.1-91.6 175.7-189.7 189.7l0 18.3c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.3C157.9 463.7 80.3 386.1 66.3 288L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.3 0C80.3 125.9 157.9 48.3 256 34.3L256 16c0-17.7 14.3-32 32-32zM128 256a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm160-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"]
4754
4754
  };
4755
- const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdown-label" }, _hoisted_3$3 = ["aria-checked", "tabindex", "onClick"], _sfc_main$k = /* @__PURE__ */ defineComponent({
4755
+ const _hoisted_1$c = ["title", "aria-expanded"], _hoisted_2$6 = { class: "dropdown-label" }, _hoisted_3$4 = ["aria-checked", "tabindex", "onClick"], _sfc_main$m = /* @__PURE__ */ defineComponent({
4756
4756
  __name: "BasemapDropdown",
4757
4757
  props: {
4758
4758
  options: {},
@@ -4857,13 +4857,13 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
4857
4857
  onClick: withModifiers(_e, ["stop"]),
4858
4858
  onKeydown: xe
4859
4859
  }, [
4860
- createElementVNode("span", _hoisted_2$4, toDisplayString(pe.value?.label || "Select"), 1),
4860
+ createElementVNode("span", _hoisted_2$6, toDisplayString(pe.value?.label || "Select"), 1),
4861
4861
  createVNode(unref(FontAwesomeIcon), {
4862
4862
  icon: ge.value ? unref(faChevronUp) : unref(faChevronDown),
4863
4863
  class: normalizeClass(["dropdown-icon", { open: me.value }]),
4864
4864
  "aria-hidden": "true"
4865
4865
  }, null, 8, ["icon", "class"])
4866
- ], 40, _hoisted_1$a),
4866
+ ], 40, _hoisted_1$c),
4867
4867
  me.value ? (openBlock(), createElementBlock("div", {
4868
4868
  key: 0,
4869
4869
  class: "basemap-dropdown-menu",
@@ -4879,7 +4879,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
4879
4879
  tabindex: Ue === he.value ? 0 : -1,
4880
4880
  class: normalizeClass(["basemap-dropdown-item", { selected: Ue === fe.value }]),
4881
4881
  onClick: withModifiers((He) => Ae(Ne, Ue), ["stop"])
4882
- }, toDisplayString(Ne.label), 11, _hoisted_3$3))), 128))
4882
+ }, toDisplayString(Ne.label), 11, _hoisted_3$4))), 128))
4883
4883
  ], 32)) : createCommentVNode("", !0)
4884
4884
  ], 2));
4885
4885
  }
@@ -5189,7 +5189,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5189
5189
  imageryLabelsUrl: null,
5190
5190
  showLabels: !1
5191
5191
  }
5192
- ], _sfc_main$j = /* @__PURE__ */ defineComponent({
5192
+ ], _sfc_main$l = /* @__PURE__ */ defineComponent({
5193
5193
  __name: "BasemapToggle",
5194
5194
  props: {
5195
5195
  position: { default: "top-right" },
@@ -5232,7 +5232,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5232
5232
  ue("change", we), M && M(we);
5233
5233
  }
5234
5234
  }
5235
- return (ge, _e) => (openBlock(), createBlock(_sfc_main$l, {
5235
+ return (ge, _e) => (openBlock(), createBlock(_sfc_main$n, {
5236
5236
  image: re.value,
5237
5237
  position: V.position,
5238
5238
  title: V.title,
@@ -5240,7 +5240,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5240
5240
  onClick: ce
5241
5241
  }, {
5242
5242
  default: withCtx(() => [
5243
- De.showDropdown && De.dropdownOptions.length > 0 && $.value ? (openBlock(), createBlock(_sfc_main$k, {
5243
+ De.showDropdown && De.dropdownOptions.length > 0 && $.value ? (openBlock(), createBlock(_sfc_main$m, {
5244
5244
  key: 0,
5245
5245
  options: De.dropdownOptions,
5246
5246
  "selected-index": ye.value,
@@ -5252,7 +5252,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5252
5252
  _: 1
5253
5253
  }, 8, ["image", "position", "title", "icon-size"]));
5254
5254
  }
5255
- }), _sfc_main$i = /* @__PURE__ */ defineComponent({
5255
+ }), _sfc_main$k = /* @__PURE__ */ defineComponent({
5256
5256
  __name: "MapNavigationControl",
5257
5257
  props: {
5258
5258
  position: { default: "top-right" },
@@ -5261,7 +5261,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5261
5261
  setup(De) {
5262
5262
  return useMapControl(De, () => new maplibregl.NavigationControl()), (M, V) => renderSlot(M.$slots, "default");
5263
5263
  }
5264
- }), _sfc_main$h = /* @__PURE__ */ defineComponent({
5264
+ }), _sfc_main$j = /* @__PURE__ */ defineComponent({
5265
5265
  __name: "GeolocationButton",
5266
5266
  props: {
5267
5267
  position: { default: "top-right" },
@@ -5335,7 +5335,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5335
5335
  };
5336
5336
  return onBeforeUnmount(() => {
5337
5337
  ge(), pe();
5338
- }), (Se, xe) => (openBlock(), createBlock(_sfc_main$l, {
5338
+ }), (Se, xe) => (openBlock(), createBlock(_sfc_main$n, {
5339
5339
  icon: unref(V),
5340
5340
  position: M.position,
5341
5341
  title: M.title,
@@ -5343,7 +5343,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5343
5343
  onClick: we
5344
5344
  }, null, 8, ["icon", "position", "title", "icon-size"]));
5345
5345
  }
5346
- }), _hoisted_1$9 = ["aria-label"], BASEMAP_CEILING_ID = "basemap-ceiling", _sfc_main$g = /* @__PURE__ */ defineComponent({
5346
+ }), _hoisted_1$b = ["aria-label"], BASEMAP_CEILING_ID = "basemap-ceiling", _sfc_main$i = /* @__PURE__ */ defineComponent({
5347
5347
  __name: "Map",
5348
5348
  props: {
5349
5349
  center: { default: () => [-75.163613, 39.952372] },
@@ -5378,7 +5378,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5378
5378
  },
5379
5379
  emits: ["load", "click", "move", "moveend", "zoom", "searchResult"],
5380
5380
  setup(De, { expose: O, emit: M }) {
5381
- const V = defineAsyncComponent(() => Promise.resolve().then(() => CyclomediaButton$1)), ue = defineAsyncComponent(() => Promise.resolve().then(() => CyclomediaPanel$1)), $ = defineAsyncComponent(() => import("./CyclomediaRecordingsLayer-B6C-F5g3.js")), me = defineAsyncComponent(() => import("./CyclomediaCameraIcon-Cpc41JaT.js")), fe = defineAsyncComponent(() => import("./CyclomediaViewcone-D3PQP0Xm.js")), he = defineAsyncComponent(() => Promise.resolve().then(() => PictometryButton$1)), ye = defineAsyncComponent(() => Promise.resolve().then(() => PictometryPanel$1)), re = De, ce = M, pe = ref(null), ge = ref(null), _e = ref(!1), we = ref(re.center), Se = ref(re.zoom), xe = ref(re.pitch), je = ref(re.bearing), Me = ref(null), Ae = ref(!1), Pe = ref(defaultImageryOptions[0]?.imageryUrl || null), Le = ref(defaultImageryOptions[0]?.imageryLabelsUrl || null), Oe = ref(defaultImageryOptions[0]?.showLabels ?? !0), Ne = ref(!1), Ue = ref(null), He = ref(!1), Ve = ref(!1), Ge = ref(null);
5381
+ const V = defineAsyncComponent(() => Promise.resolve().then(() => CyclomediaButton$1)), ue = defineAsyncComponent(() => Promise.resolve().then(() => CyclomediaPanel$1)), $ = defineAsyncComponent(() => import("./CyclomediaRecordingsLayer-BJ34tUBW.js")), me = defineAsyncComponent(() => import("./CyclomediaCameraIcon-DlVqj_ib.js")), fe = defineAsyncComponent(() => import("./CyclomediaViewcone-CfTf5g8D.js")), he = defineAsyncComponent(() => Promise.resolve().then(() => PictometryButton$1)), ye = defineAsyncComponent(() => Promise.resolve().then(() => PictometryPanel$1)), re = De, ce = M, pe = ref(null), ge = ref(null), _e = ref(!1), we = ref(re.center), Se = ref(re.zoom), xe = ref(re.pitch), je = ref(re.bearing), Me = ref(null), Ae = ref(!1), Pe = ref(defaultImageryOptions[0]?.imageryUrl || null), Le = ref(defaultImageryOptions[0]?.imageryLabelsUrl || null), Oe = ref(defaultImageryOptions[0]?.showLabels ?? !0), Ne = ref(!1), Ue = ref(null), He = ref(!1), Ve = ref(!1), Ge = ref(null);
5382
5382
  function Ye(Rt, rn) {
5383
5383
  Ue.value = Rt, Rt === "cyclomedia" ? (He.value || (Ge.value = rn, He.value = !0), Ne.value = !0) : Rt === "pictometry" && (Ve.value || (Ge.value = rn, Ve.value = !0));
5384
5384
  }
@@ -5555,19 +5555,19 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5555
5555
  onClick: rn[0] || (rn[0] = withModifiers(() => {
5556
5556
  }, ["prevent"]))
5557
5557
  }, " Use arrow keys to pan the map. Press + or - to zoom. Press Tab to exit. "),
5558
- De.noDefaultTileLayers ? createCommentVNode("", !0) : (openBlock(), createBlock(_sfc_main$o, {
5558
+ De.noDefaultTileLayers ? createCommentVNode("", !0) : (openBlock(), createBlock(_sfc_main$q, {
5559
5559
  key: 0,
5560
5560
  id: "basemap",
5561
5561
  source: wt.value,
5562
5562
  "before-id": "basemap-labels"
5563
5563
  }, null, 8, ["source"])),
5564
- !De.noDefaultTileLayers && Pt.value ? (openBlock(), createBlock(_sfc_main$o, {
5564
+ !De.noDefaultTileLayers && Pt.value ? (openBlock(), createBlock(_sfc_main$q, {
5565
5565
  key: 1,
5566
5566
  id: "basemap-labels",
5567
5567
  source: Pt.value,
5568
5568
  "before-id": Vt.value
5569
5569
  }, null, 8, ["source", "before-id"])) : createCommentVNode("", !0),
5570
- createVNode(_sfc_main$n, { id: BASEMAP_CEILING_ID }),
5570
+ createVNode(_sfc_main$p, { id: BASEMAP_CEILING_ID }),
5571
5571
  Ue.value === "cyclomedia" ? (openBlock(), createBlock(unref($), {
5572
5572
  key: 2,
5573
5573
  visible: !0,
@@ -5587,21 +5587,21 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5587
5587
  yaw: nt.value,
5588
5588
  "icon-size": 0.09
5589
5589
  }, null, 8, ["position", "yaw"])) : createCommentVNode("", !0),
5590
- De.navigationControls ? (openBlock(), createBlock(_sfc_main$i, {
5590
+ De.navigationControls ? (openBlock(), createBlock(_sfc_main$k, {
5591
5591
  key: 5,
5592
5592
  position: De.navigationControls.position
5593
5593
  }, null, 8, ["position"])) : createCommentVNode("", !0),
5594
- De.geolocationControl ? (openBlock(), createBlock(_sfc_main$h, {
5594
+ De.geolocationControl ? (openBlock(), createBlock(_sfc_main$j, {
5595
5595
  key: 6,
5596
5596
  position: De.geolocationControl.position
5597
5597
  }, null, 8, ["position"])) : createCommentVNode("", !0),
5598
- De.mapSearchControl ? (openBlock(), createBlock(_sfc_main$m, {
5598
+ De.mapSearchControl ? (openBlock(), createBlock(_sfc_main$o, {
5599
5599
  key: 7,
5600
5600
  position: De.mapSearchControl.position,
5601
5601
  placeholder: De.mapSearchControl.placeholder ?? "Search for an address",
5602
5602
  onResult: St
5603
5603
  }, null, 8, ["position", "placeholder"])) : createCommentVNode("", !0),
5604
- De.basemapChangeControls?.toggle ? (openBlock(), createBlock(_sfc_main$j, {
5604
+ De.basemapChangeControls?.toggle ? (openBlock(), createBlock(_sfc_main$l, {
5605
5605
  key: 8,
5606
5606
  position: De.basemapChangeControls.position,
5607
5607
  "show-dropdown": De.basemapChangeControls.dropdown,
@@ -5620,7 +5620,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5620
5620
  onToggle: tt
5621
5621
  }, null, 8, ["position", "active"])) : createCommentVNode("", !0),
5622
5622
  renderSlot(Rt.$slots, "default", {}, void 0, !0)
5623
- ], 12, _hoisted_1$9),
5623
+ ], 12, _hoisted_1$b),
5624
5624
  withDirectives(createElementVNode("div", {
5625
5625
  class: "tool-panel-container",
5626
5626
  style: normalizeStyle(Nt.value),
@@ -5658,7 +5658,7 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5658
5658
  for (const [V, ue] of O)
5659
5659
  M[V] = ue;
5660
5660
  return M;
5661
- }, Map$1 = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-df0e9ebf"]]), _sfc_main$f = /* @__PURE__ */ defineComponent({
5661
+ }, Map$1 = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-df0e9ebf"]]), _sfc_main$h = /* @__PURE__ */ defineComponent({
5662
5662
  __name: "MapMarker",
5663
5663
  props: {
5664
5664
  lngLat: {},
@@ -5675,45 +5675,84 @@ const _hoisted_1$a = ["title", "aria-expanded"], _hoisted_2$4 = { class: "dropdo
5675
5675
  },
5676
5676
  emits: ["dragstart", "drag", "dragend"],
5677
5677
  setup(De, { emit: O }) {
5678
- const M = De, V = O, ue = inject("map"), $ = inject("isLoaded");
5679
- let me = null;
5680
- const fe = () => {
5681
- if (!ue || !ue.value || !M.lngLat) return;
5682
- const ye = {
5678
+ const M = De, V = O, ue = useSlots(), $ = ref(null), me = inject("map"), fe = inject("isLoaded");
5679
+ let he = null;
5680
+ const ye = () => {
5681
+ if (!me || !me.value || !M.lngLat) return;
5682
+ const ce = {
5683
5683
  draggable: M.draggable
5684
5684
  };
5685
- if (M.icon) {
5686
- const ce = document.createElement("div");
5687
- ce.className = "custom-marker", ce.innerHTML = `<i class="${M.icon}" style="font-size: ${M.iconSize}px; color: ${M.iconColor || M.color};"></i>`, ye.element = ce;
5685
+ if (ue.default && $.value)
5686
+ ce.element = $.value, ce.anchor = "bottom";
5687
+ else if (M.icon) {
5688
+ const ge = document.createElement("div");
5689
+ ge.className = "custom-marker", ge.innerHTML = `<i class="${M.icon}" style="font-size: ${M.iconSize}px; color: ${M.iconColor || M.color};"></i>`, ce.element = ge;
5688
5690
  } else
5689
- ye.color = M.color;
5690
- if (M.rotation && (ye.rotation = M.rotation), M.offset && (ye.offset = M.offset), me = new maplibregl.Marker(ye).setLngLat(M.lngLat), M.popup) {
5691
- const ce = new maplibregl.Popup().setHTML(M.popup);
5692
- me.setPopup(ce);
5693
- }
5694
- me.addTo(ue.value);
5695
- const re = me.getElement();
5696
- M.ariaLabel ? (re.setAttribute("role", "img"), re.setAttribute("aria-label", M.ariaLabel)) : re.setAttribute("aria-hidden", "true"), M.draggable && me && (me.on("dragstart", () => me && V("dragstart", me.getLngLat())), me.on("drag", () => me && V("drag", me.getLngLat())), me.on("dragend", () => me && V("dragend", me.getLngLat())));
5697
- }, he = () => {
5698
- me && (me.remove(), me = null);
5691
+ ce.color = M.color;
5692
+ if (M.rotation && (ce.rotation = M.rotation), M.offset && (ce.offset = M.offset), he = new maplibregl.Marker(ce).setLngLat(M.lngLat), M.popup) {
5693
+ const ge = new maplibregl.Popup().setHTML(M.popup);
5694
+ he.setPopup(ge);
5695
+ }
5696
+ he.addTo(me.value);
5697
+ const pe = he.getElement();
5698
+ M.ariaLabel ? (pe.setAttribute("role", "img"), pe.setAttribute("aria-label", M.ariaLabel)) : pe.setAttribute("aria-hidden", "true"), M.draggable && he && (he.on("dragstart", () => he && V("dragstart", he.getLngLat())), he.on("drag", () => he && V("drag", he.getLngLat())), he.on("dragend", () => he && V("dragend", he.getLngLat())));
5699
+ }, re = () => {
5700
+ he && (he.remove(), he = null);
5699
5701
  };
5700
5702
  return watch(
5701
5703
  () => M.lngLat,
5702
- (ye) => {
5703
- ye && me ? me.setLngLat(ye) : ye && !me && ue?.value && $?.value ? fe() : !ye && me && he();
5704
+ (ce) => {
5705
+ ce && he ? he.setLngLat(ce) : ce && !he && me?.value && fe?.value ? ye() : !ce && he && re();
5704
5706
  },
5705
5707
  { deep: !0 }
5706
5708
  ), watch(
5707
- () => $?.value,
5708
- (ye) => {
5709
- ye && ue?.value && M.lngLat && fe();
5709
+ () => fe?.value,
5710
+ (ce) => {
5711
+ ce && me?.value && M.lngLat && ye();
5710
5712
  },
5711
5713
  { immediate: !0 }
5712
5714
  ), onBeforeUnmount(() => {
5713
- he();
5714
- }), (ye, re) => renderSlot(ye.$slots, "default");
5715
+ re();
5716
+ }), (ce, pe) => ce.$slots.default ? (openBlock(), createElementBlock("div", {
5717
+ key: 0,
5718
+ ref_key: "slotContainer",
5719
+ ref: $
5720
+ }, [
5721
+ renderSlot(ce.$slots, "default")
5722
+ ], 512)) : createCommentVNode("", !0);
5723
+ }
5724
+ }), _hoisted_1$a = ["role", "aria-label", "aria-hidden"], _hoisted_2$5 = {
5725
+ key: 0,
5726
+ class: "pin-text"
5727
+ }, _sfc_main$g = /* @__PURE__ */ defineComponent({
5728
+ __name: "MapIconTextPin",
5729
+ props: {
5730
+ icon: {},
5731
+ text: { default: void 0 },
5732
+ color: { default: "#0F33F5" },
5733
+ textColor: { default: "white" },
5734
+ ariaLabel: { default: void 0 },
5735
+ className: {}
5736
+ },
5737
+ setup(De) {
5738
+ return (O, M) => (openBlock(), createElementBlock("div", {
5739
+ class: normalizeClass(["map-icon-text-pin", { "icon-only": !De.text }]),
5740
+ style: normalizeStyle({
5741
+ backgroundColor: De.color,
5742
+ color: De.textColor,
5743
+ "--pin-color": De.color
5744
+ }),
5745
+ role: De.ariaLabel ? "img" : void 0,
5746
+ "aria-label": De.ariaLabel,
5747
+ "aria-hidden": De.ariaLabel ? void 0 : "true"
5748
+ }, [
5749
+ createElementVNode("i", {
5750
+ class: normalizeClass([De.icon, "pin-icon"])
5751
+ }, null, 2),
5752
+ De.text ? (openBlock(), createElementBlock("span", _hoisted_2$5, toDisplayString(De.text), 1)) : createCommentVNode("", !0)
5753
+ ], 14, _hoisted_1$a));
5715
5754
  }
5716
- }), FOCUSABLE_SELECTOR = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])', _sfc_main$e = /* @__PURE__ */ defineComponent({
5755
+ }), MapIconTextPin = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-724018d3"]]), FOCUSABLE_SELECTOR = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])', _sfc_main$f = /* @__PURE__ */ defineComponent({
5717
5756
  __name: "MapPopup",
5718
5757
  props: {
5719
5758
  lngLat: {},
@@ -5982,7 +6021,7 @@ function useVectorLayer(De, O) {
5982
6021
  removeLayer: ge
5983
6022
  };
5984
6023
  }
5985
- const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComponent({
6024
+ const _hoisted_1$9 = ["data-layer-id"], _sfc_main$e = /* @__PURE__ */ defineComponent({
5986
6025
  __name: "FillLayer",
5987
6026
  props: {
5988
6027
  paint: { default: () => ({}) },
@@ -6017,9 +6056,9 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6017
6056
  style: { display: "none" },
6018
6057
  "data-layer-id": M.id,
6019
6058
  "data-layer-type": "fill"
6020
- }, null, 8, _hoisted_1$8));
6059
+ }, null, 8, _hoisted_1$9));
6021
6060
  }
6022
- }), _hoisted_1$7 = ["data-layer-id"], _sfc_main$c = /* @__PURE__ */ defineComponent({
6061
+ }), _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComponent({
6023
6062
  __name: "LineLayer",
6024
6063
  props: {
6025
6064
  paint: { default: () => ({}) },
@@ -6054,9 +6093,9 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6054
6093
  style: { display: "none" },
6055
6094
  "data-layer-id": M.id,
6056
6095
  "data-layer-type": "line"
6057
- }, null, 8, _hoisted_1$7));
6096
+ }, null, 8, _hoisted_1$8));
6058
6097
  }
6059
- }), _hoisted_1$6 = ["data-layer-id"], _sfc_main$b = /* @__PURE__ */ defineComponent({
6098
+ }), _hoisted_1$7 = ["data-layer-id"], _sfc_main$c = /* @__PURE__ */ defineComponent({
6060
6099
  __name: "CircleLayer",
6061
6100
  props: {
6062
6101
  paint: { default: () => ({}) },
@@ -6091,9 +6130,9 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6091
6130
  style: { display: "none" },
6092
6131
  "data-layer-id": M.id,
6093
6132
  "data-layer-type": "circle"
6094
- }, null, 8, _hoisted_1$6));
6133
+ }, null, 8, _hoisted_1$7));
6095
6134
  }
6096
- }), _hoisted_1$5 = ["data-layer-id"], _sfc_main$a = /* @__PURE__ */ defineComponent({
6135
+ }), _hoisted_1$6 = ["data-layer-id"], _sfc_main$b = /* @__PURE__ */ defineComponent({
6097
6136
  __name: "SymbolLayer",
6098
6137
  props: {
6099
6138
  paint: { default: () => ({}) },
@@ -6157,9 +6196,31 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6157
6196
  style: { display: "none" },
6158
6197
  "data-layer-id": M.id,
6159
6198
  "data-layer-type": "symbol"
6160
- }, null, 8, _hoisted_1$5));
6199
+ }, null, 8, _hoisted_1$6));
6200
+ }
6201
+ }), _hoisted_1$5 = {
6202
+ key: 0,
6203
+ class: "map-loading-overlay"
6204
+ }, _hoisted_2$4 = { class: "map-loading-content" }, _hoisted_3$3 = { class: "map-loading-text" }, _sfc_main$a = /* @__PURE__ */ defineComponent({
6205
+ __name: "MapLoadingOverlay",
6206
+ props: {
6207
+ visible: { type: Boolean },
6208
+ text: { default: "Loading..." }
6209
+ },
6210
+ setup(De) {
6211
+ return (O, M) => (openBlock(), createBlock(Transition, { name: "overlay-fade" }, {
6212
+ default: withCtx(() => [
6213
+ De.visible ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
6214
+ createElementVNode("div", _hoisted_2$4, [
6215
+ M[0] || (M[0] = createElementVNode("div", { class: "map-loading-spinner" }, null, -1)),
6216
+ createElementVNode("span", _hoisted_3$3, toDisplayString(De.text), 1)
6217
+ ])
6218
+ ])) : createCommentVNode("", !0)
6219
+ ]),
6220
+ _: 1
6221
+ }));
6161
6222
  }
6162
- }), _hoisted_1$4 = ["aria-label"], _sfc_main$9 = /* @__PURE__ */ defineComponent({
6223
+ }), MapLoadingOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-760930b2"]]), _hoisted_1$4 = ["aria-label"], _sfc_main$9 = /* @__PURE__ */ defineComponent({
6163
6224
  __name: "MapFloatingPanel",
6164
6225
  props: {
6165
6226
  position: { default: "top-right" },
@@ -6617,19 +6678,19 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6617
6678
  } catch {
6618
6679
  }
6619
6680
  }), (pt, St) => (openBlock(), createElementBlock(Fragment, null, [
6620
- unref($) ? (openBlock(), createBlock(_sfc_main$d, {
6681
+ unref($) ? (openBlock(), createBlock(_sfc_main$e, {
6621
6682
  key: 0,
6622
6683
  id: drawLayerId,
6623
6684
  source: lt.value,
6624
6685
  paint: { "fill-color": "#ff8c00", "fill-opacity": 0.4 }
6625
6686
  }, null, 8, ["source"])) : createCommentVNode("", !0),
6626
- unref($) ? (openBlock(), createBlock(_sfc_main$c, {
6687
+ unref($) ? (openBlock(), createBlock(_sfc_main$d, {
6627
6688
  key: 1,
6628
6689
  id: drawLineLayerId,
6629
6690
  source: lt.value,
6630
6691
  paint: { "line-color": "#ff8c00", "line-width": 2 }
6631
6692
  }, null, 8, ["source"])) : createCommentVNode("", !0),
6632
- unref($) ? (openBlock(), createBlock(_sfc_main$b, {
6693
+ unref($) ? (openBlock(), createBlock(_sfc_main$c, {
6633
6694
  key: 2,
6634
6695
  id: "drawing-point-layer",
6635
6696
  source: lt.value,
@@ -6641,7 +6702,7 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6641
6702
  "circle-stroke-width": 2
6642
6703
  }
6643
6704
  }, null, 8, ["source"])) : createCommentVNode("", !0),
6644
- unref($) ? (openBlock(), createBlock(_sfc_main$b, {
6705
+ unref($) ? (openBlock(), createBlock(_sfc_main$c, {
6645
6706
  key: 3,
6646
6707
  id: drawPointsLayerId,
6647
6708
  source: ct.value,
@@ -6652,7 +6713,7 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6652
6713
  "circle-stroke-width": 2
6653
6714
  }
6654
6715
  }, null, 8, ["source"])) : createCommentVNode("", !0),
6655
- unref($) ? (openBlock(), createBlock(_sfc_main$a, {
6716
+ unref($) ? (openBlock(), createBlock(_sfc_main$b, {
6656
6717
  key: 4,
6657
6718
  id: drawLabelsLayerId,
6658
6719
  source: mt.value,
@@ -6667,19 +6728,19 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6667
6728
  "text-halo-width": 2
6668
6729
  }
6669
6730
  }, null, 8, ["source"])) : createCommentVNode("", !0),
6670
- createVNode(_sfc_main$d, {
6731
+ createVNode(_sfc_main$e, {
6671
6732
  id: completedPolygonsLayerId,
6672
6733
  source: st.value,
6673
6734
  paint: { "fill-color": "#2196F3", "fill-opacity": 0.3 },
6674
6735
  onClick: Ne
6675
6736
  }, null, 8, ["source"]),
6676
- createVNode(_sfc_main$c, {
6737
+ createVNode(_sfc_main$d, {
6677
6738
  id: completedPolygonsLineLayerId,
6678
6739
  source: st.value,
6679
6740
  paint: { "line-color": "#2196F3", "line-width": 2 },
6680
6741
  onClick: Ne
6681
6742
  }, null, 8, ["source"]),
6682
- createVNode(_sfc_main$b, {
6743
+ createVNode(_sfc_main$c, {
6683
6744
  id: completedPolygonsPointLayerId,
6684
6745
  source: st.value,
6685
6746
  filter: ["==", ["geometry-type"], "Point"],
@@ -6691,7 +6752,7 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6691
6752
  },
6692
6753
  onClick: Ne
6693
6754
  }, null, 8, ["source"]),
6694
- createVNode(_sfc_main$b, {
6755
+ createVNode(_sfc_main$c, {
6695
6756
  id: completedPolygonsPointsLayerId,
6696
6757
  source: dt.value,
6697
6758
  paint: {
@@ -6701,7 +6762,7 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6701
6762
  "circle-stroke-width": 2
6702
6763
  }
6703
6764
  }, null, 8, ["source"]),
6704
- createVNode(_sfc_main$a, {
6765
+ createVNode(_sfc_main$b, {
6705
6766
  id: completedPolygonsLabelsLayerId,
6706
6767
  source: wt.value,
6707
6768
  layout: {
@@ -6716,7 +6777,7 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6716
6777
  }
6717
6778
  }, null, 8, ["source"]),
6718
6779
  createElementVNode("div", _hoisted_1$3, toDisplayString(me.value), 1),
6719
- createVNode(_sfc_main$l, {
6780
+ createVNode(_sfc_main$n, {
6720
6781
  icon: M.icon,
6721
6782
  image: unref(V),
6722
6783
  "image-padding": 6,
@@ -6776,7 +6837,7 @@ const _hoisted_1$8 = ["data-layer-id"], _sfc_main$d = /* @__PURE__ */ defineComp
6776
6837
  (he) => {
6777
6838
  me.value = he;
6778
6839
  }
6779
- ), (he, ye) => (openBlock(), createBlock(_sfc_main$l, {
6840
+ ), (he, ye) => (openBlock(), createBlock(_sfc_main$n, {
6780
6841
  class: "cyclomedia-button",
6781
6842
  image: unref($),
6782
6843
  position: M.position,
@@ -188346,7 +188407,7 @@ const sourceId = "cyclomedia-recordings", layerId = "cyclomedia-recordings-layer
188346
188407
  (he) => {
188347
188408
  me.value = he;
188348
188409
  }
188349
- ), (he, ye) => (openBlock(), createBlock(_sfc_main$l, {
188410
+ ), (he, ye) => (openBlock(), createBlock(_sfc_main$n, {
188350
188411
  class: "pictometry-button",
188351
188412
  image: unref($),
188352
188413
  position: M.position,
@@ -188818,40 +188879,42 @@ const _hoisted_1$1 = { class: "pictometry-layer-control" }, _hoisted_2$1 = ["che
188818
188879
  default: PictometryPanel
188819
188880
  }, Symbol.toStringTag, { value: "Module" }));
188820
188881
  export {
188821
- defaultLabelsSource as A,
188822
- defaultImageryOptions as B,
188882
+ clearTokenCache as A,
188883
+ defaultBasemapSource as B,
188823
188884
  CyclomediaButton as C,
188824
- imagerySources as D,
188825
- imageryLabelsSource as E,
188826
- imageryParcelOutlinesSource as F,
188827
- imageryLabelsUrl as G,
188885
+ defaultLabelsSource as D,
188886
+ defaultImageryOptions as E,
188887
+ imagerySources as F,
188888
+ imageryLabelsSource as G,
188889
+ imageryParcelOutlinesSource as H,
188890
+ imageryLabelsUrl as I,
188828
188891
  Map$1 as M,
188829
188892
  PictometryButton as P,
188830
- _sfc_main$f as _,
188831
- _sfc_main$e as a,
188832
- _sfc_main$d as b,
188833
- _sfc_main$c as c,
188834
- _sfc_main$b as d,
188835
- _sfc_main$a as e,
188836
- _sfc_main$o as f,
188837
- _sfc_main$i as g,
188838
- _sfc_main$9 as h,
188839
- _sfc_main$8 as i,
188840
- _sfc_main$l as j,
188841
- _sfc_main$h as k,
188842
- _sfc_main$j as l,
188843
- _sfc_main$k as m,
188844
- _sfc_main$m as n,
188845
- CyclomediaPanel as o,
188846
- _sfc_main$5 as p,
188847
- PictometryPanel as q,
188848
- PictometryLayerControl as r,
188849
- _sfc_main$2 as s,
188850
- _sfc_main$1 as t,
188851
- loadPictometryScript as u,
188852
- isPictometryLoaded as v,
188853
- getValidToken as w,
188854
- validateCredentials as x,
188855
- clearTokenCache as y,
188856
- defaultBasemapSource as z
188893
+ _sfc_main$h as _,
188894
+ MapIconTextPin as a,
188895
+ _sfc_main$f as b,
188896
+ _sfc_main$e as c,
188897
+ _sfc_main$d as d,
188898
+ _sfc_main$c as e,
188899
+ _sfc_main$b as f,
188900
+ _sfc_main$q as g,
188901
+ MapLoadingOverlay as h,
188902
+ _sfc_main$k as i,
188903
+ _sfc_main$9 as j,
188904
+ _sfc_main$8 as k,
188905
+ _sfc_main$n as l,
188906
+ _sfc_main$j as m,
188907
+ _sfc_main$l as n,
188908
+ _sfc_main$m as o,
188909
+ _sfc_main$o as p,
188910
+ CyclomediaPanel as q,
188911
+ _sfc_main$5 as r,
188912
+ PictometryPanel as s,
188913
+ PictometryLayerControl as t,
188914
+ _sfc_main$2 as u,
188915
+ _sfc_main$1 as v,
188916
+ loadPictometryScript as w,
188917
+ isPictometryLoaded as x,
188918
+ getValidToken as y,
188919
+ validateCredentials as z
188857
188920
  };