dbf-mirador 4.3.2 → 4.3.3

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 (42) hide show
  1. package/dist/{AudioViewer-tRH73pbt.js → AudioViewer-Cla9W2NI.js} +2 -2
  2. package/dist/{AudioViewer-tRH73pbt.js.map → AudioViewer-Cla9W2NI.js.map} +1 -1
  3. package/dist/{CommentSharp-BJ6oQAe3.js → CommentSharp-BB9dWNcO.js} +3 -3
  4. package/dist/{CommentSharp-BJ6oQAe3.js.map → CommentSharp-BB9dWNcO.js.map} +1 -1
  5. package/dist/{FailedImageContext-BhA0TpVp.js → FailedImageContext-C-8e4l3r.js} +14 -8
  6. package/dist/FailedImageContext-C-8e4l3r.js.map +1 -0
  7. package/dist/{GalleryView-rCx0Q4f3.js → GalleryView-BS7q2lC0.js} +5 -5
  8. package/dist/{GalleryView-rCx0Q4f3.js.map → GalleryView-BS7q2lC0.js.map} +1 -1
  9. package/dist/{OpenSeadragonViewer-4nw8qaVM.js → OpenSeadragonViewer-DtalKKE4.js} +312 -293
  10. package/dist/{OpenSeadragonViewer-4nw8qaVM.js.map → OpenSeadragonViewer-DtalKKE4.js.map} +1 -1
  11. package/dist/{TextViewer-D_1qzQE4.js → TextViewer-Dn04175s.js} +3 -3
  12. package/dist/{TextViewer-D_1qzQE4.js.map → TextViewer-Dn04175s.js.map} +1 -1
  13. package/dist/{VideoViewer-DzNjgLWE.js → VideoViewer-Db17A1Pj.js} +2 -2
  14. package/dist/{VideoViewer-DzNjgLWE.js.map → VideoViewer-Db17A1Pj.js.map} +1 -1
  15. package/dist/{WindowCanvasNavigationControls-D2uLtL_A.js → WindowCanvasNavigationControls-BEfgwEVZ.js} +3 -3
  16. package/dist/{WindowCanvasNavigationControls-D2uLtL_A.js.map → WindowCanvasNavigationControls-BEfgwEVZ.js.map} +1 -1
  17. package/dist/{WindowViewer-uHVYcMsX.js → WindowViewer-Bwx-8xYM.js} +3 -3
  18. package/dist/{WindowViewer-uHVYcMsX.js.map → WindowViewer-Bwx-8xYM.js.map} +1 -1
  19. package/dist/{WorkspaceArea-7bydz9m-.js → WorkspaceArea-SpTGn3q2.js} +4019 -3998
  20. package/dist/WorkspaceArea-SpTGn3q2.js.map +1 -0
  21. package/dist/{canvas-2ACcnS9Y.js → canvas-CnyCCdkT.js} +2 -2
  22. package/dist/{canvas-2ACcnS9Y.js.map → canvas-CnyCCdkT.js.map} +1 -1
  23. package/dist/{canvases-DTR37lo-.js → canvases-Bxeg1axY.js} +255 -255
  24. package/dist/{canvases-DTR37lo-.js.map → canvases-Bxeg1axY.js.map} +1 -1
  25. package/dist/{index.module-CgUBfaXx.js → index.module-BYoozchK.js} +7 -7
  26. package/dist/{index.module-CgUBfaXx.js.map → index.module-BYoozchK.js.map} +1 -1
  27. package/dist/mirador.es.js +1593 -1446
  28. package/dist/mirador.es.js.map +1 -1
  29. package/dist/mirador.min.js +30 -27
  30. package/dist/mirador.min.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/AnnotationsOverlay.jsx +28 -1
  33. package/src/components/CompanionWindow.jsx +39 -2
  34. package/src/components/MapViewer.jsx +77 -4
  35. package/src/lib/AnnotationItem.js +5 -0
  36. package/src/lib/AnnotationResource.js +5 -0
  37. package/src/lib/CanvasAnnotationDisplay.js +52 -14
  38. package/src/plugins/index.js +1 -0
  39. package/src/plugins/nestedMapPlugin.tsx +152 -0
  40. package/src/plugins/poiPreviewPlugin.tsx +256 -77
  41. package/dist/FailedImageContext-BhA0TpVp.js.map +0 -1
  42. package/dist/WorkspaceArea-7bydz9m-.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { U as e, at as t, dt as n, ft as r, g as i, st as a } from "./getters-B4oepJRC.js";
2
- import { h as o, mt as s } from "./canvases-DTR37lo-.js";
3
- import { t as c } from "./WindowCanvasNavigationControls-D2uLtL_A.js";
2
+ import { h as o, mt as s } from "./canvases-Bxeg1axY.js";
3
+ import { t as c } from "./WindowCanvasNavigationControls-BEfgwEVZ.js";
4
4
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
5
5
  import { styled as d } from "@mui/material/styles";
6
6
  //#region src/components/TextViewer.jsx
@@ -35,4 +35,4 @@ var g = /* @__PURE__ */ n({ default: () => _ }), _ = e(a((e, { windowId: t }) =>
35
35
  //#endregion
36
36
  export { g as n, h as r, _ as t };
37
37
 
38
- //# sourceMappingURL=TextViewer-D_1qzQE4.js.map
38
+ //# sourceMappingURL=TextViewer-Dn04175s.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextViewer-D_1qzQE4.js","names":[],"sources":["../src/components/TextViewer.jsx","../src/containers/TextViewer.js"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport WindowCanvasNavigationControls from '../containers/WindowCanvasNavigationControls';\n\nconst StyledContainer = styled('div')(() => ({\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n}));\n\nconst StyledText = styled('div')(() => ({\n maxHeight: '100%',\n width: '100%',\n}));\n\n/**\n * Simple divs with canvas navigation, which should mimic v3 fallthrough to WindowViewer\n * with non-image resources and provide a target for plugin overrides with minimal disruption.\n */\nexport function TextViewer({ textOptions = {}, textResources = [], windowId }) {\n return (\n <StyledContainer>\n <StyledText {...textOptions}>\n {textResources.map((text) => (\n <source key={text.id} src={text.id} type={text.getFormat()} />\n ))}\n <WindowCanvasNavigationControls windowId={windowId} />\n </StyledText>\n </StyledContainer>\n );\n}\n\nTextViewer.propTypes = {\n textOptions: PropTypes.object,\n textResources: PropTypes.arrayOf(PropTypes.object),\n windowId: PropTypes.string.isRequired,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { getConfig, getVisibleCanvasTextResources } from '../state/selectors';\nimport { TextViewer } from '../components/TextViewer';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n textOptions: getConfig(state).textOptions,\n textResources: getVisibleCanvasTextResources(state, { windowId }) || [],\n});\n\nconst enhance = compose(\n connect(mapStateToProps, null),\n withPlugins('TextViewer'),\n // further HOC go here\n);\n\nexport default enhance(TextViewer);\n"],"mappings":";;;;;;mCAIM,IAAkB,EAAO,KAAK,CAAC,QAAQ;CAC3C,YAAY;CACZ,SAAS;CACT,OAAO;AACT,EAAE,GAEI,IAAa,EAAO,KAAK,CAAC,QAAQ;CACtC,WAAW;CACX,OAAO;AACT,EAAE;AAMF,SAAgB,EAAW,EAAE,iBAAc,CAAC,GAAG,mBAAgB,CAAC,GAAG,eAAY;CAC7E,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAY,GAAI;EAAhB,UAAA,CACG,EAAc,KAAK,MAClB,kBAAC,UAAD;GAAsB,KAAK,EAAK;GAAI,MAAM,EAAK,UAAU;EAAI,GAAhD,EAAK,EAA2C,CAC9D,GACD,kBAAC,GAAD,EAA0C,YAAW,CAAA,CAC3C;CACG,CAAA,EAAA,CAAA;AAErB;AAEA,EAAW,YAAY;CACrB,aAAa,EAAA,QAAU;CACvB,eAAe,EAAA,QAAU,QAAQ,EAAA,QAAU,MAAM;CACjD,UAAU,EAAA,QAAU,OAAO;AAC7B;;;iDClBA,IANgB,EACd,GANuB,GAAO,EAAE,mBAAgB;CAChD,aAAa,EAAU,CAAK,CAAC,CAAC;CAC9B,eAAe,EAA8B,GAAO,EAAE,YAAS,CAAC,KAAK,CAAC;AACxE,IAG2B,IAAI,GAC7B,EAAY,YAAY,CAIX,CAAA,CAAQ,CAAU"}
1
+ {"version":3,"file":"TextViewer-Dn04175s.js","names":[],"sources":["../src/components/TextViewer.jsx","../src/containers/TextViewer.js"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport WindowCanvasNavigationControls from '../containers/WindowCanvasNavigationControls';\n\nconst StyledContainer = styled('div')(() => ({\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n}));\n\nconst StyledText = styled('div')(() => ({\n maxHeight: '100%',\n width: '100%',\n}));\n\n/**\n * Simple divs with canvas navigation, which should mimic v3 fallthrough to WindowViewer\n * with non-image resources and provide a target for plugin overrides with minimal disruption.\n */\nexport function TextViewer({ textOptions = {}, textResources = [], windowId }) {\n return (\n <StyledContainer>\n <StyledText {...textOptions}>\n {textResources.map((text) => (\n <source key={text.id} src={text.id} type={text.getFormat()} />\n ))}\n <WindowCanvasNavigationControls windowId={windowId} />\n </StyledText>\n </StyledContainer>\n );\n}\n\nTextViewer.propTypes = {\n textOptions: PropTypes.object,\n textResources: PropTypes.arrayOf(PropTypes.object),\n windowId: PropTypes.string.isRequired,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { getConfig, getVisibleCanvasTextResources } from '../state/selectors';\nimport { TextViewer } from '../components/TextViewer';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n textOptions: getConfig(state).textOptions,\n textResources: getVisibleCanvasTextResources(state, { windowId }) || [],\n});\n\nconst enhance = compose(\n connect(mapStateToProps, null),\n withPlugins('TextViewer'),\n // further HOC go here\n);\n\nexport default enhance(TextViewer);\n"],"mappings":";;;;;;mCAIM,IAAkB,EAAO,KAAK,CAAC,QAAQ;CAC3C,YAAY;CACZ,SAAS;CACT,OAAO;AACT,EAAE,GAEI,IAAa,EAAO,KAAK,CAAC,QAAQ;CACtC,WAAW;CACX,OAAO;AACT,EAAE;AAMF,SAAgB,EAAW,EAAE,iBAAc,CAAC,GAAG,mBAAgB,CAAC,GAAG,eAAY;CAC7E,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAY,GAAI;EAAhB,UAAA,CACG,EAAc,KAAK,MAClB,kBAAC,UAAD;GAAsB,KAAK,EAAK;GAAI,MAAM,EAAK,UAAU;EAAI,GAAhD,EAAK,EAA2C,CAC9D,GACD,kBAAC,GAAD,EAA0C,YAAW,CAAA,CAC3C;CACG,CAAA,EAAA,CAAA;AAErB;AAEA,EAAW,YAAY;CACrB,aAAa,EAAA,QAAU;CACvB,eAAe,EAAA,QAAU,QAAQ,EAAA,QAAU,MAAM;CACjD,UAAU,EAAA,QAAU,OAAO;AAC7B;;;iDClBA,IANgB,EACd,GANuB,GAAO,EAAE,mBAAgB;CAChD,aAAa,EAAU,CAAK,CAAC,CAAC;CAC9B,eAAe,EAA8B,GAAO,EAAE,YAAS,CAAC,KAAK,CAAC;AACxE,IAG2B,IAAI,GAC7B,EAAY,YAAY,CAIX,CAAA,CAAQ,CAAU"}
@@ -1,5 +1,5 @@
1
1
  import { U as e, at as t, dt as n, ft as r, g as i, st as a } from "./getters-B4oepJRC.js";
2
- import { f as o, g as s, mt as c } from "./canvases-DTR37lo-.js";
2
+ import { f as o, g as s, mt as c } from "./canvases-Bxeg1axY.js";
3
3
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
4
4
  import { styled as d } from "@mui/material/styles";
5
5
  //#region src/components/VideoViewer.jsx
@@ -39,4 +39,4 @@ var g = /* @__PURE__ */ n({ default: () => _ }), _ = e(a((e, { windowId: t }) =>
39
39
  //#endregion
40
40
  export { g as n, h as r, _ as t };
41
41
 
42
- //# sourceMappingURL=VideoViewer-DzNjgLWE.js.map
42
+ //# sourceMappingURL=VideoViewer-Db17A1Pj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoViewer-DzNjgLWE.js","names":[],"sources":["../src/components/VideoViewer.jsx","../src/containers/VideoViewer.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nconst StyledContainer = styled('div')(() => ({\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n}));\n\nconst StyledVideo = styled('video')(() => ({\n maxHeight: '100%',\n width: '100%',\n}));\n\n/** */\nexport function VideoViewer({ captions = [], videoOptions = {}, videoResources = [] }) {\n return (\n <StyledContainer>\n <StyledVideo {...videoOptions}>\n {videoResources.map((video) => (\n <source key={video.io} src={video.id} type={video.getFormat()} />\n ))}\n {captions.map((caption) => (\n <track key={caption.id} src={caption.id} label={caption.getDefaultLabel()} srcLang={caption.getProperty('language')} />\n ))}\n </StyledVideo>\n </StyledContainer>\n );\n}\n\nVideoViewer.propTypes = {\n captions: PropTypes.arrayOf(PropTypes.object),\n videoOptions: PropTypes.object,\n videoResources: PropTypes.arrayOf(PropTypes.object),\n};\n","import { connect } from 'react-redux';\nimport { compose } from 'redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { VideoViewer } from '../components/VideoViewer';\nimport { getConfig, getVisibleCanvasCaptions, getVisibleCanvasVideoResources } from '../state/selectors';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n captions: getVisibleCanvasCaptions(state, { windowId }) || [],\n videoOptions: getConfig(state).videoOptions,\n videoResources: getVisibleCanvasVideoResources(state, { windowId }) || [],\n});\n\nconst enhance = compose(connect(mapStateToProps, null), withPlugins('VideoViewer'));\n\nexport default enhance(VideoViewer);\n"],"mappings":";;;;;mCAGM,IAAkB,EAAO,KAAK,CAAC,QAAQ;CAC3C,YAAY;CACZ,SAAS;CACT,OAAO;AACT,EAAE,GAEI,IAAc,EAAO,OAAO,CAAC,QAAQ;CACzC,WAAW;CACX,OAAO;AACT,EAAE;AAGF,SAAgB,EAAY,EAAE,cAAW,CAAC,GAAG,kBAAe,CAAC,GAAG,oBAAiB,CAAC,KAAK;CACrF,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAa,GAAI;EAAjB,UAAA,CACG,EAAe,KAAK,MACnB,kBAAC,UAAD;GAAuB,KAAK,EAAM;GAAI,MAAM,EAAM,UAAU;EAAI,GAAnD,EAAM,EAA6C,CACjE,GACA,EAAS,KAAK,MACb,kBAAC,SAAD;GAAwB,KAAK,EAAQ;GAAI,OAAO,EAAQ,gBAAgB;GAAG,SAAS,EAAQ,YAAY,UAAU;EAAI,GAA1G,EAAQ,EAAkG,CACvH,CACU;CACE,CAAA,EAAA,CAAA;AAErB;AAEA,EAAY,YAAY;CACtB,UAAU,EAAA,QAAU,QAAQ,EAAA,QAAU,MAAM;CAC5C,cAAc,EAAA,QAAU;CACxB,gBAAgB,EAAA,QAAU,QAAQ,EAAA,QAAU,MAAM;AACpD;;;iDCnBA,IAFgB,EAAQ,GANC,GAAO,EAAE,mBAAgB;CAChD,UAAU,EAAyB,GAAO,EAAE,YAAS,CAAC,KAAK,CAAC;CAC5D,cAAc,EAAU,CAAK,CAAC,CAAC;CAC/B,gBAAgB,EAA+B,GAAO,EAAE,YAAS,CAAC,KAAK,CAAC;AAC1E,IAEiD,IAAI,GAAG,EAAY,aAAa,CAElE,CAAA,CAAQ,CAAW"}
1
+ {"version":3,"file":"VideoViewer-Db17A1Pj.js","names":[],"sources":["../src/components/VideoViewer.jsx","../src/containers/VideoViewer.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nconst StyledContainer = styled('div')(() => ({\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n}));\n\nconst StyledVideo = styled('video')(() => ({\n maxHeight: '100%',\n width: '100%',\n}));\n\n/** */\nexport function VideoViewer({ captions = [], videoOptions = {}, videoResources = [] }) {\n return (\n <StyledContainer>\n <StyledVideo {...videoOptions}>\n {videoResources.map((video) => (\n <source key={video.io} src={video.id} type={video.getFormat()} />\n ))}\n {captions.map((caption) => (\n <track key={caption.id} src={caption.id} label={caption.getDefaultLabel()} srcLang={caption.getProperty('language')} />\n ))}\n </StyledVideo>\n </StyledContainer>\n );\n}\n\nVideoViewer.propTypes = {\n captions: PropTypes.arrayOf(PropTypes.object),\n videoOptions: PropTypes.object,\n videoResources: PropTypes.arrayOf(PropTypes.object),\n};\n","import { connect } from 'react-redux';\nimport { compose } from 'redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { VideoViewer } from '../components/VideoViewer';\nimport { getConfig, getVisibleCanvasCaptions, getVisibleCanvasVideoResources } from '../state/selectors';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n captions: getVisibleCanvasCaptions(state, { windowId }) || [],\n videoOptions: getConfig(state).videoOptions,\n videoResources: getVisibleCanvasVideoResources(state, { windowId }) || [],\n});\n\nconst enhance = compose(connect(mapStateToProps, null), withPlugins('VideoViewer'));\n\nexport default enhance(VideoViewer);\n"],"mappings":";;;;;mCAGM,IAAkB,EAAO,KAAK,CAAC,QAAQ;CAC3C,YAAY;CACZ,SAAS;CACT,OAAO;AACT,EAAE,GAEI,IAAc,EAAO,OAAO,CAAC,QAAQ;CACzC,WAAW;CACX,OAAO;AACT,EAAE;AAGF,SAAgB,EAAY,EAAE,cAAW,CAAC,GAAG,kBAAe,CAAC,GAAG,oBAAiB,CAAC,KAAK;CACrF,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAa,GAAI;EAAjB,UAAA,CACG,EAAe,KAAK,MACnB,kBAAC,UAAD;GAAuB,KAAK,EAAM;GAAI,MAAM,EAAM,UAAU;EAAI,GAAnD,EAAM,EAA6C,CACjE,GACA,EAAS,KAAK,MACb,kBAAC,SAAD;GAAwB,KAAK,EAAQ;GAAI,OAAO,EAAQ,gBAAgB;GAAG,SAAS,EAAQ,YAAY,UAAU;EAAI,GAA1G,EAAQ,EAAkG,CACvH,CACU;CACE,CAAA,EAAA,CAAA;AAErB;AAEA,EAAY,YAAY;CACtB,UAAU,EAAA,QAAU,QAAQ,EAAA,QAAU,MAAM;CAC5C,cAAc,EAAA,QAAU;CACxB,gBAAgB,EAAA,QAAU,QAAQ,EAAA,QAAU,MAAM;AACpD;;;iDCnBA,IAFgB,EAAQ,GANC,GAAO,EAAE,mBAAgB;CAChD,UAAU,EAAyB,GAAO,EAAE,YAAS,CAAC,KAAK,CAAC;CAC5D,cAAc,EAAU,CAAK,CAAC,CAAC;CAC/B,gBAAgB,EAA+B,GAAO,EAAE,YAAS,CAAC,KAAK,CAAC;AAC1E,IAEiD,IAAI,GAAG,EAAY,aAAa,CAElE,CAAA,CAAQ,CAAW"}
@@ -1,6 +1,6 @@
1
1
  import { U as e, at as t, ft as n, g as r, i, l as a, st as o } from "./getters-B4oepJRC.js";
2
- import { I as s, M as c, a as l, c as u, l as d, s as f, u as p, yt as m } from "./canvases-DTR37lo-.js";
3
- import { i as h, n as g, r as _ } from "./canvas-2ACcnS9Y.js";
2
+ import { I as s, M as c, a as l, c as u, l as d, s as f, u as p, yt as m } from "./canvases-Bxeg1axY.js";
3
+ import { i as h, n as g, r as _ } from "./canvas-CnyCCdkT.js";
4
4
  import { i as v, r as y, t as b } from "./PluginHook-DWFCXIIp.js";
5
5
  import { t as x } from "./createSvgIcon-Cwt8YPfm.js";
6
6
  import { i as S, n as C, r as w, t as T } from "./visuallyHidden-C4mhQkB0.js";
@@ -239,4 +239,4 @@ var ee = e(o((e, { windowId: t }) => ({
239
239
  //#endregion
240
240
  export { J as a, W as c, X as i, H as l, $ as n, q as o, Z as r, G as s, ee as t };
241
241
 
242
- //# sourceMappingURL=WindowCanvasNavigationControls-D2uLtL_A.js.map
242
+ //# sourceMappingURL=WindowCanvasNavigationControls-BEfgwEVZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowCanvasNavigationControls-D2uLtL_A.js","names":["createSvgIcon","createSvgIcon","createSvgIcon"],"sources":["../node_modules/@mui/icons-material/esm/AddCircleOutlineSharp.js","../node_modules/@mui/icons-material/esm/RemoveCircleOutlineSharp.js","../src/components/icons/RestoreZoomIcon.jsx","../src/components/ZoomControls.jsx","../src/containers/ZoomControls.js","../src/components/ViewerInfo.jsx","../src/containers/ViewerInfo.js","../node_modules/@mui/icons-material/esm/PlayCircleOutlineSharp.js","../src/components/ViewerNavigation.jsx","../src/containers/ViewerNavigation.js","../src/components/WindowCanvasNavigationControls.jsx","../src/containers/WindowCanvasNavigationControls.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'AddCircleOutlineSharp');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'RemoveCircleOutlineSharp');","import SvgIcon from '@mui/material/SvgIcon';\n\n/**\n * RestoreZoomIcon ~\n */\nexport default function RestoreZoomIcon(props) {\n return (\n <SvgIcon {...props}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M6,15H9v3h2V13H6Zm9-6V6H13v5h5V9Z\" />\n <path d=\"M12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm0,18a8,8,0,1,1,8-8,8,8,0,0,1-8,8Z\" />\n </svg>\n </SvgIcon>\n );\n}\n","import AddCircleIcon from '@mui/icons-material/AddCircleOutlineSharp';\nimport RemoveCircleIcon from '@mui/icons-material/RemoveCircleOutlineSharp';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport RestoreZoomIcon from './icons/RestoreZoomIcon';\nimport MiradorMenuButton from '../containers/MiradorMenuButton';\n\nconst StyledZoomControlsWrapper = styled('div')({\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n});\n\n/**\n */\nexport function ZoomControls({ windowId = '', updateViewport = () => {}, viewer = {}, zoomToWorld }) {\n const { t } = useTranslation();\n /** */\n const handleZoomInClick = () => {\n updateViewport(windowId, {\n zoom: viewer.zoom * 2,\n });\n };\n\n /** */\n const handleZoomOutClick = () => {\n updateViewport(windowId, {\n zoom: viewer.zoom / 2,\n });\n };\n\n return (\n <StyledZoomControlsWrapper>\n <MiradorMenuButton aria-label={t('zoomIn')} onClick={handleZoomInClick}>\n <AddCircleIcon />\n </MiradorMenuButton>\n <MiradorMenuButton aria-label={t('zoomOut')} onClick={handleZoomOutClick}>\n <RemoveCircleIcon />\n </MiradorMenuButton>\n <MiradorMenuButton aria-label={t('zoomReset')} onClick={() => zoomToWorld(false)}>\n <RestoreZoomIcon />\n </MiradorMenuButton>\n </StyledZoomControlsWrapper>\n );\n}\n\nZoomControls.propTypes = {\n updateViewport: PropTypes.func,\n viewer: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n zoom: PropTypes.number,\n }),\n windowId: PropTypes.string,\n zoomToWorld: PropTypes.func.isRequired,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport * as actions from '../state/actions';\nimport { getViewer } from '../state/selectors';\nimport { ZoomControls } from '../components/ZoomControls';\n\n/**\n * mapStateToProps - to hook up connect\n * @memberof Workspace\n * @private\n */\nconst mapStateToProps = (state, { windowId }) => ({\n viewer: getViewer(state, { windowId }),\n});\n\n/**\n * mapDispatchToProps - used to hook up connect to action creators\n * @memberof Workspace\n * @private\n */\nconst mapDispatchToProps = { updateViewport: actions.updateViewport };\n\nconst enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('ZoomControls'));\n\nexport default enhance(ZoomControls);\n","import Typography from '@mui/material/Typography';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport ns from '../config/css-ns';\n\nconst StyledOsdInfo = styled('div')(({ theme }) => ({\n overflow: 'hidden',\n boxSizing: 'border-box',\n paddingBottom: 0.5,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n textOverflow: 'ellipsis',\n unicodeBidi: 'plaintext',\n whiteSpace: 'nowrap',\n width: '100%',\n}));\n\n/**\n *\n */\nexport function ViewerInfo({ canvasCount, canvasIndex, canvasLabel = undefined }) {\n const { t } = useTranslation();\n return (\n <StyledOsdInfo className={classNames(ns('osd-info'))}>\n <Typography\n variant=\"caption\"\n className={ns('canvas-count')}\n role=\"status\"\n sx={{\n display: 'inline',\n }}\n >\n {t('pagination', { current: canvasIndex + 1, total: canvasCount })}\n </Typography>\n <Typography\n variant=\"caption\"\n className={ns('canvas-label')}\n role=\"status\"\n sx={{\n display: 'inline',\n }}\n >\n {canvasLabel && ` • ${canvasLabel}`}\n </Typography>\n </StyledOsdInfo>\n );\n}\n\nViewerInfo.propTypes = {\n canvasCount: PropTypes.number.isRequired,\n canvasIndex: PropTypes.number.isRequired,\n canvasLabel: PropTypes.string,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { ViewerInfo } from '../components/ViewerInfo';\nimport { getCanvasLabel, getCanvases, getCanvasIndex, getCurrentCanvas } from '../state/selectors';\n\n/**\n * mapStateToProps - to hook up connect\n * @memberof Window\n * @private\n */\nconst mapStateToProps = (state, props) => {\n const { windowId } = props;\n const canvases = getCanvases(state, { windowId });\n const canvasIndex = getCanvasIndex(state, { windowId });\n const canvasId = (getCurrentCanvas(state, { windowId }) || {}).id;\n\n return {\n canvasCount: canvases.length,\n canvasIndex,\n canvasLabel: getCanvasLabel(state, {\n canvasId,\n windowId,\n }),\n };\n};\n\nconst enhance = compose(connect(mapStateToProps, null), withPlugins('ViewerInfo'));\n\nexport default enhance(ViewerInfo);\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m10 16.5 6-4.5-6-4.5zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'PlayCircleOutlineSharp');","import NavigationIcon from '@mui/icons-material/PlayCircleOutlineSharp';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport MiradorMenuButton from '../containers/MiradorMenuButton';\nimport ns from '../config/css-ns';\n\n/**\n */\nexport function ViewerNavigation({\n hasNextCanvas = false,\n hasPreviousCanvas = false,\n setNextCanvas = () => {},\n setPreviousCanvas = () => {},\n viewingDirection = '',\n}) {\n const { t } = useTranslation();\n let htmlDir = 'ltr';\n let previousIconStyle;\n let nextIconStyle;\n switch (viewingDirection) {\n case 'top-to-bottom':\n previousIconStyle = { transform: 'rotate(270deg)' };\n nextIconStyle = { transform: 'rotate(90deg)' };\n break;\n case 'bottom-to-top':\n previousIconStyle = { transform: 'rotate(90deg)' };\n nextIconStyle = { transform: 'rotate(270deg)' };\n break;\n case 'right-to-left':\n htmlDir = 'rtl';\n previousIconStyle = {};\n nextIconStyle = { transform: 'rotate(180deg)' };\n break;\n default:\n previousIconStyle = { transform: 'rotate(180deg)' };\n nextIconStyle = {};\n }\n\n return (\n <div className={classNames(ns('osd-navigation'))} dir={htmlDir}>\n <MiradorMenuButton\n aria-label={t('previousCanvas')}\n className={ns('previous-canvas-button')}\n disabled={!hasPreviousCanvas}\n onClick={() => {\n hasPreviousCanvas && setPreviousCanvas();\n }}\n >\n <NavigationIcon style={previousIconStyle} />\n </MiradorMenuButton>\n <MiradorMenuButton\n aria-label={t('nextCanvas')}\n className={ns('next-canvas-button')}\n disabled={!hasNextCanvas}\n onClick={() => {\n hasNextCanvas && setNextCanvas();\n }}\n >\n <NavigationIcon style={nextIconStyle} />\n </MiradorMenuButton>\n </div>\n );\n}\n\nViewerNavigation.propTypes = {\n hasNextCanvas: PropTypes.bool,\n hasPreviousCanvas: PropTypes.bool,\n setNextCanvas: PropTypes.func,\n setPreviousCanvas: PropTypes.func,\n viewingDirection: PropTypes.string,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport * as actions from '../state/actions';\nimport { getSequenceViewingDirection, getNextCanvasGrouping, getPreviousCanvasGrouping } from '../state/selectors';\nimport { ViewerNavigation } from '../components/ViewerNavigation';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n hasNextCanvas: !!getNextCanvasGrouping(state, { windowId }),\n hasPreviousCanvas: !!getPreviousCanvasGrouping(state, { windowId }),\n viewingDirection: getSequenceViewingDirection(state, { windowId }),\n});\n\n/**\n * mapDispatchToProps - used to hook up connect to action creators\n * @memberof ManifestForm\n * @private\n */\nconst mapDispatchToProps = (dispatch, { windowId }) => ({\n setNextCanvas: (...args) => dispatch(actions.setNextCanvas(windowId)),\n setPreviousCanvas: (...args) => dispatch(actions.setPreviousCanvas(windowId)),\n});\n\nconst enhance = compose(\n connect(mapStateToProps, mapDispatchToProps),\n withPlugins('ViewerNavigation'),\n // further HOC go here\n);\n\nexport default enhance(ViewerNavigation);\n","import { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { alpha, styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport Paper from '@mui/material/Paper';\nimport Stack from '@mui/material/Stack';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport { visuallyHidden } from '@mui/utils';\nimport { useElementSize } from '@custom-react-hooks/use-element-size';\nimport mergeRefs from 'merge-refs';\nimport ZoomControls from '../containers/ZoomControls';\nimport ViewerInfo from '../containers/ViewerInfo';\nimport ViewerNavigation from '../containers/ViewerNavigation';\nimport ns from '../config/css-ns';\nimport { PluginHook } from './PluginHook';\n\nconst Root = styled(Paper, { name: 'WindowCanvasNavigationControls', slot: 'root' })(({ theme }) => ({\n alignItems: 'center',\n backgroundColor: alpha(theme.palette.background.paper, 0.5),\n bottom: 0,\n cursor: 'default',\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n justifyContent: 'center',\n position: 'absolute',\n textAlign: 'center',\n width: '100%',\n zIndex: 50,\n}));\n\n/**\n * Represents the viewer controls in the mirador workspace.\n */\nexport const WindowCanvasNavigationControls = forwardRef(\n ({ showZoomControls = false, visible = true, windowId, zoomToWorld, ...rest }, ref) => {\n const [sizeRef, size] = useElementSize();\n\n const pluginProps = {\n showZoomControls,\n size,\n visible,\n windowId,\n ...rest,\n };\n /**\n * Determine if canvasNavControls are stacked (based on a hard-coded width)\n */\n const canvasNavControlsAreStacked = size && size.width && size.width <= 253;\n\n if (!visible)\n return (\n <Typography style={visuallyHidden} component=\"div\">\n <ViewerInfo windowId={windowId} />\n </Typography>\n );\n\n return (\n <Root\n square\n className={classNames(ns('canvas-nav'), canvasNavControlsAreStacked ? ns('canvas-nav-stacked') : null)}\n elevation={0}\n ref={mergeRefs(ref, sizeRef)}\n >\n <Stack\n direction={canvasNavControlsAreStacked ? 'column' : 'row'}\n divider={<Divider orientation={canvasNavControlsAreStacked ? 'horizontal' : 'vertical'} variant=\"middle\" flexItem />}\n spacing={0}\n >\n <ViewerNavigation windowId={windowId} />\n {showZoomControls && <ZoomControls windowId={windowId} zoomToWorld={zoomToWorld} />}\n </Stack>\n <ViewerInfo windowId={windowId} />\n\n <PluginHook targetName=\"WindowCanvasNavigationControls\" {...pluginProps} />\n </Root>\n );\n },\n);\n\nWindowCanvasNavigationControls.propTypes = {\n // eslint-disable-next-line react/require-default-props -- this rule doesn't detect default args through forwardRef's inner callback (see the default arg on line 37); https://github.com/jsx-eslint/eslint-plugin-react/issues/2856\n showZoomControls: PropTypes.bool,\n // eslint-disable-next-line react/require-default-props -- same forwardRef detection gap as above\n visible: PropTypes.bool,\n windowId: PropTypes.string.isRequired,\n zoomToWorld: PropTypes.func.isRequired,\n};\n\nWindowCanvasNavigationControls.displayName = 'WindowCanvasNavigationControls';\n","import { connect } from 'react-redux';\nimport { compose } from 'redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { getShowZoomControlsConfig, getWorkspace } from '../state/selectors';\nimport { WindowCanvasNavigationControls } from '../components/WindowCanvasNavigationControls';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n showZoomControls: getShowZoomControlsConfig(state),\n visible: getWorkspace(state).focusedWindowId === windowId,\n});\n\nconst enhance = compose(connect(mapStateToProps), withPlugins('WindowCanvasNavigationControls'));\n\nexport default enhance(WindowCanvasNavigationControls);\n"],"x_google_ignoreList":[0,1,7],"mappings":"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"}
1
+ {"version":3,"file":"WindowCanvasNavigationControls-BEfgwEVZ.js","names":["createSvgIcon","createSvgIcon","createSvgIcon"],"sources":["../node_modules/@mui/icons-material/esm/AddCircleOutlineSharp.js","../node_modules/@mui/icons-material/esm/RemoveCircleOutlineSharp.js","../src/components/icons/RestoreZoomIcon.jsx","../src/components/ZoomControls.jsx","../src/containers/ZoomControls.js","../src/components/ViewerInfo.jsx","../src/containers/ViewerInfo.js","../node_modules/@mui/icons-material/esm/PlayCircleOutlineSharp.js","../src/components/ViewerNavigation.jsx","../src/containers/ViewerNavigation.js","../src/components/WindowCanvasNavigationControls.jsx","../src/containers/WindowCanvasNavigationControls.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'AddCircleOutlineSharp');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'RemoveCircleOutlineSharp');","import SvgIcon from '@mui/material/SvgIcon';\n\n/**\n * RestoreZoomIcon ~\n */\nexport default function RestoreZoomIcon(props) {\n return (\n <SvgIcon {...props}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M6,15H9v3h2V13H6Zm9-6V6H13v5h5V9Z\" />\n <path d=\"M12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm0,18a8,8,0,1,1,8-8,8,8,0,0,1-8,8Z\" />\n </svg>\n </SvgIcon>\n );\n}\n","import AddCircleIcon from '@mui/icons-material/AddCircleOutlineSharp';\nimport RemoveCircleIcon from '@mui/icons-material/RemoveCircleOutlineSharp';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport RestoreZoomIcon from './icons/RestoreZoomIcon';\nimport MiradorMenuButton from '../containers/MiradorMenuButton';\n\nconst StyledZoomControlsWrapper = styled('div')({\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n});\n\n/**\n */\nexport function ZoomControls({ windowId = '', updateViewport = () => {}, viewer = {}, zoomToWorld }) {\n const { t } = useTranslation();\n /** */\n const handleZoomInClick = () => {\n updateViewport(windowId, {\n zoom: viewer.zoom * 2,\n });\n };\n\n /** */\n const handleZoomOutClick = () => {\n updateViewport(windowId, {\n zoom: viewer.zoom / 2,\n });\n };\n\n return (\n <StyledZoomControlsWrapper>\n <MiradorMenuButton aria-label={t('zoomIn')} onClick={handleZoomInClick}>\n <AddCircleIcon />\n </MiradorMenuButton>\n <MiradorMenuButton aria-label={t('zoomOut')} onClick={handleZoomOutClick}>\n <RemoveCircleIcon />\n </MiradorMenuButton>\n <MiradorMenuButton aria-label={t('zoomReset')} onClick={() => zoomToWorld(false)}>\n <RestoreZoomIcon />\n </MiradorMenuButton>\n </StyledZoomControlsWrapper>\n );\n}\n\nZoomControls.propTypes = {\n updateViewport: PropTypes.func,\n viewer: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n zoom: PropTypes.number,\n }),\n windowId: PropTypes.string,\n zoomToWorld: PropTypes.func.isRequired,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport * as actions from '../state/actions';\nimport { getViewer } from '../state/selectors';\nimport { ZoomControls } from '../components/ZoomControls';\n\n/**\n * mapStateToProps - to hook up connect\n * @memberof Workspace\n * @private\n */\nconst mapStateToProps = (state, { windowId }) => ({\n viewer: getViewer(state, { windowId }),\n});\n\n/**\n * mapDispatchToProps - used to hook up connect to action creators\n * @memberof Workspace\n * @private\n */\nconst mapDispatchToProps = { updateViewport: actions.updateViewport };\n\nconst enhance = compose(connect(mapStateToProps, mapDispatchToProps), withPlugins('ZoomControls'));\n\nexport default enhance(ZoomControls);\n","import Typography from '@mui/material/Typography';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport ns from '../config/css-ns';\n\nconst StyledOsdInfo = styled('div')(({ theme }) => ({\n overflow: 'hidden',\n boxSizing: 'border-box',\n paddingBottom: 0.5,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n textOverflow: 'ellipsis',\n unicodeBidi: 'plaintext',\n whiteSpace: 'nowrap',\n width: '100%',\n}));\n\n/**\n *\n */\nexport function ViewerInfo({ canvasCount, canvasIndex, canvasLabel = undefined }) {\n const { t } = useTranslation();\n return (\n <StyledOsdInfo className={classNames(ns('osd-info'))}>\n <Typography\n variant=\"caption\"\n className={ns('canvas-count')}\n role=\"status\"\n sx={{\n display: 'inline',\n }}\n >\n {t('pagination', { current: canvasIndex + 1, total: canvasCount })}\n </Typography>\n <Typography\n variant=\"caption\"\n className={ns('canvas-label')}\n role=\"status\"\n sx={{\n display: 'inline',\n }}\n >\n {canvasLabel && ` • ${canvasLabel}`}\n </Typography>\n </StyledOsdInfo>\n );\n}\n\nViewerInfo.propTypes = {\n canvasCount: PropTypes.number.isRequired,\n canvasIndex: PropTypes.number.isRequired,\n canvasLabel: PropTypes.string,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { ViewerInfo } from '../components/ViewerInfo';\nimport { getCanvasLabel, getCanvases, getCanvasIndex, getCurrentCanvas } from '../state/selectors';\n\n/**\n * mapStateToProps - to hook up connect\n * @memberof Window\n * @private\n */\nconst mapStateToProps = (state, props) => {\n const { windowId } = props;\n const canvases = getCanvases(state, { windowId });\n const canvasIndex = getCanvasIndex(state, { windowId });\n const canvasId = (getCurrentCanvas(state, { windowId }) || {}).id;\n\n return {\n canvasCount: canvases.length,\n canvasIndex,\n canvasLabel: getCanvasLabel(state, {\n canvasId,\n windowId,\n }),\n };\n};\n\nconst enhance = compose(connect(mapStateToProps, null), withPlugins('ViewerInfo'));\n\nexport default enhance(ViewerInfo);\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m10 16.5 6-4.5-6-4.5zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'PlayCircleOutlineSharp');","import NavigationIcon from '@mui/icons-material/PlayCircleOutlineSharp';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport MiradorMenuButton from '../containers/MiradorMenuButton';\nimport ns from '../config/css-ns';\n\n/**\n */\nexport function ViewerNavigation({\n hasNextCanvas = false,\n hasPreviousCanvas = false,\n setNextCanvas = () => {},\n setPreviousCanvas = () => {},\n viewingDirection = '',\n}) {\n const { t } = useTranslation();\n let htmlDir = 'ltr';\n let previousIconStyle;\n let nextIconStyle;\n switch (viewingDirection) {\n case 'top-to-bottom':\n previousIconStyle = { transform: 'rotate(270deg)' };\n nextIconStyle = { transform: 'rotate(90deg)' };\n break;\n case 'bottom-to-top':\n previousIconStyle = { transform: 'rotate(90deg)' };\n nextIconStyle = { transform: 'rotate(270deg)' };\n break;\n case 'right-to-left':\n htmlDir = 'rtl';\n previousIconStyle = {};\n nextIconStyle = { transform: 'rotate(180deg)' };\n break;\n default:\n previousIconStyle = { transform: 'rotate(180deg)' };\n nextIconStyle = {};\n }\n\n return (\n <div className={classNames(ns('osd-navigation'))} dir={htmlDir}>\n <MiradorMenuButton\n aria-label={t('previousCanvas')}\n className={ns('previous-canvas-button')}\n disabled={!hasPreviousCanvas}\n onClick={() => {\n hasPreviousCanvas && setPreviousCanvas();\n }}\n >\n <NavigationIcon style={previousIconStyle} />\n </MiradorMenuButton>\n <MiradorMenuButton\n aria-label={t('nextCanvas')}\n className={ns('next-canvas-button')}\n disabled={!hasNextCanvas}\n onClick={() => {\n hasNextCanvas && setNextCanvas();\n }}\n >\n <NavigationIcon style={nextIconStyle} />\n </MiradorMenuButton>\n </div>\n );\n}\n\nViewerNavigation.propTypes = {\n hasNextCanvas: PropTypes.bool,\n hasPreviousCanvas: PropTypes.bool,\n setNextCanvas: PropTypes.func,\n setPreviousCanvas: PropTypes.func,\n viewingDirection: PropTypes.string,\n};\n","import { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport * as actions from '../state/actions';\nimport { getSequenceViewingDirection, getNextCanvasGrouping, getPreviousCanvasGrouping } from '../state/selectors';\nimport { ViewerNavigation } from '../components/ViewerNavigation';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n hasNextCanvas: !!getNextCanvasGrouping(state, { windowId }),\n hasPreviousCanvas: !!getPreviousCanvasGrouping(state, { windowId }),\n viewingDirection: getSequenceViewingDirection(state, { windowId }),\n});\n\n/**\n * mapDispatchToProps - used to hook up connect to action creators\n * @memberof ManifestForm\n * @private\n */\nconst mapDispatchToProps = (dispatch, { windowId }) => ({\n setNextCanvas: (...args) => dispatch(actions.setNextCanvas(windowId)),\n setPreviousCanvas: (...args) => dispatch(actions.setPreviousCanvas(windowId)),\n});\n\nconst enhance = compose(\n connect(mapStateToProps, mapDispatchToProps),\n withPlugins('ViewerNavigation'),\n // further HOC go here\n);\n\nexport default enhance(ViewerNavigation);\n","import { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { alpha, styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport Paper from '@mui/material/Paper';\nimport Stack from '@mui/material/Stack';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport { visuallyHidden } from '@mui/utils';\nimport { useElementSize } from '@custom-react-hooks/use-element-size';\nimport mergeRefs from 'merge-refs';\nimport ZoomControls from '../containers/ZoomControls';\nimport ViewerInfo from '../containers/ViewerInfo';\nimport ViewerNavigation from '../containers/ViewerNavigation';\nimport ns from '../config/css-ns';\nimport { PluginHook } from './PluginHook';\n\nconst Root = styled(Paper, { name: 'WindowCanvasNavigationControls', slot: 'root' })(({ theme }) => ({\n alignItems: 'center',\n backgroundColor: alpha(theme.palette.background.paper, 0.5),\n bottom: 0,\n cursor: 'default',\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n justifyContent: 'center',\n position: 'absolute',\n textAlign: 'center',\n width: '100%',\n zIndex: 50,\n}));\n\n/**\n * Represents the viewer controls in the mirador workspace.\n */\nexport const WindowCanvasNavigationControls = forwardRef(\n ({ showZoomControls = false, visible = true, windowId, zoomToWorld, ...rest }, ref) => {\n const [sizeRef, size] = useElementSize();\n\n const pluginProps = {\n showZoomControls,\n size,\n visible,\n windowId,\n ...rest,\n };\n /**\n * Determine if canvasNavControls are stacked (based on a hard-coded width)\n */\n const canvasNavControlsAreStacked = size && size.width && size.width <= 253;\n\n if (!visible)\n return (\n <Typography style={visuallyHidden} component=\"div\">\n <ViewerInfo windowId={windowId} />\n </Typography>\n );\n\n return (\n <Root\n square\n className={classNames(ns('canvas-nav'), canvasNavControlsAreStacked ? ns('canvas-nav-stacked') : null)}\n elevation={0}\n ref={mergeRefs(ref, sizeRef)}\n >\n <Stack\n direction={canvasNavControlsAreStacked ? 'column' : 'row'}\n divider={<Divider orientation={canvasNavControlsAreStacked ? 'horizontal' : 'vertical'} variant=\"middle\" flexItem />}\n spacing={0}\n >\n <ViewerNavigation windowId={windowId} />\n {showZoomControls && <ZoomControls windowId={windowId} zoomToWorld={zoomToWorld} />}\n </Stack>\n <ViewerInfo windowId={windowId} />\n\n <PluginHook targetName=\"WindowCanvasNavigationControls\" {...pluginProps} />\n </Root>\n );\n },\n);\n\nWindowCanvasNavigationControls.propTypes = {\n // eslint-disable-next-line react/require-default-props -- this rule doesn't detect default args through forwardRef's inner callback (see the default arg on line 37); https://github.com/jsx-eslint/eslint-plugin-react/issues/2856\n showZoomControls: PropTypes.bool,\n // eslint-disable-next-line react/require-default-props -- same forwardRef detection gap as above\n visible: PropTypes.bool,\n windowId: PropTypes.string.isRequired,\n zoomToWorld: PropTypes.func.isRequired,\n};\n\nWindowCanvasNavigationControls.displayName = 'WindowCanvasNavigationControls';\n","import { connect } from 'react-redux';\nimport { compose } from 'redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { getShowZoomControlsConfig, getWorkspace } from '../state/selectors';\nimport { WindowCanvasNavigationControls } from '../components/WindowCanvasNavigationControls';\n\n/** */\nconst mapStateToProps = (state, { windowId }) => ({\n showZoomControls: getShowZoomControlsConfig(state),\n visible: getWorkspace(state).focusedWindowId === windowId,\n});\n\nconst enhance = compose(connect(mapStateToProps), withPlugins('WindowCanvasNavigationControls'));\n\nexport default enhance(WindowCanvasNavigationControls);\n"],"x_google_ignoreList":[0,1,7],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { U as e, at as t, dt as n, ft as r, g as i } from "./getters-B4oepJRC.js";
2
2
  import { t as a } from "./react-error-boundary.esm-ByHqCaxk.js";
3
- import { t as o } from "./WindowCanvasNavigationControls-D2uLtL_A.js";
3
+ import { t as o } from "./WindowCanvasNavigationControls-BEfgwEVZ.js";
4
4
  import { Suspense as s, lazy as c } from "react";
5
5
  import { jsx as l } from "react/jsx-runtime";
6
6
  //#region src/components/WindowViewer.jsx
7
- var u = /* @__PURE__ */ r(t(), 1), d = c(() => import("./OpenSeadragonViewer-4nw8qaVM.js").then((e) => e.n));
7
+ var u = /* @__PURE__ */ r(t(), 1), d = c(() => import("./OpenSeadragonViewer-DtalKKE4.js").then((e) => e.n));
8
8
  function f({ windowId: e }) {
9
9
  return /* @__PURE__ */ l(a, {
10
10
  fallback: null,
@@ -24,4 +24,4 @@ var p = /* @__PURE__ */ n({ default: () => m }), m = e(i("WindowViewer"))(f);
24
24
  //#endregion
25
25
  export { p as n, f as r, m as t };
26
26
 
27
- //# sourceMappingURL=WindowViewer-uHVYcMsX.js.map
27
+ //# sourceMappingURL=WindowViewer-Bwx-8xYM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowViewer-uHVYcMsX.js","names":[],"sources":["../src/components/WindowViewer.jsx","../src/containers/WindowViewer.js"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport PropTypes from 'prop-types';\nimport WindowCanvasNavigationControls from '../containers/WindowCanvasNavigationControls';\n\nconst OSDViewer = lazy(() => import('../containers/OpenSeadragonViewer'));\n\n/**\n * Represents a WindowViewer in the mirador workspace. Responsible for mounting\n * OSD and Navigation\n */\nexport function WindowViewer({ windowId }) {\n return (\n <ErrorBoundary fallback={null}>\n <Suspense fallback={<div />}>\n <OSDViewer windowId={windowId}>\n <WindowCanvasNavigationControls windowId={windowId} />\n </OSDViewer>\n </Suspense>\n </ErrorBoundary>\n );\n}\n\nWindowViewer.propTypes = {\n windowId: PropTypes.string.isRequired,\n};\n","import { compose } from 'redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { WindowViewer } from '../components/WindowViewer';\n\nconst enhance = compose(\n withPlugins('WindowViewer'),\n // further HOC go here\n);\n\nexport default enhance(WindowViewer);\n"],"mappings":";;;;;;mCAKM,IAAY,QAAW,OAAO,oCAAoC,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;AAMxE,SAAgB,EAAa,EAAE,eAAY;CACzC,OACE,kBAAC,GAAD;EAAe,UAAU;EACvB,UAAA,kBAAC,GAAD;GAAU,UAAU,kBAAC,OAAD,CAAM,CAAA;GACxB,UAAA,kBAAC,GAAD;IAAqB;IACnB,UAAA,kBAAC,GAAD,EAA0C,YAAW,CAAA;GAC5C,CAAA;EACH,CAAA;CACG,CAAA;AAEnB;AAEA,EAAa,YAAY,EACvB,UAAU,EAAA,QAAU,OAAO,WAC7B;;;iDChBA,IALgB,EACd,EAAY,cAAc,CAIb,CAAA,CAAQ,CAAY"}
1
+ {"version":3,"file":"WindowViewer-Bwx-8xYM.js","names":[],"sources":["../src/components/WindowViewer.jsx","../src/containers/WindowViewer.js"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport PropTypes from 'prop-types';\nimport WindowCanvasNavigationControls from '../containers/WindowCanvasNavigationControls';\n\nconst OSDViewer = lazy(() => import('../containers/OpenSeadragonViewer'));\n\n/**\n * Represents a WindowViewer in the mirador workspace. Responsible for mounting\n * OSD and Navigation\n */\nexport function WindowViewer({ windowId }) {\n return (\n <ErrorBoundary fallback={null}>\n <Suspense fallback={<div />}>\n <OSDViewer windowId={windowId}>\n <WindowCanvasNavigationControls windowId={windowId} />\n </OSDViewer>\n </Suspense>\n </ErrorBoundary>\n );\n}\n\nWindowViewer.propTypes = {\n windowId: PropTypes.string.isRequired,\n};\n","import { compose } from 'redux';\nimport { withPlugins } from '../extend/withPlugins';\nimport { WindowViewer } from '../components/WindowViewer';\n\nconst enhance = compose(\n withPlugins('WindowViewer'),\n // further HOC go here\n);\n\nexport default enhance(WindowViewer);\n"],"mappings":";;;;;;mCAKM,IAAY,QAAW,OAAO,oCAAoC,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;AAMxE,SAAgB,EAAa,EAAE,eAAY;CACzC,OACE,kBAAC,GAAD;EAAe,UAAU;EACvB,UAAA,kBAAC,GAAD;GAAU,UAAU,kBAAC,OAAD,CAAM,CAAA;GACxB,UAAA,kBAAC,GAAD;IAAqB;IACnB,UAAA,kBAAC,GAAD,EAA0C,YAAW,CAAA;GAC5C,CAAA;EACH,CAAA;CACG,CAAA;AAEnB;AAEA,EAAa,YAAY,EACvB,UAAU,EAAA,QAAU,OAAO,WAC7B;;;iDChBA,IALgB,EACd,EAAY,cAAc,CAIb,CAAA,CAAQ,CAAY"}