diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml
index 8405289c1..da332d9cb 100644
--- a/.github/workflows/build-test.yml
+++ b/.github/workflows/build-test.yml
@@ -11,8 +11,8 @@ jobs:
name: Node ${{ matrix.node }} build
steps:
- - uses: actions/checkout@v6
- - uses: actions/cache@v5
+ - uses: actions/checkout@v5
+ - uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-${{ matrix.node }}-npm-${{ hashFiles('**/package-lock.lock') }}
diff --git a/.github/workflows/lint-and-prettify.yml b/.github/workflows/lint-and-prettify.yml
index 614d6aeb3..c7876361a 100644
--- a/.github/workflows/lint-and-prettify.yml
+++ b/.github/workflows/lint-and-prettify.yml
@@ -14,7 +14,7 @@ jobs:
node-version: "20"
- name: Checkout
- uses: actions/checkout@v6
+ uses: actions/checkout@v5
- name: Install npm dependencies
run: npm install
@@ -29,7 +29,7 @@ jobs:
run: npm run prettify
- name: Auto-commit fixes
- uses: EndBug/add-and-commit@v10
+ uses: EndBug/add-and-commit@v9
with:
default_author: github_actions
add: "['src/']"
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1946a6df4..e20fdb29d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -4,17 +4,32 @@ on:
push:
tags: ['v*']
-permissions:
- id-token: write # Required for OIDC
- contents: read
-
jobs:
- publish:
+ build:
+ runs-on: ubuntu-latest
+ name: Node build
+ steps:
+ - uses: actions/checkout@v5
+ - uses: actions/cache@v4
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-${{ matrix.node }}-npm-${{ hashFiles('**/package-lock.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-npm-
+ - name: Setup node
+ uses: actions/setup-node@v6
+ with:
+ node-version: '20.x'
+ - run: npm ci
+ - run: npm run build
+
+ release:
+ needs: [build]
runs-on: ubuntu-latest
name: Release
steps:
- - uses: actions/checkout@v6
- - uses: actions/cache@v5
+ - uses: actions/checkout@v5
+ - uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-${{ matrix.node }}-npm-${{ hashFiles('**/package-lock.lock') }}
@@ -23,27 +38,15 @@ jobs:
- name: Setup node
uses: actions/setup-node@v6
with:
- node-version: '24'
- registry-url: 'https://registry.npmjs.org'
+ node-version: '20.x'
- name: Set tag
id: tagName
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- # Ensure npm 11.5.1 or later is installed
- - name: Update npm
- run: npm install -g npm@latest
+ run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
- run: npm ci
+ - run: npm run prepublishOnly
- - name: Publish a release candidate
- if: contains(steps.tagName.outputs.tag, 'rc')
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: npm publish --tag=rc
-
- - name: Publish a regular release
- if: false == contains(steps.tagName.outputs.tag, 'rc')
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: npm publish
+ - uses: JS-DevTools/npm-publish@v4
+ with:
+ token: ${{ secrets.NPM_TOKEN }}
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 000000000..e24183e58
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+v14.18.1
diff --git a/.stylelintrc.json b/.stylelintrc.json
index b3a2754de..24bc294eb 100644
--- a/.stylelintrc.json
+++ b/.stylelintrc.json
@@ -5,7 +5,6 @@
"rules": {
"block-no-empty": true,
"at-rule-no-unknown": null,
- "color-function-notation": null,
"color-no-invalid-hex": true,
"less/color-no-invalid-hex": null,
"rule-empty-line-before": null,
diff --git a/__tests__/test.js b/__tests__/test.js
index 356dbfb3b..fa73b4556 100644
--- a/__tests__/test.js
+++ b/__tests__/test.js
@@ -6,72 +6,6 @@ describe("Universal Viewer", () => {
let browser;
let page;
- const getRotationFromNavigator = async () => {
- return await page.evaluate(() => {
- const el = document.querySelector(".displayregioncontainer");
- if (!el) return 0;
-
- const transform = el.style.transform || "";
- const match = transform.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);
- if (!match) return 0;
-
- const deg = Number(match[1]);
- return ((deg % 360) + 360) % 360;
- });
- };
-
- const waitForRotation = async (expectedRotation) => {
- await page.waitForFunction(
- (expected) => {
- const el = document.querySelector(".displayregioncontainer");
- if (!el) return false;
-
- const transform = el.style.transform || "";
- const match = transform.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);
- const current = match ? Number(match[1]) : 0;
-
- return ((current % 360) + 360) % 360 === expected;
- },
- {},
- expectedRotation
- );
- };
-
- const getCanvasValue = (url) => {
- const match = url.match(/(?:^|[?])(cv|canvas|page)=([^]*)/);
- if (!match) return 0;
-
- const rawValue = match[2];
- if (rawValue === "") return 0;
-
- const value = Number(rawValue);
- if (Number.isNaN(value)) return 0;
-
- return value;
- };
-
- const waitForCanvasValue = async (page, expected) => {
- await page.waitForFunction(
- (expectedValue) => {
- const match = window.location.href.match(/(?:^|[?])(cv|canvas|page)=([^]*)/);
- if (!match) return expectedValue === 0;
-
- const rawValue = match[2];
- if (rawValue === "") return expectedValue === 0;
-
- const value = Number(rawValue);
- return value === expectedValue;
- },
- {},
- expected
- );
- };
-
- const getXywhValue = (url) => {
- const match = url.match(/[?]xywh=([^&]+)/);
- return match ? decodeURIComponent(match[1]) : null;
- };
-
beforeAll(async () => {
browser = await puppeteer.launch();
page = await browser.newPage();
@@ -133,193 +67,16 @@ describe("Universal Viewer", () => {
expect(labelOverflowAfterToggle).toBe("visible");
});
- it("can toggle gallery view", async () => {
- // gallery view is not default view
- const galleryViewBeforeToggle = await page.evaluate(() => {
- const galleryViewOverlay = document.querySelector(
- ".iiif-gallery-component .header"
- );
- return getComputedStyle(galleryViewOverlay).overflowX;
- });
- expect(galleryViewBeforeToggle).toBe("hidden");
+ // it('settings button is visible', async () => {
- // gallery toggle icon is visible
- await page.waitForSelector(".uv-icon-gallery");
- const galleryViewToggle = await page.evaluate(() => {
- const toggle = document.querySelector(".uv-icon-gallery");
- return getComputedStyle(toggle).overflowX;
- });
- expect(galleryViewToggle).toBe("visible");
+ // await page.waitForSelector('.btn.imageBtn.settings');
- // gallery view can be toggled on
- await page.evaluate(() => {
- document.querySelector(".uv-icon-gallery").click();
- });
- const galleryViewAfterToggle = await page.evaluate(() => {
- const galleryViewOverlay = document.querySelector(
- ".iiif-gallery-component"
- );
- return getComputedStyle(galleryViewOverlay).overflowX;
- });
- expect(galleryViewAfterToggle).toBe("visible");
-
- // gallery view can be toggled off
- await page.evaluate(() => {
- document.querySelector(".uv-icon-two-up").click();
- });
- const galleryViewAfterTwoUpToggle = await page.evaluate(() => {
- const galleryViewOverlay = document.querySelector(
- ".iiif-gallery-component .header"
- );
- return getComputedStyle(galleryViewOverlay).overflowX;
- });
- expect(galleryViewAfterTwoUpToggle).toBe("hidden");
- });
-
- it("settings button is visible", async () => {
- await page.waitForSelector(".btn.imageBtn.settings");
-
- const isSettingsButtonVisible = await page.evaluate(() => {
- const settingsButton = document.querySelector(".btn.imageBtn.settings");
- const style = window.getComputedStyle(settingsButton);
- return (
- style.getPropertyValue("visibility") !== "hidden" &&
- style.getPropertyValue("display") !== "none"
- );
- });
-
- expect(isSettingsButtonVisible).toBe(true);
- });
-
- describe("viewer controls", () => {
- afterEach(async () => {
- await page.goto("http://localhost:4444");
- });
+ // const isSettingsButtonVisible = await page.evaluate(() => {
+ // const settingsButton = document.querySelector('.btn.imageBtn.settings');
+ // const style = window.getComputedStyle(settingsButton);
+ // return style.getPropertyValue('visibility') !== 'hidden' && style.getPropertyValue('display') !== 'none';
+ // });
- // can navigate back and forth
- it("can navigate back and forth", async () => {
- await page.waitForSelector(".btn.imageBtn.next", { visible: true });
- await page.waitForSelector(".btn.imageBtn.prev", { visible: true });
-
- const startValue = getCanvasValue(page.url());
-
- const isPrevDisabledInitially = await page.$eval(
- ".btn.imageBtn.prev",
- (btn) => btn.disabled
- );
- expect(isPrevDisabledInitially).toBe(true);
-
- await page.click(".btn.imageBtn.next");
- await waitForCanvasValue(page, 1);
-
- const nextValue = getCanvasValue(page.url());
- const isPrevDisabledAfterNext = await page.$eval(
- ".btn.imageBtn.prev",
- (btn) => btn.disabled
- );
- expect(isPrevDisabledAfterNext).toBe(false);
-
- await page.click(".btn.imageBtn.prev");
- await waitForCanvasValue(page, 0);
-
- const previousValue = getCanvasValue(page.url());
- const isPrevDisabledAgain = await page.$eval(
- ".btn.imageBtn.prev",
- (btn) => btn.disabled
- );
- expect(isPrevDisabledAgain).toBe(true);
-
- expect(startValue).toBe(0);
- expect(nextValue).toBe(1);
- expect(previousValue).toBe(0);
- });
-
- // zoom in and zoom out
- it("can zoom in and zoom out", async () => {
- await page.waitForSelector(".zoomIn.viewportNavButton", {
- visible: true,
- });
- await page.waitForSelector(".zoomOut.viewportNavButton", {
- visible: true,
- });
-
- const initialUrl = page.url();
- const initialXywh = getXywhValue(initialUrl);
-
- await page.click(".zoomIn.viewportNavButton");
- await page.waitForFunction(
- (prev) => window.location.href !== prev,
- {},
- initialUrl
- );
-
- const zoomInUrl = page.url();
- const zoomInXywh = getXywhValue(zoomInUrl);
-
- expect(zoomInXywh).not.toBeNull();
- expect(zoomInXywh).not.toBe(initialXywh);
- expect(zoomInXywh).toMatch(/^-?\d+,-?\d+,\d+,\d+$/);
-
- await page.click(".zoomOut.viewportNavButton");
- await page.waitForFunction(
- (prev) => window.location.href !== prev,
- {},
- zoomInUrl
- );
-
- const zoomOutUrl = page.url();
- const zoomOutXywh = getXywhValue(zoomOutUrl);
-
- expect(zoomOutXywh).not.toBeNull();
- expect(zoomOutXywh).not.toBe(zoomInXywh);
- expect(zoomOutXywh).toMatch(/^-?\d+,-?\d+,\d+,\d+$/);
- });
-
- // rotate image
- it("can rotate image", async () => {
- await page.waitForSelector(".rotate.viewportNavButton", {
- visible: true,
- });
-
- const initialRot = await getRotationFromNavigator();
-
- await page.click(".rotate.viewportNavButton");
- await waitForRotation(90);
-
- const rotatedRot = await getRotationFromNavigator();
- expect(initialRot).toBe(0);
- expect(rotatedRot).toBe(90);
- });
-
- // open and close adjust image control
- it("can open and close adjust image control", async () => {
- const btn = "button.viewportNavButton.adjustImage";
- const overlay = "div.overlay.adjustImage";
- const heading = "div.overlay.adjustImage .content .heading";
- const closeBtn = ".btn.btn-default.close";
-
- await page.waitForSelector(btn, { visible: true });
- await page.click(btn);
-
- await page.waitForSelector(overlay, { visible: true });
-
- const text = await page.$eval(heading, (el) => el.textContent.trim());
- expect(text).toBe("Adjust image");
-
- await page.$eval(closeBtn, (el) => el.click());
-
- const isOverlayVisible = await page.evaluate(() => {
- const isOverlayVisible = document.querySelector(
- "div.overlay.adjustImage"
- );
- const style = window.getComputedStyle(isOverlayVisible);
-
- return (
- style.getPropertyValue("display") === "none" ||
- style.getPropertyValue("visibility") === "hidden"
- );
- });
- expect(isOverlayVisible).toBe(false);
- });
- });
-});
\ No newline at end of file
+ // expect(isSettingsButtonVisible).toBe(true);
+ // });
+});
diff --git a/docs/types/_internal_.Config-6.html b/docs/types/_internal_.Config-6.html
index 600817ac8..570015ba4 100644
--- a/docs/types/_internal_.Config-6.html
+++ b/docs/types/_internal_.Config-6.html
@@ -1 +1 @@
-
Config | universalviewer
+Config | universalviewer
diff --git a/docs/types/_internal_.HelpDialogue.html b/docs/types/_internal_.HelpDialogue.html
deleted file mode 100644
index d474988bc..000000000
--- a/docs/types/_internal_.HelpDialogue.html
+++ /dev/null
@@ -1 +0,0 @@
-HelpDialogue | universalviewer
diff --git a/docs/types/_internal_.HelpDialogueContent.html b/docs/types/_internal_.HelpDialogueContent.html
deleted file mode 100644
index e928c7ea4..000000000
--- a/docs/types/_internal_.HelpDialogueContent.html
+++ /dev/null
@@ -1 +0,0 @@
-HelpDialogueContent | universalviewerType Alias HelpDialogueContent
diff --git a/docs/types/_internal_.HelpDialogueOptions.html b/docs/types/_internal_.HelpDialogueOptions.html
deleted file mode 100644
index 9dc3d0bf8..000000000
--- a/docs/types/_internal_.HelpDialogueOptions.html
+++ /dev/null
@@ -1 +0,0 @@
-HelpDialogueOptions | universalviewerType Alias HelpDialogueOptions
diff --git a/docs/types/_internal_.MobileFooterPanel-1.html b/docs/types/_internal_.MobileFooterPanel-1.html
index 488da1bc2..88ad95701 100644
--- a/docs/types/_internal_.MobileFooterPanel-1.html
+++ b/docs/types/_internal_.MobileFooterPanel-1.html
@@ -1 +1 @@
-MobileFooterPanel | universalviewerType Alias MobileFooterPanel
+MobileFooterPanel | universalviewerType Alias MobileFooterPanel
diff --git a/docs/types/_internal_.MobileFooterPanelContent-1.html b/docs/types/_internal_.MobileFooterPanelContent-1.html
index bb997a700..d671b21f6 100644
--- a/docs/types/_internal_.MobileFooterPanelContent-1.html
+++ b/docs/types/_internal_.MobileFooterPanelContent-1.html
@@ -1 +1 @@
-MobileFooterPanelContent | universalviewerType Alias MobileFooterPanelContent
MobileFooterPanelContent: FooterPanelContent & { closeLeftPanel: string; closeRightPanel: string; help: string; moreInfo: string; openLeftPanel: string; openRightPanel: string; rotateRight: string; zoomIn: string; zoomOut: string;}
+MobileFooterPanelContent | universalviewerType Alias MobileFooterPanelContent
MobileFooterPanelContent: FooterPanelContent & { closeLeftPanel: string; closeRightPanel: string; help: string; moreInfo: string; openLeftPanel: string; openRightPanel: string; rotateRight: string; zoomIn: string; zoomOut: string;}
diff --git a/docs/types/_internal_.MobileFooterPanelOptions-1.html b/docs/types/_internal_.MobileFooterPanelOptions-1.html
index b2bffd9a3..2eb5aaff4 100644
--- a/docs/types/_internal_.MobileFooterPanelOptions-1.html
+++ b/docs/types/_internal_.MobileFooterPanelOptions-1.html
@@ -1 +1 @@
-MobileFooterPanelOptions | universalviewerType Alias MobileFooterPanelOptions
+MobileFooterPanelOptions | universalviewerType Alias MobileFooterPanelOptions
diff --git a/docs/types/_internal_.Modules-6.html b/docs/types/_internal_.Modules-6.html
index 5d82d5d17..b903263c1 100644
--- a/docs/types/_internal_.Modules-6.html
+++ b/docs/types/_internal_.Modules-6.html
@@ -1,4 +1,4 @@
-Modules | universalviewer
diff --git a/docs/types/_internal_.MultiSelectDialogueContent.html b/docs/types/_internal_.MultiSelectDialogueContent.html
index 534fb5bbf..0e01e6181 100644
--- a/docs/types/_internal_.MultiSelectDialogueContent.html
+++ b/docs/types/_internal_.MultiSelectDialogueContent.html
@@ -1 +1 @@
-MultiSelectDialogueContent | universalviewerType Alias MultiSelectDialogueContent
MultiSelectDialogueContent: DialogueContent & { download: string; selectAll: string; title: string;}
+MultiSelectDialogueContent | universalviewerType Alias MultiSelectDialogueContent
MultiSelectDialogueContent: DialogueContent & { select: string; selectAll: string; title: string;}
diff --git a/docs/types/_internal_.OSDDownloadDialogue.html b/docs/types/_internal_.OSDDownloadDialogue.html
index 03ac43873..39e89f1da 100644
--- a/docs/types/_internal_.OSDDownloadDialogue.html
+++ b/docs/types/_internal_.OSDDownloadDialogue.html
@@ -1 +1 @@
-OSDDownloadDialogue | universalviewerType Alias OSDDownloadDialogue
+OSDDownloadDialogue | universalviewerType Alias OSDDownloadDialogue
diff --git a/docs/types/_internal_.OSDDownloadDialogueContent.html b/docs/types/_internal_.OSDDownloadDialogueContent.html
index 9fb56756a..8557cada4 100644
--- a/docs/types/_internal_.OSDDownloadDialogueContent.html
+++ b/docs/types/_internal_.OSDDownloadDialogueContent.html
@@ -1 +1 @@
-OSDDownloadDialogueContent | universalviewerType Alias OSDDownloadDialogueContent
OSDDownloadDialogueContent: DownloadDialogueContent & { allPages: string; currentViewAsJpg: string; currentViewAsJpgExplanation: string; download: string; downloadSelection: string; downloadSelectionExplanation: string; editSettings: string; entireDocument: string; entireFileAsOriginal: string; entireFileAsOriginalWithFormat: string; individualPages: string; noneAvailable: string; pagingNote: string; preview: string; selection: string; termsOfUse: string; title: string; wholeImageHighRes: string; wholeImageHighResExplanation: string; wholeImageLowResAsJpg: string; wholeImageLowResAsJpgExplanation: string; wholeImagesHighRes: string; wholeImagesHighResExplanation: string;}
+OSDDownloadDialogueContent | universalviewerType Alias OSDDownloadDialogueContent
OSDDownloadDialogueContent: DownloadDialogueContent & { allPages: string; currentViewAsJpg: string; currentViewAsJpgExplanation: string; download: string; downloadSelection: string; downloadSelectionExplanation: string; editSettings: string; entireDocument: string; entireFileAsOriginal: string; entireFileAsOriginalWithFormat: string; individualPages: string; noneAvailable: string; pagingNote: string; preview: string; selection: string; termsOfUse: string; title: string; wholeImageHighRes: string; wholeImageHighResExplanation: string; wholeImageLowResAsJpg: string; wholeImageLowResAsJpgExplanation: string; wholeImagesHighRes: string; wholeImagesHighResExplanation: string;}
diff --git a/docs/types/_internal_.OSDDownloadDialogueOptions.html b/docs/types/_internal_.OSDDownloadDialogueOptions.html
index b70448390..23f75f19b 100644
--- a/docs/types/_internal_.OSDDownloadDialogueOptions.html
+++ b/docs/types/_internal_.OSDDownloadDialogueOptions.html
@@ -1,8 +1,7 @@
-OSDDownloadDialogueOptions | universalviewerType Alias OSDDownloadDialogueOptions
OSDDownloadDialogueOptions: DownloadDialogueOptions & { confinedImageSize: number; downloadCurrentViewEnabled: boolean; downloadWholeImageHighResEnabled: boolean; downloadWholeImageLowResEnabled: boolean; maxImageWidth: number; minImageWidth: number; selectionEnabled: boolean;} Type declaration
confinedImageSize: number
diff --git a/docs/types/_internal_.OSDSettingsDialogue.html b/docs/types/_internal_.OSDSettingsDialogue.html
index 2fa5992ef..90b8f510e 100644
--- a/docs/types/_internal_.OSDSettingsDialogue.html
+++ b/docs/types/_internal_.OSDSettingsDialogue.html
@@ -1 +1 @@
-OSDSettingsDialogue | universalviewerType Alias OSDSettingsDialogue
+OSDSettingsDialogue | universalviewerType Alias OSDSettingsDialogue
diff --git a/docs/types/_internal_.OSDSettingsDialogueContent.html b/docs/types/_internal_.OSDSettingsDialogueContent.html
index 1cb71edea..cc635e868 100644
--- a/docs/types/_internal_.OSDSettingsDialogueContent.html
+++ b/docs/types/_internal_.OSDSettingsDialogueContent.html
@@ -1 +1 @@
-OSDSettingsDialogueContent | universalviewerType Alias OSDSettingsDialogueContent
+OSDSettingsDialogueContent | universalviewerType Alias OSDSettingsDialogueContent
diff --git a/docs/types/_internal_.OSDSettingsDialogueOptions.html b/docs/types/_internal_.OSDSettingsDialogueOptions.html
index c10237146..3d0d8d060 100644
--- a/docs/types/_internal_.OSDSettingsDialogueOptions.html
+++ b/docs/types/_internal_.OSDSettingsDialogueOptions.html
@@ -1 +1 @@
-OSDSettingsDialogueOptions | universalviewerType Alias OSDSettingsDialogueOptions
+OSDSettingsDialogueOptions | universalviewerType Alias OSDSettingsDialogueOptions
diff --git a/docs/types/_internal_.OSDShareDialogue.html b/docs/types/_internal_.OSDShareDialogue.html
index eaa625f7c..186291352 100644
--- a/docs/types/_internal_.OSDShareDialogue.html
+++ b/docs/types/_internal_.OSDShareDialogue.html
@@ -1 +1 @@
-OSDShareDialogue | universalviewerType Alias OSDShareDialogue
+OSDShareDialogue | universalviewerType Alias OSDShareDialogue
diff --git a/docs/types/_internal_.OSDShareDialogueContent.html b/docs/types/_internal_.OSDShareDialogueContent.html
index 0355e8087..4e3d9be86 100644
--- a/docs/types/_internal_.OSDShareDialogueContent.html
+++ b/docs/types/_internal_.OSDShareDialogueContent.html
@@ -1 +1 @@
-OSDShareDialogueContent | universalviewerType Alias OSDShareDialogueContent
+OSDShareDialogueContent | universalviewerType Alias OSDShareDialogueContent
diff --git a/docs/types/_internal_.OSDShareDialogueOptions.html b/docs/types/_internal_.OSDShareDialogueOptions.html
index 0e9326fbc..756ca0420 100644
--- a/docs/types/_internal_.OSDShareDialogueOptions.html
+++ b/docs/types/_internal_.OSDShareDialogueOptions.html
@@ -1 +1 @@
-OSDShareDialogueOptions | universalviewerType Alias OSDShareDialogueOptions
+OSDShareDialogueOptions | universalviewerType Alias OSDShareDialogueOptions
diff --git a/docs/types/_internal_.OpenSeadragonCenterPanel.html b/docs/types/_internal_.OpenSeadragonCenterPanel.html
index 604770227..32359c426 100644
--- a/docs/types/_internal_.OpenSeadragonCenterPanel.html
+++ b/docs/types/_internal_.OpenSeadragonCenterPanel.html
@@ -1 +1 @@
-OpenSeadragonCenterPanel | universalviewerType Alias OpenSeadragonCenterPanel
+OpenSeadragonCenterPanel | universalviewerType Alias OpenSeadragonCenterPanel
diff --git a/docs/types/_internal_.OpenSeadragonCenterPanelContent.html b/docs/types/_internal_.OpenSeadragonCenterPanelContent.html
index 6b1fe5878..e7094fe0b 100644
--- a/docs/types/_internal_.OpenSeadragonCenterPanelContent.html
+++ b/docs/types/_internal_.OpenSeadragonCenterPanelContent.html
@@ -1 +1 @@
-OpenSeadragonCenterPanelContent | universalviewerType Alias OpenSeadragonCenterPanelContent
OpenSeadragonCenterPanelContent: CenterPanelContent & { adjustImage: string; attribution: string; goHome: string; imageUnavailable: string; mediaViewer: string; nextImage: string; previousImage: string; rotateRight: string; zoomIn: string; zoomOut: string;}
+OpenSeadragonCenterPanelContent | universalviewerType Alias OpenSeadragonCenterPanelContent
OpenSeadragonCenterPanelContent: CenterPanelContent & { adjustImage: string; attribution: string; goHome: string; imageUnavailable: string; nextImage: string; previousImage: string; rotateRight: string; zoomIn: string; zoomOut: string;}
diff --git a/docs/types/_internal_.SearchFooterPanel.html b/docs/types/_internal_.SearchFooterPanel.html
index a7acc3756..47befc004 100644
--- a/docs/types/_internal_.SearchFooterPanel.html
+++ b/docs/types/_internal_.SearchFooterPanel.html
@@ -1 +1 @@
-SearchFooterPanel | universalviewerType Alias SearchFooterPanel
+SearchFooterPanel | universalviewerType Alias SearchFooterPanel
diff --git a/docs/types/_internal_.SearchFooterPanelContent.html b/docs/types/_internal_.SearchFooterPanelContent.html
index 84246a6d7..dc75b9766 100644
--- a/docs/types/_internal_.SearchFooterPanelContent.html
+++ b/docs/types/_internal_.SearchFooterPanelContent.html
@@ -1 +1 @@
-SearchFooterPanelContent | universalviewerType Alias SearchFooterPanelContent
SearchFooterPanelContent: FooterPanelContent & { clearSearch: string; defaultLabel: string; displaying: string; enterKeyword: string; image: string; imageCaps: string; instanceFound: string; instancesFound: string; nextResult: string; page: string; pageCaps: string; previousResult: string; print: string; resultFoundFor: string; resultsFoundFor: string; searchWithin: string;}
+SearchFooterPanelContent | universalviewerType Alias SearchFooterPanelContent
SearchFooterPanelContent: FooterPanelContent & { clearSearch: string; defaultLabel: string; displaying: string; enterKeyword: string; image: string; imageCaps: string; instanceFound: string; instancesFound: string; nextResult: string; page: string; pageCaps: string; previousResult: string; print: string; resultFoundFor: string; resultsFoundFor: string; searchWithin: string;}
diff --git a/docs/types/_internal_.SearchFooterPanelOptions.html b/docs/types/_internal_.SearchFooterPanelOptions.html
index 80a19ae48..49a8c2caa 100644
--- a/docs/types/_internal_.SearchFooterPanelOptions.html
+++ b/docs/types/_internal_.SearchFooterPanelOptions.html
@@ -4,4 +4,4 @@
forceImageMode: boolean
pageModeEnabled: boolean
positionMarkerEnabled: boolean
Size of the confined image
+Type Alias OSDDownloadDialogueOptions
confinedImageSize: number;
downloadCurrentViewEnabled: boolean;
downloadWholeImageHighResEnabled: boolean;
downloadWholeImageLowResEnabled: boolean;
maxImageWidth: number;
selectionEnabled: boolean;
}
Type declaration
confinedImageSize: number
Size of the confined image
downloadCurrentViewEnabled: boolean
Determines if download of current view is enabled
downloadWholeImageHighResEnabled: boolean
Determines if download of whole image in high resolution is enabled
downloadWholeImageLowResEnabled: boolean
Determines if download of whole image in low resolution is enabled
maxImageWidth: number
Maximum width of the image
-minImageWidth: number
Minimum width of the downloadable image
selectionEnabled: boolean
Determines if selection is enabled
-Settings