@file-viewer/core 3.2.2 → 3.3.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.
- package/README.en.md +12 -1
- package/README.md +36 -30
- package/README.zh-CN.md +171 -0
- package/dist/browser/controller.js +56 -15
- package/dist/browser/toolbar-focus.d.ts +1 -0
- package/dist/browser/toolbar-focus.js +43 -0
- package/dist/contracts/types.d.ts +9 -0
- package/dist/features/document/imageHandTool.d.ts +1 -0
- package/dist/features/document/imageHandTool.js +137 -0
- package/dist/headless.d.ts +2 -2
- package/dist/headless.js +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -1
- package/dist/lifecycle/operations.d.ts +1 -0
- package/dist/lifecycle/operations.js +11 -0
- package/dist/platform/assets.d.ts +1 -1
- package/dist/platform/assets.js +1 -1
- package/dist/presentation/colorScheme.d.ts +2 -0
- package/dist/presentation/colorScheme.js +39 -0
- package/dist/renderers/image.js +7 -3
- package/dist/source/loading.d.ts +8 -3
- package/dist/source/loading.js +16 -14
- package/dist/viewer/createViewer.js +2 -0
- package/package.json +10 -3
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { appendFileViewerStyle, cloneFileViewerViewState, applyFileViewerZoomAvailability, createViewer, isFileViewerShadowRoot, normalizeFileViewerUiDensity, normalizeFileViewerTheme, normalizeFileViewerStyleIsolation, syncFileViewerRenderSurfaceBackground, } from "../index.js";
|
|
2
|
-
import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, createFileViewerTranslator, getExtension, normalizeFileViewerSourceUrl, hasVisibleFileViewerToolbarActions, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, normalizeFilename, readFileViewerBuffer, resolveFileViewerSourceFilename, resolveFileViewerColorScheme, resolveFileViewerToolbarOrder, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, toggleFileViewerColorScheme, wrapFileViewerFileRef, } from "../index.js";
|
|
2
|
+
import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, createFileViewerTranslator, getExtension, normalizeFileViewerSourceUrl, hasVisibleFileViewerToolbarActions, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, normalizeFilename, readFileViewerBuffer, resolveFileViewerSourceFilename, resolveFileViewerRemoteSourcePlan, resolveFileViewerColorScheme, resolveFileViewerToolbarOrder, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, toggleFileViewerColorScheme, wrapFileViewerFileRef, } from "../index.js";
|
|
3
|
+
import { resolveFileViewerToolbarZoomButtons } from "../lifecycle/operations.js";
|
|
4
|
+
import { createToolbarFocusRestorer } from "./toolbar-focus.js";
|
|
3
5
|
const isBrowser = () => typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
4
6
|
const hasSource = (options = {}) => {
|
|
5
7
|
return !!(options.url || options.file || options.buffer);
|
|
@@ -25,6 +27,7 @@ const RENDER_AFFECTING_VIEWER_OPTION_KEYS = [
|
|
|
25
27
|
'archive',
|
|
26
28
|
'chm',
|
|
27
29
|
'pdf',
|
|
30
|
+
'epub',
|
|
28
31
|
'docx',
|
|
29
32
|
'presentation',
|
|
30
33
|
'spreadsheet',
|
|
@@ -137,6 +140,13 @@ const resolveViewerLoadSource = async (source, options = {}) => {
|
|
|
137
140
|
};
|
|
138
141
|
}
|
|
139
142
|
if (source.url) {
|
|
143
|
+
const plan = resolveFileViewerRemoteSourcePlan({
|
|
144
|
+
url: source.url, filename, type,
|
|
145
|
+
pageHref: options.pageHref, streaming: options.streaming,
|
|
146
|
+
});
|
|
147
|
+
if (!options.fetchFile && options.acceptsPdfUrl && plan.streamPdf) {
|
|
148
|
+
return { url: plan.url, filename: plan.filename, type: plan.extension, size: source.size };
|
|
149
|
+
}
|
|
140
150
|
const fileRef = await (options.fetchFile || defaultFetchFile)({
|
|
141
151
|
url: source.url,
|
|
142
152
|
signal: options.signal,
|
|
@@ -280,9 +290,6 @@ const callApi = async (api, action, fallback) => {
|
|
|
280
290
|
}
|
|
281
291
|
return action(api);
|
|
282
292
|
};
|
|
283
|
-
const isAbortError = (error) => {
|
|
284
|
-
return Boolean(error && typeof error === 'object' && error.name === 'AbortError');
|
|
285
|
-
};
|
|
286
293
|
const DEFAULT_TOOLBAR_AVAILABILITY = {
|
|
287
294
|
download: false,
|
|
288
295
|
print: false,
|
|
@@ -494,6 +501,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
494
501
|
shell.dataset.viewerDensity = normalizeFileViewerUiDensity((_c = (_b = currentOptions.options) === null || _b === void 0 ? void 0 : _b.ui) === null || _c === void 0 ? void 0 : _c.density);
|
|
495
502
|
syncFileViewerRenderSurfaceBackground(shell, currentOptions.options);
|
|
496
503
|
};
|
|
504
|
+
const captureToolbarFocus = createToolbarFocusRestorer(toolbarEl, contentEl);
|
|
497
505
|
let controller = null;
|
|
498
506
|
let searchDraft = '';
|
|
499
507
|
const isSearchToolbarVisible = (toolbar, options) => {
|
|
@@ -511,21 +519,30 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
511
519
|
if (disposed) {
|
|
512
520
|
return;
|
|
513
521
|
}
|
|
522
|
+
const restoreToolbarFocus = captureToolbarFocus();
|
|
514
523
|
syncShellTheme();
|
|
515
524
|
const options = currentOptions.options || {};
|
|
516
525
|
const toolbar = normalizeFileViewerToolbar(options);
|
|
517
526
|
const availability = getToolbarAvailability();
|
|
518
527
|
const showSearchToolbar = isSearchToolbarVisible(toolbar, options);
|
|
528
|
+
const zoomState = getToolbarZoomState();
|
|
529
|
+
const zoomButtons = resolveFileViewerToolbarZoomButtons({
|
|
530
|
+
toolbar,
|
|
531
|
+
zoomState,
|
|
532
|
+
renderedReady: state.ready,
|
|
533
|
+
hasError: !!state.error,
|
|
534
|
+
});
|
|
519
535
|
const visibleToolbar = resolveVisibleFileViewerToolbar(toolbar, availability, showSearchToolbar);
|
|
536
|
+
visibleToolbar.zoom = zoomButtons.zoomIn || zoomButtons.zoomOut || zoomButtons.zoomReset;
|
|
520
537
|
const showToolbar = hasVisibleFileViewerToolbarActions(visibleToolbar);
|
|
521
538
|
const toolbarPosition = resolveFileViewerToolbarPosition(options, getCurrentExtension());
|
|
522
539
|
const toolbarDisabled = state.loading || !!state.error;
|
|
523
|
-
const zoomState = getToolbarZoomState();
|
|
524
540
|
const t = createFileViewerTranslator(options);
|
|
525
541
|
toolbarEl.hidden = !showToolbar;
|
|
526
542
|
toolbarEl.dataset.toolbarPosition = toolbarPosition;
|
|
527
543
|
toolbarEl.replaceChildren();
|
|
528
544
|
if (!showToolbar) {
|
|
545
|
+
restoreToolbarFocus();
|
|
529
546
|
return;
|
|
530
547
|
}
|
|
531
548
|
const appendSearchToolbar = () => {
|
|
@@ -543,6 +560,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
543
560
|
group.setAttribute('aria-label', t('toolbar.search'));
|
|
544
561
|
const input = documentRef.createElement('input');
|
|
545
562
|
input.type = 'search';
|
|
563
|
+
input.dataset.viewerToolbarKey = 'search-input';
|
|
546
564
|
addPart(input, 'input');
|
|
547
565
|
input.value = searchDraft;
|
|
548
566
|
input.placeholder = t('toolbar.searchPlaceholder');
|
|
@@ -554,16 +572,19 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
554
572
|
});
|
|
555
573
|
const searchButton = documentRef.createElement('button');
|
|
556
574
|
searchButton.type = 'submit';
|
|
575
|
+
searchButton.dataset.viewerToolbarKey = 'search-submit';
|
|
557
576
|
addPart(searchButton, 'button');
|
|
558
577
|
searchButton.textContent = t('toolbar.search');
|
|
559
578
|
searchButton.title = t('toolbar.search');
|
|
560
579
|
searchButton.setAttribute('aria-label', t('toolbar.search'));
|
|
561
580
|
searchButton.disabled = toolbarDisabled;
|
|
562
581
|
const previousButton = createButton(documentRef, '<', 'file-viewer-web-icon-button', () => controller === null || controller === void 0 ? void 0 : controller.previousSearchResult());
|
|
582
|
+
previousButton.dataset.viewerToolbarKey = 'search-previous';
|
|
563
583
|
previousButton.title = t('toolbar.searchPrevious');
|
|
564
584
|
previousButton.setAttribute('aria-label', t('toolbar.searchPrevious'));
|
|
565
585
|
previousButton.disabled = toolbarDisabled || searchTotal < 1;
|
|
566
586
|
const nextButton = createButton(documentRef, '>', 'file-viewer-web-icon-button', () => controller === null || controller === void 0 ? void 0 : controller.nextSearchResult());
|
|
587
|
+
nextButton.dataset.viewerToolbarKey = 'search-next';
|
|
567
588
|
nextButton.title = t('toolbar.searchNext');
|
|
568
589
|
nextButton.setAttribute('aria-label', t('toolbar.searchNext'));
|
|
569
590
|
nextButton.disabled = toolbarDisabled || searchTotal < 1;
|
|
@@ -571,6 +592,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
571
592
|
searchDraft = '';
|
|
572
593
|
await (controller === null || controller === void 0 ? void 0 : controller.clearDocumentSearch());
|
|
573
594
|
});
|
|
595
|
+
clearButton.dataset.viewerToolbarKey = 'search-clear';
|
|
574
596
|
clearButton.title = t('toolbar.searchClear');
|
|
575
597
|
clearButton.setAttribute('aria-label', t('toolbar.searchClear'));
|
|
576
598
|
clearButton.disabled = toolbarDisabled || (!searchDraft && !(searchState === null || searchState === void 0 ? void 0 : searchState.query));
|
|
@@ -596,9 +618,10 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
596
618
|
group.className = 'file-viewer-web-toolbar-group';
|
|
597
619
|
addPart(group, 'toolbar-group');
|
|
598
620
|
group.setAttribute('aria-label', t('toolbar.zoomGroup'));
|
|
599
|
-
if (
|
|
621
|
+
if (zoomButtons.zoomOut) {
|
|
600
622
|
const button = createButton(documentRef, '-', 'file-viewer-web-icon-button', () => controller === null || controller === void 0 ? void 0 : controller.zoomOut());
|
|
601
623
|
button.title = t('toolbar.zoomOut');
|
|
624
|
+
button.dataset.viewerToolbarKey = 'zoom-out';
|
|
602
625
|
button.setAttribute('aria-label', t('toolbar.zoomOut'));
|
|
603
626
|
button.disabled = isFileViewerZoomButtonDisabled({
|
|
604
627
|
action: 'canZoomOut',
|
|
@@ -608,9 +631,10 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
608
631
|
});
|
|
609
632
|
group.appendChild(button);
|
|
610
633
|
}
|
|
611
|
-
if (
|
|
634
|
+
if (zoomButtons.zoomReset) {
|
|
612
635
|
const meter = createButton(documentRef, zoomState.label, 'file-viewer-web-zoom-meter', () => controller === null || controller === void 0 ? void 0 : controller.resetZoom());
|
|
613
636
|
meter.title = t('toolbar.zoomReset');
|
|
637
|
+
meter.dataset.viewerToolbarKey = 'zoom-meter';
|
|
614
638
|
meter.disabled = isFileViewerZoomButtonDisabled({
|
|
615
639
|
action: 'canReset',
|
|
616
640
|
availability,
|
|
@@ -622,9 +646,10 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
622
646
|
else {
|
|
623
647
|
group.appendChild(createReadonlyMeter(documentRef, zoomState.label, 'file-viewer-web-zoom-meter'));
|
|
624
648
|
}
|
|
625
|
-
if (
|
|
649
|
+
if (zoomButtons.zoomReset) {
|
|
626
650
|
const button = createButton(documentRef, '1:1', 'file-viewer-web-icon-button', () => controller === null || controller === void 0 ? void 0 : controller.resetZoom());
|
|
627
651
|
button.title = t('toolbar.zoomReset');
|
|
652
|
+
button.dataset.viewerToolbarKey = 'zoom-reset';
|
|
628
653
|
button.setAttribute('aria-label', t('toolbar.zoomReset'));
|
|
629
654
|
button.disabled = isFileViewerZoomButtonDisabled({
|
|
630
655
|
action: 'canReset',
|
|
@@ -634,9 +659,10 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
634
659
|
});
|
|
635
660
|
group.appendChild(button);
|
|
636
661
|
}
|
|
637
|
-
if (
|
|
662
|
+
if (zoomButtons.zoomIn) {
|
|
638
663
|
const button = createButton(documentRef, '+', 'file-viewer-web-icon-button', () => controller === null || controller === void 0 ? void 0 : controller.zoomIn());
|
|
639
664
|
button.title = t('toolbar.zoomIn');
|
|
665
|
+
button.dataset.viewerToolbarKey = 'zoom-in';
|
|
640
666
|
button.setAttribute('aria-label', t('toolbar.zoomIn'));
|
|
641
667
|
button.disabled = isFileViewerZoomButtonDisabled({
|
|
642
668
|
action: 'canZoomIn',
|
|
@@ -650,11 +676,12 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
650
676
|
toolbarEl.appendChild(group);
|
|
651
677
|
}
|
|
652
678
|
};
|
|
653
|
-
const appendToolbarButton = (visible, label, title, onClick) => {
|
|
679
|
+
const appendToolbarButton = (visible, key, label, title, onClick) => {
|
|
654
680
|
if (!visible) {
|
|
655
681
|
return;
|
|
656
682
|
}
|
|
657
683
|
const button = createButton(documentRef, label, '', onClick);
|
|
684
|
+
button.dataset.viewerToolbarKey = key;
|
|
658
685
|
button.title = title;
|
|
659
686
|
button.disabled = toolbarDisabled;
|
|
660
687
|
toolbarEl.appendChild(button);
|
|
@@ -691,6 +718,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
691
718
|
}
|
|
692
719
|
});
|
|
693
720
|
addPart(button, 'theme-toggle');
|
|
721
|
+
button.dataset.viewerToolbarKey = 'theme';
|
|
694
722
|
setThemeButtonIcon(button, currentTheme);
|
|
695
723
|
button.title = title;
|
|
696
724
|
button.setAttribute('aria-label', title);
|
|
@@ -706,7 +734,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
706
734
|
appendZoomToolbar();
|
|
707
735
|
}
|
|
708
736
|
else if (item === 'download') {
|
|
709
|
-
appendToolbarButton(visibleToolbar.download, t('toolbar.download'), t('toolbar.downloadTitle'), () => controller === null || controller === void 0 ? void 0 : controller.downloadOriginalFile());
|
|
737
|
+
appendToolbarButton(visibleToolbar.download, 'download', t('toolbar.download'), t('toolbar.downloadTitle'), () => controller === null || controller === void 0 ? void 0 : controller.downloadOriginalFile());
|
|
710
738
|
}
|
|
711
739
|
else if (item === 'print') {
|
|
712
740
|
if (!visibleToolbar.print) {
|
|
@@ -719,6 +747,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
719
747
|
menu.dataset.open = menu.dataset.open === 'true' ? 'false' : 'true';
|
|
720
748
|
});
|
|
721
749
|
trigger.title = t('toolbar.printTitle');
|
|
750
|
+
trigger.dataset.viewerToolbarKey = 'print';
|
|
722
751
|
trigger.setAttribute('aria-label', t('toolbar.printTitle'));
|
|
723
752
|
trigger.setAttribute('aria-haspopup', 'menu');
|
|
724
753
|
trigger.disabled = toolbarDisabled;
|
|
@@ -733,6 +762,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
733
762
|
await (controller === null || controller === void 0 ? void 0 : controller.printRenderedHtml());
|
|
734
763
|
});
|
|
735
764
|
directButton.title = t('toolbar.printTitle');
|
|
765
|
+
directButton.dataset.viewerToolbarKey = 'print-direct';
|
|
736
766
|
directButton.setAttribute('role', 'menuitem');
|
|
737
767
|
directButton.disabled = toolbarDisabled;
|
|
738
768
|
const maskButton = createButton(documentRef, t('toolbar.printMask'), '', async () => {
|
|
@@ -740,6 +770,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
740
770
|
await (controller === null || controller === void 0 ? void 0 : controller.printWithMask());
|
|
741
771
|
});
|
|
742
772
|
maskButton.title = t('toolbar.printMaskTitle');
|
|
773
|
+
maskButton.dataset.viewerToolbarKey = 'print-mask';
|
|
743
774
|
maskButton.setAttribute('role', 'menuitem');
|
|
744
775
|
maskButton.disabled = toolbarDisabled;
|
|
745
776
|
panel.append(directButton, maskButton);
|
|
@@ -753,12 +784,13 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
753
784
|
toolbarEl.appendChild(menu);
|
|
754
785
|
}
|
|
755
786
|
else if (item === 'exportHtml') {
|
|
756
|
-
appendToolbarButton(visibleToolbar.exportHtml, t('toolbar.exportHtml'), t('toolbar.exportHtmlTitle'), () => controller === null || controller === void 0 ? void 0 : controller.exportRenderedHtml());
|
|
787
|
+
appendToolbarButton(visibleToolbar.exportHtml, 'export-html', t('toolbar.exportHtml'), t('toolbar.exportHtmlTitle'), () => controller === null || controller === void 0 ? void 0 : controller.exportRenderedHtml());
|
|
757
788
|
}
|
|
758
789
|
else if (item === 'theme') {
|
|
759
790
|
appendThemeToolbar();
|
|
760
791
|
}
|
|
761
792
|
});
|
|
793
|
+
restoreToolbarFocus(state.loading || (!state.ready && !state.error));
|
|
762
794
|
};
|
|
763
795
|
let refreshSystemThemeDocument = null;
|
|
764
796
|
const handleViewerColorSchemeChange = () => {
|
|
@@ -832,7 +864,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
832
864
|
abortController = null;
|
|
833
865
|
};
|
|
834
866
|
const loadSource = async (nextSource) => {
|
|
835
|
-
var _a;
|
|
867
|
+
var _a, _b, _c, _d, _e, _f;
|
|
836
868
|
cancel();
|
|
837
869
|
currentSource = nextSource;
|
|
838
870
|
abortController = typeof AbortController !== 'undefined' ? new AbortController() : null;
|
|
@@ -841,9 +873,18 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
841
873
|
state.loading = true;
|
|
842
874
|
state.error = null;
|
|
843
875
|
notifyState();
|
|
876
|
+
await ((_a = instance.prepare) === null || _a === void 0 ? void 0 : _a.call(instance));
|
|
877
|
+
if (disposed || (controller === null || controller === void 0 ? void 0 : controller.signal.aborted) || abortController !== controller) {
|
|
878
|
+
return null;
|
|
879
|
+
}
|
|
880
|
+
const extension = nextSource.type || getExtension(resolveViewerSourceFilename(nextSource));
|
|
881
|
+
const renderer = instance.getRenderer(extension);
|
|
844
882
|
const resolvedSource = await resolveViewerLoadSource(nextSource, {
|
|
883
|
+
acceptsPdfUrl: (renderer === null || renderer === void 0 ? void 0 : renderer.sourceAccess) === 'stream-preferred' && Boolean(renderer.load),
|
|
845
884
|
fetchFile: coreOptions.fetchFile,
|
|
846
885
|
signal: controller === null || controller === void 0 ? void 0 : controller.signal,
|
|
886
|
+
streaming: (_c = (_b = currentOptions.options) === null || _b === void 0 ? void 0 : _b.pdf) === null || _c === void 0 ? void 0 : _c.streaming,
|
|
887
|
+
pageHref: (_e = (_d = documentRef.defaultView) === null || _d === void 0 ? void 0 : _d.location) === null || _e === void 0 ? void 0 : _e.href,
|
|
847
888
|
});
|
|
848
889
|
if (disposed || (controller === null || controller === void 0 ? void 0 : controller.signal.aborted) || abortController !== controller) {
|
|
849
890
|
return null;
|
|
@@ -851,14 +892,14 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
|
|
|
851
892
|
return await instance.load(resolvedSource);
|
|
852
893
|
}
|
|
853
894
|
catch (error) {
|
|
854
|
-
if (
|
|
895
|
+
if (disposed || (controller === null || controller === void 0 ? void 0 : controller.signal.aborted) || abortController !== controller) {
|
|
855
896
|
return null;
|
|
856
897
|
}
|
|
857
898
|
state.loading = false;
|
|
858
899
|
state.ready = false;
|
|
859
900
|
state.error = error;
|
|
860
901
|
notifyState();
|
|
861
|
-
(
|
|
902
|
+
(_f = coreOptions.onError) === null || _f === void 0 ? void 0 : _f.call(coreOptions, error, nextSource);
|
|
862
903
|
throw error;
|
|
863
904
|
}
|
|
864
905
|
finally {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createToolbarFocusRestorer(toolbar: HTMLElement, content: HTMLElement): () => (temporarilyUnavailable?: boolean) => void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export function createToolbarFocusRestorer(toolbar, content) {
|
|
2
|
+
let pendingKey = null;
|
|
3
|
+
const controls = () => Array.from(toolbar.querySelectorAll('[data-viewer-toolbar-key]'));
|
|
4
|
+
return () => {
|
|
5
|
+
const root = toolbar.getRootNode();
|
|
6
|
+
const active = root.activeElement;
|
|
7
|
+
const key = active === toolbar ? pendingKey : active && toolbar.contains(active)
|
|
8
|
+
? active.dataset.viewerToolbarKey : null;
|
|
9
|
+
pendingKey = null;
|
|
10
|
+
if (!key)
|
|
11
|
+
return (_temporarilyUnavailable = false) => undefined;
|
|
12
|
+
const oldIndex = controls().indexOf(active);
|
|
13
|
+
const input = (active === null || active === void 0 ? void 0 : active.tagName) === 'INPUT' ? active : null;
|
|
14
|
+
const selection = input && input.selectionStart !== null
|
|
15
|
+
? [input.selectionStart, input.selectionEnd, input.selectionDirection] : null;
|
|
16
|
+
return (temporarilyUnavailable = false) => {
|
|
17
|
+
if (!toolbar.isConnected)
|
|
18
|
+
return;
|
|
19
|
+
if (toolbar.hidden) {
|
|
20
|
+
content.tabIndex = -1;
|
|
21
|
+
content.focus({ preventScroll: true });
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const all = controls();
|
|
25
|
+
const original = all.find(element => element.dataset.viewerToolbarKey === key);
|
|
26
|
+
const available = (element) => !element.disabled && element.getClientRects().length > 0;
|
|
27
|
+
const index = original ? all.indexOf(original) : Math.max(0, oldIndex);
|
|
28
|
+
const target = original && available(original) ? original
|
|
29
|
+
: temporarilyUnavailable ? undefined
|
|
30
|
+
: all.slice(index).find(available) || all.slice(0, index).reverse().find(available);
|
|
31
|
+
if (target) {
|
|
32
|
+
target.focus({ preventScroll: true });
|
|
33
|
+
if (target === original && target.tagName === 'INPUT' && selection)
|
|
34
|
+
target.setSelectionRange(selection[0], selection[1], selection[2] || undefined);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
pendingKey = key;
|
|
38
|
+
toolbar.tabIndex = -1;
|
|
39
|
+
toolbar.focus({ preventScroll: true });
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -106,8 +106,10 @@ export interface FileViewerArchivePasswordRequestContext {
|
|
|
106
106
|
error?: unknown;
|
|
107
107
|
}
|
|
108
108
|
export interface FileViewerPdfOptions {
|
|
109
|
+
darkMode?: boolean;
|
|
109
110
|
handTool?: boolean;
|
|
110
111
|
toolbar?: boolean;
|
|
112
|
+
zoomToolbar?: boolean;
|
|
111
113
|
navigation?: boolean;
|
|
112
114
|
defaultNavigationVisible?: boolean;
|
|
113
115
|
thumbnails?: boolean;
|
|
@@ -115,6 +117,8 @@ export interface FileViewerPdfOptions {
|
|
|
115
117
|
bbox?: FileViewerPdfBoundingBox | readonly FileViewerPdfBoundingBox[];
|
|
116
118
|
initialViewState?: FileViewerViewState;
|
|
117
119
|
streaming?: boolean | 'same-origin';
|
|
120
|
+
disableStream?: boolean;
|
|
121
|
+
disableAutoFetch?: boolean;
|
|
118
122
|
rangeChunkSize?: number;
|
|
119
123
|
withCredentials?: boolean;
|
|
120
124
|
assetBaseUrl?: string | URL;
|
|
@@ -166,6 +170,9 @@ export interface FileViewerDocxOptions {
|
|
|
166
170
|
externalResourcePolicy?: 'allow' | 'block';
|
|
167
171
|
darkMode?: boolean;
|
|
168
172
|
}
|
|
173
|
+
export interface FileViewerEpubOptions {
|
|
174
|
+
darkMode?: boolean;
|
|
175
|
+
}
|
|
169
176
|
export interface FileViewerSpreadsheetOptions {
|
|
170
177
|
worker?: boolean | 'auto';
|
|
171
178
|
workerUrl?: string;
|
|
@@ -605,10 +612,12 @@ export interface FileViewerOptions {
|
|
|
605
612
|
archive?: FileViewerArchiveOptions;
|
|
606
613
|
chm?: FileViewerChmOptions;
|
|
607
614
|
pdf?: FileViewerPdfOptions;
|
|
615
|
+
epub?: FileViewerEpubOptions;
|
|
608
616
|
docx?: FileViewerDocxOptions;
|
|
609
617
|
presentation?: FileViewerPresentationOptions;
|
|
610
618
|
spreadsheet?: FileViewerSpreadsheetOptions;
|
|
611
619
|
image?: {
|
|
620
|
+
handTool?: boolean;
|
|
612
621
|
rotation?: boolean;
|
|
613
622
|
};
|
|
614
623
|
iwork?: FileViewerIworkOptions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function installFileViewerImageHandTool(container: HTMLElement, signal?: AbortSignal): () => void;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
export function installFileViewerImageHandTool(container, signal) {
|
|
2
|
+
const view = container.ownerDocument.defaultView;
|
|
3
|
+
if (!view || (signal === null || signal === void 0 ? void 0 : signal.aborted))
|
|
4
|
+
return () => { };
|
|
5
|
+
const cursor = container.style.getPropertyValue('cursor');
|
|
6
|
+
const cursorPriority = container.style.getPropertyPriority('cursor');
|
|
7
|
+
const selection = container.style.getPropertyValue('user-select');
|
|
8
|
+
const selectionPriority = container.style.getPropertyPriority('user-select');
|
|
9
|
+
const previousMode = container.getAttribute('data-viewer-image-hand-tool');
|
|
10
|
+
const previousPanning = container.getAttribute('data-viewer-image-panning');
|
|
11
|
+
const style = container.ownerDocument.createElement('style');
|
|
12
|
+
style.textContent = '[data-viewer-image-hand-tool="true"] img{cursor:grab!important}[data-viewer-image-panning="true"] img{cursor:grabbing!important}';
|
|
13
|
+
container.append(style);
|
|
14
|
+
const interactive = 'a,button,input,textarea,select,option,[contenteditable]:not([contenteditable="false"]),[role="button"]:not(img),[role="link"],[role="textbox"]';
|
|
15
|
+
let drag = null;
|
|
16
|
+
let disposed = false;
|
|
17
|
+
let suppressClick = false;
|
|
18
|
+
let clickTimer = 0;
|
|
19
|
+
const canPan = () => container.scrollWidth > container.clientWidth || container.scrollHeight > container.clientHeight;
|
|
20
|
+
const syncCursor = () => {
|
|
21
|
+
if (disposed || (drag === null || drag === void 0 ? void 0 : drag.moved))
|
|
22
|
+
return;
|
|
23
|
+
const enabled = canPan();
|
|
24
|
+
container.setAttribute('data-viewer-image-hand-tool', String(enabled));
|
|
25
|
+
container.style.setProperty('cursor', enabled ? 'grab' : cursor, enabled ? '' : cursorPriority);
|
|
26
|
+
};
|
|
27
|
+
const finish = () => {
|
|
28
|
+
var _a;
|
|
29
|
+
const state = drag;
|
|
30
|
+
if (!state)
|
|
31
|
+
return;
|
|
32
|
+
drag = null;
|
|
33
|
+
container.style.setProperty('user-select', selection, selectionPriority);
|
|
34
|
+
container.removeAttribute('data-viewer-image-panning');
|
|
35
|
+
view.removeEventListener('pointermove', move, true);
|
|
36
|
+
view.removeEventListener('pointerup', up, true);
|
|
37
|
+
view.removeEventListener('pointercancel', up, true);
|
|
38
|
+
view.removeEventListener('blur', finish);
|
|
39
|
+
if ((_a = container.hasPointerCapture) === null || _a === void 0 ? void 0 : _a.call(container, state.id))
|
|
40
|
+
container.releasePointerCapture(state.id);
|
|
41
|
+
suppressClick = state.moved;
|
|
42
|
+
view.clearTimeout(clickTimer);
|
|
43
|
+
clickTimer = view.setTimeout(() => { suppressClick = false; }, 250);
|
|
44
|
+
syncCursor();
|
|
45
|
+
};
|
|
46
|
+
const move = (event) => {
|
|
47
|
+
var _a;
|
|
48
|
+
if (!drag || event.pointerId !== drag.id)
|
|
49
|
+
return;
|
|
50
|
+
if (!(event.buttons & 1)) {
|
|
51
|
+
finish();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const dx = (event.clientX - drag.x) / drag.ratioX;
|
|
55
|
+
const dy = (event.clientY - drag.y) / drag.ratioY;
|
|
56
|
+
if (!drag.moved && Math.hypot(dx, dy) < 3)
|
|
57
|
+
return;
|
|
58
|
+
if (!drag.moved) {
|
|
59
|
+
drag.moved = true;
|
|
60
|
+
container.setAttribute('data-viewer-image-panning', 'true');
|
|
61
|
+
container.style.cursor = 'grabbing';
|
|
62
|
+
container.style.setProperty('user-select', 'none');
|
|
63
|
+
try {
|
|
64
|
+
(_a = container.setPointerCapture) === null || _a === void 0 ? void 0 : _a.call(container, event.pointerId);
|
|
65
|
+
}
|
|
66
|
+
catch { }
|
|
67
|
+
}
|
|
68
|
+
container.scrollLeft = drag.left - dx;
|
|
69
|
+
container.scrollTop = drag.top - dy;
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
};
|
|
72
|
+
const up = (event) => { if (event.pointerId === (drag === null || drag === void 0 ? void 0 : drag.id))
|
|
73
|
+
finish(); };
|
|
74
|
+
const down = (event) => {
|
|
75
|
+
if (disposed || event.defaultPrevented || event.pointerType !== 'mouse' || event.button !== 0 || event.isPrimary === false || event.ctrlKey || event.metaKey || event.altKey || event.shiftKey)
|
|
76
|
+
return;
|
|
77
|
+
if (event.composedPath().some(node => { var _a, _b; return node !== container && ((_b = (_a = node).matches) === null || _b === void 0 ? void 0 : _b.call(_a, interactive)); }))
|
|
78
|
+
return;
|
|
79
|
+
finish();
|
|
80
|
+
suppressClick = false;
|
|
81
|
+
syncCursor();
|
|
82
|
+
if (!canPan())
|
|
83
|
+
return;
|
|
84
|
+
const rect = container.getBoundingClientRect();
|
|
85
|
+
const ratioX = container.offsetWidth ? rect.width / container.offsetWidth : 1;
|
|
86
|
+
const ratioY = container.offsetHeight ? rect.height / container.offsetHeight : 1;
|
|
87
|
+
if (![ratioX, ratioY].every(value => Number.isFinite(value) && value > 0))
|
|
88
|
+
return;
|
|
89
|
+
const x = (event.clientX - rect.left) / ratioX - container.clientLeft;
|
|
90
|
+
const y = (event.clientY - rect.top) / ratioY - container.clientTop;
|
|
91
|
+
if (x < 0 || y < 0 || x >= container.clientWidth || y >= container.clientHeight)
|
|
92
|
+
return;
|
|
93
|
+
drag = { id: event.pointerId, x: event.clientX, y: event.clientY, left: container.scrollLeft, top: container.scrollTop, ratioX, ratioY, moved: false };
|
|
94
|
+
view.addEventListener('pointermove', move, { capture: true, passive: false });
|
|
95
|
+
view.addEventListener('pointerup', up, true);
|
|
96
|
+
view.addEventListener('pointercancel', up, true);
|
|
97
|
+
view.addEventListener('blur', finish);
|
|
98
|
+
};
|
|
99
|
+
const click = (event) => {
|
|
100
|
+
if (suppressClick && event.detail > 0) {
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
event.stopImmediatePropagation();
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const nativeDrag = (event) => { if (drag)
|
|
106
|
+
event.preventDefault(); };
|
|
107
|
+
const restoreAttribute = (name, value) => value === null ? container.removeAttribute(name) : container.setAttribute(name, value);
|
|
108
|
+
const dispose = () => {
|
|
109
|
+
if (disposed)
|
|
110
|
+
return;
|
|
111
|
+
finish();
|
|
112
|
+
disposed = true;
|
|
113
|
+
view.clearTimeout(clickTimer);
|
|
114
|
+
suppressClick = false;
|
|
115
|
+
container.style.setProperty('cursor', cursor, cursorPriority);
|
|
116
|
+
container.style.setProperty('user-select', selection, selectionPriority);
|
|
117
|
+
restoreAttribute('data-viewer-image-hand-tool', previousMode);
|
|
118
|
+
restoreAttribute('data-viewer-image-panning', previousPanning);
|
|
119
|
+
container.removeEventListener('pointerdown', down);
|
|
120
|
+
container.removeEventListener('pointermove', syncCursor);
|
|
121
|
+
container.removeEventListener('pointerover', syncCursor);
|
|
122
|
+
container.removeEventListener('lostpointercapture', up);
|
|
123
|
+
container.removeEventListener('click', click, true);
|
|
124
|
+
container.removeEventListener('dragstart', nativeDrag);
|
|
125
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', dispose);
|
|
126
|
+
style.remove();
|
|
127
|
+
};
|
|
128
|
+
container.addEventListener('pointerdown', down);
|
|
129
|
+
container.addEventListener('pointermove', syncCursor);
|
|
130
|
+
container.addEventListener('pointerover', syncCursor);
|
|
131
|
+
container.addEventListener('lostpointercapture', up);
|
|
132
|
+
container.addEventListener('click', click, true);
|
|
133
|
+
container.addEventListener('dragstart', nativeDrag);
|
|
134
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', dispose, { once: true });
|
|
135
|
+
syncCursor();
|
|
136
|
+
return dispose;
|
|
137
|
+
}
|
package/dist/headless.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { DEFAULT_FILE_VIEWER_TEXT_CHUNK_OVERLAP, DEFAULT_FILE_VIEWER_TEXT_CHUNK_
|
|
|
5
5
|
export { ARCHIVE_EXTENSIONS, DEFAULT_REGISTERED_EXTENSIONS, DEFAULT_RENDERER_DEFINITIONS, DEFAULT_STABLE_SUPPORTED_EXTENSIONS, DEFAULT_SUPPORTED_EXTENSIONS, IMAGE_EXTENSIONS, MODEL_EXTENSIONS, TEXT_EXTENSIONS, } from "./registry/formats.js";
|
|
6
6
|
export { precheckFileViewerSource } from "./source/precheck.js";
|
|
7
7
|
export type { FileViewerPrecheckOptions, FileViewerPrecheckReason, FileViewerPrecheckResult, FileViewerPrecheckStatus, } from "./source/precheck.js";
|
|
8
|
-
export { FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerOperationContextEvent, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarPosition, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from "./lifecycle/operations.js";
|
|
8
|
+
export { FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerOperationContextEvent, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarZoomButtons, resolveFileViewerToolbarPosition, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from "./lifecycle/operations.js";
|
|
9
9
|
export { FILE_VIEWER_BUILTIN_MESSAGES, FILE_VIEWER_DEFAULT_LOCALE, FILE_VIEWER_FALLBACK_LOCALE, FILE_VIEWER_SUPPORTED_LOCALES, createFileViewerTranslator, formatFileViewerMessage, normalizeFileViewerLocale, resolveFileViewerLocale, translateFileViewerMessage, } from "./i18n/messages.js";
|
|
10
10
|
export type { FileViewerI18nInput, FileViewerResolvedLocale, ResolveFileViewerI18nInput, } from "./i18n/messages.js";
|
|
11
11
|
export type { BuildFileViewerLifecycleContextFromNormalizedSourceInput, BuildFileViewerOperationContextFromLifecycleStateInput, BuildFileViewerLifecycleContextInput, BuiltFileViewerLifecycleContext, BuiltFileViewerOperationContext, CreateFileViewerLifecycleActionsInput, CreateFileViewerPublicApiInput, CreateFileViewerToolbarActionsInput, CreateFileViewerToolbarControllerActionHandlersInput, DispatchFileViewerLifecycleEventInput, DispatchFileViewerOperationAvailabilityChangeInput, DispatchFileViewerOperationContextEventInput, DispatchFileViewerZoomChangeInput, FileViewerActiveUnloadState, FileViewerLifecycleActions, FileViewerLifecycleComponentEmit, FileViewerLifecycleHookErrorLogger, FileViewerLifecycleStateController, FileViewerOperationErrorLogger, FileViewerToolbarActions, FileViewerToolbarControllerActionHandlers, FileViewerToolbarState, FileViewerToolbarZoomSyncSnapshot, FileViewerZoomButtonAction, ReportFileViewerLifecycleHookErrorInput, ReportFileViewerOperationErrorInput, ResolveFileViewerBeforeOperationErrorMessageInput, ResolveFileViewerLifecycleHookErrorMessageInput, ResolveFileViewerOperationAvailabilityInput, ResolveFileViewerToolbarStateInput, RunFileViewerActiveUnloadCompleteInput, RunFileViewerActiveUnloadStartInput, RunFileViewerBeforeOperationInput, RunFileViewerToolbarAvailabilitySyncInput, RunFileViewerToolbarZoomSyncInput, SerializedFileViewerContext, } from "./lifecycle/operations.js";
|
|
@@ -26,4 +26,4 @@ export { DEFAULT_FILE_VIEWER_STATE_THEME, DEFAULT_FILE_VIEWER_UNSUPPORTED_DESCRI
|
|
|
26
26
|
export type { FileViewerErrorMessageCarrier, FileViewerErrorMessageFormatter, } from "./viewer/state.js";
|
|
27
27
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from "./features/watermark.js";
|
|
28
28
|
export type { FileViewerWatermarkPresentationState, FileViewerWatermarkStyle, } from "./features/watermark.js";
|
|
29
|
-
export type { FileRenderContext, FileRenderExportAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchiveOptions, FileViewerChmOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadColorMode, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerDownloadOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerFormatStatus, FileViewerFormatSupportLevel, FileViewerGeoOptions, FileViewerInstance, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerIworkEmbeddedPreviewMode, FileViewerIworkOptions, FileViewerHangulOptions, FileViewerDiagnostic, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfBoundingBox, FileViewerPdfBoundingBoxOrigin, FileViewerPdfBoundingBoxUnit, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintMaskOptions, FileViewerPrintMaskRegion, FileViewerPrintOptions, FileViewerPrintStamp, FileViewerPublicApi, FileViewerRenderStateKind, FileViewerRenderedInstance, FileViewerRendererCategory, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerTextOptions, FileViewerResolvedThemeMode, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, FileViewerUiDensity, FileViewerUiOptions, FileViewerTypstOptions, FileViewerViewScrollState, FileViewerViewState, FileViewerViewStateChange, FileViewerViewStateChangeAction, FileViewerViewStateChangeSource, FileViewerViewStateProvider, FileViewerWatermarkOptions, FileViewerWordPerfectOptions, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RenderSurface, RendererCapability, RendererSourceTypeProbe, RendererSourceTypeProbeInput, RendererDefinition, RendererLoadContext, RendererLoader, RendererPlugin, RendererRegistry, RendererSession, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from "./contracts/types.js";
|
|
29
|
+
export type { FileRenderContext, FileRenderExportAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchiveOptions, FileViewerChmOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadColorMode, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerDownloadOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerFormatStatus, FileViewerFormatSupportLevel, FileViewerGeoOptions, FileViewerInstance, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerIworkEmbeddedPreviewMode, FileViewerIworkOptions, FileViewerHangulOptions, FileViewerDiagnostic, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfBoundingBox, FileViewerPdfBoundingBoxOrigin, FileViewerPdfBoundingBoxUnit, FileViewerPdfOptions, FileViewerEpubOptions, FileViewerPresentationOptions, FileViewerPrintMaskOptions, FileViewerPrintMaskRegion, FileViewerPrintOptions, FileViewerPrintStamp, FileViewerPublicApi, FileViewerRenderStateKind, FileViewerRenderedInstance, FileViewerRendererCategory, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerTextOptions, FileViewerResolvedThemeMode, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, FileViewerUiDensity, FileViewerUiOptions, FileViewerTypstOptions, FileViewerViewScrollState, FileViewerViewState, FileViewerViewStateChange, FileViewerViewStateChangeAction, FileViewerViewStateChangeSource, FileViewerViewStateProvider, FileViewerWatermarkOptions, FileViewerWordPerfectOptions, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RenderSurface, RendererCapability, RendererSourceTypeProbe, RendererSourceTypeProbeInput, RendererDefinition, RendererLoadContext, RendererLoader, RendererPlugin, RendererRegistry, RendererSession, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from "./contracts/types.js";
|
package/dist/headless.js
CHANGED
|
@@ -3,7 +3,7 @@ export { ADAPTER_PRINT_REQUIRED_EXTENSIONS, applyFileViewerZoomAvailability, cre
|
|
|
3
3
|
export { DEFAULT_FILE_VIEWER_TEXT_CHUNK_OVERLAP, DEFAULT_FILE_VIEWER_TEXT_CHUNK_SIZE, DEFAULT_FILE_VIEWER_ZOOM_SCALE, buildFileViewerDocumentTextChunks, createEmptyFileViewerSearchState, createFileViewerZoomState, normalizeFileViewerAiOptions, normalizeFileViewerSearchOptions, } from "./features/document/model.js";
|
|
4
4
|
export { ARCHIVE_EXTENSIONS, DEFAULT_REGISTERED_EXTENSIONS, DEFAULT_RENDERER_DEFINITIONS, DEFAULT_STABLE_SUPPORTED_EXTENSIONS, DEFAULT_SUPPORTED_EXTENSIONS, IMAGE_EXTENSIONS, MODEL_EXTENSIONS, TEXT_EXTENSIONS, } from "./registry/formats.js";
|
|
5
5
|
export { precheckFileViewerSource } from "./source/precheck.js";
|
|
6
|
-
export { FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerOperationContextEvent, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarPosition, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from "./lifecycle/operations.js";
|
|
6
|
+
export { FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerOperationContextEvent, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarZoomButtons, resolveFileViewerToolbarPosition, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from "./lifecycle/operations.js";
|
|
7
7
|
export { FILE_VIEWER_BUILTIN_MESSAGES, FILE_VIEWER_DEFAULT_LOCALE, FILE_VIEWER_FALLBACK_LOCALE, FILE_VIEWER_SUPPORTED_LOCALES, createFileViewerTranslator, formatFileViewerMessage, normalizeFileViewerLocale, resolveFileViewerLocale, translateFileViewerMessage, } from "./i18n/messages.js";
|
|
8
8
|
export { getFileViewerOptionsSearchParam, normalizeFileViewerUiDensity, normalizeFileViewerTheme, parseFileViewerOptions, resolveFileViewerColorScheme, resolveFileViewerUiDensity, sanitizeFileViewerOptions, serializeFileViewerOptions, setFileViewerOptionsSearchParam, toggleFileViewerColorScheme, } from "./config/options.js";
|
|
9
9
|
export { resolveFileViewerPresentationState, } from "./presentation/state.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export declare const renderFileViewerWordDocx: (buffer: ArrayBuffer, target: HTM
|
|
|
55
55
|
export declare const renderFileViewerSpreadsheet: (buffer: ArrayBuffer, target: HTMLDivElement, type?: string, context?: FileRenderContext) => Promise<FileViewerRenderedInstance>;
|
|
56
56
|
export declare const parseEdaFile: (buffer: ArrayBuffer, type?: string) => Promise<never>;
|
|
57
57
|
export { ADAPTER_PRINT_REQUIRED_EXTENSIONS, applyFileViewerZoomAvailability, createUnsupportedAvailability, DEFAULT_OPERATION_AVAILABILITY, DOM_PRINTABLE_EXTENSIONS, getRendererAvailability, isDomPrintableExtension, isKnownNonPrintableExtension, needsDedicatedPrintAdapter, NON_PRINTABLE_EXTENSIONS, resolvePrintAvailability, } from "./registry/capabilities.js";
|
|
58
|
-
export { FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationContextEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from "./lifecycle/operations.js";
|
|
58
|
+
export { FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationContextEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarZoomButtons, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from "./lifecycle/operations.js";
|
|
59
59
|
export type { BuildFileViewerOperationContextFromLifecycleStateInput, CreateFileViewerLifecycleActionsInput, DispatchFileViewerLifecycleEventInput, DispatchFileViewerOperationContextEventInput, DispatchFileViewerOperationAvailabilityChangeInput, DispatchFileViewerZoomChangeInput, FileViewerActiveUnloadState, FileViewerLifecycleActions, FileViewerLifecycleComponentEmit, FileViewerToolbarActions, FileViewerToolbarControllerActionHandlers, FileViewerToolbarZoomSyncSnapshot, FileViewerZoomButtonAction, FileViewerToolbarState, CreateFileViewerPublicApiInput, CreateFileViewerToolbarActionsInput, CreateFileViewerToolbarControllerActionHandlersInput, BuildFileViewerLifecycleContextFromNormalizedSourceInput, ResolveFileViewerBeforeOperationErrorMessageInput, ResolveFileViewerToolbarStateInput, RunFileViewerActiveUnloadCompleteInput, RunFileViewerActiveUnloadStartInput, RunFileViewerToolbarAvailabilitySyncInput, RunFileViewerToolbarZoomSyncInput, } from "./lifecycle/operations.js";
|
|
60
60
|
export { FALLBACK_FILE_VIEWER_LOADING_THEME, FILE_VIEWER_LOADING_THEME_MAP, applyFileViewerLoadingState, cloneFileViewerLoadingState, createFileViewerLoadingController, createFileViewerLoadingControllerActionHandlers, createFileViewerLoadingState, createFileViewerLoadingStyleVars, runFileViewerLoadingControllerAction, runFileViewerLoadingExtensionSync, resolveFileViewerLoadingTheme, syncFileViewerLoadingControllerState, } from "./viewer/loading.js";
|
|
61
61
|
export type { FileViewerLoadingController, FileViewerLoadingControllerActionHandlers, RunFileViewerLoadingExtensionSyncInput, } from "./viewer/loading.js";
|
|
@@ -63,6 +63,7 @@ export { createFileViewerLifecycleFacade, } from "./lifecycle/facade.js";
|
|
|
63
63
|
export type { BuildFileViewerLifecycleFacadeLoadStartStateInput, BuildFileViewerLifecycleFacadeRenderCompleteStateInput, CreateFileViewerLifecycleFacadeInput, FileViewerLifecycleFacade, } from "./lifecycle/facade.js";
|
|
64
64
|
export { getFileViewerOptionsSearchParam, normalizeFileViewerUiDensity, normalizeFileViewerTheme, parseFileViewerOptions, resolveFileViewerColorScheme, resolveFileViewerUiDensity, sanitizeFileViewerOptions, serializeFileViewerOptions, setFileViewerOptionsSearchParam, toggleFileViewerColorScheme, } from "./config/options.js";
|
|
65
65
|
export { resolveFileViewerPresentationState, } from "./presentation/state.js";
|
|
66
|
+
export { observeFileViewerColorScheme } from "./presentation/colorScheme.js";
|
|
66
67
|
export type { FileViewerPresentationState, ResolveFileViewerPresentationStateInput, } from "./presentation/state.js";
|
|
67
68
|
export { createFileViewerRendererDispatcher, } from "./rendering/dispatcher.js";
|
|
68
69
|
export { appendFileViewerStyle, buildFileRenderContextFromLoadContext, applyFileViewerRenderSurfaceState, clearFileViewerRenderSurface, createFileRenderHandlerRendererSession, createFileRenderHandlerRegistry, createFileRenderHandlerLoader, createFileViewerRenderSurfaceActionHandlers, createFileViewerRenderReadinessTarget, createFileViewerRenderSurface, createFileViewerRenderSurfaceState, createFileViewerRenderSurfaceStateTarget, createFileViewerRenderTarget, DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS, FILE_VIEWER_RENDER_SURFACE_BACKGROUND_PROPERTY, DEFAULT_FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_LOGGER, FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE, disposeActiveFileViewerRendererSession, disposeFileViewerRendered, disposeFileViewerRendererSession, getFileViewerShadowRootForNode, isFileViewerShadowRoot, normalizeFileViewerStyleIsolation, normalizeFileViewerRenderSurfaceBackground, removeFileViewerRenderTarget, reportFileViewerRenderSessionDisposeError, resetFileViewerRenderSurface, resolveFileViewerStyleIsolation, resolveFileViewerRenderSessionDisposeErrorMessage, runFileViewerRenderSurfaceClear, runFileViewerRenderSurfaceMount, syncFileViewerRenderSurfaceBackground, renderFileViewerHandler, } from "./rendering/handler.js";
|
|
@@ -94,6 +95,7 @@ export type { CreateFileViewerZoomControllerOptions, FileViewerZoomOperation, }
|
|
|
94
95
|
export type { CreateViewerOptions } from "./viewer/createViewer.js";
|
|
95
96
|
export type { BuildExportHtmlDocumentOptions, BuildFileViewerRenderedHtmlDocumentOptions, } from "./exportDocument.js";
|
|
96
97
|
export type { CreateFileViewerWorkerControllerOptions, FileViewerWorkerContext, FileViewerWorkerController, FileViewerWorkerErrorHook, FileViewerWorkerEventHandler, FileViewerWorkerFactory, FileViewerWorkerMessageHook, WorkerProvider, WorkerRef, } from "./platform/worker.js";
|
|
97
|
-
export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerBinaryInspectorOptions, FileViewerChmOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadColorMode, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerModelLinearUnit, FileViewerModelOptions, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerFormatStatus, FileViewerFormatSupportLevel, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileViewerTiandituMapStyle, FileRenderContext, FileRenderExportAdapter, FileRenderThumbnailAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLoadOptions, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerIworkEmbeddedPreviewMode, FileViewerIworkOptions, FileViewerHangulOptions, FileViewerDiagnostic, FileViewerDesignOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfBoundingBox, FileViewerPdfBoundingBoxOrigin, FileViewerPdfBoundingBoxUnit, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintOptions, FileViewerPrintMaskOptions, FileViewerPrintMaskRegion, FileViewerPrintStamp, FileViewerPublicApi, FileViewerRenderedInstance, FileViewerRendererMode, FileViewerRendererPluginAssetKind, FileViewerRendererPluginAssetManifest, FileViewerRendererPluginAssetEntry, FileViewerRenderStateKind, FileViewerRenderPurpose, FileViewerRendererCategory, FileViewerRendererHandlerRegistration, FileViewerRendererInstallContext, FileViewerRendererPlugin, FileViewerRendererPluginInput, FileViewerRendererPresetInput, FileViewerRendererPresetName, FileViewerRendererPreset, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerThumbnailCaptureOptions, FileViewerThumbnailFit, FileViewerThumbnailFormat, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerStyleIsolation, FileViewerTextOptions, FileViewerResolvedThemeMode, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, FileViewerUiDensity, FileViewerUiOptions, FileViewerTypstOptions, FileViewerViewScrollState, FileViewerViewState, FileViewerViewStateChange, FileViewerViewStateChangeAction, FileViewerViewStateChangeSource, FileViewerViewStateProvider, FileViewerWatermarkOptions, FileViewerWordPerfectOptions, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RendererCapability, RendererSourceTypeProbe, RendererSourceTypeProbeInput, RendererDefinition, RendererPlugin, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession, RenderSurface, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from "./contracts/types.js";
|
|
98
|
+
export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerBinaryInspectorOptions, FileViewerChmOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadColorMode, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerModelLinearUnit, FileViewerModelOptions, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerFormatStatus, FileViewerFormatSupportLevel, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileViewerTiandituMapStyle, FileRenderContext, FileRenderExportAdapter, FileRenderThumbnailAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLoadOptions, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerIworkEmbeddedPreviewMode, FileViewerIworkOptions, FileViewerHangulOptions, FileViewerDiagnostic, FileViewerDesignOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfBoundingBox, FileViewerPdfBoundingBoxOrigin, FileViewerPdfBoundingBoxUnit, FileViewerPdfOptions, FileViewerEpubOptions, FileViewerPresentationOptions, FileViewerPrintOptions, FileViewerPrintMaskOptions, FileViewerPrintMaskRegion, FileViewerPrintStamp, FileViewerPublicApi, FileViewerRenderedInstance, FileViewerRendererMode, FileViewerRendererPluginAssetKind, FileViewerRendererPluginAssetManifest, FileViewerRendererPluginAssetEntry, FileViewerRenderStateKind, FileViewerRenderPurpose, FileViewerRendererCategory, FileViewerRendererHandlerRegistration, FileViewerRendererInstallContext, FileViewerRendererPlugin, FileViewerRendererPluginInput, FileViewerRendererPresetInput, FileViewerRendererPresetName, FileViewerRendererPreset, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerThumbnailCaptureOptions, FileViewerThumbnailFit, FileViewerThumbnailFormat, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerStyleIsolation, FileViewerTextOptions, FileViewerResolvedThemeMode, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, FileViewerUiDensity, FileViewerUiOptions, FileViewerTypstOptions, FileViewerViewScrollState, FileViewerViewState, FileViewerViewStateChange, FileViewerViewStateChangeAction, FileViewerViewStateChangeSource, FileViewerViewStateProvider, FileViewerWatermarkOptions, FileViewerWordPerfectOptions, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RendererCapability, RendererSourceTypeProbe, RendererSourceTypeProbeInput, RendererDefinition, RendererPlugin, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession, RenderSurface, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from "./contracts/types.js";
|
|
98
99
|
export { resolveFileViewerCopiedAssetUrl } from "./platform/copiedAssets.js";
|
|
99
100
|
export type { FileViewerSpreadsheetRange, FileViewerSpreadsheetNavigationStatus } from "./contracts/types.js";
|
|
101
|
+
export { installFileViewerImageHandTool } from "./features/document/imageHandTool.js";
|