@web-ppt/edit-core 0.5.0-beta.2 → 0.5.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 (337) hide show
  1. package/CHANGELOG.md +183 -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 +79 -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/types.d.ts CHANGED
@@ -1,21 +1,35 @@
1
- import type { CustomGeometry, Effects, ElementBase, Fill, GeomSpec, ImageElement, OpcPackage, Paragraph, PlaceholderDirectFlags, Presentation, ShapeCreationDefaults, ShapeElement, Slide, Stroke, Transition, TableCreationDefaults, SlideElement, SlideLayoutTemplate, TableStyleDefinition, TableStyleSettings, TextBody, TextRun } from '@web-ppt/core';
1
+ import type { CellBorders, CustomGeometry, Effects, ElementBase, Fill, GeomSpec, ImageElement, OpcPackage, Paragraph, PlaceholderDirectFlags, Presentation, ShapeCreationDefaults, ShapeElement, Slide, Stroke, Transition, TableCreationDefaults, SlideElement, TableStyleDefinition, TableStyleSettings, TextBody, TextRun, TextCapsStyle, TextStrikeStyle, TextUnderlineStyle, ThemeColorScheme, ThemeColorSlot, ThemeFontScheme } from '@web-ppt/core';
2
2
  import type { EmphasisAnimationEffect, EntranceExitAnimationEffect } from './animation-catalog';
3
- export type ElementId = string;
4
- export type SlideId = string;
5
- export type FractionalIndex = string;
3
+ import type { ElementId, FractionalIndex, SlideId } from './identities';
4
+ import type { ElementAltTextOverrides, SectionState } from './common-object-slide-types';
5
+ import type { LayoutRecord } from './layout-types';
6
+ import type { MasterRecord } from './master-types';
7
+ export type { ElementId, FractionalIndex, SectionId, SlideId } from './identities';
8
+ export type { ElementAltTextOverrides, ElementAltTextState, SectionRecord, SectionState, SlideSizeState, } from './common-object-slide-types';
9
+ export type { DesignTarget, LayoutCatalogItem, LayoutDesignState, LayoutDesignTarget, LayoutOverrides, LayoutPropertyState, LayoutRecord, MasterDesignTarget, } from './layout-types';
10
+ export type { MasterCatalogItem, MasterDesignState, MasterOverrides, MasterParagraphPropertyInput, MasterParagraphPropertyOverrides, MasterParagraphStyle, MasterRecord, MasterRunPropertyOverrides, MasterTextLevelOverrides, MasterTextLevelState, MasterTextStyleOverrides, } from './master-types';
6
11
  export type EditableKind = 'full' | 'frame' | 'none';
7
12
  export interface TableCellAddress {
8
13
  readonly r: number;
9
14
  readonly c: number;
10
15
  }
16
+ export type TableRowId = string;
17
+ export type TableColumnId = string;
18
+ export interface TableCellRef {
19
+ readonly row: TableRowId;
20
+ readonly column: TableColumnId;
21
+ }
11
22
  /** 来源行沿用坐标;新增行把稳定 rowId 编进 key,避免并发追加改变文字归属。 */
12
- export type TableCellKey = `${number}:${number}` | `@${number}:${string}:${number}`;
23
+ export type TableCellKey = `${number}:${number}` | `@${number}:${string}:${number}` | `!${string}`;
13
24
  export type TableCellRowRef = number | TableRowId;
25
+ export type TableCellColumnRef = number | TableColumnId;
14
26
  export interface ElementInsertionSource {
15
27
  readonly markup: string;
16
28
  readonly namespaces: Readonly<Record<string, string>>;
17
29
  /** 来源 spid 字符串 → 目标 part 新 spid。 */
18
30
  readonly spids: Readonly<Record<string, number>>;
31
+ /** 未进入编辑记录的原始宿主仍需重编号,但不能按“已删除后代”裁掉。 */
32
+ readonly unmodeledSpids?: readonly number[];
19
33
  readonly relationships?: readonly ElementInsertionRelationship[];
20
34
  readonly resources?: readonly ElementInsertionResource[];
21
35
  /** false 表示宿主只是空容器,后代要按当前模型层级分别插入或从来源树移动。 */
@@ -55,6 +69,7 @@ export interface SlideImageBackground extends ElementImageReplacement {
55
69
  }
56
70
  export type SlideSource = Omit<Slide, 'elements' | 'editInfo'>;
57
71
  export type SlideOverrides = Omit<Partial<SlideSource>, 'animations'> & {
72
+ extensions?: Record<string, unknown>;
58
73
  /** 稳定元素身份只存在编辑模型;投影时才恢复易失的数值 spid。 */
59
74
  animations?: readonly EditAnimationStep[];
60
75
  };
@@ -93,6 +108,11 @@ export interface ElementLinkState {
93
108
  * `id` / `editInfo` 则属于源文件身份,二者都不能进入覆盖层。
94
109
  */
95
110
  export type ElementOverrides = Partial<Pick<ElementBase, BaseOverrideKey>> & {
111
+ /** 按需能力的稀疏语义覆盖;命名空间由对应子路径负责校验。 */
112
+ extensions?: Record<string, unknown>;
113
+ altText?: ElementAltTextOverrides;
114
+ /** 预设切换与调节值保持规范语义;path 仍由投影按当前 frame 求值。 */
115
+ presetGeometry?: GeomSpec;
96
116
  /** 自定义几何是 path 的语义来源;path 本身仍保持派生字段,不能写入覆盖层。 */
97
117
  geometry?: CustomGeometry;
98
118
  /** 缺少字段表示来源;none 表示明确移除,不能用 undefined 混淆二者。 */
@@ -112,6 +132,14 @@ export type ElementOverrides = Partial<Pick<ElementBase, BaseOverrideKey>> & {
112
132
  tableCells?: Record<TableCellKey, TableCellOverrides>;
113
133
  /** 表格行使用稳定身份稀疏追加;不复制整张 rows,未来可沿同一身份扩展中间插入。 */
114
134
  tableRows?: Record<TableRowId, TableRowInsertion>;
135
+ /** 新增列与来源列分离;来源列身份由 #c{index} 确定性派生。 */
136
+ tableColumns?: Record<TableColumnId, TableColumnInsertion>;
137
+ tableRemovedRows?: Record<TableRowId, true>;
138
+ tableRemovedColumns?: Record<TableColumnId, true>;
139
+ tableRowHeights?: Record<TableRowId, number>;
140
+ tableColumnWidths?: Record<TableColumnId, number>;
141
+ /** 一旦存在便是完整合并真值;空数组明确表示拆掉全部来源合并。 */
142
+ tableMerges?: readonly TableMergeRegion[];
115
143
  /** 缺少字段表示来源;SetTableStyle(null) 删除整份覆盖。 */
116
144
  tableStyle?: TableStyleSettings;
117
145
  };
@@ -216,12 +244,33 @@ export interface ElementCropState {
216
244
  /** 全零裁剪仍是直接格式;只有 SetCrop(null) 才恢复来源。 */
217
245
  readonly direct: boolean;
218
246
  }
247
+ export interface ElementPresetGeometryState {
248
+ readonly value: GeomSpec | null;
249
+ readonly source: GeomSpec | null;
250
+ readonly mixed: boolean;
251
+ readonly sourceMixed: boolean;
252
+ readonly direct: boolean;
253
+ }
219
254
  export interface TableCellOverrides {
220
255
  text?: TextOverride;
256
+ fill?: Fill | null;
257
+ borders?: CellBorders;
258
+ margins?: [number, number, number, number];
259
+ vAlign?: 'top' | 'middle' | 'bottom';
260
+ vert?: NonNullable<import('@web-ppt/core').TableCell['vert']>;
221
261
  }
222
- export type TableRowId = string;
223
262
  export interface TableRowInsertion {
224
263
  readonly order: FractionalIndex;
264
+ /** 来源行只提供空白格的格式模板;身份和文字不会被复制。 */
265
+ readonly template?: number;
266
+ }
267
+ export interface TableColumnInsertion {
268
+ readonly order: FractionalIndex;
269
+ readonly template?: number;
270
+ }
271
+ export interface TableMergeRegion {
272
+ readonly from: TableCellRef;
273
+ readonly to: TableCellRef;
225
274
  }
226
275
  export interface TextMark {
227
276
  readonly from: number;
@@ -238,6 +287,8 @@ export interface TextMark {
238
287
  readonly preserveSource?: true;
239
288
  /** 用户对来源 rPr 的稀疏覆盖;null 表示删除直接格式、回到继承。 */
240
289
  readonly runOverrides?: RunPropertyOverrides;
290
+ /** 先删除来源 rPr 的全部视觉直设,再叠加 runOverrides;链接与字段身份不属于格式。 */
291
+ readonly clearDirectFormatting?: true;
241
292
  /** 删除直接格式后用于恢复继承所得的有效值;只含字符格式 P0 字段。 */
242
293
  readonly inheritedProps?: RunProperties;
243
294
  /** 完整继承字符元数据;改级后不能继续沿用旧层级的非面板字段。 */
@@ -257,6 +308,14 @@ export interface RunProperties {
257
308
  readonly i: boolean;
258
309
  readonly u: boolean;
259
310
  readonly strike: boolean;
311
+ readonly underline: TextUnderlineStyle;
312
+ readonly strikeType: TextStrikeStyle;
313
+ readonly highlight: string | null;
314
+ /** 编辑 API 沿用统一 Schema 的 CSS px;保存时换算为 `a:rPr@spc` 的 1/100 pt。 */
315
+ readonly spacing: number;
316
+ readonly caps: TextCapsStyle;
317
+ /** 百分比;30 表示上移 30%,-25 表示下移 25%。 */
318
+ readonly baseline: number;
260
319
  }
261
320
  export interface RunPropertyOverrides {
262
321
  readonly font?: string | null;
@@ -266,6 +325,13 @@ export interface RunPropertyOverrides {
266
325
  readonly i?: boolean | null;
267
326
  readonly u?: boolean | null;
268
327
  readonly strike?: boolean | null;
328
+ /** 精确样式优先;不能与对应的旧布尔字段同时传入。 */
329
+ readonly underline?: TextUnderlineStyle | null;
330
+ readonly strikeType?: TextStrikeStyle | null;
331
+ readonly highlight?: string | null;
332
+ readonly spacing?: number | null;
333
+ readonly caps?: TextCapsStyle | null;
334
+ readonly baseline?: number | null;
269
335
  /** null 恢复来源;none 明确去掉选区链接。 */
270
336
  readonly link?: LinkOverride | null;
271
337
  }
@@ -278,6 +344,8 @@ export interface TextFragmentMark {
278
344
  export interface TextFragmentParagraph {
279
345
  readonly text: string;
280
346
  readonly marks: readonly TextFragmentMark[];
347
+ /** 只有复制了完整段落时存在;局部文字不会意外带走列表语义。 */
348
+ readonly bullet?: ParagraphBullet;
281
349
  }
282
350
  export interface TextFragment {
283
351
  readonly paragraphs: readonly TextFragmentParagraph[];
@@ -294,8 +362,46 @@ export interface RunPropertiesState {
294
362
  readonly i: RunPropertyState<boolean>;
295
363
  readonly u: RunPropertyState<boolean>;
296
364
  readonly strike: RunPropertyState<boolean>;
365
+ readonly underline: RunPropertyState<TextUnderlineStyle>;
366
+ readonly strikeType: RunPropertyState<TextStrikeStyle>;
367
+ readonly highlight: RunPropertyState<string>;
368
+ readonly spacing: RunPropertyState<number>;
369
+ readonly caps: RunPropertyState<TextCapsStyle>;
370
+ readonly baseline: RunPropertyState<number>;
297
371
  }
298
372
  export type RunLinkState = ElementLinkState;
373
+ export type ParagraphAutoNumberType = 'alphaLcParenBoth' | 'alphaLcParenR' | 'alphaLcPeriod' | 'alphaUcParenBoth' | 'alphaUcParenR' | 'alphaUcPeriod' | 'arabic1Minus' | 'arabic2Minus' | 'arabicDbPeriod' | 'arabicDbPlain' | 'arabicParenBoth' | 'arabicParenR' | 'arabicPeriod' | 'arabicPlain' | 'circleNumDbPlain' | 'circleNumWdBlackPlain' | 'circleNumWdWhitePlain' | 'ea1ChsPeriod' | 'ea1ChsPlain' | 'ea1ChtPeriod' | 'ea1ChtPlain' | 'ea1JpnChsDbPeriod' | 'ea1JpnKorPeriod' | 'ea1JpnKorPlain' | 'hebrew2Minus' | 'hindiAlpha1Period' | 'hindiAlphaPeriod' | 'hindiNumParenR' | 'hindiNumPeriod' | 'romanLcParenBoth' | 'romanLcParenR' | 'romanLcPeriod' | 'romanUcParenBoth' | 'romanUcParenR' | 'romanUcPeriod' | 'thaiAlphaParenBoth' | 'thaiAlphaParenR' | 'thaiAlphaPeriod' | 'thaiNumParenBoth' | 'thaiNumParenR' | 'thaiNumPeriod';
374
+ export type ParagraphBulletSize = {
375
+ readonly kind: 'percent' | 'points';
376
+ readonly value: number;
377
+ };
378
+ export interface ParagraphBulletStyle {
379
+ readonly color?: string | null;
380
+ readonly font?: string | null;
381
+ readonly size?: ParagraphBulletSize | null;
382
+ }
383
+ export type ParagraphBullet = {
384
+ readonly kind: 'none';
385
+ } | ({
386
+ readonly kind: 'char';
387
+ readonly char: string;
388
+ } & ParagraphBulletStyle) | ({
389
+ readonly kind: 'autoNum';
390
+ readonly type: ParagraphAutoNumberType;
391
+ readonly startAt?: number;
392
+ } & ParagraphBulletStyle) | ({
393
+ readonly kind: 'blip';
394
+ readonly image: {
395
+ readonly src: string;
396
+ };
397
+ } & ParagraphBulletStyle);
398
+ export type ParagraphBulletInput = ParagraphBullet | ({
399
+ readonly kind: 'blip';
400
+ readonly image: {
401
+ readonly bytes: Uint8Array;
402
+ readonly mime: 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp';
403
+ };
404
+ } & ParagraphBulletStyle);
299
405
  export interface ParagraphPropertyOverrides {
300
406
  readonly level?: number | null;
301
407
  readonly align?: Paragraph['align'] | null;
@@ -304,7 +410,12 @@ export interface ParagraphPropertyOverrides {
304
410
  readonly spaceAfter?: number | null;
305
411
  readonly marginLeft?: number | null;
306
412
  readonly indent?: number | null;
413
+ /** null 删除本层项目符号直设;显式无项目符号会使用独立的 none 语义。 */
414
+ readonly bullet?: ParagraphBullet | null;
307
415
  }
416
+ export type ParagraphPropertyInput = Omit<ParagraphPropertyOverrides, 'bullet'> & {
417
+ readonly bullet?: ParagraphBulletInput | null;
418
+ };
308
419
  export interface ParagraphProperties {
309
420
  readonly level: number;
310
421
  readonly align: Paragraph['align'];
@@ -322,6 +433,7 @@ export interface ParagraphPropertiesState {
322
433
  readonly spaceAfter: RunPropertyState<number>;
323
434
  readonly marginLeft: RunPropertyState<number>;
324
435
  readonly indent: RunPropertyState<number>;
436
+ readonly bullet: RunPropertyState<ParagraphBullet>;
325
437
  }
326
438
  export type TextBodyAutoFit = 'none' | 'normal' | 'shape';
327
439
  export interface TextBodyProperties {
@@ -355,6 +467,11 @@ export interface FlatTextParagraph {
355
467
  readonly inheritedParagraphProps?: ParagraphProperties;
356
468
  /** 来源 pPr 的直接字段集合,用于区分“删除直设”与严格 no-op。 */
357
469
  readonly directParagraphProps?: Readonly<Partial<Record<keyof ParagraphProperties, true>>>;
470
+ /** 来源结构语义不混入 props,避免把自动编号派生字符串当字符项目符号。 */
471
+ readonly sourceBullet?: ParagraphBullet;
472
+ readonly inheritedBullet?: ParagraphBullet;
473
+ /** 上传图片项目符号的 OPC 关系闭包;字节只由 imageResources 按哈希持有。 */
474
+ readonly bulletImageOverride?: ElementImageReplacement;
358
475
  }
359
476
  export type TextBodyOverride = Omit<TextBody, 'paragraphs' | 'editInfo'>;
360
477
  export type TextOverride = {
@@ -466,6 +583,41 @@ export interface SlideRecord {
466
583
  /** 当前页主题求值后的公开表样式目录。 */
467
584
  tableStyles?: TableStyleDefinition[];
468
585
  }
586
+ export interface ThemeFontCollectionOverrides {
587
+ latin?: string;
588
+ ea?: string;
589
+ cs?: string;
590
+ scripts?: Record<string, string>;
591
+ }
592
+ export interface ThemeOverrides {
593
+ colors?: Partial<Record<ThemeColorSlot, string>>;
594
+ fonts?: {
595
+ major?: ThemeFontCollectionOverrides;
596
+ minor?: ThemeFontCollectionOverrides;
597
+ };
598
+ }
599
+ /** src 永远是解析来源,用户更改只进入稀疏 ovr。 */
600
+ export interface ThemeRecord {
601
+ id: string;
602
+ name: string;
603
+ src: {
604
+ colors: ThemeColorScheme;
605
+ fonts: ThemeFontScheme;
606
+ };
607
+ ovr: ThemeOverrides;
608
+ }
609
+ export interface ThemeState {
610
+ id: string;
611
+ name: string;
612
+ colors: ThemeColorScheme;
613
+ fonts: ThemeFontScheme;
614
+ source: {
615
+ colors: ThemeColorScheme;
616
+ fonts: ThemeFontScheme;
617
+ };
618
+ mixed: false;
619
+ direct: boolean;
620
+ }
469
621
  export interface SlideNotesBinding {
470
622
  readonly sourcePart?: string;
471
623
  readonly targetPart: string;
@@ -496,6 +648,8 @@ export interface EditDocMeta {
496
648
  readonly: boolean;
497
649
  /** 来源演示文稿的表样式 part;省略表示保存时按需创建标准 part。 */
498
650
  tableStylesPart?: string;
651
+ sourceWidth: number;
652
+ sourceHeight: number;
499
653
  }
500
654
  export interface EditIdentityRange {
501
655
  /** 划分区间前的全局首值;恢复时据此重算当前 slot 的精确边界。 */
@@ -538,14 +692,27 @@ export interface EditSaveState {
538
692
  sourceSlideParts: string[];
539
693
  }
540
694
  export interface EditDoc {
695
+ /** 文档级共享语义的稀疏覆盖;独立于页面和元素的生命周期。 */
696
+ extensions?: Record<string, unknown>;
541
697
  meta: EditDocMeta;
542
698
  identity: EditIdentity;
543
699
  slides: Record<SlideId, SlideRecord>;
544
700
  slideOrder: SlideId[];
545
- layouts: Record<string, SlideLayoutTemplate>;
701
+ sections: SectionState;
702
+ layouts: Record<string, LayoutRecord>;
546
703
  layoutOrder: string[];
704
+ masters: Record<string, MasterRecord>;
705
+ masterOrder: string[];
706
+ themes: Record<string, ThemeRecord>;
707
+ themeOrder: string[];
547
708
  elements: Record<ElementId, ElementRecord>;
548
709
  removedElements: Record<ElementId, RemovedElementRecord>;
710
+ /** 被移出模型的原生框架身份;副本和延迟扩展仍需定位它,不参与 XML 删除计划。 */
711
+ retainedElementOrigins?: Record<ElementId, {
712
+ readonly part: string;
713
+ readonly spid: number;
714
+ readonly sourcePart?: string;
715
+ }>;
549
716
  /** 会话图片按内容寻址;未被当前元素引用的条目仍可供历史逆向 Patch 恢复。 */
550
717
  imageResources: Record<string, ElementInsertionResource>;
551
718
  readonly package: OpcPackage | null;
@@ -559,4 +726,3 @@ export interface ProjectionInvalidation {
559
726
  dirtyElements: Set<ElementId>;
560
727
  dirtySlides: Set<SlideId>;
561
728
  }
562
- export {};
@@ -1,7 +1,7 @@
1
1
  /** 保存期按需加载的无 DOM 保留型 XML 树。 */
2
2
  export { parseXmlTree, serializeXmlTree, serializeXmlTreeBytes } from './tree';
3
3
  export { removeXmlAttribute, setXmlAttribute } from './mutate';
4
- export { createXmlElement, createXmlText, removeXmlChild, reorderXmlChildren } from './nodes';
4
+ export { cloneXmlNode, cloneXmlNodeWithNamespaceClosure, createXmlElement, createXmlText, insertXmlChildUnchecked, removeXmlChild, reorderXmlChildren, } from './nodes';
5
5
  export { insertXmlChild, insertXmlInOrder, OOXML_CHILD_ORDER } from './order';
6
6
  export { findXmlAttribute, findXmlChild, findXmlDescendant, xmlElementChildren } from './query';
7
7
  export type { CreateXmlElementOptions } from './nodes';
@@ -8,8 +8,8 @@ export declare function createXmlElement(name: string, options?: CreateXmlElemen
8
8
  /** 克隆到未挂载树;元素会重建,叶节点保留原始词法,避免丢失注释、CDATA 与处理指令。 */
9
9
  export declare function cloneXmlNode(source: XmlElement): XmlElement;
10
10
  export declare function cloneXmlNode(source: XmlNode): XmlNode;
11
- /** 子树离开来源祖先时,把有效前缀物化到新根,避免未知扩展序列化成未绑定 QName。 */
12
- export declare function cloneXmlNodeWithNamespaceClosure(source: XmlElement): XmlElement;
11
+ /** 子树离开来源祖先时固化有效前缀;立即移入 destination 时,可复用该父级的相同绑定。 */
12
+ export declare function cloneXmlNodeWithNamespaceClosure(source: XmlElement, destination?: XmlElement): XmlElement;
13
13
  /** 在指定节点前插入;before 省略时追加。格式化空白由原父节点保持,不凭空重排已有内容。 */
14
14
  export declare function insertXmlChildUnchecked(parent: XmlElement, child: XmlNode, before?: XmlNode | null): number;
15
15
  /** 从父元素移除节点;节点可随后重新挂载。 */
@@ -0,0 +1,3 @@
1
+ import type { XmlElement } from './types';
2
+ /** 同一兼容对象的不同表示允许复用 ID;调用方需要的是占用集合,不是出现次数。 */
3
+ export declare function shapeIds(root: XmlElement): string[];
package/dist/xml.js CHANGED
@@ -1,19 +1,22 @@
1
- import { w as s, c as l, g as a, f as m, d as t, h as i, u as X, k as d, p as n, r as h, b as C, e as f, y as o, a as b, s as c, x as u } from "./index-D2JizcOQ.js";
1
+ import { w as s, j as a, e as r, c as m, k as t, b as i, g as X, f as n, v as d, i as o, d as c, p as h, h as C, r as f, n as b, y as p, a as u, s as x, x as O } from "./index-C2r7c6G6.js";
2
2
  export {
3
3
  s as OOXML_CHILD_ORDER,
4
- l as createXmlElement,
5
- a as createXmlText,
6
- m as findXmlAttribute,
7
- t as findXmlChild,
8
- i as findXmlDescendant,
9
- X as insertXmlChild,
10
- d as insertXmlInOrder,
11
- n as parseXmlTree,
12
- h as removeXmlAttribute,
13
- C as removeXmlChild,
14
- f as reorderXmlChildren,
15
- o as serializeXmlTree,
16
- b as serializeXmlTreeBytes,
17
- c as setXmlAttribute,
18
- u as xmlElementChildren
4
+ a as cloneXmlNode,
5
+ r as cloneXmlNodeWithNamespaceClosure,
6
+ m as createXmlElement,
7
+ t as createXmlText,
8
+ i as findXmlAttribute,
9
+ X as findXmlChild,
10
+ n as findXmlDescendant,
11
+ d as insertXmlChild,
12
+ o as insertXmlChildUnchecked,
13
+ c as insertXmlInOrder,
14
+ h as parseXmlTree,
15
+ C as removeXmlAttribute,
16
+ f as removeXmlChild,
17
+ b as reorderXmlChildren,
18
+ p as serializeXmlTree,
19
+ u as serializeXmlTreeBytes,
20
+ x as setXmlAttribute,
21
+ O as xmlElementChildren
19
22
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@web-ppt/edit-core",
3
- "version": "0.5.0-beta.2",
3
+ "version": "0.5.0",
4
4
  "description": "Headless, framework-agnostic editing document model and render projection for Web-PPT.",
5
5
  "keywords": [
6
6
  "pptx",
@@ -46,24 +46,98 @@
46
46
  "types": "./dist/generate/index.d.ts",
47
47
  "import": "./dist/generate.js"
48
48
  },
49
- "./package.json": "./package.json"
49
+ "./templates": {
50
+ "types": "./dist/templates/index.d.ts",
51
+ "import": "./dist/templates.js"
52
+ },
53
+ "./chart": {
54
+ "types": "./dist/chart/index.d.ts",
55
+ "import": "./dist/chart.js"
56
+ },
57
+ "./chart-shared": {
58
+ "types": "./dist/chart-shared/index.d.ts",
59
+ "import": "./dist/chart-shared.js"
60
+ },
61
+ "./media": {
62
+ "types": "./dist/media/index.d.ts",
63
+ "import": "./dist/media.js"
64
+ },
65
+ "./package.json": "./package.json",
66
+ "./appearance": {
67
+ "types": "./dist/appearance/index.d.ts",
68
+ "import": "./dist/appearance.js"
69
+ },
70
+ "./resize": {
71
+ "types": "./dist/resize/index.d.ts",
72
+ "import": "./dist/resize.js"
73
+ },
74
+ "./comments": {
75
+ "types": "./dist/comments/index.d.ts",
76
+ "import": "./dist/comments.js"
77
+ },
78
+ "./chart-design": {
79
+ "types": "./dist/chart-design/index.d.ts",
80
+ "import": "./dist/chart-design.js"
81
+ },
82
+ "./chart-ex": {
83
+ "types": "./dist/chart-ex/index.d.ts",
84
+ "import": "./dist/chart-ex.js"
85
+ },
86
+ "./smartart": {
87
+ "types": "./dist/smartart/index.d.ts",
88
+ "import": "./dist/smartart.js"
89
+ },
90
+ "./cfb": {
91
+ "types": "./dist/cfb/index.d.ts",
92
+ "import": "./dist/cfb.js"
93
+ },
94
+ "./ole": {
95
+ "types": "./dist/ole/index.d.ts",
96
+ "import": "./dist/ole.js"
97
+ },
98
+ "./ink": {
99
+ "types": "./dist/ink/index.d.ts",
100
+ "import": "./dist/ink.js"
101
+ },
102
+ "./describe": {
103
+ "types": "./dist/describe/index.d.ts",
104
+ "import": "./dist/describe.js"
105
+ },
106
+ "./describe/schema.json": "./schemas/describe.schema.json",
107
+ "./lint": {
108
+ "types": "./dist/lint/index.d.ts",
109
+ "import": "./dist/lint.js"
110
+ },
111
+ "./lint/schema.json": "./schemas/lint.schema.json",
112
+ "./lint/sampler": {
113
+ "types": "./dist/lint/sampler.d.ts",
114
+ "import": "./dist/lint-sampler.js"
115
+ },
116
+ "./ppt": {
117
+ "types": "./dist/ppt/index.d.ts",
118
+ "import": "./dist/ppt.js"
119
+ }
50
120
  },
51
121
  "files": [
52
122
  "dist",
123
+ "schemas",
53
124
  "README.md",
54
125
  "CHANGELOG.md",
55
126
  "LICENSE"
56
127
  ],
57
128
  "scripts": {
58
- "build": "vite build && tsc -p tsconfig.build.json",
129
+ "postbuild": "node ../../tooling/build-agent-describe.mjs && vite build --config vite.lint.config.ts",
130
+ "build": "vite build && vite build --config vite.templates.config.ts && vite build --config vite.chart.config.ts && vite build --config vite.media.config.ts && vite build --config vite.appearance.config.ts && vite build --config vite.resize.config.ts && node ../../tooling/check-preset-handles-boundary.mjs edit-core && tsc -p tsconfig.build.json && vite build --config vite.comments.config.ts && vite build --config vite.chart-design.config.ts && vite build --config vite.chart-ex.config.ts && vite build --config vite.smartart.config.ts && vite build --config vite.cfb.config.ts && vite build --config vite.ole.config.ts && vite build --config vite.ink.config.ts && vite build --config vite.ppt.config.ts",
59
131
  "prepublishOnly": "npm run build",
60
132
  "prepack": "node ../../tooling/sync-package-docs.mjs"
61
133
  },
62
134
  "peerDependencies": {
63
- "@web-ppt/core": "^0.5.0-beta.2"
135
+ "@web-ppt/core": "^0.5.0"
64
136
  },
65
137
  "dependencies": {
66
- "fflate": "^0.8.2"
138
+ "culori": "^4.0.2",
139
+ "fflate": "^0.8.2",
140
+ "rbush": "^4.0.1"
67
141
  },
68
142
  "publishConfig": {
69
143
  "access": "public"