@manifest-editor/shell 2.0.3-next.0.da9a339 → 2.0.3-next.0.f58cbd8

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/dist/index.d.ts CHANGED
@@ -1,18 +1,20 @@
1
- import { useLocalStorage, useOptionalLocalStorage } from "@manifest-editor/components";
2
- import * as react11 from "react";
3
- import { Dispatch, HTMLAttributes, ReactNode, SetStateAction } from "react";
4
- import * as react_jsx_runtime8 from "react/jsx-runtime";
5
- import * as styled_components0 from "styled-components";
1
+ import { ToastContent as ToastContent$1, ToastVariant as ToastVariant$1, useLocalStorage, useOptionalLocalStorage } from "@manifest-editor/components";
2
+ import * as react2 from "react";
3
+ import { CSSProperties, Dispatch, HTMLAttributes, ReactElement, ReactNode, SVGProps, SetStateAction } from "react";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
+ import * as zustand0 from "zustand";
6
+ import { StoreApi } from "zustand";
6
7
  import { AtlasStore, AtlasStoreProvider, AtlasStoreReactContext, RenderingStrategy } from "react-iiif-vault";
8
+ import * as styled_components0 from "styled-components";
9
+ import { EditorInstance } from "@manifest-editor/editor-api";
10
+ import { ToastOptions } from "@react-stately/toast";
7
11
  import { Vault } from "@iiif/helpers";
8
12
  import { Vault as Vault$1 } from "@iiif/helpers/vault";
9
13
  import * as _manifest_editor_creator_api0 from "@manifest-editor/creator-api";
10
14
  import { CreatableResource, Creator, CreatorDefinition } from "@manifest-editor/creator-api";
11
- import * as zustand0 from "zustand";
12
- import { StoreApi } from "zustand";
13
- import { EditorInstance } from "@manifest-editor/editor-api";
14
15
  import { Emitter } from "mitt";
15
16
  import { TransitionStatus } from "react-transition-group";
17
+ import { MessagePortClientVault, RemoteVaultAction, RemoteVaultClientMessage } from "@manifest-editor/client-vault";
16
18
  import * as _iiif_presentation_30 from "@iiif/presentation-3";
17
19
  import { Collection, Reference, SpecificResource } from "@iiif/presentation-3";
18
20
  import * as polygon_editor0 from "polygon-editor";
@@ -20,6 +22,28 @@ import { InputShape } from "polygon-editor";
20
22
  import { ManifestNormalized } from "@iiif/presentation-3-normalized";
21
23
  import * as styled_components_dist_types0 from "styled-components/dist/types";
22
24
 
25
+ //#region src/AppResourceProvider/AppResourceProvider.d.ts
26
+ interface Resource {
27
+ id: string;
28
+ type: string;
29
+ }
30
+ declare function useAppResourceInstance(): string;
31
+ declare function useAppResource(): Resource;
32
+ declare function AppResourceInstanceProvider({
33
+ id,
34
+ children
35
+ }: {
36
+ id?: string;
37
+ children: React.ReactNode;
38
+ }): string | number | bigint | boolean | Iterable<react2.ReactNode> | Promise<string | number | bigint | boolean | react2.ReactPortal | react2.ReactElement<unknown, string | react2.JSXElementConstructor<any>> | Iterable<react2.ReactNode> | null | undefined> | react_jsx_runtime0.JSX.Element | null | undefined;
39
+ declare function AppResourceProvider({
40
+ resource,
41
+ children
42
+ }: {
43
+ resource?: Resource;
44
+ children: React.ReactNode;
45
+ }): react_jsx_runtime0.JSX.Element;
46
+ //#endregion
23
47
  //#region src/PreviewContext/PreviewContext.types.d.ts
24
48
  interface Preview {
25
49
  id: string;
@@ -110,6 +134,13 @@ interface Config {
110
134
  version: 3 | 2;
111
135
  };
112
136
  uploadBackends: Array<UploadBackendConfig>;
137
+ plugins?: {
138
+ apps?: Record<string, {
139
+ enabled?: string[];
140
+ disabled?: string[];
141
+ settings?: Record<string, Record<string, unknown>> & Record<string, unknown>;
142
+ }>;
143
+ };
113
144
  }
114
145
  interface EditorConfig {
115
146
  singleTab?: string;
@@ -127,8 +158,10 @@ interface UploadBackendConfig {
127
158
  type: string;
128
159
  }> | null;
129
160
  }
130
- declare const ConfigReactContext: react11.Context<Config>;
131
- declare const SaveConfigReactContext: react11.Context<(config: Partial<Config>) => void>;
161
+ declare function mergePartialConfig(...configs: Array<Partial<Config> | null | undefined>): Partial<Config>;
162
+ declare function mergeConfig(...configs: Array<Partial<Config> | null | undefined>): Config;
163
+ declare const ConfigReactContext: react2.Context<Config>;
164
+ declare const SaveConfigReactContext: react2.Context<(config: Partial<Config>) => void>;
132
165
  declare function useConfig(): Config;
133
166
  declare function useSaveConfig(): (config: Partial<Config>) => void;
134
167
  declare function ConfigProvider({
@@ -139,7 +172,7 @@ declare function ConfigProvider({
139
172
  children: ReactNode;
140
173
  config?: Partial<Config>;
141
174
  saveConfig?: (config: Partial<Config>) => void;
142
- }): react_jsx_runtime8.JSX.Element;
175
+ }): react_jsx_runtime0.JSX.Element;
143
176
  //#endregion
144
177
  //#region src/EditingStack/EditingStack.types.d.ts
145
178
  interface EditableResource {
@@ -208,6 +241,7 @@ interface LayoutProviderProps {
208
241
  modals?: Array<LayoutPanel>;
209
242
  annotations?: Array<AnnotationPanel>;
210
243
  background?: Array<BackgroundPanel>;
244
+ backgroundActions?: Array<BackgroundActionDefinition>;
211
245
  }
212
246
  interface LayoutContext extends LayoutProviderProps {
213
247
  state: LayoutState;
@@ -345,7 +379,14 @@ interface LayoutPanel {
345
379
  id: string;
346
380
  label: string;
347
381
  divide?: boolean;
382
+ separator?: boolean;
348
383
  icon?: null | string | ReactNode;
384
+ supports?: (ctx: LayoutPanelSupportContext) => boolean;
385
+ focusedMode?: {
386
+ hide?: boolean;
387
+ closeOnMainPanelClick?: boolean;
388
+ onSelect?: (ctx: LayoutPanelFocusedModeContext) => void;
389
+ };
349
390
  render: LayoutFunction;
350
391
  onMount?: (state: any, ctx: {
351
392
  current: PanelActions;
@@ -373,6 +414,21 @@ interface LayoutPanel {
373
414
  tabs?: boolean;
374
415
  };
375
416
  }
417
+ interface LayoutPanelSupportContext {
418
+ rootResource?: Resource;
419
+ vault?: Vault$1;
420
+ app: MappedApp;
421
+ layoutState: LayoutState;
422
+ appState: AppState;
423
+ }
424
+ interface LayoutPanelFocusedModeContext {
425
+ rootResource?: Resource;
426
+ vault?: Vault$1;
427
+ app: MappedApp;
428
+ layoutState: LayoutState;
429
+ appState: AppState;
430
+ actions: LayoutActions;
431
+ }
376
432
  type MenuPositions = "left" | "right" | "bottom" | "top";
377
433
  interface PinnedLayoutPanel<T$1 = any> extends LayoutPanel {
378
434
  pinned: true;
@@ -427,6 +483,7 @@ interface LayoutProps {
427
483
  modals?: Array<LayoutPanel>;
428
484
  annotations?: Array<AnnotationPanel>;
429
485
  background?: Array<BackgroundPanel>;
486
+ backgroundActions?: Array<BackgroundActionDefinition>;
430
487
  footer?: ReactNode;
431
488
  menu?: ReactNode;
432
489
  header?: ReactNode;
@@ -437,12 +494,430 @@ interface LayoutProps {
437
494
  leftPanelMenuPosition?: MenuPositions;
438
495
  centerPanelMenuPosition?: MenuPositions;
439
496
  rightPanelMenuPosition?: MenuPositions;
497
+ layoutMode?: "default" | "focused";
440
498
  editors?: EditorDefinition[];
441
499
  resources?: (string | ResourceDefinition)[];
442
500
  creators?: CreatorDefinition$1[];
443
501
  canvasEditors?: CanvasEditorDefinition[];
444
502
  }
445
503
  //#endregion
504
+ //#region src/CanvasProgress.d.ts
505
+ declare const CANVAS_PROGRESS_META_NAMESPACE = "@manifest-editor/canvas-progress";
506
+ declare const CANVAS_PROGRESS_STATUS_META_KEY = "status";
507
+ type CanvasProgressActiveStatus = "queued" | "pending" | "done";
508
+ type CanvasProgressStatus = CanvasProgressActiveStatus | "none";
509
+ type CanvasProgressStatusInput = CanvasProgressStatus | null | undefined;
510
+ type CanvasProgressResource = string | {
511
+ id: string;
512
+ type?: string;
513
+ } | null | undefined;
514
+ declare function getCanvasProgressStatus(vault: Vault$1, resource: CanvasProgressResource): CanvasProgressStatus;
515
+ declare function getCanvasProgressStatusFromState(state: any, resource: CanvasProgressResource): CanvasProgressStatus;
516
+ declare function setCanvasProgressStatus(vault: Vault$1, resource: CanvasProgressResource, status: CanvasProgressStatusInput): CanvasProgressStatus;
517
+ declare function clearCanvasProgressStatus(vault: Vault$1, resource: CanvasProgressResource): CanvasProgressStatus;
518
+ declare function setCanvasProgressStatuses(vault: Vault$1, resources: CanvasProgressResource[], status: CanvasProgressStatusInput): Record<string, CanvasProgressStatus>;
519
+ declare function clearCanvasProgressStatuses(vault: Vault$1, resources: CanvasProgressResource[]): Record<string, CanvasProgressStatus>;
520
+ interface ManifestEditorCanvasProgressApi {
521
+ getStatus(resource: CanvasProgressResource): CanvasProgressStatus;
522
+ setStatus(resource: CanvasProgressResource, status: CanvasProgressStatusInput): CanvasProgressStatus;
523
+ clearStatus(resource: CanvasProgressResource): CanvasProgressStatus;
524
+ setStatuses(resources: CanvasProgressResource[], status: CanvasProgressStatusInput): Record<string, CanvasProgressStatus>;
525
+ clearStatuses(resources: CanvasProgressResource[]): Record<string, CanvasProgressStatus>;
526
+ }
527
+ declare function createManifestEditorCanvasProgressApi(vault: Vault$1): ManifestEditorCanvasProgressApi;
528
+ declare function createTrackingCanvasProgressApi(baseApi: ManifestEditorCanvasProgressApi, trackedResourceIds?: Set<string>): ManifestEditorCanvasProgressApi & {
529
+ clearTrackedStatuses(): void;
530
+ trackedResourceIds: Set<string>;
531
+ };
532
+ declare function useCanvasProgressStatus(resource: CanvasProgressResource): CanvasProgressStatus;
533
+ declare function useCanvasProgressActions(resource: CanvasProgressResource): {
534
+ setStatus(status: CanvasProgressStatusInput): CanvasProgressStatus;
535
+ clearStatus(): CanvasProgressStatus;
536
+ getStatus(): CanvasProgressStatus;
537
+ };
538
+ declare function ManifestEditorCanvasProgressOverlay({
539
+ resource,
540
+ status,
541
+ className
542
+ }: {
543
+ resource?: CanvasProgressResource;
544
+ status?: CanvasProgressStatus;
545
+ className?: string;
546
+ }): react_jsx_runtime0.JSX.Element;
547
+ //#endregion
548
+ //#region src/PluginContext/PluginContext.types.d.ts
549
+ type PluginMetadata = {
550
+ id: string;
551
+ label: string;
552
+ description?: string;
553
+ author?: string | {
554
+ name: string;
555
+ url?: string;
556
+ };
557
+ official?: boolean;
558
+ image?: string | {
559
+ src: string;
560
+ alt?: string;
561
+ };
562
+ screenshots?: Array<{
563
+ src: string;
564
+ label?: string;
565
+ alt?: string;
566
+ }>;
567
+ version?: string;
568
+ tags?: string[];
569
+ supports?: {
570
+ apps?: string[];
571
+ projectTypes?: Array<"Manifest" | "Collection">;
572
+ };
573
+ defaultEnabled?: boolean;
574
+ dependencies?: string[];
575
+ };
576
+ type PluginModule = {
577
+ default: PluginMetadata;
578
+ config?: Partial<Config>;
579
+ settings?: PluginSettingsDefinition;
580
+ } & AppExtension;
581
+ type MappedPlugin = {
582
+ metadata: PluginMetadata;
583
+ extension: AppExtension;
584
+ settings?: PluginSettingsDefinition;
585
+ };
586
+ type PluginSettingsValue = Record<string, unknown>;
587
+ type PluginSettingsRecord = Record<string, PluginSettingsValue>;
588
+ type PluginSettingsFieldOption = {
589
+ label: string;
590
+ value: string | number | boolean;
591
+ };
592
+ type PluginSettingsField = {
593
+ id: string;
594
+ label: string;
595
+ description?: string;
596
+ type?: "text" | "textarea" | "number" | "boolean" | "select";
597
+ placeholder?: string;
598
+ options?: PluginSettingsFieldOption[];
599
+ };
600
+ type PluginSettingsRenderContext<T$1 extends PluginSettingsValue = PluginSettingsValue> = {
601
+ plugin: MappedPlugin;
602
+ appId: string;
603
+ scope: PluginConfigScope;
604
+ value: T$1;
605
+ defaults: T$1;
606
+ effective: T$1;
607
+ onChange: (value: T$1) => void;
608
+ };
609
+ type PluginSettingsDefinition<T$1 extends PluginSettingsValue = PluginSettingsValue> = {
610
+ defaults?: T$1;
611
+ fields?: PluginSettingsField[];
612
+ validate?: (settings: T$1) => string | null | undefined | void;
613
+ render?: (context: PluginSettingsRenderContext<T$1>) => ReactNode;
614
+ };
615
+ type PluginConfigScope = "workspace" | "global";
616
+ type PluginAppConfig = {
617
+ enabled?: string[];
618
+ disabled?: string[];
619
+ settings?: PluginSettingsRecord & Record<string, unknown>;
620
+ };
621
+ type PluginStoreSnapshot = {
622
+ plugins: MappedPlugin[];
623
+ enabled: string[];
624
+ disabled: string[];
625
+ globalApps: Record<string, PluginAppConfig>;
626
+ apps: Record<string, PluginAppConfig>;
627
+ };
628
+ type PluginStore = PluginStoreSnapshot & {
629
+ setProviderState(state: {
630
+ plugins?: MappedPlugin[];
631
+ enabled?: string[];
632
+ disabled?: string[];
633
+ globalPluginConfig?: Config["plugins"];
634
+ }): void;
635
+ setAppConfig(appId: string, config: PluginAppConfig): void;
636
+ setGlobalConfig(config?: Config["plugins"]): void;
637
+ setGlobalAppConfig(appId: string, config: PluginAppConfig): void;
638
+ enable(appId: string, id: string): void;
639
+ enable(appId: string, id: string, scope: PluginConfigScope): void;
640
+ disable(appId: string, id: string): void;
641
+ disable(appId: string, id: string, scope: PluginConfigScope): void;
642
+ };
643
+ type PluginHostApp = Pick<MappedApp, "metadata" | "layout">;
644
+ type PluginRuntimeApi = {
645
+ getSettings<T$1 extends PluginSettingsValue = PluginSettingsValue>(pluginId: string): T$1;
646
+ };
647
+ //#endregion
648
+ //#region src/Tags.d.ts
649
+ declare const TAGS_META_NAMESPACE = "@manifest-editor/tags";
650
+ declare const TAGS_META_KEY = "tags";
651
+ interface ManifestEditorTag {
652
+ type: string;
653
+ id: string;
654
+ label: string;
655
+ backgroundColor: string;
656
+ textColor: string;
657
+ icon?: string;
658
+ }
659
+ type ManifestEditorTagResource = string | {
660
+ id: string;
661
+ type?: string;
662
+ } | null | undefined;
663
+ interface ManifestEditorTagGroupRow {
664
+ key: string;
665
+ type: string;
666
+ id: string;
667
+ tag: ManifestEditorTag;
668
+ canvasIds: string[];
669
+ canvasCount: number;
670
+ }
671
+ interface ManifestEditorTagGroup {
672
+ key: string;
673
+ type: string;
674
+ rows: ManifestEditorTagGroupRow[];
675
+ canvasIds: string[];
676
+ canvasCount: number;
677
+ tagCount: number;
678
+ }
679
+ declare const FLAG_TAG: ManifestEditorTag;
680
+ declare function getResourceTags(vault: Vault$1, resource: ManifestEditorTagResource): ManifestEditorTag[];
681
+ declare function getResourceTagsFromState(state: any, resource: ManifestEditorTagResource): ManifestEditorTag[];
682
+ declare function setResourceTags(vault: Vault$1, resource: ManifestEditorTagResource, tags: ManifestEditorTag[]): ManifestEditorTag[];
683
+ declare function addResourceTag(vault: Vault$1, resource: ManifestEditorTagResource, tag: ManifestEditorTag): ManifestEditorTag[];
684
+ declare function getResourceTag(vault: Vault$1, resource: ManifestEditorTagResource, tagType: string): ManifestEditorTag | undefined;
685
+ declare function removeResourceTag(vault: Vault$1, resource: ManifestEditorTagResource, tagType: string, tagId?: string): ManifestEditorTag[];
686
+ declare function getResourceTagGroups(vault: Vault$1, resources: ManifestEditorTagResource[]): ManifestEditorTagGroup[];
687
+ declare function hasResourceTag(vault: Vault$1, resource: ManifestEditorTagResource, tagType: string, tagId?: string): boolean;
688
+ declare function toggleResourceTag(vault: Vault$1, resource: ManifestEditorTagResource, tag: ManifestEditorTag): ManifestEditorTag[];
689
+ interface ManifestEditorTagsApi {
690
+ getTags(resource: ManifestEditorTagResource): ManifestEditorTag[];
691
+ setTags(resource: ManifestEditorTagResource, tags: ManifestEditorTag[]): ManifestEditorTag[];
692
+ addTag(resource: ManifestEditorTagResource, tag: ManifestEditorTag): ManifestEditorTag[];
693
+ upsertTag(resource: ManifestEditorTagResource, tag: ManifestEditorTag): ManifestEditorTag[];
694
+ getTag(resource: ManifestEditorTagResource, tagType: string): ManifestEditorTag | undefined;
695
+ removeTag(resource: ManifestEditorTagResource, tagType: string, tagId?: string): ManifestEditorTag[];
696
+ hasTag(resource: ManifestEditorTagResource, tagType: string, tagId?: string): boolean;
697
+ toggleTag(resource: ManifestEditorTagResource, tag: ManifestEditorTag): ManifestEditorTag[];
698
+ }
699
+ declare function createManifestEditorTagsApi(vault: Vault$1): ManifestEditorTagsApi;
700
+ declare function useResourceTags(resource: ManifestEditorTagResource): ManifestEditorTag[];
701
+ declare function useResourceTagActions(resource: ManifestEditorTagResource): {
702
+ setTags(tags: ManifestEditorTag[]): ManifestEditorTag[];
703
+ addTag(tag: ManifestEditorTag): ManifestEditorTag[];
704
+ getTag(tagType: string): ManifestEditorTag | undefined;
705
+ removeTag(tagType: string, tagId?: string): ManifestEditorTag[];
706
+ toggleTag(tag: ManifestEditorTag): ManifestEditorTag[];
707
+ hasTag(tagType: string, tagId?: string): boolean;
708
+ };
709
+ declare function ManifestEditorTagIcon({
710
+ icon,
711
+ title,
712
+ ...props
713
+ }: SVGProps<SVGSVGElement> & {
714
+ icon?: string;
715
+ title?: string;
716
+ }): react_jsx_runtime0.JSX.Element | null;
717
+ declare function ManifestEditorTagBadge({
718
+ tag,
719
+ showIcon,
720
+ className,
721
+ style
722
+ }: {
723
+ tag: ManifestEditorTag;
724
+ showIcon?: boolean;
725
+ className?: string;
726
+ style?: CSSProperties;
727
+ }): react_jsx_runtime0.JSX.Element;
728
+ declare function ManifestEditorTagOverlay({
729
+ resource,
730
+ tags,
731
+ className
732
+ }: {
733
+ resource?: ManifestEditorTagResource;
734
+ tags?: ManifestEditorTag[];
735
+ className?: string;
736
+ }): react_jsx_runtime0.JSX.Element;
737
+ //#endregion
738
+ //#region src/BackgroundTasks/BackgroundTasks.types.d.ts
739
+ type BackgroundActionStatus = "idle" | "preparing" | "running" | "complete" | "error" | "cancelled";
740
+ type BackgroundActionLogLevel = "debug" | "info" | "warn" | "error";
741
+ type BackgroundActionTaskStatus = "queued" | "running" | "complete" | "skipped" | "error" | "cancelled";
742
+ type BackgroundActionEventType = "started" | "label" | "status" | "log" | "result" | "results-available" | "error" | "cancel-requested";
743
+ interface BackgroundActionTarget extends Reference {
744
+ label: string;
745
+ scope: "root" | "canvas";
746
+ }
747
+ interface BackgroundActionError {
748
+ message: string;
749
+ stack?: string;
750
+ detail?: unknown;
751
+ }
752
+ interface BackgroundActionLogEntry {
753
+ id: string;
754
+ createdAt: number;
755
+ level: BackgroundActionLogLevel;
756
+ message: string;
757
+ data?: unknown;
758
+ }
759
+ interface BackgroundActionEvent {
760
+ id: string;
761
+ createdAt: number;
762
+ type: BackgroundActionEventType;
763
+ message?: string;
764
+ data?: unknown;
765
+ }
766
+ interface BackgroundActionProgress {
767
+ percent: number;
768
+ current?: number;
769
+ total?: number;
770
+ label?: string;
771
+ }
772
+ type BackgroundActionProgressInput = {
773
+ percent: number;
774
+ current?: number;
775
+ total?: number;
776
+ label?: string;
777
+ } | {
778
+ current: number;
779
+ total: number;
780
+ percent?: number;
781
+ label?: string;
782
+ };
783
+ interface BackgroundActionTask {
784
+ id: string;
785
+ label: string;
786
+ target?: BackgroundActionTarget;
787
+ input?: unknown;
788
+ status?: BackgroundActionTaskStatus;
789
+ statusText?: string;
790
+ result?: unknown;
791
+ error?: BackgroundActionError | null;
792
+ createdAt?: number;
793
+ startedAt?: number;
794
+ completedAt?: number;
795
+ }
796
+ interface BackgroundActionPlan {
797
+ version: 1;
798
+ data?: unknown;
799
+ tasks: BackgroundActionTask[];
800
+ }
801
+ interface BackgroundActionPersistedState {
802
+ version: 1;
803
+ savedAt: number;
804
+ instances: Record<string, BackgroundActionInstance>;
805
+ histories: Record<string, BackgroundActionInstance[]>;
806
+ plans: Record<string, BackgroundActionPlan>;
807
+ }
808
+ interface BackgroundActionPersistenceKey {
809
+ appId: string;
810
+ instanceId: string;
811
+ rootResource: Reference;
812
+ }
813
+ interface BackgroundActionPersistence {
814
+ load(key: BackgroundActionPersistenceKey): Promise<BackgroundActionPersistedState | null | undefined>;
815
+ save(key: BackgroundActionPersistenceKey, state: BackgroundActionPersistedState): Promise<void>;
816
+ clear(key: BackgroundActionPersistenceKey): Promise<void>;
817
+ }
818
+ type BackgroundActionTaskRunResult = {
819
+ taskStatus?: "complete" | "skipped";
820
+ result?: unknown;
821
+ statusText?: string;
822
+ } | unknown;
823
+ interface BackgroundActionTaskRunOptions {
824
+ statuses?: BackgroundActionTaskStatus[];
825
+ progressLabel?: (task: BackgroundActionTask, index: number, total: number) => string;
826
+ yieldEveryMs?: number | false;
827
+ }
828
+ interface BackgroundActionTasksApi {
829
+ getAll(): BackgroundActionTask[];
830
+ getPending(): BackgroundActionTask[];
831
+ update(id: string, patch: Partial<BackgroundActionTask>, persistImmediately?: boolean): void;
832
+ runEach(handler: (task: BackgroundActionTask, context: {
833
+ index: number;
834
+ total: number;
835
+ pendingIndex: number;
836
+ pendingTotal: number;
837
+ }) => BackgroundActionTaskRunResult | Promise<BackgroundActionTaskRunResult>, options?: BackgroundActionTaskRunOptions): Promise<BackgroundActionTask[]>;
838
+ }
839
+ interface BackgroundActionInstance {
840
+ id: string;
841
+ runId: string;
842
+ actionId: string;
843
+ target: BackgroundActionTarget;
844
+ label: string;
845
+ status: BackgroundActionStatus;
846
+ statusText?: string;
847
+ error?: BackgroundActionError | null;
848
+ result?: unknown;
849
+ resultsAvailable: boolean;
850
+ logs: BackgroundActionLogEntry[];
851
+ events: BackgroundActionEvent[];
852
+ progress?: BackgroundActionProgress;
853
+ startedAt?: number;
854
+ completedAt?: number;
855
+ cancelRequestedAt?: number;
856
+ cancelledAt?: number;
857
+ }
858
+ interface BackgroundActionSystemContext {
859
+ rootResource: Resource;
860
+ currentCanvas?: BackgroundActionTarget;
861
+ vault: Vault$1;
862
+ tags: ManifestEditorTagsApi;
863
+ canvasProgress: ManifestEditorCanvasProgressApi;
864
+ plugins: PluginRuntimeApi;
865
+ config: Config;
866
+ layoutState: LayoutState;
867
+ layoutActions: LayoutActions;
868
+ }
869
+ interface BackgroundActionContext extends BackgroundActionSystemContext {
870
+ definition: BackgroundActionDefinition;
871
+ target: BackgroundActionTarget;
872
+ instanceKey: string;
873
+ instance?: BackgroundActionInstance;
874
+ }
875
+ interface BackgroundActionLifecycle {
876
+ setActionLabel(label: string): void;
877
+ setActionStatus(status: BackgroundActionStatus, statusText?: string): void;
878
+ setActionError(error: unknown, statusText?: string): void;
879
+ appendActionLog(message: string, level?: BackgroundActionLogLevel, data?: unknown): void;
880
+ setActionProgress(progress: BackgroundActionProgressInput | null): void;
881
+ setResult(result: unknown): void;
882
+ setResultsAvailable(available: boolean): void;
883
+ }
884
+ interface BackgroundActionRunContext extends BackgroundActionContext, BackgroundActionLifecycle {
885
+ signal: AbortSignal;
886
+ prepareData?: unknown;
887
+ plan?: BackgroundActionPlan;
888
+ tasks: BackgroundActionTasksApi;
889
+ }
890
+ interface BackgroundActionRenderContext extends BackgroundActionSystemContext {
891
+ definition: BackgroundActionDefinition;
892
+ }
893
+ interface BackgroundActionDefinition {
894
+ id: string;
895
+ label: string;
896
+ summary?: string;
897
+ section?: string;
898
+ order?: number;
899
+ resourceTypes?: string[];
900
+ resumable?: boolean;
901
+ supports?: (ctx: BackgroundActionContext) => boolean;
902
+ prepare?: (ctx: BackgroundActionRunContext) => BackgroundActionPlan | boolean | void | Promise<BackgroundActionPlan | boolean | void>;
903
+ run: (ctx: BackgroundActionRunContext) => unknown | Promise<unknown>;
904
+ render?: (ctx: BackgroundActionRenderContext) => ReactNode | null;
905
+ onResults?: (ctx: BackgroundActionContext) => unknown | Promise<unknown>;
906
+ }
907
+ interface AvailableBackgroundAction {
908
+ definition: BackgroundActionDefinition;
909
+ target: BackgroundActionTarget;
910
+ instanceKey: string;
911
+ instance?: BackgroundActionInstance;
912
+ context: BackgroundActionContext;
913
+ }
914
+ interface BackgroundActionGroup {
915
+ id: string;
916
+ label: string;
917
+ target: BackgroundActionTarget;
918
+ actions: AvailableBackgroundAction[];
919
+ }
920
+ //#endregion
446
921
  //#region src/AppContext/AppContext.d.ts
447
922
  type AppContext = {
448
923
  instanceId: string;
@@ -479,6 +954,7 @@ interface AppExtension {
479
954
  canvasEditors?: CanvasEditorDefinition[];
480
955
  annotations?: AnnotationPanel[];
481
956
  background?: BackgroundPanel[];
957
+ backgroundActions?: BackgroundActionDefinition[];
482
958
  leftPanelIds?: string[];
483
959
  disableSideEffects?: string[];
484
960
  }
@@ -486,9 +962,9 @@ type AppState = {
486
962
  state: null | any;
487
963
  setState: SetStateAction<any>;
488
964
  };
489
- declare const PrimeAppReactContext: react11.Context<MappedApp | null>;
490
- declare const AppReactContext: react11.Context<AppContext | null>;
491
- declare const AppStateReactContext: react11.Context<{
965
+ declare const PrimeAppReactContext: react2.Context<MappedApp | null>;
966
+ declare const AppReactContext: react2.Context<AppContext | null>;
967
+ declare const AppStateReactContext: react2.Context<{
492
968
  state: null | any;
493
969
  setState: SetStateAction<any>;
494
970
  }>;
@@ -512,7 +988,7 @@ declare function AppProvider({
512
988
  args?: any;
513
989
  definition: MappedApp;
514
990
  children: ReactNode;
515
- }): react_jsx_runtime8.JSX.Element;
991
+ }): react_jsx_runtime0.JSX.Element;
516
992
  //#endregion
517
993
  //#region src/AppContext/MultiAppContext.d.ts
518
994
  type MappedApp$1 = any;
@@ -551,13 +1027,13 @@ declare function MultiAppProvider({
551
1027
  manifestApp?: string;
552
1028
  collectionApp?: string;
553
1029
  };
554
- }): react_jsx_runtime8.JSX.Element | null;
1030
+ }): react_jsx_runtime0.JSX.Element | null;
555
1031
  //#endregion
556
1032
  //#region src/AppHeader/AppHeader.d.ts
557
1033
  interface AppHeaderProps {
558
1034
  onClickLogo?: () => void;
559
1035
  }
560
- declare const AppHeader: react11.NamedExoticComponent<AppHeaderProps>;
1036
+ declare const AppHeader: react2.NamedExoticComponent<AppHeaderProps>;
561
1037
  //#endregion
562
1038
  //#region src/AppMenu/AppMenuContext.d.ts
563
1039
  type MenuItem = {
@@ -582,29 +1058,7 @@ declare function AppMenuProvider({
582
1058
  }: {
583
1059
  children: React.ReactNode;
584
1060
  menu: AppMenuContext;
585
- }): react_jsx_runtime8.JSX.Element;
586
- //#endregion
587
- //#region src/AppResourceProvider/AppResourceProvider.d.ts
588
- interface Resource {
589
- id: string;
590
- type: string;
591
- }
592
- declare function useAppResourceInstance(): string;
593
- declare function useAppResource(): Resource;
594
- declare function AppResourceInstanceProvider({
595
- id,
596
- children
597
- }: {
598
- id?: string;
599
- children: React.ReactNode;
600
- }): string | number | bigint | boolean | Iterable<react11.ReactNode> | Promise<string | number | bigint | boolean | react11.ReactPortal | react11.ReactElement<unknown, string | react11.JSXElementConstructor<any>> | Iterable<react11.ReactNode> | null | undefined> | react_jsx_runtime8.JSX.Element | null | undefined;
601
- declare function AppResourceProvider({
602
- resource,
603
- children
604
- }: {
605
- resource?: Resource;
606
- children: React.ReactNode;
607
- }): react_jsx_runtime8.JSX.Element;
1061
+ }): react_jsx_runtime0.JSX.Element;
608
1062
  //#endregion
609
1063
  //#region src/AtlasStore/AtlasStoreProvider.d.ts
610
1064
  declare function useAtlasStore(): StoreApi<AtlasStore>;
@@ -627,6 +1081,84 @@ declare function getImageDimensions(url: string): Promise<{
627
1081
  height: number;
628
1082
  } | null>;
629
1083
  //#endregion
1084
+ //#region src/BackgroundTasks/BackgroundActions.d.ts
1085
+ declare function useAvailableBackgroundActions(): BackgroundActionGroup[];
1086
+ declare function BackgroundActionsMount(): react_jsx_runtime0.JSX.Element;
1087
+ declare function BackgroundActionToasts(): null;
1088
+ declare function BackgroundActionsMenu(): react_jsx_runtime0.JSX.Element | null;
1089
+ //#endregion
1090
+ //#region src/BackgroundTasks/BackgroundTasksStore.d.ts
1091
+ interface BackgroundActionsStore {
1092
+ definitions: BackgroundActionDefinition[];
1093
+ instances: Record<string, BackgroundActionInstance>;
1094
+ histories: Record<string, BackgroundActionInstance[]>;
1095
+ plans: Record<string, BackgroundActionPlan>;
1096
+ controllers: Record<string, AbortController>;
1097
+ hasHydrated: boolean;
1098
+ setDefinitions(definitions: BackgroundActionDefinition[]): void;
1099
+ setPersistence(persistence: BackgroundActionPersistence | null, key: BackgroundActionPersistenceKey | null): void;
1100
+ hydrate(snapshot?: BackgroundActionPersistedState | null): void;
1101
+ persist(immediate?: boolean): void;
1102
+ flushPersistence(): Promise<void>;
1103
+ registerAction(definition: BackgroundActionDefinition): () => void;
1104
+ unregisterAction(id: string): void;
1105
+ resetAction(instanceKey: string): void;
1106
+ startAction(instanceKey: string, definition: BackgroundActionDefinition, target: BackgroundActionTarget, controller?: AbortController): void;
1107
+ resumeAction(instanceKey: string, controller: AbortController): void;
1108
+ cancelAction(instanceKey: string): void;
1109
+ setActionLabel(instanceKey: string, label: string): void;
1110
+ setActionStatus(instanceKey: string, status: BackgroundActionStatus, statusText?: string): void;
1111
+ setActionError(instanceKey: string, error: unknown, statusText?: string): void;
1112
+ appendActionLog(instanceKey: string, message: string, level?: BackgroundActionLogLevel, data?: unknown): void;
1113
+ setActionProgress(instanceKey: string, progress: BackgroundActionProgressInput | null): void;
1114
+ setResult(instanceKey: string, result: unknown): void;
1115
+ setResultsAvailable(instanceKey: string, available: boolean): void;
1116
+ setActionPlan(instanceKey: string, plan: BackgroundActionPlan): void;
1117
+ updateActionTask(instanceKey: string, taskId: string, patch: Partial<BackgroundActionTask>, persistImmediately?: boolean): void;
1118
+ }
1119
+ interface RunBackgroundActionOptions {
1120
+ store: StoreApi<BackgroundActionsStore>;
1121
+ context: BackgroundActionContext;
1122
+ signal?: AbortSignal;
1123
+ resume?: boolean;
1124
+ prepareData?: unknown;
1125
+ }
1126
+ interface GetAvailableBackgroundActionGroupsOptions {
1127
+ definitions: BackgroundActionDefinition[];
1128
+ instances: Record<string, BackgroundActionInstance>;
1129
+ systemContext: BackgroundActionSystemContext;
1130
+ targets: BackgroundActionTarget[];
1131
+ onSupportsError?: (definition: BackgroundActionDefinition, error: unknown) => void;
1132
+ }
1133
+ declare function getBackgroundActionInstanceKey(actionId: string, target: BackgroundActionTarget): string;
1134
+ declare function mergeBackgroundActionDefinitions(base?: BackgroundActionDefinition[], extensions?: BackgroundActionDefinition[]): BackgroundActionDefinition[];
1135
+ declare function sortBackgroundActionDefinitions(definitions: BackgroundActionDefinition[]): BackgroundActionDefinition[];
1136
+ declare function normaliseBackgroundActionError(error: unknown): BackgroundActionError;
1137
+ declare function getAvailableBackgroundActionGroups({
1138
+ definitions,
1139
+ instances,
1140
+ systemContext,
1141
+ targets,
1142
+ onSupportsError
1143
+ }: GetAvailableBackgroundActionGroupsOptions): BackgroundActionGroup[];
1144
+ declare function createBackgroundActionsStore(initialDefinitions?: BackgroundActionDefinition[]): StoreApi<BackgroundActionsStore>;
1145
+ declare function runBackgroundAction(options: RunBackgroundActionOptions): Promise<BackgroundActionInstance | undefined>;
1146
+ declare function createLocalForageBackgroundActionPersistence(): BackgroundActionPersistence | null;
1147
+ declare const BackgroundActionsReactContext: react2.Context<StoreApi<BackgroundActionsStore> | null>;
1148
+ declare function BackgroundActionsProvider({
1149
+ children,
1150
+ persistence,
1151
+ persistenceKey
1152
+ }: {
1153
+ children: ReactNode;
1154
+ persistence?: BackgroundActionPersistence | false | null;
1155
+ persistenceKey?: BackgroundActionPersistenceKey;
1156
+ }): react2.FunctionComponentElement<react2.ProviderProps<StoreApi<BackgroundActionsStore> | null>>;
1157
+ declare function useBackgroundActionsStoreApi(): StoreApi<BackgroundActionsStore>;
1158
+ declare function useBackgroundActionsStore<T$1 = BackgroundActionsStore>(selector?: (state: BackgroundActionsStore) => T$1): T$1;
1159
+ declare function useBackgroundActionInstance(instanceKey: string): BackgroundActionInstance | undefined;
1160
+ declare function useBackgroundActionHistory(instanceKey: string): BackgroundActionInstance[];
1161
+ //#endregion
630
1162
  //#region src/BaseCreator/index.d.ts
631
1163
  declare const baseCreator: LayoutPanel;
632
1164
  //#endregion
@@ -635,7 +1167,7 @@ interface BaseAnnotationCreatorProps {
635
1167
  resource: CreatableResource;
636
1168
  onCreate: () => void;
637
1169
  }
638
- declare function BaseAnnotationCreator(props: BaseAnnotationCreatorProps): react_jsx_runtime8.JSX.Element;
1170
+ declare function BaseAnnotationCreator(props: BaseAnnotationCreatorProps): react_jsx_runtime0.JSX.Element;
639
1171
  //#endregion
640
1172
  //#region src/BaseCreator/BaseCreator.hooks.d.ts
641
1173
  declare function useCreator(parent: any, property: string, type: string, target?: Reference, options?: {
@@ -658,7 +1190,7 @@ declare function CreatorInitialData<T$1 extends Record<string, unknown>>(props:
658
1190
  id: string;
659
1191
  children: React.ReactNode;
660
1192
  data: T$1;
661
- }): react_jsx_runtime8.JSX.Element;
1193
+ }): react_jsx_runtime0.JSX.Element;
662
1194
  //#endregion
663
1195
  //#region src/BaseEditor/index.d.ts
664
1196
  declare const baseEditor: LayoutPanel;
@@ -680,10 +1212,10 @@ declare function BaseEditor({
680
1212
  currentTab
681
1213
  }: {
682
1214
  currentTab?: string;
683
- }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react11.ReactPortal | react11.ReactElement<unknown, string | react11.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime8.JSX.Element | null | undefined;
1215
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react2.ReactPortal | react2.ReactElement<unknown, string | react2.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime0.JSX.Element | null | undefined;
684
1216
  //#endregion
685
1217
  //#region src/ConfigContext/ConfigEditor.d.ts
686
- declare function ConfigEditor(): react_jsx_runtime8.JSX.Element;
1218
+ declare function ConfigEditor(): react_jsx_runtime0.JSX.Element;
687
1219
  //#endregion
688
1220
  //#region src/ContextMenu/ContextMenuContext.d.ts
689
1221
  type ContextMenuItem = {
@@ -732,12 +1264,12 @@ type ContextMenuStore = {
732
1264
  }>;
733
1265
  hookMenuItem(req: ContextMenuRequest): () => void;
734
1266
  };
735
- declare const ContextMenuReactContext: react11.Context<StoreApi<ContextMenuStore> | null>;
1267
+ declare const ContextMenuReactContext: react2.Context<StoreApi<ContextMenuStore> | null>;
736
1268
  declare function ContextMenuProvider({
737
1269
  children
738
1270
  }: {
739
1271
  children: React.ReactNode;
740
- }): react_jsx_runtime8.JSX.Element;
1272
+ }): react_jsx_runtime0.JSX.Element;
741
1273
  declare function useResourceContextMenuItems(req: {
742
1274
  id?: string;
743
1275
  type: string;
@@ -748,7 +1280,7 @@ declare function useResourceContextMenuItems(req: {
748
1280
  declare function useCustomContextMenu(req: ContextMenuRequest, deps?: any[]): void;
749
1281
  //#endregion
750
1282
  //#region src/EditingStack/EditingStack.d.ts
751
- declare const EditingStackContext: react11.Context<EditingStackState>;
1283
+ declare const EditingStackContext: react2.Context<EditingStackState>;
752
1284
  declare function useEditingStack(): EditingStackActions;
753
1285
  declare function useEditingResource(): EditableResource | null;
754
1286
  declare function useEditingResourceStack(): EditableResource[];
@@ -773,7 +1305,7 @@ declare function EditingStack(props: {
773
1305
  id: string;
774
1306
  type: string;
775
1307
  };
776
- }): react_jsx_runtime8.JSX.Element;
1308
+ }): react_jsx_runtime0.JSX.Element;
777
1309
  declare function InlineEditingStack({
778
1310
  resource,
779
1311
  children
@@ -783,14 +1315,14 @@ declare function InlineEditingStack({
783
1315
  type: string;
784
1316
  };
785
1317
  children?: React.ReactNode;
786
- }): react_jsx_runtime8.JSX.Element;
1318
+ }): react_jsx_runtime0.JSX.Element;
787
1319
  //#endregion
788
1320
  //#region src/ExportPanel/ExportPanel.d.ts
789
1321
  interface ExportPanelProps {
790
1322
  initialVersion?: 2 | 3;
791
1323
  versions?: Array<2 | 3>;
792
1324
  }
793
- declare function ExportPanel(props: ExportPanelProps): react_jsx_runtime8.JSX.Element;
1325
+ declare function ExportPanel(props: ExportPanelProps): react_jsx_runtime0.JSX.Element;
794
1326
  //#endregion
795
1327
  //#region src/helpers.d.ts
796
1328
  declare function getManifestNomalized(id: string): Promise<ManifestNormalized | undefined>;
@@ -843,14 +1375,14 @@ declare function useDecayState(time: number): readonly [boolean, {
843
1375
  }];
844
1376
  //#endregion
845
1377
  //#region src/hooks/use-event.d.ts
846
- declare const ReactEmitterContext: react11.Context<Emitter<any>>;
1378
+ declare const ReactEmitterContext: react2.Context<Emitter<any>>;
847
1379
  declare function EventEmitterProvider({
848
1380
  children,
849
1381
  emitter
850
1382
  }: {
851
1383
  children: React.ReactNode;
852
1384
  emitter: Emitter<any>;
853
- }): react_jsx_runtime8.JSX.Element;
1385
+ }): react_jsx_runtime0.JSX.Element;
854
1386
  declare function useEmitter<Event extends Record<string | symbol, unknown>>(): Emitter<Event>;
855
1387
  declare function useEvent<Event extends Record<string | symbol, unknown>, Key extends keyof Event>(key: Key, listener: (data: Event[Key]) => void, deps?: any[]): void;
856
1388
  //#endregion
@@ -905,14 +1437,14 @@ declare function useSvgTools(): {
905
1437
  };
906
1438
  //#endregion
907
1439
  //#region src/Layout/components/HandleControls.d.ts
908
- declare const HandleContainer: styled_components0.IStyledComponent<"web", styled_components_dist_types0.FastOmit<react11.DetailedHTMLProps<react11.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
909
- declare const HandleControls: react11.ForwardRefExoticComponent<{
1440
+ declare const HandleContainer: styled_components0.IStyledComponent<"web", styled_components_dist_types0.FastOmit<react2.DetailedHTMLProps<react2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
1441
+ declare const HandleControls: react2.ForwardRefExoticComponent<{
910
1442
  dir: "left" | "right";
911
1443
  open: boolean;
912
1444
  actions: PanelActions;
913
1445
  transition?: TransitionStatus;
914
1446
  reset?: () => void;
915
- } & react11.RefAttributes<HTMLDivElement>>;
1447
+ } & react2.RefAttributes<HTMLDivElement>>;
916
1448
  //#endregion
917
1449
  //#region src/Layout/components/ModularPanel.d.ts
918
1450
  interface ModularPanelProps {
@@ -928,11 +1460,11 @@ interface ModularPanelProps {
928
1460
  style?: any;
929
1461
  }
930
1462
  declare function useSetCustomTitle(): (title: string) => void;
931
- declare const ModularPanelHeader: styled_components0.IStyledComponent<"web", styled_components_dist_types0.Substitute<react11.DetailedHTMLProps<react11.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
1463
+ declare const ModularPanelHeader: styled_components0.IStyledComponent<"web", styled_components_dist_types0.Substitute<react2.DetailedHTMLProps<react2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
932
1464
  $tabs?: boolean;
933
1465
  $error?: boolean;
934
1466
  }>>;
935
- declare const ModulePanelButton: styled_components0.IStyledComponent<"web", styled_components_dist_types0.FastOmit<react11.DetailedHTMLProps<react11.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
1467
+ declare const ModulePanelButton: styled_components0.IStyledComponent<"web", styled_components_dist_types0.FastOmit<react2.DetailedHTMLProps<react2.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
936
1468
  declare function ModularPanel({
937
1469
  panel,
938
1470
  state,
@@ -944,16 +1476,16 @@ declare function ModularPanel({
944
1476
  available,
945
1477
  style,
946
1478
  noHeader
947
- }: ModularPanelProps): react_jsx_runtime8.JSX.Element | null;
1479
+ }: ModularPanelProps): react_jsx_runtime0.JSX.Element | null;
948
1480
  //#endregion
949
1481
  //#region src/Layout/components/PanelError.d.ts
950
1482
  declare function PanelError(props: {
951
1483
  error: Error;
952
1484
  resetErrorBoundary: () => void;
953
- }): react_jsx_runtime8.JSX.Element;
1485
+ }): react_jsx_runtime0.JSX.Element;
954
1486
  //#endregion
955
1487
  //#region src/Layout/Layout.d.ts
956
- interface LayoutProps$1 {
1488
+ interface LayoutRenderProps {
957
1489
  header?: React.ReactNode;
958
1490
  footer?: React.ReactNode;
959
1491
  menu?: React.ReactNode;
@@ -968,14 +1500,17 @@ interface LayoutProps$1 {
968
1500
  htmlId?: string;
969
1501
  centerPanelMenuPosition?: "top" | "bottom";
970
1502
  disableSideEffects?: string[];
1503
+ layoutMode?: "default" | "focused";
971
1504
  }
972
- declare const Layout: react11.NamedExoticComponent<LayoutProps$1>;
1505
+ declare const Layout: react2.NamedExoticComponent<LayoutRenderProps>;
973
1506
  //#endregion
974
1507
  //#region src/Layout/Layout.context.d.ts
975
- declare const LayoutActionsReactContext: react11.Context<LayoutActions>;
976
- declare const LayoutStateReactContext: react11.Context<LayoutState>;
1508
+ declare const LayoutActionsReactContext: react2.Context<LayoutActions>;
1509
+ declare const LayoutStateReactContext: react2.Context<LayoutState>;
1510
+ declare const LayoutModeReactContext: react2.Context<"default" | "focused">;
977
1511
  declare function useLayoutState(): LayoutState;
978
1512
  declare function useLayoutActions(): LayoutActions;
1513
+ declare function useLayoutMode(): "default" | "focused";
979
1514
  declare function useAvailableLayouts(): LayoutProps;
980
1515
  declare function useLayoutProvider(): LayoutProviderProps & {
981
1516
  loading?: true;
@@ -1007,6 +1542,122 @@ declare const layoutReducer: (state: LayoutState, args_0: PanelActionType) => La
1007
1542
  declare function getDefaultPanelState(): PanelState;
1008
1543
  declare function getDefaultLayoutState(): LayoutState;
1009
1544
  //#endregion
1545
+ //#region src/Layout/Layout.supports.d.ts
1546
+ declare function filterSupportedPanels(panels: LayoutPanel[], ctx: LayoutPanelSupportContext, onSupportsError?: (panel: LayoutPanel, error: unknown) => void): LayoutPanel[];
1547
+ declare function getSupportedPanelFallback(panels: LayoutPanel[], currentId: string | null): string | null;
1548
+ declare function panelIds(panels: LayoutPanel[]): string;
1549
+ //#endregion
1550
+ //#region src/ManifestPaginationNavigation.d.ts
1551
+ interface ManifestPaginationNavigationProps {
1552
+ className?: string;
1553
+ variant?: "light" | "dark";
1554
+ }
1555
+ declare function ManifestPaginationNavigation({
1556
+ className,
1557
+ variant
1558
+ }: ManifestPaginationNavigationProps): react_jsx_runtime0.JSX.Element;
1559
+ //#endregion
1560
+ //#region src/PluginContext/PluginContext.d.ts
1561
+ declare const PluginReactContext: react2.Context<StoreApi<PluginStore> | null>;
1562
+ declare const PluginGlobalConfigReactContext: react2.Context<{
1563
+ globalPluginConfig?: Config["plugins"];
1564
+ saveGlobalPluginConfig?: (config: Config["plugins"]) => void | Promise<void>;
1565
+ }>;
1566
+ declare function PluginProvider({
1567
+ plugins,
1568
+ enabled,
1569
+ disabled,
1570
+ globalPluginConfig,
1571
+ saveGlobalPluginConfig,
1572
+ children
1573
+ }: {
1574
+ plugins: Array<PluginModule | MappedPlugin>;
1575
+ enabled?: string[];
1576
+ disabled?: string[];
1577
+ globalPluginConfig?: Config["plugins"];
1578
+ saveGlobalPluginConfig?: (config: Config["plugins"]) => void | Promise<void>;
1579
+ children: ReactNode;
1580
+ }): ReactElement;
1581
+ declare function useOptionalPluginStoreApi(): StoreApi<PluginStore> | null;
1582
+ declare function usePluginStoreApi(): StoreApi<PluginStore>;
1583
+ declare function usePlugins(): PluginStoreSnapshot;
1584
+ declare function useEnabledPlugins(appId?: string): MappedPlugin[];
1585
+ declare function usePluginActions(): {
1586
+ enable(appId: string, id: string, scope?: PluginConfigScope): void;
1587
+ disable(appId: string, id: string, scope?: PluginConfigScope): void;
1588
+ setAppConfig(appId: string, config: PluginAppConfig): void;
1589
+ setGlobalAppConfig(appId: string, config: PluginAppConfig): void;
1590
+ };
1591
+ declare function usePluginRuntimeApi(appId?: string): PluginRuntimeApi;
1592
+ declare function usePluginSettings<T$1 extends PluginSettingsValue = PluginSettingsValue>(pluginId: string, appId?: string): T$1;
1593
+ declare function usePluginConfigApi<T$1 extends PluginSettingsValue = PluginSettingsValue>(pluginId: string, appId?: string): {
1594
+ plugin: MappedPlugin | null;
1595
+ appId: string;
1596
+ defaults: T$1;
1597
+ global: T$1;
1598
+ workspace: T$1;
1599
+ effective: T$1;
1600
+ canSaveGlobal: boolean;
1601
+ setWorkspaceSettings: (settings: T$1) => void;
1602
+ resetWorkspaceSettings: () => void;
1603
+ setGlobalSettings: (settings: T$1) => Promise<void>;
1604
+ resetGlobalSettings: () => Promise<void>;
1605
+ };
1606
+ declare function useResolvedPluginApp(definition: MappedApp, appId: string): MappedApp;
1607
+ declare function PluginConfigBridge({
1608
+ config
1609
+ }: {
1610
+ config?: Partial<Config>;
1611
+ }): null;
1612
+ //#endregion
1613
+ //#region src/PluginContext/PluginContext.helpers.d.ts
1614
+ declare function getEmptyPluginState(): PluginStoreSnapshot;
1615
+ declare function normalisePluginAppConfig(config?: PluginAppConfig): PluginAppConfig;
1616
+ declare function normalisePluginAppsConfig(config?: {
1617
+ apps?: Record<string, PluginAppConfig>;
1618
+ }): Record<string, PluginAppConfig>;
1619
+ declare function enablePluginInConfig(config: PluginAppConfig | undefined, id: string): PluginAppConfig;
1620
+ declare function disablePluginInConfig(config: PluginAppConfig | undefined, id: string): PluginAppConfig;
1621
+ declare function resetPluginInConfig(config: PluginAppConfig | undefined, id: string): PluginAppConfig;
1622
+ declare function pluginAppConfigEquals(a?: PluginAppConfig, b?: PluginAppConfig): boolean;
1623
+ declare function mapPlugin(input: PluginModule, map?: (plugin: MappedPlugin) => MappedPlugin): MappedPlugin;
1624
+ declare function isMappedPlugin(input: PluginModule | MappedPlugin): input is MappedPlugin;
1625
+ declare function normalisePlugin(input: PluginModule | MappedPlugin): MappedPlugin;
1626
+ declare function normalisePlugins(plugins?: Array<PluginModule | MappedPlugin>): MappedPlugin[];
1627
+ declare function isPluginCompatible(plugin: MappedPlugin, app?: PluginHostApp | null, appId?: string | null): boolean;
1628
+ declare function getPluginCompatibilityReason(plugin: MappedPlugin, app?: PluginHostApp | null, appId?: string | null): "This plugin does not support the current app." | "This plugin does not support the current project type." | null;
1629
+ declare function isPluginSelected(plugin: MappedPlugin, state: PluginStoreSnapshot, appId?: string | null): boolean;
1630
+ declare function getPluginSelectionSource(plugin: MappedPlugin, state: PluginStoreSnapshot, appId?: string | null): PluginConfigScope | "provider" | "default";
1631
+ declare function getEnabledPluginsForApp(state: PluginStoreSnapshot, app?: PluginHostApp | null, appId?: string | null): MappedPlugin[];
1632
+ declare function getPluginSettingsFromConfig<T$1 extends PluginSettingsValue = PluginSettingsValue>(config: PluginAppConfig | undefined, pluginId: string): Partial<T$1>;
1633
+ declare function setPluginSettingsInConfig<T$1 extends PluginSettingsValue = PluginSettingsValue>(config: PluginAppConfig | undefined, pluginId: string, settings: T$1): PluginAppConfig;
1634
+ declare function resetPluginSettingsInConfig(config: PluginAppConfig | undefined, pluginId: string): PluginAppConfig;
1635
+ declare function getPluginDefaultSettings<T$1 extends PluginSettingsValue = PluginSettingsValue>(plugin?: MappedPlugin): T$1;
1636
+ declare function getEffectivePluginSettings<T$1 extends PluginSettingsValue = PluginSettingsValue>(state: PluginStoreSnapshot, pluginId: string, appId?: string | null): T$1;
1637
+ declare function createPluginRuntimeApi(state: PluginStoreSnapshot, appId?: string | null): PluginRuntimeApi;
1638
+ declare function enablePluginAndDependenciesInConfig(config: PluginAppConfig, state: PluginStoreSnapshot, plugin: MappedPlugin, app?: PluginHostApp | null, appId?: string | null): {
1639
+ config: PluginAppConfig;
1640
+ enabledIds: string[];
1641
+ blocked: string[];
1642
+ };
1643
+ declare function applyPlugins(app: MappedApp, plugins: MappedPlugin[], appId?: string): MappedApp;
1644
+ //#endregion
1645
+ //#region src/PluginContext/PluginContext.store.d.ts
1646
+ declare function createPluginStore({
1647
+ plugins,
1648
+ enabled,
1649
+ disabled,
1650
+ globalPluginConfig
1651
+ }?: {
1652
+ plugins?: MappedPlugin[];
1653
+ enabled?: string[];
1654
+ disabled?: string[];
1655
+ globalPluginConfig?: Config["plugins"];
1656
+ }): zustand0.StoreApi<PluginStore>;
1657
+ //#endregion
1658
+ //#region src/PluginContext/PluginManager.d.ts
1659
+ declare function PluginManager(): react_jsx_runtime0.JSX.Element | null;
1660
+ //#endregion
1010
1661
  //#region src/PreviewButton/PreviewButton.d.ts
1011
1662
  declare function PreviewButton({
1012
1663
  downloadEnabled,
@@ -1014,10 +1665,10 @@ declare function PreviewButton({
1014
1665
  }: {
1015
1666
  downloadEnabled?: boolean;
1016
1667
  fileName?: string;
1017
- }): react_jsx_runtime8.JSX.Element;
1668
+ }): react_jsx_runtime0.JSX.Element;
1018
1669
  //#endregion
1019
1670
  //#region src/PreviewContext/PreviewContext.d.ts
1020
- declare const PreviewProvider: react11.NamedExoticComponent<{
1671
+ declare const PreviewProvider: react2.NamedExoticComponent<{
1021
1672
  previews: Preview[];
1022
1673
  children: ReactNode;
1023
1674
  configs: PreviewConfiguration[];
@@ -1033,6 +1684,18 @@ declare function createPreviewVault(homepageCollectionId?: string): {
1033
1684
  readonly clearHistory: () => void;
1034
1685
  };
1035
1686
  //#endregion
1687
+ //#region src/PreviewVault/vault-message-bridge.d.ts
1688
+ type BridgeTarget = {
1689
+ port: MessagePort;
1690
+ lastActionId: string;
1691
+ };
1692
+ type VaultBridgeRegistry = {
1693
+ originalDispatch: Vault$1["dispatch"];
1694
+ patchedDispatch: Vault$1["dispatch"];
1695
+ targets: Set<BridgeTarget>;
1696
+ };
1697
+ declare function createIframeVaultBridge(vault: Vault$1, port: MessagePort): () => void;
1698
+ //#endregion
1036
1699
  //#region src/PreviewVault/PreviewVault.d.ts
1037
1700
  declare function usePreviewVault(): Vault$1;
1038
1701
  declare const HOMEPAGE_COLLECTION = "manifest-editor://homepage-collection.json";
@@ -1042,18 +1705,18 @@ declare function usePreviewHistory(): {
1042
1705
  };
1043
1706
  declare function PreviewVaultContext(props: {
1044
1707
  children: any;
1045
- }): react_jsx_runtime8.JSX.Element;
1708
+ }): react_jsx_runtime0.JSX.Element;
1046
1709
  declare function PreviewVaultBoundary({
1047
1710
  children
1048
1711
  }: {
1049
1712
  children: any;
1050
- }): react_jsx_runtime8.JSX.Element;
1713
+ }): react_jsx_runtime0.JSX.Element;
1051
1714
  //#endregion
1052
1715
  //#region src/ResourceEditingContext/ResourceEditingContext.d.ts
1053
1716
  interface ResourceEditingContext {
1054
1717
  resource: Reference<any> | null;
1055
1718
  }
1056
- declare const ResourceEditingReactContext: react11.Context<ResourceEditingContext>;
1719
+ declare const ResourceEditingReactContext: react2.Context<ResourceEditingContext>;
1057
1720
  declare function useEditingContext(): ResourceEditingContext;
1058
1721
  /**
1059
1722
  * useResource
@@ -1079,7 +1742,7 @@ declare function ResourceEditingProvider({
1079
1742
  type: string;
1080
1743
  } | null | undefined;
1081
1744
  children: ReactNode;
1082
- }): react_jsx_runtime8.JSX.Element;
1745
+ }): react_jsx_runtime0.JSX.Element;
1083
1746
  //#endregion
1084
1747
  //#region src/ShellContext/ShellContext.d.ts
1085
1748
  declare function ShellProvider({
@@ -1089,7 +1752,8 @@ declare function ShellProvider({
1089
1752
  theme,
1090
1753
  previews,
1091
1754
  resource,
1092
- editing
1755
+ editing,
1756
+ backgroundActionPersistence
1093
1757
  }: {
1094
1758
  resource: Resource;
1095
1759
  config?: Partial<Config>;
@@ -1101,7 +1765,156 @@ declare function ShellProvider({
1101
1765
  id: string;
1102
1766
  type: string;
1103
1767
  };
1104
- }): react_jsx_runtime8.JSX.Element;
1768
+ backgroundActionPersistence?: BackgroundActionPersistence | false | null;
1769
+ }): react_jsx_runtime0.JSX.Element;
1770
+ //#endregion
1771
+ //#region src/SpecificationContext/SpecificationContext.types.d.ts
1772
+ type SpecificationEntityType = "Collection" | "Manifest" | "Canvas" | "Range" | "AnnotationPage" | "Annotation" | "ContentResource" | "Agent";
1773
+ type SpecificationPropertyPath = string[];
1774
+ type SpecificationJsonValue = null | string | number | boolean | SpecificationJsonValue[] | {
1775
+ [key: string]: SpecificationJsonValue;
1776
+ };
1777
+ type SpecificationTextValue = string | {
1778
+ [language: string]: string[];
1779
+ };
1780
+ type SpecificationRuleBase = {
1781
+ id?: string;
1782
+ label?: string;
1783
+ description?: string;
1784
+ message?: string;
1785
+ };
1786
+ type SpecificationPropertyRuleBase = SpecificationRuleBase & {
1787
+ entityType: SpecificationEntityType;
1788
+ path: SpecificationPropertyPath;
1789
+ };
1790
+ type DisallowPropertySpecificationRule = SpecificationPropertyRuleBase & {
1791
+ type: "disallow-property";
1792
+ };
1793
+ type RequireNonEmptySpecificationRule = SpecificationPropertyRuleBase & {
1794
+ type: "require-non-empty";
1795
+ };
1796
+ type FixedValueSpecificationRule = SpecificationPropertyRuleBase & {
1797
+ type: "fixed-value";
1798
+ value: SpecificationJsonValue;
1799
+ };
1800
+ type CanvasWithImageServiceSpecificationRule = SpecificationRuleBase & {
1801
+ type: "iiif:canvas-with-image-service";
1802
+ serviceId?: string;
1803
+ serviceIds?: string[];
1804
+ };
1805
+ type ThumbnailFromBodyServiceSpecificationRule = SpecificationRuleBase & {
1806
+ type: "iiif:thumbnail-from-body-service";
1807
+ entityType?: "Manifest" | "Canvas";
1808
+ requireThumbnail?: boolean;
1809
+ };
1810
+ type ValidRightsSpecificationRule = SpecificationRuleBase & {
1811
+ type: "iiif:valid-rights";
1812
+ entityType?: SpecificationEntityType;
1813
+ allowed: string[];
1814
+ required?: boolean;
1815
+ };
1816
+ type RequiredStatementSpecificationRule = SpecificationRuleBase & {
1817
+ type: "iiif:required-statement";
1818
+ entityType?: SpecificationEntityType;
1819
+ label?: SpecificationTextValue;
1820
+ value?: SpecificationTextValue;
1821
+ valueRequired?: boolean;
1822
+ };
1823
+ type MetadataTemplateSpecificationRule = SpecificationRuleBase & {
1824
+ type: "iiif:metadata-template";
1825
+ entityType?: SpecificationEntityType;
1826
+ items: Array<{
1827
+ label: SpecificationTextValue;
1828
+ value?: SpecificationTextValue;
1829
+ valueRequired?: boolean;
1830
+ }>;
1831
+ };
1832
+ type SpecificationRule = DisallowPropertySpecificationRule | RequireNonEmptySpecificationRule | FixedValueSpecificationRule | CanvasWithImageServiceSpecificationRule | ThumbnailFromBodyServiceSpecificationRule | ValidRightsSpecificationRule | RequiredStatementSpecificationRule | MetadataTemplateSpecificationRule;
1833
+ type ManifestEditorSpecification = {
1834
+ id: string;
1835
+ label: string;
1836
+ description?: string;
1837
+ version?: string;
1838
+ terminology?: {
1839
+ entities?: Partial<Record<SpecificationEntityType, string>>;
1840
+ properties?: Array<{
1841
+ entityType?: SpecificationEntityType;
1842
+ path: SpecificationPropertyPath;
1843
+ label: string;
1844
+ }>;
1845
+ };
1846
+ rules: SpecificationRule[];
1847
+ };
1848
+ type SpecificationReportStatus = "satisfied" | "missing" | "invalid" | "disallowed" | "not-applicable";
1849
+ type SpecificationEditorTarget = {
1850
+ resource: Reference;
1851
+ propertyPath?: SpecificationPropertyPath;
1852
+ selectedTab?: string;
1853
+ };
1854
+ type SpecificationReportItem = {
1855
+ id: string;
1856
+ specificationId: string;
1857
+ specificationLabel: string;
1858
+ ruleId: string;
1859
+ ruleType: SpecificationRule["type"];
1860
+ ruleLabel: string;
1861
+ ruleIndex: number;
1862
+ target?: Reference;
1863
+ path?: SpecificationPropertyPath;
1864
+ status: SpecificationReportStatus;
1865
+ displayLabel: string;
1866
+ message: string;
1867
+ expected?: SpecificationJsonValue | SpecificationTextValue | string[];
1868
+ actual?: unknown;
1869
+ editorTarget?: SpecificationEditorTarget;
1870
+ };
1871
+ type SpecificationReport = {
1872
+ specifications: ManifestEditorSpecification[];
1873
+ results: SpecificationReportItem[];
1874
+ counts: Record<SpecificationReportStatus, number>;
1875
+ };
1876
+ type SpecificationPropertyPolicy = {
1877
+ entityType?: SpecificationEntityType;
1878
+ path: SpecificationPropertyPath;
1879
+ label?: string;
1880
+ disallowed: boolean;
1881
+ required: boolean;
1882
+ fixedValue?: SpecificationJsonValue;
1883
+ fixedValueRule?: FixedValueSpecificationRule;
1884
+ rules: SpecificationRule[];
1885
+ };
1886
+ //#endregion
1887
+ //#region src/SpecificationContext/SpecificationContext.d.ts
1888
+ declare function SpecificationProvider({
1889
+ children,
1890
+ specifications
1891
+ }: {
1892
+ children: ReactNode;
1893
+ specifications?: ManifestEditorSpecification[];
1894
+ }): react_jsx_runtime0.JSX.Element;
1895
+ declare function useSpecifications(): ManifestEditorSpecification[];
1896
+ declare function useSpecificationReport(rootRef?: Reference): SpecificationReport;
1897
+ declare function useSpecificationTerminology(): {
1898
+ getLabel(entityType: string | undefined, path: SpecificationPropertyPath | string | undefined, fallback?: string): string;
1899
+ };
1900
+ declare function useSpecificationPropertyPolicy(resourceRef: Reference | null | undefined, propertyPath: SpecificationPropertyPath | string): SpecificationPropertyPolicy;
1901
+ //#endregion
1902
+ //#region src/SpecificationContext/SpecificationContext.helpers.d.ts
1903
+ type CollectedResource = {
1904
+ ref: Reference;
1905
+ resource: any;
1906
+ };
1907
+ declare function normaliseSpecificationPath(path: SpecificationPropertyPath | string | undefined): SpecificationPropertyPath;
1908
+ declare function specificationPathEquals(a: SpecificationPropertyPath | string | undefined, b: SpecificationPropertyPath | string | undefined): boolean;
1909
+ declare function getValueAtPath(resource: any, path: SpecificationPropertyPath | string | undefined): unknown;
1910
+ declare function setValueAtPath(resource: any, path: SpecificationPropertyPath | string, value: unknown): any;
1911
+ declare function hasMeaningfulValue(value: unknown): boolean;
1912
+ declare function normaliseJsonValue(value: unknown): unknown;
1913
+ declare function specificationJsonEquals(a: unknown, b: unknown): boolean;
1914
+ declare function getTerminologyLabel(specifications: ManifestEditorSpecification[] | undefined, entityType: SpecificationEntityType | string | undefined, path: SpecificationPropertyPath | string | undefined, fallback?: string): string;
1915
+ declare function getPropertyPolicy(specifications: ManifestEditorSpecification[] | undefined, resource: Reference | null | undefined, path: SpecificationPropertyPath | string): SpecificationPropertyPolicy;
1916
+ declare function evaluateSpecifications(specifications: ManifestEditorSpecification[] | undefined, vault: Vault$1, rootRef: Reference): SpecificationReport;
1917
+ declare function collectSpecificationResources(vault: Vault$1, rootRef: Reference): CollectedResource[];
1105
1918
  //#endregion
1106
1919
  //#region src/TaskBridge/TaskBridge.d.ts
1107
1920
  interface Task<Req = any, Res = any> {
@@ -1124,11 +1937,32 @@ declare function TaskBridge({
1124
1937
  children
1125
1938
  }: {
1126
1939
  children?: ReactNode;
1127
- }): react_jsx_runtime8.JSX.Element;
1940
+ }): react_jsx_runtime0.JSX.Element;
1941
+ //#endregion
1942
+ //#region src/Toast/ToastContext.d.ts
1943
+ type ToastVariant = ToastVariant$1;
1944
+ type ToastContent = ToastContent$1;
1945
+ interface ToastApi {
1946
+ add(content: ToastContent, options?: ToastOptions): string;
1947
+ info(content: ToastContent, options?: ToastOptions): string;
1948
+ success(content: ToastContent, options?: ToastOptions): string;
1949
+ warning(content: ToastContent, options?: ToastOptions): string;
1950
+ error(content: ToastContent, options?: ToastOptions): string;
1951
+ close(key: string): void;
1952
+ }
1953
+ interface ToastProviderProps {
1954
+ children: ReactNode;
1955
+ maxVisibleToasts?: number;
1956
+ }
1957
+ declare function ToastProvider({
1958
+ children,
1959
+ maxVisibleToasts
1960
+ }: ToastProviderProps): react_jsx_runtime0.JSX.Element;
1961
+ declare function useToasts(): ToastApi;
1128
1962
  //#endregion
1129
1963
  //#region src/Universal/UniversalCopyPaste.types.d.ts
1130
1964
  interface UniversalCopyPasteProps<T$1> {
1131
- as?: keyof JSX.IntrinsicElements | react11.ComponentType<T$1>;
1965
+ as?: keyof JSX.IntrinsicElements | react2.ComponentType<T$1>;
1132
1966
  children?: ReactNode;
1133
1967
  reference?: Reference;
1134
1968
  onReference?: (reference: Reference) => void;
@@ -1158,7 +1992,7 @@ declare function UniversalCopyTarget<T$1>({
1158
1992
  onPasteLink: _onPasteLink,
1159
1993
  onPasteAnalysis: _onPasteAnalysis,
1160
1994
  ...props
1161
- }: Partial<HTMLAttributes<HTMLElement>> & UniversalCopyPasteProps<T$1> & T$1): react_jsx_runtime8.JSX.Element;
1995
+ }: Partial<HTMLAttributes<HTMLElement>> & UniversalCopyPasteProps<T$1> & T$1): react_jsx_runtime0.JSX.Element;
1162
1996
  //#endregion
1163
- export { AnnotationPanel, AppContext, AppExtension, AppHeader, AppMenuProvider, AppProvider, AppReactContext, AppResourceInstanceProvider, AppResourceProvider, AppState, AppStateReactContext, AtlasStoreProvider, AtlasStoreReactContext, BackgroundPanel, BaseAnnotationCreator, BaseEditor, BaseEditorBackButton, BaseEditorCloseButton, CanvasEditorDefinition, Config, ConfigEditor, ConfigProvider, ConfigReactContext, ContextMenuItem, ContextMenuProvider, ContextMenuReactContext, ContextMenuRequest, CreatorInitialData, EditableResource, EditingStack, EditingStackActionCreators, EditingStackActions, EditingStackContext, EditingStackState, EditorConfig, EditorDefinition, EventEmitterProvider, ExportPanel, ExportPanelProps, HOMEPAGE_COLLECTION, HandleContainer, HandleControls, InlineEditingStack, Layout, LayoutActions, LayoutActionsReactContext, LayoutContext, LayoutFunction, LayoutPanel, LayoutPanelContext, LayoutProps, LayoutProviderProps, LayoutState, LayoutStateReactContext, LoadedApp, MappedApp, MenuPositions, ModularPanel, ModularPanelHeader, ModulePanelButton, MultiAppContext, MultiAppProvider, PanelActionType, PanelActions, PanelError, PanelState, PinnablePanelActions, PinnablePanelState, PinnedLayoutPanel, Preview, PreviewActions, PreviewActionsType, PreviewButton, PreviewConfiguration, PreviewContext, PreviewHandler, PreviewProvider, PreviewState, PreviewVaultBoundary, PreviewVaultContext, PrimeAppReactContext, ReactEmitterContext, Resource, ResourceDefinition, ResourceEditingProvider, ResourceEditingReactContext, SaveConfigReactContext, ShellProvider, TaskBridge, UniversalCopyPasteProps, UniversalCopyTarget, UploadBackendConfig, analyse, analyseJson, baseCreator, baseEditor, copyToClipboard, createActionIdentity, createDownload, createPreviewVault, detectMedia, editBasedOnResource, extendApp, getDefaultLayoutState, getDefaultPanelState, getFormat, getImageDimensions, getManifestNomalized, isPinnableState, layoutReducer, mapApp, panelSizing, polygonToBoundingBox, randomId, renderHelper, useAnnotationCreatorState, useAnnotationPageEditor, useApp, useAppInstance, useAppMenu, useAppMenuItem, useAppResource, useAppResourceInstance, useAppState, useApps, useAtlasStore, useAvailableLayouts, useCollectionEditor, useConfig, useCreatingResource, useCreator, useCustomContextMenu, useDecayState, useEditingContext, useEditingResource, useEditingResourceStack, useEditingStack, useEditor, useEmitter, useEvent, useGenericEditor, useHighlightedImageResource, useHoverHighlightImageResource, useInitialData, useInlineCreator, useLayoutActions, useLayoutProvider, useLayoutState, useLocalStorage, useManifestEditor, useMatchMedia, useOptionalLocalStorage, useOptionalResource, usePanelActions, usePreviewContext, usePreviewHistory, usePreviewVault, usePreviews, useResource, useResourceContextMenuItems, useSaveConfig, useSaveVault, useSetCustomTitle, useSvgTools, useTask, useTaskDispatch, useTaskEvent, useTaskRunner, useTemporaryHighlight };
1997
+ export { AnnotationPanel, AppContext, AppExtension, AppHeader, AppMenuProvider, AppProvider, AppReactContext, AppResourceInstanceProvider, AppResourceProvider, AppState, AppStateReactContext, AtlasStoreProvider, AtlasStoreReactContext, AvailableBackgroundAction, BackgroundActionContext, BackgroundActionDefinition, BackgroundActionError, BackgroundActionEvent, BackgroundActionEventType, BackgroundActionGroup, BackgroundActionInstance, BackgroundActionLifecycle, BackgroundActionLogEntry, BackgroundActionLogLevel, BackgroundActionPersistedState, BackgroundActionPersistence, BackgroundActionPersistenceKey, BackgroundActionPlan, BackgroundActionProgress, BackgroundActionProgressInput, BackgroundActionRenderContext, BackgroundActionRunContext, BackgroundActionStatus, BackgroundActionSystemContext, BackgroundActionTarget, BackgroundActionTask, BackgroundActionTaskRunOptions, BackgroundActionTaskRunResult, BackgroundActionTaskStatus, BackgroundActionTasksApi, BackgroundActionToasts, BackgroundActionsMenu, BackgroundActionsMount, BackgroundActionsProvider, BackgroundActionsReactContext, BackgroundActionsStore, BackgroundPanel, BaseAnnotationCreator, BaseEditor, BaseEditorBackButton, BaseEditorCloseButton, CANVAS_PROGRESS_META_NAMESPACE, CANVAS_PROGRESS_STATUS_META_KEY, CanvasEditorDefinition, CanvasProgressActiveStatus, CanvasProgressResource, CanvasProgressStatus, CanvasProgressStatusInput, CanvasWithImageServiceSpecificationRule, Config, ConfigEditor, ConfigProvider, ConfigReactContext, ContextMenuItem, ContextMenuProvider, ContextMenuReactContext, ContextMenuRequest, CreatorInitialData, DisallowPropertySpecificationRule, EditableResource, EditingStack, EditingStackActionCreators, EditingStackActions, EditingStackContext, EditingStackState, EditorConfig, EditorDefinition, EventEmitterProvider, ExportPanel, ExportPanelProps, FLAG_TAG, FixedValueSpecificationRule, GetAvailableBackgroundActionGroupsOptions, HOMEPAGE_COLLECTION, HandleContainer, HandleControls, InlineEditingStack, Layout, LayoutActions, LayoutActionsReactContext, LayoutContext, LayoutFunction, LayoutModeReactContext, LayoutPanel, LayoutPanelContext, LayoutPanelFocusedModeContext, LayoutPanelSupportContext, LayoutProps, LayoutProviderProps, LayoutRenderProps, LayoutState, LayoutStateReactContext, LoadedApp, ManifestEditorCanvasProgressApi, ManifestEditorCanvasProgressOverlay, ManifestEditorSpecification, ManifestEditorTag, ManifestEditorTagBadge, ManifestEditorTagGroup, ManifestEditorTagGroupRow, ManifestEditorTagIcon, ManifestEditorTagOverlay, ManifestEditorTagResource, ManifestEditorTagsApi, ManifestPaginationNavigation, ManifestPaginationNavigationProps, MappedApp, MappedPlugin, MenuPositions, MessagePortClientVault, MetadataTemplateSpecificationRule, ModularPanel, ModularPanelHeader, ModulePanelButton, MultiAppContext, MultiAppProvider, PanelActionType, PanelActions, PanelError, PanelState, PinnablePanelActions, PinnablePanelState, PinnedLayoutPanel, PluginAppConfig, PluginConfigBridge, PluginConfigScope, PluginGlobalConfigReactContext, PluginHostApp, PluginManager, PluginMetadata, PluginModule, PluginProvider, PluginReactContext, PluginRuntimeApi, PluginSettingsDefinition, PluginSettingsField, PluginSettingsFieldOption, PluginSettingsRecord, PluginSettingsRenderContext, PluginSettingsValue, PluginStore, PluginStoreSnapshot, Preview, PreviewActions, PreviewActionsType, PreviewButton, PreviewConfiguration, PreviewContext, PreviewHandler, PreviewProvider, PreviewState, PreviewVaultBoundary, PreviewVaultContext, PrimeAppReactContext, ReactEmitterContext, type RemoteVaultAction, type RemoteVaultClientMessage, RequireNonEmptySpecificationRule, RequiredStatementSpecificationRule, Resource, ResourceDefinition, ResourceEditingProvider, ResourceEditingReactContext, RunBackgroundActionOptions, SaveConfigReactContext, ShellProvider, SpecificationEditorTarget, SpecificationEntityType, SpecificationJsonValue, SpecificationPropertyPath, SpecificationPropertyPolicy, SpecificationPropertyRuleBase, SpecificationProvider, SpecificationReport, SpecificationReportItem, SpecificationReportStatus, SpecificationRule, SpecificationRuleBase, SpecificationTextValue, TAGS_META_KEY, TAGS_META_NAMESPACE, TaskBridge, ThumbnailFromBodyServiceSpecificationRule, ToastApi, ToastContent, ToastProvider, ToastVariant, UniversalCopyPasteProps, UniversalCopyTarget, UploadBackendConfig, ValidRightsSpecificationRule, VaultBridgeRegistry, addResourceTag, analyse, analyseJson, applyPlugins, baseCreator, baseEditor, clearCanvasProgressStatus, clearCanvasProgressStatuses, collectSpecificationResources, copyToClipboard, createActionIdentity, createBackgroundActionsStore, createDownload, createIframeVaultBridge, createLocalForageBackgroundActionPersistence, createManifestEditorCanvasProgressApi, createManifestEditorTagsApi, createPluginRuntimeApi, createPluginStore, createPreviewVault, createTrackingCanvasProgressApi, detectMedia, disablePluginInConfig, editBasedOnResource, enablePluginAndDependenciesInConfig, enablePluginInConfig, evaluateSpecifications, extendApp, filterSupportedPanels, getAvailableBackgroundActionGroups, getBackgroundActionInstanceKey, getCanvasProgressStatus, getCanvasProgressStatusFromState, getDefaultLayoutState, getDefaultPanelState, getEffectivePluginSettings, getEmptyPluginState, getEnabledPluginsForApp, getFormat, getImageDimensions, getManifestNomalized, getPluginCompatibilityReason, getPluginDefaultSettings, getPluginSelectionSource, getPluginSettingsFromConfig, getPropertyPolicy, getResourceTag, getResourceTagGroups, getResourceTags, getResourceTagsFromState, getSupportedPanelFallback, getTerminologyLabel, getValueAtPath, hasMeaningfulValue, hasResourceTag, isMappedPlugin, isPinnableState, isPluginCompatible, isPluginSelected, layoutReducer, mapApp, mapPlugin, mergeBackgroundActionDefinitions, mergeConfig, mergePartialConfig, normaliseBackgroundActionError, normaliseJsonValue, normalisePlugin, normalisePluginAppConfig, normalisePluginAppsConfig, normalisePlugins, normaliseSpecificationPath, panelIds, panelSizing, pluginAppConfigEquals, polygonToBoundingBox, randomId, removeResourceTag, renderHelper, resetPluginInConfig, resetPluginSettingsInConfig, runBackgroundAction, setCanvasProgressStatus, setCanvasProgressStatuses, setPluginSettingsInConfig, setResourceTags, setValueAtPath, sortBackgroundActionDefinitions, specificationJsonEquals, specificationPathEquals, toggleResourceTag, useAnnotationCreatorState, useAnnotationPageEditor, useApp, useAppInstance, useAppMenu, useAppMenuItem, useAppResource, useAppResourceInstance, useAppState, useApps, useAtlasStore, useAvailableBackgroundActions, useAvailableLayouts, useBackgroundActionHistory, useBackgroundActionInstance, useBackgroundActionsStore, useBackgroundActionsStoreApi, useCanvasProgressActions, useCanvasProgressStatus, useCollectionEditor, useConfig, useCreatingResource, useCreator, useCustomContextMenu, useDecayState, useEditingContext, useEditingResource, useEditingResourceStack, useEditingStack, useEditor, useEmitter, useEnabledPlugins, useEvent, useGenericEditor, useHighlightedImageResource, useHoverHighlightImageResource, useInitialData, useInlineCreator, useLayoutActions, useLayoutMode, useLayoutProvider, useLayoutState, useLocalStorage, useManifestEditor, useMatchMedia, useOptionalLocalStorage, useOptionalPluginStoreApi, useOptionalResource, usePanelActions, usePluginActions, usePluginConfigApi, usePluginRuntimeApi, usePluginSettings, usePluginStoreApi, usePlugins, usePreviewContext, usePreviewHistory, usePreviewVault, usePreviews, useResolvedPluginApp, useResource, useResourceContextMenuItems, useResourceTagActions, useResourceTags, useSaveConfig, useSaveVault, useSetCustomTitle, useSpecificationPropertyPolicy, useSpecificationReport, useSpecificationTerminology, useSpecifications, useSvgTools, useTask, useTaskDispatch, useTaskEvent, useTaskRunner, useTemporaryHighlight, useToasts };
1164
1998
  //# sourceMappingURL=index.d.ts.map