@nulib/clover 0.0.0-stage → 4.0.0-beta.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 (410) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +120 -2
  3. package/dist/components/Annotations/Annotations.mjs +674 -0
  4. package/dist/components/Annotations/EntryBodies.mjs +52 -0
  5. package/dist/components/Annotations/languages.mjs +43 -0
  6. package/dist/components/Body/Body.mjs +51 -0
  7. package/dist/components/Body/BodyAlert.mjs +25 -0
  8. package/dist/components/Body/Caption.mjs +90 -0
  9. package/dist/components/Body/CaptionDetails.mjs +50 -0
  10. package/dist/components/Body/Pending.mjs +9 -0
  11. package/dist/components/Body/glyphs.mjs +66 -0
  12. package/dist/components/Body/renderers.mjs +30 -0
  13. package/dist/components/Body/useControlsVisibility.mjs +204 -0
  14. package/dist/components/Body/useNearViewport.mjs +27 -0
  15. package/dist/components/Canvas/AnnotationMenu.mjs +128 -0
  16. package/dist/components/Canvas/AnnotationState.mjs +338 -0
  17. package/dist/components/Canvas/Annotations.mjs +497 -0
  18. package/dist/components/Canvas/CanvasView.mjs +669 -0
  19. package/dist/components/Canvas/ChoiceMenu.mjs +77 -0
  20. package/dist/components/Canvas/Connected.mjs +228 -0
  21. package/dist/components/Canvas/ControlMenu.mjs +67 -0
  22. package/dist/components/Canvas/Controls.mjs +233 -0
  23. package/dist/components/Canvas/FrameAnimation.mjs +344 -0
  24. package/dist/components/Canvas/LoadedCanvas.mjs +177 -0
  25. package/dist/components/Canvas/Placeholder.mjs +105 -0
  26. package/dist/components/Canvas/fromManifest.mjs +44 -0
  27. package/dist/components/Canvas/index.mjs +19 -0
  28. package/dist/components/Canvas/layout.mjs +369 -0
  29. package/dist/components/Canvas/media/MediaBody.mjs +285 -0
  30. package/dist/components/Canvas/media/Player.mjs +193 -0
  31. package/dist/components/Canvas/media/Transport.mjs +511 -0
  32. package/dist/components/Canvas/media/TransportButton.mjs +39 -0
  33. package/dist/components/Canvas/media/useBarHeight.mjs +28 -0
  34. package/dist/components/Canvas/media/useCaptionTracks.mjs +131 -0
  35. package/dist/components/Canvas/media/useMediaController.mjs +77 -0
  36. package/dist/components/Canvas/media/useMediaElement.mjs +100 -0
  37. package/dist/components/Canvas/panClearOfControls.mjs +92 -0
  38. package/dist/components/Canvas/rendererSurface.mjs +6 -0
  39. package/dist/components/Canvas/surface.mjs +5 -0
  40. package/dist/components/Canvas/track.mjs +43 -0
  41. package/dist/components/Canvas/useSvgReader.mjs +23 -0
  42. package/dist/components/Collection/Collection.mjs +76 -0
  43. package/dist/components/CollectionSelect/CollectionSelect.mjs +114 -0
  44. package/dist/components/Contents/Contents.mjs +120 -0
  45. package/dist/components/Download/Download.mjs +105 -0
  46. package/dist/components/Items/Item.mjs +184 -0
  47. package/dist/components/Items/Items.mjs +455 -0
  48. package/dist/components/Items/Pager.mjs +190 -0
  49. package/dist/components/Items/StandaloneItems.mjs +80 -0
  50. package/dist/components/Items/clamped.mjs +90 -0
  51. package/dist/components/Label/Label.mjs +39 -0
  52. package/dist/components/Map/LoadedMap.mjs +26 -0
  53. package/dist/components/Map/Map.mjs +38 -0
  54. package/dist/components/Map/MapView.mjs +538 -0
  55. package/dist/components/Map/basemap.mjs +50 -0
  56. package/dist/components/Map/overlayImage.mjs +17 -0
  57. package/dist/components/Panel/About.mjs +143 -0
  58. package/dist/components/Panel/Panel.mjs +259 -0
  59. package/dist/components/Panel/PanelToggle.mjs +43 -0
  60. package/dist/components/Panel/PartOfManifest.mjs +52 -0
  61. package/dist/components/Primitives/Primitives.mjs +263 -0
  62. package/dist/components/Primitives/resource.mjs +11 -0
  63. package/dist/components/Provider/Provider.mjs +174 -0
  64. package/dist/components/Root/Announcer.mjs +58 -0
  65. package/dist/components/Root/Root.mjs +29 -0
  66. package/dist/components/Root/useRootState.mjs +188 -0
  67. package/dist/components/Scene/Connected.mjs +48 -0
  68. package/dist/components/Scene/Loaded.mjs +56 -0
  69. package/dist/components/Scene/RotatePad.mjs +204 -0
  70. package/dist/components/Scene/Scene.mjs +20 -0
  71. package/dist/components/Scene/SceneView.mjs +539 -0
  72. package/dist/components/Scene/cloverEngine.mjs +105 -0
  73. package/dist/components/Scene/engine.mjs +141 -0
  74. package/dist/components/Scene/engines.mjs +23 -0
  75. package/dist/components/Scene/gestures.mjs +74 -0
  76. package/dist/components/Scene/models.mjs +78 -0
  77. package/dist/components/Scene/orbit.mjs +60 -0
  78. package/dist/components/Search/Search.mjs +246 -0
  79. package/dist/components/Split/Split.mjs +203 -0
  80. package/dist/components/Split/splitting.mjs +203 -0
  81. package/dist/components/Status/Status.mjs +47 -0
  82. package/dist/components/Timeline/Connected.mjs +25 -0
  83. package/dist/components/Timeline/Timeline.mjs +40 -0
  84. package/dist/components/Timeline/playerSurface.mjs +84 -0
  85. package/dist/components/Transcript/Transcript.mjs +377 -0
  86. package/dist/components/Viewer/Viewer.mjs +19 -0
  87. package/dist/core/annotation-bodies.mjs +29 -0
  88. package/dist/core/annotation-collection.mjs +55 -0
  89. package/dist/core/annotation-name.mjs +31 -0
  90. package/dist/core/annotation-sets.mjs +155 -0
  91. package/dist/core/annotations-content.mjs +27 -0
  92. package/dist/core/annotations.mjs +73 -0
  93. package/dist/core/clover.mjs +393 -0
  94. package/dist/core/content-state-reader.mjs +82 -0
  95. package/dist/core/content-state.mjs +43 -0
  96. package/dist/core/direction.mjs +12 -0
  97. package/dist/core/geo-detect.mjs +30 -0
  98. package/dist/core/geo.mjs +283 -0
  99. package/dist/core/items.mjs +74 -0
  100. package/dist/core/keep-fragments.mjs +40 -0
  101. package/dist/core/link.mjs +28 -0
  102. package/dist/core/load.mjs +176 -0
  103. package/dist/core/map-config.mjs +12 -0
  104. package/dist/core/markdown.mjs +139 -0
  105. package/dist/core/pages.mjs +51 -0
  106. package/dist/core/painted-bodies.mjs +20 -0
  107. package/dist/core/painting.mjs +17 -0
  108. package/dist/core/presentation.mjs +27 -0
  109. package/dist/core/ranges.mjs +133 -0
  110. package/dist/core/region.mjs +32 -0
  111. package/dist/core/request.mjs +40 -0
  112. package/dist/core/sanitize.mjs +72 -0
  113. package/dist/core/search-service.mjs +22 -0
  114. package/dist/core/search.mjs +154 -0
  115. package/dist/core/selectors.mjs +94 -0
  116. package/dist/core/sequence.mjs +70 -0
  117. package/dist/core/show-link.mjs +16 -0
  118. package/dist/core/store.mjs +40 -0
  119. package/dist/core/svg-shape.mjs +183 -0
  120. package/dist/core/text.mjs +36 -0
  121. package/dist/core/thumbnail.mjs +55 -0
  122. package/dist/core/value.mjs +39 -0
  123. package/dist/core/vtt.mjs +111 -0
  124. package/dist/hooks/useFullscreen.mjs +21 -0
  125. package/dist/hooks/useFullscreenSupported.mjs +11 -0
  126. package/dist/hooks/useLoaded.mjs +27 -0
  127. package/dist/hooks/useWithinFullscreen.mjs +24 -0
  128. package/dist/i18n/config.mjs +170 -0
  129. package/dist/i18n/hostLanguage.mjs +6 -0
  130. package/dist/i18n/locales/en.json.mjs +5 -0
  131. package/dist/i18n/locales/es.json.mjs +5 -0
  132. package/dist/i18n/locales/fi.json.mjs +5 -0
  133. package/dist/i18n/locales/fr.json.mjs +5 -0
  134. package/dist/i18n/locales/index.mjs +13 -0
  135. package/dist/i18n/locales/nb.json.mjs +5 -0
  136. package/dist/i18n/locales/nn.json.mjs +5 -0
  137. package/dist/i18n/locales/no.json.mjs +5 -0
  138. package/dist/i18n/locales/pt.json.mjs +5 -0
  139. package/dist/i18n/reader.mjs +13 -0
  140. package/dist/i18n/useCloverTranslation.mjs +28 -0
  141. package/dist/index.d.mts +2204 -0
  142. package/dist/index.mjs +133 -0
  143. package/dist/lib/asArray.mjs +5 -0
  144. package/dist/lib/classnames.mjs +5 -0
  145. package/dist/lib/fullscreen.mjs +65 -0
  146. package/dist/lib/gltf/bounds.mjs +44 -0
  147. package/dist/lib/gltf/load.mjs +156 -0
  148. package/dist/lib/gltf/mat4.mjs +150 -0
  149. package/dist/lib/gltf/renderer.mjs +342 -0
  150. package/dist/lib/gltf/shaders.mjs +192 -0
  151. package/dist/lib/hls.mjs +6 -0
  152. package/dist/lib/pointer.mjs +38 -0
  153. package/dist/lib/renderer/CanvasRenderer.mjs +857 -0
  154. package/dist/lib/renderer/backends/backend.mjs +21 -0
  155. package/dist/lib/renderer/backends/canvas2d/Canvas2DBackend.mjs +91 -0
  156. package/dist/lib/renderer/backends/contexts.mjs +27 -0
  157. package/dist/lib/renderer/backends/dom/DomLayers.mjs +91 -0
  158. package/dist/lib/renderer/backends/webgl2/WebGL2Backend.mjs +248 -0
  159. package/dist/lib/renderer/backends/webgl2/shaders.mjs +28 -0
  160. package/dist/lib/renderer/camera/Camera.mjs +64 -0
  161. package/dist/lib/renderer/camera/CameraAnimator.mjs +90 -0
  162. package/dist/lib/renderer/input/GestureController.mjs +252 -0
  163. package/dist/lib/renderer/io/TileCache.mjs +207 -0
  164. package/dist/lib/renderer/io/decode.mjs +156 -0
  165. package/dist/lib/renderer/loop/FrameLoop.mjs +50 -0
  166. package/dist/lib/renderer/math/affine.mjs +68 -0
  167. package/dist/lib/renderer/math/rect.mjs +45 -0
  168. package/dist/lib/renderer/overlays/Navigator.mjs +141 -0
  169. package/dist/lib/renderer/overlays/OverlayLayer.mjs +94 -0
  170. package/dist/lib/renderer/scene/planFrame.mjs +168 -0
  171. package/dist/lib/renderer/scene/regions.mjs +30 -0
  172. package/dist/lib/renderer/scene/sceneItem.mjs +114 -0
  173. package/dist/lib/renderer/scene/uploadBudget.mjs +30 -0
  174. package/dist/lib/renderer/sources/imageService.mjs +160 -0
  175. package/dist/lib/renderer/sources/sizedImage.mjs +38 -0
  176. package/dist/lib/renderer/sources/tilePyramid.mjs +172 -0
  177. package/dist/lib/time.mjs +21 -0
  178. package/dist/map/index.d.mts +184 -0
  179. package/dist/map/index.mjs +16 -0
  180. package/dist/react/context.mjs +46 -0
  181. package/dist/react/hooks.mjs +69 -0
  182. package/dist/react/language.mjs +30 -0
  183. package/dist/styles.css +1 -0
  184. package/dist/templates/default/Default.mjs +229 -0
  185. package/dist/templates/document/Document.mjs +286 -0
  186. package/dist/templates/document/DocumentPanel.mjs +9 -0
  187. package/dist/templates/document/Sheets.mjs +360 -0
  188. package/dist/templates/gallery/Gallery.mjs +62 -0
  189. package/dist/templates/index.d.mts +273 -0
  190. package/dist/templates/index.mjs +11 -0
  191. package/dist/templates/shared/Lightbox.mjs +111 -0
  192. package/dist/templates/shared/LightboxBody.mjs +9 -0
  193. package/dist/templates/shared/dragToClose.mjs +129 -0
  194. package/dist/templates/shared/useDragToClose.mjs +35 -0
  195. package/dist/templates/shared/useDrawer.mjs +113 -0
  196. package/dist/templates/shared/useFollowFocus.mjs +24 -0
  197. package/dist/templates/shared/useSlide.mjs +52 -0
  198. package/dist/templates/shared/useSpine.mjs +26 -0
  199. package/dist/templates.css +1 -0
  200. package/dist/three/index.d.mts +6 -0
  201. package/dist/three/index.mjs +8 -0
  202. package/dist/ui/Button.mjs +53 -0
  203. package/dist/ui/ControlCluster.mjs +87 -0
  204. package/dist/ui/Cue.mjs +13 -0
  205. package/dist/ui/ErrorBoundary.mjs +26 -0
  206. package/dist/ui/ExitFullscreen.mjs +46 -0
  207. package/dist/ui/FieldPill.mjs +153 -0
  208. package/dist/ui/HideToggle.mjs +57 -0
  209. package/dist/ui/Loading.mjs +20 -0
  210. package/dist/ui/Markup.mjs +95 -0
  211. package/dist/ui/ReadMore.mjs +84 -0
  212. package/dist/ui/Sections.mjs +448 -0
  213. package/dist/ui/Steps.mjs +84 -0
  214. package/dist/ui/Tip.mjs +196 -0
  215. package/dist/ui/bringIntoView.mjs +27 -0
  216. package/dist/ui/controlGlyphs.mjs +120 -0
  217. package/dist/ui/heading.mjs +19 -0
  218. package/dist/ui/languageCode.mjs +8 -0
  219. package/dist/ui/mediaIcons.mjs +104 -0
  220. package/dist/ui/useClusterReach.mjs +50 -0
  221. package/dist/ui/useContainerName.mjs +19 -0
  222. package/dist/ui/useOneOpen.mjs +22 -0
  223. package/dist/ui/useRovingFocus.mjs +64 -0
  224. package/dist/ui/useScrollTrack.mjs +150 -0
  225. package/dist/ui/useUniqueId.mjs +10 -0
  226. package/dist/ui/visuallyHidden.mjs +15 -0
  227. package/dist/web-components/About-uKa1wfDr.mjs +1 -0
  228. package/dist/web-components/AnnotationMenu-BGIYRXW6.mjs +1 -0
  229. package/dist/web-components/AnnotationState-D2UIgIEC.mjs +1 -0
  230. package/dist/web-components/Annotations-BhwAv3ah.mjs +1 -0
  231. package/dist/web-components/Annotations-C_tBJHo3.mjs +2 -0
  232. package/dist/web-components/Body-DMEERFuB.mjs +1 -0
  233. package/dist/web-components/BodyAlert-BP8voSLv.mjs +1 -0
  234. package/dist/web-components/Button-Cl02BFDd.mjs +1 -0
  235. package/dist/web-components/Camera-Dw51CAfF.mjs +1 -0
  236. package/dist/web-components/Canvas2DBackend-RRN2bEkc.mjs +1 -0
  237. package/dist/web-components/CanvasView-B8lMMSou.mjs +1 -0
  238. package/dist/web-components/CaptionDetails-KLMDv-ec.mjs +1 -0
  239. package/dist/web-components/ChoiceMenu-CXrVOmJl.mjs +1 -0
  240. package/dist/web-components/Collection-DL4Ui4hF.mjs +1 -0
  241. package/dist/web-components/CollectionSelect-DL-bbpwJ.mjs +1 -0
  242. package/dist/web-components/Connected-B0S1HXQb.mjs +1 -0
  243. package/dist/web-components/Connected-BcjRA5si.mjs +1 -0
  244. package/dist/web-components/Connected-Q7iizBb8.mjs +1 -0
  245. package/dist/web-components/Contents-ZC8TiGaW.mjs +1 -0
  246. package/dist/web-components/ControlMenu-DIoU797-.mjs +1 -0
  247. package/dist/web-components/Cue-CJxnDMEy.mjs +1 -0
  248. package/dist/web-components/Document-DHBRAFEK.mjs +1 -0
  249. package/dist/web-components/DocumentPanel-CqvE2pu9.mjs +1 -0
  250. package/dist/web-components/DomLayers-BsR2AOy-.mjs +1 -0
  251. package/dist/web-components/Download-DBksL1C0.mjs +1 -0
  252. package/dist/web-components/EntryBodies-VwEkTVrw.mjs +1 -0
  253. package/dist/web-components/ErrorBoundary-Cy9PGoZv.mjs +1 -0
  254. package/dist/web-components/FieldPill-DCJBz6Vj.mjs +1 -0
  255. package/dist/web-components/FrameAnimation-DRbmgGpF.mjs +1 -0
  256. package/dist/web-components/Gallery-BM7-VJkB.mjs +1 -0
  257. package/dist/web-components/HideToggle-BdYgG7us.mjs +1 -0
  258. package/dist/web-components/Items-_1Jz3FMs.mjs +1 -0
  259. package/dist/web-components/Label-CAiJ49eA.mjs +1 -0
  260. package/dist/web-components/LightboxBody-DyhUZiDf.mjs +1 -0
  261. package/dist/web-components/Loaded-wQurAeJz.mjs +1 -0
  262. package/dist/web-components/LoadedCanvas-DWz5IK5m.mjs +1 -0
  263. package/dist/web-components/LoadedMap-DIeW313M.mjs +1 -0
  264. package/dist/web-components/Loading-BmA--pzr.mjs +1 -0
  265. package/dist/web-components/Map-DzVGblIS.mjs +1 -0
  266. package/dist/web-components/MapView-BJaN7VBI.mjs +1 -0
  267. package/dist/web-components/Markup-D91DbxLk.mjs +2 -0
  268. package/dist/web-components/MediaBody-BYcVPo2X.mjs +1 -0
  269. package/dist/web-components/MediaBody-FEzH8VVw.mjs +1 -0
  270. package/dist/web-components/Navigator-CIJFA3q1.mjs +1 -0
  271. package/dist/web-components/Pager-BGwCurxE.mjs +1 -0
  272. package/dist/web-components/Panel-B-GXOkzF.mjs +1 -0
  273. package/dist/web-components/PanelToggle-BYjV2t1j.mjs +1 -0
  274. package/dist/web-components/PartOfManifest-ClbGepVM.mjs +1 -0
  275. package/dist/web-components/Pending-BspZajh5.mjs +1 -0
  276. package/dist/web-components/Primitives-CTh59wvs.mjs +1 -0
  277. package/dist/web-components/Provider-C6rIiDXH.mjs +1 -0
  278. package/dist/web-components/ReadMore-BJ2i-0uN.mjs +1 -0
  279. package/dist/web-components/Root-DkkYDtur.mjs +1 -0
  280. package/dist/web-components/Scene-B_PU_TiX.mjs +1 -0
  281. package/dist/web-components/SceneView-qcW_sT3j.mjs +1 -0
  282. package/dist/web-components/Search-UOneIUcP.mjs +1 -0
  283. package/dist/web-components/Sections-we9U9fXq.mjs +2 -0
  284. package/dist/web-components/StandaloneItems-DU8oCFc_.mjs +1 -0
  285. package/dist/web-components/Status-Cs5ZvFvL.mjs +1 -0
  286. package/dist/web-components/Timeline-WtYZ1bIJ.mjs +1 -0
  287. package/dist/web-components/Tip-C8J3qsIK.mjs +1 -0
  288. package/dist/web-components/Transcript-CRL2zToL.mjs +1 -0
  289. package/dist/web-components/annotation-collection-ZPyvpLFc.mjs +1 -0
  290. package/dist/web-components/annotations-content-BZChKhJZ.mjs +1 -0
  291. package/dist/web-components/assets/maplibre-gl-worker-kTz9OPxr.js +13831 -0
  292. package/dist/web-components/body-UntgrmoV.mjs +1 -0
  293. package/dist/web-components/bringIntoView-CQH5ZgMM.mjs +1 -0
  294. package/dist/web-components/canvas-d_U4v_mh.mjs +1 -0
  295. package/dist/web-components/classnames-DukgfdpI.mjs +1 -0
  296. package/dist/web-components/cloverEngine-Dbv-26NP.mjs +164 -0
  297. package/dist/web-components/content-state-reader-DjdKWjit.mjs +1 -0
  298. package/dist/web-components/contexts-ByL3eA_T.mjs +1 -0
  299. package/dist/web-components/controls-qRYf2jO2.mjs +1 -0
  300. package/dist/web-components/custom-elements.json +2739 -0
  301. package/dist/web-components/dragToClose-C-Pf1IeO.mjs +1 -0
  302. package/dist/web-components/engine-D8JLgzqq.mjs +4228 -0
  303. package/dist/web-components/engines-BwVb9R_A.mjs +1 -0
  304. package/dist/web-components/es-BwMkoRod.mjs +1 -0
  305. package/dist/web-components/fi-gPFOn9RK.mjs +1 -0
  306. package/dist/web-components/fr-DUHmgdJo.mjs +1 -0
  307. package/dist/web-components/fromManifest-UrMJgktp.mjs +1 -0
  308. package/dist/web-components/glyphs-BoX0a88P.mjs +1 -0
  309. package/dist/web-components/heading-Cjt0f-Eu.mjs +1 -0
  310. package/dist/web-components/hls-CdKrthkC.mjs +40 -0
  311. package/dist/web-components/hooks-Dp8pjU8l.mjs +1 -0
  312. package/dist/web-components/imageService-C3yg9DxB.mjs +1 -0
  313. package/dist/web-components/index-DWxMuwDL.mjs +1 -0
  314. package/dist/web-components/index.d.mts +604 -0
  315. package/dist/web-components/index.mjs +1 -0
  316. package/dist/web-components/index.umd.js +18 -0
  317. package/dist/web-components/items--Tu7ZM3L.mjs +1 -0
  318. package/dist/web-components/items-W2vrwArM.mjs +1 -0
  319. package/dist/web-components/keep-fragments-B5nlv2ck.mjs +1 -0
  320. package/dist/web-components/label-CYQ7tVl6.mjs +1 -0
  321. package/dist/web-components/languageCode-cCpiU0b0.mjs +1 -0
  322. package/dist/web-components/layout-KL0V-iJu.mjs +1 -0
  323. package/dist/web-components/link-DRRTY4lY.mjs +1 -0
  324. package/dist/web-components/logo-CnQUCB3Y.mjs +1 -0
  325. package/dist/web-components/maplibre-gl-CQ4OueXY.mjs +823 -0
  326. package/dist/web-components/markdown-CCYJwzFn.mjs +5 -0
  327. package/dist/web-components/models-BP2qp9nT.mjs +1 -0
  328. package/dist/web-components/nb-BSvnQ6jd.mjs +1 -0
  329. package/dist/web-components/nn-Dg2_HdZu.mjs +1 -0
  330. package/dist/web-components/no-BSvnQ6jd.mjs +1 -0
  331. package/dist/web-components/nodes-Bf-Fb7e5.mjs +1 -0
  332. package/dist/web-components/overlayImage-DdPs2EGY.mjs +1 -0
  333. package/dist/web-components/panClearOfControls-ac9uf-Qs.mjs +1 -0
  334. package/dist/web-components/panel-CiqEFDzv.mjs +1 -0
  335. package/dist/web-components/part-CUBY90_b.mjs +1 -0
  336. package/dist/web-components/playerSurface-i2TJz-F4.mjs +1 -0
  337. package/dist/web-components/provider-LUmAQSoP.mjs +1 -0
  338. package/dist/web-components/pt-B3J80JgO.mjs +1 -0
  339. package/dist/web-components/read-more-BaaO77el.mjs +1 -0
  340. package/dist/web-components/rendererSurface-DAvatpMF.mjs +22 -0
  341. package/dist/web-components/renderers-Bg4QqawN.mjs +1 -0
  342. package/dist/web-components/resource-DzIvB_4m.mjs +1 -0
  343. package/dist/web-components/sanitize-Dc7nOsgO.mjs +3 -0
  344. package/dist/web-components/search-DgcgsI3I.mjs +1 -0
  345. package/dist/web-components/shared-J3w3gnXD.mjs +1 -0
  346. package/dist/web-components/show-link-DWRRXSBy.mjs +1 -0
  347. package/dist/web-components/sizedImage-DfjlV2-i.mjs +1 -0
  348. package/dist/web-components/split-m-_XivaW.mjs +1 -0
  349. package/dist/web-components/splitting-BnQUxxgH.mjs +1 -0
  350. package/dist/web-components/status-DDS7jLNd.mjs +1 -0
  351. package/dist/web-components/styles-Ypl9KrSK.mjs +1 -0
  352. package/dist/web-components/svg-shape-DLY3g7oq.mjs +1 -0
  353. package/dist/web-components/text-BTAkxEfQ.mjs +5 -0
  354. package/dist/web-components/three.mjs +1 -0
  355. package/dist/web-components/thumbnail-BZvLSwWW.mjs +1 -0
  356. package/dist/web-components/time-B9GZoYcm.mjs +1 -0
  357. package/dist/web-components/tip-BXByhOJ9.mjs +1 -0
  358. package/dist/web-components/toggle-AS72kq6v.mjs +1 -0
  359. package/dist/web-components/upgrader-XNxI-5jo.mjs +1 -0
  360. package/dist/web-components/useContainerName-DCbE5JXi.mjs +1 -0
  361. package/dist/web-components/useNearViewport-CyoK3l8W.mjs +1 -0
  362. package/dist/web-components/useScrollTrack-dLFWnT8N.mjs +1 -0
  363. package/dist/web-components/viewer/AnnotationMenu-Dd4tnzNV.mjs +1 -0
  364. package/dist/web-components/viewer/AnnotationState-DZaSy5lH.mjs +1 -0
  365. package/dist/web-components/viewer/Annotations-D1h-Yi5J.mjs +1 -0
  366. package/dist/web-components/viewer/Annotations-sj79EMen.mjs +2 -0
  367. package/dist/web-components/viewer/Canvas2DBackend-CkvI0wUT.mjs +1 -0
  368. package/dist/web-components/viewer/CaptionDetails-B_JdNjJ7.mjs +1 -0
  369. package/dist/web-components/viewer/ChoiceMenu-xa51a1DV.mjs +1 -0
  370. package/dist/web-components/viewer/Collection-CxuLCspj.mjs +1 -0
  371. package/dist/web-components/viewer/Connected-BSUBc3Ci.mjs +1 -0
  372. package/dist/web-components/viewer/Connected-CPIxNjF2.mjs +1 -0
  373. package/dist/web-components/viewer/Contents-DNh9mnsF.mjs +1 -0
  374. package/dist/web-components/viewer/ControlMenu-DdgIvBdf.mjs +1 -0
  375. package/dist/web-components/viewer/Cue-90H9_dXz.mjs +1 -0
  376. package/dist/web-components/viewer/Document-CNCpzkiN.mjs +1 -0
  377. package/dist/web-components/viewer/DocumentPanel-BdG4TVLE.mjs +1 -0
  378. package/dist/web-components/viewer/DomLayers-Dybz_aJv.mjs +1 -0
  379. package/dist/web-components/viewer/EntryBodies-DGXjFP3N.mjs +1 -0
  380. package/dist/web-components/viewer/FieldPill-Icmd98OY.mjs +1 -0
  381. package/dist/web-components/viewer/FrameAnimation-DJZN3Rd4.mjs +1 -0
  382. package/dist/web-components/viewer/Gallery-CEp3-bh2.mjs +1 -0
  383. package/dist/web-components/viewer/HideToggle-DB6HTmAO.mjs +1 -0
  384. package/dist/web-components/viewer/LightboxBody-ClQ4yrTh.mjs +1 -0
  385. package/dist/web-components/viewer/MapView-BVSdybIC.mjs +1 -0
  386. package/dist/web-components/viewer/MediaBody-BBbSMT1i.mjs +1 -0
  387. package/dist/web-components/viewer/MediaBody-BzMXMHIF.mjs +1 -0
  388. package/dist/web-components/viewer/Navigator-Duc69Yes.mjs +1 -0
  389. package/dist/web-components/viewer/PartOfManifest-X9_q-2t6.mjs +1 -0
  390. package/dist/web-components/viewer/Search-S4N5QU4R.mjs +1 -0
  391. package/dist/web-components/viewer/StandaloneItems-BO4VyWRW.mjs +1 -0
  392. package/dist/web-components/viewer/Transcript-BbDaS064.mjs +1 -0
  393. package/dist/web-components/viewer/annotation-collection-BjZ1DAHq.mjs +1 -0
  394. package/dist/web-components/viewer/annotations-content-jn3n5Y2-.mjs +1 -0
  395. package/dist/web-components/viewer/cloverEngine-CjuYjUhI.mjs +164 -0
  396. package/dist/web-components/viewer/content-state-reader-CPiShIjP.mjs +1 -0
  397. package/dist/web-components/viewer/host-yWi4R1bP.mjs +1 -0
  398. package/dist/web-components/viewer/index.d.mts +7 -0
  399. package/dist/web-components/viewer/index.mjs +1 -0
  400. package/dist/web-components/viewer/index.umd.js +18 -0
  401. package/dist/web-components/viewer/link-CwE-fg5G.mjs +1 -0
  402. package/dist/web-components/viewer/overlayImage-BpOgqsZ0.mjs +1 -0
  403. package/dist/web-components/viewer/renderers-L-IlGI1r.mjs +1 -0
  404. package/dist/web-components/viewer/search-DWkwRPo_.mjs +1 -0
  405. package/dist/web-components/viewer/styles-BRCkEU3w.mjs +1 -0
  406. package/dist/web-components/viewer/viewer--TreVlJ_.mjs +28 -0
  407. package/dist/web-components/viewer/vtt-1ZJwtElI.mjs +5 -0
  408. package/dist/web-components/viewer-DyV864Qe.mjs +1 -0
  409. package/dist/web-components/vtt-GFssZH8Y.mjs +5 -0
  410. package/package.json +110 -4
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ import { cloverFetch } from "./request.mjs";
3
+ function seconds(timestamp) {
4
+ const parts = timestamp.trim().split(":").map(Number);
5
+ if (parts.some(Number.isNaN)) return NaN;
6
+ return parts.reduce((total, part) => total * 60 + part, 0);
7
+ }
8
+ const ENTITIES = {
9
+ "&": "&",
10
+ "&lt;": "<",
11
+ "&gt;": ">",
12
+ "&nbsp;": " ",
13
+ "&lrm;": "‎",
14
+ "&rlm;": "‏",
15
+ "&quot;": '"',
16
+ "&apos;": "'"
17
+ };
18
+ function cueText(raw) {
19
+ return raw.replace(/<[^>]*>/g, "").replace(/&(?:#(\d+)|#x([0-9a-f]+)|[a-z]+);/gi, (entity, dec, hex) => {
20
+ if (!dec && !hex) return ENTITIES[entity.toLowerCase()] ?? entity;
21
+ const code = dec ? parseInt(dec, 10) : parseInt(hex, 16);
22
+ return code > 0 && code <= 1114111 ? String.fromCodePoint(code) : entity;
23
+ });
24
+ }
25
+ function parseVtt(text) {
26
+ var _a, _b;
27
+ const cues = [];
28
+ const blocks = text.replace(/\r\n?/g, "\n").split(/\n{2,}/);
29
+ for (const block of blocks) {
30
+ const lines = block.split("\n").filter((line) => line.length);
31
+ const timing = lines.findIndex((line) => line.includes("-->"));
32
+ if (timing === -1) continue;
33
+ const [from, rest] = lines[timing].split("-->");
34
+ const start = seconds(from);
35
+ const end = seconds(rest.trim().split(/\s+/)[0]);
36
+ if (!Number.isFinite(start) || !Number.isFinite(end)) continue;
37
+ const raw = lines.slice(timing + 1).join("\n");
38
+ const voice = (_b = (_a = /<v(?:\.[^\s>]+)*\s+([^>]+)>/.exec(raw)) == null ? void 0 : _a[1]) == null ? void 0 : _b.trim();
39
+ const body = cueText(raw);
40
+ cues.push({ start, end, text: body, ...voice ? { voice } : {} });
41
+ }
42
+ return cues.sort((a, b) => a.start - b.start);
43
+ }
44
+ function cueAt(cues, time) {
45
+ let low = 0;
46
+ let high = cues.length - 1;
47
+ let found = -1;
48
+ while (low <= high) {
49
+ const mid = low + high >> 1;
50
+ if (cues[mid].start <= time) {
51
+ found = mid;
52
+ low = mid + 1;
53
+ } else {
54
+ high = mid - 1;
55
+ }
56
+ }
57
+ for (let index = found; index >= 0; index--) {
58
+ if (cues[index].end > time) return index;
59
+ if (time - cues[index].start > 3600) break;
60
+ }
61
+ return -1;
62
+ }
63
+ function fetchOnce(cache, url, request, read) {
64
+ let file = cache.get(url);
65
+ if (!file) {
66
+ file = cloverFetch(request, url).then(
67
+ (response) => response.ok ? read(response) : Promise.reject(new Error(String(response.status)))
68
+ ).catch((error) => {
69
+ cache.delete(url);
70
+ throw error;
71
+ });
72
+ cache.set(url, file);
73
+ }
74
+ return file;
75
+ }
76
+ const files = /* @__PURE__ */ new Map();
77
+ function loadVtt(url, request) {
78
+ return fetchOnce(files, url, request, (response) => response.text());
79
+ }
80
+ const texts = /* @__PURE__ */ new Map();
81
+ function loadText(url, request) {
82
+ return fetchOnce(
83
+ texts,
84
+ url,
85
+ request,
86
+ async (response) => decodeText(await response.arrayBuffer())
87
+ );
88
+ }
89
+ const WINDOWS_1252 = "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ";
90
+ function decodeText(bytes) {
91
+ try {
92
+ return new TextDecoder("utf-8", { fatal: true }).decode(bytes);
93
+ } catch {
94
+ return new TextDecoder("windows-1252").decode(bytes).replace(
95
+ /[\u0080-\u009f]/g,
96
+ (control) => WINDOWS_1252[control.charCodeAt(0) - 128]
97
+ );
98
+ }
99
+ }
100
+ function paragraphsOf(text) {
101
+ return text.replace(/\r\n?/g, "\n").split(/\n[ \t]*(?:\n[ \t]*)+/).map((paragraph) => paragraph.trim()).filter(Boolean);
102
+ }
103
+ export {
104
+ cueAt,
105
+ cueText,
106
+ decodeText,
107
+ loadText,
108
+ loadVtt,
109
+ paragraphsOf,
110
+ parseVtt
111
+ };
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { getFullscreenElement } from "../lib/fullscreen.mjs";
3
+ import { useState, useEffect } from "react";
4
+ function useFullscreen(element) {
5
+ const [isFullscreen, setIsFullscreen] = useState(false);
6
+ useEffect(() => {
7
+ if (!element) return;
8
+ const sync = () => setIsFullscreen(getFullscreenElement() === element);
9
+ sync();
10
+ document.addEventListener("fullscreenchange", sync);
11
+ document.addEventListener("webkitfullscreenchange", sync);
12
+ return () => {
13
+ document.removeEventListener("fullscreenchange", sync);
14
+ document.removeEventListener("webkitfullscreenchange", sync);
15
+ };
16
+ }, [element]);
17
+ return isFullscreen;
18
+ }
19
+ export {
20
+ useFullscreen as default
21
+ };
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { useSyncExternalStore } from "react";
3
+ import { isFullscreenSupported } from "../lib/fullscreen.mjs";
4
+ const subscribe = () => () => {
5
+ };
6
+ function useFullscreenSupported() {
7
+ return useSyncExternalStore(subscribe, isFullscreenSupported, () => true);
8
+ }
9
+ export {
10
+ useFullscreenSupported as default
11
+ };
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useState, useEffect } from "react";
3
+ const loaded = /* @__PURE__ */ new WeakMap();
4
+ function useLoaded(load, needed) {
5
+ const [module, setModule] = useState(
6
+ () => loaded.get(load) ?? null
7
+ );
8
+ useEffect(() => {
9
+ if (!needed || module) return;
10
+ let live = true;
11
+ load().then(
12
+ (arrived) => {
13
+ loaded.set(load, arrived);
14
+ if (live) setModule(() => arrived);
15
+ },
16
+ // Unreachable (offline, a blocked chunk): what it would draw stays undrawn.
17
+ () => void 0
18
+ );
19
+ return () => {
20
+ live = false;
21
+ };
22
+ }, [load, needed, module]);
23
+ return module;
24
+ }
25
+ export {
26
+ useLoaded
27
+ };
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { getFullscreenElement } from "../lib/fullscreen.mjs";
3
+ import { useState, useEffect } from "react";
4
+ function useWithinFullscreen(element) {
5
+ const [isWithin, setIsWithin] = useState(false);
6
+ useEffect(() => {
7
+ if (!element) return;
8
+ const sync = () => {
9
+ var _a;
10
+ return setIsWithin(Boolean((_a = getFullscreenElement()) == null ? void 0 : _a.contains(element)));
11
+ };
12
+ sync();
13
+ document.addEventListener("fullscreenchange", sync);
14
+ document.addEventListener("webkitfullscreenchange", sync);
15
+ return () => {
16
+ document.removeEventListener("fullscreenchange", sync);
17
+ document.removeEventListener("webkitfullscreenchange", sync);
18
+ };
19
+ }, [element]);
20
+ return isWithin;
21
+ }
22
+ export {
23
+ useWithinFullscreen as default
24
+ };
@@ -0,0 +1,170 @@
1
+ "use client";
2
+ import { loaders } from "./locales/index.mjs";
3
+ import { readerLanguages } from "./reader.mjs";
4
+ import en from "./locales/en.json.mjs";
5
+ const CLOVER_I18N_NAMESPACE = "clover";
6
+ const resources = {
7
+ en: { [CLOVER_I18N_NAMESPACE]: { ...en } }
8
+ };
9
+ let language;
10
+ let fallbacks = [];
11
+ let version = 0;
12
+ const listeners = /* @__PURE__ */ new Set();
13
+ function notify() {
14
+ version++;
15
+ listeners.forEach((listener) => listener());
16
+ }
17
+ function withBase(lng) {
18
+ const base = lng.split("-")[0];
19
+ return base && base !== lng ? [lng, base] : [lng];
20
+ }
21
+ const loading = /* @__PURE__ */ new Map();
22
+ const ships = (lng) => Object.prototype.hasOwnProperty.call(loaders, lng);
23
+ function load(lng) {
24
+ let pending = loading.get(lng);
25
+ if (!pending) {
26
+ pending = loaders[lng]().then(
27
+ ({ default: strings }) => {
28
+ var _a;
29
+ resources[lng] = {
30
+ ...resources[lng],
31
+ [CLOVER_I18N_NAMESPACE]: {
32
+ ...strings,
33
+ ...(_a = resources[lng]) == null ? void 0 : _a[CLOVER_I18N_NAMESPACE]
34
+ }
35
+ };
36
+ notify();
37
+ },
38
+ // Unreachable (offline, a blocked chunk): the next language in the chain speaks.
39
+ () => void 0
40
+ );
41
+ loading.set(lng, pending);
42
+ }
43
+ return pending;
44
+ }
45
+ function loadFor(chain2) {
46
+ const lng = chain2.find((tag) => tag === "en" || ships(tag));
47
+ return lng && lng !== "en" ? load(lng) : Promise.resolve();
48
+ }
49
+ let chain = [];
50
+ let madeFrom = "";
51
+ function lookupChain() {
52
+ const from = language ? `${version}` : `${version} ${typeof document < "u" ? document.documentElement.lang : ""} ${typeof navigator < "u" ? navigator.languages : ""}`;
53
+ if (from === madeFrom) return chain;
54
+ madeFrom = from;
55
+ const requested = language ? [language] : readerLanguages();
56
+ chain = [
57
+ ...new Set([...requested, ...fallbacks].flatMap(withBase).concat("en"))
58
+ ];
59
+ void loadFor(chain);
60
+ return chain;
61
+ }
62
+ function sameLanguage(a, b) {
63
+ const base = (tag) => tag.split("-")[0].toLowerCase();
64
+ return base(a) === base(b);
65
+ }
66
+ function langWithin(lang, hostLanguage) {
67
+ if (!lang) return void 0;
68
+ return sameLanguage(lang, hostLanguage || cloverI18n.resolvedLanguage) ? void 0 : lang;
69
+ }
70
+ const cloverI18n = {
71
+ /** The language set, or else the first of the reader's that Clover has strings for. */
72
+ get language() {
73
+ return language ?? lookupChain().find((lng) => resources[lng]) ?? "en";
74
+ },
75
+ /**
76
+ * The language Clover's strings are in: the first of the lookup chain that has any. A
77
+ * language set with no strings of its own resolves to the next, English at the last.
78
+ */
79
+ get resolvedLanguage() {
80
+ return lookupChain().find(
81
+ (lng) => {
82
+ var _a;
83
+ return Object.keys(((_a = resources[lng]) == null ? void 0 : _a[CLOVER_I18N_NAMESPACE]) ?? {}).length > 0;
84
+ }
85
+ ) ?? "en";
86
+ },
87
+ changeLanguage(lng) {
88
+ language = lng;
89
+ notify();
90
+ },
91
+ /** A string and the language it came from, which a missing key leaves in another. */
92
+ resolve(key, values, namespace = CLOVER_I18N_NAMESPACE) {
93
+ var _a, _b;
94
+ let found = { text: key };
95
+ for (const lng of lookupChain()) {
96
+ const value = (_b = (_a = resources[lng]) == null ? void 0 : _a[namespace]) == null ? void 0 : _b[key];
97
+ if (value !== void 0) {
98
+ found = { text: value, lang: lng };
99
+ break;
100
+ }
101
+ }
102
+ if (!values) return found;
103
+ return {
104
+ ...found,
105
+ text: found.text.replace(
106
+ /\{\{(\w+)\}\}/g,
107
+ (match, name) => name in values ? String(values[name]) : match
108
+ )
109
+ };
110
+ },
111
+ t(key, values, namespace = CLOVER_I18N_NAMESPACE) {
112
+ return cloverI18n.resolve(key, values, namespace).text;
113
+ },
114
+ /**
115
+ * The language of a key's string where it is not the page's (`hostLanguage`), for the
116
+ * element that shows it, or is named by it, to carry as `lang` (WCAG 3.1.2). Otherwise
117
+ * undefined: the string takes the page's language. Without `hostLanguage`, only a
118
+ * string that fell back to another language than the interface's is marked.
119
+ */
120
+ langOf(key, hostLanguage, namespace = CLOVER_I18N_NAMESPACE) {
121
+ return langWithin(
122
+ cloverI18n.resolve(key, void 0, namespace).lang,
123
+ hostLanguage
124
+ );
125
+ },
126
+ /**
127
+ * Settles once the language Clover speaks has loaded, or failed to: for a server render,
128
+ * or a test, that needs the strings in place before it draws.
129
+ *
130
+ * await initCloverI18n({ lng: "fr" }).ready();
131
+ */
132
+ ready() {
133
+ return loadFor(lookupChain());
134
+ },
135
+ /** For `useSyncExternalStore`: re-render readers when the language or strings change. */
136
+ subscribe(listener) {
137
+ listeners.add(listener);
138
+ return () => {
139
+ listeners.delete(listener);
140
+ };
141
+ },
142
+ getSnapshot() {
143
+ return version;
144
+ }
145
+ };
146
+ if (typeof document !== "undefined") lookupChain();
147
+ function initCloverI18n(options = {}) {
148
+ for (const [lng, namespaces] of Object.entries(options.resources ?? {})) {
149
+ for (const [namespace, strings] of Object.entries(namespaces ?? {})) {
150
+ resources[lng] ?? (resources[lng] = {});
151
+ resources[lng][namespace] = {
152
+ ...resources[lng][namespace],
153
+ ...strings
154
+ };
155
+ }
156
+ }
157
+ if (options.fallbackLng !== void 0) {
158
+ fallbacks = options.fallbackLng === false ? [] : [options.fallbackLng].flat();
159
+ }
160
+ if (options.lng) language = options.lng;
161
+ notify();
162
+ return cloverI18n;
163
+ }
164
+ export {
165
+ CLOVER_I18N_NAMESPACE,
166
+ cloverI18n,
167
+ initCloverI18n,
168
+ langWithin,
169
+ sameLanguage
170
+ };
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ const HostLanguageContext = createContext(void 0);
4
+ export {
5
+ HostLanguageContext
6
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const en = JSON.parse('{"commonClose":"Close","commonNext":"Next","commonPrevious":"Previous","commonSearch":"Search","commonViewAll":"View all","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Loading...","contentSearchPlaceholder":"Search","contentSearchResultsNone":"No results","contentSearchResult":"1 result","contentSearchResults":"{{count}} results","contentSearchError":"The search could not be completed.","contentSearchPosition":"Result {{index}} of {{total}}","contentSearchClear":"Clear search","canvasPosition":"Item {{index}} of {{total}}","canvasImage":"Image","canvasRoleDescription":"zoomable image","canvasKeysImage":"Use the arrow keys to pan, with Shift for larger steps, plus and minus to zoom, 0 to reset the view, and R or Shift+R to rotate.","canvasKeysMedia":"Press Space or K to play or pause, J or L to skip ten seconds back or forward, and M to mute or unmute.","canvasKeysAnnotations":"Press Escape to clear the selected annotation.","sceneModel":"3D model","sceneRoleDescription":"rotatable 3D model","sceneKeys":"Use the arrow keys to rotate the model, with Shift for larger steps, plus and minus to zoom, 0 to reset the view, and R or Shift+R to rotate it right or left.","sceneRotateUp":"Rotate up","sceneRotateDown":"Rotate down","sceneRotate":"Rotate","sceneResetView":"Reset view","statusLoading":"Loading…","statusError":"This could not be loaded.","itemsLabel":"Items","download":"Download","downloadPage":"This page","downloadAll":"All pages","templateSidebar":"Items","templateSidebarToggle":"Show items","collectionLabel":"Collection","itemsScrollBack":"Show previous items","itemsScrollForward":"Show more items","aboutRights":"Rights","aboutHomepage":"Homepage","aboutSeeAlso":"See also","aboutProvider":"Provider","logo":"Logo","aboutManifest":"IIIF Manifest","aboutCanvas":"IIIF Canvas","aboutPartOf":"Part of","aboutOpenManifest":"Open the full Manifest","aboutCollection":"IIIF Collection","annotationsHide":"Hide annotations","annotationsHideTip":"Hide","readMore":"Read more","readLess":"Read less","annotationsShow":"Find on the image","annotationsShowTime":"Find in the recording","annotationsImage":"Image","annotationsLanguage":"Language","annotationsOpenLink":"Open the link","transcriptLabel":"Transcript","imageViewerOpen":"Open image viewer","imageViewerClose":"Close image viewer","canvasChoice":"Choice","imageFullScreen":"Full screen","imageExitFullScreen":"Exit full screen","imageResetZoom":"Reset zoom","imageRotateLeft":"Rotate left","imageRotateRight":"Rotate right","imageZoomIn":"Zoom in","imageZoomOut":"Zoom out","informationPanelTabs":"Information panel","sectionsScrollBack":"Show previous tabs","sectionsScrollForward":"Show more tabs","informationPanelClose":"Close information panel","informationPanelTabsAbout":"About","informationPanelTabsAnnotations":"Annotations","informationPanelTabsSearch":"Search","informationPanelTabsContents":"Contents","informationPanelTabsMap":"Map","informationPanelTabsCollection":"Collection","mapUnavailable":"The map could not be shown.","mapLabel":"Map","mapAttribution":"Map credits","mapPlaceUntitled":"Place {{number}}","mapOverlay":"Georeferenced image","mapPlacesListed":"Places listed after the map: {{count}}","informationPanelToggle":"More information","playerPlay":"Play","playerPause":"Pause","playerClose":"Close player","playerMute":"Mute","playerUnmute":"Unmute","playerVolume":"Volume","playerSeek":"Seek","playerCaptions":"Captions","playerCaptionsOff":"Off","playerChapters":"Chapters","framePrevious":"Previous frame","frameNext":"Next frame","frameSeek":"Frame","frameRepeat":"Repeat","framePosition":"Frame {{index}} of {{total}}","playerCurrentTime":"Current time","playerDuration":"Duration","splitHandle":"Resize panels"}');
3
+ export {
4
+ en as default
5
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const es = JSON.parse('{"commonClose":"Cerrar","commonNext":"Siguiente","commonPrevious":"Anterior","commonSearch":"Buscar","commonViewAll":"Ver todo","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Cargando...","contentSearchPlaceholder":"Buscar","contentSearchResultsNone":"Sin resultados","contentSearchResult":"1 resultado","contentSearchResults":"{{count}} resultados","contentSearchError":"No se pudo completar la búsqueda.","contentSearchPosition":"Resultado {{index}} de {{total}}","contentSearchClear":"Borrar la búsqueda","canvasPosition":"Elemento {{index}} de {{total}}","canvasImage":"Imagen","canvasRoleDescription":"imagen ampliable","canvasKeysImage":"Use las teclas de flecha para desplazar la imagen, con Mayús para avanzar más, las teclas más y menos para acercar y alejar, 0 para restablecer la vista, y R o Mayús+R para girar.","canvasKeysMedia":"Pulse Espacio o K para reproducir o pausar, J o L para retroceder o avanzar diez segundos, y M para silenciar o activar el sonido.","canvasKeysAnnotations":"Pulse Esc para quitar la selección de la anotación.","sceneModel":"Modelo 3D","sceneRoleDescription":"modelo 3D giratorio","sceneKeys":"Use las teclas de flecha para girar el modelo, con Mayús para avanzar más, las teclas más y menos para acercar y alejar, 0 para restablecer la vista, y R o Mayús+R para girarlo a la derecha o a la izquierda.","sceneRotateUp":"Girar hacia arriba","sceneRotateDown":"Girar hacia abajo","sceneRotate":"Girar","sceneResetView":"Restablecer la vista","statusLoading":"Cargando…","statusError":"No se pudo cargar este contenido.","itemsLabel":"Elementos","download":"Descargar","downloadPage":"Esta página","downloadAll":"Todas las páginas","templateSidebar":"Elementos","templateSidebarToggle":"Mostrar elementos","collectionLabel":"Colección","itemsScrollBack":"Mostrar elementos anteriores","itemsScrollForward":"Mostrar más elementos","aboutRights":"Derechos","aboutHomepage":"Página de inicio","aboutSeeAlso":"Véase también","aboutProvider":"Proveedor","logo":"Logotipo","aboutManifest":"Manifiesto IIIF","aboutCanvas":"Lienzo IIIF","aboutPartOf":"Parte de","aboutOpenManifest":"Abrir el manifiesto completo","aboutCollection":"Colección IIIF","annotationsHide":"Ocultar anotaciones","annotationsHideTip":"Ocultar","readMore":"Leer más","readLess":"Leer menos","annotationsShow":"Ver en la imagen","annotationsShowTime":"Ver en la grabación","annotationsImage":"Imagen","annotationsLanguage":"Idioma","annotationsOpenLink":"Abrir el enlace","transcriptLabel":"Transcripción","imageViewerOpen":"Abrir el visor de imágenes","imageViewerClose":"Cerrar el visor de imágenes","canvasChoice":"Alternativas","imageFullScreen":"Pantalla completa","imageExitFullScreen":"Salir de pantalla completa","imageResetZoom":"Restablecer zoom","imageRotateLeft":"Girar a la izquierda","imageRotateRight":"Girar a la derecha","imageZoomIn":"Acercar","imageZoomOut":"Alejar","informationPanelTabs":"Panel de información","sectionsScrollBack":"Mostrar pestañas anteriores","sectionsScrollForward":"Mostrar más pestañas","informationPanelClose":"Cerrar el panel de información","informationPanelTabsAbout":"Acerca de","informationPanelTabsAnnotations":"Anotaciones","informationPanelTabsSearch":"Buscar","informationPanelTabsContents":"Índice","informationPanelTabsMap":"Mapa","informationPanelTabsCollection":"Colección","mapUnavailable":"No se pudo mostrar el mapa.","mapLabel":"Mapa","mapAttribution":"Créditos del mapa","mapPlaceUntitled":"Lugar {{number}}","mapOverlay":"Imagen georreferenciada","mapPlacesListed":"Lugares enumerados después del mapa: {{count}}","informationPanelToggle":"Más información","playerPlay":"Reproducir","playerPause":"Pausar","playerClose":"Cerrar el reproductor","playerMute":"Silenciar","playerUnmute":"Activar el sonido","playerVolume":"Volumen","playerSeek":"Posición de reproducción","playerCaptions":"Subtítulos","playerCaptionsOff":"Desactivados","playerChapters":"Capítulos","framePrevious":"Fotograma anterior","frameNext":"Fotograma siguiente","frameSeek":"Fotograma","frameRepeat":"Repetir","framePosition":"Fotograma {{index}} de {{total}}","playerCurrentTime":"Tiempo actual","playerDuration":"Duración","splitHandle":"Cambiar el tamaño de los paneles"}');
3
+ export {
4
+ es as default
5
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const fi = JSON.parse('{"commonClose":"Sulje","commonNext":"Seuraava","commonPrevious":"Edellinen","commonSearch":"Hae","commonViewAll":"Näytä kaikki","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Ladataan...","contentSearchPlaceholder":"Haku","contentSearchResultsNone":"Ei osumia","contentSearchResult":"1 osuma","contentSearchResults":"{{count}} osumaa","contentSearchError":"Hakua ei voitu suorittaa loppuun.","contentSearchPosition":"Osuma {{index}} / {{total}}","contentSearchClear":"Tyhjennä haku","canvasPosition":"Kohde {{index}} / {{total}}","canvasImage":"Kuva","canvasRoleDescription":"zoomattava kuva","canvasKeysImage":"Siirrä kuvaa nuolinäppäimillä, pidemmin Vaihto-näppäimen kanssa, lähennä ja loitonna plus- ja miinusnäppäimillä, palauta näkymä näppäimellä 0 ja kierrä näppäimellä R tai Vaihto+R.","canvasKeysMedia":"Toista tai keskeytä välilyönnillä tai näppäimellä K, siirry kymmenen sekuntia taaksepäin tai eteenpäin näppäimellä J tai L ja mykistä tai poista mykistys näppäimellä M.","canvasKeysAnnotations":"Poista annotaation valinta painamalla Esc-näppäintä.","sceneModel":"3D-malli","sceneRoleDescription":"käännettävä 3D-malli","sceneKeys":"Kierrä mallia nuolinäppäimillä, pidemmin Vaihto-näppäimen kanssa, lähennä ja loitonna plus- ja miinusnäppäimillä, palauta näkymä näppäimellä 0 ja kierrä oikealle tai vasemmalle näppäimellä R tai Vaihto+R.","sceneRotateUp":"Kierrä ylös","sceneRotateDown":"Kierrä alas","sceneRotate":"Kierrä","sceneResetView":"Palauta näkymä","statusLoading":"Ladataan…","statusError":"Tätä ei voitu ladata.","itemsLabel":"Kohteet","download":"Lataa","downloadPage":"Tämä sivu","downloadAll":"Kaikki sivut","templateSidebar":"Kohteet","templateSidebarToggle":"Näytä kohteet","collectionLabel":"Kokoelma","itemsScrollBack":"Näytä edelliset kohteet","itemsScrollForward":"Näytä lisää kohteita","aboutRights":"Oikeudet","aboutHomepage":"Kotisivu","aboutSeeAlso":"Katso myös","aboutProvider":"Tarjoaja","logo":"Logo","aboutManifest":"IIIF-manifesti","aboutCanvas":"IIIF-kanvaasi","aboutPartOf":"Osa kokonaisuutta","aboutOpenManifest":"Avaa koko manifesti","aboutCollection":"IIIF-kokoelma","annotationsHide":"Piilota annotaatiot","annotationsHideTip":"Piilota","readMore":"Lue lisää","readLess":"Näytä vähemmän","annotationsShow":"Näytä kuvassa","annotationsShowTime":"Näytä tallenteessa","annotationsImage":"Kuva","annotationsLanguage":"Kieli","annotationsOpenLink":"Avaa linkki","transcriptLabel":"Litteraatti","imageViewerOpen":"Avaa kuvakatselin","imageViewerClose":"Sulje kuvakatselin","canvasChoice":"Vaihtoehdot","imageFullScreen":"Koko näyttö","imageExitFullScreen":"Poistu koko näytöstä","imageResetZoom":"Palauta zoomaus","imageRotateLeft":"Kierrä vasemmalle","imageRotateRight":"Kierrä oikealle","imageZoomIn":"Lähennä","imageZoomOut":"Loitonna","informationPanelTabs":"Tietopaneeli","sectionsScrollBack":"Näytä edelliset välilehdet","sectionsScrollForward":"Näytä lisää välilehtiä","informationPanelClose":"Sulje tietopaneeli","informationPanelTabsAbout":"Tiedot","informationPanelTabsAnnotations":"Annotaatiot","informationPanelTabsSearch":"Haku","informationPanelTabsContents":"Sisältö","informationPanelTabsMap":"Kartta","informationPanelTabsCollection":"Kokoelma","mapUnavailable":"Karttaa ei voitu näyttää.","mapLabel":"Kartta","mapAttribution":"Kartan tekijätiedot","mapPlaceUntitled":"Paikka {{number}}","mapOverlay":"Georeferoitu kuva","mapPlacesListed":"Kartan jälkeen luetellut paikat: {{count}}","informationPanelToggle":"Lisätiedot","playerPlay":"Toista","playerPause":"Keskeytä","playerClose":"Sulje soitin","playerMute":"Mykistä","playerUnmute":"Poista mykistys","playerVolume":"Äänenvoimakkuus","playerSeek":"Toistokohta","playerCaptions":"Tekstitykset","playerCaptionsOff":"Pois","playerChapters":"Luvut","framePrevious":"Edellinen ruutu","frameNext":"Seuraava ruutu","frameSeek":"Ruutu","frameRepeat":"Toista uudelleen","framePosition":"Ruutu {{index}} / {{total}}","playerCurrentTime":"Kulunut aika","playerDuration":"Kesto","splitHandle":"Muuta paneelien kokoa"}');
3
+ export {
4
+ fi as default
5
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const fr = JSON.parse(`{"commonClose":"Fermer","commonNext":"Suivant","commonPrevious":"Précédent","commonSearch":"Rechercher","commonViewAll":"Tout afficher","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Chargement…","contentSearchPlaceholder":"Rechercher","contentSearchResultsNone":"Aucun résultat","contentSearchResult":"1 résultat","contentSearchResults":"{{count}} résultats","contentSearchError":"La recherche n’a pas pu aboutir.","contentSearchPosition":"Résultat {{index}} sur {{total}}","contentSearchClear":"Effacer la recherche","canvasPosition":"Élément {{index}} sur {{total}}","canvasImage":"Image","canvasRoleDescription":"image zoomable","canvasKeysImage":"Utilisez les flèches pour déplacer l’image, avec Maj pour aller plus loin, plus et moins pour zoomer, 0 pour réinitialiser la vue, et R ou Maj+R pour la faire pivoter.","canvasKeysMedia":"Appuyez sur Espace ou K pour lire ou mettre en pause, sur J ou L pour reculer ou avancer de dix secondes, et sur M pour couper ou rétablir le son.","canvasKeysAnnotations":"Appuyez sur Échap pour désélectionner l’annotation.","sceneModel":"Modèle 3D","sceneRoleDescription":"modèle 3D orientable","sceneKeys":"Utilisez les flèches pour faire pivoter le modèle, avec Maj pour aller plus loin, plus et moins pour zoomer, 0 pour réinitialiser la vue, et R ou Maj+R pour le faire pivoter à droite ou à gauche.","sceneRotateUp":"Rotation vers le haut","sceneRotateDown":"Rotation vers le bas","sceneRotate":"Rotation","sceneResetView":"Réinitialiser la vue","statusLoading":"Chargement…","statusError":"Ce contenu n’a pas pu être chargé.","itemsLabel":"Éléments","download":"Télécharger","downloadPage":"Cette page","downloadAll":"Toutes les pages","templateSidebar":"Éléments","templateSidebarToggle":"Afficher les éléments","collectionLabel":"Collection","itemsScrollBack":"Afficher les éléments précédents","itemsScrollForward":"Afficher plus d’éléments","aboutRights":"Droits","aboutHomepage":"Page d’accueil","aboutSeeAlso":"Voir aussi","aboutProvider":"Fournisseur","logo":"Logo","aboutManifest":"Manifeste IIIF","aboutCanvas":"Canevas IIIF","aboutPartOf":"Fait partie de","aboutOpenManifest":"Ouvrir le manifeste complet","aboutCollection":"Collection IIIF","annotationsHide":"Masquer les annotations","annotationsHideTip":"Masquer","readMore":"Lire la suite","readLess":"Afficher moins","annotationsShow":"Afficher sur l’image","annotationsShowTime":"Afficher dans l’enregistrement","annotationsImage":"Image","annotationsLanguage":"Langue","annotationsOpenLink":"Ouvrir le lien","transcriptLabel":"Transcription","imageViewerOpen":"Ouvrir la visionneuse d'images","imageViewerClose":"Fermer la visionneuse d'images","canvasChoice":"Choix","imageFullScreen":"Plein écran","imageExitFullScreen":"Quitter le plein écran","imageResetZoom":"Réinitialiser le zoom","imageRotateLeft":"Rotation à gauche","imageRotateRight":"Rotation à droite","imageZoomIn":"Zoom avant","imageZoomOut":"Zoom arrière","informationPanelTabs":"Panneau d’informations","sectionsScrollBack":"Afficher les onglets précédents","sectionsScrollForward":"Afficher plus d’onglets","informationPanelClose":"Fermer le panneau d’informations","informationPanelTabsAbout":"À propos","informationPanelTabsAnnotations":"Annotations","informationPanelTabsSearch":"Recherche","informationPanelTabsContents":"Sommaire","informationPanelTabsMap":"Carte","informationPanelTabsCollection":"Collection","mapUnavailable":"La carte n’a pas pu être affichée.","mapLabel":"Carte","mapAttribution":"Crédits de la carte","mapPlaceUntitled":"Lieu {{number}}","mapOverlay":"Image géoréférencée","mapPlacesListed":"Lieux énumérés après la carte : {{count}}","informationPanelToggle":"Plus d’informations","playerPlay":"Lire","playerPause":"Pause","playerClose":"Fermer le lecteur","playerMute":"Couper le son","playerUnmute":"Activer le son","playerVolume":"Volume","playerSeek":"Position de lecture","playerCaptions":"Sous-titres","playerCaptionsOff":"Désactivés","playerChapters":"Chapitres","framePrevious":"Image précédente","frameNext":"Image suivante","frameSeek":"Image","frameRepeat":"Répéter","framePosition":"Image {{index}} sur {{total}}","playerCurrentTime":"Temps écoulé","playerDuration":"Durée","splitHandle":"Redimensionner les panneaux"}`);
3
+ export {
4
+ fr as default
5
+ };
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ const loaders = {
3
+ es: () => import("./es.json.mjs"),
4
+ fi: () => import("./fi.json.mjs"),
5
+ fr: () => import("./fr.json.mjs"),
6
+ nb: () => import("./nb.json.mjs"),
7
+ nn: () => import("./nn.json.mjs"),
8
+ no: () => import("./no.json.mjs"),
9
+ pt: () => import("./pt.json.mjs")
10
+ };
11
+ export {
12
+ loaders
13
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const nb = JSON.parse('{"commonClose":"Lukk","commonNext":"Neste","commonPrevious":"Forrige","commonSearch":"Søk","commonViewAll":"Se alle","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Laster inn...","contentSearchPlaceholder":"Søk","contentSearchResultsNone":"Ingen resultat","contentSearchResult":"1 resultat","contentSearchResults":"{{count}} resultater","contentSearchError":"Søket kunne ikke fullføres.","contentSearchPosition":"Resultat {{index}} av {{total}}","contentSearchClear":"Tøm søket","canvasPosition":"Element {{index}} av {{total}}","canvasImage":"Bilde","canvasRoleDescription":"zoombart bilde","canvasKeysImage":"Bruk piltastene for å flytte bildet, med Shift for lengre steg, pluss og minus for å zoome, 0 for å tilbakestille visningen, og R eller Shift+R for å rotere.","canvasKeysMedia":"Trykk mellomrom eller K for å spille av eller pause, J eller L for å spole ti sekunder bakover eller fremover, og M for å slå lyden av eller på.","canvasKeysAnnotations":"Trykk Esc for å fjerne valget av annoteringen.","sceneModel":"3D-modell","sceneRoleDescription":"roterbar 3D-modell","sceneKeys":"Bruk piltastene for å rotere modellen, med Shift for lengre steg, pluss og minus for å zoome, 0 for å tilbakestille visningen, og R eller Shift+R for å rotere den mot høyre eller venstre.","sceneRotateUp":"Roter oppover","sceneRotateDown":"Roter nedover","sceneRotate":"Roter","sceneResetView":"Tilbakestill visningen","statusLoading":"Laster inn…","statusError":"Dette kunne ikke lastes inn.","itemsLabel":"Elementer","download":"Last ned","downloadPage":"Denne siden","downloadAll":"Alle sider","templateSidebar":"Elementer","templateSidebarToggle":"Vis elementer","collectionLabel":"Samling","itemsScrollBack":"Vis forrige elementer","itemsScrollForward":"Vis flere elementer","aboutRights":"Rettigheter","aboutHomepage":"Hjemmeside","aboutSeeAlso":"Se også","aboutProvider":"Leverandør","logo":"Logo","aboutManifest":"IIIF-manifest","aboutCanvas":"IIIF-lerret","aboutPartOf":"Del av","aboutOpenManifest":"Åpne hele manifestet","aboutCollection":"IIIF-samling","annotationsHide":"Skjul annoteringer","annotationsHideTip":"Skjul","readMore":"Les mer","readLess":"Les mindre","annotationsShow":"Vis på bildet","annotationsShowTime":"Vis i opptaket","annotationsImage":"Bilde","annotationsLanguage":"Språk","annotationsOpenLink":"Åpne lenken","transcriptLabel":"Transkripsjon","imageViewerOpen":"Åpne bildeviseren","imageViewerClose":"Lukk bildeviseren","canvasChoice":"Valg","imageFullScreen":"Fullskjerm","imageExitFullScreen":"Avslutt fullskjerm","imageResetZoom":"Tilbakestill zoom","imageRotateLeft":"Roter mot venstre","imageRotateRight":"Roter mot høyre","imageZoomIn":"Zoom inn","imageZoomOut":"Zoom ut","informationPanelTabs":"Informasjonspanel","sectionsScrollBack":"Vis forrige faner","sectionsScrollForward":"Vis flere faner","informationPanelClose":"Lukk informasjonspanelet","informationPanelTabsAbout":"Om","informationPanelTabsAnnotations":"Annoteringer","informationPanelTabsSearch":"Søk","informationPanelTabsContents":"Innhold","informationPanelTabsMap":"Kart","informationPanelTabsCollection":"Samling","mapUnavailable":"Kartet kunne ikke vises.","mapLabel":"Kart","mapAttribution":"Kartkreditering","mapPlaceUntitled":"Sted {{number}}","mapOverlay":"Georeferert bilde","mapPlacesListed":"Steder oppført etter kartet: {{count}}","informationPanelToggle":"Mer informasjon","playerPlay":"Spill av","playerPause":"Pause","playerClose":"Lukk avspilleren","playerMute":"Demp","playerUnmute":"Slå på lyd","playerVolume":"Volum","playerSeek":"Avspillingsposisjon","playerCaptions":"Teksting","playerCaptionsOff":"Av","playerChapters":"Kapitler","framePrevious":"Forrige bilde","frameNext":"Neste bilde","frameSeek":"Bilde","frameRepeat":"Gjenta","framePosition":"Bilde {{index}} av {{total}}","playerCurrentTime":"Nåværende tid","playerDuration":"Varighet","splitHandle":"Endre størrelse på panelene"}');
3
+ export {
4
+ nb as default
5
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const nn = JSON.parse('{"commonClose":"Lukk","commonNext":"Neste","commonPrevious":"Førre","commonSearch":"Søk","commonViewAll":"Sjå alle","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Lastar inn...","contentSearchPlaceholder":"Søk","contentSearchResultsNone":"Ingen resultat","contentSearchResult":"1 resultat","contentSearchResults":"{{count}} resultat","contentSearchError":"Søket kunne ikkje fullførast.","contentSearchPosition":"Resultat {{index}} av {{total}}","contentSearchClear":"Tøm søket","canvasPosition":"Element {{index}} av {{total}}","canvasImage":"Bilete","canvasRoleDescription":"zoombart bilete","canvasKeysImage":"Bruk piltastane for å flytte biletet, med Shift for lengre steg, pluss og minus for å zoome, 0 for å tilbakestille visinga, og R eller Shift+R for å rotere.","canvasKeysMedia":"Trykk mellomrom eller K for å spele av eller pause, J eller L for å spole ti sekund bakover eller framover, og M for å slå lyden av eller på.","canvasKeysAnnotations":"Trykk Esc for å fjerne valet av annoteringa.","sceneModel":"3D-modell","sceneRoleDescription":"roterbar 3D-modell","sceneKeys":"Bruk piltastane for å rotere modellen, med Shift for lengre steg, pluss og minus for å zoome, 0 for å tilbakestille visinga, og R eller Shift+R for å rotere han mot høgre eller venstre.","sceneRotateUp":"Roter oppover","sceneRotateDown":"Roter nedover","sceneRotate":"Roter","sceneResetView":"Tilbakestill visinga","statusLoading":"Lastar inn…","statusError":"Dette kunne ikkje lastast inn.","itemsLabel":"Element","download":"Last ned","downloadPage":"Denne sida","downloadAll":"Alle sider","templateSidebar":"Element","templateSidebarToggle":"Vis element","collectionLabel":"Samling","itemsScrollBack":"Vis førre element","itemsScrollForward":"Vis fleire element","aboutRights":"Rettigheiter","aboutHomepage":"Heimeside","aboutSeeAlso":"Sjå også","aboutProvider":"Leverandør","logo":"Logo","aboutManifest":"IIIF-manifest","aboutCanvas":"IIIF-lerret","aboutPartOf":"Del av","aboutOpenManifest":"Opne heile manifestet","aboutCollection":"IIIF-samling","annotationsHide":"Skjul annoteringar","annotationsHideTip":"Skjul","readMore":"Les meir","readLess":"Les mindre","annotationsShow":"Vis på biletet","annotationsShowTime":"Vis i opptaket","annotationsImage":"Bilete","annotationsLanguage":"Språk","annotationsOpenLink":"Opne lenkja","transcriptLabel":"Transkripsjon","imageViewerOpen":"Opne biletvisaren","imageViewerClose":"Lukk biletvisaren","canvasChoice":"Val","imageFullScreen":"Fullskjerm","imageExitFullScreen":"Avslutt fullskjerm","imageResetZoom":"Tilbakestill zoom","imageRotateLeft":"Roter mot venstre","imageRotateRight":"Roter mot høgre","imageZoomIn":"Zoom inn","imageZoomOut":"Zoom ut","informationPanelTabs":"Informasjonspanel","sectionsScrollBack":"Vis førre faner","sectionsScrollForward":"Vis fleire faner","informationPanelClose":"Lukk informasjonspanelet","informationPanelTabsAbout":"Om","informationPanelTabsAnnotations":"Annoteringar","informationPanelTabsSearch":"Søk","informationPanelTabsContents":"Innhald","informationPanelTabsMap":"Kart","informationPanelTabsCollection":"Samling","mapUnavailable":"Kartet kunne ikkje visast.","mapLabel":"Kart","mapAttribution":"Kartkreditering","mapPlaceUntitled":"Stad {{number}}","mapOverlay":"Georeferert bilete","mapPlacesListed":"Stader lista opp etter kartet: {{count}}","informationPanelToggle":"Meir informasjon","playerPlay":"Spel av","playerPause":"Pause","playerClose":"Lukk avspelaren","playerMute":"Demp","playerUnmute":"Slå på lyd","playerVolume":"Volum","playerSeek":"Avspelingsposisjon","playerCaptions":"Teksting","playerCaptionsOff":"Av","playerChapters":"Kapittel","framePrevious":"Førre bilete","frameNext":"Neste bilete","frameSeek":"Bilete","frameRepeat":"Gjenta","framePosition":"Bilete {{index}} av {{total}}","playerCurrentTime":"Noverande tid","playerDuration":"Varigheit","splitHandle":"Endre storleiken på panela"}');
3
+ export {
4
+ nn as default
5
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const no = JSON.parse('{"commonClose":"Lukk","commonNext":"Neste","commonPrevious":"Forrige","commonSearch":"Søk","commonViewAll":"Se alle","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Laster inn...","contentSearchPlaceholder":"Søk","contentSearchResultsNone":"Ingen resultat","contentSearchResult":"1 resultat","contentSearchResults":"{{count}} resultater","contentSearchError":"Søket kunne ikke fullføres.","contentSearchPosition":"Resultat {{index}} av {{total}}","contentSearchClear":"Tøm søket","canvasPosition":"Element {{index}} av {{total}}","canvasImage":"Bilde","canvasRoleDescription":"zoombart bilde","canvasKeysImage":"Bruk piltastene for å flytte bildet, med Shift for lengre steg, pluss og minus for å zoome, 0 for å tilbakestille visningen, og R eller Shift+R for å rotere.","canvasKeysMedia":"Trykk mellomrom eller K for å spille av eller pause, J eller L for å spole ti sekunder bakover eller fremover, og M for å slå lyden av eller på.","canvasKeysAnnotations":"Trykk Esc for å fjerne valget av annoteringen.","sceneModel":"3D-modell","sceneRoleDescription":"roterbar 3D-modell","sceneKeys":"Bruk piltastene for å rotere modellen, med Shift for lengre steg, pluss og minus for å zoome, 0 for å tilbakestille visningen, og R eller Shift+R for å rotere den mot høyre eller venstre.","sceneRotateUp":"Roter oppover","sceneRotateDown":"Roter nedover","sceneRotate":"Roter","sceneResetView":"Tilbakestill visningen","statusLoading":"Laster inn…","statusError":"Dette kunne ikke lastes inn.","itemsLabel":"Elementer","download":"Last ned","downloadPage":"Denne siden","downloadAll":"Alle sider","templateSidebar":"Elementer","templateSidebarToggle":"Vis elementer","collectionLabel":"Samling","itemsScrollBack":"Vis forrige elementer","itemsScrollForward":"Vis flere elementer","aboutRights":"Rettigheter","aboutHomepage":"Hjemmeside","aboutSeeAlso":"Se også","aboutProvider":"Leverandør","logo":"Logo","aboutManifest":"IIIF-manifest","aboutCanvas":"IIIF-lerret","aboutPartOf":"Del av","aboutOpenManifest":"Åpne hele manifestet","aboutCollection":"IIIF-samling","annotationsHide":"Skjul annoteringer","annotationsHideTip":"Skjul","readMore":"Les mer","readLess":"Les mindre","annotationsShow":"Vis på bildet","annotationsShowTime":"Vis i opptaket","annotationsImage":"Bilde","annotationsLanguage":"Språk","annotationsOpenLink":"Åpne lenken","transcriptLabel":"Transkripsjon","imageViewerOpen":"Åpne bildeviseren","imageViewerClose":"Lukk bildeviseren","canvasChoice":"Valg","imageFullScreen":"Fullskjerm","imageExitFullScreen":"Avslutt fullskjerm","imageResetZoom":"Tilbakestill zoom","imageRotateLeft":"Roter mot venstre","imageRotateRight":"Roter mot høyre","imageZoomIn":"Zoom inn","imageZoomOut":"Zoom ut","informationPanelTabs":"Informasjonspanel","sectionsScrollBack":"Vis forrige faner","sectionsScrollForward":"Vis flere faner","informationPanelClose":"Lukk informasjonspanelet","informationPanelTabsAbout":"Om","informationPanelTabsAnnotations":"Annoteringer","informationPanelTabsSearch":"Søk","informationPanelTabsContents":"Innhold","informationPanelTabsMap":"Kart","informationPanelTabsCollection":"Samling","mapUnavailable":"Kartet kunne ikke vises.","mapLabel":"Kart","mapAttribution":"Kartkreditering","mapPlaceUntitled":"Sted {{number}}","mapOverlay":"Georeferert bilde","mapPlacesListed":"Steder oppført etter kartet: {{count}}","informationPanelToggle":"Mer informasjon","playerPlay":"Spill av","playerPause":"Pause","playerClose":"Lukk avspilleren","playerMute":"Demp","playerUnmute":"Slå på lyd","playerVolume":"Volum","playerSeek":"Avspillingsposisjon","playerCaptions":"Teksting","playerCaptionsOff":"Av","playerChapters":"Kapitler","framePrevious":"Forrige bilde","frameNext":"Neste bilde","frameSeek":"Bilde","frameRepeat":"Gjenta","framePosition":"Bilde {{index}} av {{total}}","playerCurrentTime":"Nåværende tid","playerDuration":"Varighet","splitHandle":"Endre størrelse på panelene"}');
3
+ export {
4
+ no as default
5
+ };
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const pt = JSON.parse('{"commonClose":"Fechar","commonNext":"Seguinte","commonPrevious":"Anterior","commonSearch":"Pesquisar","commonViewAll":"Ver tudo","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"A carregar...","contentSearchPlaceholder":"Pesquisar","contentSearchResultsNone":"Sem resultados","contentSearchResult":"1 resultado","contentSearchResults":"{{count}} resultados","contentSearchError":"Não foi possível concluir a pesquisa.","contentSearchPosition":"Resultado {{index}} de {{total}}","contentSearchClear":"Limpar a pesquisa","canvasPosition":"Item {{index}} de {{total}}","canvasImage":"Imagem","canvasRoleDescription":"imagem ampliável","canvasKeysImage":"Use as teclas de seta para deslocar a imagem, com Shift para ir mais longe, mais e menos para ampliar e reduzir, 0 para repor a vista, e R ou Shift+R para rodar.","canvasKeysMedia":"Prima Espaço ou K para reproduzir ou pausar, J ou L para recuar ou avançar dez segundos, e M para silenciar ou ativar o som.","canvasKeysAnnotations":"Prima Esc para desmarcar a anotação.","sceneModel":"Modelo 3D","sceneRoleDescription":"modelo 3D rotativo","sceneKeys":"Use as teclas de seta para rodar o modelo, com Shift para ir mais longe, mais e menos para ampliar e reduzir, 0 para repor a vista, e R ou Shift+R para o rodar para a direita ou para a esquerda.","sceneRotateUp":"Rodar para cima","sceneRotateDown":"Rodar para baixo","sceneRotate":"Rodar","sceneResetView":"Repor a vista","statusLoading":"A carregar…","statusError":"Não foi possível carregar este conteúdo.","itemsLabel":"Itens","download":"Transferir","downloadPage":"Esta página","downloadAll":"Todas as páginas","templateSidebar":"Itens","templateSidebarToggle":"Mostrar itens","collectionLabel":"Coleção","itemsScrollBack":"Mostrar itens anteriores","itemsScrollForward":"Mostrar mais itens","aboutRights":"Direitos","aboutHomepage":"Página inicial","aboutSeeAlso":"Ver também","aboutProvider":"Fornecedor","logo":"Logótipo","aboutManifest":"Manifesto IIIF","aboutCanvas":"Tela IIIF","aboutPartOf":"Parte de","aboutOpenManifest":"Abrir o manifesto completo","aboutCollection":"Coleção IIIF","annotationsHide":"Ocultar anotações","annotationsHideTip":"Ocultar","readMore":"Ler mais","readLess":"Ler menos","annotationsShow":"Mostrar na imagem","annotationsShowTime":"Mostrar na gravação","annotationsImage":"Imagem","annotationsLanguage":"Idioma","annotationsOpenLink":"Abrir a ligação","transcriptLabel":"Transcrição","imageViewerOpen":"Abrir o visualizador de imagens","imageViewerClose":"Fechar o visualizador de imagens","canvasChoice":"Alternativas","imageFullScreen":"Ecrã completo","imageExitFullScreen":"Sair do ecrã completo","imageResetZoom":"Repor o zoom","imageRotateLeft":"Rodar para a esquerda","imageRotateRight":"Rodar para a direita","imageZoomIn":"Ampliar","imageZoomOut":"Reduzir","informationPanelTabs":"Painel de informações","sectionsScrollBack":"Mostrar separadores anteriores","sectionsScrollForward":"Mostrar mais separadores","informationPanelClose":"Fechar o painel de informações","informationPanelTabsAbout":"Sobre","informationPanelTabsAnnotations":"Anotações","informationPanelTabsSearch":"Pesquisa","informationPanelTabsContents":"Conteúdo","informationPanelTabsMap":"Mapa","informationPanelTabsCollection":"Coleção","mapUnavailable":"Não foi possível mostrar o mapa.","mapLabel":"Mapa","mapAttribution":"Créditos do mapa","mapPlaceUntitled":"Local {{number}}","mapOverlay":"Imagem georreferenciada","mapPlacesListed":"Locais listados depois do mapa: {{count}}","informationPanelToggle":"Mais informações","playerPlay":"Reproduzir","playerPause":"Pausar","playerClose":"Fechar o reprodutor","playerMute":"Silenciar","playerUnmute":"Ativar o som","playerVolume":"Volume","playerSeek":"Posição de reprodução","playerCaptions":"Legendas","playerCaptionsOff":"Desativadas","playerChapters":"Capítulos","framePrevious":"Fotograma anterior","frameNext":"Próximo fotograma","frameSeek":"Fotograma","frameRepeat":"Repetir","framePosition":"Fotograma {{index}} de {{total}}","playerCurrentTime":"Tempo atual","playerDuration":"Duração","splitHandle":"Redimensionar os painéis"}');
3
+ export {
4
+ pt as default
5
+ };
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ function readerLanguages() {
3
+ const found = [];
4
+ if (typeof document !== "undefined")
5
+ found.push(document.documentElement.lang);
6
+ if (typeof navigator !== "undefined") {
7
+ found.push(...navigator.languages ?? [], navigator.language);
8
+ }
9
+ return found.filter(Boolean);
10
+ }
11
+ export {
12
+ readerLanguages
13
+ };
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { useSyncExternalStore, useContext, useCallback } from "react";
3
+ import { CLOVER_I18N_NAMESPACE, cloverI18n } from "./config.mjs";
4
+ import { HostLanguageContext } from "./hostLanguage.mjs";
5
+ function useCloverTranslation(namespace = CLOVER_I18N_NAMESPACE, hostLanguage) {
6
+ const version = useSyncExternalStore(
7
+ cloverI18n.subscribe,
8
+ cloverI18n.getSnapshot,
9
+ cloverI18n.getSnapshot
10
+ );
11
+ const around = useContext(HostLanguageContext);
12
+ const host = hostLanguage ?? around;
13
+ const t = useCallback(
14
+ (key, values) => cloverI18n.t(key, values, namespace),
15
+ // `version` stands for "the strings changed": a new `t` re-renders memoized readers.
16
+ // eslint-disable-next-line react-hooks/exhaustive-deps
17
+ [namespace, version]
18
+ );
19
+ const langOf = useCallback(
20
+ (key) => cloverI18n.langOf(key, host, namespace),
21
+ // eslint-disable-next-line react-hooks/exhaustive-deps
22
+ [namespace, version, host]
23
+ );
24
+ return { t, langOf, hostLanguage: host, i18n: cloverI18n };
25
+ }
26
+ export {
27
+ useCloverTranslation
28
+ };