@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,55 @@
1
+ import type { Fill, MasterTextCategory, SlideMasterTemplate } from '@web-ppt/core';
2
+ import type { ElementId } from './identities';
3
+ import type { MasterDesignTarget } from './layout-types';
4
+ import type { LayoutPropertyState } from './layout-types';
5
+ import type { ParagraphBullet, ParagraphProperties, ParagraphPropertyInput, ParagraphPropertyOverrides, RunProperties, RunPropertyOverrides } from './types';
6
+ export type MasterRunPropertyOverrides = Omit<RunPropertyOverrides, 'link'>;
7
+ export type MasterParagraphPropertyOverrides = Omit<ParagraphPropertyOverrides, 'level'>;
8
+ export type MasterParagraphPropertyInput = Omit<ParagraphPropertyInput, 'level'>;
9
+ export interface MasterTextLevelOverrides {
10
+ paragraph?: MasterParagraphPropertyOverrides;
11
+ run?: MasterRunPropertyOverrides;
12
+ }
13
+ export type MasterTextStyleOverrides = Partial<Record<MasterTextCategory, Record<number, MasterTextLevelOverrides>>>;
14
+ export interface MasterOverrides {
15
+ /** 缺少字段表示来源;显式无背景使用 Fill.none。 */
16
+ background?: Exclude<Fill, {
17
+ type: 'image';
18
+ }>;
19
+ /** txStyles 三类九级分别稀疏覆盖;字段粒度是协同合并边界。 */
20
+ textStyles?: MasterTextStyleOverrides;
21
+ }
22
+ /** src 字段继承自解析目录;编辑状态只进入 children / ovr。 */
23
+ export interface MasterRecord extends SlideMasterTemplate {
24
+ children: ElementId[];
25
+ ovr: MasterOverrides;
26
+ }
27
+ export interface MasterCatalogItem {
28
+ readonly id: string;
29
+ readonly name: string;
30
+ readonly themeId?: string;
31
+ readonly layoutIds: readonly string[];
32
+ readonly target: MasterDesignTarget;
33
+ }
34
+ export interface MasterDesignState extends MasterCatalogItem {
35
+ readonly background: LayoutPropertyState<Fill | null>;
36
+ readonly textStyles: Readonly<Record<MasterTextCategory, readonly MasterTextLevelState[]>>;
37
+ }
38
+ export interface MasterParagraphStyle extends ParagraphProperties {
39
+ readonly bullet: ParagraphBullet;
40
+ }
41
+ export interface MasterTextLevelState {
42
+ readonly level: number;
43
+ readonly value: {
44
+ readonly paragraph: MasterParagraphStyle;
45
+ readonly run: RunProperties;
46
+ };
47
+ readonly source: {
48
+ readonly paragraph: MasterParagraphStyle;
49
+ readonly run: RunProperties;
50
+ };
51
+ readonly direct: {
52
+ readonly paragraph: readonly (keyof MasterParagraphPropertyOverrides)[];
53
+ readonly run: readonly (keyof MasterRunPropertyOverrides)[];
54
+ };
55
+ }
@@ -0,0 +1,5 @@
1
+ import type { Slide } from '@web-ppt/core';
2
+ import type { EditDoc, MasterCatalogItem, MasterDesignState, MasterDesignTarget } from './types';
3
+ export declare function listMasters(doc: EditDoc): MasterCatalogItem[];
4
+ export declare function queryMaster(doc: EditDoc, target: MasterDesignTarget): MasterDesignState;
5
+ export declare function toMasterCanvas(doc: EditDoc, target: MasterDesignTarget): Slide;
@@ -0,0 +1,2 @@
1
+ /** 固定 PNG 来自 tooling/lib/media-audio-icon-fixture.mjs,生成器校验字节一致;运行时不带栅格器。 */
2
+ export declare const AUDIO_ICON_PNG = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAC/0lEQVR42u3du24TQRQGYF6GJ+AFeAKegI6KgjotBRUlokZ0VBTUqSloKBE1oiMCIgjiIi5HGFmHSXzZmVl7nf2iv3FhW5lvZ+bMXsZXrt56J3sMAAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABMDouXbnBMDecvTo0+nZrxt3PwDYT+v//vu3GwMA/+X60ftF6y8Nxh6LAJS59+RzNnj15seoBgAuyNPnX7NBvASwuWjp20zHL79lg5gYAKxMTJVvT35GM/UVjcEnTwYxPQDYMGR3d412X374i9ffAZQHaTRKHijGnpDjJYB/uXn/Yz48RwKIZOMxqtKDBHh8/KVo+vEAYujP0vHVswaI5shz4w4AIg+eneVv6TsbHxLA4hTNqtbfEuD2w9OKr15UWWMsCw4DYFHmr2n6LQEW53kqWnB5gqh7JzgAgGWZ3wiQG7HCYKROMHWAohBsASgmj6GL26IT9CqHpgtwvsxvBIgPzEdxxeI2v73XmmCiABeW+e1zQOPiNnfHwLi0AKvK/HaA8yPJoAM5+lB+b5fLNdMCWF/mdwEoznQOXdzm93ZZlE0IYGOZ3wsgWjx/Uayz6qbiLqNQN4CWhuv1V7e4HdQJilGofUEwU4CiEwyaCXJt1l4LzRSg6ASDBpNcC8WUAKASoLqkiRK54zQwX4Di4vugkqbjknjWAHFmtO5YztNAdAgAlQDVJU3uOoOqWADrjuXtLxXkCRxAE0BdU+axq/FuibkD5JXt9k2ZCyEATQB1TZnv4W2sROcOkOfhWBvX/b8Amhqi7hMAAAAAAIBJGIAy1EIMgFMRTsYBcDraBRkALkm6KA/AbSluzAIwx1sT3Zzr9nS3p3tAwyNKHlHykJ7HVD2m6kFtWxXYqsBmHbarsV2NDZtsWdYcW5bZtM+2lbattHGrrYttXbzD2Lzb9vVzjR9w8BMm4kd8/IyV7C4AAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAACQjvkDJvM8rvLczI4AAAAASUVORK5CYII=";
@@ -0,0 +1,3 @@
1
+ import type { EditDoc } from '../types';
2
+ import type { CommandPatches, ExtensionCommand } from '../commands/types';
3
+ export declare function addMediaPatches(doc: EditDoc, extension: ExtensionCommand, origin: string): CommandPatches;
@@ -0,0 +1,10 @@
1
+ import type { Editor } from '../editor';
2
+ import type { MediaCommand } from './types';
3
+ export type { AddMediaCommand, ReplaceMediaPosterCommand, MediaCommand, MediaPoster } from './types';
4
+ export { MAX_MEDIA_BYTES } from './resource';
5
+ /** 接收恢复/协同数据前显式调用,避免仅副作用导入被打包器移除。 */
6
+ export declare function registerMediaEditing(): void;
7
+ /** 按需命令只产生现有 Patch,历史、恢复与协同仍共用主编辑器。 */
8
+ export declare function createMediaEditor(editor: Pick<Editor, 'doc' | 'exec'>): {
9
+ exec(command: MediaCommand): string;
10
+ };
@@ -0,0 +1,10 @@
1
+ import type { InsertionRect } from '../commands/insertion-rect';
2
+ export declare const OFFICE_REL = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
3
+ export declare const MEDIA_REL = "http://schemas.microsoft.com/office/2007/relationships/media";
4
+ export declare const MEDIA_NAMESPACES: {
5
+ 'xmlns:a': string;
6
+ 'xmlns:p': string;
7
+ 'xmlns:r': string;
8
+ 'xmlns:p14': string;
9
+ };
10
+ export declare function mediaMarkup(spid: number, rect: InsertionRect, kind: 'audio' | 'video', external?: boolean): string;
@@ -0,0 +1,12 @@
1
+ export interface Mp4Box {
2
+ type: string;
3
+ start: number;
4
+ data: number;
5
+ end: number;
6
+ }
7
+ export declare const invalidMp4: () => never;
8
+ export declare const mp4Tag: (bytes: Uint8Array, at: number) => string;
9
+ export declare function mp4Uint(bytes: Uint8Array, box: Mp4Box, offset: number, size?: 1 | 2 | 4 | 8): number;
10
+ /** 未知 box 按声明长度跳过;不扫描载荷中的伪标签,也不把 64 位长度截断到 32 位。 */
11
+ export declare function mp4Boxes(bytes: Uint8Array, start?: number, end?: number): Mp4Box[];
12
+ export declare function mp4Box(boxes: readonly Mp4Box[], type: string): Mp4Box;
@@ -0,0 +1,8 @@
1
+ import { type Mp4Box } from './mp4-boxes';
2
+ export interface Mp4Track {
3
+ descriptions: number;
4
+ samples: number;
5
+ video: boolean;
6
+ }
7
+ /** 分片地址以 tfhd 为基准,trun 再叠加有符号偏移;不能把它当成 stco 绝对地址。 */
8
+ export declare function assertMp4Fragments(bytes: Uint8Array, boxes: readonly Mp4Box[], movie: readonly Mp4Box[], tracks: Map<number, Mp4Track>): void;
@@ -0,0 +1,4 @@
1
+ import { type Mp4Box } from './mp4-boxes';
2
+ export declare function assertMp4Range(start: number, size: number, mdats: readonly Mp4Box[]): void;
3
+ /** 样本地址必须由 stsc/stsz/stco 联合求出;只验证首个 chunk 会漏掉尾部截断和外部引用。 */
4
+ export declare function assertMp4Samples(bytes: Uint8Array, tables: readonly Mp4Box[], mdats: readonly Mp4Box[], descriptions: number): number;
@@ -0,0 +1,2 @@
1
+ /** 上传仅验证容器闭包,不引入解码器;实际编解码能力仍由播放器决定。 */
2
+ export declare function assertMp4(bytes: Uint8Array): void;
@@ -0,0 +1,2 @@
1
+ import type { MediaPoster } from './types';
2
+ export declare function prepareMediaPoster(poster: MediaPoster | undefined, kind: 'audio' | 'video'): import("..").ClipboardResource;
@@ -0,0 +1,3 @@
1
+ import type { CommandPatches, ExtensionCommand } from '../commands/types';
2
+ import type { EditDoc } from '../types';
3
+ export declare function mediaCommandPatches(doc: EditDoc, extension: ExtensionCommand, origin: string): CommandPatches;
@@ -0,0 +1,4 @@
1
+ import type { ClipboardResource } from '../commands/types';
2
+ export declare const MAX_MEDIA_BYTES: number;
3
+ export declare function validateMediaResource(resource: Pick<ClipboardResource, 'mime' | 'extension'>, bytes: Uint8Array): boolean;
4
+ export declare function createMediaResource(value: unknown, mime: unknown): ClipboardResource;
@@ -0,0 +1,14 @@
1
+ import type { ClipboardResource } from '../commands/types';
2
+ import type { AddMediaCommand } from './types';
3
+ type PreparedMedia = {
4
+ readonly kind: 'audio' | 'video';
5
+ } & ({
6
+ readonly resource: ClipboardResource;
7
+ readonly url?: never;
8
+ } | {
9
+ readonly resource: null;
10
+ readonly url: string;
11
+ });
12
+ /** 外链没有可验证字节;只保留显式来源,不能按 URL 后缀假装验证过 MIME。 */
13
+ export declare function prepareMediaSource(source: AddMediaCommand['source']): PreparedMedia;
14
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { ElementId, SlideId } from '../types';
2
+ import type { InsertionRect } from '../commands/insertion-rect';
3
+ export interface MediaPoster {
4
+ readonly bytes: Uint8Array;
5
+ readonly mime: 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp';
6
+ }
7
+ type MediaSource<K extends 'audio' | 'video'> = {
8
+ readonly kind: 'embedded';
9
+ readonly bytes: Uint8Array;
10
+ readonly mime: K extends 'audio' ? 'audio/wav' : 'video/mp4';
11
+ } | {
12
+ readonly kind: 'external';
13
+ readonly mediaKind: K;
14
+ readonly url: string;
15
+ };
16
+ export type AddMediaCommand = {
17
+ readonly type: 'AddMedia';
18
+ readonly slideId: SlideId;
19
+ readonly rect: InsertionRect;
20
+ } & ({
21
+ readonly source: MediaSource<'audio'>;
22
+ readonly poster?: MediaPoster;
23
+ } | {
24
+ readonly source: MediaSource<'video'>;
25
+ readonly poster: MediaPoster;
26
+ });
27
+ export interface ReplaceMediaPosterCommand {
28
+ readonly type: 'ReplaceMediaPoster';
29
+ readonly id: ElementId;
30
+ readonly poster: MediaPoster;
31
+ }
32
+ export type MediaCommand = AddMediaCommand | ReplaceMediaPosterCommand;
33
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const OFFICE_MEDIA_REL = "http://schemas.microsoft.com/office/2007/relationships/media";
2
+ export declare const POWERPOINT_2010_NS = "http://schemas.microsoft.com/office/powerpoint/2010/main";
3
+ /** 经典关系服务旧版 Office,p14 关系服务新版媒体;二者必须指向同一来源。 */
4
+ export declare function mediaPropertiesMarkup(kind: 'audio' | 'video', classicId?: string, compatibleId?: string, external?: boolean): string;