@web-ppt/edit-core 0.5.0-beta.2 → 0.5.0-beta.7

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 (337) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/README.md +164 -21
  3. package/dist/alt-text.d.ts +5 -0
  4. package/dist/appearance/index.d.ts +12 -0
  5. package/dist/appearance/materialize.d.ts +4 -0
  6. package/dist/appearance/types.d.ts +26 -0
  7. package/dist/appearance/values.d.ts +9 -0
  8. package/dist/appearance.js +301 -0
  9. package/dist/cfb/index.d.ts +5 -0
  10. package/dist/cfb/read.d.ts +16 -0
  11. package/dist/cfb/write.d.ts +3 -0
  12. package/dist/cfb.js +208 -0
  13. package/dist/change-classification.d.ts +3 -3
  14. package/dist/chart/category-binding.d.ts +4 -0
  15. package/dist/chart/category-commands.d.ts +23 -0
  16. package/dist/chart/category-levels.d.ts +14 -0
  17. package/dist/chart/category-matrix.d.ts +2 -0
  18. package/dist/chart/category-value.d.ts +2 -0
  19. package/dist/chart/category-workbook.d.ts +13 -0
  20. package/dist/chart/commands.d.ts +28 -0
  21. package/dist/chart/context.d.ts +12 -0
  22. package/dist/chart/dataset-merge.d.ts +5 -0
  23. package/dist/chart/formula.d.ts +13 -0
  24. package/dist/chart/identity-frames.d.ts +4 -0
  25. package/dist/chart/identity-scopes.d.ts +6 -0
  26. package/dist/chart/identity.d.ts +24 -0
  27. package/dist/chart/index.d.ts +8 -0
  28. package/dist/chart/limits.d.ts +6 -0
  29. package/dist/chart/locator.d.ts +4 -0
  30. package/dist/chart/materialize.d.ts +7 -0
  31. package/dist/chart/ordering.d.ts +9 -0
  32. package/dist/chart/part-graph.d.ts +5 -0
  33. package/dist/chart/patch-validation.d.ts +3 -0
  34. package/dist/chart/plot-kinds.d.ts +2 -0
  35. package/dist/chart/projection.d.ts +8 -0
  36. package/dist/chart/save.d.ts +4 -0
  37. package/dist/chart/shared-added-plan.d.ts +19 -0
  38. package/dist/chart/shared-added-records.d.ts +8 -0
  39. package/dist/chart/shared-address.d.ts +5 -0
  40. package/dist/chart/shared-allocate.d.ts +7 -0
  41. package/dist/chart/shared-cache-codec.d.ts +5 -0
  42. package/dist/chart/shared-cache-identities.d.ts +3 -0
  43. package/dist/chart/shared-cache-migration.d.ts +7 -0
  44. package/dist/chart/shared-cache-save.d.ts +3 -0
  45. package/dist/chart/shared-cache-scopes.d.ts +13 -0
  46. package/dist/chart/shared-cache.d.ts +11 -0
  47. package/dist/chart/shared-category.d.ts +4 -0
  48. package/dist/chart/shared-cell.d.ts +9 -0
  49. package/dist/chart/shared-family.d.ts +26 -0
  50. package/dist/chart/shared-fields.d.ts +18 -0
  51. package/dist/chart/shared-graph.d.ts +19 -0
  52. package/dist/chart/shared-growth-space.d.ts +5 -0
  53. package/dist/chart/shared-inserted-cells.d.ts +14 -0
  54. package/dist/chart/shared-inserted-command.d.ts +7 -0
  55. package/dist/chart/shared-inserted-layout.d.ts +16 -0
  56. package/dist/chart/shared-inserted-project.d.ts +14 -0
  57. package/dist/chart/shared-inserted-records.d.ts +16 -0
  58. package/dist/chart/shared-inserted-save.d.ts +6 -0
  59. package/dist/chart/shared-joint-command.d.ts +9 -0
  60. package/dist/chart/shared-joint-records.d.ts +9 -0
  61. package/dist/chart/shared-record-axis.d.ts +25 -0
  62. package/dist/chart/shared-record-remove.d.ts +13 -0
  63. package/dist/chart/shared-record-stage.d.ts +2 -0
  64. package/dist/chart/shared-records.d.ts +2 -0
  65. package/dist/chart/shared-rows.d.ts +17 -0
  66. package/dist/chart/shared-runtime.d.ts +19 -0
  67. package/dist/chart/shared-save-plan.d.ts +4 -0
  68. package/dist/chart/shared-save.d.ts +3 -0
  69. package/dist/chart/shared-series.d.ts +6 -0
  70. package/dist/chart/shared-source-cache.d.ts +4 -0
  71. package/dist/chart/shared-topology.d.ts +9 -0
  72. package/dist/chart/shared-unresolved.d.ts +3 -0
  73. package/dist/chart/shared-validation.d.ts +6 -0
  74. package/dist/chart/shared-workbook-source.d.ts +6 -0
  75. package/dist/chart/shared-xy-command.d.ts +7 -0
  76. package/dist/chart/shared-xy-family.d.ts +16 -0
  77. package/dist/chart/shared-xy-project.d.ts +6 -0
  78. package/dist/chart/shared-xy-records.d.ts +23 -0
  79. package/dist/chart/shared-xy-save.d.ts +5 -0
  80. package/dist/chart/shared-xy-source.d.ts +39 -0
  81. package/dist/chart/shared.d.ts +13 -0
  82. package/dist/chart/source.d.ts +11 -0
  83. package/dist/chart/types.d.ts +86 -0
  84. package/dist/chart/validation.d.ts +24 -0
  85. package/dist/chart/workbook-range.d.ts +16 -0
  86. package/dist/chart/workbook-read.d.ts +7 -0
  87. package/dist/chart/workbook-write.d.ts +9 -0
  88. package/dist/chart/workbook.d.ts +25 -0
  89. package/dist/chart/xml-data.d.ts +14 -0
  90. package/dist/chart/xml-namespaces.d.ts +16 -0
  91. package/dist/chart-design/index.d.ts +10 -0
  92. package/dist/chart-design/types.d.ts +11 -0
  93. package/dist/chart-design/xml.d.ts +2 -0
  94. package/dist/chart-design.js +361 -0
  95. package/dist/chart-ex/index.d.ts +15 -0
  96. package/dist/chart-ex/workbook.d.ts +6 -0
  97. package/dist/chart-ex/xml.d.ts +14 -0
  98. package/dist/chart-ex.js +457 -0
  99. package/dist/chart-shared/index.d.ts +12 -0
  100. package/dist/chart-shared.js +1 -0
  101. package/dist/chart.js +1 -0
  102. package/dist/clipboard-links-GuPtqr1z.js +778 -0
  103. package/dist/clipboard-package.d.ts +4 -0
  104. package/dist/clipboard-source.d.ts +6 -2
  105. package/dist/clipboard-trees.d.ts +9 -0
  106. package/dist/commands/add-slide-identity.d.ts +2 -0
  107. package/dist/commands/bullet-image-resource.d.ts +11 -0
  108. package/dist/commands/clear-format.d.ts +4 -0
  109. package/dist/commands/common-object-slide-patch.d.ts +4 -0
  110. package/dist/commands/common-object-slide-types.d.ts +68 -0
  111. package/dist/commands/direct-format-patches.d.ts +11 -5
  112. package/dist/commands/distribute-elements.d.ts +4 -0
  113. package/dist/commands/edit-table-grid.d.ts +10 -0
  114. package/dist/commands/element-alt-text.d.ts +8 -0
  115. package/dist/commands/element-arrangement.d.ts +17 -0
  116. package/dist/commands/element-effects.d.ts +1 -1
  117. package/dist/commands/element-fill.d.ts +1 -1
  118. package/dist/commands/element-geometry.d.ts +5 -2
  119. package/dist/commands/element-image-content.d.ts +2 -2
  120. package/dist/commands/element-link.d.ts +1 -1
  121. package/dist/commands/element-name.d.ts +1 -1
  122. package/dist/commands/element-stroke.d.ts +1 -1
  123. package/dist/commands/element-text.d.ts +1 -1
  124. package/dist/commands/element-transform.d.ts +2 -2
  125. package/dist/commands/geometry-types.d.ts +23 -1
  126. package/dist/commands/hierarchy-record.d.ts +5 -0
  127. package/dist/commands/image-resource.d.ts +8 -1
  128. package/dist/commands/insertion-host.d.ts +14 -1
  129. package/dist/commands/layout-property.d.ts +7 -0
  130. package/dist/commands/master-property.d.ts +5 -0
  131. package/dist/commands/master-text-style-types.d.ts +27 -0
  132. package/dist/commands/master-text-style.d.ts +7 -0
  133. package/dist/commands/paste-resources.d.ts +9 -5
  134. package/dist/commands/patch-apply.d.ts +3 -0
  135. package/dist/commands/patch-count.d.ts +1 -0
  136. package/dist/commands/patch-invalidation.d.ts +1 -1
  137. package/dist/commands/patch-stage.d.ts +4 -0
  138. package/dist/commands/record-override.d.ts +5 -0
  139. package/dist/commands/replace-image.d.ts +6 -1
  140. package/dist/commands/sections.d.ts +10 -0
  141. package/dist/commands/set-preset.d.ts +5 -0
  142. package/dist/commands/slide-property-types.d.ts +55 -5
  143. package/dist/commands/slide-size.d.ts +7 -0
  144. package/dist/commands/spid.d.ts +1 -1
  145. package/dist/commands/table-grid-patch.d.ts +12 -0
  146. package/dist/commands/text-target.d.ts +2 -2
  147. package/dist/commands/theme-types.d.ts +47 -0
  148. package/dist/commands/theme.d.ts +9 -0
  149. package/dist/commands/types.d.ts +194 -17
  150. package/dist/commands/ungroup-source.d.ts +3 -0
  151. package/dist/comments/index.d.ts +35 -0
  152. package/dist/comments/save.d.ts +3 -0
  153. package/dist/comments/state.d.ts +10 -0
  154. package/dist/comments/xml.d.ts +12 -0
  155. package/dist/comments.js +782 -0
  156. package/dist/common-object-slide-types.d.ts +34 -0
  157. package/dist/data-validation.d.ts +1 -1
  158. package/dist/describe/budget.d.ts +3 -0
  159. package/dist/describe/index.d.ts +5 -0
  160. package/dist/describe/read.d.ts +4 -0
  161. package/dist/describe/types.d.ts +103 -0
  162. package/dist/describe.js +192 -0
  163. package/dist/design-dependencies.d.ts +8 -0
  164. package/dist/design-projection-package.d.ts +10 -0
  165. package/dist/design-target.d.ts +10 -0
  166. package/dist/design.d.ts +3 -0
  167. package/dist/document-extensions.d.ts +9 -0
  168. package/dist/document.d.ts +1 -1
  169. package/dist/dynamic-projection.d.ts +6 -0
  170. package/dist/edit-core.js +5420 -4111
  171. package/dist/editor.d.ts +15 -3
  172. package/dist/element-source.d.ts +11 -0
  173. package/dist/element-spids.d.ts +4 -0
  174. package/dist/extension-address-journal.d.ts +9 -0
  175. package/dist/extension-address-remap.d.ts +14 -0
  176. package/dist/extension-addresses.d.ts +20 -0
  177. package/dist/extension-copy-history.d.ts +7 -0
  178. package/dist/extension-copy.d.ts +16 -0
  179. package/dist/extension-migration-receipt.d.ts +34 -0
  180. package/dist/extension-recovery-context.d.ts +5 -0
  181. package/dist/extension-runtime.d.ts +64 -0
  182. package/dist/generate/comments.d.ts +3 -0
  183. package/dist/generate/compatibility-parts.d.ts +14 -0
  184. package/dist/generate/compatibility-references.d.ts +3 -0
  185. package/dist/generate/compatibility.d.ts +4 -0
  186. package/dist/generate/index.d.ts +1 -0
  187. package/dist/generate/master-defaults.d.ts +4 -0
  188. package/dist/generate/materialize.d.ts +2 -2
  189. package/dist/generate/math.d.ts +3 -0
  190. package/dist/generate/portable-clipboard.d.ts +4 -0
  191. package/dist/generate/projection-tree.d.ts +8 -0
  192. package/dist/generate/template.d.ts +68 -1
  193. package/dist/generate/text-body.d.ts +2 -0
  194. package/dist/generate/text-effects.d.ts +5 -0
  195. package/dist/generate/text-override.d.ts +8 -0
  196. package/dist/generate/validation.d.ts +3 -0
  197. package/dist/generate/warp.d.ts +2 -0
  198. package/dist/generate.js +1232 -512
  199. package/dist/history.d.ts +11 -1
  200. package/dist/identities.d.ts +4 -0
  201. package/dist/image-content.d.ts +5 -2
  202. package/dist/image-resource-history.d.ts +2 -0
  203. package/dist/index-C2r7c6G6.js +714 -0
  204. package/dist/index-CYDvbiwF.js +1 -0
  205. package/dist/index.d.ts +35 -7
  206. package/dist/ink/index.d.ts +27 -0
  207. package/dist/ink/model.d.ts +4 -0
  208. package/dist/ink/save.d.ts +3 -0
  209. package/dist/ink/source.d.ts +7 -0
  210. package/dist/ink.js +324 -0
  211. package/dist/layout-assets.d.ts +3 -1
  212. package/dist/layout-projection.d.ts +17 -5
  213. package/dist/layout-state.d.ts +2 -0
  214. package/dist/layout-types.d.ts +42 -0
  215. package/dist/layout.d.ts +5 -0
  216. package/dist/lint/color.d.ts +5 -0
  217. package/dist/lint/index.d.ts +7 -0
  218. package/dist/lint/prompts.d.ts +3 -0
  219. package/dist/lint/report.d.ts +21 -0
  220. package/dist/lint/sampler-batch.d.ts +4 -0
  221. package/dist/lint/sampler-images.d.ts +2 -0
  222. package/dist/lint/sampler.d.ts +9 -0
  223. package/dist/lint/snapshot.d.ts +34 -0
  224. package/dist/lint/types.d.ts +67 -0
  225. package/dist/lint-sampler.js +187 -0
  226. package/dist/lint.js +659 -0
  227. package/dist/master-state.d.ts +3 -0
  228. package/dist/master-text-style-state.d.ts +3 -0
  229. package/dist/master-types.d.ts +55 -0
  230. package/dist/master.d.ts +5 -0
  231. package/dist/media/audio-icon.d.ts +2 -0
  232. package/dist/media/commands.d.ts +3 -0
  233. package/dist/media/index.d.ts +10 -0
  234. package/dist/media/markup.d.ts +10 -0
  235. package/dist/media/mp4-boxes.d.ts +12 -0
  236. package/dist/media/mp4-fragments.d.ts +8 -0
  237. package/dist/media/mp4-samples.d.ts +4 -0
  238. package/dist/media/mp4.d.ts +2 -0
  239. package/dist/media/poster.d.ts +2 -0
  240. package/dist/media/replace-poster.d.ts +3 -0
  241. package/dist/media/resource.d.ts +4 -0
  242. package/dist/media/source.d.ts +14 -0
  243. package/dist/media/types.d.ts +33 -0
  244. package/dist/media-properties.d.ts +4 -0
  245. package/dist/media.js +1630 -0
  246. package/dist/model-invariants-BM19JVxy.js +8980 -0
  247. package/dist/object-source.d.ts +11 -0
  248. package/dist/ole/container.d.ts +14 -0
  249. package/dist/ole/content.d.ts +94 -0
  250. package/dist/ole/index.d.ts +20 -0
  251. package/dist/ole/preview.d.ts +3 -0
  252. package/dist/ole/save.d.ts +2 -0
  253. package/dist/ole/state.d.ts +16 -0
  254. package/dist/ole.js +870 -0
  255. package/dist/opc.js +1 -1
  256. package/dist/paragraph-level.d.ts +2 -2
  257. package/dist/paragraph-property-schema.d.ts +4 -1
  258. package/dist/{patch-D7lZelRa.js → patch-BwhfBbYE.js} +10 -10
  259. package/dist/patch-events.d.ts +5 -1
  260. package/dist/ppt/appearance.d.ts +11 -0
  261. package/dist/ppt/binary.d.ts +20 -0
  262. package/dist/ppt/drawing.d.ts +18 -0
  263. package/dist/ppt/geometry.d.ts +4 -0
  264. package/dist/ppt/index.d.ts +12 -0
  265. package/dist/ppt/pictures.d.ts +11 -0
  266. package/dist/ppt/text.d.ts +9 -0
  267. package/dist/ppt.js +774 -0
  268. package/dist/preset-geometry.d.ts +6 -0
  269. package/dist/projection.d.ts +2 -0
  270. package/dist/query-BHLjWjnu.js +903 -0
  271. package/dist/recovery-identity.d.ts +1 -0
  272. package/dist/recovery-migrations.d.ts +3 -0
  273. package/dist/recovery.d.ts +3 -0
  274. package/dist/resize/index.d.ts +6 -0
  275. package/dist/resize/text.d.ts +4 -0
  276. package/dist/resize.js +5090 -0
  277. package/dist/retained-element-origins.d.ts +6 -0
  278. package/dist/run-property-fields.d.ts +12 -0
  279. package/dist/run-property-schema.d.ts +3 -1
  280. package/dist/run-style.d.ts +15 -0
  281. package/dist/save/alt-text.d.ts +4 -0
  282. package/dist/save/comments.d.ts +3 -0
  283. package/dist/save/effects.d.ts +2 -1
  284. package/dist/save/extension-availability.d.ts +3 -0
  285. package/dist/save/extension-elements.d.ts +26 -0
  286. package/dist/save/index.d.ts +6 -1
  287. package/dist/save/insertion.d.ts +6 -5
  288. package/dist/save/layout-properties.d.ts +4 -0
  289. package/dist/save/master-properties.d.ts +5 -0
  290. package/dist/save/paragraph-overrides.d.ts +3 -0
  291. package/dist/save/slide-parts.d.ts +1 -0
  292. package/dist/save/table.d.ts +2 -0
  293. package/dist/save/xfrm.d.ts +8 -2
  294. package/dist/save.js +493 -498
  295. package/dist/sections.d.ts +8 -0
  296. package/dist/session-assets.d.ts +4 -0
  297. package/dist/slide-parts-D0o_DDhi.js +1331 -0
  298. package/dist/slide-size.d.ts +6 -0
  299. package/dist/smartart/drawing.d.ts +3 -0
  300. package/dist/smartart/index.d.ts +16 -0
  301. package/dist/smartart/model.d.ts +18 -0
  302. package/dist/smartart/save.d.ts +3 -0
  303. package/dist/smartart.js +604 -0
  304. package/dist/source-retention.d.ts +7 -0
  305. package/dist/space.d.ts +37 -0
  306. package/dist/table-cell.d.ts +7 -1
  307. package/dist/table-grid-projection.d.ts +6 -0
  308. package/dist/table-grid.d.ts +45 -0
  309. package/dist/table-invariants.d.ts +4 -0
  310. package/dist/table-rows.d.ts +2 -1
  311. package/dist/table-scale.d.ts +4 -0
  312. package/dist/table-style.d.ts +5 -4
  313. package/dist/templates/index.d.ts +4 -0
  314. package/dist/templates/recipes.d.ts +5 -0
  315. package/dist/templates/types.d.ts +17 -0
  316. package/dist/templates.js +543 -0
  317. package/dist/text-flatten.d.ts +6 -0
  318. package/dist/text-fragment.d.ts +5 -0
  319. package/dist/text-model.d.ts +8 -8
  320. package/dist/text-override-validation.d.ts +6 -2
  321. package/dist/text-selection.d.ts +4 -0
  322. package/dist/theme-projection.d.ts +8 -0
  323. package/dist/theme-xml.d.ts +3 -0
  324. package/dist/theme.d.ts +14 -0
  325. package/dist/types.d.ts +174 -8
  326. package/dist/xml/index.d.ts +1 -1
  327. package/dist/xml/nodes.d.ts +2 -2
  328. package/dist/xml/shape-ids.d.ts +3 -0
  329. package/dist/xml.js +19 -16
  330. package/package.json +73 -5
  331. package/schemas/describe.schema.json +479 -0
  332. package/schemas/lint.schema.json +145 -0
  333. package/dist/document-B1jjN-QB.js +0 -274
  334. package/dist/image-resource-DbgJS9n-.js +0 -24
  335. package/dist/index-D2JizcOQ.js +0 -706
  336. package/dist/insertion-CGpb504L.js +0 -6152
  337. package/dist/table-style-part-DBtpxmuo.js +0 -1042
@@ -0,0 +1,6 @@
1
+ import type { EditDoc, ElementRecord } from './types';
2
+ /** 从当前活树保留身份,不信任删除快照中的旧覆盖;旧恢复日志也经过同一入口。 */
3
+ export declare function retainElementOrigins(doc: EditDoc, records: Iterable<ElementRecord>): void;
4
+ /** 恢复后的活树重新提供身份;不让多次撤销留下另一份常驻索引。 */
5
+ export declare function restoreElementOrigins(doc: EditDoc, records: Iterable<ElementRecord>): void;
6
+ export declare function assertRetainedElementOrigins(doc: EditDoc): void;
@@ -0,0 +1,12 @@
1
+ /** 字符格式的唯一字段注册表;校验、投影、重基与保存均从这里派生。 */
2
+ export declare const STYLE_PROPERTY_FIELDS: readonly ["font", "size", "color", "b", "i", "underline", "strikeType", "highlight", "spacing", "caps", "baseline"];
3
+ export type StylePropertyField = typeof STYLE_PROPERTY_FIELDS[number];
4
+ export type DirectRunField = Exclude<StylePropertyField, 'font'> | 'u' | 'strike';
5
+ export declare const RUN_STYLE_DIRECT_FIELDS: readonly (readonly [Exclude<StylePropertyField, "font">, number])[];
6
+ export declare const RUN_DIRECT_FIELDS: readonly [...(readonly ["size" | "color" | "b" | "i" | "underline" | "strikeType" | "highlight" | "spacing" | "caps" | "baseline", number])[], readonly ["u", number], readonly ["strike", number]];
7
+ export declare const RUN_REBASE_FIELDS: ("u" | "size" | "color" | "b" | "i" | "strike" | "underline" | "strikeType" | "highlight" | "spacing" | "caps" | "baseline")[];
8
+ export declare const RUN_PROPERTY_FIELDS: readonly ["font", "size", "color", "b", "i", "underline", "strikeType", "highlight", "spacing", "caps", "baseline", "u", "strike", "link"];
9
+ export declare const FONT_DIRECT_BITS: number;
10
+ export declare const FONT_OVERRIDE_BIT: number;
11
+ export declare function directRunBit(field: DirectRunField): number;
12
+ export declare const LAYOUT_RUN_DIRECT_FIELDS: readonly [...(readonly ["size" | "color" | "b" | "i" | "underline" | "strikeType" | "highlight" | "spacing" | "caps" | "baseline", number])[], readonly ["u", number], readonly ["strike", number], readonly ["outline", number], readonly ["gradient", number], readonly ["underlineColor", number]];
@@ -1,3 +1,5 @@
1
+ import { TEXT_CAPS_STYLES, TEXT_STRIKE_STYLES, TEXT_UNDERLINE_STYLES } from '@web-ppt/core';
1
2
  import type { RunPropertyOverrides } from './types';
2
- export declare const RUN_PROPERTY_FIELDS: readonly ["font", "size", "color", "b", "i", "u", "strike", "link"];
3
+ export { RUN_PROPERTY_FIELDS } from './run-property-fields';
4
+ export { TEXT_CAPS_STYLES, TEXT_STRIKE_STYLES, TEXT_UNDERLINE_STYLES };
3
5
  export declare function assertRunPropertyOverrides(value: unknown, label: string, allowEmpty?: boolean): asserts value is RunPropertyOverrides;
@@ -0,0 +1,15 @@
1
+ import type { TextRun, TextStrikeStyle, TextUnderlineStyle } from '@web-ppt/core';
2
+ import type { RunProperties, RunPropertyOverrides, TextMark } from './types';
3
+ export { STYLE_PROPERTY_FIELDS } from './run-property-fields';
4
+ export declare const underlineOf: (run: Pick<TextRun, "u" | "underline">) => TextUnderlineStyle;
5
+ export declare const strikeTypeOf: (run: Pick<TextRun, "strike" | "strikeType">) => TextStrikeStyle;
6
+ export declare function runProperties(run: Omit<TextRun, 'text'>): RunProperties;
7
+ export declare const DEFAULT_RUN: Omit<TextRun, 'text'>;
8
+ export declare const DEFAULT_PROPERTIES: RunProperties;
9
+ /** DrawingML 没有 highlight="none";透明直设用于覆盖版式/母版的继承高亮。 */
10
+ export declare const NO_HIGHLIGHT = "rgba(0,0,0,0)";
11
+ export declare function visibleHighlight(value: string | null | undefined): string | null;
12
+ export declare function sameRunOverrides(left?: RunPropertyOverrides, right?: RunPropertyOverrides): boolean;
13
+ export declare function sameInherited(left?: RunProperties, right?: RunProperties): boolean;
14
+ export declare function formattedMark(mark: TextMark, input: RunPropertyOverrides): TextMark;
15
+ export declare function clearedMark(mark: TextMark): TextMark;
@@ -0,0 +1,4 @@
1
+ import type { ElementRecord } from '../types';
2
+ import type { XmlDocument } from '../xml/types';
3
+ export declare const hasAltTextOverride: (record: ElementRecord) => boolean;
4
+ export declare function patchElementAltText(document: XmlDocument, record: ElementRecord): void;
@@ -0,0 +1,3 @@
1
+ import type { EditDoc, SlideRecord } from '../types';
2
+ /** 每页拥有自己的批注 part;不能像图片那样共享,否则副本与原页会成为同一组批注。 */
3
+ export declare function materializeDuplicateComments(doc: EditDoc, slides: readonly SlideRecord[], baselines: Record<string, Uint8Array>, created: Set<string>, changes: Record<string, Uint8Array | null>): void;
@@ -1,6 +1,7 @@
1
1
  import type { Effects } from '@web-ppt/core';
2
2
  import type { ElementRecord } from '../types';
3
- import type { XmlDocument } from '../xml/types';
3
+ import type { XmlDocument, XmlElement } from '../xml/types';
4
+ export declare function appendShadow(list: XmlElement, shadow: NonNullable<Effects['shadow']>): void;
4
5
  export declare function hasEffectsOverride(record: ElementRecord): boolean;
5
6
  export declare function materializeElementEffects(document: XmlDocument, record: ElementRecord, effects: Effects): void;
6
7
  export declare function patchElementEffects(document: XmlDocument, record: ElementRecord): void;
@@ -0,0 +1,3 @@
1
+ import type { EditDoc } from '../types';
2
+ /** 生成与补丁保存共用扩展可用性门禁,恢复后不能静默丢弃尚未加载的覆盖。 */
3
+ export declare function assertSaveExtensions(doc: EditDoc): void;
@@ -0,0 +1,26 @@
1
+ import type { SlideElement } from '@web-ppt/core';
2
+ import type { ElementRecord } from '../types';
3
+ import type { XmlDocument } from '../xml/types';
4
+ import { findXmlChild, xmlElementChildren } from '../xml/query';
5
+ import { removeXmlChild, insertXmlChildUnchecked } from '../xml/nodes';
6
+ import { setXmlAttribute } from '../xml/mutate';
7
+ import { insertXmlInOrder } from '../xml/order';
8
+ import { locateElementHost } from './xfrm';
9
+ import { namespacedElement } from './xml-element';
10
+ import { appendDrawingColor } from './drawing-color';
11
+ declare const xml: {
12
+ findXmlChild: typeof findXmlChild;
13
+ xmlElementChildren: typeof xmlElementChildren;
14
+ removeXmlChild: typeof removeXmlChild;
15
+ insertXmlChildUnchecked: typeof insertXmlChildUnchecked;
16
+ setXmlAttribute: typeof setXmlAttribute;
17
+ insertXmlInOrder: typeof insertXmlInOrder;
18
+ locateElementHost: typeof locateElementHost;
19
+ namespacedElement: typeof namespacedElement;
20
+ appendDrawingColor: typeof appendDrawingColor;
21
+ };
22
+ export type EditElementXml = typeof xml;
23
+ export declare function hasElementExtensionOverrides(record: ElementRecord): boolean;
24
+ export declare function materializeElementExtensions(tree: XmlDocument, record: ElementRecord, generated: boolean): void;
25
+ export declare function extensionSupportsGenerated(element: SlideElement): boolean;
26
+ export {};
@@ -1,5 +1,10 @@
1
1
  import type { OpcPatchResult } from '../opc/types';
2
2
  import type { EditDoc } from '../types';
3
+ import type { EditExtensionSavePlan } from '../extension-runtime';
4
+ /** 编辑器入口延迟到首次保存才加载扩展保存聚合器。 */
5
+ export declare function saveEditDocWithExtensions(doc: EditDoc): Promise<OpcPatchResult>;
6
+ /** 字节生成不代表交付成功;宿主负责确认保存点和释放独立生成的结果包。 */
7
+ export declare function serializeEditDoc(doc: EditDoc): Promise<OpcPatchResult>;
3
8
  /** 始终从首次触碰的基线重建 part,避免连续保存把旧覆盖烘进源树而破坏撤销。 */
4
- export declare function saveEditDoc(doc: EditDoc): OpcPatchResult;
9
+ export declare function saveEditDoc(doc: EditDoc, extensionPlan?: EditExtensionSavePlan): OpcPatchResult;
5
10
  export type { OpcFallbackReason, OpcPatchResult, OpcSaveMode } from '../opc/types';
@@ -4,14 +4,15 @@ import type { HyperlinkSaveContext } from './hyperlink';
4
4
  /** 删除、插入、覆盖的先后顺序与整页保存一致;复制片段也复用这一条物化路径。 */
5
5
  export declare function materializeElementTreeState(document: XmlDocument, doc: EditDoc, part: string, records: readonly ElementRecord[], removals: readonly RemovedElementRecord[], options?: {
6
6
  skipInsertions?: ReadonlySet<string>;
7
- skipReparents?: boolean;
7
+ skipReparents?: ReadonlySet<string>;
8
8
  scope?: ReadonlySet<string>;
9
9
  links?: HyperlinkSaveContext;
10
+ sourceOnly?: boolean;
10
11
  }): void;
11
12
  /** 从来源基线构造当前有效元素树,供复制原始宿主及其所有后代。 */
12
- export declare function materializeElementRoots(doc: EditDoc, roots: readonly ElementRecord[], source: Uint8Array): XmlDocument;
13
- export declare function materializeInsertionFragment(doc: EditDoc, record: ElementRecord): XmlDocument;
13
+ export declare function materializeElementRoots(doc: EditDoc, roots: readonly ElementRecord[], source: Uint8Array, sourceOnly?: boolean): XmlDocument;
14
+ export declare function materializeInsertionFragment(doc: EditDoc, record: ElementRecord, sourceOnly?: boolean): XmlDocument;
14
15
  /** 新宿主先进入目标树,后续变换与层级补丁才能继续复用统一的 spid 定位。 */
15
- export declare function patchInsertedElements(document: XmlDocument, doc: EditDoc, records: readonly ElementRecord[], skip?: ReadonlySet<string>): Set<string>;
16
+ export declare function patchInsertedElements(document: XmlDocument, doc: EditDoc, records: readonly ElementRecord[], skip?: ReadonlySet<string>, sourceOnly?: boolean): Set<string>;
16
17
  /** 层级编辑移动原宿主本身,未知扩展、关系引用与 spid 因此都不需要重建。 */
17
- export declare function patchReparentedElements(document: XmlDocument, doc: EditDoc, records: readonly ElementRecord[]): void;
18
+ export declare function patchReparentedElements(document: XmlDocument, doc: EditDoc, records: readonly ElementRecord[], skip?: ReadonlySet<string>): void;
@@ -0,0 +1,4 @@
1
+ import type { LayoutRecord } from '../types';
2
+ import type { XmlDocument } from '../xml/types';
3
+ export declare function hasLayoutPropertyOverrides(record: LayoutRecord): boolean;
4
+ export declare function patchLayoutProperties(document: XmlDocument, record: LayoutRecord): void;
@@ -0,0 +1,5 @@
1
+ import type { MasterRecord } from '../types';
2
+ import type { XmlDocument } from '../xml/types';
3
+ export declare function hasMasterPropertyOverrides(record: MasterRecord): boolean;
4
+ /** 只触碰 cSld/bg 与 txStyles;hf、clrMap、extLst 以及未知扩展原位保留。 */
5
+ export declare function patchMasterProperties(document: XmlDocument, record: MasterRecord): void;
@@ -0,0 +1,3 @@
1
+ import type { FlatTextParagraph } from '../types';
2
+ import type { XmlElement } from '../xml/types';
3
+ export declare function applyParagraphOverrides(properties: XmlElement, paragraph: FlatTextParagraph, lnSpcReduction: number): void;
@@ -6,6 +6,7 @@ export declare function createdSlideRelationships(slide: SlideRecord, source?: U
6
6
  export declare function patchSlideLayoutRelationship(slide: SlideRecord, source?: Uint8Array): Uint8Array;
7
7
  /** PowerPoint 会重算字段,LibreOffice 不一定;只刷新 a:fld 的缓存文字,不降级成普通 run。 */
8
8
  export declare function patchSlideNumberFields(source: Uint8Array, slideNumber: number): Uint8Array;
9
+ export declare function patchGeneratedPresentationMetadata(source: Uint8Array, doc: EditDoc): Uint8Array;
9
10
  export declare function patchPresentationSlides(source: Uint8Array, relationships: Uint8Array, doc: EditDoc): Uint8Array;
10
11
  export declare function patchPresentationRelationships(source: Uint8Array, doc: EditDoc): Uint8Array;
11
12
  export declare function patchSlideContentTypes(source: Uint8Array, doc: EditDoc, removedParts?: ReadonlySet<string>): Uint8Array;
@@ -1,9 +1,11 @@
1
1
  import type { ElementRecord } from '../types';
2
2
  import type { XmlDocument } from '../xml/types';
3
3
  export declare function hasTableRowOverrides(record: ElementRecord): boolean;
4
+ export declare function hasTableCellAppearanceOverrides(record: ElementRecord): boolean;
4
5
  export declare function hasTableStyleOverride(record: ElementRecord): boolean;
5
6
  /** tblPr 只保存六个开关与 styleId;单元格直接格式继续原位直通。 */
6
7
  export declare function patchTableStyle(document: XmlDocument, record: ElementRecord): void;
8
+ export declare function patchTableCellAppearances(document: XmlDocument, record: ElementRecord): void;
7
9
  /** 从首次触碰基线重建,连续保存不会重复烘入相同行。 */
8
10
  export declare function patchTableRows(document: XmlDocument, record: ElementRecord): void;
9
11
  /** frame 与内部网格必须同生共变;Office 不会替编辑模型猜测各行列的新整数尺寸。 */
@@ -7,13 +7,19 @@ export interface HostSpec {
7
7
  readonly properties: string | null;
8
8
  readonly frame: boolean;
9
9
  }
10
- export interface LocatedHost {
10
+ export interface HostVariant {
11
11
  host: XmlElement;
12
- parent: XmlElement;
13
12
  spec: HostSpec;
14
13
  }
14
+ export interface LocatedHost extends HostVariant {
15
+ parent: XmlElement;
16
+ /** 兼容对象只有一个层级宿主,但每个分支都有自己的可写框架。 */
17
+ variants?: readonly HostVariant[];
18
+ }
15
19
  /** 批量定位同一 part 的宿主只遍历 XML 一次,避免大页层级保存退化为节点数平方。 */
16
20
  export declare function locateElementHosts(document: XmlDocument, records: readonly Pick<ElementRecord, 'id' | 'meta'>[]): Map<string, LocatedHost>;
21
+ export declare function elementHostVariants(document: XmlDocument, record: Pick<ElementRecord, 'id' | 'meta'>): readonly HostVariant[];
22
+ export declare function elementNonVisualProperties(document: XmlDocument, record: Pick<ElementRecord, 'id' | 'meta'>): XmlElement[];
17
23
  export declare function locateElementHost(document: XmlDocument, record: Pick<ElementRecord, 'id' | 'meta'>): LocatedHost;
18
24
  export declare function hasXfrmOverrides(record: ElementRecord): boolean;
19
25
  /** 把一个元素的显式覆盖写到自己的宿主变换节点,不读取或改写框架内部内容。 */