@manifest-editor/shell 2.2.2-next.0.a82700e → 2.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/dist/index.d.cts CHANGED
@@ -1,8 +1,11 @@
1
- import { CreatableResource, Creator, CreatorConfig, CreatorDefinition } from "@manifest-editor/creator-api";
2
1
  import * as React$1 from "react";
3
2
  import { CSSProperties, Dispatch, HTMLAttributes, ReactElement, ReactNode, SVGProps, SetStateAction } from "react";
3
+ import { EditorI18n, EditorI18nOptions, MessageReference, UiI18nConfig } from "@manifest-editor/i18n/core";
4
+ import { CreatableResource, Creator, CreatorConfig, CreatorDefinition } from "@manifest-editor/creator-api";
4
5
  import { Collection, Reference, SpecificResource } from "@iiif/presentation-3";
5
6
  import { Vault } from "@iiif/helpers/vault";
7
+ import { JSONContent } from "@tiptap/core";
8
+ import { NotebookNote, NotebookResource, NotebookStore } from "iiif-browser/notebook";
6
9
  import { AtlasStore, AtlasStoreProvider, AtlasStoreReactContext, RenderingStrategy } from "react-iiif-vault";
7
10
  import { TransitionStatus } from "react-transition-group";
8
11
  import { StoreApi } from "zustand";
@@ -14,6 +17,81 @@ import { Emitter } from "mitt";
14
17
  import { ToastContent as ToastContent$1, ToastVariant as ToastVariant$1, useLocalStorage, useOptionalLocalStorage } from "@manifest-editor/components";
15
18
  import { ToastOptions } from "@react-stately/toast";
16
19
  import { MessagePortClientVault, RemoteVaultAction, RemoteVaultClientMessage } from "@manifest-editor/client-vault";
20
+ import { IIIFBrowserProps } from "iiif-browser";
21
+ //#region src/i18n/types.d.ts
22
+ /** JSON configuration only. Catalogs/loaders belong in `localisation`. */
23
+ interface ShellUiI18nConfig extends Partial<UiI18nConfig> {
24
+ /** Explicit display timezone; defaults to UTC. Does not alter IIIF navDate. */
25
+ timeZone?: string;
26
+ requiredNamespaces?: readonly string[];
27
+ }
28
+ interface ShellDisplayMessages {
29
+ labelMessage?: MessageReference;
30
+ titleMessage?: MessageReference;
31
+ summaryMessage?: MessageReference;
32
+ descriptionMessage?: MessageReference;
33
+ placeholderMessage?: MessageReference;
34
+ }
35
+ /** Resource layers follow runtime precedence; policies always intersect. */
36
+ type ShellLocalisation = EditorI18nOptions;
37
+ declare function mergeUiI18n(base?: ShellUiI18nConfig, override?: ShellUiI18nConfig): ShellUiI18nConfig | undefined;
38
+ /** Merge inherited preset resource layers in extension order, without weakening policy. */
39
+ declare function mergeLocalisation(base?: ShellLocalisation, override?: ShellLocalisation): ShellLocalisation | undefined;
40
+ /** Persisted schema intentionally has no callbacks, catalogs, `locale`, or `profile` aliases. */
41
+ declare const shellUiI18nSchema: {
42
+ readonly type: "object";
43
+ readonly additionalProperties: false;
44
+ readonly properties: {
45
+ readonly timeZone: {
46
+ readonly type: "string";
47
+ readonly minLength: 1;
48
+ };
49
+ readonly defaultLocale: {
50
+ readonly type: "string";
51
+ readonly minLength: 1;
52
+ };
53
+ readonly fallbackLocale: {
54
+ readonly type: "string";
55
+ readonly minLength: 1;
56
+ };
57
+ readonly defaultProfile: {
58
+ readonly type: "string";
59
+ readonly minLength: 1;
60
+ };
61
+ readonly availableLocales: {
62
+ readonly type: "array";
63
+ readonly minItems: 1;
64
+ readonly items: {
65
+ readonly type: "string";
66
+ readonly minLength: 1;
67
+ };
68
+ };
69
+ readonly availableProfiles: {
70
+ readonly type: "array";
71
+ readonly minItems: 1;
72
+ readonly items: {
73
+ readonly type: "string";
74
+ readonly minLength: 1;
75
+ };
76
+ };
77
+ readonly requiredNamespaces: {
78
+ readonly type: "array";
79
+ readonly items: {
80
+ readonly type: "string";
81
+ readonly minLength: 1;
82
+ };
83
+ };
84
+ };
85
+ };
86
+ declare function validateShellUiI18n(value: unknown): asserts value is ShellUiI18nConfig;
87
+ //#endregion
88
+ //#region src/i18n/ShellI18n.d.ts
89
+ declare function ShellI18nBoundary({ children, localisation, preset }: {
90
+ children: ReactNode;
91
+ localisation?: ShellLocalisation;
92
+ preset?: ShellLocalisation;
93
+ }): import("react").JSX.Element;
94
+ //#endregion
17
95
  //#region src/AppResourceProvider/AppResourceProvider.d.ts
18
96
  interface Resource {
19
97
  id: string;
@@ -30,6 +108,41 @@ declare function AppResourceProvider({ resource, children }: {
30
108
  children: React.ReactNode;
31
109
  }): import("react").JSX.Element;
32
110
  //#endregion
111
+ //#region src/Notebook/notebook.d.ts
112
+ interface ProjectNotebookConfig {
113
+ enabled?: boolean;
114
+ /** Canvas creator used when opening a saved resource, e.g. an exhibition slide creator. */
115
+ browserCreatorId?: string;
116
+ canvasActionLabel?: string;
117
+ /** UI-only display metadata; legacy custom labels remain literal fallbacks. */
118
+ canvasActionLabelMessage?: MessageReference;
119
+ /** Override the project instance ID, e.g. when the host provides its own workspace. */
120
+ projectId?: string;
121
+ /** Stable IDs ensure workshop material is seeded once, preserving subsequent edits. */
122
+ initialNotes?: Array<{
123
+ id: string;
124
+ title: string;
125
+ markdown?: string;
126
+ content?: JSONContent;
127
+ }>;
128
+ parseMarkdown?: (markdown: string) => JSONContent;
129
+ onChange?: (notes: ReturnType<NotebookStore["getState"]>["notes"], projectId: string) => void;
130
+ }
131
+ declare function getProjectNotebook(projectId: string): NotebookStore;
132
+ declare function parseNotebookMarkdown(markdown: string): JSONContent;
133
+ declare function seedProjectNotebook(notebook: NotebookStore, projectId: string, config: ProjectNotebookConfig): void;
134
+ /** Use the original URL for content states/crops and the info document for image services. */
135
+ declare function notebookResourceInput(resource: NotebookResource): string;
136
+ interface NotebookSource {
137
+ url: string;
138
+ label: string;
139
+ thumbnail?: string;
140
+ noteTitle: string;
141
+ }
142
+ declare function projectNotebookSources(notes: NotebookNote[], projectId: string): NotebookSource[];
143
+ /** Reuse existing/preloaded content, and keep one stable note as the project sidebar. */
144
+ declare function ensureProjectNote(notebook: NotebookStore, projectId: string, title: string, preferredId?: string): string;
145
+ //#endregion
33
146
  //#region src/PreviewContext/PreviewContext.types.d.ts
34
147
  interface Preview {
35
148
  id: string;
@@ -61,11 +174,13 @@ interface PreviewConfiguration<Config = any> {
61
174
  id: string;
62
175
  type: string;
63
176
  label: string;
177
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
64
178
  config: Config;
65
179
  }
66
180
  interface PreviewHandler {
67
181
  id: string;
68
182
  label: string;
183
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
69
184
  type: string;
70
185
  focusable: boolean;
71
186
  getRequires(): string[];
@@ -85,6 +200,9 @@ interface PreviewHandler {
85
200
  //#endregion
86
201
  //#region src/ConfigContext/ConfigContext.d.ts
87
202
  interface Config {
203
+ /** Interface language and wording; independent of authored content `i18n`. */
204
+ uiI18n?: ShellUiI18nConfig;
205
+ notebook?: ProjectNotebookConfig;
88
206
  previews: PreviewConfiguration[];
89
207
  behaviorPresets: string[];
90
208
  newTemplates: Collection | null;
@@ -142,6 +260,7 @@ interface EditorConfig {
142
260
  interface UploadBackendConfig {
143
261
  id: string;
144
262
  label: string;
263
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
145
264
  resourceTypes: string[];
146
265
  canUpload?: () => Promise<boolean>;
147
266
  upload: (resource: File) => Promise<{
@@ -356,16 +475,19 @@ type LayoutFunction = (state: any, ctx: {
356
475
  interface AnnotationPanel {
357
476
  id: string;
358
477
  label: string;
478
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
359
479
  render: () => React.ReactNode | null;
360
480
  }
361
481
  interface BackgroundPanel {
362
482
  id: string;
363
483
  label: string;
484
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
364
485
  render: () => React.ReactNode | null;
365
486
  }
366
487
  interface LayoutPanel {
367
488
  id: string;
368
489
  label: string;
490
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
369
491
  divide?: boolean;
370
492
  separator?: boolean;
371
493
  icon?: null | string | ReactNode;
@@ -426,6 +548,7 @@ interface PinnedLayoutPanel<T = any> extends LayoutPanel {
426
548
  interface CanvasEditorDefinition {
427
549
  id: string;
428
550
  label: string;
551
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
429
552
  supports: {
430
553
  strategy: (strategy: RenderingStrategy, resource: EditableResource, vault: Vault) => boolean;
431
554
  };
@@ -434,6 +557,7 @@ interface CanvasEditorDefinition {
434
557
  interface EditorDefinition {
435
558
  id: string;
436
559
  label: string;
560
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
437
561
  tabs?: {
438
562
  showTitle?: boolean;
439
563
  hide?: boolean;
@@ -456,6 +580,7 @@ interface EditorDefinition {
456
580
  interface ResourceDefinition {
457
581
  id: string;
458
582
  label: string;
583
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
459
584
  resourceType: string;
460
585
  auto: boolean;
461
586
  editors: EditorDefinition[];
@@ -532,9 +657,13 @@ declare function ManifestEditorCanvasProgressOverlay({ resource, status, classNa
532
657
  //#endregion
533
658
  //#region src/PluginContext/PluginContext.types.d.ts
534
659
  type PluginMetadata = {
660
+ /** Available on lazy manifests as well as loaded modules. */
661
+ localisation?: Pick<ShellLocalisation, "registrations" | "requiredNamespaces">;
535
662
  id: string;
536
663
  label: string;
664
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
537
665
  description?: string;
666
+ descriptionMessage?: import("@manifest-editor/i18n/core").MessageReference;
538
667
  author?: string | {
539
668
  name: string;
540
669
  url?: string;
@@ -543,11 +672,14 @@ type PluginMetadata = {
543
672
  image?: string | {
544
673
  src: string;
545
674
  alt?: string;
675
+ altMessage?: import("@manifest-editor/i18n/core").MessageReference;
546
676
  };
547
677
  screenshots?: Array<{
548
678
  src: string;
549
679
  label?: string;
680
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
550
681
  alt?: string;
682
+ altMessage?: import("@manifest-editor/i18n/core").MessageReference;
551
683
  }>;
552
684
  version?: string;
553
685
  tags?: string[];
@@ -581,17 +713,22 @@ type PluginSettingsValue = Record<string, unknown>;
581
713
  type PluginSettingsRecord = Record<string, PluginSettingsValue>;
582
714
  type PluginSettingsFieldOption = {
583
715
  label: string;
716
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
584
717
  value: string | number | boolean;
585
718
  };
586
719
  type PluginSettingsField = {
587
720
  id: string;
588
721
  label: string;
722
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
589
723
  description?: string;
724
+ descriptionMessage?: import("@manifest-editor/i18n/core").MessageReference;
590
725
  type?: "text" | "textarea" | "number" | "boolean" | "select";
591
726
  placeholder?: string;
727
+ placeholderMessage?: import("@manifest-editor/i18n/core").MessageReference;
592
728
  options?: PluginSettingsFieldOption[];
593
729
  };
594
730
  type PluginSettingsRenderContext<T extends PluginSettingsValue = PluginSettingsValue> = {
731
+ i18n?: Pick<import("@manifest-editor/i18n/core").EditorI18n, "resolveMessage">;
595
732
  plugin: MappedPlugin;
596
733
  appId: string;
597
734
  scope: PluginConfigScope;
@@ -726,10 +863,12 @@ type BackgroundActionTaskStatus = "queued" | "running" | "complete" | "skipped"
726
863
  type BackgroundActionEventType = "started" | "label" | "status" | "log" | "result" | "results-available" | "error" | "cancel-requested";
727
864
  interface BackgroundActionTarget extends Reference {
728
865
  label: string;
866
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
729
867
  scope: "root" | "canvas";
730
868
  }
731
869
  interface BackgroundActionError {
732
870
  message: string;
871
+ messageReference?: MessageReference;
733
872
  stack?: string;
734
873
  detail?: unknown;
735
874
  }
@@ -738,6 +877,7 @@ interface BackgroundActionLogEntry {
738
877
  createdAt: number;
739
878
  level: BackgroundActionLogLevel;
740
879
  message: string;
880
+ messageReference?: MessageReference;
741
881
  data?: unknown;
742
882
  }
743
883
  interface BackgroundActionEvent {
@@ -745,6 +885,7 @@ interface BackgroundActionEvent {
745
885
  createdAt: number;
746
886
  type: BackgroundActionEventType;
747
887
  message?: string;
888
+ messageReference?: MessageReference;
748
889
  data?: unknown;
749
890
  }
750
891
  interface BackgroundActionProgress {
@@ -752,25 +893,30 @@ interface BackgroundActionProgress {
752
893
  current?: number;
753
894
  total?: number;
754
895
  label?: string;
896
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
755
897
  }
756
898
  type BackgroundActionProgressInput = {
757
899
  percent: number;
758
900
  current?: number;
759
901
  total?: number;
760
902
  label?: string;
903
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
761
904
  } | {
762
905
  current: number;
763
906
  total: number;
764
907
  percent?: number;
765
908
  label?: string;
909
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
766
910
  };
767
911
  interface BackgroundActionTask {
768
912
  id: string;
769
913
  label: string;
914
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
770
915
  target?: BackgroundActionTarget;
771
916
  input?: unknown;
772
917
  status?: BackgroundActionTaskStatus;
773
918
  statusText?: string;
919
+ statusTextMessage?: MessageReference;
774
920
  result?: unknown;
775
921
  error?: BackgroundActionError | null;
776
922
  createdAt?: number;
@@ -803,6 +949,7 @@ type BackgroundActionTaskRunResult = {
803
949
  taskStatus?: "complete" | "skipped";
804
950
  result?: unknown;
805
951
  statusText?: string;
952
+ statusTextMessage?: MessageReference;
806
953
  } | unknown;
807
954
  interface BackgroundActionTaskRunOptions {
808
955
  statuses?: BackgroundActionTaskStatus[];
@@ -826,8 +973,10 @@ interface BackgroundActionInstance {
826
973
  actionId: string;
827
974
  target: BackgroundActionTarget;
828
975
  label: string;
976
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
829
977
  status: BackgroundActionStatus;
830
978
  statusText?: string;
979
+ statusTextMessage?: MessageReference;
831
980
  error?: BackgroundActionError | null;
832
981
  result?: unknown;
833
982
  resultsAvailable: boolean;
@@ -840,6 +989,8 @@ interface BackgroundActionInstance {
840
989
  cancelledAt?: number;
841
990
  }
842
991
  interface BackgroundActionSystemContext {
992
+ /** Local UI formatter. Never spread this context into worker transport. */
993
+ i18n?: Pick<EditorI18n, "resolveMessage" | "translate">;
843
994
  rootResource: Resource;
844
995
  currentCanvas?: BackgroundActionTarget;
845
996
  vault: Vault;
@@ -857,15 +1008,16 @@ interface BackgroundActionContext extends BackgroundActionSystemContext {
857
1008
  instance?: BackgroundActionInstance;
858
1009
  }
859
1010
  interface BackgroundActionLifecycle {
860
- setActionLabel(label: string): void;
861
- setActionStatus(status: BackgroundActionStatus, statusText?: string): void;
862
- setActionError(error: unknown, statusText?: string): void;
863
- appendActionLog(message: string, level?: BackgroundActionLogLevel, data?: unknown): void;
1011
+ setActionLabel(label: string, labelMessage?: MessageReference): void;
1012
+ setActionStatus(status: BackgroundActionStatus, statusText?: string, statusTextMessage?: MessageReference): void;
1013
+ setActionError(error: unknown, statusText?: string, statusTextMessage?: MessageReference): void;
1014
+ appendActionLog(message: string, level?: BackgroundActionLogLevel, data?: unknown, messageReference?: MessageReference): void;
864
1015
  setActionProgress(progress: BackgroundActionProgressInput | null): void;
865
1016
  setResult(result: unknown): void;
866
1017
  setResultsAvailable(available: boolean): void;
867
1018
  }
868
1019
  interface BackgroundActionRunContext extends BackgroundActionContext, BackgroundActionLifecycle {
1020
+ i18n: Pick<EditorI18n, "resolveMessage" | "translate">;
869
1021
  signal: AbortSignal;
870
1022
  prepareData?: unknown;
871
1023
  plan?: BackgroundActionPlan;
@@ -877,8 +1029,11 @@ interface BackgroundActionRenderContext extends BackgroundActionSystemContext {
877
1029
  interface BackgroundActionDefinition {
878
1030
  id: string;
879
1031
  label: string;
1032
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
880
1033
  summary?: string;
1034
+ summaryMessage?: import("@manifest-editor/i18n/core").MessageReference;
881
1035
  section?: string;
1036
+ sectionMessage?: MessageReference;
882
1037
  order?: number;
883
1038
  resourceTypes?: string[];
884
1039
  resumable?: boolean;
@@ -898,6 +1053,7 @@ interface AvailableBackgroundAction {
898
1053
  interface BackgroundActionGroup {
899
1054
  id: string;
900
1055
  label: string;
1056
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
901
1057
  target: BackgroundActionTarget;
902
1058
  actions: AvailableBackgroundAction[];
903
1059
  }
@@ -913,6 +1069,7 @@ type LoadedApp = Partial<LayoutProps> & {
913
1069
  default: {
914
1070
  id: string;
915
1071
  title: string;
1072
+ titleMessage?: import("@manifest-editor/i18n/core").MessageReference;
916
1073
  type?: "manifest" | "launcher";
917
1074
  project?: boolean;
918
1075
  projectType?: "Manifest" | "Collection";
@@ -931,17 +1088,21 @@ type MappedApp = {
931
1088
  type PresetTemplateConfigurationField = {
932
1089
  id: string;
933
1090
  label: string;
1091
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
934
1092
  type: "text" | "textarea" | "number" | "boolean" | "select";
935
1093
  defaultValue?: string | number | boolean;
936
1094
  options?: Array<{
937
1095
  label: string;
1096
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
938
1097
  value: string | number | boolean;
939
1098
  }>;
940
1099
  };
941
1100
  type PresetTemplateDefinition = {
942
1101
  id: string;
943
1102
  label: string;
1103
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
944
1104
  summary: string;
1105
+ summaryMessage?: import("@manifest-editor/i18n/core").MessageReference;
945
1106
  type: "slideshow" | "fullpage" | "scroll";
946
1107
  previewUrl: string;
947
1108
  thumbnailUrl: string;
@@ -950,6 +1111,7 @@ type PresetTemplateDefinition = {
950
1111
  type PresetPreviewAction = {
951
1112
  id: string;
952
1113
  label: string;
1114
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
953
1115
  status?: "available" | "configured" | "active";
954
1116
  disabled?: boolean;
955
1117
  onClick: () => void;
@@ -959,6 +1121,7 @@ type PresetPreviewOptions = {
959
1121
  actions?: PresetPreviewAction[];
960
1122
  };
961
1123
  type PresetOnboardingRenderContext = {
1124
+ i18n?: Pick<import("@manifest-editor/i18n/core").EditorI18n, "resolveMessage">;
962
1125
  templates: PresetTemplateDefinition[];
963
1126
  selectedTemplateId: string | null;
964
1127
  selectedTemplate: PresetTemplateDefinition | null;
@@ -966,6 +1129,7 @@ type PresetOnboardingRenderContext = {
966
1129
  dismiss: () => void;
967
1130
  };
968
1131
  type PresetPreviewButtonRenderContext = {
1132
+ i18n?: Pick<import("@manifest-editor/i18n/core").EditorI18n, "resolveMessage">;
969
1133
  downloadEnabled?: boolean;
970
1134
  fileName?: string;
971
1135
  preview?: PresetPreviewOptions;
@@ -976,14 +1140,20 @@ type PresetOnboardingDefinition = {
976
1140
  id: string;
977
1141
  mode: "global" | "per-resource";
978
1142
  title: string;
1143
+ titleMessage?: import("@manifest-editor/i18n/core").MessageReference;
979
1144
  summary?: string;
1145
+ summaryMessage?: import("@manifest-editor/i18n/core").MessageReference;
980
1146
  openLabel?: string;
1147
+ openLabelMessage?: import("@manifest-editor/i18n/core").MessageReference;
981
1148
  dismissLabel?: string;
1149
+ dismissLabelMessage?: import("@manifest-editor/i18n/core").MessageReference;
982
1150
  primaryLabel?: string;
1151
+ primaryLabelMessage?: import("@manifest-editor/i18n/core").MessageReference;
983
1152
  renderBody: (ctx: PresetOnboardingRenderContext) => ReactNode;
984
1153
  renderPreviewButton?: (ctx: PresetPreviewButtonRenderContext) => ReactNode;
985
1154
  };
986
1155
  type PresetDefinition = {
1156
+ localisation?: ShellLocalisation;
987
1157
  onboarding?: PresetOnboardingDefinition;
988
1158
  templates?: PresetTemplateDefinition[];
989
1159
  /** Use `replace` with `templates: leedsTemplates` to replace an inherited list. */
@@ -1082,6 +1252,7 @@ declare const AppHeader: import("react").MemoExoticComponent<(props: AppHeaderPr
1082
1252
  //#region src/AppMenu/AppMenuContext.d.ts
1083
1253
  type MenuItem$1 = {
1084
1254
  label: string;
1255
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
1085
1256
  onClick?: () => void;
1086
1257
  active?: boolean;
1087
1258
  };
@@ -1103,6 +1274,8 @@ declare function AppMenuProvider({ children, menu }: {
1103
1274
  //#endregion
1104
1275
  //#region src/AtlasStore/AtlasStoreProvider.d.ts
1105
1276
  declare function useAtlasStore(): StoreApi<AtlasStore>;
1277
+ /** polygon-editor's setShape leaves gesture previews behind when a request changes. */
1278
+ declare function AnnotationRequestCleanup(): null;
1106
1279
  //#endregion
1107
1280
  //#region src/AtlasStore/polygon-to-bounding-box.d.ts
1108
1281
  declare function polygonToBoundingBox(polygon: InputShape | null): {
@@ -1123,6 +1296,8 @@ declare function getImageDimensions(url: string): Promise<{
1123
1296
  } | null>;
1124
1297
  //#endregion
1125
1298
  //#region src/BackgroundTasks/BackgroundActions.d.ts
1299
+ /** Keeps a running action bound to this editor even when its runtime resources are replaced. */
1300
+ declare function useBackgroundActionFormatter(): NonNullable<BackgroundActionSystemContext["i18n"]>;
1126
1301
  declare function useAvailableBackgroundActions(): BackgroundActionGroup[];
1127
1302
  declare function BackgroundActionsMount(): import("react").JSX.Element;
1128
1303
  declare function BackgroundActionToasts(): null;
@@ -1147,10 +1322,10 @@ interface BackgroundActionsStore {
1147
1322
  startAction(instanceKey: string, definition: BackgroundActionDefinition, target: BackgroundActionTarget, controller?: AbortController): void;
1148
1323
  resumeAction(instanceKey: string, controller: AbortController): void;
1149
1324
  cancelAction(instanceKey: string): void;
1150
- setActionLabel(instanceKey: string, label: string): void;
1151
- setActionStatus(instanceKey: string, status: BackgroundActionStatus, statusText?: string): void;
1152
- setActionError(instanceKey: string, error: unknown, statusText?: string): void;
1153
- appendActionLog(instanceKey: string, message: string, level?: BackgroundActionLogLevel, data?: unknown): void;
1325
+ setActionLabel(instanceKey: string, label: string, labelMessage?: MessageReference): void;
1326
+ setActionStatus(instanceKey: string, status: BackgroundActionStatus, statusText?: string, statusTextMessage?: MessageReference): void;
1327
+ setActionError(instanceKey: string, error: unknown, statusText?: string, statusTextMessage?: MessageReference): void;
1328
+ appendActionLog(instanceKey: string, message: string, level?: BackgroundActionLogLevel, data?: unknown, messageReference?: MessageReference): void;
1154
1329
  setActionProgress(instanceKey: string, progress: BackgroundActionProgressInput | null): void;
1155
1330
  setResult(instanceKey: string, result: unknown): void;
1156
1331
  setResultsAvailable(instanceKey: string, available: boolean): void;
@@ -1251,6 +1426,7 @@ declare function IIIFOptions(): import("react").JSX.Element;
1251
1426
  type ContextMenuItem = {
1252
1427
  id: string;
1253
1428
  label: string;
1429
+ labelMessage?: import("@manifest-editor/i18n/core").MessageReference;
1254
1430
  onAction: (options: {
1255
1431
  position: {
1256
1432
  x: number;
@@ -1413,46 +1589,24 @@ declare function useMatchMedia(queries: IMediaQuery, defaultValues?: IMatchedMed
1413
1589
  declare function useSaveVault(vault: Vault$1, saveChanges: () => void, saveInterval: number, enabled?: boolean): void;
1414
1590
  //#endregion
1415
1591
  //#region src/hooks/use-svg-tools.d.ts
1416
- declare function useSvgTools(): {
1417
- currentTool: import("polygon-editor").ValidTools;
1418
- selectedStamp: import("polygon-editor").InputShape | null;
1419
- draw: {
1420
- active: boolean;
1421
- enable: () => void;
1422
- };
1423
- polygon: {
1424
- active: boolean;
1425
- enable: () => void;
1426
- };
1427
- line: {
1428
- active: boolean;
1429
- enable: () => void;
1430
- };
1431
- lineBox: {
1432
- active: boolean;
1433
- enable: () => void;
1434
- };
1435
- square: {
1436
- active: boolean;
1437
- enable: () => void;
1438
- };
1439
- triangle: {
1440
- active: boolean;
1441
- enable: () => void;
1442
- };
1443
- hexagon: {
1444
- active: boolean;
1445
- enable: () => void;
1446
- };
1447
- circle: {
1448
- active: boolean;
1449
- enable: () => void;
1450
- };
1451
- remove: {
1452
- active: boolean;
1453
- enable: () => void;
1454
- };
1455
- };
1592
+ type SvgTool = {
1593
+ active: boolean;
1594
+ enable: () => void;
1595
+ };
1596
+ interface SvgTools {
1597
+ currentTool: AtlasStore["polygonState"]["currentTool"];
1598
+ selectedStamp: AtlasStore["polygonState"]["selectedStamp"];
1599
+ draw: SvgTool;
1600
+ polygon: SvgTool;
1601
+ line: SvgTool;
1602
+ lineBox: SvgTool;
1603
+ square: SvgTool;
1604
+ triangle: SvgTool;
1605
+ hexagon: SvgTool;
1606
+ circle: SvgTool;
1607
+ remove: SvgTool;
1608
+ }
1609
+ declare function useSvgTools(): SvgTools;
1456
1610
  //#endregion
1457
1611
  //#region src/Layout/components/HandleControls.d.ts
1458
1612
  declare const HandleContainer: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
@@ -1601,6 +1755,8 @@ declare function useResolvedPluginApp(definition: MappedApp, appId: string): Map
1601
1755
  declare function PluginConfigBridge({ config }: {
1602
1756
  config?: Partial<Config>;
1603
1757
  }): null;
1758
+ /** Runtime owns collision diagnostics; failed atomic registrations remain retryable. */
1759
+ declare function PluginI18nBridge(): null;
1604
1760
  //#endregion
1605
1761
  //#region src/PluginContext/PluginContext.helpers.d.ts
1606
1762
  declare function getEmptyPluginState(): PluginStoreSnapshot;
@@ -1620,7 +1776,10 @@ declare function normalisePlugin(input: PluginInput): MappedPlugin;
1620
1776
  declare function normalisePlugins(plugins?: PluginInput[]): MappedPlugin[];
1621
1777
  declare function mergeProviderPlugins(previous: MappedPlugin[], next: MappedPlugin[]): MappedPlugin[];
1622
1778
  declare function isPluginCompatible(plugin: MappedPlugin, app?: PluginHostApp | null, appId?: string | null): boolean;
1623
- 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;
1779
+ declare function getPluginCompatibilityReason(plugin: MappedPlugin, app?: PluginHostApp | null, appId?: string | null, messages?: {
1780
+ app: string;
1781
+ project: string;
1782
+ }): string | null;
1624
1783
  declare function isPluginSelected(plugin: MappedPlugin, state: PluginStoreSnapshot, appId?: string | null): boolean;
1625
1784
  declare function getPluginSelectionSource(plugin: MappedPlugin, state: PluginStoreSnapshot, appId?: string | null): PluginConfigScope | "provider" | "default";
1626
1785
  declare function getEnabledPluginsForApp(state: PluginStoreSnapshot, app?: PluginHostApp | null, appId?: string | null): MappedPlugin[];
@@ -1657,7 +1816,7 @@ declare function PreviewButton({ downloadEnabled, fileName, preview }: {
1657
1816
  }): import("react").JSX.Element;
1658
1817
  //#endregion
1659
1818
  //#region src/PreviewButton/PreviewButton.styles.d.ts
1660
- declare const ButtonContainer: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
1819
+ declare const ButtonContainer: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("styled-components/dist/types").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>>;
1661
1820
  declare const ButtonMain: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<any, never>> | (import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<any, never>> & Omit<any, keyof import("react").Component<any, {}, any>>);
1662
1821
  declare const ButtonChange: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<any, {
1663
1822
  $open: boolean;
@@ -1790,7 +1949,8 @@ declare function ResourceEditingProvider({ resource, children }: {
1790
1949
  }): import("react").JSX.Element;
1791
1950
  //#endregion
1792
1951
  //#region src/ShellContext/ShellContext.d.ts
1793
- declare function ShellProvider({ config, saveConfig, children, theme, previews, resource, editing, backgroundActionPersistence }: {
1952
+ declare function ShellProvider({ config, saveConfig, children, theme, previews, resource, editing, backgroundActionPersistence, localisation }: {
1953
+ localisation?: ShellLocalisation;
1794
1954
  resource: Resource;
1795
1955
  config?: Partial<Config>;
1796
1956
  saveConfig?: (config: Partial<Config>) => void;
@@ -1817,7 +1977,9 @@ type SpecificationRuleBase = {
1817
1977
  id?: string;
1818
1978
  label?: string;
1819
1979
  description?: string;
1980
+ descriptionMessage?: MessageReference;
1820
1981
  message?: string;
1982
+ messageReference?: MessageReference;
1821
1983
  };
1822
1984
  type SpecificationPropertyRuleBase = SpecificationRuleBase & {
1823
1985
  entityType: SpecificationEntityType;
@@ -1869,7 +2031,9 @@ type SpecificationRule = DisallowPropertySpecificationRule | RequireNonEmptySpec
1869
2031
  type ManifestEditorSpecification = {
1870
2032
  id: string;
1871
2033
  label: string;
2034
+ labelMessage?: MessageReference;
1872
2035
  description?: string;
2036
+ descriptionMessage?: MessageReference;
1873
2037
  version?: string;
1874
2038
  terminology?: {
1875
2039
  entities?: Partial<Record<SpecificationEntityType, string>>;
@@ -1877,6 +2041,7 @@ type ManifestEditorSpecification = {
1877
2041
  entityType?: SpecificationEntityType;
1878
2042
  path: SpecificationPropertyPath;
1879
2043
  label: string;
2044
+ labelMessage?: MessageReference;
1880
2045
  }>;
1881
2046
  };
1882
2047
  rules: SpecificationRule[];
@@ -1900,6 +2065,7 @@ type SpecificationReportItem = {
1900
2065
  status: SpecificationReportStatus;
1901
2066
  displayLabel: string;
1902
2067
  message: string;
2068
+ messageReference?: MessageReference;
1903
2069
  expected?: SpecificationJsonValue | SpecificationTextValue | string[];
1904
2070
  actual?: unknown;
1905
2071
  editorTarget?: SpecificationEditorTarget;
@@ -1944,9 +2110,9 @@ declare function setValueAtPath(resource: any, path: SpecificationPropertyPath |
1944
2110
  declare function hasMeaningfulValue(value: unknown): boolean;
1945
2111
  declare function normaliseJsonValue(value: unknown): unknown;
1946
2112
  declare function specificationJsonEquals(a: unknown, b: unknown): boolean;
1947
- declare function getTerminologyLabel(specifications: ManifestEditorSpecification[] | undefined, entityType: SpecificationEntityType | string | undefined, path: SpecificationPropertyPath | string | undefined, fallback?: string): string;
1948
- declare function getPropertyPolicy(specifications: ManifestEditorSpecification[] | undefined, resource: Reference | null | undefined, path: SpecificationPropertyPath | string): SpecificationPropertyPolicy;
1949
- declare function evaluateSpecifications(specifications: ManifestEditorSpecification[] | undefined, vault: Vault, rootRef: Reference): SpecificationReport;
2113
+ declare function getTerminologyLabel(specifications: ManifestEditorSpecification[] | undefined, entityType: SpecificationEntityType | string | undefined, path: SpecificationPropertyPath | string | undefined, fallback?: string, i18n?: Pick<EditorI18n, "resolveMessage" | "translate">): string;
2114
+ declare function getPropertyPolicy(specifications: ManifestEditorSpecification[] | undefined, resource: Reference | null | undefined, path: SpecificationPropertyPath | string, i18n?: Pick<EditorI18n, "resolveMessage" | "translate">): SpecificationPropertyPolicy;
2115
+ declare function evaluateSpecifications(specifications: ManifestEditorSpecification[] | undefined, vault: Vault, rootRef: Reference, i18n?: Pick<EditorI18n, "resolveMessage" | "translate">): SpecificationReport;
1950
2116
  declare function collectSpecificationResources(vault: Vault, rootRef: Reference): CollectedResource[];
1951
2117
  //#endregion
1952
2118
  //#region src/TaskBridge/TaskBridge.d.ts
@@ -2009,5 +2175,35 @@ interface UniversalCopyPasteProps<T> {
2009
2175
  //#region src/Universal/UniversalCopyPaste.d.ts
2010
2176
  declare function UniversalCopyTarget<T>({ as, reference: _ref, onReference, onLink, onAnalysis, onDropReference: _onDropReference, onDropLink: _onDropLink, onDropAnalysis: _onDropAnalysis, onPasteReference: _onPasteReference, onPasteLink: _onPasteLink, onPasteAnalysis: _onPasteAnalysis, ...props }: Partial<HTMLAttributes<HTMLElement>> & UniversalCopyPasteProps<T> & T): import("react").JSX.Element;
2011
2177
  //#endregion
2012
- 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, ButtonChange, ButtonContainer, ButtonEmpty, ButtonMain, CANVAS_PROGRESS_META_NAMESPACE, CANVAS_PROGRESS_STATUS_META_KEY, CanvasEditorDefinition, CanvasProgressActiveStatus, CanvasProgressResource, CanvasProgressStatus, CanvasProgressStatusInput, CanvasWithImageServiceSpecificationRule, Config, ConfigEditor, ConfigProvider, ConfigReactContext, ContextMenuItem, ContextMenuProvider, ContextMenuReactContext, ContextMenuRequest, CreatorInitialData, CreatorSettings, DisallowPropertySpecificationRule, EditableResource, EditingStack, EditingStackActionCreators, EditingStackActions, EditingStackContext, EditingStackState, EditorConfig, EditorDefinition, EventEmitterProvider, ExportPanel, ExportPanelProps, FLAG_TAG, FixedValueSpecificationRule, GetAvailableBackgroundActionGroupsOptions, HOMEPAGE_COLLECTION, HandleContainer, HandleControls, IIIFOptions, InlineEditingStack, Layout, LayoutActions, LayoutActionsReactContext, LayoutContext, LayoutFunction, LayoutModeReactContext, LayoutPanel, LayoutPanelContext, LayoutPanelFocusedModeContext, LayoutPanelSupportContext, LayoutProps, LayoutProviderProps, LayoutRenderProps, LayoutState, LayoutStateReactContext, LazyPluginModule, LoadedApp, ManifestEditorCanvasProgressApi, ManifestEditorCanvasProgressOverlay, ManifestEditorSpecification, ManifestEditorTag, ManifestEditorTagBadge, ManifestEditorTagGroup, ManifestEditorTagGroupRow, ManifestEditorTagIcon, ManifestEditorTagOverlay, ManifestEditorTagResource, ManifestEditorTagsApi, ManifestPaginationNavigation, ManifestPaginationNavigationProps, MappedApp, MappedPlugin, MenuContainer, MenuItem, MenuItemClose, MenuItemLabel, MenuItemStatus, MenuPositions, MessagePortClientVault, MetadataTemplateSpecificationRule, ModularPanel, ModularPanelHeader, ModulePanelButton, MultiAppContext, MultiAppProvider, PanelActionType, PanelActions, PanelError, PanelState, PinnablePanelActions, PinnablePanelState, PinnedLayoutPanel, PluginAppConfig, PluginConfigBridge, PluginConfigScope, PluginGlobalConfigReactContext, PluginHostApp, PluginInput, PluginManager, PluginMetadata, PluginModule, PluginProvider, PluginReactContext, PluginRuntimeApi, PluginSettingsDefinition, PluginSettingsField, PluginSettingsFieldOption, PluginSettingsRecord, PluginSettingsRenderContext, PluginSettingsValue, PluginStore, PluginStoreSnapshot, PresetDefinition, PresetOnboarding, PresetOnboardingButton, PresetOnboardingDefinition, PresetOnboardingRenderContext, PresetPreviewAction, PresetPreviewButton, PresetPreviewButtonRenderContext, PresetPreviewOptions, PresetTemplateConfigurationField, PresetTemplateDefinition, Preview, PreviewActions, PreviewActionsType, PreviewButton, PreviewConfiguration, PreviewContext, PreviewHandler, PreviewProvider, PreviewState, PreviewVaultBoundary, PreviewVaultContext, PreviewWindowOptions, PreviewWindowProvider, 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, getPresetOnboardingDismissalKey, getPropertyPolicy, getResourceTag, getResourceTagGroups, getResourceTags, getResourceTagsFromState, getSelectedPresetTemplate, getSupportedPanelFallback, getTerminologyLabel, getValueAtPath, hasMeaningfulValue, hasPreviewOption, hasResourceTag, isLazyPlugin, isMappedPlugin, isPinnableState, isPluginCompatible, isPluginSelected, layoutReducer, mapApp, mapLazyPlugin, mapPlugin, mergeBackgroundActionDefinitions, mergeConfig, mergePartialConfig, mergePresetConfig, mergeProviderPlugins, 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, useOpenPresetOnboarding, useOptionalLocalStorage, useOptionalPluginStoreApi, useOptionalResource, usePanelActions, usePluginActions, usePluginConfigApi, usePluginRuntimeApi, usePluginSettings, usePluginStoreApi, usePlugins, usePresetTemplateSelection, usePreviewContext, usePreviewHistory, usePreviewVault, usePreviewWindow, usePreviews, useResolvedPluginApp, useResource, useResourceContextMenuItems, useResourceTagActions, useResourceTags, useSaveConfig, useSaveVault, useSetCustomTitle, useSpecificationPropertyPolicy, useSpecificationReport, useSpecificationTerminology, useSpecifications, useSvgTools, useTask, useTaskDispatch, useTaskEvent, useTaskRunner, useTemporaryHighlight, useToasts };
2178
+ //#region src/Notebook/ProjectNotebook.d.ts
2179
+ declare const NOTEBOOK_PANEL_ID = "@manifest-editor/notebook";
2180
+ declare function NotebookIcon({ className }: {
2181
+ className?: string;
2182
+ }): import("react").JSX.Element;
2183
+ declare function useProjectNotebook(): {
2184
+ notebook: NotebookStore;
2185
+ projectId: string;
2186
+ enabled: boolean;
2187
+ };
2188
+ /** Mounted once by the shell, so host callbacks run once for each edit. */
2189
+ declare function ProjectNotebookSync(): null;
2190
+ declare function useNotebookBrowserPlugins(): NonNullable<IIIFBrowserProps["plugins"]>;
2191
+ declare function ProjectNotebookHeader(): import("react").JSX.Element | null;
2192
+ declare function ProjectNotebookButton(): import("react").JSX.Element | null;
2193
+ declare function ProjectNotebookPanel(): import("react").JSX.Element;
2194
+ declare function NotebookCreatorSources({ onSelect, isDisabled, onOpenNotebook }: {
2195
+ onSelect: (url: string) => void;
2196
+ isDisabled: boolean;
2197
+ onOpenNotebook?: () => void;
2198
+ }): import("react").JSX.Element | null;
2199
+ //#endregion
2200
+ //#region src/BackgroundTasks/BackgroundActionMessages.d.ts
2201
+ type Formatter = Pick<EditorI18n, "resolveMessage" | "translate">;
2202
+ /** Pure fallback for task/Node consumers; React supplies its editor-bound formatter. */
2203
+ declare function backgroundActionFormatter(i18n?: Formatter): Formatter;
2204
+ declare function backgroundActionLabel(definition: BackgroundActionDefinition, instance: BackgroundActionInstance | undefined, i18n: Formatter): string;
2205
+ declare function backgroundActionStatus(instance: BackgroundActionInstance | undefined, i18n: Formatter): string;
2206
+ declare function shellTaskMessage(key: string, defaultValue: string): MessageReference;
2207
+ //#endregion
2208
+ export { AnnotationPanel, AnnotationRequestCleanup, 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, ButtonChange, ButtonContainer, ButtonEmpty, ButtonMain, CANVAS_PROGRESS_META_NAMESPACE, CANVAS_PROGRESS_STATUS_META_KEY, CanvasEditorDefinition, CanvasProgressActiveStatus, CanvasProgressResource, CanvasProgressStatus, CanvasProgressStatusInput, CanvasWithImageServiceSpecificationRule, Config, ConfigEditor, ConfigProvider, ConfigReactContext, ContextMenuItem, ContextMenuProvider, ContextMenuReactContext, ContextMenuRequest, CreatorInitialData, CreatorSettings, DisallowPropertySpecificationRule, EditableResource, EditingStack, EditingStackActionCreators, EditingStackActions, EditingStackContext, EditingStackState, EditorConfig, EditorDefinition, EventEmitterProvider, ExportPanel, ExportPanelProps, FLAG_TAG, FixedValueSpecificationRule, GetAvailableBackgroundActionGroupsOptions, HOMEPAGE_COLLECTION, HandleContainer, HandleControls, IIIFOptions, InlineEditingStack, Layout, LayoutActions, LayoutActionsReactContext, LayoutContext, LayoutFunction, LayoutModeReactContext, LayoutPanel, LayoutPanelContext, LayoutPanelFocusedModeContext, LayoutPanelSupportContext, LayoutProps, LayoutProviderProps, LayoutRenderProps, LayoutState, LayoutStateReactContext, LazyPluginModule, LoadedApp, ManifestEditorCanvasProgressApi, ManifestEditorCanvasProgressOverlay, ManifestEditorSpecification, ManifestEditorTag, ManifestEditorTagBadge, ManifestEditorTagGroup, ManifestEditorTagGroupRow, ManifestEditorTagIcon, ManifestEditorTagOverlay, ManifestEditorTagResource, ManifestEditorTagsApi, ManifestPaginationNavigation, ManifestPaginationNavigationProps, MappedApp, MappedPlugin, MenuContainer, MenuItem, MenuItemClose, MenuItemLabel, MenuItemStatus, MenuPositions, MessagePortClientVault, MetadataTemplateSpecificationRule, ModularPanel, ModularPanelHeader, ModulePanelButton, MultiAppContext, MultiAppProvider, NOTEBOOK_PANEL_ID, NotebookCreatorSources, NotebookIcon, NotebookSource, PanelActionType, PanelActions, PanelError, PanelState, PinnablePanelActions, PinnablePanelState, PinnedLayoutPanel, PluginAppConfig, PluginConfigBridge, PluginConfigScope, PluginGlobalConfigReactContext, PluginHostApp, PluginI18nBridge, PluginInput, PluginManager, PluginMetadata, PluginModule, PluginProvider, PluginReactContext, PluginRuntimeApi, PluginSettingsDefinition, PluginSettingsField, PluginSettingsFieldOption, PluginSettingsRecord, PluginSettingsRenderContext, PluginSettingsValue, PluginStore, PluginStoreSnapshot, PresetDefinition, PresetOnboarding, PresetOnboardingButton, PresetOnboardingDefinition, PresetOnboardingRenderContext, PresetPreviewAction, PresetPreviewButton, PresetPreviewButtonRenderContext, PresetPreviewOptions, PresetTemplateConfigurationField, PresetTemplateDefinition, Preview, PreviewActions, PreviewActionsType, PreviewButton, PreviewConfiguration, PreviewContext, PreviewHandler, PreviewProvider, PreviewState, PreviewVaultBoundary, PreviewVaultContext, PreviewWindowOptions, PreviewWindowProvider, PrimeAppReactContext, ProjectNotebookButton, ProjectNotebookConfig, ProjectNotebookHeader, ProjectNotebookPanel, ProjectNotebookSync, ReactEmitterContext, type RemoteVaultAction, type RemoteVaultClientMessage, RequireNonEmptySpecificationRule, RequiredStatementSpecificationRule, Resource, ResourceDefinition, ResourceEditingProvider, ResourceEditingReactContext, RunBackgroundActionOptions, SaveConfigReactContext, ShellDisplayMessages, ShellI18nBoundary, ShellLocalisation, ShellProvider, ShellUiI18nConfig, SpecificationEditorTarget, SpecificationEntityType, SpecificationJsonValue, SpecificationPropertyPath, SpecificationPropertyPolicy, SpecificationPropertyRuleBase, SpecificationProvider, SpecificationReport, SpecificationReportItem, SpecificationReportStatus, SpecificationRule, SpecificationRuleBase, SpecificationTextValue, SvgTools, TAGS_META_KEY, TAGS_META_NAMESPACE, TaskBridge, ThumbnailFromBodyServiceSpecificationRule, ToastApi, ToastContent, ToastProvider, ToastVariant, UniversalCopyPasteProps, UniversalCopyTarget, UploadBackendConfig, ValidRightsSpecificationRule, VaultBridgeRegistry, addResourceTag, analyse, analyseJson, applyPlugins, backgroundActionFormatter, backgroundActionLabel, backgroundActionStatus, baseCreator, baseEditor, clearCanvasProgressStatus, clearCanvasProgressStatuses, collectSpecificationResources, copyToClipboard, createActionIdentity, createBackgroundActionsStore, createDownload, createIframeVaultBridge, createLocalForageBackgroundActionPersistence, createManifestEditorCanvasProgressApi, createManifestEditorTagsApi, createPluginRuntimeApi, createPluginStore, createPreviewVault, createTrackingCanvasProgressApi, detectMedia, disablePluginInConfig, editBasedOnResource, enablePluginAndDependenciesInConfig, enablePluginInConfig, ensureProjectNote, evaluateSpecifications, extendApp, filterSupportedPanels, getAvailableBackgroundActionGroups, getBackgroundActionInstanceKey, getCanvasProgressStatus, getCanvasProgressStatusFromState, getDefaultLayoutState, getDefaultPanelState, getEffectivePluginSettings, getEmptyPluginState, getEnabledPluginsForApp, getFormat, getImageDimensions, getManifestNomalized, getPluginCompatibilityReason, getPluginDefaultSettings, getPluginSelectionSource, getPluginSettingsFromConfig, getPresetOnboardingDismissalKey, getProjectNotebook, getPropertyPolicy, getResourceTag, getResourceTagGroups, getResourceTags, getResourceTagsFromState, getSelectedPresetTemplate, getSupportedPanelFallback, getTerminologyLabel, getValueAtPath, hasMeaningfulValue, hasPreviewOption, hasResourceTag, isLazyPlugin, isMappedPlugin, isPinnableState, isPluginCompatible, isPluginSelected, layoutReducer, mapApp, mapLazyPlugin, mapPlugin, mergeBackgroundActionDefinitions, mergeConfig, mergeLocalisation, mergePartialConfig, mergePresetConfig, mergeProviderPlugins, mergeUiI18n, normaliseBackgroundActionError, normaliseJsonValue, normalisePlugin, normalisePluginAppConfig, normalisePluginAppsConfig, normalisePlugins, normaliseSpecificationPath, notebookResourceInput, panelIds, panelSizing, parseNotebookMarkdown, pluginAppConfigEquals, polygonToBoundingBox, projectNotebookSources, randomId, removeResourceTag, renderHelper, resetPluginInConfig, resetPluginSettingsInConfig, runBackgroundAction, seedProjectNotebook, setCanvasProgressStatus, setCanvasProgressStatuses, setPluginSettingsInConfig, setResourceTags, setValueAtPath, shellTaskMessage, shellUiI18nSchema, sortBackgroundActionDefinitions, specificationJsonEquals, specificationPathEquals, toggleResourceTag, useAnnotationCreatorState, useAnnotationPageEditor, useApp, useAppInstance, useAppMenu, useAppMenuItem, useAppResource, useAppResourceInstance, useAppState, useApps, useAtlasStore, useAvailableBackgroundActions, useAvailableLayouts, useBackgroundActionFormatter, 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, useNotebookBrowserPlugins, useOpenPresetOnboarding, useOptionalLocalStorage, useOptionalPluginStoreApi, useOptionalResource, usePanelActions, usePluginActions, usePluginConfigApi, usePluginRuntimeApi, usePluginSettings, usePluginStoreApi, usePlugins, usePresetTemplateSelection, usePreviewContext, usePreviewHistory, usePreviewVault, usePreviewWindow, usePreviews, useProjectNotebook, useResolvedPluginApp, useResource, useResourceContextMenuItems, useResourceTagActions, useResourceTags, useSaveConfig, useSaveVault, useSetCustomTitle, useSpecificationPropertyPolicy, useSpecificationReport, useSpecificationTerminology, useSpecifications, useSvgTools, useTask, useTaskDispatch, useTaskEvent, useTaskRunner, useTemporaryHighlight, useToasts, validateShellUiI18n };
2013
2209
  //# sourceMappingURL=index.d.cts.map