@prushforth/map 1.0.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +89 -0
  3. package/demo/index.html +78 -0
  4. package/dist/cjs/AttributionButton-DgbgLHy4.js +106 -0
  5. package/dist/cjs/MapTileLayer-D4vp8bR4.js +454 -0
  6. package/dist/cjs/app-globals-DY--Q2Nl.js +775 -0
  7. package/dist/cjs/calculatePosition-CDcdNl7C.js +92 -0
  8. package/dist/cjs/gcds-ext-map.cjs.js +47 -0
  9. package/dist/cjs/gcds-ext-map_2.cjs.entry.js +8081 -0
  10. package/dist/cjs/index-CW_WOSnc.js +32697 -0
  11. package/dist/cjs/index.cjs.js +2 -0
  12. package/dist/cjs/loader.cjs.js +14 -0
  13. package/dist/cjs/locale-_4nEyxeO.js +153 -0
  14. package/dist/cjs/map-a.cjs.entry.js +16 -0
  15. package/dist/cjs/map-caption.cjs.entry.js +55 -0
  16. package/dist/cjs/map-extent.cjs.entry.js +993 -0
  17. package/dist/cjs/map-feature.cjs.entry.js +636 -0
  18. package/dist/cjs/map-featurecaption.cjs.entry.js +14 -0
  19. package/dist/cjs/map-geometry.cjs.entry.js +36 -0
  20. package/dist/cjs/map-input.cjs.entry.js +348 -0
  21. package/dist/cjs/map-link.cjs.entry.js +6055 -0
  22. package/dist/cjs/map-meta.cjs.entry.js +40 -0
  23. package/dist/cjs/map-properties.cjs.entry.js +14 -0
  24. package/dist/cjs/map-select.cjs.entry.js +100 -0
  25. package/dist/cjs/map-span.cjs.entry.js +14 -0
  26. package/dist/cjs/map-style.cjs.entry.js +127 -0
  27. package/dist/cjs/map-tile.cjs.entry.js +274 -0
  28. package/dist/cjs/renderStyles-yOMXvf12.js +59 -0
  29. package/dist/collection/assets/canada.json +1 -0
  30. package/dist/collection/assets/images/w3community.ico +0 -0
  31. package/dist/collection/assets/mapml/en/apstile/arctic +18 -0
  32. package/dist/collection/assets/mapml/en/cbmtile/canvec +22 -0
  33. package/dist/collection/assets/mapml/en/cbmtile/cbmt +24 -0
  34. package/dist/collection/assets/mapml/en/cbmtile/cbmtgeom +20 -0
  35. package/dist/collection/assets/mapml/en/cbmtile/cbmtsimple +20 -0
  36. package/dist/collection/assets/mapml/en/cbmtile/current_conditions +33 -0
  37. package/dist/collection/assets/mapml/en/cbmtile/toporama +25 -0
  38. package/dist/collection/assets/mapml/en/custom/arcticsdi.mapml +18 -0
  39. package/dist/collection/assets/mapml/en/osmtile/cbmt +24 -0
  40. package/dist/collection/assets/mapml/en/osmtile/current_conditions +32 -0
  41. package/dist/collection/assets/mapml/en/osmtile/dark.mapml +19 -0
  42. package/dist/collection/assets/mapml/en/osmtile/light.mapml +19 -0
  43. package/dist/collection/assets/mapml/en/osmtile/osm +19 -0
  44. package/dist/collection/assets/mapml/en/osmtile/toporama +25 -0
  45. package/dist/collection/assets/mapml/fr/apstile/arctic +19 -0
  46. package/dist/collection/assets/mapml/fr/cbmtile/canvec +22 -0
  47. package/dist/collection/assets/mapml/fr/cbmtile/cbmt +24 -0
  48. package/dist/collection/assets/mapml/fr/cbmtile/cbmtgeom +20 -0
  49. package/dist/collection/assets/mapml/fr/cbmtile/cbmtsimple +20 -0
  50. package/dist/collection/assets/mapml/fr/cbmtile/current_conditions +25 -0
  51. package/dist/collection/assets/mapml/fr/cbmtile/toporama +25 -0
  52. package/dist/collection/assets/mapml/fr/osmtile/cbmt +24 -0
  53. package/dist/collection/assets/mapml/fr/osmtile/current_conditions +24 -0
  54. package/dist/collection/assets/mapml/fr/osmtile/dark.mapml +19 -0
  55. package/dist/collection/assets/mapml/fr/osmtile/light.mapml +19 -0
  56. package/dist/collection/assets/mapml/fr/osmtile/osm +19 -0
  57. package/dist/collection/assets/mapml/fr/osmtile/toporama +25 -0
  58. package/dist/collection/assets/pmtiles/darkTheme.js +19 -0
  59. package/dist/collection/assets/pmtiles/lightTheme.js +19 -0
  60. package/dist/collection/collection-manifest.json +28 -0
  61. package/dist/collection/components/gcds-ext-map/assets/pmtiles/darkTheme.js +19 -0
  62. package/dist/collection/components/gcds-ext-map/assets/pmtiles/lightTheme.js +19 -0
  63. package/dist/collection/components/gcds-ext-map/gcds-ext-map.css +2138 -0
  64. package/dist/collection/components/gcds-ext-map/gcds-ext-map.js +1517 -0
  65. package/dist/collection/components/gcds-ext-map/stories/gcds-ext-map.stories.js +367 -0
  66. package/dist/collection/components/map-a/map-a.js +89 -0
  67. package/dist/collection/components/map-caption/map-caption.js +52 -0
  68. package/dist/collection/components/map-extent/map-extent.js +809 -0
  69. package/dist/collection/components/map-feature/map-feature.js +724 -0
  70. package/dist/collection/components/map-featurecaption/map-featurecaption.js +6 -0
  71. package/dist/collection/components/map-geometry/map-geometry.js +57 -0
  72. package/dist/collection/components/map-input/map-input.js +355 -0
  73. package/dist/collection/components/map-layer/map-layer.js +1245 -0
  74. package/dist/collection/components/map-layer/stories/map-layer.stories.js +101 -0
  75. package/dist/collection/components/map-link/map-link.js +1149 -0
  76. package/dist/collection/components/map-meta/map-meta.js +82 -0
  77. package/dist/collection/components/map-properties/map-properties.js +7 -0
  78. package/dist/collection/components/map-select/map-select.js +145 -0
  79. package/dist/collection/components/map-span/map-span.js +7 -0
  80. package/dist/collection/components/map-style/map-style.js +144 -0
  81. package/dist/collection/components/map-tile/map-tile.js +370 -0
  82. package/dist/collection/components/utils/mapml/DOMTokenList.js +123 -0
  83. package/dist/collection/components/utils/mapml/DefaultMapOptions.js +11 -0
  84. package/dist/collection/components/utils/mapml/Util.js +1601 -0
  85. package/dist/collection/components/utils/mapml/control/AttributionButton.js +101 -0
  86. package/dist/collection/components/utils/mapml/control/FullscreenButton.js +181 -0
  87. package/dist/collection/components/utils/mapml/control/GeolocationButton.js +70 -0
  88. package/dist/collection/components/utils/mapml/control/LayerControl.js +212 -0
  89. package/dist/collection/components/utils/mapml/control/ReloadButton.js +75 -0
  90. package/dist/collection/components/utils/mapml/control/ScaleBar.js +108 -0
  91. package/dist/collection/components/utils/mapml/control/SearchButton.js +565 -0
  92. package/dist/collection/components/utils/mapml/elementSupport/extents/createLayerControlForExtent.js +259 -0
  93. package/dist/collection/components/utils/mapml/elementSupport/inputs/heightInput.js +18 -0
  94. package/dist/collection/components/utils/mapml/elementSupport/inputs/hiddenInput.js +19 -0
  95. package/dist/collection/components/utils/mapml/elementSupport/inputs/locationInput.js +127 -0
  96. package/dist/collection/components/utils/mapml/elementSupport/inputs/widthInput.js +18 -0
  97. package/dist/collection/components/utils/mapml/elementSupport/inputs/zoomInput.js +30 -0
  98. package/dist/collection/components/utils/mapml/elementSupport/layers/calculatePosition.js +88 -0
  99. package/dist/collection/components/utils/mapml/elementSupport/layers/createLayerControlForLayer.js +326 -0
  100. package/dist/collection/components/utils/mapml/elementSupport/layers/renderStyles.js +55 -0
  101. package/dist/collection/components/utils/mapml/elementSupport/viewers/matchMedia.js +251 -0
  102. package/dist/collection/components/utils/mapml/features/featureRenderer.js +342 -0
  103. package/dist/collection/components/utils/mapml/features/geometry.js +268 -0
  104. package/dist/collection/components/utils/mapml/features/path.js +485 -0
  105. package/dist/collection/components/utils/mapml/handlers/AnnounceMovement.js +154 -0
  106. package/dist/collection/components/utils/mapml/handlers/ContextMenu.js +1436 -0
  107. package/dist/collection/components/utils/mapml/handlers/FeatureIndex.js +116 -0
  108. package/dist/collection/components/utils/mapml/handlers/QueryHandler.js +476 -0
  109. package/dist/collection/components/utils/mapml/handlers/keyboard.js +60 -0
  110. package/dist/collection/components/utils/mapml/layers/Crosshair.js +108 -0
  111. package/dist/collection/components/utils/mapml/layers/DebugOverlay.js +357 -0
  112. package/dist/collection/components/utils/mapml/layers/FeatureIndexOverlay.js +239 -0
  113. package/dist/collection/components/utils/mapml/layers/ImageLayer.js +136 -0
  114. package/dist/collection/components/utils/mapml/layers/MapExtentLayer.js +114 -0
  115. package/dist/collection/components/utils/mapml/layers/MapFeatureLayer.js +623 -0
  116. package/dist/collection/components/utils/mapml/layers/MapLayer.js +640 -0
  117. package/dist/collection/components/utils/mapml/layers/MapTileLayer.js +450 -0
  118. package/dist/collection/components/utils/mapml/layers/TemplatedFeaturesOrTilesLayer.js +346 -0
  119. package/dist/collection/components/utils/mapml/layers/TemplatedImageLayer.js +276 -0
  120. package/dist/collection/components/utils/mapml/layers/TemplatedPMTilesLayer.js +135 -0
  121. package/dist/collection/components/utils/mapml/layers/TemplatedTileLayer.js +664 -0
  122. package/dist/collection/components/utils/utils.js +26 -0
  123. package/dist/collection/fonts/icons/LICENSE.txt +92 -0
  124. package/dist/collection/fonts/icons/README.md +543 -0
  125. package/dist/collection/fonts/icons/gcds-icons.css +110 -0
  126. package/dist/collection/fonts/icons/gcds-icons.eot +0 -0
  127. package/dist/collection/fonts/icons/gcds-icons.svg +82 -0
  128. package/dist/collection/fonts/icons/gcds-icons.ttf +0 -0
  129. package/dist/collection/fonts/icons/gcds-icons.woff +0 -0
  130. package/dist/collection/fonts/lato/LICENSE.txt +48 -0
  131. package/dist/collection/fonts/lato/README.md +195 -0
  132. package/dist/collection/fonts/lato/gcds-lato-italic.woff +0 -0
  133. package/dist/collection/fonts/lato/gcds-lato-italic.woff2 +0 -0
  134. package/dist/collection/fonts/lato/gcds-lato.css +30 -0
  135. package/dist/collection/fonts/lato/gcds-lato.woff +0 -0
  136. package/dist/collection/fonts/lato/gcds-lato.woff2 +0 -0
  137. package/dist/collection/fonts/noto-sans/LICENSE.txt +43 -0
  138. package/dist/collection/fonts/noto-sans/README.md +423 -0
  139. package/dist/collection/fonts/noto-sans/gcds-noto-sans-bold-italic.woff +0 -0
  140. package/dist/collection/fonts/noto-sans/gcds-noto-sans-bold-italic.woff2 +0 -0
  141. package/dist/collection/fonts/noto-sans/gcds-noto-sans-bold.woff +0 -0
  142. package/dist/collection/fonts/noto-sans/gcds-noto-sans-bold.woff2 +0 -0
  143. package/dist/collection/fonts/noto-sans/gcds-noto-sans-light-italic.woff +0 -0
  144. package/dist/collection/fonts/noto-sans/gcds-noto-sans-light-italic.woff2 +0 -0
  145. package/dist/collection/fonts/noto-sans/gcds-noto-sans-light.woff +0 -0
  146. package/dist/collection/fonts/noto-sans/gcds-noto-sans-light.woff2 +0 -0
  147. package/dist/collection/fonts/noto-sans/gcds-noto-sans-medium-italic.woff +0 -0
  148. package/dist/collection/fonts/noto-sans/gcds-noto-sans-medium-italic.woff2 +0 -0
  149. package/dist/collection/fonts/noto-sans/gcds-noto-sans-medium.woff +0 -0
  150. package/dist/collection/fonts/noto-sans/gcds-noto-sans-medium.woff2 +0 -0
  151. package/dist/collection/fonts/noto-sans/gcds-noto-sans-regular-italic.woff +0 -0
  152. package/dist/collection/fonts/noto-sans/gcds-noto-sans-regular-italic.woff2 +0 -0
  153. package/dist/collection/fonts/noto-sans/gcds-noto-sans-regular.woff +0 -0
  154. package/dist/collection/fonts/noto-sans/gcds-noto-sans-regular.woff2 +0 -0
  155. package/dist/collection/fonts/noto-sans/gcds-noto-sans-semibold-italic.woff +0 -0
  156. package/dist/collection/fonts/noto-sans/gcds-noto-sans-semibold-italic.woff2 +0 -0
  157. package/dist/collection/fonts/noto-sans/gcds-noto-sans-semibold.woff +0 -0
  158. package/dist/collection/fonts/noto-sans/gcds-noto-sans-semibold.woff2 +0 -0
  159. package/dist/collection/fonts/noto-sans/gcds-noto-sans.css +89 -0
  160. package/dist/collection/fonts/noto-sans-mono/LICENSE.txt +93 -0
  161. package/dist/collection/fonts/noto-sans-mono/README.md +135 -0
  162. package/dist/collection/fonts/noto-sans-mono/gcds-noto-sans-mono.css +17 -0
  163. package/dist/collection/fonts/noto-sans-mono/gcds-noto-sans-mono.woff +0 -0
  164. package/dist/collection/fonts/noto-sans-mono/gcds-noto-sans-mono.woff2 +0 -0
  165. package/dist/collection/generated/locale.js +148 -0
  166. package/dist/collection/global/mapml-globals.js +916 -0
  167. package/dist/collection/index.js +1 -0
  168. package/dist/collection/leaflet-src.esm.js +14419 -0
  169. package/dist/components/gcds-ext-map.d.ts +11 -0
  170. package/dist/components/gcds-ext-map.js +10 -0
  171. package/dist/components/index.d.ts +35 -0
  172. package/dist/components/index.js +1 -0
  173. package/dist/components/map-a.d.ts +11 -0
  174. package/dist/components/map-a.js +1 -0
  175. package/dist/components/map-caption.d.ts +11 -0
  176. package/dist/components/map-caption.js +1 -0
  177. package/dist/components/map-extent.d.ts +11 -0
  178. package/dist/components/map-extent.js +1 -0
  179. package/dist/components/map-feature.d.ts +11 -0
  180. package/dist/components/map-feature.js +1 -0
  181. package/dist/components/map-featurecaption.d.ts +11 -0
  182. package/dist/components/map-featurecaption.js +1 -0
  183. package/dist/components/map-geometry.d.ts +11 -0
  184. package/dist/components/map-geometry.js +1 -0
  185. package/dist/components/map-input.d.ts +11 -0
  186. package/dist/components/map-input.js +1 -0
  187. package/dist/components/map-layer.d.ts +11 -0
  188. package/dist/components/map-layer.js +1 -0
  189. package/dist/components/map-link.d.ts +11 -0
  190. package/dist/components/map-link.js +1 -0
  191. package/dist/components/map-meta.d.ts +11 -0
  192. package/dist/components/map-meta.js +1 -0
  193. package/dist/components/map-properties.d.ts +11 -0
  194. package/dist/components/map-properties.js +1 -0
  195. package/dist/components/map-select.d.ts +11 -0
  196. package/dist/components/map-select.js +1 -0
  197. package/dist/components/map-span.d.ts +11 -0
  198. package/dist/components/map-span.js +1 -0
  199. package/dist/components/map-style.d.ts +11 -0
  200. package/dist/components/map-style.js +1 -0
  201. package/dist/components/map-tile.d.ts +11 -0
  202. package/dist/components/map-tile.js +1 -0
  203. package/dist/components/p-B4YLD_Og.js +1 -0
  204. package/dist/components/p-BE41zrui.js +1 -0
  205. package/dist/components/p-Bpv_U_Lb.js +1 -0
  206. package/dist/components/p-CwRxGZga.js +5 -0
  207. package/dist/components/p-EYVT9Efh.js +1 -0
  208. package/dist/components/p-gwC_yeRa.js +1 -0
  209. package/dist/esm/AttributionButton-CfaoSLCu.js +103 -0
  210. package/dist/esm/MapTileLayer-DvC_iOIS.js +451 -0
  211. package/dist/esm/app-globals-De5ze2BD.js +773 -0
  212. package/dist/esm/calculatePosition-B4YLD_Og.js +90 -0
  213. package/dist/esm/gcds-ext-map.js +43 -0
  214. package/dist/esm/gcds-ext-map_2.entry.js +8078 -0
  215. package/dist/esm/index-BUsJ7i5g.js +32656 -0
  216. package/dist/esm/index.js +1 -0
  217. package/dist/esm/loader.js +12 -0
  218. package/dist/esm/locale-Bpv_U_Lb.js +150 -0
  219. package/dist/esm/map-a.entry.js +14 -0
  220. package/dist/esm/map-caption.entry.js +53 -0
  221. package/dist/esm/map-extent.entry.js +991 -0
  222. package/dist/esm/map-feature.entry.js +634 -0
  223. package/dist/esm/map-featurecaption.entry.js +12 -0
  224. package/dist/esm/map-geometry.entry.js +34 -0
  225. package/dist/esm/map-input.entry.js +346 -0
  226. package/dist/esm/map-link.entry.js +6035 -0
  227. package/dist/esm/map-meta.entry.js +38 -0
  228. package/dist/esm/map-properties.entry.js +12 -0
  229. package/dist/esm/map-select.entry.js +98 -0
  230. package/dist/esm/map-span.entry.js +12 -0
  231. package/dist/esm/map-style.entry.js +125 -0
  232. package/dist/esm/map-tile.entry.js +272 -0
  233. package/dist/esm/renderStyles-EYVT9Efh.js +57 -0
  234. package/dist/gcds-ext-map/assets/canada.json +1 -0
  235. package/dist/gcds-ext-map/assets/images/w3community.ico +0 -0
  236. package/dist/gcds-ext-map/assets/mapml/en/apstile/arctic +18 -0
  237. package/dist/gcds-ext-map/assets/mapml/en/cbmtile/canvec +22 -0
  238. package/dist/gcds-ext-map/assets/mapml/en/cbmtile/cbmt +24 -0
  239. package/dist/gcds-ext-map/assets/mapml/en/cbmtile/cbmtgeom +20 -0
  240. package/dist/gcds-ext-map/assets/mapml/en/cbmtile/cbmtsimple +20 -0
  241. package/dist/gcds-ext-map/assets/mapml/en/cbmtile/current_conditions +33 -0
  242. package/dist/gcds-ext-map/assets/mapml/en/cbmtile/toporama +25 -0
  243. package/dist/gcds-ext-map/assets/mapml/en/custom/arcticsdi.mapml +18 -0
  244. package/dist/gcds-ext-map/assets/mapml/en/osmtile/cbmt +24 -0
  245. package/dist/gcds-ext-map/assets/mapml/en/osmtile/current_conditions +32 -0
  246. package/dist/gcds-ext-map/assets/mapml/en/osmtile/dark.mapml +19 -0
  247. package/dist/gcds-ext-map/assets/mapml/en/osmtile/light.mapml +19 -0
  248. package/dist/gcds-ext-map/assets/mapml/en/osmtile/osm +19 -0
  249. package/dist/gcds-ext-map/assets/mapml/en/osmtile/toporama +25 -0
  250. package/dist/gcds-ext-map/assets/mapml/fr/apstile/arctic +19 -0
  251. package/dist/gcds-ext-map/assets/mapml/fr/cbmtile/canvec +22 -0
  252. package/dist/gcds-ext-map/assets/mapml/fr/cbmtile/cbmt +24 -0
  253. package/dist/gcds-ext-map/assets/mapml/fr/cbmtile/cbmtgeom +20 -0
  254. package/dist/gcds-ext-map/assets/mapml/fr/cbmtile/cbmtsimple +20 -0
  255. package/dist/gcds-ext-map/assets/mapml/fr/cbmtile/current_conditions +25 -0
  256. package/dist/gcds-ext-map/assets/mapml/fr/cbmtile/toporama +25 -0
  257. package/dist/gcds-ext-map/assets/mapml/fr/osmtile/cbmt +24 -0
  258. package/dist/gcds-ext-map/assets/mapml/fr/osmtile/current_conditions +24 -0
  259. package/dist/gcds-ext-map/assets/mapml/fr/osmtile/dark.mapml +19 -0
  260. package/dist/gcds-ext-map/assets/mapml/fr/osmtile/light.mapml +19 -0
  261. package/dist/gcds-ext-map/assets/mapml/fr/osmtile/osm +19 -0
  262. package/dist/gcds-ext-map/assets/mapml/fr/osmtile/toporama +25 -0
  263. package/dist/gcds-ext-map/assets/pmtiles/darkTheme.js +19 -0
  264. package/dist/gcds-ext-map/assets/pmtiles/lightTheme.js +19 -0
  265. package/dist/gcds-ext-map/fonts/icons/LICENSE.txt +92 -0
  266. package/dist/gcds-ext-map/fonts/icons/README.md +543 -0
  267. package/dist/gcds-ext-map/fonts/icons/gcds-icons.css +110 -0
  268. package/dist/gcds-ext-map/fonts/icons/gcds-icons.eot +0 -0
  269. package/dist/gcds-ext-map/fonts/icons/gcds-icons.svg +82 -0
  270. package/dist/gcds-ext-map/fonts/icons/gcds-icons.ttf +0 -0
  271. package/dist/gcds-ext-map/fonts/icons/gcds-icons.woff +0 -0
  272. package/dist/gcds-ext-map/fonts/lato/LICENSE.txt +48 -0
  273. package/dist/gcds-ext-map/fonts/lato/README.md +195 -0
  274. package/dist/gcds-ext-map/fonts/lato/gcds-lato-italic.woff +0 -0
  275. package/dist/gcds-ext-map/fonts/lato/gcds-lato-italic.woff2 +0 -0
  276. package/dist/gcds-ext-map/fonts/lato/gcds-lato.css +30 -0
  277. package/dist/gcds-ext-map/fonts/lato/gcds-lato.woff +0 -0
  278. package/dist/gcds-ext-map/fonts/lato/gcds-lato.woff2 +0 -0
  279. package/dist/gcds-ext-map/fonts/noto-sans/LICENSE.txt +43 -0
  280. package/dist/gcds-ext-map/fonts/noto-sans/README.md +423 -0
  281. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-bold-italic.woff +0 -0
  282. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-bold-italic.woff2 +0 -0
  283. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-bold.woff +0 -0
  284. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-bold.woff2 +0 -0
  285. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-light-italic.woff +0 -0
  286. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-light-italic.woff2 +0 -0
  287. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-light.woff +0 -0
  288. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-light.woff2 +0 -0
  289. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-medium-italic.woff +0 -0
  290. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-medium-italic.woff2 +0 -0
  291. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-medium.woff +0 -0
  292. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-medium.woff2 +0 -0
  293. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-regular-italic.woff +0 -0
  294. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-regular-italic.woff2 +0 -0
  295. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-regular.woff +0 -0
  296. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-regular.woff2 +0 -0
  297. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-semibold-italic.woff +0 -0
  298. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-semibold-italic.woff2 +0 -0
  299. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-semibold.woff +0 -0
  300. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans-semibold.woff2 +0 -0
  301. package/dist/gcds-ext-map/fonts/noto-sans/gcds-noto-sans.css +89 -0
  302. package/dist/gcds-ext-map/fonts/noto-sans-mono/LICENSE.txt +93 -0
  303. package/dist/gcds-ext-map/fonts/noto-sans-mono/README.md +135 -0
  304. package/dist/gcds-ext-map/fonts/noto-sans-mono/gcds-noto-sans-mono.css +17 -0
  305. package/dist/gcds-ext-map/fonts/noto-sans-mono/gcds-noto-sans-mono.woff +0 -0
  306. package/dist/gcds-ext-map/fonts/noto-sans-mono/gcds-noto-sans-mono.woff2 +0 -0
  307. package/dist/gcds-ext-map/gcds-ext-map.esm.js +1 -0
  308. package/dist/gcds-ext-map/index.esm.js +0 -0
  309. package/dist/gcds-ext-map/leaflet-src.esm.js +14419 -0
  310. package/dist/gcds-ext-map/p-1b22f774.entry.js +1 -0
  311. package/dist/gcds-ext-map/p-29b4ba34.entry.js +1 -0
  312. package/dist/gcds-ext-map/p-2dd09d44.entry.js +1 -0
  313. package/dist/gcds-ext-map/p-3fef47e5.entry.js +1 -0
  314. package/dist/gcds-ext-map/p-4e324a1d.entry.js +1 -0
  315. package/dist/gcds-ext-map/p-4f4a6873.entry.js +1 -0
  316. package/dist/gcds-ext-map/p-9cc5ad37.entry.js +1 -0
  317. package/dist/gcds-ext-map/p-9edfea7d.entry.js +1 -0
  318. package/dist/gcds-ext-map/p-B4YLD_Og.js +1 -0
  319. package/dist/gcds-ext-map/p-B8Id5Ptd.js +1 -0
  320. package/dist/gcds-ext-map/p-BUsJ7i5g.js +6 -0
  321. package/dist/gcds-ext-map/p-Bpv_U_Lb.js +1 -0
  322. package/dist/gcds-ext-map/p-CtOuMgy9.js +1 -0
  323. package/dist/gcds-ext-map/p-Dd474fsL.js +1 -0
  324. package/dist/gcds-ext-map/p-EYVT9Efh.js +1 -0
  325. package/dist/gcds-ext-map/p-a67d721d.entry.js +1 -0
  326. package/dist/gcds-ext-map/p-b16e862b.entry.js +1 -0
  327. package/dist/gcds-ext-map/p-b9cbf1e0.entry.js +10 -0
  328. package/dist/gcds-ext-map/p-cab5246e.entry.js +1 -0
  329. package/dist/gcds-ext-map/p-d58d409b.entry.js +1 -0
  330. package/dist/gcds-ext-map/p-dfa21368.entry.js +1 -0
  331. package/dist/gcds-ext-map/p-f211048a.entry.js +1 -0
  332. package/dist/index.cjs.js +1 -0
  333. package/dist/index.js +1 -0
  334. package/dist/types/components/gcds-ext-map/gcds-ext-map.d.ts +125 -0
  335. package/dist/types/components/gcds-ext-map/stories/gcds-ext-map.stories.d.ts +230 -0
  336. package/dist/types/components/map-a/map-a.d.ts +7 -0
  337. package/dist/types/components/map-caption/map-caption.d.ts +7 -0
  338. package/dist/types/components/map-extent/map-extent.d.ts +53 -0
  339. package/dist/types/components/map-feature/map-feature.d.ts +50 -0
  340. package/dist/types/components/map-featurecaption/map-featurecaption.d.ts +3 -0
  341. package/dist/types/components/map-geometry/map-geometry.d.ts +7 -0
  342. package/dist/types/components/map-input/map-input.d.ts +24 -0
  343. package/dist/types/components/map-layer/map-layer.d.ts +85 -0
  344. package/dist/types/components/map-layer/stories/map-layer.stories.d.ts +96 -0
  345. package/dist/types/components/map-link/map-link.d.ts +66 -0
  346. package/dist/types/components/map-meta/map-meta.d.ts +11 -0
  347. package/dist/types/components/map-properties/map-properties.d.ts +3 -0
  348. package/dist/types/components/map-select/map-select.d.ts +13 -0
  349. package/dist/types/components/map-span/map-span.d.ts +5 -0
  350. package/dist/types/components/map-style/map-style.d.ts +17 -0
  351. package/dist/types/components/map-tile/map-tile.d.ts +32 -0
  352. package/dist/types/components/utils/mapml/DOMTokenList.d.ts +30 -0
  353. package/dist/types/components/utils/mapml/elementSupport/inputs/heightInput.d.ts +7 -0
  354. package/dist/types/components/utils/mapml/elementSupport/inputs/hiddenInput.d.ts +7 -0
  355. package/dist/types/components/utils/mapml/elementSupport/inputs/locationInput.d.ts +14 -0
  356. package/dist/types/components/utils/mapml/elementSupport/inputs/widthInput.d.ts +7 -0
  357. package/dist/types/components/utils/mapml/elementSupport/inputs/zoomInput.d.ts +11 -0
  358. package/dist/types/components/utils/mapml/layers/MapLayer.d.ts +69 -0
  359. package/dist/types/components/utils/utils.d.ts +2 -0
  360. package/dist/types/components.d.ts +521 -0
  361. package/dist/types/gcds-ext-map.d.ts +17 -0
  362. package/dist/types/generated/locale.d.ts +146 -0
  363. package/dist/types/index.d.ts +11 -0
  364. package/dist/types/stencil-public-runtime.d.ts +1861 -0
  365. package/loader/cdn.js +1 -0
  366. package/loader/index.cjs.js +1 -0
  367. package/loader/index.d.ts +24 -0
  368. package/loader/index.es2017.js +1 -0
  369. package/loader/index.js +2 -0
  370. package/package.json +87 -0
@@ -0,0 +1,450 @@
1
+ import { GridLayer, DomUtil, point, bounds } from 'leaflet';
2
+ import { Util } from '../Util.js';
3
+
4
+ /**
5
+ * Leaflet layer for handling map-tile elements
6
+ * Extends GridLayer to create tiles based on map-tile elements
7
+ *
8
+ * Similar in intent to MapFeatureLayer, which is a receiver for
9
+ * map-feature elements' leaflet layer object
10
+ *
11
+ * This layer will be inserted into the LayerGroup hosted by the <map-link> or
12
+ * <map-layer> immediately after creation, so that its index within the _layers array of
13
+ * that LayerGroup will be equal to its z-index within the LayerGroup's container
14
+ *
15
+ * <map-tile row="10" col="12" src="url1"></map-tile> LayerGroup._layers[0] <- each *set* of adjacent tiles
16
+ * <map-tile row="11" col="12" src="url2"></map-tile> LayerGroup._layers[0] <- is a *single* MapTileLayer
17
+ * <map-extent units="OSMTILE" checked hidden> LayerGroup._layers[1] *each* <map-extent> is a LayerGroup of Templated*Layer.js
18
+ * <map-feature id="a"> LayerGroup._layers[2] <- each *set* of adjacent features
19
+ * <map-feature id="b"> LayerGroup._layers[2] <- is a single MapFeatureLayer FeatureGroup
20
+ * <map-tile row="10" col="12" src="url3"></map-tile> LayerGroup._layers[3]
21
+ * <map-tile row="11" col="12" src="url4"></map-tile> LayerGroup._layers[3]
22
+ * <map-feature id="c"> LayerGroup._layers[4]
23
+ * <map-feature id="d"> LayerGroup._layers[4]
24
+ * and so on
25
+ */
26
+ export var MapTileLayer = GridLayer.extend({
27
+ initialize: function (options) {
28
+ GridLayer.prototype.initialize.call(this, options);
29
+ this._mapTiles = options.mapTiles || [];
30
+ this._tileMap = {};
31
+ this._pendingTiles = {};
32
+ this._buildTileMap();
33
+ this._container = DomUtil.create('div', 'leaflet-layer');
34
+ if (options.zIndex) {
35
+ this._container.style.zIndex = options.zIndex;
36
+ }
37
+ DomUtil.addClass(this._container, 'mapml-static-tile-container');
38
+ // Store bounds for visibility checks
39
+ // this.layerBounds = this._computeLayerBounds();
40
+ // this.zoomBounds = this._computeZoomBounds();
41
+ },
42
+
43
+ getEvents: function () {
44
+ const events = GridLayer.prototype.getEvents
45
+ ? GridLayer.prototype.getEvents.call(this)
46
+ : {};
47
+
48
+ // Add our custom zoom change handler
49
+ events.zoomend = this._handleZoomChange;
50
+
51
+ return events;
52
+ },
53
+ onAdd: function (map) {
54
+ this.options.pane.appendChild(this._container);
55
+ // Call the parent method
56
+ GridLayer.prototype.onAdd.call(this, map);
57
+ },
58
+ onRemove: function (map) {
59
+ // Clean up pending tiles
60
+ this._pendingTiles = {};
61
+ // remove _container from the dom, but don't delete it
62
+ DomUtil.remove(this._container);
63
+ },
64
+ setZIndex: function (zIndex) {
65
+ this.options.zIndex = zIndex;
66
+ this._updateZIndex();
67
+
68
+ return this;
69
+ },
70
+ _updateZIndex: function () {
71
+ if (
72
+ this._container &&
73
+ this.options.zIndex !== undefined &&
74
+ this.options.zIndex !== null
75
+ ) {
76
+ this._container.style.zIndex = this.options.zIndex;
77
+ }
78
+ },
79
+
80
+ _handleZoomChange: function () {
81
+ // this is necessary for CBMTILE in particular, I think because
82
+ // Leaflet relies on Web Mercator powers of 2 inter-zoom tile relations
83
+ // to calculate what tiles to clean up/remove. CBMTILE doesn't have that
84
+ // relationship between zoom levels /tiles.
85
+ //
86
+ // Force removal of all tiles that don't match current zoom
87
+ const currentZoom = this._map.getZoom();
88
+
89
+ for (const key in this._tiles) {
90
+ const coords = this._keyToTileCoords(key);
91
+ if (coords.z !== currentZoom) {
92
+ this._removeTile(key);
93
+ }
94
+ }
95
+ },
96
+ /**
97
+ * Adds a map-tile element to the layer
98
+ * @param {HTMLTileElement} mapTile - The map-tile element to add
99
+ */
100
+ addMapTile: function (mapTile) {
101
+ if (!this._mapTiles.includes(mapTile)) {
102
+ this._mapTiles.push(mapTile);
103
+ this._addToTileMap(mapTile);
104
+ this._updateBounds();
105
+ if (this._map) {
106
+ this.redraw();
107
+ }
108
+ }
109
+ },
110
+
111
+ /**
112
+ * Removes a map-tile element from the layer
113
+ * @param {HTMLTileElement} mapTile - The map-tile element to remove
114
+ */
115
+ removeMapTile: function (mapTile) {
116
+ const index = this._mapTiles.indexOf(mapTile);
117
+ if (index !== -1) {
118
+ this._mapTiles.splice(index, 1);
119
+ this._removeFromTileMap(mapTile);
120
+ this._updateBounds();
121
+ if (this._map) {
122
+ this.redraw();
123
+ }
124
+ }
125
+ },
126
+
127
+ /**
128
+ * Removes a map-tile element from the layer using specific coordinates
129
+ * Used when tile coordinates have changed and we need to remove based on old coordinates
130
+ * @param {HTMLTileElement} mapTile - The map-tile element to remove
131
+ * @param {Object} coords - The coordinates to use for removal {col, row, zoom}
132
+ */
133
+ removeMapTileAt: function (mapTile, coords) {
134
+ const index = this._mapTiles.indexOf(mapTile);
135
+ if (index !== -1) {
136
+ this._mapTiles.splice(index, 1);
137
+ this._removeFromTileMapAt(coords);
138
+ // Clean up bidirectional links using current tile reference
139
+ if (mapTile._tileDiv) {
140
+ mapTile._tileDiv._mapTile = null;
141
+ mapTile._tileDiv = null;
142
+ }
143
+ this._updateBounds();
144
+ if (this._map) {
145
+ this.redraw();
146
+ }
147
+ }
148
+ },
149
+
150
+ /**
151
+ * Checks if the layer is currently visible on the map
152
+ * @returns {boolean} - True if the layer is visible, false otherwise
153
+ */
154
+ isVisible: function () {
155
+ if (!this._map) return false;
156
+ if (!this.layerBounds) this._updateBounds();
157
+ // approach copied/refactored from MapFeatureLayer
158
+ let map = this._map,
159
+ mapZoom = map.getZoom(),
160
+ zoomBounds = this.zoomBounds,
161
+ layerBounds = this.layerBounds,
162
+ withinZoom =
163
+ mapZoom <= zoomBounds.maxZoom && mapZoom >= zoomBounds.minZoom;
164
+ return (
165
+ withinZoom &&
166
+ this._mapTiles &&
167
+ layerBounds &&
168
+ layerBounds.overlaps(
169
+ Util.pixelToPCRSBounds(
170
+ map.getPixelBounds(),
171
+ mapZoom,
172
+ map.options.projection
173
+ )
174
+ )
175
+ );
176
+ },
177
+
178
+ /**
179
+ * Overrides GridLayer createTile to use map-tile elements
180
+ * @param {Object} coords - Tile coordinates
181
+ * @param {Function} done - Callback to be called when the tile is ready, with error and tile element params
182
+ * @returns {HTMLElement} - The created tile element
183
+ */
184
+ createTile: function (coords, done) {
185
+ const tileKey = this._tileCoordsToKey(coords);
186
+ const tileSize = this.getTileSize();
187
+
188
+ // Create container element
189
+ const tileElement = document.createElement('div');
190
+ tileElement.setAttribute('col', coords.x);
191
+ tileElement.setAttribute('row', coords.y);
192
+ tileElement.setAttribute('zoom', coords.z);
193
+ DomUtil.addClass(tileElement, 'leaflet-tile');
194
+
195
+ // Set size
196
+ tileElement.style.width = tileSize.x + 'px';
197
+ tileElement.style.height = tileSize.y + 'px';
198
+
199
+ // Find matching tile in our map
200
+ const matchingTile = this._tileMap[tileKey];
201
+
202
+ if (matchingTile) {
203
+ // Create an image element with the src from the matching map-tile
204
+ const img = document.createElement('img');
205
+ img.src = matchingTile.src;
206
+ img.width = tileSize.x;
207
+ img.height = tileSize.y;
208
+ img.alt = '';
209
+ img.setAttribute('role', 'presentation');
210
+ // bidirectional link map-tile element and rendered div
211
+ tileElement._mapTile = matchingTile;
212
+ matchingTile._tileDiv = tileElement;
213
+
214
+ tileElement.appendChild(img);
215
+
216
+ // Add the loaded class manually to ensure tile is visible
217
+ DomUtil.addClass(tileElement, 'leaflet-tile-loaded');
218
+
219
+ // Call the done callback to signal that the tile is ready
220
+ done(null, tileElement);
221
+ } else {
222
+ // The tile might be added later, register a pending tile
223
+ if (!this._pendingTiles) {
224
+ this._pendingTiles = {};
225
+ }
226
+
227
+ // Store the tile element and done callback for later update
228
+ this._pendingTiles[tileKey] = {
229
+ element: tileElement,
230
+ done: done
231
+ };
232
+
233
+ // Don't call done yet - we'll call it when the map-tile is added
234
+ }
235
+
236
+ return tileElement;
237
+ },
238
+
239
+ /**
240
+ * Builds the tile map from the current map-tile elements
241
+ * @private
242
+ */
243
+ _buildTileMap: function () {
244
+ this._tileMap = {};
245
+ for (const mapTile of this._mapTiles) {
246
+ this._addToTileMap(mapTile);
247
+ }
248
+ },
249
+
250
+ /**
251
+ * Adds a map-tile element to the tile map
252
+ * @param {HTMLTileElement} mapTile - The map-tile element to add
253
+ * @private
254
+ */
255
+ _addToTileMap: function (mapTile) {
256
+ const tileKey = `${mapTile.col}:${mapTile.row}:${mapTile.zoom}`;
257
+ this._tileMap[tileKey] = mapTile;
258
+
259
+ // Check if this tile was requested but not available at that time
260
+ if (this._pendingTiles && this._pendingTiles[tileKey]) {
261
+ const pendingTile = this._pendingTiles[tileKey];
262
+ const tileElement = pendingTile.element;
263
+ const doneCallback = pendingTile.done;
264
+
265
+ // Create and append the image to the tile
266
+ const tileSize = this.getTileSize();
267
+ const img = document.createElement('img');
268
+ img.src = mapTile.src;
269
+ img.width = tileSize.x;
270
+ img.height = tileSize.y;
271
+ img.alt = '';
272
+ img.setAttribute('role', 'presentation');
273
+
274
+ // bidirectional link map-tile element and rendered div
275
+ tileElement._mapTile = mapTile;
276
+ mapTile._tileDiv = tileElement;
277
+
278
+ tileElement.appendChild(img);
279
+
280
+ // Add the loaded class manually to ensure tile is visible
281
+ DomUtil.addClass(tileElement, 'leaflet-tile-loaded');
282
+
283
+ // Call the done callback to signal that the tile is now ready
284
+ if (doneCallback) {
285
+ doneCallback(null, tileElement);
286
+ }
287
+
288
+ // Remove from pending tiles
289
+ delete this._pendingTiles[tileKey];
290
+ }
291
+ },
292
+ /**
293
+ * Removes a map-tile element from the tile map
294
+ * @param {HTMLTileElement} mapTile - The map-tile element to remove
295
+ * @private
296
+ */
297
+ _removeFromTileMap: function (mapTile) {
298
+ const tileKey = `${mapTile.col}:${mapTile.row}:${mapTile.zoom}`;
299
+ delete this._tileMap[tileKey];
300
+
301
+ // Clean up bidirectional links
302
+ if (mapTile._tileDiv) {
303
+ mapTile._tileDiv._mapTile = null;
304
+ mapTile._tileDiv = null;
305
+ }
306
+
307
+ // Also remove from pending tiles if it exists there
308
+ if (this._pendingTiles && this._pendingTiles[tileKey]) {
309
+ delete this._pendingTiles[tileKey];
310
+ }
311
+ },
312
+
313
+ /**
314
+ * Removes a tile from the tile map using specific coordinates
315
+ * @param {Object} coords - The coordinates {col, row, zoom}
316
+ * @private
317
+ */
318
+ _removeFromTileMapAt: function (coords) {
319
+ const tileKey = `${coords.col}:${coords.row}:${coords.zoom}`;
320
+ delete this._tileMap[tileKey];
321
+
322
+ // Also remove from pending tiles if it exists there
323
+ if (this._pendingTiles && this._pendingTiles[tileKey]) {
324
+ delete this._pendingTiles[tileKey];
325
+ }
326
+ },
327
+
328
+ /**
329
+ * Updates layer bounds when tiles are added or removed
330
+ * @private
331
+ */
332
+ _updateBounds: function () {
333
+ this.layerBounds = this._computeLayerBounds();
334
+ this.zoomBounds = this._computeZoomBounds();
335
+ },
336
+
337
+ /**
338
+ * Computes the layer bounds from all map-tile elements
339
+ * @returns {L.Bounds} - The computed layer bounds
340
+ * @private
341
+ */
342
+ _computeLayerBounds: function () {
343
+ if (this._mapTiles.length === 0) {
344
+ return bounds([0, 0], [0, 0]);
345
+ }
346
+
347
+ const tilesByZoom = {};
348
+ const projection = this.options.projection;
349
+ const tileSize = M[projection].options.crs.tile.bounds.max.x;
350
+
351
+ // Group tiles by zoom
352
+ for (const mapTile of this._mapTiles) {
353
+ const zoom = mapTile.zoom;
354
+
355
+ if (!tilesByZoom[zoom]) {
356
+ tilesByZoom[zoom] = [];
357
+ }
358
+
359
+ tilesByZoom[zoom].push({
360
+ x: mapTile.col,
361
+ y: mapTile.row,
362
+ z: zoom
363
+ });
364
+ }
365
+
366
+ // Calculate bounds for each zoom level
367
+ const layerBoundsByZoom = {};
368
+ for (const zoom in tilesByZoom) {
369
+ const tiles = tilesByZoom[zoom];
370
+ let pixelBounds = null;
371
+
372
+ for (const tile of tiles) {
373
+ const pixelX = tile.x * tileSize;
374
+ const pixelY = tile.y * tileSize;
375
+
376
+ if (!pixelBounds) {
377
+ pixelBounds = bounds(
378
+ point(pixelX, pixelY),
379
+ point(pixelX + tileSize, pixelY + tileSize)
380
+ );
381
+ } else {
382
+ pixelBounds.extend(point(pixelX, pixelY));
383
+ pixelBounds.extend(point(pixelX + tileSize, pixelY + tileSize));
384
+ }
385
+ }
386
+
387
+ if (pixelBounds) {
388
+ layerBoundsByZoom[zoom] = Util.pixelToPCRSBounds(
389
+ pixelBounds,
390
+ parseInt(zoom),
391
+ projection
392
+ );
393
+ }
394
+ }
395
+
396
+ // Combine all zoom level bounds
397
+ let combinedBounds = null;
398
+ for (const zoom in layerBoundsByZoom) {
399
+ if (!combinedBounds) {
400
+ // makes a clone of the bounds, including methods
401
+ combinedBounds = layerBoundsByZoom[zoom].pad(0);
402
+ } else {
403
+ combinedBounds.extend(layerBoundsByZoom[zoom].min);
404
+ combinedBounds.extend(layerBoundsByZoom[zoom].max);
405
+ }
406
+ }
407
+
408
+ return combinedBounds || bounds([0, 0], [0, 0]);
409
+ },
410
+
411
+ /**
412
+ * Computes zoom bounds from all map-tile elements
413
+ * @returns {Object} - The computed zoom bounds
414
+ * @private
415
+ */
416
+ _computeZoomBounds: function () {
417
+ const result = {
418
+ minZoom: Infinity,
419
+ maxZoom: -Infinity,
420
+ minNativeZoom: Infinity,
421
+ maxNativeZoom: -Infinity
422
+ };
423
+
424
+ if (this._mapTiles.length === 0) {
425
+ return {
426
+ minZoom: 0,
427
+ maxZoom: 22,
428
+ minNativeZoom: 0,
429
+ maxNativeZoom: 22
430
+ };
431
+ }
432
+
433
+ // Find min/max zoom from map-tile elements
434
+ for (const mapTile of this._mapTiles) {
435
+ const zoom = mapTile.zoom;
436
+ result.minNativeZoom = Math.min(result.minNativeZoom, zoom);
437
+ result.maxNativeZoom = Math.max(result.maxNativeZoom, zoom);
438
+ }
439
+
440
+ // Set min/max zoom based on native zoom
441
+ result.minZoom = result.minNativeZoom;
442
+ result.maxZoom = result.maxNativeZoom;
443
+
444
+ return result;
445
+ }
446
+ });
447
+
448
+ export var mapTileLayer = function (options) {
449
+ return new MapTileLayer(options);
450
+ };