@ccrpc/webmapgl 0.18.6 → 0.18.8

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 (250) hide show
  1. package/dist/cjs/app-globals-62694daf.js.map +1 -1
  2. package/dist/cjs/gl-address-search_52.cjs.entry.js +31 -30
  3. package/dist/cjs/gl-address-search_52.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gl-draw-toolbar.cjs.entry.js +3 -3
  5. package/dist/cjs/gl-draw-toolbar.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gl-facet_5.cjs.entry.js +1 -1
  7. package/dist/cjs/gl-facet_5.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gl-like-button.cjs.entry.js +5 -5
  9. package/dist/cjs/gl-like-button.cjs.entry.js.map +1 -1
  10. package/dist/cjs/index.cjs.js +11 -0
  11. package/dist/cjs/index.cjs.js.map +1 -1
  12. package/dist/collection/components/address-search/address-search.js +4 -4
  13. package/dist/collection/components/address-search/address-search.js.map +1 -1
  14. package/dist/collection/components/app/app.js +1 -1
  15. package/dist/collection/components/app/app.js.map +1 -1
  16. package/dist/collection/components/attribute-values/attribute-values.js +1 -1
  17. package/dist/collection/components/basemaps/basemaps.js +2 -2
  18. package/dist/collection/components/basemaps/basemaps.js.map +1 -1
  19. package/dist/collection/components/download-button/download-button.js +3 -3
  20. package/dist/collection/components/download-button/download-button.js.map +1 -1
  21. package/dist/collection/components/download-list/download-list.js +2 -1
  22. package/dist/collection/components/download-list/download-list.js.map +1 -1
  23. package/dist/collection/components/draw-toolbar/draw-toolbar.js +4 -4
  24. package/dist/collection/components/draw-toolbar/draw-toolbar.js.map +1 -1
  25. package/dist/collection/components/drawer/drawer.js +4 -4
  26. package/dist/collection/components/drawer/drawer.js.map +1 -1
  27. package/dist/collection/components/drawer-toggle/drawer-toggle.js +1 -1
  28. package/dist/collection/components/drawer-toggle/drawer-toggle.js.map +1 -1
  29. package/dist/collection/components/feature-list/feature-list.js +1 -1
  30. package/dist/collection/components/form-page/form-page.js +2 -2
  31. package/dist/collection/components/form-page/form-page.js.map +1 -1
  32. package/dist/collection/components/fullscreen/fullscreen.js +1 -1
  33. package/dist/collection/components/fullscreen/fullscreen.js.map +1 -1
  34. package/dist/collection/components/legend-item/legend-item.js +2 -2
  35. package/dist/collection/components/legend-item/legend-item.js.map +1 -1
  36. package/dist/collection/components/like-button/like-button.js +6 -6
  37. package/dist/collection/components/like-button/like-button.js.map +1 -1
  38. package/dist/collection/components/share/share.js +3 -3
  39. package/dist/collection/components/share/share.js.map +1 -1
  40. package/dist/collection/components/share-button/share-button.js +2 -2
  41. package/dist/collection/components/share-button/share-button.js.map +1 -1
  42. package/dist/collection/components/story-button/story-button.js +4 -4
  43. package/dist/collection/components/story-button/story-button.js.map +1 -1
  44. package/dist/collection/components/style/style.js +3 -3
  45. package/dist/collection/components/table-column-visibility/table-column-visibility.js +1 -1
  46. package/dist/collection/components/table-column-visibility/table-column-visibility.js.map +1 -1
  47. package/dist/collection/components/table-column-visibility-button/table-column-visibility-button.js +3 -3
  48. package/dist/collection/components/table-column-visibility-button/table-column-visibility-button.js.map +1 -1
  49. package/dist/collection/components/table-export-button/table-export-button.js +1 -1
  50. package/dist/collection/components/table-export-button/table-export-button.js.map +1 -1
  51. package/dist/collection/global/webmapgl.js +1 -0
  52. package/dist/collection/global/webmapgl.js.map +1 -1
  53. package/dist/collection/index.js +2 -0
  54. package/dist/collection/index.js.map +1 -0
  55. package/dist/esm/app-globals-755c21e9.js.map +1 -1
  56. package/dist/esm/gl-address-search_52.entry.js +32 -31
  57. package/dist/esm/gl-address-search_52.entry.js.map +1 -1
  58. package/dist/esm/gl-draw-controller.entry.js +1 -1
  59. package/dist/esm/gl-draw-toolbar.entry.js +3 -3
  60. package/dist/esm/gl-draw-toolbar.entry.js.map +1 -1
  61. package/dist/esm/gl-facet_5.entry.js +2 -2
  62. package/dist/esm/gl-facet_5.entry.js.map +1 -1
  63. package/dist/esm/gl-feature-list.entry.js +1 -1
  64. package/dist/esm/gl-like-button.entry.js +6 -6
  65. package/dist/esm/gl-like-button.entry.js.map +1 -1
  66. package/dist/esm/gl-table-export-controller.entry.js +1 -1
  67. package/dist/esm/index.js +2 -1
  68. package/dist/esm/index.js.map +1 -1
  69. package/dist/esm/polyfills/core-js.js +0 -0
  70. package/dist/esm/polyfills/dom.js +0 -0
  71. package/dist/esm/polyfills/es5-html-element.js +0 -0
  72. package/dist/esm/polyfills/index.js +0 -0
  73. package/dist/esm/polyfills/system.js +0 -0
  74. package/dist/esm/{utils-0af5fee1.js → utils-e86257fd.js} +2 -2
  75. package/dist/esm/{utils-0af5fee1.js.map → utils-e86257fd.js.map} +1 -1
  76. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +83 -0
  77. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +80 -0
  78. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +17 -0
  79. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +64 -0
  80. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +319 -0
  81. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +259 -0
  82. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +503 -0
  83. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +531 -0
  84. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +17 -0
  85. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +22 -0
  86. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +22 -0
  87. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +246 -0
  88. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +269 -0
  89. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +26 -0
  90. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +26 -0
  91. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +50 -0
  92. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +54 -0
  93. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +205 -0
  94. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +200 -0
  95. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +26 -0
  96. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +25 -0
  97. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +431 -0
  98. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +408 -0
  99. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +114 -0
  100. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +134 -0
  101. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +93 -0
  102. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +88 -0
  103. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +53 -0
  104. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +55 -0
  105. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +31 -0
  106. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +28 -0
  107. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +28 -0
  108. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +26 -0
  109. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +27 -0
  110. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +27 -0
  111. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +310 -0
  112. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +326 -0
  113. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.css +149 -0
  114. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +68 -0
  115. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +227 -0
  116. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +589 -0
  117. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +561 -0
  118. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +44 -0
  119. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +98 -0
  120. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +312 -0
  121. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +283 -0
  122. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +123 -0
  123. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +36 -0
  124. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +19 -0
  125. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +103 -0
  126. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +106 -0
  127. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +23 -0
  128. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
  129. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
  130. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +46 -0
  131. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +46 -0
  132. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +635 -0
  133. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +1077 -0
  134. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +646 -0
  135. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +908 -0
  136. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +166 -0
  137. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +232 -0
  138. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +3 -0
  139. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +3 -0
  140. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +142 -0
  141. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +136 -0
  142. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +121 -0
  143. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +118 -0
  144. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +66 -0
  145. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +164 -0
  146. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +251 -0
  147. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +63 -0
  148. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +104 -0
  149. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +107 -0
  150. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +88 -0
  151. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +95 -0
  152. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +86 -0
  153. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +167 -0
  154. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +163 -0
  155. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +167 -0
  156. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +170 -0
  157. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
  158. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +247 -0
  159. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +162 -0
  160. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +10 -0
  161. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +16 -0
  162. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +17 -0
  163. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +257 -0
  164. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +244 -0
  165. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +145 -0
  166. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +136 -0
  167. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +75 -0
  168. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +78 -0
  169. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +152 -0
  170. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +148 -0
  171. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +250 -0
  172. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +157 -0
  173. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +206 -0
  174. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +206 -0
  175. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +331 -0
  176. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +354 -0
  177. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +469 -0
  178. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +614 -0
  179. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +211 -0
  180. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +206 -0
  181. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +15 -0
  182. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +15 -0
  183. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +34 -0
  184. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +58 -0
  185. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +29 -0
  186. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/route-outlet.css +10 -0
  187. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +4 -0
  188. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +354 -0
  189. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +339 -0
  190. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +59 -0
  191. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +49 -0
  192. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +410 -0
  193. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +396 -0
  194. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +552 -0
  195. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +1025 -0
  196. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
  197. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.ios.css +14 -0
  198. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +37 -0
  199. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +53 -0
  200. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +177 -0
  201. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +92 -0
  202. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +92 -0
  203. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
  204. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +87 -0
  205. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +74 -0
  206. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +367 -0
  207. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +391 -0
  208. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +19 -0
  209. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +3 -0
  210. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +693 -0
  211. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +1142 -0
  212. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +21 -0
  213. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +119 -0
  214. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +47 -0
  215. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +284 -0
  216. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +305 -0
  217. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +455 -0
  218. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +400 -0
  219. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +161 -0
  220. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +136 -0
  221. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +101 -0
  222. package/dist/types/global/webmapgl.d.ts +1 -0
  223. package/dist/types/index.d.ts +1 -0
  224. package/dist/webmapgl/index.esm.js +1 -1
  225. package/dist/webmapgl/{p-29a0ba94.entry.js → p-10ecfbc1.entry.js} +3 -3
  226. package/dist/webmapgl/p-10ecfbc1.entry.js.map +1 -0
  227. package/dist/webmapgl/{p-d8674de4.js → p-1109414b.js} +2 -2
  228. package/dist/webmapgl/p-41aed25d.entry.js +8 -0
  229. package/dist/webmapgl/p-41aed25d.entry.js.map +1 -0
  230. package/dist/webmapgl/{p-9a52a393.entry.js → p-4bdbedef.entry.js} +2 -2
  231. package/dist/webmapgl/{p-43063806.entry.js → p-60c4d25c.entry.js} +2 -2
  232. package/dist/webmapgl/{p-47516d22.entry.js → p-725281ca.entry.js} +2 -2
  233. package/dist/webmapgl/{p-8d22e12f.entry.js → p-8e93527b.entry.js} +2 -2
  234. package/dist/webmapgl/p-8e93527b.entry.js.map +1 -0
  235. package/dist/webmapgl/p-b3dc2acc.js.map +1 -1
  236. package/dist/webmapgl/{p-96e77bf2.entry.js → p-c61eaf23.entry.js} +2 -2
  237. package/dist/webmapgl/p-c61eaf23.entry.js.map +1 -0
  238. package/dist/webmapgl/webmapgl.css +1 -1
  239. package/dist/webmapgl/webmapgl.esm.js +1 -1
  240. package/package.json +4 -3
  241. package/CHANGELOG.md +0 -234
  242. package/dist/webmapgl/p-29a0ba94.entry.js.map +0 -1
  243. package/dist/webmapgl/p-8d22e12f.entry.js.map +0 -1
  244. package/dist/webmapgl/p-96e77bf2.entry.js.map +0 -1
  245. package/dist/webmapgl/p-99a83939.entry.js +0 -8
  246. package/dist/webmapgl/p-99a83939.entry.js.map +0 -1
  247. /package/dist/webmapgl/{p-d8674de4.js.map → p-1109414b.js.map} +0 -0
  248. /package/dist/webmapgl/{p-9a52a393.entry.js.map → p-4bdbedef.entry.js.map} +0 -0
  249. /package/dist/webmapgl/{p-43063806.entry.js.map → p-60c4d25c.entry.js.map} +0 -0
  250. /package/dist/webmapgl/{p-47516d22.entry.js.map → p-725281ca.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gl-like-button.entry.cjs.js","mappings":"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","names":["findOrCreateOnReady","h"],"sources":["src/components/like-button/like-button.tsx"],"sourcesContent":["import {\n h,\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { LikeProxy } from \"../like-controller/like-proxy\";\nimport { findOrCreateOnReady } from \"../utils\";\nimport { Feature } from \"geojson\";\nimport { MapGeoJSONFeature } from \"maplibre-gl\";\n@Component({\n tag: \"gl-like-button\",\n})\nexport class LikeButton {\n @Element() el: HTMLGlLikeButtonElement;\n\n @State() count: number = 0;\n @State() liked: boolean = false;\n @State() proxy: LikeProxy;\n\n @State() likeCtrl: HTMLGlLikeControllerElement;\n @State() restCtrl: HTMLGlRestControllerElement;\n\n /**\n * The attribute which stores the number of likes this feature has received\n */\n @Prop() readonly attribute: string = \"_likes\";\n\n /**\n * Whether or not this like button is disabled\n */\n @Prop() readonly disabled: boolean = false;\n\n /**\n * The feature this like button is for\n */\n @Prop() readonly feature: Feature | MapGeoJSONFeature;\n\n /**\n * The icon for the like button if the user has not liked the feature\n */\n @Prop() readonly iconNo: string = \"star-outline\";\n\n /**\n * The icon for the like button if the user\n */\n @Prop() readonly iconYes: string = \"star\";\n\n /**\n * The HTTP method this like button uses to communicate a like\n */\n @Prop() readonly method: \"GET\" | \"POST\" | \"PATCH\" | \"PUT\" | \"DELETE\" = \"POST\";\n\n /**\n * The cors mode this like button uses to communicate\n */\n @Prop() readonly requestMode: RequestMode;\n\n /**\n * The authentication token this like button uses when communicating\n */\n @Prop() readonly token: string;\n\n /**\n * The url to the endpoint which which the like button communicates.\n * Most likely this will be the end point of a features-api instance.\n */\n @Prop() readonly url: string;\n\n /**\n * An event emitted when the user presses the like button\n */\n @Event() glLike: EventEmitter<{\n success: boolean;\n feature: Feature | MapGeoJSONFeature;\n action: \"like\" | \"unlike\";\n client_id: string;\n }>;\n\n async componentWillLoad() {\n await this.setState();\n }\n\n @Watch(\"feature\")\n async setState() {\n if (this.feature != undefined) {\n this.count = this.feature.properties[this.attribute];\n if (this.likeCtrl == undefined) {\n this.likeCtrl = await findOrCreateOnReady(\"gl-like-controller\");\n }\n this.proxy = await this.likeCtrl.create(this.feature);\n this.liked = this.proxy.isLiked();\n }\n }\n\n private async toggle() {\n this.liked = !this.liked;\n this.count += this.liked ? 1 : -1;\n if (this.feature?.properties != undefined)\n this.feature.properties[this.attribute] = this.count;\n this.liked ? this.proxy.like() : this.proxy.unlike();\n\n // Fail silently if request fails.\n let success = false;\n let clientId = this.proxy.getClientId();\n try {\n if (this.restCtrl == undefined) {\n this.restCtrl = await findOrCreateOnReady(\"gl-rest-controller\");\n }\n await this.restCtrl.create(\n {\n type: \"Feature\",\n properties: {\n action: this.liked ? \"like\" : \"unlike\",\n feature_id: this.feature.id,\n client_id: clientId,\n },\n },\n {\n url: this.url,\n token: this.token,\n method: this.method,\n mode: this.requestMode,\n }\n );\n success = true;\n } catch (e) {}\n\n this.glLike.emit({\n success: success,\n feature: this.feature,\n action: this.liked ? \"like\" : \"unlike\",\n client_id: clientId,\n });\n }\n\n private likeClicked = () => {\n if (!this.disabled) this.toggle();\n };\n\n render() {\n return (\n <ion-button\n fill=\"clear\"\n onClick={this.likeClicked}\n disabled={this.disabled}\n >\n <ion-icon\n slot=\"start\"\n name={this.liked ? this.iconYes : this.iconNo}\n ></ion-icon>\n <span class=\"gl-like-button-count\">{this.count}</span>\n </ion-button>\n );\n }\n}\n"],"version":3}
1
+ {"file":"gl-like-button.entry.cjs.js","mappings":"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","names":["findOrCreateOnReady","h"],"sources":["src/components/like-button/like-button.tsx"],"sourcesContent":["import {\n h,\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\nimport { LikeProxy } from \"../like-controller/like-proxy\";\nimport { findOrCreateOnReady } from \"../utils\";\nimport { Feature } from \"geojson\";\nimport { MapGeoJSONFeature } from \"maplibre-gl\";\n@Component({\n tag: \"gl-like-button\"\n})\nexport class LikeButton {\n @Element() el: HTMLGlLikeButtonElement;\n\n @State() count: number = 0;\n @State() liked: boolean = false;\n @State() proxy: LikeProxy;\n\n @State() likeCtrl: HTMLGlLikeControllerElement;\n @State() restCtrl: HTMLGlRestControllerElement;\n\n /**\n * The attribute which stores the number of likes this feature has received\n */\n @Prop() readonly attribute: string = \"_likes\";\n\n /**\n * Whether or not this like button is disabled\n */\n @Prop() readonly disabled: boolean = false;\n\n /**\n * The feature this like button is for\n */\n @Prop() readonly feature: Feature | MapGeoJSONFeature;\n\n /**\n * The icon for the like button if the user has not liked the feature\n */\n @Prop() readonly iconNo: string = \"star-outline\";\n\n /**\n * The icon for the like button if the user\n */\n @Prop() readonly iconYes: string = \"star\";\n\n /**\n * The HTTP method this like button uses to communicate a like\n */\n @Prop() readonly method: \"GET\" | \"POST\" | \"PATCH\" | \"PUT\" | \"DELETE\" = \"POST\";\n\n /**\n * The cors mode this like button uses to communicate\n */\n @Prop() readonly requestMode: RequestMode;\n\n /**\n * The authentication token this like button uses when communicating\n */\n @Prop() readonly token: string;\n\n /**\n * The url to the endpoint which which the like button communicates.\n * Most likely this will be the end point of a features-api instance.\n */\n @Prop() readonly url: string;\n\n /**\n * An event emitted when the user presses the like button\n */\n @Event() glLike: EventEmitter<{\n success: boolean;\n feature: Feature | MapGeoJSONFeature;\n action: \"like\" | \"unlike\";\n client_id: string;\n }>;\n\n async componentWillLoad() {\n await this.setState();\n }\n\n @Watch(\"feature\")\n async setState() {\n if (this.feature != undefined) {\n this.count = this.feature.properties[this.attribute];\n if (this.likeCtrl == undefined) {\n this.likeCtrl = await findOrCreateOnReady(\"gl-like-controller\");\n }\n this.proxy = await this.likeCtrl.create(this.feature);\n this.liked = this.proxy.isLiked();\n }\n }\n\n private async toggle() {\n this.liked = !this.liked;\n this.count += this.liked ? 1 : -1;\n if (this.feature?.properties != undefined)\n this.feature.properties[this.attribute] = this.count;\n this.liked ? this.proxy.like() : this.proxy.unlike();\n\n // Fail silently if request fails.\n let success = false;\n let clientId = this.proxy.getClientId();\n try {\n if (this.restCtrl == undefined) {\n this.restCtrl = await findOrCreateOnReady(\"gl-rest-controller\");\n }\n await this.restCtrl.create(\n {\n type: \"Feature\",\n properties: {\n action: this.liked ? \"like\" : \"unlike\",\n feature_id: this.feature.id,\n client_id: clientId\n }\n },\n {\n url: this.url,\n token: this.token,\n method: this.method,\n mode: this.requestMode\n }\n );\n success = true;\n } catch (e) {}\n\n this.glLike.emit({\n success: success,\n feature: this.feature,\n action: this.liked ? \"like\" : \"unlike\",\n client_id: clientId\n });\n }\n\n private likeClicked = () => {\n if (!this.disabled) this.toggle();\n };\n\n render() {\n return (\n <ion-button\n fill=\"clear\"\n onClick={this.likeClicked}\n disabled={this.disabled}\n aria-label=\"Like Button\"\n >\n <ion-icon\n slot=\"start\"\n name={this.liked ? this.iconYes : this.iconNo}\n aria-hidden=\"true\"\n ></ion-icon>\n <span class=\"gl-like-button-count\">{this.count}</span>\n </ion-button>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const utils = require('./utils-94ef970a.js');
6
+ require('./index-b8c5f2d4.js');
7
+
8
+
9
+
10
+ exports.fetchPdf = utils.fetchPdf;
11
+ exports.findOrCreateOnReady = utils.findOrCreateOnReady;
12
+ exports.getAbsoluteUrl = utils.getAbsoluteUrl;
13
+ exports.getMap = utils.getMap;
3
14
 
4
15
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"file":"index.cjs.js","mappings":";;","names":[],"sources":[],"sourcesContent":[],"version":3}
1
+ {"file":"index.cjs.js","mappings":";;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,4 +1,4 @@
1
- import { Host, h, } from "@stencil/core";
1
+ import { Host, h } from "@stencil/core";
2
2
  import { _t } from "../i18n/i18n";
3
3
  import { findOrCreateOnReady } from "../utils";
4
4
  export class AddressSearchBox {
@@ -100,7 +100,7 @@ export class AddressSearchBox {
100
100
  let mapEl = this.el.closest("gl-map");
101
101
  mapEl.map.fitBounds(result.bbox, {
102
102
  maxZoom: this.maxZoom,
103
- padding: this.zoomPadding,
103
+ padding: this.zoomPadding
104
104
  });
105
105
  this.hasFocus = false;
106
106
  }
@@ -111,7 +111,7 @@ export class AddressSearchBox {
111
111
  bbox: this.bboxArray,
112
112
  bounded: true,
113
113
  jobId: this.jobId,
114
- limit: this.limit,
114
+ limit: this.limit
115
115
  });
116
116
  }
117
117
  resultButtonFunction(result) {
@@ -120,7 +120,7 @@ export class AddressSearchBox {
120
120
  renderResults() {
121
121
  if (this.results.length === 0 || !this.hasValue || !this.hasFocus)
122
122
  return null;
123
- let items = this.results.map((result) => (h("ion-item", { button: true, onClick: this.resultButtonFunction(result) }, h("ion-icon", { name: "pin", slot: "start" }), h("ion-label", null, this.formatAddress(result.address, result.display)))));
123
+ let items = this.results.map((result) => (h("ion-item", { button: true, onClick: this.resultButtonFunction(result), "aria-label": "Address Result" }, h("ion-icon", { name: "pin", slot: "start", "aria-hidden": "true" }), h("ion-label", null, this.formatAddress(result.address, result.display)))));
124
124
  return h("ion-list", { lines: "full" }, items);
125
125
  }
126
126
  handleChange() {
@@ -1 +1 @@
1
- {"version":3,"file":"address-search.js","sourceRoot":"","sources":["../../../src/components/address-search/address-search.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Host,\n h,\n Component,\n Element,\n Listen,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { Mode } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\nimport { findOrCreateOnReady } from \"../utils\";\nimport {\n ForwardGeocodeOptions,\n GeocodeResponse,\n Address,\n} from \"../geocode-controller/geocode-interface\";\n\n@Component({\n styleUrls: {\n ios: \"address-search.ios.css\",\n md: \"address-search.md.css\",\n },\n tag: \"gl-address-search\",\n})\nexport class AddressSearchBox {\n private input?: HTMLIonSearchbarElement;\n private lazyGeocodeCtrl: HTMLGlGeocodeControllerElement;\n\n /**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\n @Prop() readonly mode!: Mode;\n\n @Element() el: HTMLGlAddressSearchElement;\n\n @State() bboxArray: [number, number, number, number];\n @State() hasFocus: boolean = false;\n @State() hasValue: boolean = false;\n @State() results: GeocodeResponse[] = [];\n\n /** @internal */\n /**\n * Bounding box for the search in the format [west, south, east, north].\n */\n @Prop() readonly bbox: [number, number, number, number] | string;\n\n /**\n * Identifier for the geocode operation.\n */\n @Prop() readonly jobId: string = \"gl-address-search\";\n\n /**\n * Maximum number of results to display.\n */\n @Prop() readonly limit: number = 10;\n\n /**\n * Maximum level the map will zoom to when a result is selected (e.g., for point results).\n */\n @Prop() readonly maxZoom: number = 18;\n\n /**\n * Placeholder text displayed in the input element.\n */\n @Prop() readonly placeholder: string = _t(\"webmapgl.address-search.prompt\");\n\n /**\n * URL of the geocoding endpoint.\n */\n @Prop() readonly url: string;\n\n /**\n * Padding in pixels used when zooming to a selected result.\n */\n @Prop() readonly zoomPadding: number = 20;\n\n async componentWillLoad() {\n this.parseBbox();\n if (this.lazyGeocodeCtrl == undefined)\n this.lazyGeocodeCtrl = await findOrCreateOnReady(\"gl-geocode-controller\");\n }\n\n @Listen(\"glForwardGeocode\", { target: \"body\" })\n async handleGeocode(\n e: CustomEvent<{\n options: ForwardGeocodeOptions;\n response: GeocodeResponse[];\n }>\n ) {\n if (e.detail.options.jobId === this.jobId) this.results = e.detail.response;\n }\n\n @Listen(\"click\", { target: \"body\" })\n handleBodyClick() {\n this.hasFocus = false;\n }\n\n @Listen(\"keydown\")\n // @ts-ignore handleKey is listening to the key presses rather than being called elsewhere.\n private handleKey(e: KeyboardEvent) {\n if (e.key === \"ArrowUp\") this.handleUp(e);\n else if (e.key === \"ArrowDown\") this.handleDown(e);\n }\n\n private handleDown(e: KeyboardEvent) {\n let nextItem: Element;\n if (document.activeElement.tagName === \"ION-ITEM\") {\n this.unsetFocus();\n nextItem = document.activeElement.nextElementSibling;\n }\n if (nextItem == undefined) nextItem = this.el.querySelector(\"ion-item\");\n if (nextItem != null) {\n e.preventDefault();\n this.setFocus(nextItem);\n }\n }\n\n private handleUp(e: KeyboardEvent) {\n if (document.activeElement.tagName === \"ION-ITEM\") {\n e.preventDefault();\n this.unsetFocus();\n let prevItem = document.activeElement.previousElementSibling;\n if (prevItem != undefined) {\n this.setFocus(prevItem);\n } else if (this.input != undefined) {\n this.input.querySelector(\"input\").focus();\n }\n }\n }\n\n @Watch(\"bbox\")\n parseBbox() {\n this.bboxArray =\n typeof this.bbox === \"string\"\n ? (this.bbox.split(\",\").map((c) => parseFloat(c)) as [\n number,\n number,\n number,\n number\n ])\n : this.bbox;\n }\n\n private setFocus(el: Element) {\n let button = el.shadowRoot.querySelector(\"button\");\n button.focus();\n button.style.color = \"#3880ff\";\n }\n\n private unsetFocus() {\n let button = document.activeElement.shadowRoot.querySelector(\"button\");\n button.style.color = null;\n }\n\n private formatAddress(address: Address, displayName: string) {\n let parts = [];\n if (address.name != null && address.name !== address.city)\n parts.push(address.name);\n if (address.street != null) {\n parts.push(\n address.housenumber != null\n ? address.housenumber + \" \" + address.street\n : address.street\n );\n }\n if (address.city != null) parts.push(address.city);\n if (parts.length !== 0 && address.county != null)\n parts.push(address.county);\n if (parts.length !== 0) return parts.join(\", \");\n else return displayName;\n }\n\n private async selectResult(result: GeocodeResponse) {\n let mapEl = this.el.closest(\"gl-map\");\n mapEl.map.fitBounds(result.bbox, {\n maxZoom: this.maxZoom,\n padding: this.zoomPadding,\n });\n this.hasFocus = false;\n }\n\n private async geocode() {\n this.lazyGeocodeCtrl.forward({\n address: this.input.value,\n url: this.url,\n bbox: this.bboxArray,\n bounded: true,\n jobId: this.jobId,\n limit: this.limit,\n });\n }\n\n private resultButtonFunction(result: GeocodeResponse) {\n return () => this.selectResult(result);\n }\n\n private renderResults() {\n if (this.results.length === 0 || !this.hasValue || !this.hasFocus)\n return null;\n let items = this.results.map((result) => (\n <ion-item button={true} onClick={this.resultButtonFunction(result)}>\n <ion-icon name=\"pin\" slot=\"start\"></ion-icon>\n <ion-label>\n {this.formatAddress(result.address, result.display)}\n </ion-label>\n </ion-item>\n ));\n return <ion-list lines=\"full\">{items}</ion-list>;\n }\n\n private handleChange() {\n if (this.input?.value != undefined) {\n this.hasValue = true;\n this.geocode();\n } else {\n this.hasValue = false;\n if (this.results.length !== 0) this.results = [];\n }\n }\n\n private handleFocus() {\n this.hasFocus = true;\n }\n\n private handleClick(e: MouseEvent) {\n // Prevent propagation of click events from the searchbar so that\n // it does not lose focus.\n e.stopPropagation();\n }\n\n private callChange = () => this.handleChange();\n private callFocus = () => this.handleFocus();\n private callClick = (e: MouseEvent) => this.handleClick(e);\n\n render() {\n return (\n <Host>\n <ion-searchbar\n ref={(r: HTMLIonSearchbarElement) => (this.input = r)}\n placeholder={this.placeholder}\n onIonChange={this.callChange}\n onIonFocus={this.callFocus}\n onClick={this.callClick}\n ></ion-searchbar>\n {this.renderResults()}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"address-search.js","sourceRoot":"","sources":["../../../src/components/address-search/address-search.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Host,\n h,\n Component,\n Element,\n Listen,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\nimport { Mode } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\nimport { findOrCreateOnReady } from \"../utils\";\nimport {\n ForwardGeocodeOptions,\n GeocodeResponse,\n Address\n} from \"../geocode-controller/geocode-interface\";\n\n@Component({\n styleUrls: {\n ios: \"address-search.ios.css\",\n md: \"address-search.md.css\"\n },\n tag: \"gl-address-search\"\n})\nexport class AddressSearchBox {\n private input?: HTMLIonSearchbarElement;\n private lazyGeocodeCtrl: HTMLGlGeocodeControllerElement;\n\n /**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\n @Prop() readonly mode!: Mode;\n\n @Element() el: HTMLGlAddressSearchElement;\n\n @State() bboxArray: [number, number, number, number];\n @State() hasFocus: boolean = false;\n @State() hasValue: boolean = false;\n @State() results: GeocodeResponse[] = [];\n\n /** @internal */\n /**\n * Bounding box for the search in the format [west, south, east, north].\n */\n @Prop() readonly bbox: [number, number, number, number] | string;\n\n /**\n * Identifier for the geocode operation.\n */\n @Prop() readonly jobId: string = \"gl-address-search\";\n\n /**\n * Maximum number of results to display.\n */\n @Prop() readonly limit: number = 10;\n\n /**\n * Maximum level the map will zoom to when a result is selected (e.g., for point results).\n */\n @Prop() readonly maxZoom: number = 18;\n\n /**\n * Placeholder text displayed in the input element.\n */\n @Prop() readonly placeholder: string = _t(\"webmapgl.address-search.prompt\");\n\n /**\n * URL of the geocoding endpoint.\n */\n @Prop() readonly url: string;\n\n /**\n * Padding in pixels used when zooming to a selected result.\n */\n @Prop() readonly zoomPadding: number = 20;\n\n async componentWillLoad() {\n this.parseBbox();\n if (this.lazyGeocodeCtrl == undefined)\n this.lazyGeocodeCtrl = await findOrCreateOnReady(\"gl-geocode-controller\");\n }\n\n @Listen(\"glForwardGeocode\", { target: \"body\" })\n async handleGeocode(\n e: CustomEvent<{\n options: ForwardGeocodeOptions;\n response: GeocodeResponse[];\n }>\n ) {\n if (e.detail.options.jobId === this.jobId) this.results = e.detail.response;\n }\n\n @Listen(\"click\", { target: \"body\" })\n handleBodyClick() {\n this.hasFocus = false;\n }\n\n @Listen(\"keydown\")\n // @ts-ignore handleKey is listening to the key presses rather than being called elsewhere.\n private handleKey(e: KeyboardEvent) {\n if (e.key === \"ArrowUp\") this.handleUp(e);\n else if (e.key === \"ArrowDown\") this.handleDown(e);\n }\n\n private handleDown(e: KeyboardEvent) {\n let nextItem: Element;\n if (document.activeElement.tagName === \"ION-ITEM\") {\n this.unsetFocus();\n nextItem = document.activeElement.nextElementSibling;\n }\n if (nextItem == undefined) nextItem = this.el.querySelector(\"ion-item\");\n if (nextItem != null) {\n e.preventDefault();\n this.setFocus(nextItem);\n }\n }\n\n private handleUp(e: KeyboardEvent) {\n if (document.activeElement.tagName === \"ION-ITEM\") {\n e.preventDefault();\n this.unsetFocus();\n let prevItem = document.activeElement.previousElementSibling;\n if (prevItem != undefined) {\n this.setFocus(prevItem);\n } else if (this.input != undefined) {\n this.input.querySelector(\"input\").focus();\n }\n }\n }\n\n @Watch(\"bbox\")\n parseBbox() {\n this.bboxArray =\n typeof this.bbox === \"string\"\n ? (this.bbox.split(\",\").map((c) => parseFloat(c)) as [\n number,\n number,\n number,\n number\n ])\n : this.bbox;\n }\n\n private setFocus(el: Element) {\n let button = el.shadowRoot.querySelector(\"button\");\n button.focus();\n button.style.color = \"#3880ff\";\n }\n\n private unsetFocus() {\n let button = document.activeElement.shadowRoot.querySelector(\"button\");\n button.style.color = null;\n }\n\n private formatAddress(address: Address, displayName: string) {\n let parts = [];\n if (address.name != null && address.name !== address.city)\n parts.push(address.name);\n if (address.street != null) {\n parts.push(\n address.housenumber != null\n ? address.housenumber + \" \" + address.street\n : address.street\n );\n }\n if (address.city != null) parts.push(address.city);\n if (parts.length !== 0 && address.county != null)\n parts.push(address.county);\n if (parts.length !== 0) return parts.join(\", \");\n else return displayName;\n }\n\n private async selectResult(result: GeocodeResponse) {\n let mapEl = this.el.closest(\"gl-map\");\n mapEl.map.fitBounds(result.bbox, {\n maxZoom: this.maxZoom,\n padding: this.zoomPadding\n });\n this.hasFocus = false;\n }\n\n private async geocode() {\n this.lazyGeocodeCtrl.forward({\n address: this.input.value,\n url: this.url,\n bbox: this.bboxArray,\n bounded: true,\n jobId: this.jobId,\n limit: this.limit\n });\n }\n\n private resultButtonFunction(result: GeocodeResponse) {\n return () => this.selectResult(result);\n }\n\n private renderResults() {\n if (this.results.length === 0 || !this.hasValue || !this.hasFocus)\n return null;\n let items = this.results.map((result) => (\n <ion-item\n button={true}\n onClick={this.resultButtonFunction(result)}\n aria-label=\"Address Result\"\n >\n <ion-icon name=\"pin\" slot=\"start\" aria-hidden=\"true\"></ion-icon>\n <ion-label>\n {this.formatAddress(result.address, result.display)}\n </ion-label>\n </ion-item>\n ));\n return <ion-list lines=\"full\">{items}</ion-list>;\n }\n\n private handleChange() {\n if (this.input?.value != undefined) {\n this.hasValue = true;\n this.geocode();\n } else {\n this.hasValue = false;\n if (this.results.length !== 0) this.results = [];\n }\n }\n\n private handleFocus() {\n this.hasFocus = true;\n }\n\n private handleClick(e: MouseEvent) {\n // Prevent propagation of click events from the searchbar so that\n // it does not lose focus.\n e.stopPropagation();\n }\n\n private callChange = () => this.handleChange();\n private callFocus = () => this.handleFocus();\n private callClick = (e: MouseEvent) => this.handleClick(e);\n\n render() {\n return (\n <Host>\n <ion-searchbar\n ref={(r: HTMLIonSearchbarElement) => (this.input = r)}\n placeholder={this.placeholder}\n onIonChange={this.callChange}\n onIonFocus={this.callFocus}\n onClick={this.callClick}\n ></ion-searchbar>\n {this.renderResults()}\n </Host>\n );\n }\n}\n"]}
@@ -21,7 +21,7 @@ export class App {
21
21
  }
22
22
  getMenuButton() {
23
23
  if (this.menu === true)
24
- return (h("ion-menu-toggle", null, h("ion-button", null, h("ion-icon", { slot: "icon-only", name: "menu" }))));
24
+ return (h("ion-menu-toggle", null, h("ion-button", { "aria-label": "Menu Button" }, h("ion-icon", { "aria-hidden": "true", slot: "icon-only", name: "menu" }))));
25
25
  }
26
26
  getMain() {
27
27
  return (h("div", { class: "pane-main", id: "main" }, h("ion-header", null, h("ion-toolbar", null, h("ion-buttons", { slot: "start" }, this.getMenuButton(), h("slot", { name: "start-buttons" })), h("ion-buttons", { slot: "end" }, h("slot", { name: "end-buttons" })), h("ion-title", null, this.label))), h("ion-content", { scrollX: false, scrollY: false, class: "map-content" }, h("div", { class: "fixed-content", slot: "fixed" }, h("slot", null))), h("slot", { name: "after-content" }), h("ion-footer", null, h("slot", { name: "footer" }))));
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/components/app/app.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAMlC,MAAM,OAAO,GAAG;;;gBAY8B,IAAI;qBAKX,EAAE,CAAC,wBAAwB,CAAC;qBAK3B,IAAI;oBAKiB,MAAM;;EAEjE,gBAAgB;IACd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;EAC9C,CAAC;EAEO,OAAO;IACb,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;MACtB,OAAO,CACL,8BAAqB,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ;QAC7C;UACE;YACE,qBAAY,IAAI,CAAC,SAAS,CAAa,CAC3B,CACH;QACb;UACE,WAAK,KAAK,EAAC,iBAAiB;YAC1B,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACM,CACL,CACZ,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;MACjC,OAAO,YAAM,IAAI,EAAC,MAAM,GAAG,CAAC;KAC7B;EACH,CAAC;EAEO,aAAa;IACnB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;MACpB,OAAO,CACL;QACE;UACE,gBAAU,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,GAAY,CACvC,CACG,CACnB,CAAC;EACN,CAAC;EAEO,OAAO;IACb,OAAO,CACL,WAAK,KAAK,EAAC,WAAW,EAAC,EAAE,EAAC,MAAM;MAC9B;QACE;UACE,mBAAa,IAAI,EAAC,OAAO;YACtB,IAAI,CAAC,aAAa,EAAE;YACrB,YAAM,IAAI,EAAC,eAAe,GAAG,CACjB;UACd,mBAAa,IAAI,EAAC,KAAK;YACrB,YAAM,IAAI,EAAC,aAAa,GAAG,CACf;UACd,qBAAY,IAAI,CAAC,KAAK,CAAa,CACvB,CACH;MACb,mBAAa,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,aAAa;QAC9D,WAAK,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO;UACrC,eAAQ,CACJ,CACM;MACd,YAAM,IAAI,EAAC,eAAe,GAAG;MAC7B;QACE,YAAM,IAAI,EAAC,QAAQ,GAAG,CACX,CACT,CACP,CAAC;EACJ,CAAC;EAED,MAAM;IACJ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,SAAS;MAChB,OAAO,GAAG,CAAC,oCAA2B,MAAM,IAAE,OAAO,CAAkB,CAAC,CAAC;IAC3E,OAAO,mBAAU,OAAO,CAAW,CAAC;EACtC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Prop } from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-app\",\n styleUrl: \"app.css\",\n})\nexport class App {\n @Element() el: HTMLGlAppElement;\n\n /**\n * Application name in the main title bar.\n */\n @Prop() readonly label: string;\n\n /**\n * Menu type. A value of `false` disables the menu, while a `custom` menu\n * type creates a menu slot.\n */\n @Prop() readonly menu: \"custom\" | boolean = true;\n\n /**\n * Heading text for the menu.\n */\n @Prop() readonly menuLabel: string = _t(\"webmapgl.app.menulabel\");\n\n /**\n * Should the application use `ion-split-pane` to display the menu?\n */\n @Prop() readonly splitPane: boolean = true;\n\n /**\n * What type of side menu to use, valid options are `push`, `overlay`, and `reveal`.\n */\n @Prop() readonly menuType: \"push\" | \"overlay\" | \"reveal\" = \"push\";\n\n componentDidLoad() {\n this.el.querySelector(\"gl-map\").resizeMap();\n }\n\n private getMenu() {\n if (this.menu === true) {\n return (\n <ion-menu content-id=\"main\" type={this.menuType}>\n <ion-header>\n <ion-toolbar>\n <ion-title>{this.menuLabel}</ion-title>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <div class=\"gl-menu-content\">\n <slot name=\"menu\" />\n </div>\n </ion-content>\n </ion-menu>\n );\n } else if (this.menu === \"custom\") {\n return <slot name=\"menu\" />;\n }\n }\n\n private getMenuButton() {\n if (this.menu === true)\n return (\n <ion-menu-toggle>\n <ion-button>\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n );\n }\n\n private getMain() {\n return (\n <div class=\"pane-main\" id=\"main\">\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n {this.getMenuButton()}\n <slot name=\"start-buttons\" />\n </ion-buttons>\n <ion-buttons slot=\"end\">\n <slot name=\"end-buttons\" />\n </ion-buttons>\n <ion-title>{this.label}</ion-title>\n </ion-toolbar>\n </ion-header>\n <ion-content scrollX={false} scrollY={false} class=\"map-content\">\n <div class=\"fixed-content\" slot=\"fixed\">\n <slot />\n </div>\n </ion-content>\n <slot name=\"after-content\" />\n <ion-footer>\n <slot name=\"footer\" />\n </ion-footer>\n </div>\n );\n }\n\n render() {\n let content = [this.getMenu(), this.getMain()];\n if (this.splitPane)\n content = [<ion-split-pane content-id=\"main\">{content}</ion-split-pane>];\n return <ion-app>{content}</ion-app>;\n }\n}\n"]}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/components/app/app.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAMlC,MAAM,OAAO,GAAG;;;gBAY8B,IAAI;qBAKX,EAAE,CAAC,wBAAwB,CAAC;qBAK3B,IAAI;oBAKiB,MAAM;;EAEjE,gBAAgB;IACd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;EAC9C,CAAC;EAEO,OAAO;IACb,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;MACtB,OAAO,CACL,8BAAqB,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ;QAC7C;UACE;YACE,qBAAY,IAAI,CAAC,SAAS,CAAa,CAC3B,CACH;QACb;UACE,WAAK,KAAK,EAAC,iBAAiB;YAC1B,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACM,CACL,CACZ,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;MACjC,OAAO,YAAM,IAAI,EAAC,MAAM,GAAG,CAAC;KAC7B;EACH,CAAC;EAEO,aAAa;IACnB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;MACpB,OAAO,CACL;QACE,gCAAuB,aAAa;UAClC,+BACc,MAAM,EAClB,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,MAAM,GACD,CACD,CACG,CACnB,CAAC;EACN,CAAC;EAEO,OAAO;IACb,OAAO,CACL,WAAK,KAAK,EAAC,WAAW,EAAC,EAAE,EAAC,MAAM;MAC9B;QACE;UACE,mBAAa,IAAI,EAAC,OAAO;YACtB,IAAI,CAAC,aAAa,EAAE;YACrB,YAAM,IAAI,EAAC,eAAe,GAAG,CACjB;UACd,mBAAa,IAAI,EAAC,KAAK;YACrB,YAAM,IAAI,EAAC,aAAa,GAAG,CACf;UACd,qBAAY,IAAI,CAAC,KAAK,CAAa,CACvB,CACH;MACb,mBAAa,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,aAAa;QAC9D,WAAK,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO;UACrC,eAAQ,CACJ,CACM;MACd,YAAM,IAAI,EAAC,eAAe,GAAG;MAC7B;QACE,YAAM,IAAI,EAAC,QAAQ,GAAG,CACX,CACT,CACP,CAAC;EACJ,CAAC;EAED,MAAM;IACJ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,SAAS;MAChB,OAAO,GAAG,CAAC,oCAA2B,MAAM,IAAE,OAAO,CAAkB,CAAC,CAAC;IAC3E,OAAO,mBAAU,OAAO,CAAW,CAAC;EACtC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Prop } from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-app\",\n styleUrl: \"app.css\"\n})\nexport class App {\n @Element() el: HTMLGlAppElement;\n\n /**\n * Application name in the main title bar.\n */\n @Prop() readonly label: string;\n\n /**\n * Menu type. A value of `false` disables the menu, while a `custom` menu\n * type creates a menu slot.\n */\n @Prop() readonly menu: \"custom\" | boolean = true;\n\n /**\n * Heading text for the menu.\n */\n @Prop() readonly menuLabel: string = _t(\"webmapgl.app.menulabel\");\n\n /**\n * Should the application use `ion-split-pane` to display the menu?\n */\n @Prop() readonly splitPane: boolean = true;\n\n /**\n * What type of side menu to use, valid options are `push`, `overlay`, and `reveal`.\n */\n @Prop() readonly menuType: \"push\" | \"overlay\" | \"reveal\" = \"push\";\n\n componentDidLoad() {\n this.el.querySelector(\"gl-map\").resizeMap();\n }\n\n private getMenu() {\n if (this.menu === true) {\n return (\n <ion-menu content-id=\"main\" type={this.menuType}>\n <ion-header>\n <ion-toolbar>\n <ion-title>{this.menuLabel}</ion-title>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <div class=\"gl-menu-content\">\n <slot name=\"menu\" />\n </div>\n </ion-content>\n </ion-menu>\n );\n } else if (this.menu === \"custom\") {\n return <slot name=\"menu\" />;\n }\n }\n\n private getMenuButton() {\n if (this.menu === true)\n return (\n <ion-menu-toggle>\n <ion-button aria-label=\"Menu Button\">\n <ion-icon\n aria-hidden=\"true\"\n slot=\"icon-only\"\n name=\"menu\"\n ></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n );\n }\n\n private getMain() {\n return (\n <div class=\"pane-main\" id=\"main\">\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n {this.getMenuButton()}\n <slot name=\"start-buttons\" />\n </ion-buttons>\n <ion-buttons slot=\"end\">\n <slot name=\"end-buttons\" />\n </ion-buttons>\n <ion-title>{this.label}</ion-title>\n </ion-toolbar>\n </ion-header>\n <ion-content scrollX={false} scrollY={false} class=\"map-content\">\n <div class=\"fixed-content\" slot=\"fixed\">\n <slot />\n </div>\n </ion-content>\n <slot name=\"after-content\" />\n <ion-footer>\n <slot name=\"footer\" />\n </ion-footer>\n </div>\n );\n }\n\n render() {\n let content = [this.getMenu(), this.getMain()];\n if (this.splitPane)\n content = [<ion-split-pane content-id=\"main\">{content}</ion-split-pane>];\n return <ion-app>{content}</ion-app>;\n }\n}\n"]}
@@ -100,7 +100,7 @@ export class AttributeValues {
100
100
  "references": {
101
101
  "attributeOptions": {
102
102
  "location": "local",
103
- "path": "/var/home/fj44404@co.champaign.il.us/.local/code/webmapgl/src/components/attribute-values/attribute-values.tsx",
103
+ "path": "/run/host/var/home/fj44404@co.champaign.il.us/.local/code/webmapgl/src/components/attribute-values/attribute-values.tsx",
104
104
  "id": "src/components/attribute-values/attribute-values.tsx::attributeOptions"
105
105
  }
106
106
  }
@@ -8,7 +8,7 @@ export class Basemaps {
8
8
  async openPopover(ev) {
9
9
  const options = {
10
10
  component: document.createElement("gl-basemap-switcher"),
11
- ev: ev,
11
+ ev: ev
12
12
  };
13
13
  const popover = await popoverController.create(options);
14
14
  await popover.present();
@@ -16,7 +16,7 @@ export class Basemaps {
16
16
  }
17
17
  render() {
18
18
  let title = _t("webmapgl.basemaps.title");
19
- return (h("ion-button", { onClick: this.selectBasemap, title: title }, h("ion-icon", { slot: "icon-only", name: "earth" })));
19
+ return (h("ion-button", { onClick: this.selectBasemap, title: title, "aria-label": title }, h("ion-icon", { "aria-hidden": "true", slot: "icon-only", name: "earth" })));
20
20
  }
21
21
  static get is() { return "gl-basemaps"; }
22
22
  static get elementRef() { return "el"; }
@@ -1 +1 @@
1
- {"version":3,"file":"basemaps.js","sourceRoot":"","sources":["../../../src/components/basemaps/basemaps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,QAAQ;EAHrB;IAgBU,kBAAa,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;GAU7D;EApBS,KAAK,CAAC,WAAW,CAAC,EAAW;IACnC,MAAM,OAAO,GAAG;MACd,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC;MACxD,EAAE,EAAE,EAAE;KACP,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC;EACjB,CAAC;EAID,MAAM;IACJ,IAAI,KAAK,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAC1C,OAAO,CACL,kBAAY,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK;MACnD,gBAAU,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,GAAY,CACxC,CACd,CAAC;EACJ,CAAC;;;CACF","sourcesContent":["import { h, Component, Element } from \"@stencil/core\";\nimport { popoverController } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-basemaps\",\n})\nexport class Basemaps {\n @Element() el: HTMLGlBasemapsElement;\n\n private async openPopover(ev: UIEvent) {\n const options = {\n component: document.createElement(\"gl-basemap-switcher\"),\n ev: ev,\n };\n const popover = await popoverController.create(options);\n await popover.present();\n return popover;\n }\n\n private selectBasemap = (e: UIEvent) => this.openPopover(e);\n\n render() {\n let title = _t(\"webmapgl.basemaps.title\");\n return (\n <ion-button onClick={this.selectBasemap} title={title}>\n <ion-icon slot=\"icon-only\" name=\"earth\"></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"basemaps.js","sourceRoot":"","sources":["../../../src/components/basemaps/basemaps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,QAAQ;EAHrB;IAgBU,kBAAa,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;GAU7D;EApBS,KAAK,CAAC,WAAW,CAAC,EAAW;IACnC,MAAM,OAAO,GAAG;MACd,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC;MACxD,EAAE,EAAE,EAAE;KACP,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC;EACjB,CAAC;EAID,MAAM;IACJ,IAAI,KAAK,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAC1C,OAAO,CACL,kBAAY,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,gBAAc,KAAK;MACtE,+BAAsB,MAAM,EAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,GAAY,CAC3D,CACd,CAAC;EACJ,CAAC;;;CACF","sourcesContent":["import { h, Component, Element } from \"@stencil/core\";\nimport { popoverController } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-basemaps\"\n})\nexport class Basemaps {\n @Element() el: HTMLGlBasemapsElement;\n\n private async openPopover(ev: UIEvent) {\n const options = {\n component: document.createElement(\"gl-basemap-switcher\"),\n ev: ev\n };\n const popover = await popoverController.create(options);\n await popover.present();\n return popover;\n }\n\n private selectBasemap = (e: UIEvent) => this.openPopover(e);\n\n render() {\n let title = _t(\"webmapgl.basemaps.title\");\n return (\n <ion-button onClick={this.selectBasemap} title={title} aria-label={title}>\n <ion-icon aria-hidden=\"true\" slot=\"icon-only\" name=\"earth\"></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
@@ -9,9 +9,9 @@ export class DownloadButton {
9
9
  const options = {
10
10
  component: document.createElement("gl-download-list"),
11
11
  componentProps: {
12
- files: Array.from(this.el.querySelectorAll("gl-download-file")),
12
+ files: Array.from(this.el.querySelectorAll("gl-download-file"))
13
13
  },
14
- ev: ev,
14
+ ev: ev
15
15
  };
16
16
  const popover = await popoverController.create(options);
17
17
  await popover.present();
@@ -19,7 +19,7 @@ export class DownloadButton {
19
19
  }
20
20
  render() {
21
21
  let title = _t("webmapgl.download-button.title");
22
- return (h("ion-button", { onClick: this.clickPopover, title: title }, h("ion-icon", { slot: "icon-only", name: "download-sharp" })));
22
+ return (h("ion-button", { onClick: this.clickPopover, title: title, "aria-label": title }, h("ion-icon", { "aria-hidden": "true", slot: "icon-only", name: "download-sharp" })));
23
23
  }
24
24
  static get is() { return "gl-download-button"; }
25
25
  static get elementRef() { return "el"; }
@@ -1 +1 @@
1
- {"version":3,"file":"download-button.js","sourceRoot":"","sources":["../../../src/components/download-button/download-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,cAAc;EAH3B;IAmBU,iBAAY,GAAG,CAAC,EAAW,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;GAU9D;EAvBS,KAAK,CAAC,WAAW,CAAC,EAAW;IACnC,MAAM,OAAO,GAAG;MACd,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;MACrD,cAAc,EAAE;QACd,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;OAChE;MACD,EAAE,EAAE,EAAE;KACP,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC;EACjB,CAAC;EAID,MAAM;IACJ,IAAI,KAAK,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;IACjD,OAAO,CACL,kBAAY,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK;MAClD,gBAAU,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,gBAAgB,GAAY,CACjD,CACd,CAAC;EACJ,CAAC;;;CACF","sourcesContent":["import { h, Component, Element } from \"@stencil/core\";\nimport { popoverController } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-download-button\",\n})\nexport class DownloadButton {\n @Element() el: HTMLGlDownloadButtonElement;\n\n private async openPopover(ev: UIEvent) {\n const options = {\n component: document.createElement(\"gl-download-list\"),\n componentProps: {\n files: Array.from(this.el.querySelectorAll(\"gl-download-file\")),\n },\n ev: ev,\n };\n const popover = await popoverController.create(options);\n await popover.present();\n return popover;\n }\n\n private clickPopover = (ev: UIEvent) => this.openPopover(ev);\n\n render() {\n let title = _t(\"webmapgl.download-button.title\");\n return (\n <ion-button onClick={this.clickPopover} title={title}>\n <ion-icon slot=\"icon-only\" name=\"download-sharp\"></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"download-button.js","sourceRoot":"","sources":["../../../src/components/download-button/download-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,cAAc;EAH3B;IAmBU,iBAAY,GAAG,CAAC,EAAW,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;GAc9D;EA3BS,KAAK,CAAC,WAAW,CAAC,EAAW;IACnC,MAAM,OAAO,GAAG;MACd,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;MACrD,cAAc,EAAE;QACd,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;OAChE;MACD,EAAE,EAAE,EAAE;KACP,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC;EACjB,CAAC;EAID,MAAM;IACJ,IAAI,KAAK,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;IACjD,OAAO,CACL,kBAAY,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,gBAAc,KAAK;MACrE,+BACc,MAAM,EAClB,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,gBAAgB,GACX,CACD,CACd,CAAC;EACJ,CAAC;;;CACF","sourcesContent":["import { h, Component, Element } from \"@stencil/core\";\nimport { popoverController } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-download-button\"\n})\nexport class DownloadButton {\n @Element() el: HTMLGlDownloadButtonElement;\n\n private async openPopover(ev: UIEvent) {\n const options = {\n component: document.createElement(\"gl-download-list\"),\n componentProps: {\n files: Array.from(this.el.querySelectorAll(\"gl-download-file\"))\n },\n ev: ev\n };\n const popover = await popoverController.create(options);\n await popover.present();\n return popover;\n }\n\n private clickPopover = (ev: UIEvent) => this.openPopover(ev);\n\n render() {\n let title = _t(\"webmapgl.download-button.title\");\n return (\n <ion-button onClick={this.clickPopover} title={title} aria-label={title}>\n <ion-icon\n aria-hidden=\"true\"\n slot=\"icon-only\"\n name=\"download-sharp\"\n ></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
@@ -12,7 +12,8 @@ export class DownloadList {
12
12
  .join(", ");
13
13
  if (formatString != undefined)
14
14
  formatString = `(${formatString})`;
15
- return (h("ion-item", null, h("ion-label", { "text-wrap": true }, file.label, " ", formatString), h("ion-button", { slot: "end", href: file.url, target: "_blank", title: _t("webmapgl.download-list.download", { file: file.label }) }, h("ion-icon", { slot: "icon-only", name: "download" }))));
15
+ let title = _t("webmapgl.download-list.download", { file: file.label });
16
+ return (h("ion-item", null, h("ion-label", { "text-wrap": true }, file.label, " ", formatString), h("ion-button", { slot: "end", href: file.url, target: "_blank", title: title, "aria-label": title }, h("ion-icon", { "aria-hidden": "true", slot: "icon-only", name: "download" }))));
16
17
  });
17
18
  return (h("ion-content", null, h("ion-list", null, h("ion-list-header", null, header), fileList)));
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download-list.js","sourceRoot":"","sources":["../../../src/components/download-list/download-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,YAAY;;;;EAOvB,MAAM;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;IACnD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;MACrC,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;SACtB,IAAI,CAAC,IAAI,CAAC,CAAC;MACd,IAAI,YAAY,IAAI,SAAS;QAAE,YAAY,GAAG,IAAI,YAAY,GAAG,CAAC;MAElE,OAAO,CACL;QACE;UACG,IAAI,CAAC,KAAK;;UAAG,YAAY,CAChB;QACZ,kBACE,IAAI,EAAC,KAAK,EACV,IAAI,EAAE,IAAI,CAAC,GAAG,EACd,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,EAAE,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;UAElE,gBAAU,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,UAAU,GAAY,CAC3C,CACJ,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL;MACE;QACE,2BAAkB,MAAM,CAAmB;QAC1C,QAAQ,CACA,CACC,CACf,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Prop, Component } from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-download-list\",\n})\nexport class DownloadList {\n /**\n * Array of [gl-download-file](../download-file) elements to be included\n * in the list.\n */\n @Prop() readonly files: HTMLGlDownloadFileElement[];\n\n render() {\n const header = _t(\"webmapgl.download-list.header\");\n let fileList = this.files.map((file) => {\n let formatString = [file.format, file.size]\n .filter((item) => item)\n .join(\", \");\n if (formatString != undefined) formatString = `(${formatString})`;\n\n return (\n <ion-item>\n <ion-label text-wrap>\n {file.label} {formatString}\n </ion-label>\n <ion-button\n slot=\"end\"\n href={file.url}\n target=\"_blank\"\n title={_t(\"webmapgl.download-list.download\", { file: file.label })}\n >\n <ion-icon slot=\"icon-only\" name=\"download\"></ion-icon>\n </ion-button>\n </ion-item>\n );\n });\n\n return (\n <ion-content>\n <ion-list>\n <ion-list-header>{header}</ion-list-header>\n {fileList}\n </ion-list>\n </ion-content>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"download-list.js","sourceRoot":"","sources":["../../../src/components/download-list/download-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,YAAY;;;;EAOvB,MAAM;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;IACnD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;MACrC,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;SACtB,IAAI,CAAC,IAAI,CAAC,CAAC;MACd,IAAI,YAAY,IAAI,SAAS;QAAE,YAAY,GAAG,IAAI,YAAY,GAAG,CAAC;MAClE,IAAI,KAAK,GAAG,EAAE,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;MAExE,OAAO,CACL;QACE;UACG,IAAI,CAAC,KAAK;;UAAG,YAAY,CAChB;QACZ,kBACE,IAAI,EAAC,KAAK,EACV,IAAI,EAAE,IAAI,CAAC,GAAG,EACd,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,KAAK,gBACA,KAAK;UAEjB,+BACc,MAAM,EAClB,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,UAAU,GACL,CACD,CACJ,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL;MACE;QACE,2BAAkB,MAAM,CAAmB;QAC1C,QAAQ,CACA,CACC,CACf,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Prop, Component } from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-download-list\"\n})\nexport class DownloadList {\n /**\n * Array of [gl-download-file](../download-file) elements to be included\n * in the list.\n */\n @Prop() readonly files: HTMLGlDownloadFileElement[];\n\n render() {\n const header = _t(\"webmapgl.download-list.header\");\n let fileList = this.files.map((file) => {\n let formatString = [file.format, file.size]\n .filter((item) => item)\n .join(\", \");\n if (formatString != undefined) formatString = `(${formatString})`;\n let title = _t(\"webmapgl.download-list.download\", { file: file.label });\n\n return (\n <ion-item>\n <ion-label text-wrap>\n {file.label} {formatString}\n </ion-label>\n <ion-button\n slot=\"end\"\n href={file.url}\n target=\"_blank\"\n title={title}\n aria-label={title}\n >\n <ion-icon\n aria-hidden=\"true\"\n slot=\"icon-only\"\n name=\"download\"\n ></ion-icon>\n </ion-button>\n </ion-item>\n );\n });\n\n return (\n <ion-content>\n <ion-list>\n <ion-list-header>{header}</ion-list-header>\n {fileList}\n </ion-list>\n </ion-content>\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { h, } from "@stencil/core";
1
+ import { h } from "@stencil/core";
2
2
  import { _t } from "../i18n/i18n";
3
3
  export class DrawToolbar {
4
4
  constructor() {
@@ -37,12 +37,12 @@ export class DrawToolbar {
37
37
  }
38
38
  cancel() {
39
39
  this.glDrawCancel.emit({
40
- mapId: this.mapId,
40
+ mapId: this.mapId
41
41
  });
42
42
  }
43
43
  confirm() {
44
44
  this.glDrawConfirm.emit({
45
- mapId: this.mapId,
45
+ mapId: this.mapId
46
46
  });
47
47
  }
48
48
  render() {
@@ -51,7 +51,7 @@ export class DrawToolbar {
51
51
  let small = screen.width <= 640;
52
52
  let canConfirm = this.featureCount >= this.minFeatures &&
53
53
  this.featureCount <= this.maxFeatures;
54
- return (h("ion-toolbar", { color: this.color }, h("ion-title", null, this.label), h("ion-buttons", { slot: "end" }, h("ion-button", { onClick: this.callCancel }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "close" }), small ? null : this.cancelText), h("ion-button", { onClick: canConfirm ? this.callConfirm : undefined, disabled: !canConfirm }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "checkmark" }), small ? null : this.confirmText))));
54
+ return (h("ion-toolbar", { color: this.color }, h("ion-title", null, this.label), h("ion-buttons", { slot: "end" }, h("ion-button", { onClick: this.callCancel, "aria-label": this.cancelText }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "close", "aria-hidden": "true" }), small ? null : this.cancelText), h("ion-button", { onClick: canConfirm ? this.callConfirm : undefined, disabled: !canConfirm, "aria-label": this.confirmText }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "checkmark", "aria-hidden": "true" }), small ? null : this.confirmText))));
55
55
  }
56
56
  static get is() { return "gl-draw-toolbar"; }
57
57
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"draw-toolbar.js","sourceRoot":"","sources":["../../../src/components/draw-toolbar/draw-toolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n h,\n Component,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n} from \"@stencil/core\";\nimport { Color } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-draw-toolbar\",\n})\nexport class DrawToolbar {\n /**\n * Emitted when the user cancels the draw session.\n */\n @Event() glDrawCancel: EventEmitter;\n\n /**\n * Emitted when the user confirms the drawn features.\n */\n @Event() glDrawConfirm: EventEmitter;\n\n @State() visible: boolean = false;\n @State() featureCount = 0;\n\n /**\n * Text for the cancel button.\n */\n @Prop() readonly cancelText: string = _t(\"webmapgl.draw-toolbar.cancel\");\n\n /**\n * Background color for the toolbar.\n */\n @Prop() readonly color: Color = \"primary\";\n\n /**\n * Text for the confirm button.\n */\n @Prop() readonly confirmText: string = _t(\"webmapgl.draw-toolbar.confirm\");\n\n /**\n * Label for the toolbar.\n */\n @Prop() readonly label: string = _t(\"webmapgl.draw-toolbar.label\");\n\n /**\n * ID of the map with the drawing session.\n *\n * This defaults to the empty string as when a gl-map element is created without an id, the mapId passed along the glDraw events defaults to the empty string.\n */\n @Prop() readonly mapId: string = \"\";\n\n /**\n * Maximum number of features the user can draw.\n */\n @Prop() readonly maxFeatures: number = 1;\n\n /**\n * Minimum number of features the user must draw before confirming.\n */\n @Prop() readonly minFeatures: number = 1;\n\n @Listen(\"glDrawEnter\", { target: \"body\" })\n handleDrawEnter(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.featureCount = 0;\n this.visible = true;\n }\n\n @Listen(\"glDrawExit\", { target: \"body\" })\n handleDrawExit(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.visible = false;\n }\n\n @Listen(\"glDrawCreate\", { target: \"body\" })\n handleDrawCreate(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.featureCount += 1;\n }\n\n @Listen(\"glDrawDelete\", { target: \"body\" })\n handleDrawDelete(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.featureCount -= 1;\n }\n\n private cancel() {\n this.glDrawCancel.emit({\n mapId: this.mapId,\n });\n }\n\n private confirm() {\n this.glDrawConfirm.emit({\n mapId: this.mapId,\n });\n }\n\n private callCancel = () => this.cancel();\n private callConfirm = () => this.confirm();\n\n render() {\n if (!this.visible) return;\n\n let small = screen.width <= 640;\n let canConfirm =\n this.featureCount >= this.minFeatures &&\n this.featureCount <= this.maxFeatures;\n return (\n <ion-toolbar color={this.color}>\n <ion-title>{this.label}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button onClick={this.callCancel}>\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"close\"\n ></ion-icon>\n {small ? null : this.cancelText}\n </ion-button>\n <ion-button\n onClick={canConfirm ? this.callConfirm : undefined}\n disabled={!canConfirm}\n >\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"checkmark\"\n ></ion-icon>\n {small ? null : this.confirmText}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"draw-toolbar.js","sourceRoot":"","sources":["../../../src/components/draw-toolbar/draw-toolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n h,\n Component,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State\n} from \"@stencil/core\";\nimport { Color } from \"@ionic/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-draw-toolbar\"\n})\nexport class DrawToolbar {\n /**\n * Emitted when the user cancels the draw session.\n */\n @Event() glDrawCancel: EventEmitter;\n\n /**\n * Emitted when the user confirms the drawn features.\n */\n @Event() glDrawConfirm: EventEmitter;\n\n @State() visible: boolean = false;\n @State() featureCount = 0;\n\n /**\n * Text for the cancel button.\n */\n @Prop() readonly cancelText: string = _t(\"webmapgl.draw-toolbar.cancel\");\n\n /**\n * Background color for the toolbar.\n */\n @Prop() readonly color: Color = \"primary\";\n\n /**\n * Text for the confirm button.\n */\n @Prop() readonly confirmText: string = _t(\"webmapgl.draw-toolbar.confirm\");\n\n /**\n * Label for the toolbar.\n */\n @Prop() readonly label: string = _t(\"webmapgl.draw-toolbar.label\");\n\n /**\n * ID of the map with the drawing session.\n *\n * This defaults to the empty string as when a gl-map element is created without an id, the mapId passed along the glDraw events defaults to the empty string.\n */\n @Prop() readonly mapId: string = \"\";\n\n /**\n * Maximum number of features the user can draw.\n */\n @Prop() readonly maxFeatures: number = 1;\n\n /**\n * Minimum number of features the user must draw before confirming.\n */\n @Prop() readonly minFeatures: number = 1;\n\n @Listen(\"glDrawEnter\", { target: \"body\" })\n handleDrawEnter(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.featureCount = 0;\n this.visible = true;\n }\n\n @Listen(\"glDrawExit\", { target: \"body\" })\n handleDrawExit(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.visible = false;\n }\n\n @Listen(\"glDrawCreate\", { target: \"body\" })\n handleDrawCreate(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.featureCount += 1;\n }\n\n @Listen(\"glDrawDelete\", { target: \"body\" })\n handleDrawDelete(e: CustomEvent) {\n if (e.detail.mapId !== this.mapId) return;\n this.featureCount -= 1;\n }\n\n private cancel() {\n this.glDrawCancel.emit({\n mapId: this.mapId\n });\n }\n\n private confirm() {\n this.glDrawConfirm.emit({\n mapId: this.mapId\n });\n }\n\n private callCancel = () => this.cancel();\n private callConfirm = () => this.confirm();\n\n render() {\n if (!this.visible) return;\n\n let small = screen.width <= 640;\n let canConfirm =\n this.featureCount >= this.minFeatures &&\n this.featureCount <= this.maxFeatures;\n return (\n <ion-toolbar color={this.color}>\n <ion-title>{this.label}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button onClick={this.callCancel} aria-label={this.cancelText}>\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"close\"\n aria-hidden=\"true\"\n ></ion-icon>\n {small ? null : this.cancelText}\n </ion-button>\n <ion-button\n onClick={canConfirm ? this.callConfirm : undefined}\n disabled={!canConfirm}\n aria-label={this.confirmText}\n >\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"checkmark\"\n aria-hidden=\"true\"\n ></ion-icon>\n {small ? null : this.confirmText}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { h, Host, } from "@stencil/core";
1
+ import { h, Host } from "@stencil/core";
2
2
  import { getMap } from "../utils";
3
3
  export class Drawer {
4
4
  constructor() {
@@ -10,7 +10,7 @@ export class Drawer {
10
10
  }
11
11
  openChanged(isOpen) {
12
12
  this.glDrawerToggle.emit({
13
- open: isOpen,
13
+ open: isOpen
14
14
  });
15
15
  }
16
16
  componentDidUpdate() {
@@ -26,8 +26,8 @@ export class Drawer {
26
26
  render() {
27
27
  return (h(Host, { class: {
28
28
  "gl-drawer-closed": !this.open,
29
- "gl-drawer-open": this.open,
30
- } }, h("ion-header", null, h("ion-toolbar", null, h("ion-buttons", { slot: "start" }, h("slot", { name: "toolbar-start-buttons" })), h("ion-title", null, this.drawerTitle), h("ion-buttons", { slot: "end" }, h("slot", { name: "toolbar-end-buttons" }), h("ion-button", { title: "Close", onClick: this.closeDrawerClick }, h("ion-icon", { slot: "icon-only", name: "close" }))))), h("ion-content", null, h("slot", null))));
29
+ "gl-drawer-open": this.open
30
+ } }, h("ion-header", null, h("ion-toolbar", null, h("ion-buttons", { slot: "start" }, h("slot", { name: "toolbar-start-buttons" })), h("ion-title", null, this.drawerTitle), h("ion-buttons", { slot: "end" }, h("slot", { name: "toolbar-end-buttons" }), h("ion-button", { title: "Close", onClick: this.closeDrawerClick, "aria-label": "Close" }, h("ion-icon", { "aria-hidden": "true", slot: "icon-only", name: "close" }))))), h("ion-content", null, h("slot", null))));
31
31
  }
32
32
  static get is() { return "gl-drawer"; }
33
33
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EACT,KAAK,EAEL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMlC,MAAM,OAAO,MAAM;;IA2CT,qBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;;;;gBA3BrB,KAAK;;EAGrC,WAAW,CAAC,MAAe;IACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;MACvB,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;EACL,CAAC;EAOD,kBAAkB;IAChB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,GAAG,CAAC,SAAS,EAAE,CAAC;EAClB,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,MAAM;IACV,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;EACzB,CAAC;EAID,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;QACL,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI;QAC9B,gBAAgB,EAAE,IAAI,CAAC,IAAI;OAC5B;MAED;QACE;UACE,mBAAa,IAAI,EAAC,OAAO;YACvB,YAAM,IAAI,EAAC,uBAAuB,GAAG,CACzB;UACd,qBAAY,IAAI,CAAC,WAAW,CAAa;UACzC,mBAAa,IAAI,EAAC,KAAK;YACrB,YAAM,IAAI,EAAC,qBAAqB,GAAG;YACnC,kBAAY,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB;cACtD,gBAAU,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,GAAY,CACxC,CACD,CACF,CACH;MACb;QACE,eAAQ,CACI,CACT,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n h,\n Component,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport { getMap } from \"../utils\";\n\n@Component({\n styleUrl: \"drawer.css\",\n tag: \"gl-drawer\",\n})\nexport class Drawer {\n @State() content: string;\n\n /**\n * Title of the drawer displayed in the toolbar.\n */\n @Prop() readonly drawerTitle: string;\n\n /**\n * Map ID of the map that should be resized when the drawer is opened or closed.\n */\n @Prop() readonly mapId: string;\n\n /**\n * The drawer is currently open.\n */\n @Prop({ mutable: true }) open = false;\n\n @Watch(\"open\")\n openChanged(isOpen: boolean) {\n this.glDrawerToggle.emit({\n open: isOpen,\n });\n }\n\n /**\n * Emitted when the drawer is opened or closed.\n */\n @Event() glDrawerToggle: EventEmitter;\n\n componentDidUpdate() {\n let map = getMap(this.mapId);\n map.resizeMap();\n }\n\n /**\n * Opens the drawer if it is closed and closes the drawer if it is open\n */\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n private closeDrawerClick = () => (this.open = false);\n\n render() {\n return (\n <Host\n class={{\n \"gl-drawer-closed\": !this.open,\n \"gl-drawer-open\": this.open,\n }}\n >\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n <slot name=\"toolbar-start-buttons\" />\n </ion-buttons>\n <ion-title>{this.drawerTitle}</ion-title>\n <ion-buttons slot=\"end\">\n <slot name=\"toolbar-end-buttons\" />\n <ion-button title=\"Close\" onClick={this.closeDrawerClick}>\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <slot />\n </ion-content>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EACT,KAAK,EAEL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMlC,MAAM,OAAO,MAAM;;IA2CT,qBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;;;;gBA3BrB,KAAK;;EAGrC,WAAW,CAAC,MAAe;IACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;MACvB,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;EACL,CAAC;EAOD,kBAAkB;IAChB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,GAAG,CAAC,SAAS,EAAE,CAAC;EAClB,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,MAAM;IACV,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;EACzB,CAAC;EAID,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;QACL,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI;QAC9B,gBAAgB,EAAE,IAAI,CAAC,IAAI;OAC5B;MAED;QACE;UACE,mBAAa,IAAI,EAAC,OAAO;YACvB,YAAM,IAAI,EAAC,uBAAuB,GAAG,CACzB;UACd,qBAAY,IAAI,CAAC,WAAW,CAAa;UACzC,mBAAa,IAAI,EAAC,KAAK;YACrB,YAAM,IAAI,EAAC,qBAAqB,GAAG;YACnC,kBACE,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBACnB,OAAO;cAElB,+BACc,MAAM,EAClB,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,OAAO,GACF,CACD,CACD,CACF,CACH;MACb;QACE,eAAQ,CACI,CACT,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n h,\n Component,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n Host\n} from \"@stencil/core\";\nimport { getMap } from \"../utils\";\n\n@Component({\n styleUrl: \"drawer.css\",\n tag: \"gl-drawer\"\n})\nexport class Drawer {\n @State() content: string;\n\n /**\n * Title of the drawer displayed in the toolbar.\n */\n @Prop() readonly drawerTitle: string;\n\n /**\n * Map ID of the map that should be resized when the drawer is opened or closed.\n */\n @Prop() readonly mapId: string;\n\n /**\n * The drawer is currently open.\n */\n @Prop({ mutable: true }) open = false;\n\n @Watch(\"open\")\n openChanged(isOpen: boolean) {\n this.glDrawerToggle.emit({\n open: isOpen\n });\n }\n\n /**\n * Emitted when the drawer is opened or closed.\n */\n @Event() glDrawerToggle: EventEmitter;\n\n componentDidUpdate() {\n let map = getMap(this.mapId);\n map.resizeMap();\n }\n\n /**\n * Opens the drawer if it is closed and closes the drawer if it is open\n */\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n private closeDrawerClick = () => (this.open = false);\n\n render() {\n return (\n <Host\n class={{\n \"gl-drawer-closed\": !this.open,\n \"gl-drawer-open\": this.open\n }}\n >\n <ion-header>\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n <slot name=\"toolbar-start-buttons\" />\n </ion-buttons>\n <ion-title>{this.drawerTitle}</ion-title>\n <ion-buttons slot=\"end\">\n <slot name=\"toolbar-end-buttons\" />\n <ion-button\n title=\"Close\"\n onClick={this.closeDrawerClick}\n aria-label=\"Close\"\n >\n <ion-icon\n aria-hidden=\"true\"\n slot=\"icon-only\"\n name=\"close\"\n ></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <slot />\n </ion-content>\n </Host>\n );\n }\n}\n"]}
@@ -16,7 +16,7 @@ export class DrawerToggle {
16
16
  this.drawer.open = !this.drawer.open;
17
17
  }
18
18
  render() {
19
- return (h("ion-button", { onClick: this.clickToggle, title: this.buttonTitle, disabled: this.disabled }, h("ion-icon", { slot: "icon-only", name: this.icon })));
19
+ return (h("ion-button", { onClick: this.clickToggle, title: this.buttonTitle, disabled: this.disabled, "aria-label": this.buttonTitle }, h("ion-icon", { "aria-hidden": "true", slot: "icon-only", name: this.icon })));
20
20
  }
21
21
  static get is() { return "gl-drawer-toggle"; }
22
22
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-toggle.js","sourceRoot":"","sources":["../../../src/components/drawer-toggle/drawer-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C,MAAM,OAAO,YAAY;;IA6Bf,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBArBhB,UAAU;uBAKH,EAAE,CAAC,8BAA8B,CAAC;oBAKpC,KAAK;;EAE1C,KAAK,CAAC,iBAAiB;IACrB,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;MAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;EACzD,CAAC;EAEO,YAAY;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;EACvC,CAAC;EAID,MAAM;IACJ,OAAO,CACL,kBACE,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;MAEvB,gBAAU,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAC5C,CACd,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Prop } from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\nimport { findOrCreateOnReady } from \"../utils\";\n\n@Component({\n tag: \"gl-drawer-toggle\",\n})\nexport class DrawerToggle {\n private drawer: HTMLGlDrawerElement;\n\n @Element() el: HTMLGlDrawerToggleElement;\n\n /**\n * Icon to display in the button.\n */\n @Prop() readonly icon: string = \"settings\";\n\n /**\n * Text to display in the button.\n */\n @Prop() readonly buttonTitle: string = _t(\"webmapgl.drawer-toggle.label\");\n\n /**\n * Whether the button is enabled\n */\n @Prop() readonly disabled: boolean = false;\n\n async componentWillLoad() {\n if (this.drawer == undefined)\n this.drawer = await findOrCreateOnReady(\"gl-drawer\");\n }\n\n private toggleDrawer() {\n this.drawer.open = !this.drawer.open;\n }\n\n private clickToggle = () => this.toggleDrawer();\n\n render() {\n return (\n <ion-button\n onClick={this.clickToggle}\n title={this.buttonTitle}\n disabled={this.disabled}\n >\n <ion-icon slot=\"icon-only\" name={this.icon}></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"drawer-toggle.js","sourceRoot":"","sources":["../../../src/components/drawer-toggle/drawer-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C,MAAM,OAAO,YAAY;;IA6Bf,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBArBhB,UAAU;uBAKH,EAAE,CAAC,8BAA8B,CAAC;oBAKpC,KAAK;;EAE1C,KAAK,CAAC,iBAAiB;IACrB,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;MAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;EACzD,CAAC;EAEO,YAAY;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;EACvC,CAAC;EAID,MAAM;IACJ,OAAO,CACL,kBACE,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,gBACX,IAAI,CAAC,WAAW;MAE5B,+BACc,MAAM,EAClB,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,GACL,CACD,CACd,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Prop } from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\nimport { findOrCreateOnReady } from \"../utils\";\n\n@Component({\n tag: \"gl-drawer-toggle\"\n})\nexport class DrawerToggle {\n private drawer: HTMLGlDrawerElement;\n\n @Element() el: HTMLGlDrawerToggleElement;\n\n /**\n * Icon to display in the button.\n */\n @Prop() readonly icon: string = \"settings\";\n\n /**\n * Text to display in the button.\n */\n @Prop() readonly buttonTitle: string = _t(\"webmapgl.drawer-toggle.label\");\n\n /**\n * Whether the button is enabled\n */\n @Prop() readonly disabled: boolean = false;\n\n async componentWillLoad() {\n if (this.drawer == undefined)\n this.drawer = await findOrCreateOnReady(\"gl-drawer\");\n }\n\n private toggleDrawer() {\n this.drawer.open = !this.drawer.open;\n }\n\n private clickToggle = () => this.toggleDrawer();\n\n render() {\n return (\n <ion-button\n onClick={this.clickToggle}\n title={this.buttonTitle}\n disabled={this.disabled}\n aria-label={this.buttonTitle}\n >\n <ion-icon\n aria-hidden=\"true\"\n slot=\"icon-only\"\n name={this.icon}\n ></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
@@ -183,7 +183,7 @@ export class FeatureList {
183
183
  },
184
184
  "limitedGeometry": {
185
185
  "location": "local",
186
- "path": "/var/home/fj44404@co.champaign.il.us/.local/code/webmapgl/src/components/feature-list/feature-list.tsx",
186
+ "path": "/run/host/var/home/fj44404@co.champaign.il.us/.local/code/webmapgl/src/components/feature-list/feature-list.tsx",
187
187
  "id": "src/components/feature-list/feature-list.tsx::limitedGeometry"
188
188
  }
189
189
  }
@@ -1,4 +1,4 @@
1
- import { h, Host, } from "@stencil/core";
1
+ import { h, Host } from "@stencil/core";
2
2
  import { _t } from "../i18n/i18n";
3
3
  export class FormPage {
4
4
  constructor() {
@@ -53,7 +53,7 @@ export class FormPage {
53
53
  }
54
54
  render() {
55
55
  let small = screen.width <= 640;
56
- return (h(Host, { class: `gl-form-page-facet-${this.formFacet || "none"}` }, h("ion-header", null, h("ion-toolbar", { color: "primary" }, !this.root ? (h("ion-buttons", { slot: "start" }, h("ion-nav-pop", null, h("ion-button", null, h("ion-icon", { slot: small ? "icon-only" : "start", name: "arrow-back" }), small ? null : this.backText)))) : null, h("ion-title", null, this.label), h("ion-buttons", { slot: "end" }, h("ion-button", { onClick: this.clickCancel }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "close" }), small ? null : this.cancelText), h("ion-button", { onClick: this.clickSubmit, disabled: !this.canSubmit }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "checkmark" }), small ? null : this.submitText)))), h("ion-content", null, h("ion-list", null, this.renderFacets(), this.renderFields()))));
56
+ return (h(Host, { class: `gl-form-page-facet-${this.formFacet || "none"}` }, h("ion-header", null, h("ion-toolbar", { color: "primary" }, !this.root ? (h("ion-buttons", { slot: "start" }, h("ion-nav-pop", null, h("ion-button", { "aria-label": "Back" }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "arrow-back", "aria-hidden": "true" }), small ? null : this.backText)))) : null, h("ion-title", null, this.label), h("ion-buttons", { slot: "end" }, h("ion-button", { onClick: this.clickCancel }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "close", "aria-hidden": "true" }), small ? null : this.cancelText), h("ion-button", { onClick: this.clickSubmit, disabled: !this.canSubmit, "aria-label": "Submit" }, h("ion-icon", { slot: small ? "icon-only" : "start", name: "checkmark", "aria-hidden": "true" }), small ? null : this.submitText)))), h("ion-content", null, h("ion-list", null, this.renderFacets(), this.renderFields()))));
57
57
  }
58
58
  static get is() { return "gl-form-page"; }
59
59
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"form-page.js","sourceRoot":"","sources":["../../../src/components/form-page/form-page.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n h,\n Component,\n Element,\n Listen,\n Prop,\n State,\n Host,\n} from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n styleUrl: \"form-page.css\",\n tag: \"gl-form-page\",\n})\nexport class FormPage {\n @Element() el: HTMLGlFormPageElement;\n\n @State() canSubmit = false;\n\n /**\n * Text for the back button.\n */\n @Prop() readonly backText: string = _t(\"webmapgl.form-page.back\");\n\n /**\n * Facets for the page.\n */\n @Prop() readonly facets: any[];\n\n /**\n * Fields for the page.\n */\n @Prop() readonly fields: any[];\n\n /**\n * Currently-selected facet. It is used the set the CSS class of the page.\n */\n @Prop() readonly formFacet: string;\n\n /**\n * Label text displayed in the form toolbar.\n */\n @Prop() readonly label: string;\n\n /**\n * This is the root page in the form. If it is `true`, the back button\n * is not displayed.\n */\n @Prop() readonly root: boolean = false;\n\n /**\n * Text for the submit button.\n */\n @Prop() readonly submitText: string = _t(\"webmapgl.form-page.submit\");\n\n /**\n * Text for the cancel button.\n */\n @Prop() readonly cancelText: string = _t(\"webmapgl.form-page.cancel\");\n\n componentDidLoad() {\n this.updateValidationStatus();\n }\n\n @Listen(\"glFormFeatureChanged\", { target: \"body\" })\n async updateValidationStatus() {\n if (this.el.querySelectorAll(\"gl-field\").length === 0) {\n this.canSubmit = false;\n } else {\n this.canSubmit = (await this.validate()).length === 0;\n }\n }\n\n private async validate() {\n let messages = await Promise.all(\n Array.from(this.el.querySelectorAll(\"gl-field\")).map(\n async (field) => await field.validate(),\n ),\n );\n\n return messages.filter((message) => message != null);\n }\n\n private cancel() {\n const form = this.el.closest(\"gl-form\");\n form.cancel();\n }\n\n private submit() {\n const form = this.el.closest(\"gl-form\");\n form.submit();\n }\n\n private renderFacets() {\n return this.facets.map((facet) => (\n <gl-facet\n label={facet.label}\n value={facet.value}\n image={facet.image}\n widget={facet.widget}\n ></gl-facet>\n ));\n }\n\n private renderFields() {\n return this.fields.map((field) => (\n <gl-field\n attribute={field.attribute}\n label={field.label}\n image={field.image}\n required={field.required}\n type={field.type}\n widget={field.widget}\n placeholder={field.placeholder}\n >\n {this.renderOptions(field.options)}\n </gl-field>\n ));\n }\n\n private renderOptions(options: any[]) {\n if (options == undefined) return;\n return options.map((option) => (\n <gl-option\n image={option.image}\n label={option.label}\n value={option.value}\n ></gl-option>\n ));\n }\n\n private clickSubmit = () => {\n if (this.canSubmit) this.submit();\n };\n\n private clickCancel = () => this.cancel();\n\n render() {\n let small = screen.width <= 640;\n return (\n <Host class={`gl-form-page-facet-${this.formFacet || \"none\"}`}>\n <ion-header>\n <ion-toolbar color=\"primary\">\n {!this.root ? (\n <ion-buttons slot=\"start\">\n <ion-nav-pop>\n <ion-button>\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"arrow-back\"\n ></ion-icon>\n {small ? null : this.backText}\n </ion-button>\n </ion-nav-pop>\n </ion-buttons>\n ) : null}\n <ion-title>{this.label}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button onClick={this.clickCancel}>\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"close\"\n ></ion-icon>\n {small ? null : this.cancelText}\n </ion-button>\n <ion-button onClick={this.clickSubmit} disabled={!this.canSubmit}>\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"checkmark\"\n ></ion-icon>\n {small ? null : this.submitText}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <ion-list>\n {this.renderFacets()}\n {this.renderFields()}\n </ion-list>\n </ion-content>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"form-page.js","sourceRoot":"","sources":["../../../src/components/form-page/form-page.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EACT,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAMlC,MAAM,OAAO,QAAQ;;IAqHX,gBAAW,GAAG,GAAG,EAAE;MACzB,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC,CAAC;IAEM,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;qBAtHrB,KAAK;oBAKU,EAAE,CAAC,yBAAyB,CAAC;;;;;gBA0BhC,KAAK;sBAKA,EAAE,CAAC,2BAA2B,CAAC;sBAK/B,EAAE,CAAC,2BAA2B,CAAC;;EAErE,gBAAgB;IACd,IAAI,CAAC,sBAAsB,EAAE,CAAC;EAChC,CAAC;EAGD,KAAK,CAAC,sBAAsB;IAC1B,IAAI,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;MACrD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;SAAM;MACL,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;KACvD;EACH,CAAC;EAEO,KAAK,CAAC,QAAQ;IACpB,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAClD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CACxC,CACF,CAAC;IAEF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;EACvD,CAAC;EAEO,MAAM;IACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;EAChB,CAAC;EAEO,MAAM;IACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;EAChB,CAAC;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,gBACE,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,GACV,CACb,CAAC,CAAC;EACL,CAAC;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,gBACE,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,KAAK,CAAC,WAAW,IAE7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CACzB,CACZ,CAAC,CAAC;EACL,CAAC;EAEO,aAAa,CAAC,OAAc;IAClC,IAAI,OAAO,IAAI,SAAS;MAAE,OAAO;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,iBACE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,GACR,CACd,CAAC,CAAC;EACL,CAAC;EAQD,MAAM;IACJ,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAChC,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,sBAAsB,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;MAC3D;QACE,mBAAa,KAAK,EAAC,SAAS;UACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,mBAAa,IAAI,EAAC,OAAO;YACvB;cACE,gCAAuB,MAAM;gBAC3B,gBACE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EACnC,IAAI,EAAC,YAAY,iBACL,MAAM,GACR;gBACX,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAClB,CACD,CACF,CACf,CAAC,CAAC,CAAC,IAAI;UACR,qBAAY,IAAI,CAAC,KAAK,CAAa;UACnC,mBAAa,IAAI,EAAC,KAAK;YACrB,kBAAY,OAAO,EAAE,IAAI,CAAC,WAAW;cACnC,gBACE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EACnC,IAAI,EAAC,OAAO,iBACA,MAAM,GACR;cACX,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CACpB;YACb,kBACE,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,gBACd,QAAQ;cAEnB,gBACE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EACnC,IAAI,EAAC,WAAW,iBACJ,MAAM,GACR;cACX,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CACpB,CACD,CACF,CACH;MACb;QACE;UACG,IAAI,CAAC,YAAY,EAAE;UACnB,IAAI,CAAC,YAAY,EAAE,CACX,CACC,CACT,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n h,\n Component,\n Element,\n Listen,\n Prop,\n State,\n Host\n} from \"@stencil/core\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n styleUrl: \"form-page.css\",\n tag: \"gl-form-page\"\n})\nexport class FormPage {\n @Element() el: HTMLGlFormPageElement;\n\n @State() canSubmit = false;\n\n /**\n * Text for the back button.\n */\n @Prop() readonly backText: string = _t(\"webmapgl.form-page.back\");\n\n /**\n * Facets for the page.\n */\n @Prop() readonly facets: any[];\n\n /**\n * Fields for the page.\n */\n @Prop() readonly fields: any[];\n\n /**\n * Currently-selected facet. It is used the set the CSS class of the page.\n */\n @Prop() readonly formFacet: string;\n\n /**\n * Label text displayed in the form toolbar.\n */\n @Prop() readonly label: string;\n\n /**\n * This is the root page in the form. If it is `true`, the back button\n * is not displayed.\n */\n @Prop() readonly root: boolean = false;\n\n /**\n * Text for the submit button.\n */\n @Prop() readonly submitText: string = _t(\"webmapgl.form-page.submit\");\n\n /**\n * Text for the cancel button.\n */\n @Prop() readonly cancelText: string = _t(\"webmapgl.form-page.cancel\");\n\n componentDidLoad() {\n this.updateValidationStatus();\n }\n\n @Listen(\"glFormFeatureChanged\", { target: \"body\" })\n async updateValidationStatus() {\n if (this.el.querySelectorAll(\"gl-field\").length === 0) {\n this.canSubmit = false;\n } else {\n this.canSubmit = (await this.validate()).length === 0;\n }\n }\n\n private async validate() {\n let messages = await Promise.all(\n Array.from(this.el.querySelectorAll(\"gl-field\")).map(\n async (field) => await field.validate()\n )\n );\n\n return messages.filter((message) => message != null);\n }\n\n private cancel() {\n const form = this.el.closest(\"gl-form\");\n form.cancel();\n }\n\n private submit() {\n const form = this.el.closest(\"gl-form\");\n form.submit();\n }\n\n private renderFacets() {\n return this.facets.map((facet) => (\n <gl-facet\n label={facet.label}\n value={facet.value}\n image={facet.image}\n widget={facet.widget}\n ></gl-facet>\n ));\n }\n\n private renderFields() {\n return this.fields.map((field) => (\n <gl-field\n attribute={field.attribute}\n label={field.label}\n image={field.image}\n required={field.required}\n type={field.type}\n widget={field.widget}\n placeholder={field.placeholder}\n >\n {this.renderOptions(field.options)}\n </gl-field>\n ));\n }\n\n private renderOptions(options: any[]) {\n if (options == undefined) return;\n return options.map((option) => (\n <gl-option\n image={option.image}\n label={option.label}\n value={option.value}\n ></gl-option>\n ));\n }\n\n private clickSubmit = () => {\n if (this.canSubmit) this.submit();\n };\n\n private clickCancel = () => this.cancel();\n\n render() {\n let small = screen.width <= 640;\n return (\n <Host class={`gl-form-page-facet-${this.formFacet || \"none\"}`}>\n <ion-header>\n <ion-toolbar color=\"primary\">\n {!this.root ? (\n <ion-buttons slot=\"start\">\n <ion-nav-pop>\n <ion-button aria-label=\"Back\">\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"arrow-back\"\n aria-hidden=\"true\"\n ></ion-icon>\n {small ? null : this.backText}\n </ion-button>\n </ion-nav-pop>\n </ion-buttons>\n ) : null}\n <ion-title>{this.label}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button onClick={this.clickCancel}>\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"close\"\n aria-hidden=\"true\"\n ></ion-icon>\n {small ? null : this.cancelText}\n </ion-button>\n <ion-button\n onClick={this.clickSubmit}\n disabled={!this.canSubmit}\n aria-label=\"Submit\"\n >\n <ion-icon\n slot={small ? \"icon-only\" : \"start\"}\n name=\"checkmark\"\n aria-hidden=\"true\"\n ></ion-icon>\n {small ? null : this.submitText}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n <ion-content>\n <ion-list>\n {this.renderFacets()}\n {this.renderFields()}\n </ion-list>\n </ion-content>\n </Host>\n );\n }\n}\n"]}
@@ -17,7 +17,7 @@ export class Fullscreen {
17
17
  ? _t("webmapgl.fullscreen.exit")
18
18
  : _t("webmapgl.fullscreen.enter");
19
19
  if (screenfull.isEnabled)
20
- return (h("ion-button", { onClick: this.clickToggle, title: title }, h("ion-icon", { slot: "icon-only", name: this.fullscreen ? "contract" : "expand" })));
20
+ return (h("ion-button", { onClick: this.clickToggle, title: title, "aria-label": title }, h("ion-icon", { slot: "icon-only", name: this.fullscreen ? "contract" : "expand", "aria-hidden": "true" })));
21
21
  }
22
22
  static get is() { return "gl-fullscreen"; }
23
23
  static get states() {
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen.js","sourceRoot":"","sources":["../../../src/components/fullscreen/fullscreen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,UAAU;;IAWb,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;sBAV9B,KAAK;;EAE3B,gBAAgB;IACd,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;EAC7E,CAAC;EAEO,gBAAgB;IACtB,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;EACrE,CAAC;EAID,MAAM;IACJ,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU;MACzB,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC;MAChC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,SAAS;MACtB,OAAO,CACL,kBAAY,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK;QACjD,gBACE,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GACnC,CACD,CACd,CAAC;EACN,CAAC;;;;;CACF","sourcesContent":["import { h, Component, State } from \"@stencil/core\";\nimport screenfull from \"screenfull\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-fullscreen\",\n})\nexport class Fullscreen {\n @State() fullscreen = false;\n\n componentDidLoad() {\n screenfull.on(\"change\", () => (this.fullscreen = screenfull.isFullscreen));\n }\n\n private toggleFullscreen() {\n screenfull.isFullscreen ? screenfull.exit() : screenfull.request();\n }\n\n private clickToggle = () => this.toggleFullscreen();\n\n render() {\n let title = this.fullscreen\n ? _t(\"webmapgl.fullscreen.exit\")\n : _t(\"webmapgl.fullscreen.enter\");\n if (screenfull.isEnabled)\n return (\n <ion-button onClick={this.clickToggle} title={title}>\n <ion-icon\n slot=\"icon-only\"\n name={this.fullscreen ? \"contract\" : \"expand\"}\n ></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"fullscreen.js","sourceRoot":"","sources":["../../../src/components/fullscreen/fullscreen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAKlC,MAAM,OAAO,UAAU;;IAWb,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;sBAV9B,KAAK;;EAE3B,gBAAgB;IACd,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;EAC7E,CAAC;EAEO,gBAAgB;IACtB,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;EACrE,CAAC;EAID,MAAM;IACJ,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU;MACzB,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC;MAChC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,SAAS;MACtB,OAAO,CACL,kBAAY,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,gBAAc,KAAK;QACpE,gBACE,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,iBACjC,MAAM,GACR,CACD,CACd,CAAC;EACN,CAAC;;;;;CACF","sourcesContent":["import { h, Component, State } from \"@stencil/core\";\nimport screenfull from \"screenfull\";\nimport { _t } from \"../i18n/i18n\";\n\n@Component({\n tag: \"gl-fullscreen\"\n})\nexport class Fullscreen {\n @State() fullscreen = false;\n\n componentDidLoad() {\n screenfull.on(\"change\", () => (this.fullscreen = screenfull.isFullscreen));\n }\n\n private toggleFullscreen() {\n screenfull.isFullscreen ? screenfull.exit() : screenfull.request();\n }\n\n private clickToggle = () => this.toggleFullscreen();\n\n render() {\n let title = this.fullscreen\n ? _t(\"webmapgl.fullscreen.exit\")\n : _t(\"webmapgl.fullscreen.enter\");\n if (screenfull.isEnabled)\n return (\n <ion-button onClick={this.clickToggle} title={title} aria-label={title}>\n <ion-icon\n slot=\"icon-only\"\n name={this.fullscreen ? \"contract\" : \"expand\"}\n aria-hidden=\"true\"\n ></ion-icon>\n </ion-button>\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { h, } from "@stencil/core";
1
+ import { h } from "@stencil/core";
2
2
  import { toArray } from "../utils";
3
3
  export class LegendItem {
4
4
  constructor() {
@@ -76,7 +76,7 @@ export class LegendItem {
76
76
  content.push(h("ion-thumbnail", { slot: "start" }, h("img", { src: this.image, alt: this.el.textContent })));
77
77
  content.push(h("ion-label", null, h("slot", null)));
78
78
  if (this.toggle)
79
- content.push(h("ion-toggle", { slot: "end", checked: this.visible, onIonChange: this.onToggle }));
79
+ content.push(h("ion-toggle", { slot: "end", checked: this.visible, onIonChange: this.onToggle, "aria-label": "Toggle Layer" }));
80
80
  if (this.widget === "divider")
81
81
  return h("ion-item-divider", null, content);
82
82
  return h("ion-item", null, content);