ogm-viewer 0.3.0 → 0.4.0

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 (197) hide show
  1. package/dist/cjs/{index-CVTUnaNg.js → index-mu9UK_Fb.js} +66 -3
  2. package/dist/cjs/{lerc-TQEssgMv.js → lerc-CT61sKYw.js} +7 -7
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-settings.ogm-sidebar.ogm-viewer-ifPxRNEo.js → ogm-attributes.ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-previews.ogm-settings.ogm-sidebar.ogm-viewer-DKxSOrMP.js} +13640 -7139
  5. package/dist/cjs/ogm-attributes_9.cjs.entry.js +16 -0
  6. package/dist/cjs/ogm-viewer.cjs.js +2 -2
  7. package/dist/collection/assets/webawesome/styles/color/palettes/base.css +44 -0
  8. package/dist/collection/assets/webawesome/styles/color/palettes/bright.css +145 -0
  9. package/dist/collection/assets/webawesome/styles/color/palettes/default.css +146 -0
  10. package/dist/collection/assets/webawesome/styles/color/palettes/shoelace.css +146 -0
  11. package/dist/collection/assets/webawesome/styles/color/variants/brand.css +162 -0
  12. package/dist/collection/assets/webawesome/styles/color/variants/danger.css +162 -0
  13. package/dist/collection/assets/webawesome/styles/color/variants/neutral.css +162 -0
  14. package/dist/collection/assets/webawesome/styles/color/variants/success.css +162 -0
  15. package/dist/collection/assets/webawesome/styles/color/variants/warning.css +162 -0
  16. package/dist/collection/assets/webawesome/styles/color/variants.css +5 -0
  17. package/dist/collection/assets/webawesome/styles/component/form-control.styles.d.ts +2 -0
  18. package/dist/collection/assets/webawesome/styles/component/form-control.styles.ts +43 -0
  19. package/dist/collection/assets/webawesome/styles/component/host.styles.d.ts +2 -0
  20. package/dist/collection/assets/webawesome/styles/component/host.styles.ts +18 -0
  21. package/dist/collection/assets/webawesome/styles/component/segmented-field.styles.d.ts +19 -0
  22. package/dist/collection/assets/webawesome/styles/component/segmented-field.styles.ts +92 -0
  23. package/dist/collection/assets/webawesome/styles/component/size.styles.d.ts +2 -0
  24. package/dist/collection/assets/webawesome/styles/component/size.styles.ts +26 -0
  25. package/dist/collection/assets/webawesome/styles/component/variants.styles.d.ts +2 -0
  26. package/dist/collection/assets/webawesome/styles/component/variants.styles.ts +69 -0
  27. package/dist/collection/assets/webawesome/styles/component/visually-hidden.styles.d.ts +2 -0
  28. package/dist/collection/assets/webawesome/styles/component/visually-hidden.styles.ts +19 -0
  29. package/dist/collection/assets/webawesome/styles/layers.css +21 -0
  30. package/dist/collection/assets/webawesome/styles/native.css +1439 -0
  31. package/dist/collection/assets/webawesome/styles/themes/awesome.css +614 -0
  32. package/dist/collection/assets/webawesome/styles/themes/default.css +373 -0
  33. package/dist/collection/assets/webawesome/styles/themes/shoelace.css +648 -0
  34. package/dist/collection/assets/webawesome/styles/utilities/align-items.css +44 -0
  35. package/dist/collection/assets/webawesome/styles/utilities/border-radius.css +20 -0
  36. package/dist/collection/assets/webawesome/styles/utilities/flex-wrap.css +16 -0
  37. package/dist/collection/assets/webawesome/styles/utilities/fouce.css +17 -0
  38. package/dist/collection/assets/webawesome/styles/utilities/gap.css +56 -0
  39. package/dist/collection/assets/webawesome/styles/utilities/justify-content.css +32 -0
  40. package/dist/collection/assets/webawesome/styles/utilities/layout.css +159 -0
  41. package/dist/collection/assets/webawesome/styles/utilities/placeholder.css +9 -0
  42. package/dist/collection/assets/webawesome/styles/utilities/prose.css +161 -0
  43. package/dist/collection/assets/webawesome/styles/utilities/scroll-lock.css +20 -0
  44. package/dist/collection/assets/webawesome/styles/utilities/size.css +21 -0
  45. package/dist/collection/assets/webawesome/styles/utilities/text.css +262 -0
  46. package/dist/collection/assets/webawesome/styles/utilities/variants.css +62 -0
  47. package/dist/collection/assets/webawesome/styles/utilities/visually-hidden.css +17 -0
  48. package/dist/collection/assets/webawesome/styles/utilities.css +17 -0
  49. package/dist/collection/assets/webawesome/styles/webawesome.css +11 -0
  50. package/dist/collection/collection-manifest.json +2 -0
  51. package/dist/collection/components/ogm-attributes/ogm-attributes.css +68 -0
  52. package/dist/collection/components/ogm-attributes/ogm-attributes.js +112 -0
  53. package/dist/collection/components/ogm-image/ogm-image.css +1 -1
  54. package/dist/collection/components/ogm-image/ogm-image.js +16 -18
  55. package/dist/collection/components/ogm-map/ogm-map.css +10 -5
  56. package/dist/collection/components/ogm-map/ogm-map.js +170 -86
  57. package/dist/collection/components/ogm-menubar/ogm-menubar.css +16 -14
  58. package/dist/collection/components/ogm-menubar/ogm-menubar.js +3 -5
  59. package/dist/collection/components/ogm-menubar/ogm-menubar.test.js +7 -3
  60. package/dist/collection/components/ogm-metadata/ogm-metadata.css +6 -492
  61. package/dist/collection/components/ogm-metadata/ogm-metadata.js +3 -5
  62. package/dist/collection/components/ogm-metadata/ogm-metadata.test.js +1 -1
  63. package/dist/collection/components/ogm-previews/ogm-previews.css +44 -0
  64. package/dist/collection/components/ogm-previews/ogm-previews.js +172 -0
  65. package/dist/collection/components/ogm-settings/ogm-settings.js +7 -9
  66. package/dist/collection/components/ogm-sidebar/ogm-sidebar.css +50 -503
  67. package/dist/collection/components/ogm-sidebar/ogm-sidebar.js +8 -12
  68. package/dist/collection/components/ogm-viewer/ogm-viewer.css +4 -974
  69. package/dist/collection/components/ogm-viewer/ogm-viewer.js +41 -25
  70. package/dist/collection/lib/previewers/cog-deck.js +14 -9
  71. package/dist/collection/lib/previewers/cog.js +3 -3
  72. package/dist/collection/lib/previewers/geojson.js +3 -2
  73. package/dist/collection/lib/previewers/maplibre.js +9 -15
  74. package/dist/collection/lib/previewers/pmtiles-raster.js +1 -1
  75. package/dist/collection/lib/previewers/pmtiles-vector.js +7 -1
  76. package/dist/collection/lib/previewers/raster.js +1 -1
  77. package/dist/collection/lib/previewers/vector.js +65 -30
  78. package/dist/collection/lib/previewers/wms.js +1 -1
  79. package/dist/collection/lib/record.js +1 -1
  80. package/dist/collection/lib/record.test.js +1 -1
  81. package/dist/collection/lib/references.js +0 -65
  82. package/dist/collection/lib/references.test.js +0 -150
  83. package/dist/collection/lib/sources/cog.js +5 -2
  84. package/dist/collection/lib/sources/geojson.js +7 -1
  85. package/dist/collection/lib/sources/iiif-manifest.js +55 -0
  86. package/dist/collection/lib/sources/iiif-manifest.test.js +110 -0
  87. package/dist/collection/lib/sources/iiif.js +11 -0
  88. package/dist/collection/lib/sources/maplibre.js +8 -0
  89. package/dist/collection/lib/sources/openindexmap.js +3 -0
  90. package/dist/collection/lib/sources/pmtiles.js +10 -4
  91. package/dist/collection/lib/sources/raster.js +3 -3
  92. package/dist/collection/lib/sources/source.js +26 -7
  93. package/dist/collection/lib/sources/tilejson.js +7 -1
  94. package/dist/collection/lib/sources/tms.js +3 -0
  95. package/dist/collection/lib/sources/vector.js +3 -3
  96. package/dist/collection/lib/sources/wms.js +6 -11
  97. package/dist/collection/lib/sources/xyz.js +3 -0
  98. package/dist/collection/lib/themes/maplibre.js +46 -0
  99. package/dist/collection/lib/themes/theme.js +23 -0
  100. package/dist/esm/{index-BdFT_kJa.js → index-DTLAlWKQ.js} +66 -3
  101. package/dist/esm/{lerc-DFDScDrO.js → lerc-Bz409klg.js} +2 -2
  102. package/dist/esm/loader.js +3 -3
  103. package/dist/esm/{ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-settings.ogm-sidebar.ogm-viewer-r5w_49n3.js → ogm-attributes.ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-previews.ogm-settings.ogm-sidebar.ogm-viewer-C9zV3wMe.js} +13639 -7140
  104. package/dist/esm/ogm-attributes_9.entry.js +2 -0
  105. package/dist/esm/ogm-viewer.js +3 -3
  106. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/base.css +44 -0
  107. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/bright.css +145 -0
  108. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/default.css +146 -0
  109. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/shoelace.css +146 -0
  110. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/brand.css +162 -0
  111. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/danger.css +162 -0
  112. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/neutral.css +162 -0
  113. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/success.css +162 -0
  114. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/warning.css +162 -0
  115. package/dist/ogm-viewer/assets/webawesome/styles/color/variants.css +5 -0
  116. package/dist/ogm-viewer/assets/webawesome/styles/component/form-control.styles.d.ts +2 -0
  117. package/dist/ogm-viewer/assets/webawesome/styles/component/form-control.styles.ts +43 -0
  118. package/dist/ogm-viewer/assets/webawesome/styles/component/host.styles.d.ts +2 -0
  119. package/dist/ogm-viewer/assets/webawesome/styles/component/host.styles.ts +18 -0
  120. package/dist/ogm-viewer/assets/webawesome/styles/component/segmented-field.styles.d.ts +19 -0
  121. package/dist/ogm-viewer/assets/webawesome/styles/component/segmented-field.styles.ts +92 -0
  122. package/dist/ogm-viewer/assets/webawesome/styles/component/size.styles.d.ts +2 -0
  123. package/dist/ogm-viewer/assets/webawesome/styles/component/size.styles.ts +26 -0
  124. package/dist/ogm-viewer/assets/webawesome/styles/component/variants.styles.d.ts +2 -0
  125. package/dist/ogm-viewer/assets/webawesome/styles/component/variants.styles.ts +69 -0
  126. package/dist/ogm-viewer/assets/webawesome/styles/component/visually-hidden.styles.d.ts +2 -0
  127. package/dist/ogm-viewer/assets/webawesome/styles/component/visually-hidden.styles.ts +19 -0
  128. package/dist/ogm-viewer/assets/webawesome/styles/layers.css +21 -0
  129. package/dist/ogm-viewer/assets/webawesome/styles/native.css +1439 -0
  130. package/dist/ogm-viewer/assets/webawesome/styles/themes/awesome.css +614 -0
  131. package/dist/ogm-viewer/assets/webawesome/styles/themes/default.css +373 -0
  132. package/dist/ogm-viewer/assets/webawesome/styles/themes/shoelace.css +648 -0
  133. package/dist/ogm-viewer/assets/webawesome/styles/utilities/align-items.css +44 -0
  134. package/dist/ogm-viewer/assets/webawesome/styles/utilities/border-radius.css +20 -0
  135. package/dist/ogm-viewer/assets/webawesome/styles/utilities/flex-wrap.css +16 -0
  136. package/dist/ogm-viewer/assets/webawesome/styles/utilities/fouce.css +17 -0
  137. package/dist/ogm-viewer/assets/webawesome/styles/utilities/gap.css +56 -0
  138. package/dist/ogm-viewer/assets/webawesome/styles/utilities/justify-content.css +32 -0
  139. package/dist/ogm-viewer/assets/webawesome/styles/utilities/layout.css +159 -0
  140. package/dist/ogm-viewer/assets/webawesome/styles/utilities/placeholder.css +9 -0
  141. package/dist/ogm-viewer/assets/webawesome/styles/utilities/prose.css +161 -0
  142. package/dist/ogm-viewer/assets/webawesome/styles/utilities/scroll-lock.css +20 -0
  143. package/dist/ogm-viewer/assets/webawesome/styles/utilities/size.css +21 -0
  144. package/dist/ogm-viewer/assets/webawesome/styles/utilities/text.css +262 -0
  145. package/dist/ogm-viewer/assets/webawesome/styles/utilities/variants.css +62 -0
  146. package/dist/ogm-viewer/assets/webawesome/styles/utilities/visually-hidden.css +17 -0
  147. package/dist/ogm-viewer/assets/webawesome/styles/utilities.css +17 -0
  148. package/dist/ogm-viewer/assets/webawesome/styles/webawesome.css +11 -0
  149. package/dist/ogm-viewer/ogm-viewer.esm.js +1 -1
  150. package/dist/ogm-viewer/p-86b8fafc.entry.js +1 -0
  151. package/dist/ogm-viewer/{p-BeA3REDA.js → p-BrovdLv6.js} +1 -1
  152. package/dist/ogm-viewer/p-CpCT3zlD.js +2750 -0
  153. package/dist/ogm-viewer/p-DTLAlWKQ.js +2 -0
  154. package/dist/types/components/ogm-attributes/ogm-attributes.d.ts +10 -0
  155. package/dist/types/components/ogm-image/ogm-image.d.ts +3 -3
  156. package/dist/types/components/ogm-map/ogm-map.d.ts +32 -14
  157. package/dist/types/components/ogm-menubar/ogm-menubar.d.ts +1 -1
  158. package/dist/types/components/ogm-metadata/ogm-metadata.d.ts +1 -1
  159. package/dist/types/components/ogm-previews/ogm-previews.d.ts +16 -0
  160. package/dist/types/components/ogm-settings/ogm-settings.d.ts +2 -2
  161. package/dist/types/components/ogm-sidebar/ogm-sidebar.d.ts +1 -1
  162. package/dist/types/components/ogm-viewer/ogm-viewer.d.ts +10 -12
  163. package/dist/types/components.d.ts +70 -18
  164. package/dist/types/lib/previewers/cog-deck.d.ts +7 -3
  165. package/dist/types/lib/previewers/cog.d.ts +2 -2
  166. package/dist/types/lib/previewers/maplibre.d.ts +7 -9
  167. package/dist/types/lib/previewers/pmtiles-vector.d.ts +1 -0
  168. package/dist/types/lib/previewers/vector.d.ts +3 -15
  169. package/dist/types/lib/record.d.ts +1 -1
  170. package/dist/types/lib/references.d.ts +0 -8
  171. package/dist/types/lib/sources/cog.d.ts +3 -2
  172. package/dist/types/lib/sources/geojson.d.ts +3 -2
  173. package/dist/types/lib/sources/iiif-manifest.d.ts +12 -0
  174. package/dist/types/lib/sources/iiif-manifest.test.d.ts +1 -0
  175. package/dist/types/lib/sources/iiif.d.ts +5 -0
  176. package/dist/types/lib/sources/maplibre.d.ts +7 -0
  177. package/dist/types/lib/sources/openindexmap.d.ts +1 -0
  178. package/dist/types/lib/sources/pmtiles.d.ts +6 -4
  179. package/dist/types/lib/sources/raster.d.ts +3 -3
  180. package/dist/types/lib/sources/source.d.ts +6 -6
  181. package/dist/types/lib/sources/tilejson.d.ts +3 -2
  182. package/dist/types/lib/sources/tms.d.ts +1 -0
  183. package/dist/types/lib/sources/vector.d.ts +4 -5
  184. package/dist/types/lib/sources/wms.d.ts +4 -3
  185. package/dist/types/lib/sources/xyz.d.ts +1 -0
  186. package/dist/types/lib/themes/maplibre.d.ts +27 -0
  187. package/dist/types/lib/themes/theme.d.ts +7 -0
  188. package/package.json +3 -2
  189. package/dist/cjs/ogm-image_7.cjs.entry.js +0 -14
  190. package/dist/collection/lib/previewers/index.js +0 -36
  191. package/dist/collection/lib/sources/index.js +0 -29
  192. package/dist/esm/ogm-image_7.entry.js +0 -2
  193. package/dist/ogm-viewer/p-0b81e024.entry.js +0 -1
  194. package/dist/ogm-viewer/p-33R3d9fV.js +0 -1950
  195. package/dist/ogm-viewer/p-BdFT_kJa.js +0 -2
  196. package/dist/types/lib/previewers/index.d.ts +0 -3
  197. package/dist/types/lib/sources/index.d.ts +0 -3
@@ -0,0 +1,2 @@
1
+ function t(t,e,n){const o="undefined"!=typeof HTMLElement?HTMLElement.prototype:null;for(;t&&t!==o;){const o=Object.getOwnPropertyDescriptor(t,e);if(o&&(!n||o.get))return o;t=Object.getPrototypeOf(t)}}var e,n=(e,n)=>{var o;Object.entries(null!=(o=n.o.t)?o:{}).map((([o,[l]])=>{if(31&l||32&l){const l=e[o],i=t(Object.getPrototypeOf(e),o,!0)||Object.getOwnPropertyDescriptor(e,o);i&&Object.defineProperty(e,o,{get(){return i.get.call(this)},set(t){i.set.call(this,t)},configurable:!0,enumerable:!0}),n.l.has(o)?e[o]=n.l.get(o):void 0!==l&&(e[o]=l)}}))},o=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},l=(t,e)=>{e&&(t.__stencil__getHostRef=()=>e,e.i=t,512&e.o.u&&n(t,e))},i=(t,e)=>e in t,s=(t,e)=>(0,console.error)(t,e),r=new Map,c=new Map,u="undefined"!=typeof window?window:{},a={u:0,p:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,o)=>t.addEventListener(e,n,o),rel:(t,e,n,o)=>t.removeEventListener(e,n,o),ce:(t,e)=>new CustomEvent(t,e)},f=t=>Promise.resolve(t),d=(()=>{try{return!!u.document.adoptedStyleSheets&&(new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync)}catch(t){}return!1})(),p=!!d&&(()=>!!u.document&&Object.getOwnPropertyDescriptor(u.document.adoptedStyleSheets,"length").writable)(),h=!1,m=[],v=[],y=(t,e)=>n=>{t.push(n),h||(h=!0,e&&4&a.u?w($):a.raf($))},b=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){s(t)}t.length=0},$=()=>{b(m),b(v),(h=m.length>0)&&a.raf($)},w=t=>f().then(t),g=y(v,!0),j=t=>{const e=new URL(t,a.p);return e.origin!==u.location.origin?e.href:e.pathname};function O(){const t=this.attachShadow({mode:"open"});void 0===e&&(e=null),e&&(p?t.adoptedStyleSheets.push(e):t.adoptedStyleSheets=[...t.adoptedStyleSheets,e])}function S(t){var e,n,o;return null!=(o=null==(n=null==(e=t.head)?void 0:e.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}var k,E=new WeakMap,M=t=>"sc-"+t.h,C=t=>"object"==(t=typeof t)||"function"===t,x=(t,e,...n)=>{let o=null,l=null,i=!1,s=!1;const r=[],c=e=>{for(let n=0;n<e.length;n++)o=e[n],Array.isArray(o)?c(o):null!=o&&"boolean"!=typeof o&&((i="function"!=typeof t&&!C(o))&&(o+=""),i&&s?r[r.length-1].m+=o:r.push(i?L(null,o):o),s=i)};if(c(n),e){e.key&&(l=e.key);{const t=e.className||e.class;t&&(e.class="object"!=typeof t?t:Object.keys(t).filter((e=>t[e])).join(" "))}}if("function"==typeof t)return t(null===e?{}:e,r,N);const u=L(t,null);return u.v=e,r.length>0&&(u.$=r),u.j=l,u},L=(t,e)=>({u:0,O:t,m:null!=e?e:null,S:null,$:null,v:null,j:null}),R={},N={forEach:(t,e)=>t.map(P).forEach(e),map:(t,e)=>t.map(P).map(e).map(D)},P=t=>({vattrs:t.v,vchildren:t.$,vkey:t.j,vname:t.k,vtag:t.O,vtext:t.m}),D=t=>{if("function"==typeof t.vtag){const e={...t.vattrs};return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),x(t.vtag,e,...t.vchildren||[])}const e=L(t.vtag,t.vtext);return e.v=t.vattrs,e.$=t.vchildren,e.j=t.vkey,e.k=t.vname,e},H=t=>{if(!t)return;const e=Object.keys(t);if(0===e.length)return;let n=!1;for(const o of e){if(n)break;for(const e of t[o])if("string"==typeof e){n=!0;break}}if(!n)return t;const o={};for(const n of e)o[n]=t[n].map((t=>"string"==typeof t?{[t]:0}:t));return o},T=(t,e)=>null==t||C(t)?t:4&e?"false"!==t&&(""===t||!!t):2&e?"string"==typeof t?parseFloat(t):"number"==typeof t?t:NaN:1&e?t+"":t,U=t=>{var e;return null==(e=o(t))?void 0:e.$hostElement$},A=(t,e)=>{const n=U(t);return{emit:t=>W(n,e,{bubbles:!0,composed:!0,cancelable:!0,detail:t})}},W=(t,e,n)=>{const o=a.ce(e,n);return t.dispatchEvent(o),o},z=(t,e,n,l,s,r)=>{if(n===l)return;let c=i(t,e),f=e.toLowerCase();if("class"===e){const e=t.classList,o=V(n);let i=V(l);e.remove(...o.filter((t=>t&&!i.includes(t)))),e.add(...i.filter((t=>t&&!o.includes(t))))}else if("key"===e);else if(c||"o"!==e[0]||"n"!==e[1]){if("a"===e[0]&&e.startsWith("attr:")){const n=e.slice(5);let i;{const e=o(t);if(e&&e.o&&e.o.t){const t=e.o.t[n];t&&t[1]&&(i=t[1])}}return i||(i=n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),void(null==l||!1===l?!1===l&&""!==t.getAttribute(i)||t.removeAttribute(i):t.setAttribute(i,!0===l?"":l))}if("p"===e[0]&&e.startsWith("prop:")){const n=e.slice(5);try{t[n]=l}catch(t){}return}{const o=C(l);if((c||o&&null!==l)&&!s)try{if(t.tagName.includes("-"))t[e]!==l&&(t[e]=l);else{const o=null==l?"":l;"list"===e?c=!1:null!=n&&t[e]===o||("function"==typeof t.__lookupSetter__(e)?t[e]=o:t.setAttribute(e,o))}}catch(t){}null==l||!1===l?!1===l&&""!==t.getAttribute(e)||t.removeAttribute(e):(!c||4&r||s)&&!o&&1===t.nodeType&&t.setAttribute(e,l=!0===l?"":l)}}else if(e="-"===e[2]?e.slice(3):i(u,f)?f.slice(2):f[2]+e.slice(3),n||l){const o=e.endsWith(q);e=e.replace(G,""),n&&a.rel(t,e,n,o),l&&a.ael(t,e,l,o)}},F=/\s/,V=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(F):[]),q="Capture",G=RegExp(q+"$"),Y=(t,e,n)=>{const o=11===e.S.nodeType&&e.S.host?e.S.host:e.S,l=t&&t.v||{},i=e.v||{};for(const t of Z(Object.keys(l)))t in i||z(o,t,l[t],void 0,n,e.u);for(const t of Z(Object.keys(i)))z(o,t,l[t],i[t],n,e.u)};function Z(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var _=!1,B=(t,e,n)=>{const o=e.$[n];let l,i,s=0;if(null!=o.m)l=o.S=u.document.createTextNode(o.m);else{if(!u.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");if(l=o.S=u.document.createElement(o.O),Y(null,o,_),o.$){const e="template"===o.O?l.content:l;for(s=0;s<o.$.length;++s)i=B(t,o,s),i&&e.appendChild(i)}}return l["s-hn"]=k,l},I=(t,e,n,o,l,i)=>{let s,r=t;for(r.shadowRoot&&r.tagName===k&&(r=r.shadowRoot),"template"===n.O&&(r=r.content);l<=i;++l)o[l]&&(s=B(null,n,l),s&&(o[l].S=s,X(r,s,e)))},J=(t,e,n)=>{for(let o=e;o<=n;++o){const e=t[o];if(e){const t=e.S;t&&t.remove()}}},K=(t,e,n=!1)=>t.O===e.O&&(n?(n&&!t.j&&e.j&&(t.j=e.j),!0):t.j===e.j),Q=(t,e,n=!1)=>{const o=e.S=t.S,l=t.$,i=e.$,s=e.m;null==s?(Y(t,e,_),null!==l&&null!==i?((t,e,n,o,l=!1)=>{let i,s,r=0,c=0,u=0,a=0,f=e.length-1,d=e[0],p=e[f],h=o.length-1,m=o[0],v=o[h];const y="template"===n.O?t.content:t;for(;r<=f&&c<=h;)if(null==d)d=e[++r];else if(null==p)p=e[--f];else if(null==m)m=o[++c];else if(null==v)v=o[--h];else if(K(d,m,l))Q(d,m,l),d=e[++r],m=o[++c];else if(K(p,v,l))Q(p,v,l),p=e[--f],v=o[--h];else if(K(d,v,l))Q(d,v,l),X(y,d.S,p.S.nextSibling),d=e[++r],v=o[--h];else if(K(p,m,l))Q(p,m,l),X(y,p.S,d.S),p=e[--f],m=o[++c];else{for(u=-1,a=r;a<=f;++a)if(e[a]&&null!==e[a].j&&e[a].j===m.j){u=a;break}u>=0?(s=e[u],s.O!==m.O?i=B(e&&e[c],n,u):(Q(s,m,l),e[u]=void 0,i=s.S),m=o[++c]):(i=B(e&&e[c],n,c),m=o[++c]),i&&X(d.S.parentNode,i,d.S)}r>f?I(t,null==o[h+1]?null:o[h+1].S,n,o,c,h):c>h&&J(e,r,f)})(o,l,e,i,n):null!==i?(null!==t.m&&(o.textContent=""),I(o,null,e,i,0,i.length-1)):!n&&null!==l&&J(l,0,l.length-1)):t.m!==s&&(o.data=s)},X=(t,e,n)=>t.__insertBefore?t.__insertBefore(e,n):null==t?void 0:t.insertBefore(e,n),tt=(t,e)=>{if(e&&!t.M&&e["s-p"]){const n=e["s-p"].push(new Promise((o=>t.M=()=>{e["s-p"].splice(n-1,1),o()})))}},et=(t,e)=>{if(t.u|=16,4&t.u)return void(t.u|=512);tt(t,t.C);const n=()=>nt(t,e);if(!e)return g(n);queueMicrotask((()=>{n()}))},nt=(t,e)=>{const n=t.$hostElement$,o=t.i;if(!o)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let l;return e?(t.u|=256,t.L&&(t.L.map((([t,e])=>ut(o,t,e,n))),t.L=void 0),t.R.length&&t.R.forEach((t=>t(n))),l=ut(o,"componentWillLoad",void 0,n)):l=ut(o,"componentWillUpdate",void 0,n),l=ot(l,(()=>ut(o,"componentWillRender",void 0,n))),ot(l,(()=>it(t,o,e)))},ot=(t,e)=>lt(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),lt=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,it=async(t,e,n)=>{var o;const l=t.$hostElement$,i=l["s-rc"];n&&(t=>{const e=t.o,n=t.$hostElement$,o=e.u,l=((t,e)=>{var n,o,l;const i=M(e),s=c.get(i);if(!u.document)return i;if(t=11===t.nodeType?t:u.document,s)if("string"==typeof s){let l,r=E.get(t=t.head||t);if(r||E.set(t,r=new Set),!r.has(i)){l=u.document.createElement("style"),l.textContent=s;const c=null!=(n=a.N)?n:S(u.document);if(null!=c&&l.setAttribute("nonce",c),!(1&e.u))if("HEAD"===t.nodeName){const e=t.querySelectorAll("link[rel=preconnect]"),n=e.length>0?e[e.length-1].nextSibling:t.querySelector("style");t.insertBefore(l,(null==n?void 0:n.parentNode)===t?n:null)}else if("host"in t)if(d){const e=new(null!=(o=t.defaultView)?o:t.ownerDocument.defaultView).CSSStyleSheet;e.replaceSync(s),p?t.adoptedStyleSheets.unshift(e):t.adoptedStyleSheets=[e,...t.adoptedStyleSheets]}else{const e=t.querySelector("style");e?e.textContent=s+e.textContent:t.prepend(l)}else t.append(l);1&e.u&&t.insertBefore(l,null),4&e.u&&(l.textContent+="slot-fb{display:contents}slot-fb[hidden]{display:none}"),r&&r.add(i)}}else{let e=E.get(t);if(e||E.set(t,e=new Set),!e.has(i)){const n=null!=(l=t.defaultView)?l:t.ownerDocument.defaultView;let o;if(s.constructor===n.CSSStyleSheet)o=s;else{o=new n.CSSStyleSheet;for(let t=0;t<s.cssRules.length;t++)o.insertRule(s.cssRules[t].cssText,t)}p?t.adoptedStyleSheets.push(o):t.adoptedStyleSheets=[...t.adoptedStyleSheets,o],e.add(i)}}return i})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&o&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(t);st(t,e,l,n),i&&(i.map((t=>t())),l["s-rc"]=void 0);{const e=null!=(o=l["s-p"])?o:[],n=()=>rt(t);0===e.length?n():(Promise.all(e).then(n).catch(n),t.u|=4,e.length=0)}},st=(t,e,n,o)=>{try{e=e.render(),t.u&=-17,t.u|=2,((t,e,n=!1)=>{const o=t.$hostElement$,l=t.P||L(null,null),i=(t=>t&&t.O===R)(e)?e:x(null,null,e);if(k=o.tagName,n&&i.v)for(const t of Object.keys(i.v))o.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(i.v[t]=o[t]);i.O=null,i.u|=4,t.P=i,i.S=l.S=o.shadowRoot||o,Q(l,i,n)})(t,e,o)}catch(e){s(e,t.$hostElement$)}return null},rt=t=>{const e=t.$hostElement$,n=t.i,o=t.C;ut(n,"componentDidRender",void 0,e),64&t.u?ut(n,"componentDidUpdate",void 0,e):(t.u|=64,at(e),ut(n,"componentDidLoad",void 0,e),t.D(e),o||ct()),t.H(e),t.M&&(t.M(),t.M=void 0),512&t.u&&w((()=>et(t,!1))),t.u&=-517},ct=()=>{w((()=>W(u,"appload",{detail:{namespace:"ogm-viewer"}})))},ut=(t,e,n,o)=>{if(t&&t[e])try{return t[e](n)}catch(t){s(t,o)}},at=t=>t.classList.add("hydrated"),ft=(t,e,n,l)=>{const i=o(t);if(!i)return;if(!i)throw Error(`Couldn't find host element for "${l.h}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`);const r=i.$hostElement$,c=i.l.get(e),u=i.u,a=i.i;if(n=T(n,l.t[e][0]),!(8&u&&void 0!==c||n===c||Number.isNaN(c)&&Number.isNaN(n))){if(i.l.set(e,n),l.T){const t=l.T[e];t&&t.map((t=>{try{const[[o,l]]=Object.entries(t);(128&u||1&l)&&(a?a[o](n,c,e):i.R.push((()=>{i.i[o](n,c,e)})))}catch(t){s(t,r)}}))}if(2&u){if(a.componentShouldUpdate&&!1===a.componentShouldUpdate(n,c,e)&&!(16&u))return;16&u||et(i,!1)}}},dt=(e,n,l)=>{var i,s;const r=e.prototype;{e.watchers&&!n.T&&(n.T=H(e.watchers)),e.deserializers&&!n.U&&(n.U=e.deserializers),e.serializers&&!n.A&&(n.A=e.serializers);const c=Object.entries(null!=(i=n.t)?i:{});if(c.map((([e,[i]])=>{if(31&i||2&l&&32&i){const{get:s,set:c}=t(r,e)||{};s&&(n.t[e][0]|=2048),c&&(n.t[e][0]|=4096),(1&l||!s)&&Object.defineProperty(r,e,{get(){{if(!(2048&n.t[e][0]))return((t,e)=>o(this).l.get(e))(0,e);const t=o(this),l=t?t.i:r;if(!l)return;return l[e]}},configurable:!0,enumerable:!0}),Object.defineProperty(r,e,{set(t){const s=o(this);if(s){if(c)return void 0===(32&i?this[e]:s.$hostElement$[e])&&s.l.get(e)&&(t=s.l.get(e)),c.call(this,T(t,i)),void ft(this,e,t=32&i?this[e]:s.$hostElement$[e],n);{if(!(1&l&&4096&n.t[e][0]))return ft(this,e,t,n),void(1&l&&!s.i&&s.R.push((()=>{4096&n.t[e][0]&&s.i[e]!==s.l.get(e)&&(s.i[e]=t)})));const o=()=>{const o=s.i[e];!s.l.get(e)&&o&&s.l.set(e,o),s.i[e]=T(t,i),ft(this,e,s.i[e],n)};s.i?o():s.R.push((()=>{o()}))}}}})}else 1&l&&64&i&&Object.defineProperty(r,e,{value(...t){var n;const l=o(this);return null==(n=null==l?void 0:l.W)?void 0:n.then((()=>{var n;return null==(n=l.i)?void 0:n[e](...t)}))}})})),1&l){const t=new Map;r.attributeChangedCallback=function(e,l,i){a.jmp((()=>{var s;const u=t.get(e),a=o(this);if(this.hasOwnProperty(u)&&(i=this[u],delete this[u]),r.hasOwnProperty(u)&&"number"==typeof this[u]&&this[u]==i)return;if(null==u){const t=null==a?void 0:a.u;if(a&&t&&!(8&t)&&i!==l){const o=a.i,r=null==(s=n.T)?void 0:s[e];null==r||r.forEach((n=>{const[[s,r]]=Object.entries(n);null!=o[s]&&(128&t||1&r)&&o[s].call(o,i,l,e)}))}return}const f=c.find((([t])=>t===u)),d=f&&4&f[1][0],p=d&&null===i&&void 0===this[u];d&&(i=null!==i&&"false"!==i);const h=Object.getOwnPropertyDescriptor(r,u);p||i==this[u]||h.get&&!h.set||(this[u]=i)}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(s=n.T)?s:{}),...c.filter((([t,e])=>31&e[0])).map((([e,n])=>{const o=n[1]||e;return t.set(o,e),o}))]))}}return e},pt=(t,e)=>{ut(t,"connectedCallback",void 0,e)},ht=(t,e)=>{ut(t,"disconnectedCallback",void 0,e||t)},mt=(t,e={})=>{var n;if(!u.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const l=[],i=e.exclude||[],f=u.customElements,p=u.document.head,h=p.querySelector("meta[charset]"),m=u.document.createElement("style"),v=[];let y,b=!0;if(Object.assign(a,e),a.p=new URL(e.resourcesUrl||"./",u.document.baseURI).href,t.map((t=>{t[1].map((e=>{var n,u;const p={u:e[0],h:e[1],t:e[2],F:e[3]};p.t=e[2],p.F=e[3],p.T=H(e[4]),p.A=null!=(n=e[5])?n:{},p.U=null!=(u=e[6])?u:{};const h=p.h,m=class extends HTMLElement{"s-p";"s-rc";hasRegisteredEventListeners=!1;constructor(t){if(super(t),((t,e)=>{const n={u:0,$hostElement$:t,o:e,l:new Map,V:new Map};n.W=new Promise((t=>n.H=t)),n.q=new Promise((t=>n.D=t)),t["s-p"]=[],t["s-rc"]=[],n.R=[];const o=n;t.__stencil__getHostRef=()=>o})(t=this,p),1&p.u)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${p.h}! Mode is set to ${t.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else O.call(t,p)}connectedCallback(){const t=o(this);t&&(this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0,vt(this,t,p.F)),y&&(clearTimeout(y),y=null),b?v.push(this):a.jmp((()=>(t=>{if(!(1&a.u)){const e=o(t);if(!e)return;const n=e.o,l=()=>{};if(1&e.u)vt(t,e,n.F),(null==e?void 0:e.i)?pt(e.i,t):(null==e?void 0:e.q)&&e.q.then((()=>pt(e.i,t)));else{e.u|=1;{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){tt(e,e.C=n);break}}n.t&&Object.entries(n.t).map((([e,[n]])=>{if(31&n&&Object.prototype.hasOwnProperty.call(t,e)){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n)=>{let o;try{if(!(32&e.u)){if(e.u|=32,n.G){const l=((t,e)=>{const n=t.h.replace(/-/g,"_"),o=t.G;if(!o)return;const l=r.get(o);return l?l[n]:import(`./${o}.entry.js`).then((t=>(r.set(o,t),t[n])),(t=>{s(t,e.$hostElement$)}))
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(l&&"then"in l){const t=()=>{};o=await l,t()}else o=l;if(!o)throw Error(`Constructor for "${n.h}#${e.Y}" was not found`);o.isProxied||(n.T=H(o.watchers),n.A=o.serializers,n.U=o.deserializers,dt(o,n,2),o.isProxied=!0);const i=()=>{};e.u|=8;try{new o(e)}catch(e){s(e,t)}e.u&=-9,e.u|=128,i(),pt(e.i,t)}else o=t.constructor,customElements.whenDefined(t.localName).then((()=>e.u|=128));if(o&&o.style){let t;"string"==typeof o.style&&(t=o.style);const e=M(n);if(!c.has(e)){const o=()=>{};((t,e,n)=>{let o=c.get(t);d&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=e:o.replaceSync(e)):o=e,c.set(t,o)})(e,t,!!(1&n.u)),o()}}}const l=e.C,i=()=>et(e,!0);l&&l["s-rc"]?l["s-rc"].push(i):i()}catch(n){s(n,t),e.M&&(e.M(),e.M=void 0),e.D&&e.D(t)}})(t,e,n)}l()}})(this))))}disconnectedCallback(){a.jmp((()=>(async t=>{if(!(1&a.u)){const e=o(t);(null==e?void 0:e.Z)&&(e.Z.map((t=>t())),e.Z=void 0),(null==e?void 0:e.i)?ht(e.i,t):(null==e?void 0:e.q)&&e.q.then((()=>ht(e.i,t)))}E.has(t)&&E.delete(t),t.shadowRoot&&E.has(t.shadowRoot)&&E.delete(t.shadowRoot)})(this))),a.raf((()=>{var t;const e=o(this);if(!e)return;const n=v.findIndex((t=>t===this));n>-1&&v.splice(n,1),(null==(t=null==e?void 0:e.P)?void 0:t.S)instanceof Node&&!e.P.S.isConnected&&delete e.P.S}))}componentOnReady(){var t;return null==(t=o(this))?void 0:t.q}};p.G=t[0],i.includes(h)||f.get(h)||(l.push(h),f.define(h,dt(m,p,1)))}))})),l.length>0&&(m.textContent+=l.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",m.innerHTML.length)){m.setAttribute("data-styles","");const t=null!=(n=a.N)?n:S(u.document);null!=t&&m.setAttribute("nonce",t),p.insertBefore(m,h?h.nextSibling:p.firstChild)}b=!1,v.length?v.map((t=>t.connectedCallback())):a.jmp((()=>y=setTimeout(ct,30)))},vt=(t,e,n)=>{n&&u.document&&n.map((([n,o,l])=>{const i=bt(u.document,t,n),s=yt(e,l),r=$t(n);a.ael(i,o,s,r),(e.Z=e.Z||[]).push((()=>a.rel(i,o,s,r)))}))},yt=(t,e)=>n=>{var o;try{256&t.u?null==(o=t.i)||o[e](n):(t.L=t.L||[]).push([e,n])}catch(e){s(e,t.$hostElement$)}},bt=(t,e,n)=>16&n?t.body:e,$t=t=>({passive:!!(1&t),capture:!!(2&t)}),wt=t=>a.N=t;export{R as H,j as a,mt as b,A as c,U as g,x as h,f as p,l as r,wt as s}
@@ -0,0 +1,10 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { MapGeoJSONFeature } from 'maplibre-gl';
3
+ export declare class OgmAttributes {
4
+ features: MapGeoJSONFeature[];
5
+ featureSelected: EventEmitter<MapGeoJSONFeature>;
6
+ private currentIndex;
7
+ onFeaturesChange(): void;
8
+ onCurrentIndexChange(): void;
9
+ render(): any;
10
+ }
@@ -1,15 +1,15 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { OgmRecord } from '../../lib/record';
2
+ import type IIIFSource from '../../lib/sources/iiif';
3
3
  export declare class OgmImage {
4
4
  el: HTMLElement;
5
- record: OgmRecord;
5
+ source: IIIFSource;
6
6
  theme: 'light' | 'dark';
7
7
  padding: number;
8
8
  imageLoaded: EventEmitter<void>;
9
9
  imageLoading: EventEmitter<void>;
10
10
  private viewer;
11
11
  componentDidLoad(): Promise<void>;
12
- onRecordChange(): Promise<void>;
12
+ onSourceChange(): Promise<void>;
13
13
  onPaddingChange(): Promise<void>;
14
14
  private loadImages;
15
15
  render(): any;
@@ -1,27 +1,45 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import maplibregl from 'maplibre-gl';
3
- import type { EaseToOptions } from 'maplibre-gl';
4
- import type { OgmRecord } from '../../lib/record';
3
+ import Source from '../../lib/sources/source';
4
+ import CogPreviewer from '../../lib/previewers/cog';
5
+ import GeoJSONPreviewer from '../../lib/previewers/geojson';
6
+ import MapLibrePreviewer from '../../lib/previewers/maplibre';
7
+ import PMTilesVectorPreviewer from '../../lib/previewers/pmtiles-vector';
8
+ import RasterPreviewer from '../../lib/previewers/raster';
9
+ import WmsPreviewer from '../../lib/previewers/wms';
10
+ import MapLibreTheme from '../../lib/themes/maplibre';
5
11
  export declare class OgmMap {
6
12
  el: HTMLElement;
7
- record: OgmRecord;
13
+ source: Source;
8
14
  theme: 'light' | 'dark';
9
- previewOpacity: number;
10
15
  padding: number;
11
16
  mapIdle: EventEmitter<void>;
12
17
  mapLoading: EventEmitter<void>;
13
- private map;
14
- private containerEl;
15
- private previewers;
18
+ protected map: maplibregl.Map;
19
+ protected mapTheme: MapLibreTheme;
20
+ protected popup: maplibregl.Popup | undefined;
21
+ protected attributesEl: HTMLOgmAttributesElement;
22
+ protected hoveredFeature: maplibregl.MapGeoJSONFeature | undefined;
23
+ protected containerEl: HTMLElement;
24
+ protected previewer: MapLibrePreviewer | undefined;
16
25
  componentDidLoad(): void;
17
- private getContainer;
18
- private addControls;
19
- previewRecord(record: OgmRecord): Promise<void>;
26
+ disconnectedCallback(): void;
27
+ protected getContainer(): void;
28
+ protected addControls(): void;
29
+ protected getMapPreviewer(map: maplibregl.Map): Promise<RasterPreviewer | CogPreviewer | GeoJSONPreviewer | PMTilesVectorPreviewer | WmsPreviewer>;
30
+ previewSource(source: Source): Promise<void>;
20
31
  fitMapBounds(bounds: maplibregl.LngLatBoundsLike): Promise<void>;
21
32
  onPaddingChange(): Promise<maplibregl.Map>;
22
- easeMapTo(options: EaseToOptions): Promise<maplibregl.Map>;
23
- private get baseMapStyle();
24
- private get fillColor();
25
- private get lineColor();
33
+ easeMapTo(options: maplibregl.EaseToOptions): Promise<maplibregl.Map>;
34
+ protected handleHover(event: maplibregl.MapMouseEvent): void;
35
+ protected handleClick(event: maplibregl.MapMouseEvent): void;
36
+ handleFeatureSelected(event: CustomEvent<maplibregl.MapGeoJSONFeature>): void;
37
+ protected clearFeatureSelection(): void;
38
+ protected selectFeature(feature: maplibregl.MapGeoJSONFeature): void;
39
+ protected hoverFeature(feature: maplibregl.MapGeoJSONFeature): void;
40
+ protected clearHoveredFeature(): void;
41
+ protected createPopup(location: maplibregl.LngLatLike): void;
42
+ protected destroyPopup(): void;
43
+ protected get previewLayers(): string[];
26
44
  render(): any;
27
45
  }
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { OgmRecord } from '../../lib/record';
2
+ import type OgmRecord from '../../lib/record';
3
3
  export declare class OgmMenubar {
4
4
  record: OgmRecord;
5
5
  theme: 'light' | 'dark';
@@ -1,4 +1,4 @@
1
- import type { OgmRecord } from '../../lib/record';
1
+ import type OgmRecord from '../../lib/record';
2
2
  import { OGM_FIELD_NAMES } from '../../lib/record';
3
3
  type OgmMetadataField = keyof typeof OGM_FIELD_NAMES;
4
4
  export declare class OgmMetadata {
@@ -0,0 +1,16 @@
1
+ import type OgmRecord from '../../lib/record';
2
+ import type Source from '../../lib/sources/source';
3
+ import IIIFSource from '../../lib/sources/iiif';
4
+ export declare class OgmPreviews {
5
+ el: HTMLElement;
6
+ theme: 'light' | 'dark';
7
+ record: OgmRecord;
8
+ previewOpacity: number;
9
+ sidebarPadding: number;
10
+ sources: Source[];
11
+ protected renderPreview(source: Source): any;
12
+ protected renderImagePreview(source: IIIFSource): any;
13
+ protected renderMapPreview(source: Source): any;
14
+ protected getSources(record: OgmRecord): void;
15
+ render(): any;
16
+ }
@@ -1,10 +1,10 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { OgmRecord } from '../../lib/record';
2
+ import type OgmRecord from '../../lib/record';
3
3
  export declare class OgmSettings {
4
4
  record: OgmRecord;
5
5
  el: HTMLElement;
6
6
  opacityChange: EventEmitter<number>;
7
- private slRange;
7
+ private waSlider;
8
8
  componentDidLoad(): void;
9
9
  handleOpacityChange(): void;
10
10
  render(): any;
@@ -1,4 +1,4 @@
1
- import type { OgmRecord } from '../../lib/record';
1
+ import type OgmRecord from '../../lib/record';
2
2
  export declare class OgmSidebar {
3
3
  el: HTMLElement;
4
4
  record: OgmRecord;
@@ -1,14 +1,13 @@
1
- import { OgmRecord } from '../../lib/record';
2
- import '@shoelace-style/shoelace/dist/components/drawer/drawer.js';
3
- import '@shoelace-style/shoelace/dist/components/button/button.js';
4
- import '@shoelace-style/shoelace/dist/components/icon-button/icon-button.js';
5
- import '@shoelace-style/shoelace/dist/components/icon/icon.js';
6
- import '@shoelace-style/shoelace/dist/components/range/range.js';
7
- import '@shoelace-style/shoelace/dist/components/spinner/spinner.js';
8
- import '@shoelace-style/shoelace/dist/components/tab-group/tab-group.js';
9
- import '@shoelace-style/shoelace/dist/components/tab-panel/tab-panel.js';
10
- import '@shoelace-style/shoelace/dist/components/tab/tab.js';
11
- import '@shoelace-style/shoelace/dist/components/tooltip/tooltip.js';
1
+ import OgmRecord from '../../lib/record';
2
+ import '@awesome.me/webawesome/dist/components/button/button.js';
3
+ import '@awesome.me/webawesome/dist/components/icon/icon.js';
4
+ import '@awesome.me/webawesome/dist/components/scroller/scroller.js';
5
+ import '@awesome.me/webawesome/dist/components/slider/slider.js';
6
+ import '@awesome.me/webawesome/dist/components/spinner/spinner.js';
7
+ import '@awesome.me/webawesome/dist/components/tab-group/tab-group.js';
8
+ import '@awesome.me/webawesome/dist/components/tab-panel/tab-panel.js';
9
+ import '@awesome.me/webawesome/dist/components/tab/tab.js';
10
+ import '@awesome.me/webawesome/dist/components/tooltip/tooltip.js';
12
11
  export declare class OgmViewer {
13
12
  el: HTMLElement;
14
13
  recordUrl: string;
@@ -27,6 +26,5 @@ export declare class OgmViewer {
27
26
  setLoadingStarted(): void;
28
27
  setLoadingFinished(): void;
29
28
  private fetchRecord;
30
- private renderPreview;
31
29
  render(): any;
32
30
  }
@@ -5,30 +5,30 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { OgmRecord } from "./lib/record";
9
- import { EaseToOptions } from "maplibre-gl";
10
- export { OgmRecord } from "./lib/record";
11
- export { EaseToOptions } from "maplibre-gl";
8
+ import { MapGeoJSONFeature } from "maplibre-gl";
9
+ export { MapGeoJSONFeature } from "maplibre-gl";
12
10
  export namespace Components {
11
+ interface OgmAttributes {
12
+ /**
13
+ * @default []
14
+ */
15
+ "features": MapGeoJSONFeature[];
16
+ }
13
17
  interface OgmImage {
14
18
  /**
15
19
  * @default 0
16
20
  */
17
21
  "padding": number;
18
- "record": OgmRecord;
22
+ "source": IIIFSource;
19
23
  "theme": 'light' | 'dark';
20
24
  }
21
25
  interface OgmMap {
22
- "easeMapTo": (options: EaseToOptions) => Promise<maplibregl.Map>;
26
+ "easeMapTo": (options: maplibregl.EaseToOptions) => Promise<maplibregl.Map>;
23
27
  /**
24
28
  * @default 0
25
29
  */
26
30
  "padding": number;
27
- /**
28
- * @default 100
29
- */
30
- "previewOpacity": number;
31
- "record": OgmRecord;
31
+ "source": Source;
32
32
  "theme": 'light' | 'dark';
33
33
  }
34
34
  interface OgmMenubar {
@@ -44,6 +44,12 @@ export namespace Components {
44
44
  "record": OgmRecord;
45
45
  "theme": 'light' | 'dark';
46
46
  }
47
+ interface OgmPreviews {
48
+ "previewOpacity": number;
49
+ "record": OgmRecord;
50
+ "sidebarPadding": number;
51
+ "theme": 'light' | 'dark';
52
+ }
47
53
  interface OgmSettings {
48
54
  "record": OgmRecord;
49
55
  }
@@ -64,6 +70,10 @@ export namespace Components {
64
70
  "theme": 'light' | 'dark';
65
71
  }
66
72
  }
73
+ export interface OgmAttributesCustomEvent<T> extends CustomEvent<T> {
74
+ detail: T;
75
+ target: HTMLOgmAttributesElement;
76
+ }
67
77
  export interface OgmImageCustomEvent<T> extends CustomEvent<T> {
68
78
  detail: T;
69
79
  target: HTMLOgmImageElement;
@@ -81,6 +91,23 @@ export interface OgmSettingsCustomEvent<T> extends CustomEvent<T> {
81
91
  target: HTMLOgmSettingsElement;
82
92
  }
83
93
  declare global {
94
+ interface HTMLOgmAttributesElementEventMap {
95
+ "featureSelected": MapGeoJSONFeature;
96
+ }
97
+ interface HTMLOgmAttributesElement extends Components.OgmAttributes, HTMLStencilElement {
98
+ addEventListener<K extends keyof HTMLOgmAttributesElementEventMap>(type: K, listener: (this: HTMLOgmAttributesElement, ev: OgmAttributesCustomEvent<HTMLOgmAttributesElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
99
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
100
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
101
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
102
+ removeEventListener<K extends keyof HTMLOgmAttributesElementEventMap>(type: K, listener: (this: HTMLOgmAttributesElement, ev: OgmAttributesCustomEvent<HTMLOgmAttributesElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
103
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
104
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
105
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
106
+ }
107
+ var HTMLOgmAttributesElement: {
108
+ prototype: HTMLOgmAttributesElement;
109
+ new (): HTMLOgmAttributesElement;
110
+ };
84
111
  interface HTMLOgmImageElementEventMap {
85
112
  "imageLoaded": void;
86
113
  "imageLoading": void;
@@ -140,6 +167,12 @@ declare global {
140
167
  prototype: HTMLOgmMetadataElement;
141
168
  new (): HTMLOgmMetadataElement;
142
169
  };
170
+ interface HTMLOgmPreviewsElement extends Components.OgmPreviews, HTMLStencilElement {
171
+ }
172
+ var HTMLOgmPreviewsElement: {
173
+ prototype: HTMLOgmPreviewsElement;
174
+ new (): HTMLOgmPreviewsElement;
175
+ };
143
176
  interface HTMLOgmSettingsElementEventMap {
144
177
  "opacityChange": number;
145
178
  }
@@ -170,16 +203,25 @@ declare global {
170
203
  new (): HTMLOgmViewerElement;
171
204
  };
172
205
  interface HTMLElementTagNameMap {
206
+ "ogm-attributes": HTMLOgmAttributesElement;
173
207
  "ogm-image": HTMLOgmImageElement;
174
208
  "ogm-map": HTMLOgmMapElement;
175
209
  "ogm-menubar": HTMLOgmMenubarElement;
176
210
  "ogm-metadata": HTMLOgmMetadataElement;
211
+ "ogm-previews": HTMLOgmPreviewsElement;
177
212
  "ogm-settings": HTMLOgmSettingsElement;
178
213
  "ogm-sidebar": HTMLOgmSidebarElement;
179
214
  "ogm-viewer": HTMLOgmViewerElement;
180
215
  }
181
216
  }
182
217
  declare namespace LocalJSX {
218
+ interface OgmAttributes {
219
+ /**
220
+ * @default []
221
+ */
222
+ "features"?: MapGeoJSONFeature[];
223
+ "onFeatureSelected"?: (event: OgmAttributesCustomEvent<MapGeoJSONFeature>) => void;
224
+ }
183
225
  interface OgmImage {
184
226
  "onImageLoaded"?: (event: OgmImageCustomEvent<void>) => void;
185
227
  "onImageLoading"?: (event: OgmImageCustomEvent<void>) => void;
@@ -187,7 +229,7 @@ declare namespace LocalJSX {
187
229
  * @default 0
188
230
  */
189
231
  "padding"?: number;
190
- "record"?: OgmRecord;
232
+ "source"?: IIIFSource;
191
233
  "theme"?: 'light' | 'dark';
192
234
  }
193
235
  interface OgmMap {
@@ -197,11 +239,7 @@ declare namespace LocalJSX {
197
239
  * @default 0
198
240
  */
199
241
  "padding"?: number;
200
- /**
201
- * @default 100
202
- */
203
- "previewOpacity"?: number;
204
- "record"?: OgmRecord;
242
+ "source"?: Source;
205
243
  "theme"?: 'light' | 'dark';
206
244
  }
207
245
  interface OgmMenubar {
@@ -218,6 +256,12 @@ declare namespace LocalJSX {
218
256
  "record"?: OgmRecord;
219
257
  "theme"?: 'light' | 'dark';
220
258
  }
259
+ interface OgmPreviews {
260
+ "previewOpacity"?: number;
261
+ "record"?: OgmRecord;
262
+ "sidebarPadding"?: number;
263
+ "theme"?: 'light' | 'dark';
264
+ }
221
265
  interface OgmSettings {
222
266
  "onOpacityChange"?: (event: OgmSettingsCustomEvent<number>) => void;
223
267
  "record"?: OgmRecord;
@@ -244,7 +288,6 @@ declare namespace LocalJSX {
244
288
  }
245
289
  interface OgmMapAttributes {
246
290
  "theme": 'light' | 'dark';
247
- "previewOpacity": number;
248
291
  "padding": number;
249
292
  }
250
293
  interface OgmMenubarAttributes {
@@ -254,6 +297,11 @@ declare namespace LocalJSX {
254
297
  interface OgmMetadataAttributes {
255
298
  "theme": 'light' | 'dark';
256
299
  }
300
+ interface OgmPreviewsAttributes {
301
+ "theme": 'light' | 'dark';
302
+ "previewOpacity": number;
303
+ "sidebarPadding": number;
304
+ }
257
305
  interface OgmSidebarAttributes {
258
306
  "theme": 'light' | 'dark';
259
307
  "open": boolean;
@@ -264,10 +312,12 @@ declare namespace LocalJSX {
264
312
  }
265
313
 
266
314
  interface IntrinsicElements {
315
+ "ogm-attributes": OgmAttributes;
267
316
  "ogm-image": Omit<OgmImage, keyof OgmImageAttributes> & { [K in keyof OgmImage & keyof OgmImageAttributes]?: OgmImage[K] } & { [K in keyof OgmImage & keyof OgmImageAttributes as `attr:${K}`]?: OgmImageAttributes[K] } & { [K in keyof OgmImage & keyof OgmImageAttributes as `prop:${K}`]?: OgmImage[K] };
268
317
  "ogm-map": Omit<OgmMap, keyof OgmMapAttributes> & { [K in keyof OgmMap & keyof OgmMapAttributes]?: OgmMap[K] } & { [K in keyof OgmMap & keyof OgmMapAttributes as `attr:${K}`]?: OgmMapAttributes[K] } & { [K in keyof OgmMap & keyof OgmMapAttributes as `prop:${K}`]?: OgmMap[K] };
269
318
  "ogm-menubar": Omit<OgmMenubar, keyof OgmMenubarAttributes> & { [K in keyof OgmMenubar & keyof OgmMenubarAttributes]?: OgmMenubar[K] } & { [K in keyof OgmMenubar & keyof OgmMenubarAttributes as `attr:${K}`]?: OgmMenubarAttributes[K] } & { [K in keyof OgmMenubar & keyof OgmMenubarAttributes as `prop:${K}`]?: OgmMenubar[K] };
270
319
  "ogm-metadata": Omit<OgmMetadata, keyof OgmMetadataAttributes> & { [K in keyof OgmMetadata & keyof OgmMetadataAttributes]?: OgmMetadata[K] } & { [K in keyof OgmMetadata & keyof OgmMetadataAttributes as `attr:${K}`]?: OgmMetadataAttributes[K] } & { [K in keyof OgmMetadata & keyof OgmMetadataAttributes as `prop:${K}`]?: OgmMetadata[K] };
320
+ "ogm-previews": Omit<OgmPreviews, keyof OgmPreviewsAttributes> & { [K in keyof OgmPreviews & keyof OgmPreviewsAttributes]?: OgmPreviews[K] } & { [K in keyof OgmPreviews & keyof OgmPreviewsAttributes as `attr:${K}`]?: OgmPreviewsAttributes[K] } & { [K in keyof OgmPreviews & keyof OgmPreviewsAttributes as `prop:${K}`]?: OgmPreviews[K] };
271
321
  "ogm-settings": OgmSettings;
272
322
  "ogm-sidebar": Omit<OgmSidebar, keyof OgmSidebarAttributes> & { [K in keyof OgmSidebar & keyof OgmSidebarAttributes]?: OgmSidebar[K] } & { [K in keyof OgmSidebar & keyof OgmSidebarAttributes as `attr:${K}`]?: OgmSidebarAttributes[K] } & { [K in keyof OgmSidebar & keyof OgmSidebarAttributes as `prop:${K}`]?: OgmSidebar[K] };
273
323
  "ogm-viewer": Omit<OgmViewer, keyof OgmViewerAttributes> & { [K in keyof OgmViewer & keyof OgmViewerAttributes]?: OgmViewer[K] } & { [K in keyof OgmViewer & keyof OgmViewerAttributes as `attr:${K}`]?: OgmViewerAttributes[K] } & { [K in keyof OgmViewer & keyof OgmViewerAttributes as `prop:${K}`]?: OgmViewer[K] };
@@ -277,10 +327,12 @@ export { LocalJSX as JSX };
277
327
  declare module "@stencil/core" {
278
328
  export namespace JSX {
279
329
  interface IntrinsicElements {
330
+ "ogm-attributes": LocalJSX.IntrinsicElements["ogm-attributes"] & JSXBase.HTMLAttributes<HTMLOgmAttributesElement>;
280
331
  "ogm-image": LocalJSX.IntrinsicElements["ogm-image"] & JSXBase.HTMLAttributes<HTMLOgmImageElement>;
281
332
  "ogm-map": LocalJSX.IntrinsicElements["ogm-map"] & JSXBase.HTMLAttributes<HTMLOgmMapElement>;
282
333
  "ogm-menubar": LocalJSX.IntrinsicElements["ogm-menubar"] & JSXBase.HTMLAttributes<HTMLOgmMenubarElement>;
283
334
  "ogm-metadata": LocalJSX.IntrinsicElements["ogm-metadata"] & JSXBase.HTMLAttributes<HTMLOgmMetadataElement>;
335
+ "ogm-previews": LocalJSX.IntrinsicElements["ogm-previews"] & JSXBase.HTMLAttributes<HTMLOgmPreviewsElement>;
284
336
  "ogm-settings": LocalJSX.IntrinsicElements["ogm-settings"] & JSXBase.HTMLAttributes<HTMLOgmSettingsElement>;
285
337
  "ogm-sidebar": LocalJSX.IntrinsicElements["ogm-sidebar"] & JSXBase.HTMLAttributes<HTMLOgmSidebarElement>;
286
338
  "ogm-viewer": LocalJSX.IntrinsicElements["ogm-viewer"] & JSXBase.HTMLAttributes<HTMLOgmViewerElement>;
@@ -1,13 +1,17 @@
1
1
  import { MapboxOverlay as DeckOverlay } from '@deck.gl/mapbox';
2
2
  import { COGLayer } from '@developmentseed/deck.gl-geotiff';
3
3
  import Previewer from './previewer';
4
- import type Source from '../sources/source';
4
+ import type MapLibreSource from '../sources/maplibre';
5
+ import { type MapLibreStyle } from '../themes/maplibre';
5
6
  export default class DeckCogPreviewer extends Previewer {
7
+ protected source: MapLibreSource;
8
+ protected style: MapLibreStyle;
6
9
  protected map: maplibregl.Map;
7
10
  protected deckOverlay: DeckOverlay;
8
11
  protected layerId: string | undefined;
9
- private bounds;
10
- constructor(source: Source, map: maplibregl.Map);
12
+ protected bounds: maplibregl.LngLatBoundsLike | undefined;
13
+ protected opacity: number;
14
+ constructor(source: MapLibreSource, map: maplibregl.Map, style: MapLibreStyle);
11
15
  preview(): Promise<void>;
12
16
  clearPreview(): Promise<void>;
13
17
  protected getSourceId(): string;
@@ -1,10 +1,10 @@
1
1
  import maplibregl, { RasterSourceSpecification } from 'maplibre-gl';
2
2
  import RasterPreviewer from './raster';
3
3
  import CogSource from '../sources/cog';
4
- import { MapLibreOptions } from './maplibre';
4
+ import { type MapLibreStyle } from '../themes/maplibre';
5
5
  export default class CogPreviewer extends RasterPreviewer {
6
6
  protected source: CogSource;
7
- constructor(source: CogSource, map: maplibregl.Map, options?: Partial<MapLibreOptions>);
7
+ constructor(source: CogSource, map: maplibregl.Map, style: MapLibreStyle);
8
8
  protected createSource(): Promise<RasterSourceSpecification>;
9
9
  protected getSourceId(): string;
10
10
  }
@@ -1,17 +1,15 @@
1
1
  import type { SourceSpecification, AddLayerObject } from 'maplibre-gl';
2
2
  import Previewer from './previewer';
3
- import Source from '../sources/source';
4
- export type MapLibreOptions = {
5
- padding: number;
6
- opacity: number;
7
- };
3
+ import MapLibreSource from '../sources/maplibre';
4
+ import { type MapLibreStyle } from '../themes/maplibre';
8
5
  export default abstract class MapLibrePreviewer extends Previewer {
6
+ protected source: MapLibreSource;
7
+ protected style: MapLibreStyle;
9
8
  protected map: maplibregl.Map;
10
- protected options: MapLibreOptions;
9
+ sourceId: string | null;
10
+ layerIds: string[];
11
11
  protected opacity: number;
12
- protected sourceId: string | null;
13
- protected layerIds: string[];
14
- constructor(source: Source, map: maplibregl.Map, options?: Partial<MapLibreOptions>);
12
+ constructor(source: MapLibreSource, map: maplibregl.Map, style: MapLibreStyle);
15
13
  preview(): Promise<void>;
16
14
  clearPreview(): Promise<void>;
17
15
  protected getSourceId(): string;
@@ -3,6 +3,7 @@ import type { VectorSourceSpecification, FillLayerSpecification, LineLayerSpecif
3
3
  export default class PMTilesVectorPreviewer extends VectorPreviewer {
4
4
  protected createSource(): Promise<VectorSourceSpecification>;
5
5
  protected createPolygonLayer(layerId: string): FillLayerSpecification;
6
+ protected createPolygonOutlineLayer(layerId: string): LineLayerSpecification;
6
7
  protected createLineLayer(layerId: string): LineLayerSpecification;
7
8
  protected createPointLayer(layerId: string): CircleLayerSpecification;
8
9
  protected createPolygonLabelLayer(layerId: string): SymbolLayerSpecification;
@@ -1,28 +1,16 @@
1
- import MapLibrePreviewer, { MapLibreOptions } from './maplibre';
1
+ import MapLibrePreviewer from './maplibre';
2
2
  import type { FillLayerSpecification, LineLayerSpecification, CircleLayerSpecification, SymbolLayerSpecification, LayerSpecification } from 'maplibre-gl';
3
3
  import type VectorSource from '../sources/vector';
4
- type VectorOptions = {
5
- fillColor: string;
6
- fillOpacity: number;
7
- fillHighlightOpacity: number;
8
- lineColor: string;
9
- labelFont: string;
10
- labelSize: number;
11
- textColor: string;
12
- };
13
- export type Options = MapLibreOptions & VectorOptions;
14
4
  export default abstract class VectorPreviewer extends MapLibrePreviewer {
15
5
  protected source: VectorSource;
16
- protected options: Options;
17
- constructor(source: VectorSource, map: maplibregl.Map, options?: Partial<Options>);
18
6
  setOpacity(opacity: number): Promise<void>;
19
- getBounds(): Promise<[import("maplibre-gl").LngLatLike, import("maplibre-gl").LngLatLike]>;
7
+ getBounds(): Promise<import("maplibre-gl").LngLatBoundsLike>;
20
8
  protected createLayers(): Promise<LayerSpecification[]>;
21
9
  protected createPolygonLayer(layerId: string): FillLayerSpecification;
10
+ protected createPolygonOutlineLayer(layerId: string): LineLayerSpecification;
22
11
  protected createLineLayer(layerId: string): LineLayerSpecification;
23
12
  protected createPointLayer(layerId: string): CircleLayerSpecification;
24
13
  protected createPolygonLabelLayer(layerId: string): SymbolLayerSpecification;
25
14
  protected createLineLabelLayer(layerId: string): SymbolLayerSpecification;
26
15
  protected createPointLabelLayer(layerId: string): SymbolLayerSpecification;
27
16
  }
28
- export {};
@@ -96,7 +96,7 @@ export declare const OGM_FIELD_NAMES: {
96
96
  /**
97
97
  * Class for representing an OGM Aardvark record parsed from JSON data.
98
98
  */
99
- export declare class OgmRecord {
99
+ export default class OgmRecord {
100
100
  json: GeoBlacklightSchemaAardvark;
101
101
  id: string;
102
102
  title: string;
@@ -1,5 +1,3 @@
1
- import iiif3 from '@iiif/presentation-3';
2
- import iiif2 from '@iiif/presentation-2';
3
1
  export declare const REFERENCE_URIS: {
4
2
  readonly 'https://github.com/cogeotiff/cog-spec': "COG";
5
3
  readonly 'http://lccn.loc.gov/sh85035852': "Data dictionary";
@@ -38,7 +36,6 @@ export type ReferencesRecord = Partial<{
38
36
  } & DownloadReference>;
39
37
  export declare class References {
40
38
  private references;
41
- iiifManifest: iiif3.Manifest | iiif2.Manifest;
42
39
  constructor(dct_references_s: string);
43
40
  get wmsUrl(): string;
44
41
  get cogUrl(): string;
@@ -51,7 +48,6 @@ export declare class References {
51
48
  get wmtsUrl(): string;
52
49
  get iiifImageUrl(): string;
53
50
  get iiifManifestUrl(): string;
54
- iiifImageUrls(): Promise<string[]>;
55
51
  get downloadLinks(): LabelledLinks;
56
52
  get downloadUrl(): string | undefined;
57
53
  get metadataLinks(): {
@@ -65,9 +61,5 @@ export declare class References {
65
61
  private get previewableReferences();
66
62
  private get mapPreviewableReferences();
67
63
  private get iiifReferences();
68
- private get iiifVersion();
69
- private extractIiif2ImageUrls;
70
- private extractIiif3ImageUrls;
71
- private fetchManifest;
72
64
  }
73
65
  export {};
@@ -1,6 +1,7 @@
1
1
  import RasterSource from './raster';
2
2
  export default class CogSource extends RasterSource {
3
- getSourceUrl(): string;
3
+ label(): string;
4
+ getMapLibreSourceUrl(): string;
4
5
  getScheme(): any;
5
- getBounds(): Promise<any>;
6
+ getBounds(): Promise<import("maplibre-gl").LngLatBoundsLike>;
6
7
  }
@@ -2,9 +2,10 @@ import VectorSource from './vector';
2
2
  export default class GeoJSONSource extends VectorSource {
3
3
  private data;
4
4
  protected getData(): Promise<any>;
5
+ label(): string;
5
6
  isVector(): Promise<boolean>;
6
7
  getVectorEncoding(): Promise<any>;
7
- getType(): Promise<"geojson">;
8
+ getMapLibreSourceType(): Promise<"geojson">;
8
9
  getVectorLayers(): Promise<string[]>;
9
- getBounds(): Promise<[[number, number], [number, number]]>;
10
+ getBounds(): Promise<import("maplibre-gl").LngLatBoundsLike>;
10
11
  }
@@ -0,0 +1,12 @@
1
+ import iiif3 from '@iiif/presentation-3';
2
+ import iiif2 from '@iiif/presentation-2';
3
+ import IIIFSource from './iiif';
4
+ export default class IIIFManifestSource extends IIIFSource {
5
+ protected manifest: iiif3.Manifest | iiif2.Manifest | undefined;
6
+ label(): string;
7
+ getIIIFImageUrls(): Promise<string[]>;
8
+ protected fetchManifest(): Promise<iiif2.Manifest | iiif3.Manifest | undefined>;
9
+ protected getIIIFVersion(manifest: iiif3.Manifest | iiif2.Manifest): 2 | 3;
10
+ protected extractIiif2ImageUrls(manifest: iiif2.Manifest): string[];
11
+ protected extractIiif3ImageUrls(manifest: iiif3.Manifest): string[];
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import Source from './source';
2
+ export default class IIIFSource extends Source {
3
+ label(): string;
4
+ getIIIFImageUrls(): Promise<string[]>;
5
+ }