ooxml-core 1.22.0 → 1.24.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.
Files changed (126) hide show
  1. package/README.md +7 -2
  2. package/dist/automation/index.cjs +559 -339
  3. package/dist/automation/index.d.ts +1 -0
  4. package/dist/automation/index.d.ts.map +1 -1
  5. package/dist/automation/index.mjs +558 -340
  6. package/dist/automation/live.d.ts +89 -0
  7. package/dist/automation/live.d.ts.map +1 -0
  8. package/dist/collab/embedding.d.ts +7 -0
  9. package/dist/collab/embedding.d.ts.map +1 -1
  10. package/dist/collab/index.cjs +189 -0
  11. package/dist/collab/index.d.ts +2 -0
  12. package/dist/collab/index.d.ts.map +1 -1
  13. package/dist/collab/index.mjs +186 -1
  14. package/dist/collab/write-back-lifecycle.d.ts +33 -0
  15. package/dist/collab/write-back-lifecycle.d.ts.map +1 -0
  16. package/dist/collab/write-back.d.ts +75 -0
  17. package/dist/collab/write-back.d.ts.map +1 -0
  18. package/dist/docx/ui/customization.d.ts +30 -0
  19. package/dist/docx/ui/customization.d.ts.map +1 -0
  20. package/dist/docx/ui/index.cjs +51 -0
  21. package/dist/docx/ui/index.d.ts +1 -0
  22. package/dist/docx/ui/index.d.ts.map +1 -1
  23. package/dist/docx/ui/index.mjs +46 -1
  24. package/dist/embedding/backstage.d.ts +48 -0
  25. package/dist/embedding/backstage.d.ts.map +1 -0
  26. package/dist/embedding/capabilities.d.ts +60 -0
  27. package/dist/embedding/capabilities.d.ts.map +1 -0
  28. package/dist/embedding/customization.d.ts +32 -0
  29. package/dist/embedding/customization.d.ts.map +1 -0
  30. package/dist/embedding/index.cjs +229 -0
  31. package/dist/embedding/index.d.ts +7 -0
  32. package/dist/embedding/index.d.ts.map +1 -0
  33. package/dist/embedding/index.mjs +204 -0
  34. package/dist/embedding/menu-commands.d.ts +66 -0
  35. package/dist/embedding/menu-commands.d.ts.map +1 -0
  36. package/dist/embedding/regions.d.ts +58 -0
  37. package/dist/embedding/regions.d.ts.map +1 -0
  38. package/dist/embedding/storage.d.ts +111 -0
  39. package/dist/embedding/storage.d.ts.map +1 -0
  40. package/dist/index.cjs +233 -0
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.mjs +233 -1
  44. package/dist/visio/collab/baseline.d.ts +36 -0
  45. package/dist/visio/collab/baseline.d.ts.map +1 -0
  46. package/dist/visio/collab/bind.d.ts +20 -2
  47. package/dist/visio/collab/bind.d.ts.map +1 -1
  48. package/dist/visio/collab/compose-lists.d.ts +27 -0
  49. package/dist/visio/collab/compose-lists.d.ts.map +1 -0
  50. package/dist/visio/collab/compose.d.ts +6 -2
  51. package/dist/visio/collab/compose.d.ts.map +1 -1
  52. package/dist/visio/collab/fixups.d.ts +5 -0
  53. package/dist/visio/collab/fixups.d.ts.map +1 -0
  54. package/dist/visio/collab/index.cjs +1603 -361
  55. package/dist/visio/collab/index.d.ts +3 -2
  56. package/dist/visio/collab/index.d.ts.map +1 -1
  57. package/dist/visio/collab/index.mjs +1596 -362
  58. package/dist/visio/collab/keys.d.ts +32 -1
  59. package/dist/visio/collab/keys.d.ts.map +1 -1
  60. package/dist/visio/collab/package.d.ts +22 -1
  61. package/dist/visio/collab/package.d.ts.map +1 -1
  62. package/dist/visio/collab/pieces.d.ts +41 -0
  63. package/dist/visio/collab/pieces.d.ts.map +1 -0
  64. package/dist/visio/collab/read-ids.d.ts +35 -0
  65. package/dist/visio/collab/read-ids.d.ts.map +1 -0
  66. package/dist/visio/collab/read-parts.d.ts +34 -0
  67. package/dist/visio/collab/read-parts.d.ts.map +1 -0
  68. package/dist/visio/collab/read-shapes.d.ts +34 -0
  69. package/dist/visio/collab/read-shapes.d.ts.map +1 -0
  70. package/dist/visio/collab/read-util.d.ts +20 -0
  71. package/dist/visio/collab/read-util.d.ts.map +1 -0
  72. package/dist/visio/collab/read.d.ts +40 -19
  73. package/dist/visio/collab/read.d.ts.map +1 -1
  74. package/dist/visio/collab/schema.d.ts +55 -1
  75. package/dist/visio/collab/schema.d.ts.map +1 -1
  76. package/dist/visio/collab/snapshot-contents.d.ts +9 -0
  77. package/dist/visio/collab/snapshot-contents.d.ts.map +1 -0
  78. package/dist/visio/collab/snapshot-io.d.ts +26 -0
  79. package/dist/visio/collab/snapshot-io.d.ts.map +1 -0
  80. package/dist/visio/collab/snapshot-parts.d.ts +14 -0
  81. package/dist/visio/collab/snapshot-parts.d.ts.map +1 -0
  82. package/dist/visio/collab/snapshot.d.ts +31 -24
  83. package/dist/visio/collab/snapshot.d.ts.map +1 -1
  84. package/dist/visio/collab/write-parts.d.ts +8 -0
  85. package/dist/visio/collab/write-parts.d.ts.map +1 -0
  86. package/dist/visio/collab/write-shapes.d.ts +30 -0
  87. package/dist/visio/collab/write-shapes.d.ts.map +1 -0
  88. package/dist/visio/collab/write.d.ts +4 -16
  89. package/dist/visio/collab/write.d.ts.map +1 -1
  90. package/dist/visio/collab/zip-store.d.ts +4 -0
  91. package/dist/visio/collab/zip-store.d.ts.map +1 -0
  92. package/dist/visio/document-level.d.ts +57 -0
  93. package/dist/visio/document-level.d.ts.map +1 -0
  94. package/dist/visio/index.cjs +485 -333
  95. package/dist/visio/index.d.ts +2 -0
  96. package/dist/visio/index.d.ts.map +1 -1
  97. package/dist/visio/index.mjs +484 -334
  98. package/dist/visio/layers.d.ts +3 -0
  99. package/dist/visio/layers.d.ts.map +1 -1
  100. package/dist/visio/package.d.ts +9 -0
  101. package/dist/visio/package.d.ts.map +1 -1
  102. package/dist/visio/parse-incremental.d.ts +16 -0
  103. package/dist/visio/parse-incremental.d.ts.map +1 -0
  104. package/dist/visio/parser.d.ts +14 -0
  105. package/dist/visio/parser.d.ts.map +1 -1
  106. package/dist/visio/shape-metadata.d.ts +3 -0
  107. package/dist/visio/shape-metadata.d.ts.map +1 -1
  108. package/dist/visio/ui/collab-options.d.ts +10 -5
  109. package/dist/visio/ui/collab-options.d.ts.map +1 -1
  110. package/dist/visio/ui/contract.d.ts +27 -2
  111. package/dist/visio/ui/contract.d.ts.map +1 -1
  112. package/dist/visio/ui/customization.d.ts +46 -0
  113. package/dist/visio/ui/customization.d.ts.map +1 -0
  114. package/dist/visio/ui/index.cjs +460 -320
  115. package/dist/visio/ui/index.d.ts +1 -0
  116. package/dist/visio/ui/index.d.ts.map +1 -1
  117. package/dist/visio/ui/index.mjs +458 -321
  118. package/dist/xlsx/ui/commands.d.ts +2 -0
  119. package/dist/xlsx/ui/commands.d.ts.map +1 -1
  120. package/dist/xlsx/ui/customization.d.ts +49 -0
  121. package/dist/xlsx/ui/customization.d.ts.map +1 -0
  122. package/dist/xlsx/ui/index.cjs +39 -1
  123. package/dist/xlsx/ui/index.d.ts +1 -0
  124. package/dist/xlsx/ui/index.d.ts.map +1 -1
  125. package/dist/xlsx/ui/index.mjs +37 -2
  126. package/package.json +6 -1
@@ -4,6 +4,9 @@ import { type Resources } from './style.js';
4
4
  export interface LayerBudget {
5
5
  consumeCharacters(count: number): void;
6
6
  consumeMemberships(count: number): void;
7
+ /** What has been consumed so far, to be put back with {@link restore}. */
8
+ state(): [memberships: number, characters: number];
9
+ restore(state: readonly [number, number]): void;
7
10
  }
8
11
  /** Share across pages and inherited instances to bound normalization work and arrays. */
9
12
  export declare function createLayerBudget(): LayerBudget;
@@ -1 +1 @@
1
- {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../visio/layers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGlE,OAAO,EAAuB,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC3B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AACD,yFAAyF;AACzF,wBAAgB,iBAAiB,IAAI,WAAW,CAkB/C;AACD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAI1F;AACD,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAqB3F;AACD,wBAAgB,WAAW,CAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,WAAiC,GACvC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,sBAAsB,CAAA;CAAE,CAoD/E"}
1
+ {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../visio/layers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGlE,OAAO,EAAuB,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC3B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,0EAA0E;IAC1E,KAAK,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAChD;AACD,yFAAyF;AACzF,wBAAgB,iBAAiB,IAAI,WAAW,CAsB/C;AACD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAI1F;AACD,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAqB3F;AACD,wBAAgB,WAAW,CAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,WAAiC,GACvC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,sBAAsB,CAAA;CAAE,CAoD/E"}
@@ -10,11 +10,20 @@ export declare class VisioPackage {
10
10
  private readonly relationshipCache;
11
11
  private readonly byteCache;
12
12
  private readonly decodedNames;
13
+ private noted;
13
14
  private totalOutput;
14
15
  private totalXmlNodes;
15
16
  private constructor();
16
17
  private check;
17
18
  static open(input: Uint8Array | ArrayBuffer, options?: Partial<VisioPackageLimits>): Promise<VisioPackage>;
19
+ /**
20
+ * Starts noting every part this package is asked about (read, listed in a relationship, or
21
+ * checked for). The returned function stops noting and gives each part with a print of its
22
+ * declared CRC-32 and size (empty when absent), which is what {@link printOf} compares.
23
+ */
24
+ record(): () => [string, string][];
25
+ /** The declared CRC-32 and size of a part, or an empty string when the package lacks it. */
26
+ printOf(path: string): string;
18
27
  has(path: string): boolean;
19
28
  paths(): string[];
20
29
  readXml(path: string, expectedRoot?: string): Promise<Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../visio/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAQN,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,GAC7B,MAAM,kBAAkB,CAAC;AAiB1B,sFAAsF;AACtF,qBAAa,YAAY;IAWvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAb1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IACJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,eAQN;IACD,OAAO,CAAC,KAAK,CAGX;IAEF,OAAa,IAAI,CAChB,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,OAAO,CAAC,YAAY,CAAC,CA+BvB;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IACD,KAAK,IAAI,MAAM,EAAE,CAIhB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAanE;IAED,wFAAwF;IACxF,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtC;IACD,0EAA0E;IACpE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWjD;YAEa,SAAS;YA8ET,OAAO;IA0Bf,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAQtF;YACa,iBAAiB;CAoC/B"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../visio/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAQN,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,GAC7B,MAAM,kBAAkB,CAAC;AAiB1B,sFAAsF;AACtF,qBAAa,YAAY;IAYvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAd1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IACJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,eAQN;IACD,OAAO,CAAC,KAAK,CAGX;IAEF,OAAa,IAAI,CAChB,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,OAAO,CAAC,YAAY,CAAC,CA+BvB;IAED;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAOjC;IACD,4FAA4F;IAC5F,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5B;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzB;IACD,KAAK,IAAI,MAAM,EAAE,CAIhB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcnE;IAED,wFAAwF;IACxF,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtC;IACD,0EAA0E;IACpE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAYjD;YAEa,SAAS;YA8ET,OAAO;IA0Bf,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAYtF;YACa,iBAAiB;CAqC/B"}
@@ -0,0 +1,16 @@
1
+ import type { VisioDocument } from './model.js';
2
+ import { type ParseVsdxOptions } from './parser.js';
3
+ /**
4
+ * `previous` with the pages of `partial` (read with `pages`) in place of the same pages. Only
5
+ * valid when the pages part, the masters, styles, theme, media and every other part are the ones
6
+ * `previous` was read from. Returns undefined when the merge cannot match a whole read.
7
+ */
8
+ export declare function mergeVisioPages(previous: VisioDocument, partial: VisioDocument, pageIds: readonly string[], options?: {
9
+ maxShapes?: number;
10
+ }): VisioDocument | undefined;
11
+ /**
12
+ * Reads the pages `pageIds` of `input` and merges them into `previous`; undefined means read the
13
+ * whole package. Never throws for a merge that does not apply (a parse error still propagates).
14
+ */
15
+ export declare function parseVsdxPages(input: Uint8Array | ArrayBuffer, previous: VisioDocument, pageIds: readonly string[], options?: ParseVsdxOptions): Promise<VisioDocument | undefined>;
16
+ //# sourceMappingURL=parse-incremental.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-incremental.d.ts","sourceRoot":"","sources":["../../visio/parse-incremental.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAA+B,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAe5D;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,aAAa,GAAG,SAAS,CAoB3B;AA4BD;;;GAGG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAKpC"}
@@ -1,6 +1,7 @@
1
1
  import type { VisioMetafileTreeConverter } from './convert-metafile.js';
2
2
  import type { VisioImageOptions } from './media.js';
3
3
  import type { VisioDocument, VisioPage } from './model.js';
4
+ import { type VisioDocumentCache } from './document-level.js';
4
5
  import { type VisioMetadataOptions } from './shape-metadata.js';
5
6
  import { type VisioPackageLimits } from './package.js';
6
7
  export interface ParseVsdxOptions {
@@ -24,6 +25,19 @@ export interface ParseVsdxOptions {
24
25
  * packages stay refused.
25
26
  */
26
27
  stencil?: boolean;
28
+ /**
29
+ * Read only the pages with these ids (every other page is skipped after its id is checked).
30
+ * The result lists just those pages and leaves out what is not per page (comments, data
31
+ * recordsets, stencil windows, background validation); {@link mergeVisioPages} splices it into
32
+ * the document read earlier from a package in which only those page parts changed.
33
+ */
34
+ pages?: readonly string[];
35
+ /**
36
+ * Reuse the styles, themes and masters of an earlier read of this drawing when none of the
37
+ * parts they were read from changed (see {@link VisioDocumentCache}). The result is the one a
38
+ * read without it gives.
39
+ */
40
+ documentCache?: VisioDocumentCache;
27
41
  }
28
42
  /** Read-only VSDX import. This uses cached ShapeSheet values, not a formula engine. */
29
43
  export declare function parseVsdx(input: Uint8Array | ArrayBuffer, options?: ParseVsdxOptions): Promise<VisioDocument>;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../visio/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAyBrF,MAAM,WAAW,gBAAgB;IAChC,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAYD,uFAAuF;AACvF,wBAAsB,SAAS,CAC9B,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA6VxB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAYvF"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../visio/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,KAAK,EAAE,aAAa,EAAe,SAAS,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAEN,KAAK,kBAAkB,EAIvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAuBrF,MAAM,WAAW,gBAAgB;IAChC,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAYD,uFAAuF;AACvF,wBAAsB,SAAS,CAC9B,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA8UxB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAYvF"}
@@ -51,6 +51,9 @@ export interface VisioMetadataOptions {
51
51
  export interface VisioMetadataBudget {
52
52
  consumeRow(): void;
53
53
  retain(value: string): string;
54
+ /** What has been consumed so far, to be put back with {@link restore}. */
55
+ state(): [rows: number, characters: number];
56
+ restore(state: readonly [number, number]): void;
54
57
  }
55
58
  /** Share one budget across every page and inherited shape in a document. */
56
59
  export declare function createMetadataBudget(options?: VisioMetadataOptions): VisioMetadataBudget;
@@ -1 +1 @@
1
- {"version":3,"file":"shape-metadata.d.ts","sourceRoot":"","sources":["../../visio/shape-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,MAAM,EAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAGzD,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EACN,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,eAAe,GACf,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,CAAC;IACd,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,MAAM,EACH;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAClC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GACxC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AACD,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,mBAAmB;IACnC,UAAU,IAAI,IAAI,CAAC;IACnB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AACD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAoB5F;AAyMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,GACzB;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAgB3D;AAED,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,sBAAyB,GAC7B;IACF,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAwBA"}
1
+ {"version":3,"file":"shape-metadata.d.ts","sourceRoot":"","sources":["../../visio/shape-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,21 @@
1
- import type { CollabSession, CollaborationOptions } from '../../collab/index.js';
1
+ import type { CollabSession, CollaborationOptions, WriteBackRetry } from '../../collab/index.js';
2
2
  import type { VisioPresence } from './collab-presence.js';
3
3
  /** Write-back settings of {@link VisioCollaborationOptions}. */
4
4
  export interface VisioWriteBackOptions {
5
5
  /**
6
6
  * Called with the saved VSDX bytes, debounced, after local and remote changes, only in the
7
- * window whose `user.role` is `owner`. Returning is not a durable-storage acknowledgement: the
8
- * viewer cannot tell whether the host stored the bytes, and a pending write-back is flushed
9
- * once when the viewer leaves the room, not retried.
7
+ * window whose `user.role` is `owner`. Return a promise to acknowledge durable storage: the
8
+ * viewer then reports `saving`, `saved` or `failed` in `collaborationState.writeBack`, and
9
+ * retries a rejection as `writeBackRetry` says. A plain return counts as acknowledged at once.
10
+ * A pending write-back is flushed when the viewer leaves the room and when the page is hidden
11
+ * or closing; browsers do not wait for asynchronous work then, so a write that needs a network
12
+ * round trip should use `navigator.sendBeacon` or `fetch(url, { keepalive: true })`.
10
13
  */
11
- onWriteBack?: (bytes: Uint8Array) => void;
14
+ onWriteBack?: (bytes: Uint8Array) => void | Promise<void>;
12
15
  /** Quiet time after the last change before `onWriteBack` fires. Default 5000. */
13
16
  writeBackDebounceMs?: number;
17
+ /** Retries of a rejected `onWriteBack` with exponential backoff. Default: none. */
18
+ writeBackRetry?: WriteBackRetry;
14
19
  }
15
20
  /**
16
21
  * The options of `<visio-viewer>.collaboration`. A host-owned `session` should be created with
@@ -1 +1 @@
1
- {"version":3,"file":"collab-options.d.ts","sourceRoot":"","sources":["../../../visio/ui/collab-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAC3F,qBAAqB,GAAG;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;CACvD,CAAC"}
1
+ {"version":3,"file":"collab-options.d.ts","sourceRoot":"","sources":["../../../visio/ui/collab-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACrC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mFAAmF;IACnF,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAC3F,qBAAqB,GAAG;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;CACvD,CAAC"}
@@ -1,9 +1,14 @@
1
1
  import type { RibbonAddInCommandDetail, RibbonAddInTab } from '../../ribbon/index.js';
2
2
  import type { CollaborationState } from '../../collab/index.js';
3
+ import type { DocumentStorage, FileCommandDetail, VisioFileCommand } from '../../embedding/index.js';
3
4
  import type { VisioCollaborationOptions } from './collab-options.js';
4
5
  import type { VisioDocument } from '../index.js';
6
+ import type { VisioCustomization } from './customization.js';
5
7
  export interface ViewerProperties {
8
+ /** The inverse of `readOnly`; false makes the drawing read-only. Default true. */
6
9
  canEdit?: boolean;
10
+ /** Makes the drawing read-only (default false). True wins over `canEdit`. */
11
+ readOnly?: boolean;
7
12
  document: VisioDocument | null;
8
13
  pageIndex: number;
9
14
  zoom: number;
@@ -12,6 +17,17 @@ export interface ViewerProperties {
12
17
  ribbonAddIns: readonly RibbonAddInTab[];
13
18
  /** Shares the open drawing in a room while set; null leaves it (the shared embedding contract). */
14
19
  collaboration: VisioCollaborationOptions | null;
20
+ /**
21
+ * Host-owned storage: File > Save hands the drawing to `storage.save()` instead of downloading
22
+ * a copy, File > Open asks `storage.open()` when it has one, and AutoRecover keeps its copies
23
+ * through the storage's recovery methods instead of IndexedDB. null restores the defaults.
24
+ */
25
+ storage: DocumentStorage | null;
26
+ /**
27
+ * Capabilities, host File tab pages and host menu commands (the shared embedding contract of
28
+ * `ooxml-core/embedding`); null restores the defaults.
29
+ */
30
+ customization: VisioCustomization | null;
15
31
  }
16
32
  /** A page-scoped shape identity. Omitted pageId means the currently displayed page. */
17
33
  export interface VisioShapeSelection {
@@ -36,12 +52,21 @@ export interface ViewerEvents {
36
52
  'office-ribbon-add-in': RibbonAddInCommandDetail;
37
53
  /** Sharing started, stopped or its status, sync or people changed. */
38
54
  'collaboration-change': CollaborationState;
55
+ /**
56
+ * Cancelable: New, Open and Save announce themselves first. Call `preventDefault()` on the
57
+ * event (or return `false` from the binding callback) to handle the command yourself.
58
+ */
59
+ 'file-command': FileCommandDetail<VisioFileCommand>;
39
60
  }
61
+ /**
62
+ * Binding callbacks. A `file-command` callback that returns `false` cancels the command (a
63
+ * function returning a boolean is assignable to these void-returning types).
64
+ */
40
65
  export type ViewerCallbacks = {
41
66
  [K in keyof ViewerEvents]?: (detail: ViewerEvents[K]) => void;
42
67
  };
43
- export declare const propertyKeys: readonly ["canEdit", "document", "pageIndex", "zoom", "showToolbar", "ribbonAddIns", "collaboration"];
44
- export declare const eventKeys: readonly ["document-load", "document-change", "document-error", "page-change", "zoom-change", "shape-select", "selection-change", "office-ribbon-add-in", "collaboration-change"];
68
+ export declare const propertyKeys: readonly ["canEdit", "readOnly", "document", "pageIndex", "zoom", "showToolbar", "ribbonAddIns", "collaboration", "storage", "customization"];
69
+ export declare const eventKeys: readonly ["document-load", "document-change", "document-error", "page-change", "zoom-change", "shape-select", "selection-change", "office-ribbon-add-in", "collaboration-change", "file-command"];
45
70
  export type VsdxSource = ArrayBuffer | Uint8Array | Blob;
46
71
  export interface ViewerOptions extends Partial<ViewerProperties> {
47
72
  events?: ViewerCallbacks;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../visio/ui/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,YAAY,EAAE,SAAS,cAAc,EAAE,CAAC;IACxC,mGAAmG;IACnG,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAChD;AACD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,YAAY;IAC5B,eAAe,EAAE,aAAa,CAAC;IAC/B,iBAAiB,EAAE;QAClB,QAAQ,EAAE,aAAa,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;KACnD,CAAC;IACF,gBAAgB,EAAE,KAAK,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,iFAAiF;IACjF,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,2DAA2D;IAC3D,sBAAsB,EAAE,wBAAwB,CAAC;IACjD,sEAAsE;IACtE,sBAAsB,EAAE,kBAAkB,CAAC;CAC3C;AACD,MAAM,MAAM,eAAe,GAAG;KAC5B,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI;CAC7D,CAAC;AACF,eAAO,MAAM,YAAY,uGAQ+B,CAAC;AACzD,eAAO,MAAM,SAAS,mLAU8B,CAAC;AASrD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;AACzD,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC/D,MAAM,CAAC,EAAE,eAAe,CAAC;CACzB"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../visio/ui/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,YAAY,EAAE,SAAS,cAAc,EAAE,CAAC;IACxC,mGAAmG;IACnG,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAChD;;;;OAIG;IACH,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACzC;AACD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,YAAY;IAC5B,eAAe,EAAE,aAAa,CAAC;IAC/B,iBAAiB,EAAE;QAClB,QAAQ,EAAE,aAAa,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;KACnD,CAAC;IACF,gBAAgB,EAAE,KAAK,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,iFAAiF;IACjF,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,2DAA2D;IAC3D,sBAAsB,EAAE,wBAAwB,CAAC;IACjD,sEAAsE;IACtE,sBAAsB,EAAE,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;CACpD;AACD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;KAC5B,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI;CAC7D,CAAC;AACF,eAAO,MAAM,YAAY,+IAW+B,CAAC;AACzD,eAAO,MAAM,SAAS,mMAW8B,CAAC;AASrD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;AACzD,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC/D,MAAM,CAAC,EAAE,eAAe,CAAC;CACzB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Visio's half of the shared customization contract (`ooxml-core/embedding`): the capabilities
3
+ * `<visio-viewer>` honours, what each one removes, and the `customization` property's type every
4
+ * binding forwards. The renderer of a host page receives an `HTMLElement` container, as in the
5
+ * other editors; nothing here touches the DOM.
6
+ */
7
+ import type { CapabilityActionMap, EditorCapabilities, EditorCapabilityId, EditorCustomization, HostBackstagePage, HostMenuCommand, HostRegionContextBase, HostRegionRenderer } from '../../embedding/index.js';
8
+ import type { VisioShapeSelection } from './contract.js';
9
+ /** The capabilities Visio honours. */
10
+ export type VisioCapabilityId = Extract<EditorCapabilityId, 'edit' | 'export' | 'print' | 'share' | 'copy' | 'comment' | 'find' | 'open' | 'save' | 'settings'>;
11
+ /** Every Visio capability, for hosts that build a policy screen. */
12
+ export declare const VISIO_CAPABILITY_IDS: readonly ["edit", "export", "print", "share", "copy", "comment", "find", "open", "save", "settings"];
13
+ /** Per-capability switches of `<visio-viewer>`. */
14
+ export type VisioCapabilities = EditorCapabilities<VisioCapabilityId>;
15
+ /** The File tab entries each disabled capability removes. */
16
+ export declare const VISIO_CAPABILITY_BACKSTAGE_PAGES: CapabilityActionMap<VisioCapabilityId, string>;
17
+ /**
18
+ * The ribbon, context-menu and File tab commands (their `command`, menu or File tab action ids) each disabled capability
19
+ * hides. The editor also refuses the matching actions however they are raised (a shortcut, a
20
+ * menu, the API).
21
+ */
22
+ export declare const VISIO_CAPABILITY_COMMANDS: CapabilityActionMap<VisioCapabilityId, string>;
23
+ /** What a host region (a File tab page) of `<visio-viewer>` receives. */
24
+ export interface VisioRegionContext extends HostRegionContextBase {
25
+ /** The `<visio-viewer>` element: its whole public API. */
26
+ readonly viewer: HTMLElement;
27
+ /** The zero-based index of the page on screen. */
28
+ readonly pageIndex: number;
29
+ readonly pageCount: number;
30
+ }
31
+ /** What a host context-menu command of `<visio-viewer>` receives. */
32
+ export interface VisioMenuContext {
33
+ /** `shape` when the menu opened on a shape, `page` on empty paper. */
34
+ readonly target: 'shape' | 'page';
35
+ readonly pageIndex: number;
36
+ /** The page's id, when a drawing is open. */
37
+ readonly pageId?: string;
38
+ /** The selection the menu acts on (empty on the page menu). */
39
+ readonly shapes: readonly VisioShapeSelection[];
40
+ }
41
+ export type VisioRegionRenderer = HostRegionRenderer<HTMLElement, VisioRegionContext>;
42
+ export type VisioBackstagePage = HostBackstagePage<VisioRegionRenderer>;
43
+ export type VisioMenuCommand = HostMenuCommand<VisioMenuContext>;
44
+ /** The whole `customization` object of `<visio-viewer>`. Every field is optional. */
45
+ export type VisioCustomization = EditorCustomization<VisioCapabilityId, VisioRegionRenderer, VisioMenuContext>;
46
+ //# sourceMappingURL=customization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customization.d.ts","sourceRoot":"","sources":["../../../visio/ui/customization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,sCAAsC;AACtC,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACtC,kBAAkB,EAClB,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAClG,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,sGAWgB,CAAC;AAElD,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAEtE,6DAA6D;AAC7D,eAAO,MAAM,gCAAgC,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,CAO3F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,CASpF,CAAC;AAEF,yEAAyE;AACzE,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAChE,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AACtF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAEjE,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CACnD,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,CAChB,CAAC"}