ooxml-core 1.5.0 → 1.6.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 (303) hide show
  1. package/dist/{PptxHandler-ZPJNHEZZ.mjs → PptxHandler-DDEJ6CKU.mjs} +2 -2
  2. package/dist/automation/index.cjs +15757 -8955
  3. package/dist/automation/index.mjs +15757 -8955
  4. package/dist/{chunk-XGLKW3JJ.mjs → chunk-5L4DHJV3.mjs} +23 -3
  5. package/dist/{chunk-IVDC75E5.mjs → chunk-EPNLABIU.mjs} +1 -1
  6. package/dist/{chunk-BB55ASTX.mjs → chunk-Q52O7SXQ.mjs} +3 -3
  7. package/dist/{chunk-QPQDLSJQ.mjs → chunk-QXZJOUW4.mjs} +1 -1
  8. package/dist/{chunk-H4TPDZV4.mjs → chunk-UQQGC6O3.mjs} +1 -1
  9. package/dist/drawingml/index.cjs +102 -24
  10. package/dist/drawingml/index.d.ts +1 -0
  11. package/dist/drawingml/index.d.ts.map +1 -1
  12. package/dist/drawingml/index.mjs +102 -25
  13. package/dist/drawingml/write-theme.d.ts +17 -0
  14. package/dist/drawingml/write-theme.d.ts.map +1 -0
  15. package/dist/geometry/auto-align.d.ts +32 -0
  16. package/dist/geometry/auto-align.d.ts.map +1 -0
  17. package/dist/geometry/graph-layout.d.ts +37 -0
  18. package/dist/geometry/graph-layout.d.ts.map +1 -0
  19. package/dist/geometry/index.cjs +361 -7
  20. package/dist/geometry/index.d.ts +2 -0
  21. package/dist/geometry/index.d.ts.map +1 -1
  22. package/dist/geometry/index.mjs +359 -8
  23. package/dist/index.cjs +624 -122
  24. package/dist/index.mjs +624 -122
  25. package/dist/pptx/automation/index.cjs +23 -2
  26. package/dist/pptx/automation/index.mjs +5 -5
  27. package/dist/pptx/cli/index.cjs +23 -2
  28. package/dist/pptx/cli/index.mjs +4 -4
  29. package/dist/pptx/converter/index.mjs +2 -2
  30. package/dist/pptx/index.cjs +23 -2
  31. package/dist/pptx/index.mjs +5 -5
  32. package/dist/text/change-case.d.ts +20 -0
  33. package/dist/text/change-case.d.ts.map +1 -0
  34. package/dist/text/index.cjs +70 -0
  35. package/dist/text/index.d.ts +1 -0
  36. package/dist/text/index.d.ts.map +1 -1
  37. package/dist/text/index.mjs +68 -1
  38. package/dist/visio/arrow-shapes.d.ts +16 -0
  39. package/dist/visio/arrow-shapes.d.ts.map +1 -0
  40. package/dist/visio/basic-shapes.d.ts +2 -0
  41. package/dist/visio/basic-shapes.d.ts.map +1 -1
  42. package/dist/visio/comments.d.ts +39 -0
  43. package/dist/visio/comments.d.ts.map +1 -0
  44. package/dist/visio/connector-route.d.ts +31 -0
  45. package/dist/visio/connector-route.d.ts.map +1 -0
  46. package/dist/visio/data-recordsets.d.ts +66 -0
  47. package/dist/visio/data-recordsets.d.ts.map +1 -0
  48. package/dist/visio/edit-change-shape-commands.d.ts +17 -0
  49. package/dist/visio/edit-change-shape-commands.d.ts.map +1 -0
  50. package/dist/visio/edit-change-shape.d.ts +4 -0
  51. package/dist/visio/edit-change-shape.d.ts.map +1 -0
  52. package/dist/visio/edit-commands.d.ts +41 -6
  53. package/dist/visio/edit-commands.d.ts.map +1 -1
  54. package/dist/visio/edit-comment-commands.d.ts +32 -0
  55. package/dist/visio/edit-comment-commands.d.ts.map +1 -0
  56. package/dist/visio/edit-comments.d.ts +7 -0
  57. package/dist/visio/edit-comments.d.ts.map +1 -0
  58. package/dist/visio/edit-connection-points.d.ts +19 -0
  59. package/dist/visio/edit-connection-points.d.ts.map +1 -0
  60. package/dist/visio/edit-connector-commands.d.ts +57 -0
  61. package/dist/visio/edit-connector-commands.d.ts.map +1 -0
  62. package/dist/visio/edit-connector-glue.d.ts +43 -0
  63. package/dist/visio/edit-connector-glue.d.ts.map +1 -0
  64. package/dist/visio/edit-connector-layout.d.ts +37 -0
  65. package/dist/visio/edit-connector-layout.d.ts.map +1 -0
  66. package/dist/visio/edit-connector-reroute.d.ts +30 -0
  67. package/dist/visio/edit-connector-reroute.d.ts.map +1 -0
  68. package/dist/visio/edit-connector.d.ts +42 -0
  69. package/dist/visio/edit-connector.d.ts.map +1 -0
  70. package/dist/visio/edit-data-commands.d.ts +49 -0
  71. package/dist/visio/edit-data-commands.d.ts.map +1 -0
  72. package/dist/visio/edit-data-parts.d.ts +34 -0
  73. package/dist/visio/edit-data-parts.d.ts.map +1 -0
  74. package/dist/visio/edit-data.d.ts +8 -0
  75. package/dist/visio/edit-data.d.ts.map +1 -0
  76. package/dist/visio/edit-delete.d.ts.map +1 -1
  77. package/dist/visio/edit-diagram-parts-commands.d.ts +55 -0
  78. package/dist/visio/edit-diagram-parts-commands.d.ts.map +1 -0
  79. package/dist/visio/edit-diagram-parts.d.ts +16 -0
  80. package/dist/visio/edit-diagram-parts.d.ts.map +1 -0
  81. package/dist/visio/edit-ellipse-geometry.d.ts +2 -0
  82. package/dist/visio/edit-ellipse-geometry.d.ts.map +1 -1
  83. package/dist/visio/edit-foreign-bitmap.d.ts +7 -0
  84. package/dist/visio/edit-foreign-bitmap.d.ts.map +1 -0
  85. package/dist/visio/edit-formatting-cell-admission.d.ts +2 -0
  86. package/dist/visio/edit-formatting-cell-admission.d.ts.map +1 -1
  87. package/dist/visio/edit-formatting-commands.d.ts +14 -1
  88. package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
  89. package/dist/visio/edit-formatting-effects.d.ts +50 -0
  90. package/dist/visio/edit-formatting-effects.d.ts.map +1 -0
  91. package/dist/visio/edit-formatting-glow.d.ts +43 -0
  92. package/dist/visio/edit-formatting-glow.d.ts.map +1 -0
  93. package/dist/visio/edit-formatting-paint-scope.d.ts.map +1 -1
  94. package/dist/visio/edit-formatting-paint.d.ts +6 -0
  95. package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
  96. package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
  97. package/dist/visio/edit-formatting-text-commands.d.ts +56 -0
  98. package/dist/visio/edit-formatting-text-commands.d.ts.map +1 -0
  99. package/dist/visio/edit-formatting-text-extra.d.ts +11 -0
  100. package/dist/visio/edit-formatting-text-extra.d.ts.map +1 -0
  101. package/dist/visio/edit-formatting-text.d.ts.map +1 -1
  102. package/dist/visio/edit-formatting-theme-context.d.ts +14 -0
  103. package/dist/visio/edit-formatting-theme-context.d.ts.map +1 -0
  104. package/dist/visio/edit-formatting.d.ts +2 -0
  105. package/dist/visio/edit-formatting.d.ts.map +1 -1
  106. package/dist/visio/edit-geometry-admission.d.ts +1 -1
  107. package/dist/visio/edit-geometry-admission.d.ts.map +1 -1
  108. package/dist/visio/edit-geometry.d.ts.map +1 -1
  109. package/dist/visio/edit-group-commands.d.ts +22 -0
  110. package/dist/visio/edit-group-commands.d.ts.map +1 -0
  111. package/dist/visio/edit-group-rotation.d.ts +7 -1
  112. package/dist/visio/edit-group-rotation.d.ts.map +1 -1
  113. package/dist/visio/edit-group.d.ts +17 -0
  114. package/dist/visio/edit-group.d.ts.map +1 -0
  115. package/dist/visio/edit-guide-commands.d.ts +26 -0
  116. package/dist/visio/edit-guide-commands.d.ts.map +1 -0
  117. package/dist/visio/edit-guides.d.ts +4 -0
  118. package/dist/visio/edit-guides.d.ts.map +1 -0
  119. package/dist/visio/edit-layer-commands.d.ts +20 -0
  120. package/dist/visio/edit-layer-commands.d.ts.map +1 -0
  121. package/dist/visio/edit-layers.d.ts +7 -0
  122. package/dist/visio/edit-layers.d.ts.map +1 -0
  123. package/dist/visio/edit-metadata-commands.d.ts +46 -0
  124. package/dist/visio/edit-metadata-commands.d.ts.map +1 -0
  125. package/dist/visio/edit-metadata.d.ts +4 -0
  126. package/dist/visio/edit-metadata.d.ts.map +1 -0
  127. package/dist/visio/edit-page-auto-size.d.ts +19 -0
  128. package/dist/visio/edit-page-auto-size.d.ts.map +1 -0
  129. package/dist/visio/edit-page-create.d.ts +24 -0
  130. package/dist/visio/edit-page-create.d.ts.map +1 -0
  131. package/dist/visio/edit-page-decoration.d.ts +14 -0
  132. package/dist/visio/edit-page-decoration.d.ts.map +1 -0
  133. package/dist/visio/edit-page-setup-commands.d.ts +57 -0
  134. package/dist/visio/edit-page-setup-commands.d.ts.map +1 -0
  135. package/dist/visio/edit-page-setup.d.ts +13 -0
  136. package/dist/visio/edit-page-setup.d.ts.map +1 -0
  137. package/dist/visio/edit-page-size.d.ts +4 -0
  138. package/dist/visio/edit-page-size.d.ts.map +1 -1
  139. package/dist/visio/edit-page-theme-commands.d.ts +15 -0
  140. package/dist/visio/edit-page-theme-commands.d.ts.map +1 -0
  141. package/dist/visio/edit-page-theme-recolor.d.ts +3 -0
  142. package/dist/visio/edit-page-theme-recolor.d.ts.map +1 -0
  143. package/dist/visio/edit-page-theme.d.ts +10 -0
  144. package/dist/visio/edit-page-theme.d.ts.map +1 -0
  145. package/dist/visio/edit-pages.d.ts.map +1 -1
  146. package/dist/visio/edit-path-commands.d.ts +19 -0
  147. package/dist/visio/edit-path-commands.d.ts.map +1 -0
  148. package/dist/visio/edit-path-create.d.ts +23 -0
  149. package/dist/visio/edit-path-create.d.ts.map +1 -0
  150. package/dist/visio/edit-picture.d.ts +7 -0
  151. package/dist/visio/edit-picture.d.ts.map +1 -0
  152. package/dist/visio/edit-recalculate-index.d.ts +2 -0
  153. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  154. package/dist/visio/edit-resize-anchor.d.ts +1 -1
  155. package/dist/visio/edit-resize-anchor.d.ts.map +1 -1
  156. package/dist/visio/edit-scope.d.ts.map +1 -1
  157. package/dist/visio/edit-shape-create.d.ts +8 -0
  158. package/dist/visio/edit-shape-create.d.ts.map +1 -1
  159. package/dist/visio/edit-shape-data-commands.d.ts +34 -0
  160. package/dist/visio/edit-shape-data-commands.d.ts.map +1 -0
  161. package/dist/visio/edit-shape-data.d.ts +22 -0
  162. package/dist/visio/edit-shape-data.d.ts.map +1 -0
  163. package/dist/visio/edit-shape-order.d.ts.map +1 -1
  164. package/dist/visio/edit-subprocess-commands.d.ts +27 -0
  165. package/dist/visio/edit-subprocess-commands.d.ts.map +1 -0
  166. package/dist/visio/edit-subprocess.d.ts +9 -0
  167. package/dist/visio/edit-subprocess.d.ts.map +1 -0
  168. package/dist/visio/edit-text-field-commands.d.ts +21 -0
  169. package/dist/visio/edit-text-field-commands.d.ts.map +1 -0
  170. package/dist/visio/edit-text-field.d.ts +5 -0
  171. package/dist/visio/edit-text-field.d.ts.map +1 -0
  172. package/dist/visio/edit-text-range-plan.d.ts.map +1 -1
  173. package/dist/visio/edit-text-ranges.d.ts.map +1 -1
  174. package/dist/visio/edit-text.d.ts.map +1 -1
  175. package/dist/visio/edit.d.ts +2 -1
  176. package/dist/visio/edit.d.ts.map +1 -1
  177. package/dist/visio/effects.d.ts +13 -0
  178. package/dist/visio/effects.d.ts.map +1 -0
  179. package/dist/visio/formula-evaluate.d.ts.map +1 -1
  180. package/dist/visio/index.cjs +26474 -19318
  181. package/dist/visio/index.d.ts +25 -1
  182. package/dist/visio/index.d.ts.map +1 -1
  183. package/dist/visio/index.mjs +26406 -19319
  184. package/dist/visio/model.d.ts +125 -0
  185. package/dist/visio/model.d.ts.map +1 -1
  186. package/dist/visio/page-decoration.d.ts +66 -0
  187. package/dist/visio/page-decoration.d.ts.map +1 -0
  188. package/dist/visio/page-scale.d.ts.map +1 -1
  189. package/dist/visio/page-setup.d.ts +8 -0
  190. package/dist/visio/page-setup.d.ts.map +1 -0
  191. package/dist/visio/page-theme.d.ts +9 -0
  192. package/dist/visio/page-theme.d.ts.map +1 -0
  193. package/dist/visio/paper-sizes.d.ts +24 -0
  194. package/dist/visio/paper-sizes.d.ts.map +1 -0
  195. package/dist/visio/parser.d.ts.map +1 -1
  196. package/dist/visio/path-fit.d.ts +69 -0
  197. package/dist/visio/path-fit.d.ts.map +1 -0
  198. package/dist/visio/shadow.d.ts +9 -0
  199. package/dist/visio/shadow.d.ts.map +1 -0
  200. package/dist/visio/shape-connections.d.ts +5 -0
  201. package/dist/visio/shape-connections.d.ts.map +1 -0
  202. package/dist/visio/shape-metadata.d.ts +3 -0
  203. package/dist/visio/shape-metadata.d.ts.map +1 -1
  204. package/dist/visio/shape-structure.d.ts +10 -0
  205. package/dist/visio/shape-structure.d.ts.map +1 -0
  206. package/dist/visio/shapes.d.ts.map +1 -1
  207. package/dist/visio/stencil-shapes.d.ts +20 -0
  208. package/dist/visio/stencil-shapes.d.ts.map +1 -0
  209. package/dist/visio/stencils.d.ts +30 -0
  210. package/dist/visio/stencils.d.ts.map +1 -0
  211. package/dist/visio/style.d.ts +3 -0
  212. package/dist/visio/style.d.ts.map +1 -1
  213. package/dist/visio/text-character.d.ts +5 -0
  214. package/dist/visio/text-character.d.ts.map +1 -0
  215. package/dist/visio/text-field-context.d.ts +6 -0
  216. package/dist/visio/text-field-context.d.ts.map +1 -0
  217. package/dist/visio/text-field-display.d.ts +12 -0
  218. package/dist/visio/text-field-display.d.ts.map +1 -0
  219. package/dist/visio/text-fields.d.ts +65 -0
  220. package/dist/visio/text-fields.d.ts.map +1 -0
  221. package/dist/visio/theme-builtins.d.ts +32 -0
  222. package/dist/visio/theme-builtins.d.ts.map +1 -0
  223. package/dist/visio/theme-write.d.ts +4 -0
  224. package/dist/visio/theme-write.d.ts.map +1 -0
  225. package/dist/visio/theme.d.ts +2 -0
  226. package/dist/visio/theme.d.ts.map +1 -1
  227. package/dist/visio/ui/auto-layout.d.ts +38 -0
  228. package/dist/visio/ui/auto-layout.d.ts.map +1 -0
  229. package/dist/visio/ui/change-case.d.ts +12 -0
  230. package/dist/visio/ui/change-case.d.ts.map +1 -0
  231. package/dist/visio/ui/connection-points.d.ts +45 -0
  232. package/dist/visio/ui/connection-points.d.ts.map +1 -0
  233. package/dist/visio/ui/connector-preview.d.ts +24 -0
  234. package/dist/visio/ui/connector-preview.d.ts.map +1 -0
  235. package/dist/visio/ui/data-graphic-rules.d.ts +45 -0
  236. package/dist/visio/ui/data-graphic-rules.d.ts.map +1 -0
  237. package/dist/visio/ui/data-graphics.d.ts +15 -0
  238. package/dist/visio/ui/data-graphics.d.ts.map +1 -0
  239. package/dist/visio/ui/data-table.d.ts +33 -0
  240. package/dist/visio/ui/data-table.d.ts.map +1 -0
  241. package/dist/visio/ui/diagram-check.d.ts +32 -0
  242. package/dist/visio/ui/diagram-check.d.ts.map +1 -0
  243. package/dist/visio/ui/diagram-parts.d.ts +20 -0
  244. package/dist/visio/ui/diagram-parts.d.ts.map +1 -0
  245. package/dist/visio/ui/draw-path-plan.d.ts +21 -0
  246. package/dist/visio/ui/draw-path-plan.d.ts.map +1 -0
  247. package/dist/visio/ui/draw-plan.d.ts +11 -3
  248. package/dist/visio/ui/draw-plan.d.ts.map +1 -1
  249. package/dist/visio/ui/edit-commands.d.ts.map +1 -1
  250. package/dist/visio/ui/format-painter.d.ts +25 -0
  251. package/dist/visio/ui/format-painter.d.ts.map +1 -0
  252. package/dist/visio/ui/guides.d.ts +34 -0
  253. package/dist/visio/ui/guides.d.ts.map +1 -0
  254. package/dist/visio/ui/index.cjs +8006 -2705
  255. package/dist/visio/ui/index.d.ts +25 -0
  256. package/dist/visio/ui/index.d.ts.map +1 -1
  257. package/dist/visio/ui/index.mjs +7894 -2706
  258. package/dist/visio/ui/insert.d.ts +26 -0
  259. package/dist/visio/ui/insert.d.ts.map +1 -0
  260. package/dist/visio/ui/layer-assign.d.ts +31 -0
  261. package/dist/visio/ui/layer-assign.d.ts.map +1 -0
  262. package/dist/visio/ui/page-edit.d.ts.map +1 -1
  263. package/dist/visio/ui/page-setup.d.ts +50 -0
  264. package/dist/visio/ui/page-setup.d.ts.map +1 -0
  265. package/dist/visio/ui/page-size.d.ts +2 -11
  266. package/dist/visio/ui/page-size.d.ts.map +1 -1
  267. package/dist/visio/ui/paste-text.d.ts +13 -0
  268. package/dist/visio/ui/paste-text.d.ts.map +1 -0
  269. package/dist/visio/ui/scene-data.d.ts +4 -0
  270. package/dist/visio/ui/scene-data.d.ts.map +1 -0
  271. package/dist/visio/ui/scene-details.d.ts.map +1 -1
  272. package/dist/visio/ui/scene-validation-text.d.ts +8 -0
  273. package/dist/visio/ui/scene-validation-text.d.ts.map +1 -0
  274. package/dist/visio/ui/scene-validation.d.ts.map +1 -1
  275. package/dist/visio/ui/select-by-type.d.ts +35 -0
  276. package/dist/visio/ui/select-by-type.d.ts.map +1 -0
  277. package/dist/visio/ui/shape-arrange.d.ts.map +1 -1
  278. package/dist/visio/ui/shape-change.d.ts +11 -0
  279. package/dist/visio/ui/shape-change.d.ts.map +1 -0
  280. package/dist/visio/ui/shape-effects.d.ts +14 -0
  281. package/dist/visio/ui/shape-effects.d.ts.map +1 -0
  282. package/dist/visio/ui/shape-formatting.d.ts +5 -0
  283. package/dist/visio/ui/shape-formatting.d.ts.map +1 -1
  284. package/dist/visio/ui/shape-group.d.ts +9 -0
  285. package/dist/visio/ui/shape-group.d.ts.map +1 -0
  286. package/dist/visio/ui/shape-move.d.ts +5 -2
  287. package/dist/visio/ui/shape-move.d.ts.map +1 -1
  288. package/dist/visio/ui/shape-report.d.ts +37 -0
  289. package/dist/visio/ui/shape-report.d.ts.map +1 -0
  290. package/dist/visio/ui/shape-resize.d.ts.map +1 -1
  291. package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
  292. package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
  293. package/dist/visio/ui/subprocess.d.ts +13 -0
  294. package/dist/visio/ui/subprocess.d.ts.map +1 -0
  295. package/dist/visio/ui/text-block.d.ts +42 -0
  296. package/dist/visio/ui/text-block.d.ts.map +1 -0
  297. package/dist/visio/ui/text-dialog.d.ts +54 -0
  298. package/dist/visio/ui/text-dialog.d.ts.map +1 -0
  299. package/dist/visio/ui/text-draft.d.ts +25 -0
  300. package/dist/visio/ui/text-draft.d.ts.map +1 -0
  301. package/dist/visio/ui/text-field-catalog.d.ts +17 -0
  302. package/dist/visio/ui/text-field-catalog.d.ts.map +1 -0
  303. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ import type { VisioPackage } from './package.js';
2
+ import { type VisioDataColumn } from './data-recordsets.js';
3
+ /** Package XML parts a data transaction may change, cloned on first use and written once. */
4
+ export declare class DataPackageParts {
5
+ private readonly pkg;
6
+ private readonly parts;
7
+ readonly xml: Map<string, Element>;
8
+ readonly bytes: Map<string, Uint8Array<ArrayBufferLike> | null>;
9
+ constructor(pkg: VisioPackage, parts: ReadonlyMap<string, Uint8Array>);
10
+ load(path: string, root: string): Promise<Element>;
11
+ exists(path: string): boolean;
12
+ /** The relationships of `part`, created empty when the part has none yet. */
13
+ rels(part: string): Promise<Element>;
14
+ types(): Promise<Element>;
15
+ /** A free part name `prefix{n}.xml`, never colliding with existing or pending parts. */
16
+ freeName(prefix: string): string;
17
+ /** Add a relationship from `source` to `target` (both package paths); returns its Id. */
18
+ relate(source: string, type: string, target: string): Promise<string>;
19
+ /** Remove `source`'s relationships of `type` (or the one with `id`). */
20
+ unrelate(source: string, type: string, id?: string): Promise<void>;
21
+ override(path: string, contentType: string | null): Promise<void>;
22
+ remove(path: string): void;
23
+ /** A new empty DataRecordSets root. */
24
+ createRecordsets(path: string): Element;
25
+ }
26
+ /** A relationship Target from one package part to another, relative to the source folder. */
27
+ export declare function relativeTarget(source: string, target: string): string;
28
+ /** The Prop row name each column links to, deduplicated in column order. */
29
+ export declare function visioLinkedRowNames(columns: readonly VisioDataColumn[]): string[];
30
+ /** An element in the DataRecordSets namespace with attributes in the given order. */
31
+ export declare function dataElement(root: Element, name: string, attributes: Record<string, string>): Element;
32
+ /** DataColumns with Visio's DataColumn attribute set; DataType is the Shape Data type code. */
33
+ export declare function dataColumnsElement(root: Element, columns: readonly VisioDataColumn[]): Element;
34
+ //# sourceMappingURL=edit-data-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-data-parts.d.ts","sourceRoot":"","sources":["../../visio/edit-data-parts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAO1E,6FAA6F;AAC7F,qBAAa,gBAAgB;IAI3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJvB,QAAQ,CAAC,GAAG,uBAA8B;IAC1C,QAAQ,CAAC,KAAK,kDAAwC;IACtD,YACkB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EACpD;IACE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvD;IACD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5B;IACD,6EAA6E;IACvE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzC;IACD,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAExB;IACD,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS/B;IACD,yFAAyF;IACnF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc1E;IACD,wEAAwE;IAClE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAavE;IACK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtE;IACD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGzB;IACD,uCAAuC;IACvC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtC;CACD;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrE;AAQD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,EAAE,CAIjF;AACD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAI1F;AACD,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAuB9F"}
@@ -0,0 +1,8 @@
1
+ import { VisioPackage } from './package.js';
2
+ import { type VisioPackageLimits } from './package-common.js';
3
+ import type { VisioDataEdit } from './edit-data-commands.js';
4
+ export { visioLinkedRowNames } from './edit-data-parts.js';
5
+ import type { EditVsdxResult } from './edit.js';
6
+ /** Atomic DataRecordSets transaction: parts, relationships, content types and linked shapes. */
7
+ export declare function editVsdxData(pkg: VisioPackage, parts: Map<string, Uint8Array>, pages: ReadonlyMap<string, string>, edits: readonly VisioDataEdit[], limits: VisioPackageLimits, maxOutput: number, deadline: number, check: () => void): Promise<EditVsdxResult>;
8
+ //# sourceMappingURL=edit-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-data.d.ts","sourceRoot":"","sources":["../../visio/edit-data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAQ,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAajE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAO1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAU7C,gGAAgG;AAChG,wBAAsB,YAAY,CACjC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,cAAc,CAAC,CAiQzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-delete.d.ts","sourceRoot":"","sources":["../../visio/edit-delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMzD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEpF;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,KAAK,EAAE,MAAM,IAAI,GACf,SAAS,MAAM,EAAE,CAiCnB"}
1
+ {"version":3,"file":"edit-delete.d.ts","sourceRoot":"","sources":["../../visio/edit-delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAOzD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEpF;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,KAAK,EAAE,MAAM,IAAI,GACf,SAAS,MAAM,EAAE,CAkCnB"}
@@ -0,0 +1,55 @@
1
+ /** Space between the members' bounds and the container frame, in inches. */
2
+ export declare const VISIO_CONTAINER_MARGIN = 0.25;
3
+ /** Height of the container's heading band, in inches. */
4
+ export declare const VISIO_CONTAINER_HEADING = 0.35;
5
+ /** Non-native User rows that record membership; Visio keeps it in Relationships formulas. */
6
+ export declare const VISIO_CONTAINER_MEMBERS_ROW = "ooxmlContainerMembers";
7
+ export declare const VISIO_CALLOUT_TARGET_ROW = "ooxmlCalloutTarget";
8
+ export declare const VISIO_CALLOUT_LEADER_ROW = "ooxmlCalloutLeader";
9
+ /** Insert > Container styles: the frame look, heading band and fill of the new container. */
10
+ export declare const VISIO_CONTAINER_STYLES: readonly ['classic', 'plain', 'banner', 'dashed'];
11
+ export type VisioContainerStyle = (typeof VISIO_CONTAINER_STYLES)[number];
12
+ /** Insert > Callout styles: the outline of the callout's text box. */
13
+ export declare const VISIO_CALLOUT_STYLES: readonly ['rectangle', 'rounded', 'oval', 'text'];
14
+ export type VisioCalloutStyle = (typeof VISIO_CALLOUT_STYLES)[number];
15
+ /** A centred box in drawing inches (bottom-left origin). */
16
+ export interface VisioPartBox {
17
+ x: number;
18
+ y: number;
19
+ width: number;
20
+ height: number;
21
+ }
22
+ /**
23
+ * Insert a container sized around top-level members (with a margin and a heading band), behind
24
+ * the lowest of them. With no members it is placed at `box`. Members stay ordinary page shapes.
25
+ */
26
+ export interface VisioInsertContainerEdit {
27
+ type: 'insert-container';
28
+ pageId: string;
29
+ shapeId: string;
30
+ memberIds: readonly string[];
31
+ style: VisioContainerStyle;
32
+ heading: string;
33
+ box?: VisioPartBox;
34
+ }
35
+ /**
36
+ * Insert a callout: a text box at `box` plus a leader connector (`leaderId`) whose ends glue to
37
+ * the callout and its target, so the leader follows either shape when it moves.
38
+ */
39
+ export interface VisioInsertCalloutEdit {
40
+ type: 'insert-callout';
41
+ pageId: string;
42
+ shapeId: string;
43
+ leaderId: string;
44
+ targetId: string;
45
+ style: VisioCalloutStyle;
46
+ text: string;
47
+ box: VisioPartBox;
48
+ }
49
+ export type VisioDiagramPartEdit = VisioInsertContainerEdit | VisioInsertCalloutEdit;
50
+ export declare const isVisioDiagramPartEdit: (edit: {
51
+ type: string;
52
+ }) => edit is VisioDiagramPartEdit;
53
+ /** Copy and validate a container or callout command; source admission remains authoritative. */
54
+ export declare function snapshotDiagramPartEdit(edit: VisioDiagramPartEdit): VisioDiagramPartEdit;
55
+ //# sourceMappingURL=edit-diagram-parts-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-diagram-parts-commands.d.ts","sourceRoot":"","sources":["../../visio/edit-diagram-parts-commands.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,YAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACxF,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,YAAI,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AACtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AACD;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,YAAY,CAAC;CACnB;AACD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,YAAY,CAAC;CAClB;AACD,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,sBAAsB,CAAC;AAErF,eAAO,MAAM,sBAAsB,SAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,IAAI,IAAI,oBACL,CAAC;AAoCpE,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,oBAAoB,CAwCxF"}
@@ -0,0 +1,16 @@
1
+ import { type VisioInsertCalloutEdit, type VisioInsertContainerEdit, type VisioPartBox } from './edit-diagram-parts-commands.js';
2
+ /**
3
+ * Insert > Container: a local 2D sheet with User.msvStructureType = "Container" framing the
4
+ * members' alignment boxes, placed directly behind the lowest member. Members are untouched and
5
+ * stay on the page (no group). Membership is recorded in a User row; Visio's own Relationships
6
+ * (DEPENDSON) formulas are not written, so Visio opens it as a plain shape. Returns its box.
7
+ */
8
+ export declare function insertVisioContainer(root: Element, document: Element, edit: VisioInsertContainerEdit, check: () => void): VisioPartBox;
9
+ /**
10
+ * Insert > Callout: a text box with User.msvStructureType = "Callout" and a straight leader
11
+ * connector glued from the callout to its target with the core's dynamic glue, so moving either
12
+ * shape reroutes the leader. Visio draws the leader inside the callout master and associates the
13
+ * two through Relationships formulas; neither is reproduced here. Returns the changed page IDs.
14
+ */
15
+ export declare function insertVisioCallout(roots: ReadonlyMap<string, Element>, document: Element, edit: VisioInsertCalloutEdit, check: () => void): readonly string[];
16
+ //# sourceMappingURL=edit-diagram-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-diagram-parts.d.ts","sourceRoot":"","sources":["../../visio/edit-diagram-parts.ts"],"names":[],"mappings":"AAaA,OAAO,EAQN,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,MAAM,+BAA+B,CAAC;AAsEvC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,MAAM,IAAI,GACf,YAAY,CAuEd;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,MAAM,IAAI,GACf,SAAS,MAAM,EAAE,CAgDnB"}
@@ -1,4 +1,6 @@
1
1
  export declare function appendEllipseGeometry(shape: Element, width: number, height: number): void;
2
+ /** A detached native DrawOval Geometry section (IX 0) for a shape of this size. */
3
+ export declare function ellipseGeometrySection(shape: Element, width: number, height: number): Element;
2
4
  /** Admit the native orthogonal row; arbitrary ellipse control axes need their own proof. */
3
5
  export declare function assertEllipseResizeRow(shape: Element, row: Element): void;
4
6
  //# sourceMappingURL=edit-ellipse-geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-ellipse-geometry.d.ts","sourceRoot":"","sources":["../../visio/edit-ellipse-geometry.ts"],"names":[],"mappings":"AAaA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgBzF;AACD,4FAA4F;AAC5F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA4BzE"}
1
+ {"version":3,"file":"edit-ellipse-geometry.d.ts","sourceRoot":"","sources":["../../visio/edit-ellipse-geometry.ts"],"names":[],"mappings":"AAaA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEzF;AACD,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB7F;AACD,4FAA4F;AAC5F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA4BzE"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A local embedded bitmap (Type="Foreign" with one Bitmap ForeignData relationship and nothing
3
+ * else foreign). Its placement is entirely ShapeSheet cells, so the same move, resize and delete
4
+ * admission as an ordinary 2D shape applies; the media relationship is left untouched.
5
+ */
6
+ export declare function isLocalBitmapShape(shape: Element): boolean;
7
+ //# sourceMappingURL=edit-foreign-bitmap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-foreign-bitmap.d.ts","sourceRoot":"","sources":["../../visio/edit-foreign-bitmap.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiB1D"}
@@ -1,3 +1,5 @@
1
+ /** A literal THEMEVAL/THEME/THEMEGUARD lookup, resolved from the theme by readers. */
2
+ export declare function isThemeLookupFormula(source: string | undefined): boolean;
1
3
  /** Literal native font/color lookups are safe to replace after GUARD and reference analysis. */
2
4
  export declare function assertEditableFormattingCell(cell: Element | undefined): void;
3
5
  //# sourceMappingURL=edit-formatting-cell-admission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting-cell-admission.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-cell-admission.ts"],"names":[],"mappings":"AAWA,gGAAgG;AAChG,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAwD5E"}
1
+ {"version":3,"file":"edit-formatting-cell-admission.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-cell-admission.ts"],"names":[],"mappings":"AA6BA,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAOxE;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAoD5E"}
@@ -1,3 +1,6 @@
1
+ import { type VisioQuickStyle, type VisioShadowPreset } from './edit-formatting-effects.js';
2
+ import { type VisioGlowEffect, type VisioReflectionEffect } from './edit-formatting-glow.js';
3
+ import { type VisioTextFormatExtras } from './edit-formatting-text-commands.js';
1
4
  interface Target {
2
5
  pageId: string;
3
6
  shapeId: string;
@@ -5,7 +8,7 @@ interface Target {
5
8
  /** Whole-shape formatting updates every effective stored row, including unused rows.
6
9
  * Protected affected rows cause atomic refusal. Font size and indent use physical points.
7
10
  */
8
- export interface VisioTextFormatEdit extends Target {
11
+ export interface VisioTextFormatEdit extends Target, VisioTextFormatExtras {
9
12
  type: 'format-text';
10
13
  fontSize?: number;
11
14
  fontFamily?: string;
@@ -36,6 +39,16 @@ export interface VisioShapeFormatEdit extends Target {
36
39
  fillBackgroundColor?: string;
37
40
  /** Percent transparency applied to both foreground and background fill. */
38
41
  fillTransparency?: number;
42
+ /** Theme Quick Style: a colour slot and a style matrix, clearing local paint overrides. */
43
+ quickStyle?: VisioQuickStyle;
44
+ /** Outer shadow preset; `none` turns the shape shadow off. */
45
+ shadow?: VisioShadowPreset;
46
+ /** Glow; size 0 removes it. */
47
+ glow?: VisioGlowEffect;
48
+ /** Soft edge radius in points; 0 removes it. */
49
+ softEdges?: number;
50
+ /** Reflection; size 0 removes it. */
51
+ reflection?: VisioReflectionEffect;
39
52
  }
40
53
  export type VisioFormatEdit = VisioTextFormatEdit | VisioShapeFormatEdit;
41
54
  export declare const isVisioFormatEdit: (edit: {
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting-commands.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-commands.ts"],"names":[],"mappings":"AAEA,UAAU,MAAM;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AACD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,MAAM;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC5C;AACD,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IACnD,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AACzE,eAAO,MAAM,iBAAiB,SAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,IAAI,IAAI,eACP,CAAC;AAE7D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAmEzE"}
1
+ {"version":3,"file":"edit-formatting-commands.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIN,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,UAAU,MAAM;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AACD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,MAAM,EAAE,qBAAqB;IACzE,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC5C;AACD,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IACnD,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACnC;AACD,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AACzE,eAAO,MAAM,iBAAiB,SAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,IAAI,IAAI,eACP,CAAC;AAE7D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAuGzE"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Shape Styles edits: theme Quick Styles and outer shadow presets.
3
+ * MS-VSDX QuickStyleFillColor (2.4.4.270) and QuickStyleFillMatrix (2.4.4.271) select a theme
4
+ * colour slot and a theme format; THEMEVAL() cells then read the selected theme values.
5
+ * https://learn.microsoft.com/en-us/openspecs/sharepoint_protocols/ms-vsdx/1e7e9b7e-d116-41c0-9c53-5e57c26042a4
6
+ * Shadow cells: https://learn.microsoft.com/en-us/office/client-developer/visio/shapeshdwoffsetx-cell-fill-format-section
7
+ */
8
+ import type { VisioPackage } from './package.js';
9
+ import type { FormattingWrite } from './edit-formatting.js';
10
+ import { type FormattingRowContext } from './edit-style-admission.js';
11
+ /** Theme colour slots offered by the gallery: 0 is Dark 1, 2-7 are Accent 1-6. */
12
+ export declare const VISIO_QUICK_STYLE_COLORS: readonly [0, 2, 3, 4, 5, 6, 7];
13
+ /** Variant colours 1-7 of the page's theme variant (MS-VSDX QuickStyleFillColor 100-106). */
14
+ export declare const VISIO_QUICK_STYLE_VARIANT_COLORS: readonly [100, 101, 102, 103, 104, 105, 106];
15
+ export type VisioQuickStyleColor = (typeof VISIO_QUICK_STYLE_COLORS)[number] | (typeof VISIO_QUICK_STYLE_VARIANT_COLORS)[number];
16
+ export interface VisioQuickStyle {
17
+ color: VisioQuickStyleColor;
18
+ /** Theme style matrix 1 (subtle) to 6 (intense). */
19
+ matrix: number;
20
+ }
21
+ export declare const isVisioQuickStyleColor: (value: unknown) => value is VisioQuickStyleColor;
22
+ /** Outer shadow presets named by the direction the shadow falls. */
23
+ export declare const VISIO_SHADOW_PRESETS: readonly ['none', 'bottom-right', 'bottom', 'bottom-left', 'right', 'center', 'left', 'top-right', 'top', 'top-left'];
24
+ export type VisioShadowPreset = (typeof VISIO_SHADOW_PRESETS)[number];
25
+ export declare const isVisioShadowPreset: (value: unknown) => value is VisioShadowPreset;
26
+ /** Offset in points (page coordinates, Y up) and blur in points for each preset. */
27
+ export declare function visioShadowPresetGeometry(preset: Exclude<VisioShadowPreset, 'none'>): {
28
+ x: number;
29
+ y: number;
30
+ blur: number;
31
+ };
32
+ /**
33
+ * Fixed approximation of the six Office theme styles, used when no theme resolves: lighter fills
34
+ * with dark text for matrices 1-3, solid and darker fills with light text for 4-6.
35
+ */
36
+ export declare function visioFallbackQuickStyle(style: VisioQuickStyle): {
37
+ fill: string;
38
+ line: string;
39
+ font: string;
40
+ };
41
+ type Add = (name: string, value: string | number, category: FormattingWrite['category'], unit?: string, formula?: string) => void;
42
+ export declare function shadowWrites(preset: VisioShadowPreset, add: Add): void;
43
+ /**
44
+ * Write the Quick Style selectors and reset fill, line and font paint so the style shows, as
45
+ * Visio does. With a resolvable theme the paint cells become THEMEVAL(); without one they get
46
+ * fixed colours from `visioFallbackQuickStyle` and the selectors are kept for a later theme.
47
+ */
48
+ export declare function quickStyleWrites(pkg: VisioPackage, document: Element, shape: Element, pageId: string, style: VisioQuickStyle, add: Add, check: () => void): Promise<Map<string, FormattingRowContext>>;
49
+ export {};
50
+ //# sourceMappingURL=edit-formatting-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-formatting-effects.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-effects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAIzF,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,YAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;AACvE,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,YAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAC7F,MAAM,MAAM,oBAAoB,GAC7B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,GACzC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CACf;AACD,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBAEQ,CAAC;AAE1E,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,YAChC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,EACR,MAAM,EACN,WAAW,EACX,KAAK,EACL,UAAU,CACD,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,KAAK,IAAI,iBACD,CAAC;AAE9D,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG;IACtF,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACb,CAIA;AAuBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb,CAwBA;AAID,KAAK,GAAG,GAAG,CACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,EACrC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAatE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CA6C5C"}
@@ -0,0 +1,43 @@
1
+ import type { FormattingWrite } from './edit-formatting.js';
2
+ /** A glow around the shape. Size and transparency 0 to 100 points and percent. */
3
+ export interface VisioGlowEffect {
4
+ /** Points; 0 removes the glow. */
5
+ size: number;
6
+ color: string;
7
+ /** Percent. */
8
+ transparency: number;
9
+ }
10
+ /** A faded mirror image below the shape. */
11
+ export interface VisioReflectionEffect {
12
+ /** Percent of the shape height the reflection shows; 0 removes it. */
13
+ size: number;
14
+ /** Percent transparency where the reflection starts. */
15
+ transparency: number;
16
+ /** Points between the shape and its reflection. */
17
+ distance: number;
18
+ /** Points of blur. */
19
+ blur: number;
20
+ }
21
+ /** Glow gallery sizes in points, as Visio's Glow Variations. */
22
+ export declare const VISIO_GLOW_SIZES: readonly [5, 8, 11, 18];
23
+ /** Transparency of the gallery glows, in percent. */
24
+ export declare const VISIO_GLOW_TRANSPARENCY = 60;
25
+ /** Soft Edges gallery sizes in points. */
26
+ export declare const VISIO_SOFT_EDGE_SIZES: readonly [1, 2.5, 5, 10, 25, 50];
27
+ /** Reflection Variations: tight, half and full, touching or offset by 4 or 8 points. */
28
+ export declare const VISIO_REFLECTION_PRESETS: readonly (VisioReflectionEffect & {
29
+ id: string;
30
+ label: string;
31
+ })[];
32
+ export declare function snapshotGlow(value: VisioGlowEffect): VisioGlowEffect;
33
+ export declare function snapshotSoftEdges(value: number): number;
34
+ export declare function snapshotReflection(value: VisioReflectionEffect): VisioReflectionEffect;
35
+ type Add = (name: string, value: string | number, category: FormattingWrite['category'], unit?: string, formula?: string) => void;
36
+ /** Cell writes for the effects an edit sets; lengths are written in points as Visio does. */
37
+ export declare function effectWrites(edit: {
38
+ glow?: VisioGlowEffect;
39
+ softEdges?: number;
40
+ reflection?: VisioReflectionEffect;
41
+ }, add: Add): void;
42
+ export {};
43
+ //# sourceMappingURL=edit-formatting-glow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-formatting-glow.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-glow.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC/B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;CACrB;AACD,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACrC,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,YAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACxD,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,0CAA0C;AAC1C,eAAO,MAAM,qBAAqB,YAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACtE,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,EAAE,SAAS,CAAC,qBAAqB,GAAG;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACd,CAAC,EAeD,CAAC;AAOF,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CASpE;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,CAQtF;AAED,KAAK,GAAG,GAAG,CACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,EACrC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACZ,IAAI,CAAC;AAIV,6FAA6F;AAC7F,wBAAgB,YAAY,CAC3B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAAE,EACxF,GAAG,EAAE,GAAG,GACN,IAAI,CAiBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting-paint-scope.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-paint-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA2D9C;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAsGf"}
1
+ {"version":3,"file":"edit-formatting-paint-scope.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-paint-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAY9C;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
@@ -1,6 +1,12 @@
1
1
  import type { VisioShapeFormatEdit } from './edit-formatting-commands.js';
2
2
  import type { FormattingWrite } from './edit-formatting.js';
3
3
  import type { VisioPackage } from './package.js';
4
+ import type { FormattingRowContext } from './edit-style-admission.js';
4
5
  export declare function shapeFormattingWrites(edit: VisioShapeFormatEdit): FormattingWrite[];
6
+ /** Paint writes plus Shape Styles (Quick Style and shadow) writes; later writes win by name. */
7
+ export declare function shapeFormattingPlan(pkg: VisioPackage, document: Element, shape: Element, edit: VisioShapeFormatEdit, check: () => void): Promise<{
8
+ writes: FormattingWrite[];
9
+ rows?: Map<string, FormattingRowContext>;
10
+ }>;
5
11
  export declare function assertShapeFormattingPaintScope(pkg: VisioPackage, document: Element, shape: Element, edit: VisioShapeFormatEdit, changed: ReadonlyMap<string, Element | undefined>, check: () => void): Promise<void>;
6
12
  //# sourceMappingURL=edit-formatting-paint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting-paint.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-paint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,eAAe,EAAE,CAoDnF;AACD,wBAAsB,+BAA+B,CACpD,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,EACjD,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CASf"}
1
+ {"version":3,"file":"edit-formatting-paint.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-paint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAInE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,eAAe,EAAE,CAoDnF;AACD,gGAAgG;AAChG,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CAAE,CAAC,CAsBlF;AACD,wBAAsB,+BAA+B,CACpD,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,EACjD,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting-scope.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAO9C;;GAEG;AACH,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,EACjD,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAmDf"}
1
+ {"version":3,"file":"edit-formatting-scope.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAS9C;;GAEG;AACH,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,EACjD,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAwDf"}
@@ -0,0 +1,56 @@
1
+ export type VisioTextCase = 'normal' | 'all-caps' | 'initial-caps' | 'small-caps';
2
+ export type VisioTextPosition = 'normal' | 'superscript' | 'subscript';
3
+ export declare const VISIO_TEXT_CASES: readonly VisioTextCase[];
4
+ export declare const VISIO_TEXT_POSITIONS: readonly VisioTextPosition[];
5
+ /** Text block placement as fractions of the shape's Width/Height, written as proportional formulas. */
6
+ export interface VisioTextBlockTransform {
7
+ /** TxtPinX / Width and TxtPinY / Height: the text block centre. */
8
+ x: number;
9
+ y: number;
10
+ /** TxtWidth / Width and TxtHeight / Height. */
11
+ width: number;
12
+ height: number;
13
+ /** TxtAngle in radians, counter-clockwise. */
14
+ angle: number;
15
+ }
16
+ export interface VisioTextMargins {
17
+ left?: number;
18
+ right?: number;
19
+ top?: number;
20
+ bottom?: number;
21
+ }
22
+ /** Text dialog properties (Font, Character, Paragraph, Text Block, Bullets). Lengths are points. */
23
+ export interface VisioTextFormatExtras {
24
+ /** Character colour transparency in percent (Char.ColorTrans). */
25
+ fontTransparency?: number;
26
+ textCase?: VisioTextCase;
27
+ textPosition?: VisioTextPosition;
28
+ /** Windows language identifier (Char.LangID), for example 1033 for English (United States). */
29
+ language?: number;
30
+ /** Char.Letterspace in points; negative values condense. */
31
+ letterSpacing?: number;
32
+ indentRight?: number;
33
+ /** First-line indent in points; negative values hang. */
34
+ indentFirst?: number;
35
+ spaceBefore?: number;
36
+ spaceAfter?: number;
37
+ /** `multiple` scales the font size (1.2 is Visio's single spacing); `exact` is in points. */
38
+ lineSpacing?: {
39
+ kind: 'multiple' | 'exact';
40
+ value: number;
41
+ };
42
+ /** Paragraph.Bullet: 0 none, 1-7 Visio's built-in bullet styles. */
43
+ bulletStyle?: number;
44
+ /** Paragraph.BulletStr: a custom bullet character; empty clears it. */
45
+ bulletText?: string;
46
+ margins?: VisioTextMargins;
47
+ /** TextBkgnd: an opaque colour or `none`. */
48
+ textBackground?: string;
49
+ textBackgroundTransparency?: number;
50
+ textBlock?: VisioTextBlockTransform;
51
+ }
52
+ export declare const textExtraCharacterKeys: readonly ['fontTransparency', 'textCase', 'textPosition', 'language', 'letterSpacing'];
53
+ export declare const textExtraParagraphKeys: readonly ['indentRight', 'indentFirst', 'spaceBefore', 'spaceAfter', 'lineSpacing', 'bulletStyle', 'bulletText'];
54
+ /** Copy and validate the Text dialog properties; unknown keys are dropped. */
55
+ export declare function snapshotTextFormatExtras(edit: VisioTextFormatExtras): VisioTextFormatExtras;
56
+ //# sourceMappingURL=edit-formatting-text-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-formatting-text-commands.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-text-commands.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,CAAC;AACvE,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAKpD,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAI5D,CAAC;AACF,uGAAuG;AACvG,MAAM,WAAW,uBAAuB;IACvC,mEAAmE;IACnE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,oGAAoG;AACpG,MAAM,WAAW,qBAAqB;IACrC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACpC;AACD,eAAO,MAAM,sBAAsB,YAClC,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,CACN,CAAC;AACX,eAAO,MAAM,sBAAsB,YAClC,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,CACH,CAAC;AAQX,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,CAqF3F"}
@@ -0,0 +1,11 @@
1
+ import { type VisioTextFormatExtras } from './edit-formatting-text-commands.js';
2
+ export type AddTextWrite = (name: string, value: string | number, unit?: string, formula?: string, dropUnit?: boolean) => void;
3
+ export declare const hasCharacterExtras: (edit: VisioTextFormatExtras) => boolean;
4
+ export declare const hasParagraphExtras: (edit: VisioTextFormatExtras) => boolean;
5
+ /** Native cell values: https://learn.microsoft.com/en-us/office/client-developer/visio/character-section */
6
+ export declare function characterExtraWrites(edit: VisioTextFormatExtras, name: (cell: string) => string, add: AddTextWrite): void;
7
+ /** https://learn.microsoft.com/en-us/office/client-developer/visio/paragraph-section */
8
+ export declare function paragraphExtraWrites(edit: VisioTextFormatExtras, name: (cell: string) => string, add: AddTextWrite): void;
9
+ /** Text Block Format and Text Transform cells on the shape sheet itself. */
10
+ export declare function textBlockWrites(shape: Element, edit: VisioTextFormatExtras, add: AddTextWrite): void;
11
+ //# sourceMappingURL=edit-formatting-text-extra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-formatting-text-extra.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-text-extra.ts"],"names":[],"mappings":"AAIA,OAAO,EAKN,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,KACd,IAAI,CAAC;AAEV,eAAO,MAAM,kBAAkB,SAAU,qBAAqB,KAAG,OACH,CAAC;AAC/D,eAAO,MAAM,kBAAkB,SAAU,qBAAqB,KAAG,OACH,CAAC;AAQ/D,4GAA4G;AAC5G,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC9B,GAAG,EAAE,YAAY,GACf,IAAI,CAQN;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC9B,GAAG,EAAE,YAAY,GACf,IAAI,CAiBN;AAgBD,4EAA4E;AAC5E,wBAAgB,eAAe,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,qBAAqB,EAC3B,GAAG,EAAE,YAAY,GACf,IAAI,CAoCN"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting-text.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-text.ts"],"names":[],"mappings":"AAKA,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,IAAI,GACf;IAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CAAE,CAwFxE"}
1
+ {"version":3,"file":"edit-formatting-text.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-text.ts"],"names":[],"mappings":"AAKA,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASzD,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,IAAI,GACf;IAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CAAE,CAoGxE"}
@@ -0,0 +1,14 @@
1
+ import type { VisioPackage } from './package.js';
2
+ import { type Sheet } from './sheet.js';
3
+ import { type StyleRecord } from './style-inheritance.js';
4
+ import type { ThemeResources } from './theme-resolve.js';
5
+ export declare function scalar(cell: Element | undefined): number | undefined;
6
+ export interface ShapeThemeContext {
7
+ /** The shape's merged style and local cells, with root theme selection applied. */
8
+ sheet: Sheet;
9
+ resources: ThemeResources;
10
+ styles: Map<string, StyleRecord>;
11
+ }
12
+ /** The parser's theme resources for one local shape, refusing anything it cannot prove. */
13
+ export declare function shapeThemeContext(pkg: VisioPackage, document: Element, shape: Element, pageId: string, check: () => void): Promise<ShapeThemeContext>;
14
+ //# sourceMappingURL=edit-formatting-theme-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-formatting-theme-context.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting-theme-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EASN,KAAK,KAAK,EACV,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgBtD,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAiBpE;AAED,MAAM,WAAW,iBAAiB;IACjC,mFAAmF;IACnF,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACjC;AACD,2FAA2F;AAC3F,wBAAsB,iBAAiB,CACtC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,iBAAiB,CAAC,CA4D5B"}
@@ -6,6 +6,8 @@ export interface FormattingWrite {
6
6
  value: string;
7
7
  unit?: string;
8
8
  formula?: string;
9
+ /** Remove a stored unit: the value is a plain scalar (negative SpLine multiples). */
10
+ dropUnit?: boolean;
9
11
  category: FormattingCategory;
10
12
  }
11
13
  export declare function applyFormattingEdit(pkg: VisioPackage, pagePaths: ReadonlySet<string>, roots: ReadonlyMap<string, Element>, document: Element, edit: VisioFormatEdit, check: () => void): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"edit-formatting.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAOlE,OAAO,EAMN,KAAK,kBAAkB,EAEvB,MAAM,wBAAwB,CAAC;AA2BhC,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,kBAAkB,CAAC;CAC7B;AAED,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,OAAO,CAAC,CAmGlB"}
1
+ {"version":3,"file":"edit-formatting.d.ts","sourceRoot":"","sources":["../../visio/edit-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAOlE,OAAO,EAMN,KAAK,kBAAkB,EAEvB,MAAM,wBAAwB,CAAC;AA2BhC,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;CAC7B;AAED,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,OAAO,CAAC,CA4GlB"}
@@ -13,7 +13,7 @@ export declare function admitted(root: Element, shapeId: string, masterMovePins?
13
13
  * Certified master moves preserve active non-movement locks.
14
14
  */
15
15
  export declare function protectedShape(shape: Element, document: Element, masterMovePins?: ReadonlySet<Element>, additionalLocks?: readonly ('LockBegin' | 'LockEnd' | 'LockRotate')[], preserveRotation?: boolean): boolean;
16
- export declare function resizeGeometry(shape: Element, roots: ReadonlyMap<string, Element>, edit: VisioGeometryEdit, check: () => void, lineEditShapes?: ReadonlySet<Element>): void;
16
+ export declare function resizeGeometry(shape: Element, roots: ReadonlyMap<string, Element>, edit: VisioGeometryEdit, check: () => void, lineEditShapes?: ReadonlySet<Element>, glueShapes?: ReadonlySet<Element>): void;
17
17
  /** Shared unit admission for local leaf and group descendant transforms. */
18
18
  export declare function assertLengthTransformCells(local: ReadonlyMap<string, Element>): void;
19
19
  //# sourceMappingURL=edit-geometry-admission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-geometry-admission.d.ts","sourceRoot":"","sources":["../../visio/edit-geometry-admission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIhE,OAAO,EAIN,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAWzD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAG9D;AACD,wBAAgB,YAAY,CAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,iBAAiB,GAC/D,IAAI,CAuBN;AACD,eAAO,MAAM,WAAW,UAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAE9B,CAAC;AACrC,wBAAgB,QAAQ,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,EAChD,gBAAgB,GAAE,WAAW,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAa,EACrF,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAC5C,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,GAC9C,OAAO,CAgDT;AACD;;GAEG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,EACjB,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,EAChD,eAAe,GAAE,SAAS,CAAC,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,EAAO,EACzE,gBAAgB,UAAQ,GACtB,OAAO,CA8HT;AACD,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,IAAI,EACjB,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,GAC9C,IAAI,CAuDN;AAED,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOpF"}
1
+ {"version":3,"file":"edit-geometry-admission.d.ts","sourceRoot":"","sources":["../../visio/edit-geometry-admission.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhE,OAAO,EAIN,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAWzD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAG9D;AACD,wBAAgB,YAAY,CAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,iBAAiB,GAC/D,IAAI,CAuBN;AACD,eAAO,MAAM,WAAW,UAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAE9B,CAAC;AACrC,wBAAgB,QAAQ,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,EAChD,gBAAgB,GAAE,WAAW,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAa,EACrF,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAC5C,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,GAC9C,OAAO,CAiDT;AACD;;GAEG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,EACjB,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,EAChD,eAAe,GAAE,SAAS,CAAC,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,EAAO,EACzE,gBAAgB,UAAQ,GACtB,OAAO,CA8HT;AACD,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,IAAI,EACjB,cAAc,GAAE,WAAW,CAAC,OAAO,CAAa,EAChD,UAAU,GAAE,WAAW,CAAC,OAAO,CAAa,GAC1C,IAAI,CAkEN;AAED,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-geometry.d.ts","sourceRoot":"","sources":["../../visio/edit-geometry.ts"],"names":[],"mappings":"AAaA,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoBhF,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,IAAI,EACjB,eAAe,GAAE,eAAwC,GACvD,SAAS,MAAM,EAAE,CA8QnB"}
1
+ {"version":3,"file":"edit-geometry.d.ts","sourceRoot":"","sources":["../../visio/edit-geometry.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoBhF,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,IAAI,EACjB,eAAe,GAAE,eAAwC,GACvD,SAAS,MAAM,EAAE,CA8SnB"}
@@ -0,0 +1,22 @@
1
+ /** Group top-level local shapes under a new Type="Group" sheet (native Group, Ctrl+Shift+G). */
2
+ export interface VisioGroupShapesEdit {
3
+ type: 'group-shapes';
4
+ pageId: string;
5
+ /** The new group's sheet ID; it must be unused on the page. */
6
+ shapeId: string;
7
+ /** Two or more top-level members; stacking order inside the group follows the page order. */
8
+ memberIds: readonly string[];
9
+ }
10
+ /** Dissolve a top-level group, returning its direct members to page coordinates. */
11
+ export interface VisioUngroupShapeEdit {
12
+ type: 'ungroup-shape';
13
+ pageId: string;
14
+ shapeId: string;
15
+ }
16
+ export type VisioGroupEdit = VisioGroupShapesEdit | VisioUngroupShapeEdit;
17
+ export declare const isVisioGroupEdit: (edit: {
18
+ type: string;
19
+ }) => edit is VisioGroupEdit;
20
+ /** Copy and validate a grouping command; source admission remains authoritative. */
21
+ export declare function snapshotGroupEdit(edit: VisioGroupEdit): VisioGroupEdit;
22
+ //# sourceMappingURL=edit-group-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-group-commands.d.ts","sourceRoot":"","sources":["../../visio/edit-group-commands.ts"],"names":[],"mappings":"AAEA,gGAAgG;AAChG,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AACD,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAE1E,eAAO,MAAM,gBAAgB,SAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,IAAI,IAAI,cACJ,CAAC;AAQ/D,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAWtE"}
@@ -1,5 +1,11 @@
1
1
  import type { VisioGeometryEdit } from './edit-commands.js';
2
- /** Authorize only a local group Angle leaf; descendants remain read-only/unsafe to recalculate. */
2
+ /** Prove a local 2D sheet tree without masters, lines or foreign objects; returns its IDs. */
3
+ export declare function proveLocalShapeTree(top: Element, check: () => void): Set<string>;
4
+ /** Refuse a tree when a page Connect record names any of its sheets. */
5
+ export declare function assertUngluedTree(root: Element, ids: ReadonlySet<string>, message: string): void;
6
+ /** Authorize only a local group Angle leaf (rotation) or its explicit pins (move).
7
+ * Descendants remain read-only and unsafe to recalculate.
8
+ */
3
9
  export declare function proveLocalGroupRotation(root: Element, edit: VisioGeometryEdit, check: () => void): {
4
10
  groups: Set<Element>;
5
11
  angleCells: Set<Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"edit-group-rotation.d.ts","sourceRoot":"","sources":["../../visio/edit-group-rotation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,mGAAmG;AACnG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,IAAI;;;EAmFhG"}
1
+ {"version":3,"file":"edit-group-rotation.d.ts","sourceRoot":"","sources":["../../visio/edit-group-rotation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAiEhF;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKhG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,IAAI;;;EA0BhG"}
@@ -0,0 +1,17 @@
1
+ import type { VisioGroupShapesEdit, VisioUngroupShapeEdit } from './edit-group-commands.js';
2
+ /** The page-space bounds of top-level sheets' alignment boxes (through pin, rotation and flips). */
3
+ export declare function visioShapeBounds(shapes: readonly Element[]): {
4
+ minX: number;
5
+ minY: number;
6
+ maxX: number;
7
+ maxY: number;
8
+ };
9
+ /** Native Group: the new sheet bounds the members' alignment boxes and owns them in its
10
+ * Shapes container. Member pins move into group-local inches; every other cell is preserved.
11
+ */
12
+ export declare function groupVisioShapes(root: Element, document: Element, edit: VisioGroupShapesEdit, check: () => void): boolean;
13
+ /** Native Ungroup: direct members return to page coordinates through the group's pin,
14
+ * rotation and flips; the group sheet (with its own data) is removed. Returns member IDs.
15
+ */
16
+ export declare function ungroupVisioShape(root: Element, document: Element, edit: VisioUngroupShapeEdit, check: () => void): readonly string[];
17
+ //# sourceMappingURL=edit-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-group.d.ts","sourceRoot":"","sources":["../../visio/edit-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAkFzF,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb,CAuBA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAqET;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,MAAM,IAAI,GACf,SAAS,MAAM,EAAE,CA8FnB"}