@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,2138 @@
1
+ /*
2
+ * GCDS Map Component CSS
3
+ *
4
+ * This file composes the complete map styling by importing:
5
+ * 1. Leaflet core CSS (essential for map layout)
6
+ * 2. Leaflet.locatecontrol CSS (geolocation control)
7
+ * 3. Original MapML CSS (MapML-specific features)
8
+ * 4. GCDS-specific overrides (design system integration)
9
+ *
10
+ * This mirrors the original mapml.js Gruntfile.js CSS composition.
11
+ */
12
+
13
+ /* Import Leaflet core CSS - ESSENTIAL for proper map display */
14
+ /* required styles */
15
+
16
+ .leaflet-pane,
17
+ .leaflet-tile,
18
+ .leaflet-marker-icon,
19
+ .leaflet-marker-shadow,
20
+ .leaflet-tile-container,
21
+ .leaflet-pane > svg,
22
+ .leaflet-pane > canvas,
23
+ .leaflet-zoom-box,
24
+ .leaflet-image-layer,
25
+ .leaflet-layer {
26
+ position: absolute;
27
+ left: 0;
28
+ top: 0;
29
+ }
30
+ .leaflet-container {
31
+ overflow: hidden;
32
+ }
33
+ .leaflet-tile,
34
+ .leaflet-marker-icon,
35
+ .leaflet-marker-shadow {
36
+ -webkit-user-select: none;
37
+ -moz-user-select: none;
38
+ user-select: none;
39
+ -webkit-user-drag: none;
40
+ }
41
+ /* Prevents IE11 from highlighting tiles in blue */
42
+ .leaflet-tile::selection {
43
+ background: transparent;
44
+ }
45
+ /* Safari renders non-retina tile on retina better with this, but Chrome is worse */
46
+ .leaflet-safari .leaflet-tile {
47
+ image-rendering: -webkit-optimize-contrast;
48
+ }
49
+ /* hack that prevents hw layers "stretching" when loading new tiles */
50
+ .leaflet-safari .leaflet-tile-container {
51
+ width: 1600px;
52
+ height: 1600px;
53
+ -webkit-transform-origin: 0 0;
54
+ }
55
+ .leaflet-marker-icon,
56
+ .leaflet-marker-shadow {
57
+ display: block;
58
+ }
59
+ /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
60
+ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
61
+ .leaflet-container .leaflet-overlay-pane svg {
62
+ max-width: none !important;
63
+ max-height: none !important;
64
+ }
65
+ .leaflet-container .leaflet-marker-pane img,
66
+ .leaflet-container .leaflet-shadow-pane img,
67
+ .leaflet-container .leaflet-tile-pane img,
68
+ .leaflet-container img.leaflet-image-layer,
69
+ .leaflet-container .leaflet-tile {
70
+ max-width: none !important;
71
+ max-height: none !important;
72
+ width: auto;
73
+ padding: 0;
74
+ }
75
+
76
+ .leaflet-container img.leaflet-tile {
77
+ /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
78
+ mix-blend-mode: plus-lighter;
79
+ }
80
+
81
+ .leaflet-container.leaflet-touch-zoom {
82
+ -ms-touch-action: pan-x pan-y;
83
+ touch-action: pan-x pan-y;
84
+ }
85
+ .leaflet-container.leaflet-touch-drag {
86
+ -ms-touch-action: pinch-zoom;
87
+ /* Fallback for FF which doesn't support pinch-zoom */
88
+ touch-action: none;
89
+ touch-action: pinch-zoom;
90
+ }
91
+ .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
92
+ -ms-touch-action: none;
93
+ touch-action: none;
94
+ }
95
+ .leaflet-container {
96
+ -webkit-tap-highlight-color: transparent;
97
+ }
98
+ .leaflet-container a {
99
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
100
+ }
101
+ .leaflet-tile {
102
+ filter: inherit;
103
+ visibility: hidden;
104
+ }
105
+ .leaflet-tile-loaded {
106
+ visibility: inherit;
107
+ }
108
+ .leaflet-zoom-box {
109
+ width: 0;
110
+ height: 0;
111
+ -moz-box-sizing: border-box;
112
+ box-sizing: border-box;
113
+ z-index: 800;
114
+ }
115
+ /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
116
+ .leaflet-overlay-pane svg {
117
+ -moz-user-select: none;
118
+ }
119
+
120
+ .leaflet-pane { z-index: 400; }
121
+
122
+ .leaflet-tile-pane { z-index: 200; }
123
+ .leaflet-overlay-pane { z-index: 400; }
124
+ .leaflet-shadow-pane { z-index: 500; }
125
+ .leaflet-marker-pane { z-index: 600; }
126
+ .leaflet-tooltip-pane { z-index: 650; }
127
+ .leaflet-popup-pane { z-index: 700; }
128
+
129
+ .leaflet-map-pane canvas { z-index: 100; }
130
+ .leaflet-map-pane svg { z-index: 200; }
131
+
132
+ .leaflet-vml-shape {
133
+ width: 1px;
134
+ height: 1px;
135
+ }
136
+ .lvml {
137
+ behavior: url(#default#VML);
138
+ display: inline-block;
139
+ position: absolute;
140
+ }
141
+
142
+
143
+ /* control positioning */
144
+
145
+ .leaflet-control {
146
+ position: relative;
147
+ z-index: 800;
148
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
149
+ pointer-events: auto;
150
+ }
151
+ .leaflet-top,
152
+ .leaflet-bottom {
153
+ position: absolute;
154
+ z-index: 1000;
155
+ pointer-events: none;
156
+ }
157
+ .leaflet-top {
158
+ top: 0;
159
+ }
160
+ .leaflet-right {
161
+ right: 0;
162
+ }
163
+ .leaflet-bottom {
164
+ bottom: 0;
165
+ }
166
+ .leaflet-left {
167
+ left: 0;
168
+ }
169
+ .leaflet-control {
170
+ float: left;
171
+ clear: both;
172
+ }
173
+ .leaflet-right .leaflet-control {
174
+ float: right;
175
+ }
176
+ .leaflet-top .leaflet-control {
177
+ margin-top: 10px;
178
+ }
179
+ .leaflet-bottom .leaflet-control {
180
+ margin-bottom: 10px;
181
+ }
182
+ .leaflet-left .leaflet-control {
183
+ margin-left: 10px;
184
+ }
185
+ .leaflet-right .leaflet-control {
186
+ margin-right: 10px;
187
+ }
188
+
189
+
190
+ /* zoom and fade animations */
191
+
192
+ .leaflet-fade-anim .leaflet-popup {
193
+ opacity: 0;
194
+ -webkit-transition: opacity 0.2s linear;
195
+ -moz-transition: opacity 0.2s linear;
196
+ transition: opacity 0.2s linear;
197
+ }
198
+ .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
199
+ opacity: 1;
200
+ }
201
+ .leaflet-zoom-animated {
202
+ -webkit-transform-origin: 0 0;
203
+ -ms-transform-origin: 0 0;
204
+ transform-origin: 0 0;
205
+ }
206
+ svg.leaflet-zoom-animated {
207
+ will-change: transform;
208
+ }
209
+
210
+ .leaflet-zoom-anim .leaflet-zoom-animated {
211
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
212
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
213
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
214
+ }
215
+ .leaflet-zoom-anim .leaflet-tile,
216
+ .leaflet-pan-anim .leaflet-tile {
217
+ -webkit-transition: none;
218
+ -moz-transition: none;
219
+ transition: none;
220
+ }
221
+
222
+ .leaflet-zoom-anim .leaflet-zoom-hide {
223
+ visibility: hidden;
224
+ }
225
+
226
+
227
+ /* cursors */
228
+
229
+ .leaflet-interactive {
230
+ cursor: pointer;
231
+ }
232
+ .leaflet-grab {
233
+ cursor: -webkit-grab;
234
+ cursor: -moz-grab;
235
+ cursor: grab;
236
+ }
237
+ .leaflet-crosshair,
238
+ .leaflet-crosshair .leaflet-interactive {
239
+ cursor: crosshair;
240
+ }
241
+ .leaflet-popup-pane,
242
+ .leaflet-control {
243
+ cursor: auto;
244
+ }
245
+ .leaflet-dragging .leaflet-grab,
246
+ .leaflet-dragging .leaflet-grab .leaflet-interactive,
247
+ .leaflet-dragging .leaflet-marker-draggable {
248
+ cursor: move;
249
+ cursor: -webkit-grabbing;
250
+ cursor: -moz-grabbing;
251
+ cursor: grabbing;
252
+ }
253
+
254
+ /* marker & overlays interactivity */
255
+ .leaflet-marker-icon,
256
+ .leaflet-marker-shadow,
257
+ .leaflet-image-layer,
258
+ .leaflet-pane > svg path,
259
+ .leaflet-tile-container {
260
+ pointer-events: none;
261
+ }
262
+
263
+ .leaflet-marker-icon.leaflet-interactive,
264
+ .leaflet-image-layer.leaflet-interactive,
265
+ .leaflet-pane > svg path.leaflet-interactive,
266
+ svg.leaflet-image-layer.leaflet-interactive path {
267
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
268
+ pointer-events: auto;
269
+ }
270
+
271
+ /* visual tweaks */
272
+
273
+ .leaflet-container {
274
+ background: #ddd;
275
+ outline-offset: 1px;
276
+ }
277
+ .leaflet-container a {
278
+ color: #0078A8;
279
+ }
280
+ .leaflet-zoom-box {
281
+ border: 2px dotted #38f;
282
+ background: rgba(255,255,255,0.5);
283
+ }
284
+
285
+
286
+ /* general typography */
287
+ .leaflet-container {
288
+ font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
289
+ font-size: 12px;
290
+ font-size: 0.75rem;
291
+ line-height: 1.5;
292
+ }
293
+
294
+
295
+ /* general toolbar styles */
296
+
297
+ .leaflet-bar {
298
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
299
+ border-radius: 4px;
300
+ }
301
+ .leaflet-bar a {
302
+ background-color: #fff;
303
+ border-bottom: 1px solid #ccc;
304
+ width: 26px;
305
+ height: 26px;
306
+ line-height: 26px;
307
+ display: block;
308
+ text-align: center;
309
+ text-decoration: none;
310
+ color: black;
311
+ }
312
+ .leaflet-bar a,
313
+ .leaflet-control-layers-toggle {
314
+ background-position: 50% 50%;
315
+ background-repeat: no-repeat;
316
+ display: block;
317
+ }
318
+ .leaflet-bar a:hover,
319
+ .leaflet-bar a:focus {
320
+ background-color: #f4f4f4;
321
+ }
322
+ .leaflet-bar a:first-child {
323
+ border-top-left-radius: 4px;
324
+ border-top-right-radius: 4px;
325
+ }
326
+ .leaflet-bar a:last-child {
327
+ border-bottom-left-radius: 4px;
328
+ border-bottom-right-radius: 4px;
329
+ border-bottom: none;
330
+ }
331
+ .leaflet-bar a.leaflet-disabled {
332
+ cursor: default;
333
+ background-color: #f4f4f4;
334
+ color: #bbb;
335
+ }
336
+
337
+ .leaflet-touch .leaflet-bar a {
338
+ width: 30px;
339
+ height: 30px;
340
+ line-height: 30px;
341
+ }
342
+ .leaflet-touch .leaflet-bar a:first-child {
343
+ border-top-left-radius: 2px;
344
+ border-top-right-radius: 2px;
345
+ }
346
+ .leaflet-touch .leaflet-bar a:last-child {
347
+ border-bottom-left-radius: 2px;
348
+ border-bottom-right-radius: 2px;
349
+ }
350
+
351
+ /* zoom control */
352
+
353
+ .leaflet-control-zoom-in,
354
+ .leaflet-control-zoom-out {
355
+ font: bold 18px 'Lucida Console', Monaco, monospace;
356
+ text-indent: 1px;
357
+ }
358
+
359
+ .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
360
+ font-size: 22px;
361
+ }
362
+
363
+
364
+ /* layers control */
365
+
366
+ .leaflet-control-layers {
367
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
368
+ background: #fff;
369
+ border-radius: 5px;
370
+ }
371
+ .leaflet-control-layers-toggle {
372
+ background-image: url(images/layers.png);
373
+ width: 36px;
374
+ height: 36px;
375
+ }
376
+ .leaflet-retina .leaflet-control-layers-toggle {
377
+ background-image: url(images/layers-2x.png);
378
+ background-size: 26px 26px;
379
+ }
380
+ .leaflet-touch .leaflet-control-layers-toggle {
381
+ width: 44px;
382
+ height: 44px;
383
+ }
384
+ .leaflet-control-layers .leaflet-control-layers-list,
385
+ .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
386
+ display: none;
387
+ }
388
+ .leaflet-control-layers-expanded .leaflet-control-layers-list {
389
+ display: block;
390
+ position: relative;
391
+ }
392
+ .leaflet-control-layers-expanded {
393
+ padding: 6px 10px 6px 6px;
394
+ color: #333;
395
+ background: #fff;
396
+ }
397
+ .leaflet-control-layers-scrollbar {
398
+ overflow-y: scroll;
399
+ overflow-x: hidden;
400
+ padding-right: 5px;
401
+ }
402
+ .leaflet-control-layers-selector {
403
+ margin-top: 2px;
404
+ position: relative;
405
+ top: 1px;
406
+ }
407
+ .leaflet-control-layers label {
408
+ display: block;
409
+ font-size: 13px;
410
+ font-size: 1.08333em;
411
+ }
412
+ .leaflet-control-layers-separator {
413
+ height: 0;
414
+ border-top: 1px solid #ddd;
415
+ margin: 5px -10px 5px -6px;
416
+ }
417
+
418
+ /* Default icon URLs */
419
+ .leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
420
+ background-image: url(images/marker-icon.png);
421
+ }
422
+
423
+
424
+ /* attribution and scale controls */
425
+
426
+ .leaflet-container .leaflet-control-attribution {
427
+ background: #fff;
428
+ background: rgba(255, 255, 255, 0.8);
429
+ margin: 0;
430
+ }
431
+ .leaflet-control-attribution,
432
+ .leaflet-control-scale-line {
433
+ padding: 0 5px;
434
+ color: #333;
435
+ line-height: 1.4;
436
+ }
437
+ .leaflet-control-attribution a {
438
+ text-decoration: none;
439
+ }
440
+ .leaflet-control-attribution a:hover,
441
+ .leaflet-control-attribution a:focus {
442
+ text-decoration: underline;
443
+ }
444
+ .leaflet-attribution-flag {
445
+ display: inline !important;
446
+ vertical-align: baseline !important;
447
+ width: 1em;
448
+ height: 0.6669em;
449
+ }
450
+ .leaflet-left .leaflet-control-scale {
451
+ margin-left: 5px;
452
+ }
453
+ .leaflet-bottom .leaflet-control-scale {
454
+ margin-bottom: 5px;
455
+ }
456
+ .leaflet-control-scale-line {
457
+ border: 2px solid #777;
458
+ border-top: none;
459
+ line-height: 1.1;
460
+ padding: 2px 5px 1px;
461
+ white-space: nowrap;
462
+ -moz-box-sizing: border-box;
463
+ box-sizing: border-box;
464
+ background: rgba(255, 255, 255, 0.8);
465
+ text-shadow: 1px 1px #fff;
466
+ }
467
+ .leaflet-control-scale-line:not(:first-child) {
468
+ border-top: 2px solid #777;
469
+ border-bottom: none;
470
+ margin-top: -2px;
471
+ }
472
+ .leaflet-control-scale-line:not(:first-child):not(:last-child) {
473
+ border-bottom: 2px solid #777;
474
+ }
475
+
476
+ .leaflet-touch .leaflet-control-attribution,
477
+ .leaflet-touch .leaflet-control-layers,
478
+ .leaflet-touch .leaflet-bar {
479
+ box-shadow: none;
480
+ }
481
+ .leaflet-touch .leaflet-control-layers,
482
+ .leaflet-touch .leaflet-bar {
483
+ border: 2px solid rgba(0,0,0,0.2);
484
+ background-clip: padding-box;
485
+ }
486
+
487
+
488
+ /* popup */
489
+
490
+ .leaflet-popup {
491
+ position: absolute;
492
+ text-align: center;
493
+ margin-bottom: 20px;
494
+ }
495
+ .leaflet-popup-content-wrapper {
496
+ padding: 1px;
497
+ text-align: left;
498
+ border-radius: 12px;
499
+ }
500
+ .leaflet-popup-content {
501
+ margin: 13px 24px 13px 20px;
502
+ line-height: 1.3;
503
+ font-size: 13px;
504
+ font-size: 1.08333em;
505
+ min-height: 1px;
506
+ }
507
+ .leaflet-popup-content p {
508
+ margin: 17px 0;
509
+ margin: 1.3em 0;
510
+ }
511
+ .leaflet-popup-tip-container {
512
+ width: 40px;
513
+ height: 20px;
514
+ position: absolute;
515
+ left: 50%;
516
+ margin-top: -1px;
517
+ margin-left: -20px;
518
+ overflow: hidden;
519
+ pointer-events: none;
520
+ }
521
+ .leaflet-popup-tip {
522
+ width: 17px;
523
+ height: 17px;
524
+ padding: 1px;
525
+
526
+ margin: -10px auto 0;
527
+ pointer-events: auto;
528
+
529
+ -webkit-transform: rotate(45deg);
530
+ -moz-transform: rotate(45deg);
531
+ -ms-transform: rotate(45deg);
532
+ transform: rotate(45deg);
533
+ }
534
+ .leaflet-popup-content-wrapper,
535
+ .leaflet-popup-tip {
536
+ background: white;
537
+ color: #333;
538
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
539
+ }
540
+ .leaflet-container a.leaflet-popup-close-button {
541
+ position: absolute;
542
+ top: 0;
543
+ right: 0;
544
+ border: none;
545
+ text-align: center;
546
+ width: 24px;
547
+ height: 24px;
548
+ font: 16px/24px Tahoma, Verdana, sans-serif;
549
+ color: #757575;
550
+ text-decoration: none;
551
+ background: transparent;
552
+ }
553
+ .leaflet-container a.leaflet-popup-close-button:hover,
554
+ .leaflet-container a.leaflet-popup-close-button:focus {
555
+ color: #585858;
556
+ }
557
+ .leaflet-popup-scrolled {
558
+ overflow: auto;
559
+ }
560
+
561
+ .leaflet-oldie .leaflet-popup-content-wrapper {
562
+ -ms-zoom: 1;
563
+ }
564
+ .leaflet-oldie .leaflet-popup-tip {
565
+ width: 24px;
566
+ margin: 0 auto;
567
+
568
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
569
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
570
+ }
571
+
572
+ .leaflet-oldie .leaflet-control-zoom,
573
+ .leaflet-oldie .leaflet-control-layers,
574
+ .leaflet-oldie .leaflet-popup-content-wrapper,
575
+ .leaflet-oldie .leaflet-popup-tip {
576
+ border: 1px solid #999;
577
+ }
578
+
579
+
580
+ /* div icon */
581
+
582
+ .leaflet-div-icon {
583
+ background: #fff;
584
+ border: 1px solid #666;
585
+ }
586
+
587
+
588
+ /* Tooltip */
589
+ /* Base styles for the element that has a tooltip */
590
+ .leaflet-tooltip {
591
+ position: absolute;
592
+ padding: 6px;
593
+ background-color: #fff;
594
+ border: 1px solid #fff;
595
+ border-radius: 3px;
596
+ color: #222;
597
+ white-space: nowrap;
598
+ -webkit-user-select: none;
599
+ -moz-user-select: none;
600
+ -ms-user-select: none;
601
+ user-select: none;
602
+ pointer-events: none;
603
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
604
+ }
605
+ .leaflet-tooltip.leaflet-interactive {
606
+ cursor: pointer;
607
+ pointer-events: auto;
608
+ }
609
+ .leaflet-tooltip-top:before,
610
+ .leaflet-tooltip-bottom:before,
611
+ .leaflet-tooltip-left:before,
612
+ .leaflet-tooltip-right:before {
613
+ position: absolute;
614
+ pointer-events: none;
615
+ border: 6px solid transparent;
616
+ background: transparent;
617
+ content: "";
618
+ }
619
+
620
+ /* Directions */
621
+
622
+ .leaflet-tooltip-bottom {
623
+ margin-top: 6px;
624
+ }
625
+ .leaflet-tooltip-top {
626
+ margin-top: -6px;
627
+ }
628
+ .leaflet-tooltip-bottom:before,
629
+ .leaflet-tooltip-top:before {
630
+ left: 50%;
631
+ margin-left: -6px;
632
+ }
633
+ .leaflet-tooltip-top:before {
634
+ bottom: 0;
635
+ margin-bottom: -12px;
636
+ border-top-color: #fff;
637
+ }
638
+ .leaflet-tooltip-bottom:before {
639
+ top: 0;
640
+ margin-top: -12px;
641
+ margin-left: -6px;
642
+ border-bottom-color: #fff;
643
+ }
644
+ .leaflet-tooltip-left {
645
+ margin-left: -6px;
646
+ }
647
+ .leaflet-tooltip-right {
648
+ margin-left: 6px;
649
+ }
650
+ .leaflet-tooltip-left:before,
651
+ .leaflet-tooltip-right:before {
652
+ top: 50%;
653
+ margin-top: -6px;
654
+ }
655
+ .leaflet-tooltip-left:before {
656
+ right: 0;
657
+ margin-right: -12px;
658
+ border-left-color: #fff;
659
+ }
660
+ .leaflet-tooltip-right:before {
661
+ left: 0;
662
+ margin-left: -12px;
663
+ border-right-color: #fff;
664
+ }
665
+
666
+ /* Printing */
667
+
668
+ @media print {
669
+ /* Prevent printers from removing background-images of controls. */
670
+ .leaflet-control {
671
+ -webkit-print-color-adjust: exact;
672
+ print-color-adjust: exact;
673
+ }
674
+ }
675
+
676
+
677
+ /* Import Leaflet locate control CSS */
678
+ .leaflet-control-locate {
679
+ --locate-control-icon-color: black;
680
+ --locate-control-active-color: #2074b6;
681
+ --locate-control-following-color: #fc8428;
682
+ }
683
+
684
+ .leaflet-control-locate a .leaflet-control-locate-location-arrow {
685
+ background-color: var(--locate-control-icon-color);
686
+ width: 16px;
687
+ height: 16px;
688
+ margin: 7px;
689
+ display: inline-block;
690
+ -webkit-mask-position: center;
691
+ mask-position: center;
692
+ -webkit-mask-repeat: no-repeat;
693
+ mask-repeat: no-repeat;
694
+ }
695
+
696
+ .leaflet-control-locate a .leaflet-control-locate-spinner {
697
+ background-color: var(--locate-control-icon-color);
698
+ width: 16px;
699
+ height: 16px;
700
+ margin: 7px;
701
+ display: inline-block;
702
+ -webkit-mask-position: center;
703
+ mask-position: center;
704
+ -webkit-mask-repeat: no-repeat;
705
+ mask-repeat: no-repeat;
706
+ }
707
+
708
+ .leaflet-control-locate a .leaflet-locate-icon {
709
+ color: var(--locate-control-icon-color);
710
+ }
711
+
712
+ .leaflet-control-locate a .leaflet-control-locate-location-arrow {
713
+ -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z\"/></svg>");
714
+ mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z\"/></svg>");
715
+ }
716
+
717
+ .leaflet-control-locate a .leaflet-control-locate-spinner {
718
+ animation: 2s linear infinite leaflet-control-locate-spin;
719
+ -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M304 48a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48 368a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm208-208a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM96 256a48 48 0 1 0-96 0 48 48 0 0 0 96 0zm13 99a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm294 0a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM109 61a48 48 0 1 0 0 96 48 48 0 0 0 0-96z\"/></svg>");
720
+ mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M304 48a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48 368a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm208-208a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM96 256a48 48 0 1 0-96 0 48 48 0 0 0 96 0zm13 99a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm294 0a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM109 61a48 48 0 1 0 0 96 48 48 0 0 0 0-96z\"/></svg>");
721
+ }
722
+
723
+ .leaflet-control-locate.active a .leaflet-control-locate-location-arrow {
724
+ background-color: var(--locate-control-active-color);
725
+ }
726
+
727
+ .leaflet-control-locate.active a .leaflet-locate-icon {
728
+ color: var(--locate-control-active-color);
729
+ }
730
+
731
+ .leaflet-control-locate.following a .leaflet-control-locate-location-arrow {
732
+ background-color: var(--locate-control-following-color);
733
+ }
734
+
735
+ .leaflet-control-locate.following a .leaflet-locate-icon {
736
+ color: var(--locate-control-following-color);
737
+ }
738
+
739
+ .leaflet-control-locate.locate-timeout a .leaflet-control-locate-spinner {
740
+ background-color: #f39c12;
741
+ }
742
+
743
+ .leaflet-bar .leaflet-locate-text-active {
744
+ text-overflow: ellipsis;
745
+ white-space: nowrap;
746
+ align-items: center;
747
+ width: auto;
748
+ max-width: 200px;
749
+ padding: 0 10px;
750
+ display: flex;
751
+ overflow: hidden;
752
+ }
753
+
754
+ .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon {
755
+ padding: 0 5px 0 0;
756
+ }
757
+
758
+ .leaflet-touch .leaflet-bar .leaflet-locate-text-active {
759
+ width: 100%;
760
+ }
761
+
762
+ .leaflet-control-locate-location circle {
763
+ animation: 4s infinite leaflet-control-locate-throb;
764
+ }
765
+
766
+ @keyframes leaflet-control-locate-throb {
767
+ 0% {
768
+ stroke-width: 1px;
769
+ }
770
+
771
+ 50% {
772
+ stroke-width: 3px;
773
+ transform: scale(.8);
774
+ }
775
+
776
+ 100% {
777
+ stroke-width: 1px;
778
+ }
779
+ }
780
+
781
+ @keyframes leaflet-control-locate-spin {
782
+ 0% {
783
+ transform: rotate(0);
784
+ }
785
+
786
+ 100% {
787
+ transform: rotate(360deg);
788
+ }
789
+ }
790
+
791
+ /*# sourceMappingURL=dist/L.Control.Locate.css.map */
792
+
793
+
794
+ /* -- GC Design System Fonts - Lato -- */
795
+ @font-face {
796
+ font-family: 'Lato';
797
+ src: url('fonts/lato/gcds-lato.woff2') format('woff2'),
798
+ url('fonts/lato/gcds-lato.woff') format('woff');
799
+ font-weight: 700;
800
+ font-style: normal;
801
+ }
802
+
803
+ @font-face {
804
+ font-family: 'Lato';
805
+ src: url('fonts/lato/gcds-lato-italic.woff2') format('woff2'),
806
+ url('fonts/lato/gcds-lato-italic.woff') format('woff');
807
+ font-weight: 700;
808
+ font-style: italic;
809
+ }
810
+
811
+ /* -- GC Design System Fonts - Noto Sans -- */
812
+ @font-face {
813
+ font-family: 'Noto Sans';
814
+ src: url('fonts/noto-sans/gcds-noto-sans-light.woff2') format('woff2'),
815
+ url('fonts/noto-sans/gcds-noto-sans-light.woff') format('woff');
816
+ font-weight: 300;
817
+ font-style: normal;
818
+ }
819
+
820
+ @font-face {
821
+ font-family: 'Noto Sans';
822
+ src: url('fonts/noto-sans/gcds-noto-sans-light-italic.woff2') format('woff2'),
823
+ url('fonts/noto-sans/gcds-noto-sans-light-italic.woff') format('woff');
824
+ font-weight: 300;
825
+ font-style: italic;
826
+ }
827
+
828
+ @font-face {
829
+ font-family: 'Noto Sans';
830
+ src: url('fonts/noto-sans/gcds-noto-sans-regular.woff2') format('woff2'),
831
+ url('fonts/noto-sans/gcds-noto-sans-regular.woff') format('woff');
832
+ font-weight: 400;
833
+ font-style: normal;
834
+ }
835
+
836
+ @font-face {
837
+ font-family: 'Noto Sans';
838
+ src: url('fonts/noto-sans/gcds-noto-sans-regular-italic.woff2') format('woff2'),
839
+ url('fonts/noto-sans/gcds-noto-sans-regular-italic.woff') format('woff');
840
+ font-weight: 400;
841
+ font-style: italic;
842
+ }
843
+
844
+ @font-face {
845
+ font-family: 'Noto Sans';
846
+ src: url('fonts/noto-sans/gcds-noto-sans-medium.woff2') format('woff2'),
847
+ url('fonts/noto-sans/gcds-noto-sans-medium.woff') format('woff');
848
+ font-weight: 500;
849
+ font-style: normal;
850
+ }
851
+
852
+ @font-face {
853
+ font-family: 'Noto Sans';
854
+ src: url('fonts/noto-sans/gcds-noto-sans-medium-italic.woff2') format('woff2'),
855
+ url('fonts/noto-sans/gcds-noto-sans-medium-italic.woff') format('woff');
856
+ font-weight: 500;
857
+ font-style: italic;
858
+ }
859
+
860
+ @font-face {
861
+ font-family: 'Noto Sans';
862
+ src: url('fonts/noto-sans/gcds-noto-sans-semibold.woff2') format('woff2'),
863
+ url('fonts/noto-sans/gcds-noto-sans-semibold.woff') format('woff');
864
+ font-weight: 600;
865
+ font-style: normal;
866
+ }
867
+
868
+ @font-face {
869
+ font-family: 'Noto Sans';
870
+ src: url('fonts/noto-sans/gcds-noto-sans-semibold-italic.woff2') format('woff2'),
871
+ url('fonts/noto-sans/gcds-noto-sans-semibold-italic.woff') format('woff');
872
+ font-weight: 600;
873
+ font-style: italic;
874
+ }
875
+
876
+ @font-face {
877
+ font-family: 'Noto Sans';
878
+ src: url('fonts/noto-sans/gcds-noto-sans-bold.woff2') format('woff2'),
879
+ url('fonts/noto-sans/gcds-noto-sans-bold.woff') format('woff');
880
+ font-weight: 700;
881
+ font-style: normal;
882
+ }
883
+
884
+ @font-face {
885
+ font-family: 'Noto Sans';
886
+ src: url('fonts/noto-sans/gcds-noto-sans-bold-italic.woff2') format('woff2'),
887
+ url('fonts/noto-sans/gcds-noto-sans-bold-italic.woff') format('woff');
888
+ font-weight: 700;
889
+ font-style: italic;
890
+ }
891
+
892
+ /* -- GC Design System Fonts - Noto Sans Mono -- */
893
+ @font-face {
894
+ font-family: 'Noto Sans Mono';
895
+ src: url('fonts/noto-sans-mono/gcds-noto-sans-mono.woff2') format('woff2'),
896
+ url('fonts/noto-sans-mono/gcds-noto-sans-mono.woff') format('woff');
897
+ font-weight: 400;
898
+ font-style: normal;
899
+ }
900
+
901
+ /* -- GC Design System Fonts - Icons -- */
902
+ @font-face {
903
+ font-family: 'gcds-icons';
904
+ src: url('fonts/icons/gcds-icons.eot');
905
+ src: url('fonts/icons/gcds-icons.eot#iefix') format('embedded-opentype'),
906
+ url('fonts/icons/gcds-icons.ttf') format('truetype'),
907
+ url('fonts/icons/gcds-icons.woff') format('woff'),
908
+ url('fonts/icons/gcds-icons.svg') format('svg');
909
+ font-weight: normal;
910
+ font-style: normal;
911
+ font-display: swap;
912
+ }
913
+
914
+ [class^='gcds-icon-'],
915
+ [class*=' gcds-icon-'] {
916
+ font-family: 'gcds-icons' !important;
917
+ speak: never;
918
+ font-style: normal;
919
+ font-weight: normal;
920
+ font-variant: normal;
921
+ text-transform: none;
922
+ line-height: 1;
923
+ -webkit-font-smoothing: antialiased;
924
+ -moz-osx-font-smoothing: grayscale;
925
+ }
926
+
927
+ .gcds-icon-arrow-down:before { content: '\f013'; }
928
+ .gcds-icon-arrow-up:before { content: '\f011'; }
929
+ .gcds-icon-arrow-up-down:before { content: '\f012'; }
930
+ .gcds-icon-checkmark-circle:before { content: '\f021'; }
931
+ .gcds-icon-chevron-down:before { content: '\f020'; }
932
+ .gcds-icon-chevron-left:before { content: '\f01f'; }
933
+ .gcds-icon-chevron-right:before { content: '\f01e'; }
934
+ .gcds-icon-chevron-up:before { content: '\f01d'; }
935
+ .gcds-icon-close:before { content: '\f01c'; }
936
+ .gcds-icon-download:before { content: '\f01b'; }
937
+ .gcds-icon-email:before { content: '\f01a'; }
938
+ .gcds-icon-exclamation-circle:before { content: '\f019'; }
939
+ .gcds-icon-external:before { content: '\f018'; }
940
+ .gcds-icon-filter:before { content: '\f005'; }
941
+ .gcds-icon-info-circle:before { content: '\f017'; }
942
+ .gcds-icon-phone:before { content: '\f016'; }
943
+ .gcds-icon-search:before { content: '\f002'; }
944
+ .gcds-icon-sort:before { content: '\f003'; }
945
+ .gcds-icon-tune:before { content: '\f000'; }
946
+ .gcds-icon-warning-triangle:before { content: '\f014'; }
947
+
948
+ /* copy of original mapml.css from MapML.js submodule */
949
+
950
+ .leaflet-container {
951
+ /* Override the `background-color` set by leaflet.css, enables inheritance from
952
+ the map or <body> element (same as iframes) to give the author more control. */
953
+ background-color: transparent;
954
+ /* Override Leaflet's Helvetica Neue/Arial stack with GCDS body font */
955
+ font-family: var(--gcds-font-families-body, 'Noto Sans', sans-serif);
956
+ max-height: 100%;
957
+ max-width: 100%;
958
+ min-height: 100%;
959
+ min-width: 100%;
960
+ width: 100% !important;
961
+ height: 100% !important;
962
+ }
963
+
964
+ /* this is required by tiles which are actually divs with multiple images in them */
965
+ .leaflet-tile img {
966
+ position: absolute;
967
+ left: 0;
968
+ top: 0;
969
+ }
970
+ /* MapML treats images like map layers, so far as fade animation is concerned */
971
+ .leaflet-fade-anim .leaflet-image-layer {
972
+ will-change: opacity;
973
+ }
974
+
975
+ .leaflet-image-layer {
976
+ visibility: hidden;
977
+ }
978
+ .leaflet-image-loaded {
979
+ visibility: inherit;
980
+ }
981
+
982
+ /* Use legible font-sizes (Leaflet upstream PR: https://github.com/Leaflet/Leaflet/pull/7346). */
983
+ .leaflet-control-scale-line,
984
+ .leaflet-container .leaflet-control-scale,
985
+ .leaflet-container .leaflet-control-attribution {
986
+ font-size: 12px;
987
+ }
988
+
989
+ /*
990
+ * Controls.
991
+ */
992
+ .leaflet-container {
993
+ container: leafletmap / size;
994
+ }
995
+ /* Scale bar */
996
+ .mapml-control-scale {
997
+ inset-block-end: var(--gcds-spacing-100, 8px); /* Make room for map-a links */
998
+ inset-inline-start: 0;
999
+ }
1000
+ @container leafletmap (max-height: 250px) {
1001
+ .mapml-control-scale {
1002
+ inset-inline-start: 45px;
1003
+ }
1004
+ }
1005
+
1006
+ /* for extents that don't overlap the viewport, the extent and it's layer
1007
+ control fieldset become disabled. The descendant fieldsets also become
1008
+ disabled (but they / their descendant content are not explicitly italicized by
1009
+ the browser)' */
1010
+ .leaflet-control-layers-overlays fieldset:disabled span.mapml-layer-item-name {
1011
+ font-style: italic;
1012
+ }
1013
+
1014
+ /* Generic class for seamless buttons */
1015
+ .mapml-button {
1016
+ background-color: transparent;
1017
+ border: none;
1018
+ border-radius: 0;
1019
+ color: inherit;
1020
+ font: inherit;
1021
+ line-height: inherit;
1022
+ margin: 0;
1023
+ padding: 0;
1024
+ overflow: hidden;
1025
+ text-align: inherit;
1026
+ text-transform: none;
1027
+ -webkit-appearance: none;
1028
+ -moz-appearance: none;
1029
+ appearance: none;
1030
+ }
1031
+
1032
+ /* Remove opinionated link colors set by Leaflet. */
1033
+ .leaflet-container a {
1034
+ color: revert;
1035
+ }
1036
+ /* Don't use UA styles for links that are controls
1037
+ (and don't inherit color from map into the reload button for consistency). */
1038
+ .mapml-reload-button,
1039
+ .leaflet-control-container a,
1040
+ .leaflet-container a.leaflet-popup-close-button,
1041
+ .leaflet-container a.leaflet-popup-close-button:hover {
1042
+ color: var(--gcds-color-black, #000);
1043
+ }
1044
+ /* Revert above `color: #000` for legendlinks. */
1045
+ .mapml-layer-item-name a {
1046
+ color: revert;
1047
+ }
1048
+
1049
+ .leaflet-top .leaflet-control {
1050
+ margin-top: 5px;
1051
+ }
1052
+
1053
+ .leaflet-left .leaflet-control {
1054
+ margin-left: 5px;
1055
+ }
1056
+
1057
+ .leaflet-bar a,
1058
+ .mapml-reload-button {
1059
+ background-color: var(--gcds-color-white, #fff);
1060
+ box-sizing: border-box;
1061
+ width: 44px !important;
1062
+ height: 44px !important;
1063
+ line-height: 44px !important;
1064
+ font-size: 34px !important;
1065
+ font-weight: var(--gcds-font-weights-bold, bold);
1066
+ text-align: center;
1067
+ }
1068
+
1069
+ .mapml-reload-button:hover,
1070
+ .mapml-reload-button[aria-disabled="true"] {
1071
+ background-color: var(--gcds-bg-light, #f4f4f4);
1072
+ }
1073
+
1074
+ .mapml-reload-button[aria-disabled="true"] {
1075
+ cursor: default;
1076
+ }
1077
+
1078
+ button.mapml-button:disabled,
1079
+ .mapml-button[aria-disabled="true"] {
1080
+ color: var(--gcds-disabled-text, #bbb);
1081
+ }
1082
+
1083
+ button.mapml-contextmenu-item:disabled {
1084
+ opacity: .3;
1085
+ }
1086
+
1087
+ .leaflet-control-layers-toggle {
1088
+ width: 44px !important;
1089
+ height: 44px !important;
1090
+ }
1091
+
1092
+ .leaflet-bar a,
1093
+ .leaflet-control-layers,
1094
+ .mapml-reload-button {
1095
+ border-color: var(--gcds-color-grayscale-100, #e3e3e3) !important;
1096
+ }
1097
+
1098
+ .leaflet-control-layers,
1099
+ .mapml-reload-button {
1100
+ border-radius: var(--gcds-border-radius-md, 4px) !important;
1101
+ }
1102
+ .leaflet-touch .leaflet-bar a:last-child {
1103
+ border-end-start-radius: var(--gcds-border-radius-md, 4px) !important;
1104
+ border-end-end-radius: var(--gcds-border-radius-md, 4px) !important;
1105
+ }
1106
+ .leaflet-touch .leaflet-bar a:first-child {
1107
+ border-start-start-radius: var(--gcds-border-radius-md, 4px) !important;
1108
+ border-start-end-radius: var(--gcds-border-radius-md, 4px) !important;
1109
+ }
1110
+ .leaflet-touch .leaflet-control-layers,
1111
+ .leaflet-touch .leaflet-bar {
1112
+ border-style: inherit;
1113
+ }
1114
+
1115
+ /* Less opinionated box-shadows. */
1116
+ .mapml-contextmenu,
1117
+ .mapml-debug,
1118
+ .leaflet-bar,
1119
+ .leaflet-control-layers,
1120
+ .leaflet-popup-content-wrapper,
1121
+ .leaflet-tooltip-pane .leaflet-tooltip,
1122
+ .leaflet-touch .leaflet-control-layers,
1123
+ .leaflet-touch .leaflet-bar,
1124
+ .leaflet-popup-tip,
1125
+ .leaflet-container .leaflet-control-attribution {
1126
+ box-shadow: rgb(0 0 0 / 30%) 0px 1px 4px -1px;
1127
+ }
1128
+
1129
+ /* GCDS link styles for attribution links. */
1130
+ .leaflet-control-attribution a {
1131
+ color: var(--gcds-link-default);
1132
+ text-decoration: revert;
1133
+
1134
+ @media (hover: hover) {
1135
+ &:hover {
1136
+ text-decoration-thickness: var(--gcds-link-hover-decoration-thickness);
1137
+ color: var(--gcds-link-hover);
1138
+ }
1139
+ }
1140
+
1141
+ &:visited:not(:focus) {
1142
+ color: var(--gcds-link-visited);
1143
+ }
1144
+
1145
+ &:focus {
1146
+ background-color: var(--gcds-link-focus-background);
1147
+ color: var(--gcds-link-focus-text);
1148
+ border-radius: var(--gcds-link-focus-border-radius);
1149
+ box-shadow: var(--gcds-link-focus-box-shadow);
1150
+ outline: var(--gcds-link-focus-outline-width) solid
1151
+ var(--gcds-link-focus-background);
1152
+ outline-offset: var(--gcds-link-focus-outline-offset);
1153
+ text-decoration: none;
1154
+ }
1155
+ }
1156
+
1157
+
1158
+ /*
1159
+ * Attribution.
1160
+ */
1161
+
1162
+ .leaflet-container .leaflet-control-attribution {
1163
+ background-color: var(--gcds-bg-white, #fff);
1164
+ border-radius: 1.5em;
1165
+ color: currentColor;
1166
+ margin: var(--gcds-spacing-50, 5px);
1167
+ min-height: 30px;
1168
+ min-width: 30px;
1169
+ padding: 0;
1170
+ }
1171
+
1172
+ .leaflet-control-attribution summary {
1173
+ display: block;
1174
+ list-style: none;
1175
+ border-radius: 100%;
1176
+ position: absolute;
1177
+ bottom: 0;
1178
+ left: calc(100% - 30px);
1179
+ line-height: 0;
1180
+ width: 30px;
1181
+ height: 30px;
1182
+ }
1183
+
1184
+ .leaflet-control-attribution summary svg {
1185
+ border-radius: 100%;
1186
+ width: inherit;
1187
+ height: inherit;
1188
+ }
1189
+
1190
+ .mapml-attribution-container {
1191
+ padding: 5px 35px 5px 10px;
1192
+ }
1193
+
1194
+ /*
1195
+ * Zoom controls.
1196
+ */
1197
+
1198
+ .leaflet-control-zoom-in,
1199
+ .leaflet-control-zoom-out {
1200
+ text-indent: unset;
1201
+ }
1202
+
1203
+ /*
1204
+ * Fullscreen control. Image contains the on and off images, toggled via
1205
+ * the background-position property
1206
+ */
1207
+
1208
+ .leaflet-control-fullscreen a {
1209
+ background-image: url("data:image/svg+xml,%0A%3Csvg width='26' height='52' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg transform='translate(0 -1000.4)'%3E%3Cuse transform='translate(0 26)' width='100%25' height='100%25' xlink:href='%23a'/%3E%3Cuse transform='translate(0 26)' width='100%25' height='100%25' xlink:href='%23b'/%3E%3Cuse transform='translate(0 26)' width='100%25' height='100%25' xlink:href='%23c'/%3E%3Cuse transform='translate(0 26)' width='100%25' height='100%25' xlink:href='%23d'/%3E%3Cpath id='a' transform='translate(0 1000.4)' d='M5 15v6h6v-2H7v-4z' color='%23000' fill='%23000'/%3E%3Cpath id='b' transform='translate(0 1000.4)' d='M21 15v6h-6v-2h4v-4z' color='%23000' fill='%23000'/%3E%3Cpath d='M10 1037.4v4l1 1h4l1-1v-4l-1-1h-4z' color='%23000' fill='%23000'/%3E%3Cpath id='d' d='M5 1011.4v-6h6v2H7v4z' color='%23000' fill='%23000'/%3E%3Cpath id='c' d='M21 1011.4v-6h-6v2h4v4z' color='%23000' fill='%23000'/%3E%3C/g%3E%3C/svg%3E");
1210
+ background-repeat: no-repeat;
1211
+ background-size: 38px 76px;
1212
+ background-position: 3px 3px;
1213
+ }
1214
+
1215
+ /*
1216
+ * See: https://developer.mozilla.org/en-US/docs/Web/CSS/:host_function
1217
+ and: https://developer.mozilla.org/en-US/docs/Web/CSS/:fullscreen */
1218
+ :host(:fullscreen) .leaflet-control-fullscreen a {
1219
+ background-position: 3px -35px;
1220
+ }
1221
+
1222
+ :host(:-webkit-full-screen) {
1223
+ width: 100%!important;
1224
+ height: 100%!important;
1225
+ }
1226
+
1227
+ :host(.leaflet-pseudo-fullscreen) {
1228
+ position: fixed!important;
1229
+ width: 100%!important;
1230
+ height: 100%!important;
1231
+ top: 0!important;
1232
+ left: 0!important;
1233
+ z-index: 99999;
1234
+ }
1235
+
1236
+ /*
1237
+ * Layer controls.
1238
+ */
1239
+
1240
+ .leaflet-control-layers.leaflet-control {
1241
+ margin-inline-end: 5px;
1242
+ margin-inline-start: 5px;
1243
+ padding: 0;
1244
+ }
1245
+
1246
+ .leaflet-control-layers-list {
1247
+ padding: 0;
1248
+ }
1249
+
1250
+ .leaflet-control-layers fieldset {
1251
+ margin: 0;
1252
+ padding: 0;
1253
+ min-height: 44px;
1254
+ }
1255
+
1256
+ .leaflet-control-layers label {
1257
+ display: inline;
1258
+ }
1259
+
1260
+ .mapml-control-layers > :not(summary) {
1261
+ display: block;
1262
+ margin-block-start: var(--gcds-spacing-50, 5px);
1263
+ margin-inline-start: var(--gcds-spacing-175, 15px);
1264
+ width: calc(100% - var(--gcds-spacing-175, 15px));
1265
+ }
1266
+
1267
+ .mapml-layer-item-style > div {
1268
+ display: flex;
1269
+ }
1270
+
1271
+ .mapml-layer-item-style input {
1272
+ margin-inline-start: 0;
1273
+ }
1274
+
1275
+ .leaflet-control .leaflet-control-layers-toggle {
1276
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='m11.99 18.54-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16zm0-11.47L17.74 9 12 13.47 6.26 9 12 4.53z'/%3E%3C/svg%3E");
1277
+ background-size: 34px;
1278
+ }
1279
+
1280
+ /* Revert Leaflet styles that are causing misalignment. */
1281
+ .leaflet-control-layers-selector {
1282
+ margin-top: revert;
1283
+ position: revert;
1284
+ }
1285
+
1286
+ /*
1287
+ * Context menu.
1288
+ */
1289
+
1290
+ .mapml-contextmenu {
1291
+ border-radius: var(--gcds-border-radius-md, 4px);
1292
+ padding: var(--gcds-spacing-50, 4px) 0;
1293
+ background-color: var(--gcds-bg-white, #fff);
1294
+ cursor: default;
1295
+ position: absolute;
1296
+ width: fit-content;
1297
+ display: inline-block;
1298
+ z-index: 10001;
1299
+ }
1300
+
1301
+ .mapml-contextmenu button.mapml-contextmenu-item {
1302
+ color: var(--gcds-text-primary, #222);
1303
+ font-size: 12px;
1304
+ line-height: 20px;
1305
+ text-decoration: none;
1306
+ padding: 0 var(--gcds-spacing-150, 12px);
1307
+ border-block-start: var(--gcds-border-width-sm, 1px) solid transparent;
1308
+ border-block-end: var(--gcds-border-width-sm, 1px) solid transparent;
1309
+ cursor: default;
1310
+ width: 100%;
1311
+ display: block;
1312
+ }
1313
+
1314
+ .mapml-contextmenu button.mapml-contextmenu-item.over {
1315
+ background-color: var(--gcds-bg-light, #f4f4f4);
1316
+ border-block-start: var(--gcds-border-width-sm, 1px) solid var(--gcds-bg-light, #f0f0f0);
1317
+ border-block-end: var(--gcds-border-width-sm, 1px) solid var(--gcds-bg-light, #f0f0f0);
1318
+ }
1319
+
1320
+ .mapml-contextmenu-separator {
1321
+ border-block-end: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-100, #e3e3e3);
1322
+ margin: var(--gcds-spacing-50, 5px) 0;
1323
+ }
1324
+
1325
+ .mapml-contextmenu.mapml-submenu {
1326
+ width: 80px;
1327
+ margin-block-end: -2rem;
1328
+ width: fit-content;
1329
+ }
1330
+
1331
+ @supports (contain: layout) {
1332
+ .mapml-contextmenu {
1333
+ position: fixed;
1334
+ }
1335
+ .mapml-contextmenu.mapml-submenu {
1336
+ position: absolute;
1337
+ }
1338
+ }
1339
+
1340
+ .mapml-contextmenu-item[aria-controls] span::after {
1341
+ content:">";
1342
+ }
1343
+ @supports (list-style-type: disclosure-open) {
1344
+ .mapml-contextmenu-item[aria-controls] span {
1345
+ display: inline-block;
1346
+ }
1347
+ .mapml-contextmenu-item[aria-controls] span::after {
1348
+ content:"";
1349
+ display: list-item;
1350
+ list-style-type: disclosure-closed;
1351
+ margin-inline-start: 20px;
1352
+ }
1353
+ }
1354
+
1355
+ /*
1356
+ * Debug mode.
1357
+ */
1358
+
1359
+ .mapml-debug {
1360
+ contain: content;
1361
+ max-height: 100%;
1362
+ max-width: 100%;
1363
+ border-radius: var(--gcds-border-radius-md, 4px);
1364
+ padding: var(--gcds-spacing-50, 5px) var(--gcds-spacing-125, 10px);
1365
+ background-color: var(--gcds-bg-white, #fff);
1366
+ cursor: default;
1367
+ z-index: 1000;
1368
+ position: absolute;
1369
+ display: block;
1370
+ top: auto;
1371
+ inset-inline-end: var(--gcds-spacing-50, 5px);
1372
+ inset-block-end: var(--gcds-spacing-50, 5px);
1373
+ inset-inline-start: var(--gcds-spacing-50, 5px);
1374
+ width: -webkit-fit-content;
1375
+ width: -moz-fit-content;
1376
+ width: fit-content;
1377
+ font: inherit;
1378
+ }
1379
+
1380
+ .mapml-debug-banner {
1381
+ font-weight: var(--gcds-font-weights-bold, bold);
1382
+ text-transform: uppercase;
1383
+ display: inline-block;
1384
+ text-align: inline-start;
1385
+ line-height: 2;
1386
+ }
1387
+
1388
+ .mapml-debug-panel,
1389
+ .mapml-debug-grid {
1390
+ font-family: var(--gcds-font-families-monospace, monospace);
1391
+ }
1392
+
1393
+ .mapml-debug-tile {
1394
+ text-indent: 6px;
1395
+ line-height: 1.8;
1396
+ }
1397
+
1398
+ .mapml-debug-coordinates {
1399
+ padding-inline-start: var(--gcds-spacing-50, 4px);
1400
+ padding-inline-end: var(--gcds-spacing-50, 4px);
1401
+ }
1402
+
1403
+ .mapml-debug,
1404
+ .mapml-debug * {
1405
+ border-collapse: collapse;
1406
+ border-spacing: 0;
1407
+ }
1408
+
1409
+ .mapml-debug-coordinates:empty {
1410
+ display: none;
1411
+ }
1412
+
1413
+ .mapml-debug-coordinates > * {
1414
+ display: inline;
1415
+ }
1416
+
1417
+ :host(.mapml-fullscreen-on) .mapml-debug-grid {
1418
+ color: var(--gcds-color-white, #fff);
1419
+ text-shadow: 1px 1px 1px var(--gcds-color-black, #000), 1px 1px 1px var(--gcds-color-black, #000);
1420
+ }
1421
+
1422
+ /*
1423
+ * User interaction.
1424
+ */
1425
+
1426
+ :host(.leaflet-drag-target) .leaflet-grab {
1427
+ cursor: move;
1428
+ cursor: -webkit-grabbing;
1429
+ cursor: -moz-grabbing;
1430
+ cursor: grabbing;
1431
+ }
1432
+
1433
+ /* Prevent `:hover` styles from applying to controls when the user is panning
1434
+ the map display and the cursor happens to move over a control. */
1435
+ :host(.leaflet-drag-target) .leaflet-control {
1436
+ pointer-events: none;
1437
+ }
1438
+
1439
+ /* Disable dragging of controls. */
1440
+ .mapml-popup-button,
1441
+ .leaflet-popup-close-button,
1442
+ .leaflet-control :not([draggable="true"]),
1443
+ .mapml-contextmenu :not([draggable="true"]) {
1444
+ -webkit-user-drag: none;
1445
+ }
1446
+
1447
+ /* Disable text selection in controls. */
1448
+ .leaflet-control,
1449
+ .mapml-contextmenu,
1450
+ .mapml-debug,
1451
+ .mapml-focus-buttons,
1452
+ .mapml-layer-item-settings summary {
1453
+ -webkit-user-select: none;
1454
+ -moz-user-select: none;
1455
+ -ms-user-select: none;
1456
+ user-select: none;
1457
+ }
1458
+
1459
+ /* Hide unintended highlighting of controls from clicking the map display in
1460
+ quick succession. This is a workaround for `user-select: contain`, since it has
1461
+ virtually no browser support: https://www.chromestatus.com/feature/5730263904550912. */
1462
+ .leaflet-control a::selection,
1463
+ .leaflet-popup-close-button::selection,
1464
+ .leaflet-control-attribution::selection {
1465
+ background-color: transparent;
1466
+ }
1467
+
1468
+ /* Disable pointer events where they'd interfere with the intended action. */
1469
+ .mapml-feature-index-box,
1470
+ .leaflet-tooltip,
1471
+ .leaflet-crosshair *,
1472
+ .mapml-layer-item-settings .mapml-control-layers summary label,
1473
+ .mapml-contextmenu-item > *,
1474
+ .mapml-link-preview {
1475
+ pointer-events: none!important;
1476
+ }
1477
+
1478
+ /* Restore the default focus outline of UA stylesheets,
1479
+ which Leaflet unfortunately removes (https://github.com/Leaflet/Leaflet/issues/6986). */
1480
+ .leaflet-container :focus {
1481
+ outline-color: -webkit-focus-ring-color !important;
1482
+ outline-style: auto !important;
1483
+ outline-width: thin !important;
1484
+ outline: revert !important;
1485
+ }
1486
+ /* Unset the outline that Leaflet occasionally sets on controls without also
1487
+ delegating focus. */
1488
+ .leaflet-active:not(:focus) {
1489
+ outline: unset !important;
1490
+ }
1491
+ .leaflet-container:not(:focus-within) .mapml-outline {
1492
+ outline: 0;
1493
+ }
1494
+ .leaflet-container:not(:focus-within) .mapml-crosshair {
1495
+ display: none;
1496
+ }
1497
+
1498
+ /* Restore the default UA tap highlight color by overriding the opinionated tap
1499
+ highlight color inherited from leaflet.css. */
1500
+ .leaflet-control a {
1501
+ -webkit-tap-highlight-color: initial;
1502
+ }
1503
+
1504
+ /* Less opinionated styles for the zoom box than inherited from leaflet.css. */
1505
+ .leaflet-zoom-box {
1506
+ border: thin dotted;
1507
+ background-color: rgba(255,255,255,0.33);
1508
+ }
1509
+
1510
+ label,
1511
+ input,
1512
+ button,
1513
+ summary {
1514
+ cursor: pointer;
1515
+ }
1516
+
1517
+ .mapml-draggable,
1518
+ .mapml-draggable * {
1519
+ cursor: row-resize;
1520
+ }
1521
+
1522
+ .leaflet-crosshair {
1523
+ cursor: crosshair;
1524
+ }
1525
+
1526
+ [hidden] {
1527
+ display: none!important;
1528
+ }
1529
+
1530
+ /*
1531
+ * Visibility hack – mitigates FOUC.
1532
+ * (https://github.com/Maps4HTML/MapML.js/issues/154)
1533
+ */
1534
+
1535
+ /* Unset `visibility: hidden` (inherited from mapml.js). */
1536
+ .leaflet-container .mapml-contextmenu,
1537
+ .leaflet-container .leaflet-control-container {
1538
+ visibility: unset!important;
1539
+ }
1540
+
1541
+ .mapml-crosshair {
1542
+ /* `left: 50%` + negative inline margin is an LTR centering technique;
1543
+ kept physical so RTL behaviour matches the upstream original. */
1544
+ margin: -36px 0 0 -36px;
1545
+ width: 72px;
1546
+ height: 72px;
1547
+ left: 50%;
1548
+ inset-block-start: 50%;
1549
+ position: absolute;
1550
+ z-index: 10000;
1551
+ }
1552
+
1553
+ .mapml-popup-button {
1554
+ padding: 0 var(--gcds-spacing-50, 4px) 0 var(--gcds-spacing-50, 4px);
1555
+ border: none;
1556
+ text-align: center;
1557
+ font-size: 16px;
1558
+ line-height: 14px;
1559
+ color: inherit;
1560
+ text-decoration: none;
1561
+ font-weight: var(--gcds-font-weights-bold, bold);
1562
+ background: transparent;
1563
+ white-space: nowrap;
1564
+ box-sizing: border-box;
1565
+ width: 44px;
1566
+ height: 44px;
1567
+ line-height: 44px;
1568
+ }
1569
+
1570
+ .mapml-zoom-link {
1571
+ display: block;
1572
+ text-align: center;
1573
+ }
1574
+
1575
+ .mapml-focus-buttons {
1576
+ white-space: nowrap;
1577
+ }
1578
+
1579
+ .mapml-feature-count {
1580
+ display:inline;
1581
+ white-space: nowrap;
1582
+ text-align: center;
1583
+ padding: var(--gcds-spacing-25, 2px);
1584
+ }
1585
+
1586
+ .mapml-focus-buttons button,
1587
+ .leaflet-container a.leaflet-popup-close-button {
1588
+ width: 44px;
1589
+ height: 44px;
1590
+ min-width: 44px;
1591
+ min-height: 44px;
1592
+ line-height: 44px;
1593
+ }
1594
+ .leaflet-popup-content {
1595
+ margin: 0;
1596
+ min-width: min-content;
1597
+ scrollbar-width: thin;
1598
+ }
1599
+ .mapml-popup-content {
1600
+ padding-block-start: 44px;
1601
+ }
1602
+ .mapml-focus-buttons {
1603
+ display: block;
1604
+ text-align: center;
1605
+ }
1606
+ .mapml-focus-buttons button {
1607
+ display: inline-block;
1608
+ padding: 0;
1609
+ }
1610
+ .leaflet-container a.leaflet-popup-close-button {
1611
+ padding: 0;
1612
+ font-size: 20px;
1613
+ }
1614
+ .leaflet-popup-content .mapml-feature-count {
1615
+ margin: 0;
1616
+ padding: 0 var(--gcds-spacing-50, 5px);
1617
+ line-height: 44px;
1618
+ }
1619
+ .mapml-popup-content hr:last-of-type {
1620
+ margin-block-end: 0;
1621
+ border-block-end: 0;
1622
+ border-block-start: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-100, #e3e3e3);
1623
+ }
1624
+ .mapml-popup-content :first-child {
1625
+ margin-block-start: 0;
1626
+ padding-block-start: 0;
1627
+ }
1628
+ .mapml-popup-content > :not(.mapml-focus-buttons) {
1629
+ padding: 0 var(--gcds-spacing-200, 1rem);
1630
+ }
1631
+ .leaflet-popup-tip-container {
1632
+ margin-top: -1px;
1633
+ }
1634
+
1635
+ .mapml-outline {
1636
+ outline-style: auto;
1637
+ outline-offset: -2px;
1638
+ z-index: 1000;
1639
+ pointer-events: none;
1640
+ position: absolute;
1641
+ height: 100%;
1642
+ width: 100%;
1643
+ color: initial;
1644
+ }
1645
+
1646
+ /* Force printers to include background-images of controls for printing.
1647
+ (https://github.com/Maps4HTML/MapML.js/issues/294) */
1648
+ @media print {
1649
+ .leaflet-control {
1650
+ -webkit-print-color-adjust: exact;
1651
+ print-color-adjust: exact;
1652
+ }
1653
+ }
1654
+
1655
+ .leaflet-pane > svg g.leaflet-interactive,
1656
+ svg.leaflet-image-layer.leaflet-interactive g {
1657
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
1658
+ pointer-events: auto;
1659
+ }
1660
+
1661
+ .mapml-link-preview {
1662
+ position: absolute;
1663
+ inset-inline-start: 0;
1664
+ inset-block-end: 0;
1665
+ background-color: var(--gcds-color-grayscale-100, rgb(222, 225, 230));
1666
+ border-start-end-radius: var(--gcds-spacing-50, 5px);
1667
+ z-index: 1050;
1668
+ max-width: 60%;
1669
+ }
1670
+
1671
+ .mapml-link-preview > p {
1672
+ margin-block-start: 3px;
1673
+ margin-inline-end: var(--gcds-spacing-50, 5px);
1674
+ margin-block-end: var(--gcds-spacing-25, 2px);
1675
+ margin-inline-start: 3px;
1676
+ color: var(--gcds-text-secondary, rgb(60, 64, 67));
1677
+ text-overflow: ellipsis;
1678
+ overflow-x: hidden;
1679
+ white-space: nowrap;
1680
+ }
1681
+
1682
+ /**
1683
+ * layer item controls
1684
+ */
1685
+
1686
+ .mapml-button-icon {
1687
+ pointer-events: none;
1688
+ }
1689
+
1690
+ .mapml-button-icon svg {
1691
+ fill: currentColor;
1692
+ }
1693
+
1694
+ .mapml-layer-item,
1695
+ .mapml-layer-item * {
1696
+ box-sizing: border-box;
1697
+ }
1698
+
1699
+ .mapml-layer-item,
1700
+ .mapml-layer-grouped-extents,
1701
+ .mapml-layer-extent {
1702
+ background-color: var(--gcds-bg-white, #fff);
1703
+ border: var(--gcds-border-width-sm, 1px) solid var(--gcds-bg-white, #fff);
1704
+ margin: 0;
1705
+ padding: 0;
1706
+ }
1707
+
1708
+ .mapml-layer-item:not(:last-of-type) {
1709
+ border-block-end: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-100, #e3e3e3);
1710
+ }
1711
+ .mapml-layer-item[aria-grabbed="true"],
1712
+ .mapml-layer-extent[aria-grabbed="true"] {
1713
+ border: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-100, #e3e3e3);
1714
+ border-radius: 0;
1715
+ }
1716
+ .mapml-layer-item:first-of-type,
1717
+ .mapml-layer-extent:first-of-type {
1718
+ border-start-start-radius: var(--gcds-border-radius-md, 4px);
1719
+ border-start-end-radius: var(--gcds-border-radius-md, 4px);
1720
+ }
1721
+ .mapml-layer-item:last-of-type,
1722
+ .mapml-layer-extent:last-of-type {
1723
+ border-end-start-radius: var(--gcds-border-radius-md, 4px);
1724
+ border-end-end-radius: var(--gcds-border-radius-md, 4px);
1725
+ }
1726
+
1727
+ .mapml-layer-item-properties {
1728
+ align-items: center;
1729
+ display: flex;
1730
+ justify-content: space-between;
1731
+ padding-inline-start: .5rem;
1732
+ }
1733
+ .mapml-layer-item-controls {
1734
+ margin-inline-start: auto;
1735
+ }
1736
+
1737
+
1738
+ .mapml-layer-item-controls button span {
1739
+ font-size: large;
1740
+ /* upstream value is 900, but GCDS tops out at bold (700) */
1741
+ font-weight: var(--gcds-font-weights-bold, 900);
1742
+ vertical-align: middle;
1743
+ }
1744
+
1745
+ .mapml-layer-item-controls button svg {
1746
+ vertical-align: text-bottom;
1747
+ }
1748
+
1749
+ .mapml-layer-item-controls,
1750
+ .mapml-layer-item-remove-control,
1751
+ .mapml-layer-item-settings-control {
1752
+ align-items: center;
1753
+ display: flex;
1754
+ justify-content: center;
1755
+ }
1756
+
1757
+
1758
+ .mapml-layer-item-remove-control,
1759
+ .mapml-layer-item-settings-control {
1760
+ min-height: 44px;
1761
+ min-width: 44px;
1762
+ height: 44px;
1763
+ width: 44px;
1764
+ }
1765
+
1766
+ label.mapml-layer-item-toggle {
1767
+ display: inline-flex;
1768
+ align-items: center;
1769
+ width: 100%; /* have the clickable area take up all available width */
1770
+ min-height: 44px;
1771
+ }
1772
+
1773
+ .mapml-layer-item-name {
1774
+ word-break: break-word;
1775
+ padding-block-start: .25rem;
1776
+ padding-block-end: .25rem;
1777
+ padding-inline-start: .25rem;
1778
+ padding-inline-end: 1rem;
1779
+ }
1780
+
1781
+ .mapml-layer-item-settings > * {
1782
+ display: block;
1783
+ padding-block-start: .25rem;
1784
+ padding-block-end: .25rem;
1785
+ padding-inline-start: 2rem;
1786
+ padding-inline-end: 1rem;
1787
+ }
1788
+
1789
+ .mapml-screen-reader-output {
1790
+ clip: rect(0 0 0 0);
1791
+ clip-path: inset(50%);
1792
+ height: 1px;
1793
+ overflow: hidden;
1794
+ position: absolute;
1795
+ white-space: nowrap;
1796
+ width: 1px;
1797
+ }
1798
+
1799
+ .mapml-screen-reader-output-scale {
1800
+ clip: rect(0 0 0 0);
1801
+ clip-path: inset(50%);
1802
+ height: 1px;
1803
+ overflow: hidden;
1804
+ position: absolute;
1805
+ white-space: nowrap;
1806
+ width: 1px
1807
+ }
1808
+ /*
1809
+ * Feature styles.
1810
+ */
1811
+
1812
+ .mapml-vector-container svg :is(
1813
+ [role="link"]:focus,
1814
+ [role="link"]:hover,
1815
+ [role="link"]:focus path,
1816
+ [role="link"]:hover path,
1817
+ [role="link"] path:focus,
1818
+ [role="link"] path:hover,
1819
+ [role="button"]:focus,
1820
+ [role="button"]:hover,
1821
+ [role="button"]:focus path,
1822
+ [role="button"]:hover path,
1823
+ [role="button"] path:focus,
1824
+ [role="button"] path:hover,
1825
+ path[tabindex="0"]:focus
1826
+ ) {
1827
+ stroke: #0000EE;
1828
+ stroke: LinkText;
1829
+ }
1830
+ .mapml-vector-container svg :is(
1831
+ [role="link"]:focus:not(:focus-visible),
1832
+ [role="link"]:focus:not(:focus-visible) path,
1833
+ [role="link"] path:focus:not(:focus-visible),
1834
+ [role="button"]:focus:not(:focus-visible),
1835
+ [role="button"]:focus:not(:focus-visible) path,
1836
+ [role="button"] path:focus:not(:focus-visible),
1837
+ path[tabindex="0"]:focus:not(:focus-visible)
1838
+ ) {
1839
+ outline: 0!important;
1840
+ }
1841
+
1842
+ /*
1843
+ * Extent Elements in the Layer Control
1844
+ */
1845
+
1846
+ .mapml-layer-item-settings .mapml-layer-extent {
1847
+ padding-inline-start: 1.8rem;
1848
+ }
1849
+
1850
+ .mapml-layer-item-settings .mapml-layer-extent .mapml-layer-item-properties{
1851
+ padding-inline-start: 0;
1852
+ }
1853
+
1854
+ .mapml-layer-item-settings .mapml-layer-extent .mapml-layer-item-details {
1855
+ padding-inline-start: 1.6rem;
1856
+ }
1857
+
1858
+ /**
1859
+ * Feature Index
1860
+ */
1861
+ .mapml-feature-index-box {
1862
+ margin: -8% 0 0 -8%;
1863
+ width: 16%;
1864
+ left: 50%;
1865
+ top: 50%;
1866
+ position: absolute;
1867
+ z-index: 10000;
1868
+ outline: var(--gcds-border-width-md, 2px) solid var(--gcds-bg-white, #fff);
1869
+ }
1870
+
1871
+ .mapml-feature-index-box:after{
1872
+ display: block;
1873
+ content: '';
1874
+ padding-block-start: 100%;
1875
+ }
1876
+
1877
+ .mapml-feature-index-box > svg {
1878
+ position: absolute;
1879
+ width: 100%;
1880
+ height: 100%;
1881
+ }
1882
+
1883
+ .mapml-feature-index {
1884
+ outline: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-black, #000000);
1885
+ contain: content;
1886
+ border-radius: var(--gcds-border-radius-md, 4px);
1887
+ background-color: var(--gcds-bg-white, #fff);
1888
+ cursor: default;
1889
+ z-index: 1000;
1890
+ position: absolute;
1891
+ inset-block-start: auto;
1892
+ /* `left: 50%` + `translateX(-50%)` is an LTR centering technique;
1893
+ kept physical so RTL behaviour matches the upstream original. */
1894
+ left: 50%;
1895
+ -ms-transform: translateX(-50%);
1896
+ transform: translateX(-50%);
1897
+ inset-block-end: var(--gcds-spacing-350, 30px);
1898
+ padding-block-start: var(--gcds-spacing-50, 5px);
1899
+ height: 92px;
1900
+ width: 450px;
1901
+ font-size: 16px;
1902
+ }
1903
+ @container leafletmap (max-width: 650px ) {
1904
+ .mapml-feature-index {
1905
+ width: 70cqw;
1906
+ }
1907
+ }
1908
+ @container leafletmap (max-width: 390px ) {
1909
+ .mapml-feature-index {
1910
+ inset-block-end: 100px;
1911
+ }
1912
+ }
1913
+ .mapml-feature-index-content > span{
1914
+ width: 140px;
1915
+ white-space: nowrap;
1916
+ overflow: hidden;
1917
+ text-overflow: ellipsis;
1918
+ display: inline-block;
1919
+ padding-inline-start: var(--gcds-spacing-50, 5px);
1920
+ padding-inline-end: var(--gcds-spacing-50, 5px);
1921
+ }
1922
+
1923
+ .shortcuts-dialog > ul > li > kbd,
1924
+ .mapml-feature-index-content > span > kbd{
1925
+ background-color: var(--gcds-color-grayscale-150, lightgrey);
1926
+ padding-inline-end: var(--gcds-spacing-50, 4px);
1927
+ padding-inline-start: var(--gcds-spacing-50, 4px);
1928
+ border-radius: var(--gcds-border-radius-md, 4px);
1929
+ }
1930
+
1931
+ .mapml-feature-index-content > span > span{
1932
+ clip: rect(0 0 0 0);
1933
+ clip-path: inset(50%);
1934
+ height: 1px;
1935
+ overflow: hidden;
1936
+ position: absolute;
1937
+ white-space: pre;
1938
+ width: 1px;
1939
+ }
1940
+
1941
+ .shortcuts-dialog > button{
1942
+ position: absolute;
1943
+ inset-inline-end: var(--gcds-spacing-100, 8px);
1944
+ inset-block-start: var(--gcds-spacing-100, 8px);
1945
+ display: inline-flex;
1946
+ align-items: center;
1947
+ justify-content: center;
1948
+ font-size: 1.125rem;
1949
+ padding: var(--gcds-spacing-50, 4px);
1950
+ line-height: 1;
1951
+ }
1952
+
1953
+ .shortcuts-dialog {
1954
+ position: relative;
1955
+ }
1956
+
1957
+ .shortcuts-dialog > ul {
1958
+ padding: 0;
1959
+ list-style-type:none;
1960
+ }
1961
+
1962
+ .mapml-tile-group > svg {
1963
+ overflow: visible;
1964
+ }
1965
+ /* ===== ESSENTIAL HOST DEFAULTS (immediate application for getBoundingClientRect) ===== */
1966
+ :host {
1967
+ /* Reset first, then apply critical MapML defaults */
1968
+ all: initial;
1969
+
1970
+ /* Critical MapML defaults that must be available immediately */
1971
+ display: inline-block;
1972
+ background-color: white;
1973
+ /* Default dimensions - will be overridden by JavaScript based on CSS rules or attributes */
1974
+ height: 150px;
1975
+ width: 300px;
1976
+ contain: layout size;
1977
+ border-width: 2px;
1978
+ border-style: inset;
1979
+ }
1980
+
1981
+ /* Ensure white background persists in fullscreen */
1982
+ :host(.mapml-fullscreen-on) {
1983
+ background-color: white;
1984
+ }
1985
+ /* Ensure container fills the host element */
1986
+ .mapml-map-container {
1987
+ width: 100%;
1988
+ height: 100%;
1989
+ display: block;
1990
+ }
1991
+
1992
+ /* ===== GCDS LAYER ARCHITECTURE ===== */
1993
+ @layer reset, default, display, size, variant, hover, visited, focus;
1994
+
1995
+ @layer reset {
1996
+ :host {
1997
+ /* GCDS responsive overrides (when CSS loads) */
1998
+ position: relative;
1999
+
2000
+ /* Aspect ratio support for responsive design */
2001
+ aspect-ratio: var(--map-aspect);
2002
+ }
2003
+ }
2004
+
2005
+ @layer default {
2006
+ :host {
2007
+ /* Visual styling */
2008
+ border: 2px inset;
2009
+ cursor: pointer;
2010
+ transition: all 0.35s;
2011
+ }
2012
+
2013
+ /* Attribute-based styling */
2014
+ :host([frameborder="0"]) {
2015
+ border-width: 0;
2016
+ }
2017
+
2018
+ :host([hidden]) {
2019
+ display: none !important;
2020
+ }
2021
+ }/* Remaining layers: size, variant, hover, visited, focus remain unchanged */
2022
+ /* Optional: Add any gcds-specific styling here */
2023
+ /* You may want to import gcds design tokens if available */
2024
+
2025
+ /* Search control */
2026
+ .mapml-search-control {
2027
+ z-index: 1000;
2028
+ }
2029
+ .mapml-search-button {
2030
+ width: 44px;
2031
+ height: 44px;
2032
+ line-height: 44px;
2033
+ display: flex;
2034
+ align-items: center;
2035
+ justify-content: center;
2036
+ cursor: pointer;
2037
+ background: var(--gcds-bg-white, #fff);
2038
+ border: none;
2039
+ border-radius: var(--gcds-border-radius-md, 4px);
2040
+ padding: 0;
2041
+ }
2042
+ .mapml-search-button:hover {
2043
+ background: var(--gcds-bg-light, #f4f4f4);
2044
+ }
2045
+ .mapml-search-button[aria-disabled="true"] {
2046
+ cursor: default;
2047
+ }
2048
+ .mapml-search-button[aria-disabled="true"]:hover {
2049
+ background: var(--gcds-bg-white, #fff);
2050
+ }
2051
+ .mapml-search-panel[hidden] {
2052
+ display: none !important;
2053
+ }
2054
+ .mapml-search-panel {
2055
+ position: absolute;
2056
+ inset-block-start: 0;
2057
+ inset-inline-start: 0;
2058
+ width: 250px;
2059
+ height: 100%;
2060
+ background: var(--gcds-bg-white, #fff);
2061
+ box-shadow: 2px 0 5px rgba(0,0,0,0.2);
2062
+ display: flex;
2063
+ flex-direction: column;
2064
+ transform: translateX(-100%);
2065
+ transition: transform 0.2s ease-in-out;
2066
+ z-index: 10000;
2067
+ }
2068
+ .mapml-search-panel-open {
2069
+ transform: translateX(0);
2070
+ }
2071
+ .mapml-search-input {
2072
+ width: calc(100% - 16px);
2073
+ margin: var(--gcds-spacing-100, 8px);
2074
+ padding-block: 6px;
2075
+ padding-inline: var(--gcds-spacing-100, 8px);
2076
+ border: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-200, #ccc);
2077
+ border-radius: var(--gcds-border-radius-md, 4px);
2078
+ font-family: inherit;
2079
+ font-size: 14px;
2080
+ box-sizing: border-box;
2081
+ }
2082
+ .mapml-search-input:focus {
2083
+ outline: 2px solid var(--gcds-input-focus-border, #4A90D9);
2084
+ border-color: var(--gcds-input-focus-border, #4A90D9);
2085
+ }
2086
+ .mapml-search-results {
2087
+ flex: 1;
2088
+ overflow-y: auto;
2089
+ padding-block-start: 0;
2090
+ padding-inline: var(--gcds-spacing-100, 8px);
2091
+ padding-block-end: var(--gcds-spacing-100, 8px);
2092
+ }
2093
+ .mapml-search-result {
2094
+ display: block;
2095
+ width: 100%;
2096
+ padding: var(--gcds-spacing-100, 8px);
2097
+ border: none;
2098
+ border-block-end: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-100, #eee);
2099
+ background: var(--gcds-bg-white, #fff);
2100
+ text-align: start;
2101
+ font-family: inherit;
2102
+ font-size: 14px;
2103
+ cursor: pointer;
2104
+ white-space: nowrap;
2105
+ overflow: hidden;
2106
+ text-overflow: ellipsis;
2107
+ }
2108
+ .mapml-search-result:hover {
2109
+ background: var(--gcds-bg-light, #f0f0f0);
2110
+ }
2111
+ .mapml-search-result:focus {
2112
+ outline: 2px solid var(--gcds-focus-border, #4A90D9);
2113
+ outline-offset: -2px;
2114
+ }
2115
+ .mapml-search-close {
2116
+ position: absolute;
2117
+ inset-inline-end: -24px;
2118
+ inset-block-start: 50%;
2119
+ transform: translateY(-50%);
2120
+ width: 24px;
2121
+ height: 36px;
2122
+ display: flex;
2123
+ align-items: center;
2124
+ justify-content: center;
2125
+ cursor: pointer;
2126
+ background: var(--gcds-bg-white, #fff);
2127
+ border: var(--gcds-border-width-sm, 1px) solid var(--gcds-color-grayscale-200, #ccc);
2128
+ border-inline-start: none;
2129
+ border-start-start-radius: 0;
2130
+ border-start-end-radius: var(--gcds-border-radius-md, 4px);
2131
+ border-end-end-radius: var(--gcds-border-radius-md, 4px);
2132
+ border-end-start-radius: 0;
2133
+ box-shadow: 2px 0 3px rgba(0,0,0,0.1);
2134
+ visibility: hidden;
2135
+ }
2136
+ .mapml-search-panel-open .mapml-search-close {
2137
+ visibility: visible;
2138
+ }