@deckflow/deckuse 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.es.md +342 -0
  2. package/README.fr.md +342 -0
  3. package/README.ja.md +342 -0
  4. package/README.ko.md +342 -0
  5. package/README.md +46 -8
  6. package/README.pt-BR.md +342 -0
  7. package/README.ru.md +342 -0
  8. package/README.zh-CN.md +367 -0
  9. package/assets/default.docx +0 -0
  10. package/assets/default.pptx +0 -0
  11. package/dist/bin.js +183 -19
  12. package/dist/bin.js.map +1 -1
  13. package/dist/core/adapter.d.ts +24 -0
  14. package/dist/core/adapter.d.ts.map +1 -0
  15. package/dist/core/adapter.js +20 -0
  16. package/dist/core/adapter.js.map +1 -0
  17. package/dist/core/executor.d.ts +24 -0
  18. package/dist/core/executor.d.ts.map +1 -0
  19. package/dist/core/executor.js +65 -0
  20. package/dist/core/executor.js.map +1 -0
  21. package/dist/core/index.d.ts +7 -0
  22. package/dist/core/index.d.ts.map +1 -0
  23. package/dist/core/index.js +7 -0
  24. package/dist/core/index.js.map +1 -0
  25. package/dist/core/length.d.ts +27 -0
  26. package/dist/core/length.d.ts.map +1 -0
  27. package/dist/core/length.js +63 -0
  28. package/dist/core/length.js.map +1 -0
  29. package/dist/core/measure.d.ts +24 -0
  30. package/dist/core/measure.d.ts.map +1 -0
  31. package/dist/core/measure.js +79 -0
  32. package/dist/core/measure.js.map +1 -0
  33. package/dist/core/not-implemented.d.ts +3 -0
  34. package/dist/core/not-implemented.d.ts.map +1 -0
  35. package/dist/core/not-implemented.js +12 -0
  36. package/dist/core/not-implemented.js.map +1 -0
  37. package/dist/core/schema.d.ts +3035 -0
  38. package/dist/core/schema.d.ts.map +1 -0
  39. package/dist/core/schema.js +798 -0
  40. package/dist/core/schema.js.map +1 -0
  41. package/dist/default-template.d.ts +8 -0
  42. package/dist/default-template.d.ts.map +1 -0
  43. package/dist/default-template.js +29 -0
  44. package/dist/default-template.js.map +1 -0
  45. package/dist/docx/adapter.d.ts +29 -0
  46. package/dist/docx/adapter.d.ts.map +1 -0
  47. package/dist/docx/adapter.js +442 -0
  48. package/dist/docx/adapter.js.map +1 -0
  49. package/dist/docx/addressing.d.ts +18 -0
  50. package/dist/docx/addressing.d.ts.map +1 -0
  51. package/dist/docx/addressing.js +111 -0
  52. package/dist/docx/addressing.js.map +1 -0
  53. package/dist/docx/blank.d.ts +4 -0
  54. package/dist/docx/blank.d.ts.map +1 -0
  55. package/dist/docx/blank.js +75 -0
  56. package/dist/docx/blank.js.map +1 -0
  57. package/dist/docx/index-sync.d.ts +7 -0
  58. package/dist/docx/index-sync.d.ts.map +1 -0
  59. package/dist/docx/index-sync.js +24 -0
  60. package/dist/docx/index-sync.js.map +1 -0
  61. package/dist/docx/index.d.ts +5 -0
  62. package/dist/docx/index.d.ts.map +1 -0
  63. package/dist/docx/index.js +4 -0
  64. package/dist/docx/index.js.map +1 -0
  65. package/dist/docx/indexer.d.ts +41 -0
  66. package/dist/docx/indexer.d.ts.map +1 -0
  67. package/dist/docx/indexer.js +353 -0
  68. package/dist/docx/indexer.js.map +1 -0
  69. package/dist/docx/mutations.d.ts +5 -0
  70. package/dist/docx/mutations.d.ts.map +1 -0
  71. package/dist/docx/mutations.js +311 -0
  72. package/dist/docx/mutations.js.map +1 -0
  73. package/dist/docx/paragraphs.d.ts +26 -0
  74. package/dist/docx/paragraphs.d.ts.map +1 -0
  75. package/dist/docx/paragraphs.js +314 -0
  76. package/dist/docx/paragraphs.js.map +1 -0
  77. package/dist/docx/properties.d.ts +23 -0
  78. package/dist/docx/properties.d.ts.map +1 -0
  79. package/dist/docx/properties.js +414 -0
  80. package/dist/docx/properties.js.map +1 -0
  81. package/dist/docx/tables.d.ts +4 -0
  82. package/dist/docx/tables.d.ts.map +1 -0
  83. package/dist/docx/tables.js +64 -0
  84. package/dist/docx/tables.js.map +1 -0
  85. package/dist/docx/text-spans.d.ts +25 -0
  86. package/dist/docx/text-spans.d.ts.map +1 -0
  87. package/dist/docx/text-spans.js +142 -0
  88. package/dist/docx/text-spans.js.map +1 -0
  89. package/dist/docx/types.d.ts +27 -0
  90. package/dist/docx/types.d.ts.map +1 -0
  91. package/dist/docx/types.js +2 -0
  92. package/dist/docx/types.js.map +1 -0
  93. package/dist/docx/workspace.d.ts +20 -0
  94. package/dist/docx/workspace.d.ts.map +1 -0
  95. package/dist/docx/workspace.js +145 -0
  96. package/dist/docx/workspace.js.map +1 -0
  97. package/dist/docx/xml.d.ts +18 -0
  98. package/dist/docx/xml.d.ts.map +1 -0
  99. package/dist/docx/xml.js +87 -0
  100. package/dist/docx/xml.js.map +1 -0
  101. package/dist/edition-config/index.d.ts +25 -0
  102. package/dist/edition-config/index.d.ts.map +1 -0
  103. package/dist/edition-config/index.js +22 -0
  104. package/dist/edition-config/index.js.map +1 -0
  105. package/dist/edition.d.ts +2 -2
  106. package/dist/edition.d.ts.map +1 -1
  107. package/dist/edition.js +1 -1
  108. package/dist/edition.js.map +1 -1
  109. package/dist/help.d.ts.map +1 -1
  110. package/dist/help.js +124 -32
  111. package/dist/help.js.map +1 -1
  112. package/dist/index.d.ts +1 -1
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +6 -6
  115. package/dist/index.js.map +1 -1
  116. package/dist/key/index.d.ts +2 -0
  117. package/dist/key/index.d.ts.map +1 -0
  118. package/dist/key/index.js +3 -0
  119. package/dist/key/index.js.map +1 -0
  120. package/dist/monitor-daemon.d.ts +21 -8
  121. package/dist/monitor-daemon.d.ts.map +1 -1
  122. package/dist/monitor-daemon.js +189 -51
  123. package/dist/monitor-daemon.js.map +1 -1
  124. package/dist/monitor-registry.d.ts +34 -0
  125. package/dist/monitor-registry.d.ts.map +1 -0
  126. package/dist/monitor-registry.js +191 -0
  127. package/dist/monitor-registry.js.map +1 -0
  128. package/dist/monitor.js +1 -1
  129. package/dist/monitor.js.map +1 -1
  130. package/dist/numbers/index.d.ts +2 -0
  131. package/dist/numbers/index.d.ts.map +1 -0
  132. package/dist/numbers/index.js +3 -0
  133. package/dist/numbers/index.js.map +1 -0
  134. package/dist/opc/index.d.ts +90 -0
  135. package/dist/opc/index.d.ts.map +1 -0
  136. package/dist/opc/index.js +569 -0
  137. package/dist/opc/index.js.map +1 -0
  138. package/dist/pptx/adapter.d.ts +167 -0
  139. package/dist/pptx/adapter.d.ts.map +1 -0
  140. package/dist/pptx/adapter.js +807 -0
  141. package/dist/pptx/adapter.js.map +1 -0
  142. package/dist/pptx/addressing.d.ts +45 -0
  143. package/dist/pptx/addressing.d.ts.map +1 -0
  144. package/dist/pptx/addressing.js +428 -0
  145. package/dist/pptx/addressing.js.map +1 -0
  146. package/dist/pptx/align.d.ts +24 -0
  147. package/dist/pptx/align.d.ts.map +1 -0
  148. package/dist/pptx/align.js +112 -0
  149. package/dist/pptx/align.js.map +1 -0
  150. package/dist/pptx/chart-classify.d.ts +10 -0
  151. package/dist/pptx/chart-classify.d.ts.map +1 -0
  152. package/dist/pptx/chart-classify.js +58 -0
  153. package/dist/pptx/chart-classify.js.map +1 -0
  154. package/dist/pptx/chart.d.ts +42 -0
  155. package/dist/pptx/chart.d.ts.map +1 -0
  156. package/dist/pptx/chart.js +614 -0
  157. package/dist/pptx/chart.js.map +1 -0
  158. package/dist/pptx/edition-extension.d.ts +25 -0
  159. package/dist/pptx/edition-extension.d.ts.map +1 -0
  160. package/dist/pptx/edition-extension.js +10 -0
  161. package/dist/pptx/edition-extension.js.map +1 -0
  162. package/dist/pptx/edition.d.ts +20 -0
  163. package/dist/pptx/edition.d.ts.map +1 -0
  164. package/dist/pptx/edition.js +69 -0
  165. package/dist/pptx/edition.js.map +1 -0
  166. package/dist/pptx/elements.d.ts +12 -0
  167. package/dist/pptx/elements.d.ts.map +1 -0
  168. package/dist/pptx/elements.js +224 -0
  169. package/dist/pptx/elements.js.map +1 -0
  170. package/dist/pptx/hyperlink.d.ts +7 -0
  171. package/dist/pptx/hyperlink.d.ts.map +1 -0
  172. package/dist/pptx/hyperlink.js +81 -0
  173. package/dist/pptx/hyperlink.js.map +1 -0
  174. package/dist/pptx/index-sync.d.ts +7 -0
  175. package/dist/pptx/index-sync.d.ts.map +1 -0
  176. package/dist/pptx/index-sync.js +24 -0
  177. package/dist/pptx/index-sync.js.map +1 -0
  178. package/dist/pptx/index.d.ts +10 -0
  179. package/dist/pptx/index.d.ts.map +1 -0
  180. package/dist/pptx/index.js +7 -0
  181. package/dist/pptx/index.js.map +1 -0
  182. package/dist/pptx/indexer.d.ts +19 -0
  183. package/dist/pptx/indexer.d.ts.map +1 -0
  184. package/dist/pptx/indexer.js +319 -0
  185. package/dist/pptx/indexer.js.map +1 -0
  186. package/dist/pptx/layout-ref.d.ts +41 -0
  187. package/dist/pptx/layout-ref.d.ts.map +1 -0
  188. package/dist/pptx/layout-ref.js +145 -0
  189. package/dist/pptx/layout-ref.js.map +1 -0
  190. package/dist/pptx/media.d.ts +15 -0
  191. package/dist/pptx/media.d.ts.map +1 -0
  192. package/dist/pptx/media.js +145 -0
  193. package/dist/pptx/media.js.map +1 -0
  194. package/dist/pptx/mutations.d.ts +11 -0
  195. package/dist/pptx/mutations.d.ts.map +1 -0
  196. package/dist/pptx/mutations.js +1111 -0
  197. package/dist/pptx/mutations.js.map +1 -0
  198. package/dist/pptx/picture.d.ts +25 -0
  199. package/dist/pptx/picture.d.ts.map +1 -0
  200. package/dist/pptx/picture.js +118 -0
  201. package/dist/pptx/picture.js.map +1 -0
  202. package/dist/pptx/placeholder-role.d.ts +19 -0
  203. package/dist/pptx/placeholder-role.d.ts.map +1 -0
  204. package/dist/pptx/placeholder-role.js +71 -0
  205. package/dist/pptx/placeholder-role.js.map +1 -0
  206. package/dist/pptx/properties.d.ts +13 -0
  207. package/dist/pptx/properties.d.ts.map +1 -0
  208. package/dist/pptx/properties.js +587 -0
  209. package/dist/pptx/properties.js.map +1 -0
  210. package/dist/pptx/resolve-properties.d.ts +17 -0
  211. package/dist/pptx/resolve-properties.d.ts.map +1 -0
  212. package/dist/pptx/resolve-properties.js +571 -0
  213. package/dist/pptx/resolve-properties.js.map +1 -0
  214. package/dist/pptx/slide-size.d.ts +9 -0
  215. package/dist/pptx/slide-size.d.ts.map +1 -0
  216. package/dist/pptx/slide-size.js +29 -0
  217. package/dist/pptx/slide-size.js.map +1 -0
  218. package/dist/pptx/slides.d.ts +15 -0
  219. package/dist/pptx/slides.d.ts.map +1 -0
  220. package/dist/pptx/slides.js +236 -0
  221. package/dist/pptx/slides.js.map +1 -0
  222. package/dist/pptx/table-measure.d.ts +43 -0
  223. package/dist/pptx/table-measure.d.ts.map +1 -0
  224. package/dist/pptx/table-measure.js +70 -0
  225. package/dist/pptx/table-measure.js.map +1 -0
  226. package/dist/pptx/table.d.ts +23 -0
  227. package/dist/pptx/table.d.ts.map +1 -0
  228. package/dist/pptx/table.js +529 -0
  229. package/dist/pptx/table.js.map +1 -0
  230. package/dist/pptx/types.d.ts +27 -0
  231. package/dist/pptx/types.d.ts.map +1 -0
  232. package/dist/pptx/types.js +2 -0
  233. package/dist/pptx/types.js.map +1 -0
  234. package/dist/pptx/workspace.d.ts +23 -0
  235. package/dist/pptx/workspace.d.ts.map +1 -0
  236. package/dist/pptx/workspace.js +148 -0
  237. package/dist/pptx/workspace.js.map +1 -0
  238. package/dist/pptx/xml.d.ts +67 -0
  239. package/dist/pptx/xml.d.ts.map +1 -0
  240. package/dist/pptx/xml.js +355 -0
  241. package/dist/pptx/xml.js.map +1 -0
  242. package/dist/render.d.ts.map +1 -1
  243. package/dist/render.js +14 -2
  244. package/dist/render.js.map +1 -1
  245. package/dist/version.d.ts +1 -1
  246. package/dist/version.js +1 -1
  247. package/dist/workspace/git.d.ts +7 -0
  248. package/dist/workspace/git.d.ts.map +1 -0
  249. package/dist/workspace/git.js +82 -0
  250. package/dist/workspace/git.js.map +1 -0
  251. package/dist/workspace/index.d.ts +7 -0
  252. package/dist/workspace/index.d.ts.map +1 -0
  253. package/dist/workspace/index.js +7 -0
  254. package/dist/workspace/index.js.map +1 -0
  255. package/dist/workspace/lock.d.ts +3 -0
  256. package/dist/workspace/lock.d.ts.map +1 -0
  257. package/dist/workspace/lock.js +35 -0
  258. package/dist/workspace/lock.js.map +1 -0
  259. package/dist/workspace/metadata.d.ts +4 -0
  260. package/dist/workspace/metadata.d.ts.map +1 -0
  261. package/dist/workspace/metadata.js +21 -0
  262. package/dist/workspace/metadata.js.map +1 -0
  263. package/dist/workspace/operations.d.ts +14 -0
  264. package/dist/workspace/operations.d.ts.map +1 -0
  265. package/dist/workspace/operations.js +35 -0
  266. package/dist/workspace/operations.js.map +1 -0
  267. package/dist/workspace/paths.d.ts +11 -0
  268. package/dist/workspace/paths.d.ts.map +1 -0
  269. package/dist/workspace/paths.js +12 -0
  270. package/dist/workspace/paths.js.map +1 -0
  271. package/dist/workspace/revision.d.ts +6 -0
  272. package/dist/workspace/revision.d.ts.map +1 -0
  273. package/dist/workspace/revision.js +15 -0
  274. package/dist/workspace/revision.js.map +1 -0
  275. package/dist/xlsx/index.d.ts +2 -0
  276. package/dist/xlsx/index.d.ts.map +1 -0
  277. package/dist/xlsx/index.js +3 -0
  278. package/dist/xlsx/index.js.map +1 -0
  279. package/package.json +48 -27
  280. package/schema/command.schema.json +2399 -0
  281. package/dist/.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/pptx/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { type ElementRef, type Result } from '../core/index.js';
2
+ import type { IndexFile, IndexedElement } from './types.js';
3
+ export type TargetKind = 'presentation' | 'theme' | 'layout' | 'master' | 'slide' | 'shape' | 'placeholder' | 'notes' | 'text' | 'paragraph' | 'run';
4
+ export interface ParsedTarget {
5
+ raw: string;
6
+ kind: TargetKind;
7
+ slide?: number;
8
+ shapeId?: string;
9
+ shapeName?: string;
10
+ placeholder?: string;
11
+ layout?: string;
12
+ master?: string;
13
+ paragraph?: number;
14
+ run?: number;
15
+ focus?: 'text' | 'paragraph' | 'run';
16
+ }
17
+ export interface ResolvedTarget {
18
+ target: string;
19
+ uid: string;
20
+ item: IndexedElement;
21
+ slidePage?: number;
22
+ parsed: ParsedTarget;
23
+ }
24
+ export declare const stableUid: (parts: {
25
+ documentId: string;
26
+ partUri: string;
27
+ cNvPrId?: string;
28
+ kind: string;
29
+ }) => string;
30
+ export declare function parseTargetPath(raw: string): Result<ParsedTarget>;
31
+ declare const slideByPage: (index: IndexFile, page: number) => IndexedElement | undefined;
32
+ declare const shapesOnSlide: (index: IndexFile, slide: IndexedElement) => IndexedElement[];
33
+ declare const cNvPrIdOf: (item: IndexedElement) => string | undefined;
34
+ export declare function targetPathForItem(index: IndexFile, item: IndexedElement): string;
35
+ export declare function uidForItem(item: IndexedElement): string;
36
+ export declare function resolveTarget(index: IndexFile, raw: string): Result<ResolvedTarget>;
37
+ export declare function resolveToRef(index: IndexFile, targetOrRef: {
38
+ target?: string;
39
+ ref?: ElementRef;
40
+ }): Result<{
41
+ ref: ElementRef;
42
+ resolved?: ResolvedTarget;
43
+ }>;
44
+ export { cNvPrIdOf, shapesOnSlide, slideByPage };
45
+ //# sourceMappingURL=addressing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressing.d.ts","sourceRoot":"","sources":["../../src/pptx/addressing.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,MAAM,GACN,WAAW,GACX,KAAK,CAAC;AAEV,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAcD,eAAO,MAAM,SAAS,GAAI,OAAO;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,KAAG,MAkBH,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAuGjE;AAED,QAAA,MAAM,WAAW,GAAI,OAAO,SAAS,EAAE,MAAM,MAAM,KAAG,cAAc,GAAG,SAGtE,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,SAAS,EAAE,OAAO,cAAc,KAAG,cAAc,EAI5E,CAAC;AAEJ,QAAA,MAAM,SAAS,GAAI,MAAM,cAAc,KAAG,MAAM,GAAG,SAKlC,CAAC;AAElB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAqChF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAQvD;AAgCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CA+MnF;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,GACjD,MAAM,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,CAcxD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,428 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { err } from '../core/index.js';
3
+ import { orderedLayouts } from './layout-ref.js';
4
+ import { findIndexed, slidePageMap } from './indexer.js';
5
+ const SHAPE_KINDS = new Set([
6
+ 'shape',
7
+ 'textbox',
8
+ 'picture',
9
+ 'video',
10
+ 'audio',
11
+ 'connector',
12
+ 'group',
13
+ 'table',
14
+ 'chart',
15
+ ]);
16
+ export const stableUid = (parts) => {
17
+ const key = `${parts.documentId}|${parts.partUri}|${parts.cNvPrId ?? ''}|${parts.kind}`;
18
+ const hash = createHash('sha1').update(key).digest('hex').slice(0, 32);
19
+ const prefix = parts.kind === 'slide'
20
+ ? 'sld'
21
+ : parts.kind === 'textbox'
22
+ ? 'tx'
23
+ : parts.kind === 'picture'
24
+ ? 'pic'
25
+ : parts.kind === 'master'
26
+ ? 'mst'
27
+ : parts.kind === 'layout'
28
+ ? 'lay'
29
+ : parts.kind === 'theme'
30
+ ? 'thm'
31
+ : 'sp';
32
+ return `du:${prefix}:${hash.slice(0, 8)}-${hash.slice(8, 12)}-${hash.slice(12, 16)}-${hash.slice(16, 20)}-${hash.slice(20, 32)}`;
33
+ };
34
+ export function parseTargetPath(raw) {
35
+ const trimmed = raw.trim();
36
+ if (!trimmed)
37
+ return err('INVALID_COMMAND', 'Target path is empty');
38
+ if (trimmed === 'presentation')
39
+ return { ok: true, value: { raw: trimmed, kind: 'presentation' }, diagnostics: [] };
40
+ if (trimmed === 'theme')
41
+ return { ok: true, value: { raw: trimmed, kind: 'theme' }, diagnostics: [] };
42
+ const segments = trimmed.split('/');
43
+ const head = segments[0] ?? '';
44
+ if (head.startsWith('layout:')) {
45
+ return {
46
+ ok: true,
47
+ value: { raw: trimmed, kind: 'layout', layout: head.slice('layout:'.length) },
48
+ diagnostics: [],
49
+ };
50
+ }
51
+ if (head.startsWith('master:')) {
52
+ return {
53
+ ok: true,
54
+ value: { raw: trimmed, kind: 'master', master: head.slice('master:'.length) },
55
+ diagnostics: [],
56
+ };
57
+ }
58
+ if (!head.startsWith('slide:'))
59
+ return err('INVALID_COMMAND', `Unrecognized target path: ${trimmed}`, [], {
60
+ target: trimmed,
61
+ hint: 'Use slide:<n>/shape:<id-or-name>, layout:<name>, master:<name>, or theme.',
62
+ });
63
+ const slide = Number(head.slice('slide:'.length));
64
+ if (!Number.isInteger(slide) || slide < 1)
65
+ return err('INVALID_COMMAND', `Invalid slide index in target: ${trimmed}`, [], {
66
+ target: trimmed,
67
+ });
68
+ if (segments.length === 1)
69
+ return { ok: true, value: { raw: trimmed, kind: 'slide', slide }, diagnostics: [] };
70
+ const second = segments[1] ?? '';
71
+ let parsed = { raw: trimmed, kind: 'slide', slide };
72
+ if (second.startsWith('shape:')) {
73
+ const token = second.slice('shape:'.length);
74
+ if (!token)
75
+ return err('INVALID_COMMAND', `Missing shape id in target: ${trimmed}`, [], {
76
+ target: trimmed,
77
+ });
78
+ const asNum = Number(token);
79
+ parsed = {
80
+ ...parsed,
81
+ kind: 'shape',
82
+ ...(Number.isInteger(asNum) && String(asNum) === token
83
+ ? { shapeId: token }
84
+ : { shapeName: token }),
85
+ };
86
+ }
87
+ else if (second.startsWith('placeholder:')) {
88
+ parsed = {
89
+ ...parsed,
90
+ kind: 'placeholder',
91
+ placeholder: second.slice('placeholder:'.length),
92
+ };
93
+ }
94
+ else if (second === 'notes') {
95
+ parsed = { ...parsed, kind: 'notes' };
96
+ }
97
+ else {
98
+ return err('INVALID_COMMAND', `Unrecognized target segment: ${second}`, [], {
99
+ target: trimmed,
100
+ });
101
+ }
102
+ if (segments.length === 2)
103
+ return { ok: true, value: parsed, diagnostics: [] };
104
+ const third = segments[2] ?? '';
105
+ if (third === 'text') {
106
+ return {
107
+ ok: true,
108
+ value: { ...parsed, kind: 'text', focus: 'text' },
109
+ diagnostics: [],
110
+ };
111
+ }
112
+ if (third.startsWith('paragraph:')) {
113
+ const n = Number(third.slice('paragraph:'.length));
114
+ if (!Number.isInteger(n) || n < 0)
115
+ return err('INVALID_COMMAND', `Invalid paragraph index: ${trimmed}`, [], {
116
+ target: trimmed,
117
+ });
118
+ return {
119
+ ok: true,
120
+ value: { ...parsed, kind: 'paragraph', paragraph: n, focus: 'paragraph' },
121
+ diagnostics: [],
122
+ };
123
+ }
124
+ if (third.startsWith('run:')) {
125
+ const n = Number(third.slice('run:'.length));
126
+ if (!Number.isInteger(n) || n < 0)
127
+ return err('INVALID_COMMAND', `Invalid run index: ${trimmed}`, [], { target: trimmed });
128
+ return {
129
+ ok: true,
130
+ value: { ...parsed, kind: 'run', run: n, focus: 'run' },
131
+ diagnostics: [],
132
+ };
133
+ }
134
+ return err('INVALID_COMMAND', `Unrecognized target path: ${trimmed}`, [], { target: trimmed });
135
+ }
136
+ const slideByPage = (index, page) => {
137
+ const slides = index.elements.filter((item) => item.kind === 'slide');
138
+ return slides[page - 1];
139
+ };
140
+ const shapesOnSlide = (index, slide) => index.elements.filter((item) => SHAPE_KINDS.has(item.kind) && item.partUri === slide.partUri && item.kind !== 'tableCell');
141
+ const cNvPrIdOf = (item) => typeof item.location?.['cNvPrId'] === 'string'
142
+ ? item.location['cNvPrId']
143
+ : item.ref.elementId?.includes(':')
144
+ ? item.ref.elementId.split(':').slice(1).join(':').split('.').at(-1)
145
+ : undefined;
146
+ export function targetPathForItem(index, item) {
147
+ const pages = slidePageMap(index);
148
+ if (item.kind === 'slide') {
149
+ const page = pages.get(item.partUri) ?? (item.slideId ? pages.get(item.slideId) : undefined);
150
+ return page ? `slide:${page}` : `slide:?`;
151
+ }
152
+ if (item.kind === 'layout') {
153
+ const name = item.partUri
154
+ .split('/')
155
+ .pop()
156
+ ?.replace(/\.xml$/, '') ?? item.partUri;
157
+ return `layout:${name}`;
158
+ }
159
+ if (item.kind === 'master') {
160
+ const name = item.partUri
161
+ .split('/')
162
+ .pop()
163
+ ?.replace(/\.xml$/, '') ?? item.partUri;
164
+ return `master:${name}`;
165
+ }
166
+ if (item.kind === 'theme')
167
+ return 'theme';
168
+ if (item.kind === 'notes') {
169
+ const page = (item.slideId ? pages.get(item.slideId) : undefined) ??
170
+ (typeof item.location?.['slidePart'] === 'string'
171
+ ? pages.get(item.location['slidePart'])
172
+ : undefined);
173
+ return page ? `slide:${page}/notes` : (item.ref.elementId ?? 'notes');
174
+ }
175
+ if (item.slideId || item.partUri) {
176
+ const page = (item.slideId ? pages.get(item.slideId) : undefined) ?? pages.get(item.partUri);
177
+ const id = cNvPrIdOf(item);
178
+ if (page && id)
179
+ return `slide:${page}/shape:${id}`;
180
+ }
181
+ return item.ref.elementId ?? item.ref.path ?? 'unknown';
182
+ }
183
+ export function uidForItem(item) {
184
+ const cNvPrId = cNvPrIdOf(item);
185
+ return stableUid({
186
+ documentId: item.ref.documentId,
187
+ partUri: item.partUri,
188
+ ...(cNvPrId !== undefined ? { cNvPrId } : {}),
189
+ kind: item.kind,
190
+ });
191
+ }
192
+ /** Basename of an OPC part URI without the `.xml` suffix (e.g. `slideLayout1`). */
193
+ const partBaseName = (partUri) => partUri
194
+ .split('/')
195
+ .pop()
196
+ ?.replace(/\.xml$/i, '') ?? '';
197
+ /**
198
+ * Match layout/master parts by exact basename, display name, or full part URI.
199
+ * Avoid substring `includes` — `slideLayout1` must not match `slideLayout10`.
200
+ */
201
+ const matchNamedParts = (index, kind, needleRaw) => {
202
+ const needle = needleRaw.toLowerCase();
203
+ return index.elements.filter((el) => {
204
+ if (el.kind !== kind)
205
+ return false;
206
+ const base = partBaseName(el.partUri).toLowerCase();
207
+ const uri = el.partUri.toLowerCase();
208
+ return (base === needle ||
209
+ (el.name?.toLowerCase() ?? '') === needle ||
210
+ uri === needle ||
211
+ uri.endsWith(`/${needle}.xml`));
212
+ });
213
+ };
214
+ export function resolveTarget(index, raw) {
215
+ const parsedResult = parseTargetPath(raw);
216
+ if (!parsedResult.ok)
217
+ return parsedResult;
218
+ const parsed = parsedResult.value;
219
+ if (parsed.kind === 'presentation') {
220
+ const first = index.elements.find((item) => item.kind === 'slide');
221
+ if (!first)
222
+ return err('TARGET_NOT_FOUND', 'Presentation has no slides', [], { target: raw });
223
+ return {
224
+ ok: true,
225
+ value: {
226
+ target: 'presentation',
227
+ uid: stableUid({
228
+ documentId: first.ref.documentId,
229
+ partUri: '/ppt/presentation.xml',
230
+ kind: 'presentation',
231
+ }),
232
+ item: first,
233
+ parsed,
234
+ },
235
+ diagnostics: [],
236
+ };
237
+ }
238
+ if (parsed.kind === 'theme') {
239
+ const item = index.elements.find((el) => el.kind === 'theme');
240
+ if (!item)
241
+ return err('TARGET_NOT_FOUND', 'Theme not found', [], { target: raw });
242
+ return {
243
+ ok: true,
244
+ value: {
245
+ target: 'theme',
246
+ uid: uidForItem(item),
247
+ item,
248
+ parsed,
249
+ },
250
+ diagnostics: [],
251
+ };
252
+ }
253
+ if (parsed.kind === 'layout' && parsed.layout) {
254
+ // Numeric layout:N matches list layouts 1-based index (natural basename order).
255
+ if (/^\d+$/.test(parsed.layout)) {
256
+ const page = Number(parsed.layout);
257
+ const layouts = orderedLayouts(index);
258
+ const item = layouts[page - 1];
259
+ if (!item)
260
+ return err('TARGET_NOT_FOUND', `Layout index out of range: ${page}`, [], {
261
+ target: raw,
262
+ hint: 'Run deckuse list layouts --json.',
263
+ });
264
+ return {
265
+ ok: true,
266
+ value: { target: targetPathForItem(index, item), uid: uidForItem(item), item, parsed },
267
+ diagnostics: [],
268
+ };
269
+ }
270
+ const matches = matchNamedParts(index, 'layout', parsed.layout);
271
+ if (matches.length === 0)
272
+ return err('TARGET_NOT_FOUND', `Layout not found: ${parsed.layout}`, [], { target: raw });
273
+ if (matches.length > 1)
274
+ return err('AMBIGUOUS_NAME', `Layout name is ambiguous: ${parsed.layout}`, [], {
275
+ target: raw,
276
+ });
277
+ const item = matches[0];
278
+ return {
279
+ ok: true,
280
+ value: { target: targetPathForItem(index, item), uid: uidForItem(item), item, parsed },
281
+ diagnostics: [],
282
+ };
283
+ }
284
+ if (parsed.kind === 'master' && parsed.master) {
285
+ const matches = matchNamedParts(index, 'master', parsed.master);
286
+ if (matches.length === 0)
287
+ return err('TARGET_NOT_FOUND', `Master not found: ${parsed.master}`, [], { target: raw });
288
+ if (matches.length > 1)
289
+ return err('AMBIGUOUS_NAME', `Master name is ambiguous: ${parsed.master}`, [], {
290
+ target: raw,
291
+ });
292
+ const item = matches[0];
293
+ return {
294
+ ok: true,
295
+ value: { target: targetPathForItem(index, item), uid: uidForItem(item), item, parsed },
296
+ diagnostics: [],
297
+ };
298
+ }
299
+ if (parsed.slide === undefined)
300
+ return err('INVALID_COMMAND', `Invalid target: ${raw}`, [], { target: raw });
301
+ const slide = slideByPage(index, parsed.slide);
302
+ if (!slide)
303
+ return err('TARGET_NOT_FOUND', `slide:${parsed.slide} does not exist`, [], {
304
+ target: raw,
305
+ hint: 'Run deckuse list slides --json.',
306
+ });
307
+ if (parsed.kind === 'slide') {
308
+ return {
309
+ ok: true,
310
+ value: {
311
+ target: `slide:${parsed.slide}`,
312
+ uid: uidForItem(slide),
313
+ item: slide,
314
+ slidePage: parsed.slide,
315
+ parsed,
316
+ },
317
+ diagnostics: [],
318
+ };
319
+ }
320
+ if (parsed.kind === 'notes') {
321
+ const notes = index.elements.find((item) => item.kind === 'notes' && item.slideId === slide.slideId);
322
+ if (notes) {
323
+ return {
324
+ ok: true,
325
+ value: {
326
+ target: `slide:${parsed.slide}/notes`,
327
+ uid: uidForItem(notes),
328
+ item: notes,
329
+ slidePage: parsed.slide,
330
+ parsed,
331
+ },
332
+ diagnostics: [],
333
+ };
334
+ }
335
+ // Synthetic notes target — mutate will call ensureNotes before writing.
336
+ const slideId = slide.slideId ?? String(parsed.slide);
337
+ const synthetic = {
338
+ ref: {
339
+ documentId: slide.ref.documentId,
340
+ elementId: `notes:${slideId}`,
341
+ path: '',
342
+ revision: slide.ref.revision,
343
+ },
344
+ kind: 'notes',
345
+ partUri: '',
346
+ slideId,
347
+ location: {
348
+ slideId,
349
+ partUri: '',
350
+ region: 'speakerNotes',
351
+ slidePart: slide.partUri,
352
+ needsCreate: true,
353
+ },
354
+ };
355
+ return {
356
+ ok: true,
357
+ value: {
358
+ target: `slide:${parsed.slide}/notes`,
359
+ uid: uidForItem(synthetic),
360
+ item: synthetic,
361
+ slidePage: parsed.slide,
362
+ parsed,
363
+ },
364
+ diagnostics: [],
365
+ };
366
+ }
367
+ const shapes = shapesOnSlide(index, slide);
368
+ let matches = [];
369
+ if (parsed.shapeId) {
370
+ matches = shapes.filter((item) => cNvPrIdOf(item) === parsed.shapeId);
371
+ }
372
+ else if (parsed.shapeName) {
373
+ matches = shapes.filter((item) => item.name === parsed.shapeName);
374
+ if (matches.length > 1)
375
+ return err('AMBIGUOUS_NAME', `Shape name "${parsed.shapeName}" is ambiguous on slide:${parsed.slide}`, [], { target: raw });
376
+ }
377
+ else if (parsed.placeholder) {
378
+ matches = shapes.filter((item) => {
379
+ const role = item.payload?.['placeholder'];
380
+ return typeof role === 'string' && role === parsed.placeholder;
381
+ });
382
+ }
383
+ const item = matches[0];
384
+ if (!item) {
385
+ const label = parsed.shapeId
386
+ ? `shape:${parsed.shapeId}`
387
+ : parsed.shapeName
388
+ ? `shape:${parsed.shapeName}`
389
+ : `placeholder:${parsed.placeholder ?? '?'}`;
390
+ return err('TARGET_NOT_FOUND', `${label} does not exist on slide:${parsed.slide}`, [], {
391
+ target: raw,
392
+ hint: `Run deckuse list shapes --slide ${parsed.slide} --json.`,
393
+ });
394
+ }
395
+ const id = cNvPrIdOf(item) ?? '?';
396
+ const canonical = `slide:${parsed.slide}/shape:${id}`;
397
+ return {
398
+ ok: true,
399
+ value: {
400
+ target: canonical,
401
+ uid: uidForItem(item),
402
+ item,
403
+ slidePage: parsed.slide,
404
+ parsed,
405
+ },
406
+ diagnostics: [],
407
+ };
408
+ }
409
+ export function resolveToRef(index, targetOrRef) {
410
+ if (targetOrRef.ref) {
411
+ const item = findIndexed(index, targetOrRef.ref);
412
+ if (!item)
413
+ return err('ELEMENT_NOT_FOUND', 'Element reference was not found');
414
+ return { ok: true, value: { ref: item.ref }, diagnostics: [] };
415
+ }
416
+ if (!targetOrRef.target)
417
+ return err('INVALID_COMMAND', 'ref or target is required');
418
+ const resolved = resolveTarget(index, targetOrRef.target);
419
+ if (!resolved.ok)
420
+ return resolved;
421
+ return {
422
+ ok: true,
423
+ value: { ref: resolved.value.item.ref, resolved: resolved.value },
424
+ diagnostics: [],
425
+ };
426
+ }
427
+ export { cNvPrIdOf, shapesOnSlide, slideByPage };
428
+ //# sourceMappingURL=addressing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressing.js","sourceRoot":"","sources":["../../src/pptx/addressing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type LengthInput } from '../core/index.js';
2
+ import type { Element } from '@xmldom/xmldom';
3
+ import type { LengthContext } from '../core/index.js';
4
+ export interface ShapeBBox {
5
+ readonly x: number;
6
+ readonly y: number;
7
+ readonly width: number;
8
+ readonly height: number;
9
+ readonly node: Element;
10
+ }
11
+ export type AlignMode = 'left' | 'right' | 'top' | 'bottom' | 'center-h' | 'center-v' | 'distribute-h' | 'distribute-v';
12
+ export declare function readBBox(node: Element): ShapeBBox | undefined;
13
+ export declare function writeBBox(node: Element, box: {
14
+ x?: number;
15
+ y?: number;
16
+ width?: number;
17
+ height?: number;
18
+ }): void;
19
+ export declare function computeAlignUpdates(boxes: ShapeBBox[], mode: AlignMode, gap: LengthInput | undefined, lengthContext: LengthContext): Array<{
20
+ node: Element;
21
+ x?: number;
22
+ y?: number;
23
+ }>;
24
+ //# sourceMappingURL=align.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../src/pptx/align.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GACnB,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,cAAc,CAAC;AAElG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAW7D;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,IAAI,CAUN;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAAE,EAClB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,aAAa,EAAE,aAAa,GAC3B,KAAK,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyElD"}