@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
package/dist/space.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { SlideElement } from '@web-ppt/core';
1
2
  import type { EditDoc, ElementId } from './types';
2
3
  export interface SpacePoint {
3
4
  x: number;
@@ -33,12 +34,48 @@ export declare function inverseTransformSpaceVector(matrix: AffineMatrix, vector
33
34
  /** 反射会让父空间里的正角方向与幻灯片空间相反;旋转连续性必须沿同一手性展开。 */
34
35
  export declare function spaceOrientationParity(matrix: AffineMatrix): 1 | -1;
35
36
  export declare function invertSpaceMatrix(matrix: AffineMatrix): AffineMatrix;
37
+ /** 模型局部坐标(0..w, 0..h)→ 幻灯片:渲染外框再乘上各轴组缩放,保持刚体。 */
36
38
  export declare function elementFrameToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
37
39
  /** 元素内容坐标还要经过自身翻转;frame 几何本身不含这一步。 */
38
40
  export declare function elementContentToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
41
+ /**
42
+ * 模型父空间(父组子坐标)→ 幻灯片。子元素中心按直接父组渲染后的缩放映射,
43
+ * 所以平移类命令在这里换算的位移与画面一致;外框尺寸与旋转改用编辑父空间计算。
44
+ */
39
45
  export declare function elementParentToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
40
46
  /** 组的子坐标系包含自身 frame、翻转及 chOff/chExt 缩放,不能等同于组所在父坐标系。 */
41
47
  export declare function elementChildrenToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
48
+ /** 元素在其父容器渲染坐标中的投影:组内子元素已折算组缩放。 */
49
+ export declare function renderedElement(doc: EditDoc, id: ElementId): SlideElement;
50
+ /** 渲染外框到幻灯片坐标:沿祖先组只叠加外框平移、旋转与翻转,缩放已进入外框尺寸。 */
51
+ export declare function renderedFrameToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
52
+ export declare function renderedContentToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
53
+ /**
54
+ * 父组子坐标 → 父组渲染坐标;顶层元素的两套坐标相同。
55
+ * 平移预览在模型父空间求得,挂到组内 DOM 前用它换算位移。
56
+ */
57
+ export declare function elementParentToRenderedParentMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
58
+ /**
59
+ * 编辑外框:元素在父组渲染坐标里的刚体外框。缩放与旋转手势在这里计算,
60
+ * 提交前经 editFrameToModelFrame 写回模型,画面与提交结果因此一致。
61
+ */
62
+ export interface ElementEditFrame extends ElementFrameTransform {
63
+ flipH: boolean;
64
+ flipV: boolean;
65
+ }
66
+ export declare function elementEditFrame(doc: EditDoc, id: ElementId): ElementEditFrame;
67
+ /** 父组渲染坐标(编辑父空间)→ 幻灯片。 */
68
+ export declare function elementEditParentToSlideMatrix(doc: EditDoc, id: ElementId): AffineMatrix;
69
+ export declare function slideToElementEditParentPoint(doc: EditDoc, id: ElementId, point: SpacePoint): SpacePoint;
70
+ /**
71
+ * 编辑外框 → 模型外框(父组子坐标)。旋转只改角度,宽高按目标角度所在象限承接的组缩放除回去:
72
+ * 跨过 45° 等边界时画面尺寸保持不变,由模型宽高吸收轴向互换。
73
+ */
74
+ export declare function editFrameToModelFrame(doc: EditDoc, id: ElementId, frame: ElementFrameTransform): ElementFrameTransform;
75
+ /** 组合子元素的编辑父空间 → 幻灯片;粘贴进组合时用它把幻灯片外框换算成刚体的组内外框。 */
76
+ export declare function groupEditChildrenToSlideMatrix(doc: EditDoc, groupId: ElementId): AffineMatrix;
77
+ /** 组合内的编辑外框 → 该组合子坐标里的模型外框。 */
78
+ export declare function groupEditFrameToModelFrame(doc: EditDoc, groupId: ElementId, frame: ElementFrameTransform): ElementFrameTransform;
42
79
  export declare function elementFrameToSlidePoint(doc: EditDoc, id: ElementId, point: SpacePoint): SpacePoint;
43
80
  export declare function slideToElementFramePoint(doc: EditDoc, id: ElementId, point: SpacePoint): SpacePoint;
44
81
  export declare function elementParentToSlidePoint(doc: EditDoc, id: ElementId, point: SpacePoint): SpacePoint;
@@ -1,10 +1,16 @@
1
- import type { ElementRecord, TableCellAddress, TableCellKey, TableCellRowRef, TableRowId } from './types';
1
+ import type { ElementRecord, TableCellAddress, TableCellColumnRef, TableCellKey, TableCellRef, TableCellRowRef, TableRowId } from './types';
2
2
  export declare function tableCellKey(cell: TableCellAddress): TableCellKey;
3
3
  export declare function parseTableCellKey(value: string): TableCellAddress | null;
4
4
  export declare function tableCellKeyBelongsToRow(key: string, rowId: TableRowId): boolean;
5
5
  export declare function tableCellRowRef(record: ElementRecord, cell: TableCellAddress): TableCellRowRef | null;
6
+ export declare function tableCellColumnRef(record: ElementRecord, cell: TableCellAddress): TableCellColumnRef | null;
6
7
  export declare function tableCellAddressFromRowRef(record: ElementRecord, row: unknown, column: unknown): TableCellAddress | null;
8
+ export declare function tableCellAddressFromRefs(record: ElementRecord, row: unknown, column: unknown): TableCellAddress | null;
9
+ export declare function tableCellAddressFromStableRef(record: ElementRecord, cell: TableCellRef): TableCellAddress | null;
7
10
  export declare function tableCellOverrideKeyFromRowRef(row: TableCellRowRef, column: number): TableCellKey;
11
+ export declare function tableCellOverrideKeyFromRefs(row: TableCellRowRef, column: TableCellColumnRef): TableCellKey;
8
12
  export declare function tableCellOverrideKey(record: ElementRecord, cell: TableCellAddress): TableCellKey;
9
13
  export declare function tableCellKeyResolver(record: ElementRecord): (key: string) => TableCellAddress | null;
14
+ /** 协同冲突判断必须能解析已被 tombstone 隐藏的格,但不能让普通编辑重新寻址它。 */
15
+ export declare function tableCellStableRefFromKey(record: ElementRecord, key: string): TableCellRef | null;
10
16
  export declare function assertTableCellAddress(value: unknown, label: string): asserts value is TableCellAddress;
@@ -0,0 +1,6 @@
1
+ import type { TableElement } from '@web-ppt/core';
2
+ import type { ElementRecord } from './types';
3
+ export declare function hasTableStructureOverrides(record: ElementRecord): boolean;
4
+ export declare function hasComplexTableStructureOverrides(record: ElementRecord): boolean;
5
+ /** 稀疏结构覆盖在这里一次性收敛为 core 的矩形二维 Schema。 */
6
+ export declare function projectTableStructure(record: ElementRecord, base: TableElement): TableElement;
@@ -0,0 +1,45 @@
1
+ import type { TableRow } from '@web-ppt/core';
2
+ import type { EditDoc, ElementId, ElementRecord, TableCellColumnRef, TableCellRowRef, TableColumnId, TableCellRef, TableColumnInsertion, TableMergeRegion, TableRowId, TableRowInsertion } from './types';
3
+ export interface TableGridRow {
4
+ readonly id: TableRowId;
5
+ readonly source: number | null;
6
+ readonly height: number;
7
+ }
8
+ export interface TableGridColumn {
9
+ readonly id: string;
10
+ readonly source: number | null;
11
+ readonly width: number;
12
+ }
13
+ export interface TableGridState {
14
+ readonly rows: readonly TableGridRow[];
15
+ readonly columns: readonly TableGridColumn[];
16
+ readonly merges: readonly TableMergeRegion[];
17
+ }
18
+ export interface TableGridIdentities {
19
+ readonly rows: readonly TableRowId[];
20
+ readonly columns: readonly TableColumnId[];
21
+ }
22
+ export interface OrderedTableColumn extends TableColumnInsertion {
23
+ readonly id: TableColumnId;
24
+ readonly columnRef: TableCellColumnRef;
25
+ readonly source: number | null;
26
+ }
27
+ export interface OrderedTableRow extends TableRowInsertion {
28
+ readonly id: TableRowId;
29
+ readonly rowRef: TableCellRowRef;
30
+ readonly source: number | null;
31
+ }
32
+ export declare function sourceTableRowId(index: number): TableRowId;
33
+ export declare function sourceTableColumnId(index: number): string;
34
+ export declare function isReservedTableRowId(id: string): boolean;
35
+ export declare function isReservedTableColumnId(id: string): boolean;
36
+ export declare function tableGridIdentities(doc: EditDoc, id: ElementId): TableGridIdentities;
37
+ export declare function orderedTableRows(record: ElementRecord): OrderedTableRow[];
38
+ export declare function orderedTableColumns(record: ElementRecord): OrderedTableColumn[];
39
+ export declare function tableRowById(record: ElementRecord, id: TableRowId): OrderedTableRow | null;
40
+ export declare function tableColumnById(record: ElementRecord, id: TableColumnId): OrderedTableColumn | null;
41
+ export declare function sourceTableMerges(record: ElementRecord): TableMergeRegion[];
42
+ export declare function effectiveTableMerges(record: ElementRecord): readonly TableMergeRegion[];
43
+ export declare function tableCellMergeRole(record: ElementRecord, cell: TableCellRef): 'anchor' | 'placeholder' | null;
44
+ export declare function queryTableGrid(doc: EditDoc, id: ElementId): TableGridState;
45
+ export declare function tableRowTemplate(record: ElementRecord, insertion: TableRowInsertion): TableRow;
@@ -0,0 +1,4 @@
1
+ import type { EditDoc, ElementRecord } from './types';
2
+ export declare function assertTableRows(record: ElementRecord): void;
3
+ export declare function assertTableGridOverrides(record: ElementRecord): void;
4
+ export declare function assertTableCellOverrides(doc: EditDoc, record: ElementRecord, assertTextOverride: (value: unknown, label: string) => void): void;
@@ -1,10 +1,11 @@
1
- import type { TableRow } from '@web-ppt/core';
1
+ import type { TableCell, TableRow } from '@web-ppt/core';
2
2
  import type { ElementRecord, TableRowId, TableRowInsertion } from './types';
3
3
  export interface OrderedTableRowInsertion extends TableRowInsertion {
4
4
  readonly id: TableRowId;
5
5
  }
6
6
  export declare function orderedTableRowInsertions(record: ElementRecord): OrderedTableRowInsertion[];
7
7
  export declare function lastTableRowOrder(record: ElementRecord): string;
8
+ export declare function emptyTableCell(source: TableCell): TableCell;
8
9
  export declare function tableRowsWithoutTextOverrides(record: ElementRecord): TableRow[];
9
10
  export declare function tableRowHeightDelta(record: ElementRecord): number;
10
11
  export declare function effectiveTableFrameHeight(record: ElementRecord): number;
@@ -0,0 +1,4 @@
1
+ import type { TableElement } from '@web-ppt/core';
2
+ /** 最后一格吃掉浮点余量,保证即时网格与选择 frame 在 JS 数值上也严格闭合。 */
3
+ export declare function scaledDimensions(values: readonly number[], total: number): number[];
4
+ export declare function scaledTableEditInfo(editInfo: TableElement['editInfo'], scale: number): TableElement['editInfo'];
@@ -1,5 +1,6 @@
1
1
  import type { TableElement, TableStyleDefinition, TableStyleSettings } from '@web-ppt/core';
2
- import type { EditDoc, ElementId, SlideId } from './types';
2
+ import type { CanvasTarget } from './design-target';
3
+ import type { DesignTarget, EditDoc, ElementId, SlideId } from './types';
3
4
  export interface TableStyleCatalogItem {
4
5
  readonly styleId: string;
5
6
  readonly name: string;
@@ -12,9 +13,9 @@ export interface TableStyleState {
12
13
  readonly direct: boolean;
13
14
  }
14
15
  export declare function tableStyleDefinitionForElement(doc: EditDoc, id: ElementId, styleId: string): TableStyleDefinition | undefined;
15
- /** 目录以页面主题为上下文;返回值不泄露 OOXML,也不要求 UI 复刻样式优先级。 */
16
- export declare function listTableStyles(doc: EditDoc, slideId: SlideId): readonly TableStyleCatalogItem[];
16
+ /** 目录以页面或版式主题为上下文;返回值不泄露 OOXML,也不要求 UI 复刻样式优先级。 */
17
+ export declare function listTableStyles(doc: EditDoc, target: SlideId | DesignTarget): readonly TableStyleCatalogItem[];
17
18
  export declare function assertTableStyleSettings(doc: EditDoc, id: ElementId, input: unknown, label: string): TableStyleSettings;
18
19
  export declare function queryTableStyle(doc: EditDoc, id: ElementId): TableStyleState;
19
20
  /** 来源直设基线最后叠加,因此样式切换不会清洗单元格直接格式。 */
20
- export declare function projectTableStyle(doc: EditDoc, slideId: SlideId, table: TableElement, settings: TableStyleSettings): TableElement;
21
+ export declare function projectTableStyle(doc: EditDoc, target: CanvasTarget, table: TableElement, settings: TableStyleSettings): TableElement;
@@ -0,0 +1,4 @@
1
+ import type { BuiltinTemplateCatalogItem, BuiltinTemplateId, CreatePptxFromTemplateOptions } from './types';
2
+ export type { BuiltinTemplateCatalogItem, BuiltinTemplateId, BuiltinTemplatePreviewToken, CreatePptxFromTemplateOptions, } from './types';
3
+ export declare function listBuiltinTemplates(): readonly BuiltinTemplateCatalogItem[];
4
+ export declare function createPptxFromTemplate(id: BuiltinTemplateId, options?: CreatePptxFromTemplateOptions): Uint8Array;
@@ -0,0 +1,5 @@
1
+ import type { GeneratedTemplateDesign } from '../generate/template';
2
+ import type { BuiltinTemplateCatalogItem, BuiltinTemplateId } from './types';
3
+ export interface BuiltinTemplateRecipe extends BuiltinTemplateCatalogItem, GeneratedTemplateDesign {
4
+ }
5
+ export declare const BUILTIN_TEMPLATE_RECIPES: Readonly<Record<BuiltinTemplateId, BuiltinTemplateRecipe>>;
@@ -0,0 +1,17 @@
1
+ import type { CreateBlankPptxOptions } from '../generate';
2
+ export type BuiltinTemplateId = 'aurora' | 'editorial' | 'midnight';
3
+ export interface BuiltinTemplatePreviewToken {
4
+ readonly surface: string;
5
+ readonly foreground: string;
6
+ readonly accent: string;
7
+ readonly secondary: string;
8
+ readonly motif: 'orb' | 'rule' | 'beam';
9
+ }
10
+ export interface BuiltinTemplateCatalogItem {
11
+ readonly id: BuiltinTemplateId;
12
+ readonly name: string;
13
+ readonly description: string;
14
+ readonly preview: BuiltinTemplatePreviewToken;
15
+ }
16
+ export interface CreatePptxFromTemplateOptions extends CreateBlankPptxOptions {
17
+ }