ooxml-core 1.7.0 → 1.8.1

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 (295) hide show
  1. package/dist/automation/index.cjs +10903 -5961
  2. package/dist/automation/index.mjs +10903 -5961
  3. package/dist/collab/session.d.ts.map +1 -1
  4. package/dist/color/index.cjs +103 -0
  5. package/dist/color/index.d.ts +1 -0
  6. package/dist/color/index.d.ts.map +1 -1
  7. package/dist/color/index.mjs +94 -1
  8. package/dist/color/theme-palette.d.ts +55 -0
  9. package/dist/color/theme-palette.d.ts.map +1 -0
  10. package/dist/docx/layout/page-cursor.d.ts.map +1 -1
  11. package/dist/docx/model.d.ts +2 -2
  12. package/dist/docx/model.d.ts.map +1 -1
  13. package/dist/docx/style-numbering-package.d.ts.map +1 -1
  14. package/dist/docx/tab-stops.d.ts.map +1 -1
  15. package/dist/docx/table-styles.d.ts.map +1 -1
  16. package/dist/docx/write-drawing.d.ts.map +1 -1
  17. package/dist/docx/write-table.d.ts.map +1 -1
  18. package/dist/geometry/connector-router-astar.d.ts +24 -0
  19. package/dist/geometry/connector-router-astar.d.ts.map +1 -0
  20. package/dist/geometry/connector-router-graph.d.ts +38 -0
  21. package/dist/geometry/connector-router-graph.d.ts.map +1 -0
  22. package/dist/geometry/connector-router-types.d.ts +53 -0
  23. package/dist/geometry/connector-router-types.d.ts.map +1 -0
  24. package/dist/geometry/connector-router.d.ts +35 -0
  25. package/dist/geometry/connector-router.d.ts.map +1 -0
  26. package/dist/geometry/guide-formula-api.d.ts.map +1 -1
  27. package/dist/geometry/index.cjs +319 -0
  28. package/dist/geometry/index.d.ts +1 -0
  29. package/dist/geometry/index.d.ts.map +1 -1
  30. package/dist/geometry/index.mjs +304 -1
  31. package/dist/geometry/preset-shape-definitions-chart-marks.d.ts.map +1 -1
  32. package/dist/geometry/preset-shape-paths.d.ts +1 -1
  33. package/dist/geometry/preset-shape-paths.d.ts.map +1 -1
  34. package/dist/index.cjs +510 -3
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.mjs +510 -4
  38. package/dist/math/omml-to-latex.d.ts.map +1 -1
  39. package/dist/pptx/automation/index.d.ts.map +1 -1
  40. package/dist/pptx/chunks/index-Cn-GzYGp.d.ts.map +1 -1
  41. package/dist/pptx/signature-node/index.cjs +37 -7
  42. package/dist/pptx/signature-node/index.d.ts.map +1 -1
  43. package/dist/pptx/signature-node/index.mjs +37 -7
  44. package/dist/pptx/ui/index.cjs +22 -24
  45. package/dist/pptx/ui/index.d.ts +14 -7
  46. package/dist/pptx/ui/index.d.ts.map +1 -1
  47. package/dist/pptx/ui/index.mjs +22 -24
  48. package/dist/ribbon/add-in.d.ts +53 -0
  49. package/dist/ribbon/add-in.d.ts.map +1 -0
  50. package/dist/ribbon/index.cjs +28 -0
  51. package/dist/ribbon/index.d.ts +2 -0
  52. package/dist/ribbon/index.d.ts.map +1 -0
  53. package/dist/ribbon/index.mjs +23 -0
  54. package/dist/teams/files.d.ts.map +1 -1
  55. package/dist/teams/index.cjs +29 -15
  56. package/dist/teams/index.mjs +29 -15
  57. package/dist/text/font-metrics/advance-width.d.ts +9 -0
  58. package/dist/text/font-metrics/advance-width.d.ts.map +1 -0
  59. package/dist/text/font-metrics/design-advances.generated.d.ts +12 -0
  60. package/dist/text/font-metrics/design-advances.generated.d.ts.map +1 -0
  61. package/dist/text/index.cjs +53 -0
  62. package/dist/text/index.d.ts +1 -0
  63. package/dist/text/index.d.ts.map +1 -1
  64. package/dist/text/index.mjs +52 -1
  65. package/dist/visio/clipboard-types.d.ts +8 -0
  66. package/dist/visio/clipboard-types.d.ts.map +1 -1
  67. package/dist/visio/clipboard-xml.d.ts.map +1 -1
  68. package/dist/visio/clipboard.d.ts.map +1 -1
  69. package/dist/visio/connector-route-avoid.d.ts +24 -0
  70. package/dist/visio/connector-route-avoid.d.ts.map +1 -0
  71. package/dist/visio/connector-route-walk.d.ts +37 -0
  72. package/dist/visio/connector-route-walk.d.ts.map +1 -0
  73. package/dist/visio/connector-route.d.ts +5 -2
  74. package/dist/visio/connector-route.d.ts.map +1 -1
  75. package/dist/visio/create-document.d.ts +6 -0
  76. package/dist/visio/create-document.d.ts.map +1 -1
  77. package/dist/visio/edit-change-shape-builtin.d.ts +18 -0
  78. package/dist/visio/edit-change-shape-builtin.d.ts.map +1 -0
  79. package/dist/visio/edit-change-shape-commands.d.ts +10 -4
  80. package/dist/visio/edit-change-shape-commands.d.ts.map +1 -1
  81. package/dist/visio/edit-change-shape.d.ts +3 -1
  82. package/dist/visio/edit-change-shape.d.ts.map +1 -1
  83. package/dist/visio/edit-commands.d.ts +5 -1
  84. package/dist/visio/edit-commands.d.ts.map +1 -1
  85. package/dist/visio/edit-connector-layout.d.ts +2 -2
  86. package/dist/visio/edit-connector-layout.d.ts.map +1 -1
  87. package/dist/visio/edit-connector-obstacles.d.ts +14 -0
  88. package/dist/visio/edit-connector-obstacles.d.ts.map +1 -0
  89. package/dist/visio/edit-connector-reroute.d.ts +7 -0
  90. package/dist/visio/edit-connector-reroute.d.ts.map +1 -1
  91. package/dist/visio/edit-connector.d.ts +2 -0
  92. package/dist/visio/edit-connector.d.ts.map +1 -1
  93. package/dist/visio/edit-delete.d.ts +4 -2
  94. package/dist/visio/edit-delete.d.ts.map +1 -1
  95. package/dist/visio/edit-duplicate-scope.d.ts +7 -2
  96. package/dist/visio/edit-duplicate-scope.d.ts.map +1 -1
  97. package/dist/visio/edit-duplicate.d.ts.map +1 -1
  98. package/dist/visio/edit-formatting-cell-admission.d.ts.map +1 -1
  99. package/dist/visio/edit-formatting-commands.d.ts +17 -0
  100. package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
  101. package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
  102. package/dist/visio/edit-formatting-scope.d.ts +6 -1
  103. package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
  104. package/dist/visio/edit-formatting-text.d.ts.map +1 -1
  105. package/dist/visio/edit-formatting.d.ts.map +1 -1
  106. package/dist/visio/edit-group-formulas.d.ts +22 -0
  107. package/dist/visio/edit-group-formulas.d.ts.map +1 -0
  108. package/dist/visio/edit-group-rotation.d.ts +3 -1
  109. package/dist/visio/edit-group-rotation.d.ts.map +1 -1
  110. package/dist/visio/edit-group.d.ts +10 -3
  111. package/dist/visio/edit-group.d.ts.map +1 -1
  112. package/dist/visio/edit-instance-checks.d.ts +18 -0
  113. package/dist/visio/edit-instance-checks.d.ts.map +1 -0
  114. package/dist/visio/edit-instance-clipboard.d.ts +22 -0
  115. package/dist/visio/edit-instance-clipboard.d.ts.map +1 -0
  116. package/dist/visio/edit-instance-delete.d.ts +19 -0
  117. package/dist/visio/edit-instance-delete.d.ts.map +1 -0
  118. package/dist/visio/edit-instance-duplicate.d.ts +17 -0
  119. package/dist/visio/edit-instance-duplicate.d.ts.map +1 -0
  120. package/dist/visio/edit-instance-format.d.ts +31 -0
  121. package/dist/visio/edit-instance-format.d.ts.map +1 -0
  122. package/dist/visio/edit-instance-geometry.d.ts +21 -0
  123. package/dist/visio/edit-instance-geometry.d.ts.map +1 -0
  124. package/dist/visio/edit-instance-group.d.ts +18 -0
  125. package/dist/visio/edit-instance-group.d.ts.map +1 -0
  126. package/dist/visio/edit-instance-order.d.ts +16 -0
  127. package/dist/visio/edit-instance-order.d.ts.map +1 -0
  128. package/dist/visio/edit-instance-recalculate.d.ts +32 -0
  129. package/dist/visio/edit-instance-recalculate.d.ts.map +1 -0
  130. package/dist/visio/edit-instance-replace.d.ts +18 -0
  131. package/dist/visio/edit-instance-replace.d.ts.map +1 -0
  132. package/dist/visio/edit-instance-scope.d.ts +29 -0
  133. package/dist/visio/edit-instance-scope.d.ts.map +1 -0
  134. package/dist/visio/edit-instance-shape.d.ts +52 -0
  135. package/dist/visio/edit-instance-shape.d.ts.map +1 -0
  136. package/dist/visio/edit-instance-sheet.d.ts +52 -0
  137. package/dist/visio/edit-instance-sheet.d.ts.map +1 -0
  138. package/dist/visio/edit-master-drop.d.ts +39 -0
  139. package/dist/visio/edit-master-drop.d.ts.map +1 -0
  140. package/dist/visio/edit-master-index.d.ts.map +1 -1
  141. package/dist/visio/edit-master-instance-extras.d.ts +15 -0
  142. package/dist/visio/edit-master-instance-extras.d.ts.map +1 -0
  143. package/dist/visio/edit-master-instance-group.d.ts +25 -0
  144. package/dist/visio/edit-master-instance-group.d.ts.map +1 -0
  145. package/dist/visio/edit-master-instance.d.ts +42 -0
  146. package/dist/visio/edit-master-instance.d.ts.map +1 -0
  147. package/dist/visio/edit-master-scope.d.ts.map +1 -1
  148. package/dist/visio/edit-page-auto-size.d.ts.map +1 -1
  149. package/dist/visio/edit-page-layout.d.ts +15 -0
  150. package/dist/visio/edit-page-layout.d.ts.map +1 -0
  151. package/dist/visio/edit-page-setup-commands.d.ts +3 -1
  152. package/dist/visio/edit-page-setup-commands.d.ts.map +1 -1
  153. package/dist/visio/edit-page-theme-refresh.d.ts +4 -0
  154. package/dist/visio/edit-page-theme-refresh.d.ts.map +1 -0
  155. package/dist/visio/edit-page-theme.d.ts.map +1 -1
  156. package/dist/visio/edit-pages.d.ts.map +1 -1
  157. package/dist/visio/edit-paste.d.ts +3 -1
  158. package/dist/visio/edit-paste.d.ts.map +1 -1
  159. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  160. package/dist/visio/edit-recalculate-values.d.ts.map +1 -1
  161. package/dist/visio/edit-shape-order.d.ts +19 -4
  162. package/dist/visio/edit-shape-order.d.ts.map +1 -1
  163. package/dist/visio/edit-snap-glue.d.ts +16 -0
  164. package/dist/visio/edit-snap-glue.d.ts.map +1 -0
  165. package/dist/visio/edit-stencil-connector-drop.d.ts +9 -0
  166. package/dist/visio/edit-stencil-connector-drop.d.ts.map +1 -0
  167. package/dist/visio/edit-stencil-connector-layout.d.ts +14 -0
  168. package/dist/visio/edit-stencil-connector-layout.d.ts.map +1 -0
  169. package/dist/visio/edit-stencil-connector-write.d.ts +16 -0
  170. package/dist/visio/edit-stencil-connector-write.d.ts.map +1 -0
  171. package/dist/visio/edit-stencil-connector.d.ts +29 -0
  172. package/dist/visio/edit-stencil-connector.d.ts.map +1 -0
  173. package/dist/visio/edit-stencil-master.d.ts +17 -0
  174. package/dist/visio/edit-stencil-master.d.ts.map +1 -0
  175. package/dist/visio/edit-text-size-formula.d.ts +17 -0
  176. package/dist/visio/edit-text-size-formula.d.ts.map +1 -0
  177. package/dist/visio/edit-text-size.d.ts +34 -0
  178. package/dist/visio/edit-text-size.d.ts.map +1 -0
  179. package/dist/visio/edit.d.ts +1 -1
  180. package/dist/visio/edit.d.ts.map +1 -1
  181. package/dist/visio/formula-evaluate.d.ts +2 -0
  182. package/dist/visio/formula-evaluate.d.ts.map +1 -1
  183. package/dist/visio/formula-functions.d.ts +13 -0
  184. package/dist/visio/formula-functions.d.ts.map +1 -0
  185. package/dist/visio/formula-numeric-functions.d.ts.map +1 -1
  186. package/dist/visio/formula.d.ts +14 -0
  187. package/dist/visio/formula.d.ts.map +1 -1
  188. package/dist/visio/index.cjs +11004 -5929
  189. package/dist/visio/index.d.ts +11 -1
  190. package/dist/visio/index.d.ts.map +1 -1
  191. package/dist/visio/index.mjs +10978 -5930
  192. package/dist/visio/line-jumps.d.ts +21 -0
  193. package/dist/visio/line-jumps.d.ts.map +1 -0
  194. package/dist/visio/master-list.d.ts +20 -0
  195. package/dist/visio/master-list.d.ts.map +1 -0
  196. package/dist/visio/model.d.ts +41 -0
  197. package/dist/visio/model.d.ts.map +1 -1
  198. package/dist/visio/page-layout.d.ts +40 -0
  199. package/dist/visio/page-layout.d.ts.map +1 -0
  200. package/dist/visio/page-theme.d.ts.map +1 -1
  201. package/dist/visio/parser.d.ts.map +1 -1
  202. package/dist/visio/shape-connections.d.ts +2 -2
  203. package/dist/visio/shape-connections.d.ts.map +1 -1
  204. package/dist/visio/snap-glue.d.ts +49 -0
  205. package/dist/visio/snap-glue.d.ts.map +1 -0
  206. package/dist/visio/stencil-master-part.d.ts +15 -0
  207. package/dist/visio/stencil-master-part.d.ts.map +1 -0
  208. package/dist/visio/stencil-masters.d.ts +19 -0
  209. package/dist/visio/stencil-masters.d.ts.map +1 -0
  210. package/dist/visio/stencil-windows.d.ts +20 -0
  211. package/dist/visio/stencil-windows.d.ts.map +1 -0
  212. package/dist/visio/stencils.d.ts +2 -0
  213. package/dist/visio/stencils.d.ts.map +1 -1
  214. package/dist/visio/style.d.ts +5 -0
  215. package/dist/visio/style.d.ts.map +1 -1
  216. package/dist/visio/text-extent.d.ts +40 -0
  217. package/dist/visio/text-extent.d.ts.map +1 -0
  218. package/dist/visio/text-fields.d.ts.map +1 -1
  219. package/dist/visio/theme-color-ref.d.ts +33 -0
  220. package/dist/visio/theme-color-ref.d.ts.map +1 -0
  221. package/dist/visio/ui/auto-connect.d.ts +80 -0
  222. package/dist/visio/ui/auto-connect.d.ts.map +1 -0
  223. package/dist/visio/ui/connection-points.d.ts +7 -2
  224. package/dist/visio/ui/connection-points.d.ts.map +1 -1
  225. package/dist/visio/ui/connector-preview.d.ts +3 -2
  226. package/dist/visio/ui/connector-preview.d.ts.map +1 -1
  227. package/dist/visio/ui/contract.d.ts +7 -2
  228. package/dist/visio/ui/contract.d.ts.map +1 -1
  229. package/dist/visio/ui/data-graphics.d.ts +6 -2
  230. package/dist/visio/ui/data-graphics.d.ts.map +1 -1
  231. package/dist/visio/ui/edit-commands.d.ts.map +1 -1
  232. package/dist/visio/ui/formatting.d.ts +27 -0
  233. package/dist/visio/ui/formatting.d.ts.map +1 -1
  234. package/dist/visio/ui/guides.d.ts +11 -2
  235. package/dist/visio/ui/guides.d.ts.map +1 -1
  236. package/dist/visio/ui/index.cjs +22141 -16751
  237. package/dist/visio/ui/index.d.ts +3 -0
  238. package/dist/visio/ui/index.d.ts.map +1 -1
  239. package/dist/visio/ui/index.mjs +22112 -16752
  240. package/dist/visio/ui/master-drop.d.ts +38 -0
  241. package/dist/visio/ui/master-drop.d.ts.map +1 -0
  242. package/dist/visio/ui/page-edit.d.ts.map +1 -1
  243. package/dist/visio/ui/ruler-grid.d.ts +45 -0
  244. package/dist/visio/ui/ruler-grid.d.ts.map +1 -0
  245. package/dist/visio/ui/sample-drawing.d.ts +3 -2
  246. package/dist/visio/ui/sample-drawing.d.ts.map +1 -1
  247. package/dist/visio/ui/scene-validation.d.ts.map +1 -1
  248. package/dist/visio/ui/shape-change.d.ts +16 -4
  249. package/dist/visio/ui/shape-change.d.ts.map +1 -1
  250. package/dist/visio/ui/shape-clipboard.d.ts.map +1 -1
  251. package/dist/visio/ui/shape-duplicate.d.ts +7 -1
  252. package/dist/visio/ui/shape-duplicate.d.ts.map +1 -1
  253. package/dist/visio/ui/shape-group.d.ts.map +1 -1
  254. package/dist/visio/ui/shape-order.d.ts +6 -1
  255. package/dist/visio/ui/shape-order.d.ts.map +1 -1
  256. package/dist/visio/ui/shape-resize.d.ts.map +1 -1
  257. package/dist/visio/ui/shape-rotation.d.ts +10 -1
  258. package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
  259. package/dist/visio/ui/size-position.d.ts.map +1 -1
  260. package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
  261. package/dist/xlsx/conditional-extensions.d.ts.map +1 -1
  262. package/dist/xlsx/edit/cell-shift.d.ts.map +1 -1
  263. package/dist/xlsx/edit/insert-guard.d.ts +6 -0
  264. package/dist/xlsx/edit/insert-guard.d.ts.map +1 -0
  265. package/dist/xlsx/edit/shift-preserved.d.ts +2 -0
  266. package/dist/xlsx/edit/shift-preserved.d.ts.map +1 -1
  267. package/dist/xlsx/edit/shift-rule-anchors.d.ts +9 -0
  268. package/dist/xlsx/edit/shift-rule-anchors.d.ts.map +1 -0
  269. package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -1
  270. package/dist/xlsx/edit/structure.d.ts.map +1 -1
  271. package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
  272. package/dist/xlsx/formula/engine-util.d.ts.map +1 -1
  273. package/dist/xlsx/index.cjs +118 -16
  274. package/dist/xlsx/index.mjs +118 -16
  275. package/dist/xlsx/load/index.cjs +70 -16
  276. package/dist/xlsx/load/index.mjs +70 -16
  277. package/dist/xlsx/load/text-decode.d.ts.map +1 -1
  278. package/dist/xlsx/model.d.ts +2 -0
  279. package/dist/xlsx/model.d.ts.map +1 -1
  280. package/dist/xlsx/read/package.d.ts.map +1 -1
  281. package/dist/xlsx/read/tables.d.ts.map +1 -1
  282. package/dist/xlsx/ui/commands/number.d.ts.map +1 -1
  283. package/dist/xlsx/ui/commands/util.d.ts.map +1 -1
  284. package/dist/xlsx/ui/index.cjs +100 -1
  285. package/dist/xlsx/ui/index.mjs +100 -1
  286. package/dist/xlsx/ui/locales/de/grid.d.ts.map +1 -1
  287. package/dist/xlsx/ui/locales/en/grid.d.ts.map +1 -1
  288. package/dist/xlsx/ui/locales/es/grid.d.ts.map +1 -1
  289. package/dist/xlsx/ui/locales/fr/grid.d.ts.map +1 -1
  290. package/dist/xlsx/ui/locales/zh-CN/grid.d.ts.map +1 -1
  291. package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -1
  292. package/dist/xlsx/write/conditional.d.ts.map +1 -1
  293. package/dist/xlsx/write/styles.d.ts.map +1 -1
  294. package/dist/xlsx/write/table-patch.d.ts.map +1 -1
  295. package/package.json +6 -1
@@ -0,0 +1,38 @@
1
+ import type { VisioMaster, VisioPage } from '../index.js';
2
+ import type { VisioMasterInstanceEdit } from '../edit-master-instance.js';
3
+ import type { VisioStencilMasterDropEdit } from '../edit-master-drop.js';
4
+ /** Why a document-stencil master cannot be dropped as a shape, or nothing when it can. */
5
+ export declare function visioMasterDropRefusal(master: VisioMaster): string | undefined;
6
+ /** The size a dropped instance inherits from its master, in inches (1 x 1 when unknown). */
7
+ export declare function visioMasterDropSize(master: VisioMaster): {
8
+ width: number;
9
+ height: number;
10
+ };
11
+ /**
12
+ * The master's shapes on its master page, y up, in inches: the part of the page a preview shows.
13
+ * Master pages are usually larger than the shape they hold.
14
+ */
15
+ export declare function visioMasterPreviewBox(master: VisioMaster): {
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ height: number;
20
+ };
21
+ /**
22
+ * Drop `master` with its pin at `centre` (page inches, y down, as pointer positions are), kept
23
+ * on the page. Throws the refusal for a master that cannot be dropped.
24
+ */
25
+ export declare function visioMasterDropCommand(page: VisioPage, master: VisioMaster, centre?: {
26
+ x: number;
27
+ y: number;
28
+ }): VisioMasterInstanceEdit;
29
+ /**
30
+ * Drop the built-in stencil master `master` (`rectangle`, `flowchart-process`...) with its pin at
31
+ * `centre` (page inches, y down), kept on the page unless `keepOnPage` is off. The core copies the
32
+ * master into the drawing the first time and drops an instance of it.
33
+ */
34
+ export declare function visioStencilDropCommand(page: VisioPage, master: string, centre?: {
35
+ x: number;
36
+ y: number;
37
+ }, keepOnPage?: boolean): VisioStencilMasterDropEdit;
38
+ //# sourceMappingURL=master-drop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-drop.d.ts","sourceRoot":"","sources":["../../../visio/ui/master-drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAc,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAa9E;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAS1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG;IAC3D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CA0BA;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,uBAAuB,CAoBzB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACjC,UAAU,UAAO,GACf,0BAA0B,CAwB5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-edit.d.ts","sourceRoot":"","sources":["../../../visio/ui/page-edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD,qFAAqF;AACrF,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,MAAM,GACjB,eAAe,CAYjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,CA+DlF"}
1
+ {"version":3,"file":"page-edit.d.ts","sourceRoot":"","sources":["../../../visio/ui/page-edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD,qFAAqF;AACrF,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,MAAM,GACjB,eAAe,CAYjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,CAiElF"}
@@ -0,0 +1,45 @@
1
+ import type { VisioEdit } from '../edit-commands.js';
2
+ import type { VisioPage } from '../model.js';
3
+ import { type VisioPageLayout } from '../page-layout.js';
4
+ /** The Ruler & Grid dialog's choices, in Visio's order. */
5
+ export declare const VISIO_GRID_DENSITY_CHOICES: readonly [{
6
+ readonly value: 8;
7
+ readonly label: 'Fine';
8
+ }, {
9
+ readonly value: 4;
10
+ readonly label: 'Normal';
11
+ }, {
12
+ readonly value: 2;
13
+ readonly label: 'Coarse';
14
+ }, {
15
+ readonly value: 0;
16
+ readonly label: 'Fixed';
17
+ }];
18
+ export declare const VISIO_RULER_DENSITY_CHOICES: readonly [{
19
+ readonly value: 32;
20
+ readonly label: 'Fine';
21
+ }, {
22
+ readonly value: 16;
23
+ readonly label: 'Normal';
24
+ }, {
25
+ readonly value: 8;
26
+ readonly label: 'Coarse';
27
+ }];
28
+ /** Grid lines of a page at a zoom: the step and one line's position, per axis, in page inches. */
29
+ export interface VisioGridSteps {
30
+ x: number;
31
+ y: number;
32
+ originX: number;
33
+ originY: number;
34
+ }
35
+ export declare function visioGridSteps(page: {
36
+ layout?: Partial<VisioPageLayout>;
37
+ }, zoom?: number): VisioGridSteps;
38
+ /** Share of the ruler's finest subdivisions a density shows: Fine all, Normal half, Coarse a quarter. */
39
+ export declare function visioRulerDensityFactor(density: number): number;
40
+ /** The Ruler & Grid dialog's fields. */
41
+ export type VisioRulerGridValues = Pick<VisioPageLayout, 'rulerDensityX' | 'rulerDensityY' | 'rulerOriginX' | 'rulerOriginY' | 'gridDensityX' | 'gridDensityY' | 'gridSpacingX' | 'gridSpacingY' | 'gridOriginX' | 'gridOriginY'>;
42
+ export declare function visioRulerGridValues(page: VisioPage): VisioRulerGridValues;
43
+ /** One `set-page-layout` edit with the fields that differ from the page; empty when none do. */
44
+ export declare function visioRulerGridEdits(page: VisioPage, values: VisioRulerGridValues): VisioEdit[];
45
+ //# sourceMappingURL=ruler-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruler-grid.d.ts","sourceRoot":"","sources":["../../../visio/ui/ruler-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B;oBAC7B,CAAC;oBAAS,MAAM;;oBAChB,CAAC;oBAAS,QAAQ;;oBAClB,CAAC;oBAAS,QAAQ;;oBAClB,CAAC;oBAAS,OAAO;EAChB,CAAC;AACZ,eAAO,MAAM,2BAA2B;oBAC9B,EAAE;oBAAS,MAAM;;oBACjB,EAAE;oBAAS,QAAQ;;oBACnB,CAAC;oBAAS,QAAQ;EACjB,CAAC;AAEZ,kGAAkG;AAClG,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAgB,cAAc,CAC7B,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,EAC3C,IAAI,SAAI,GACN,cAAc,CAQhB;AAED,yGAAyG;AACzG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wCAAwC;AACxC,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACtC,eAAe,EACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,GACb,aAAa,CACf,CAAC;AAcF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,oBAAoB,CAG1E;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAW9F"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * The sample drawing as a real VSDX package, built through the same edit API the editor uses, so
3
- * every shape in it can be selected, moved, retyped and saved. An original drawing, not a
4
- * Visio-authored reference fixture. Page and shape edits need separate transactions, so this is
3
+ * every shape in it can be selected, moved, retyped and saved. Its boxes are instances of the
4
+ * built-in stencil masters, which the drawing carries in its own document stencil, as a Visio
5
+ * flowchart does. An original drawing, not a Visio-authored reference fixture. Page and shape edits need separate transactions, so this is
5
6
  * two edits after the blank drawing.
6
7
  */
7
8
  export declare function createSampleVsdx(): Promise<Uint8Array>;
@@ -1 +1 @@
1
- {"version":3,"file":"sample-drawing.d.ts","sourceRoot":"","sources":["../../../visio/ui/sample-drawing.ts"],"names":[],"mappings":"AAoJA;;;;;GAKG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAgB5D"}
1
+ {"version":3,"file":"sample-drawing.d.ts","sourceRoot":"","sources":["../../../visio/ui/sample-drawing.ts"],"names":[],"mappings":"AA+JA;;;;;;GAMG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAqB5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-validation.d.ts","sourceRoot":"","sources":["../../../visio/ui/scene-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAKN,KAAK,aAAa,EAGlB,MAAM,UAAU,CAAC;AAMlB,eAAO,MAAM,eAAe,QAAmB,CAAC;AAkChD,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CA6WjE"}
1
+ {"version":3,"file":"scene-validation.d.ts","sourceRoot":"","sources":["../../../visio/ui/scene-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAKN,KAAK,aAAa,EAGlB,MAAM,UAAU,CAAC;AAMlB,eAAO,MAAM,eAAe,QAAmB,CAAC;AAkChD,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAkXjE"}
@@ -1,11 +1,23 @@
1
- import type { VisioPage, VisioShape } from '../model.js';
1
+ import type { VisioDocument, VisioMaster, VisioPage, VisioShape } from '../model.js';
2
2
  import type { VisioChangeShapeEdit, VisioChangeShapeTarget } from '../edit-change-shape-commands.js';
3
3
  /**
4
- * Coarse scene admission for Home > Change Shape: the reason the selection cannot change shape,
5
- * or undefined when it can be tried. Locks, formula dependencies and control handles are checked
6
- * by `editVsdx`, which refuses the edit with its own reason.
4
+ * Coarse scene admission for Home > Change Shape to a built-in shape: the reason the selection
5
+ * cannot change, or undefined when it can be tried. A drawn shape gets a new outline; a stencil
6
+ * shape becomes an instance of the built-in master. Locks, formula dependencies and control
7
+ * handles are checked by `editVsdx`, which refuses the edit with its own reason.
7
8
  */
8
9
  export declare function visioChangeShapeRefusal(page: VisioPage | undefined, selection: readonly Pick<VisioShape, 'id'>[]): string | undefined;
9
10
  /** The change-shape command for the single selected shape, when the scene admits it. */
10
11
  export declare function visioChangeShapeCommand(page: VisioPage | undefined, selection: readonly Pick<VisioShape, 'id'>[], target: VisioChangeShapeTarget): VisioChangeShapeEdit | undefined;
12
+ /**
13
+ * The masters of the drawing the selected stencil shape can change to: every other master made
14
+ * of one plain 2D shape. Empty when the selection is not such a stencil shape; `reason` then
15
+ * says why. Glue, locks and local changes to the outline are checked by `editVsdx`.
16
+ */
17
+ export declare function visioChangeMasterTargets(document: Pick<VisioDocument, 'masters'> | null | undefined, page: VisioPage | undefined, selection: readonly Pick<VisioShape, 'id'>[]): {
18
+ masters: readonly VisioMaster[];
19
+ reason?: string;
20
+ };
21
+ /** The command that makes the selected stencil shape an instance of `masterId`. */
22
+ export declare function visioChangeMasterCommand(document: Pick<VisioDocument, 'masters'> | null | undefined, page: VisioPage | undefined, selection: readonly Pick<VisioShape, 'id'>[], masterId: string): VisioChangeShapeEdit | undefined;
11
23
  //# sourceMappingURL=shape-change.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape-change.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAElG;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,GAC1C,MAAM,GAAG,SAAS,CAqBpB;AAED,wFAAwF;AACxF,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAC5C,MAAM,EAAE,sBAAsB,GAC5B,oBAAoB,GAAG,SAAS,CAGlC"}
1
+ {"version":3,"file":"shape-change.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAelG;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,GAC1C,MAAM,GAAG,SAAS,CA0BpB;AAED,wFAAwF;AACxF,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAC5C,MAAM,EAAE,sBAAsB,GAC5B,oBAAoB,GAAG,SAAS,CAGlC;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3D,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,GAC1C;IAAE,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBtD;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3D,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAC5C,QAAQ,EAAE,MAAM,GACd,oBAAoB,GAAG,SAAS,CAIlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape-clipboard.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAInE,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAa5F;AACD,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,sBAAsB,EAC7B,MAAM,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA0B,GACtD,oBAAoB,GAAG,SAAS,CAsBlC"}
1
+ {"version":3,"file":"shape-clipboard.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAInE,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE5F;AACD,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,sBAAsB,EAC7B,MAAM,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA0B,GACtD,oBAAoB,GAAG,SAAS,CAsBlC"}
@@ -1,5 +1,11 @@
1
- import type { VisioPage } from '../model.js';
1
+ import type { VisioPage, VisioShape } from '../model.js';
2
2
  import type { VisioDuplicateShapesEdit } from '../edit-duplicate-commands.js';
3
+ /**
4
+ * What Duplicate, Copy and Cut take: a 2D shape drawn here with no glue, or a 2D stencil shape,
5
+ * which is copied as an instance of the same master. A connector glued to a stencil shape stays
6
+ * with the original, as in Visio; a shape that is itself glued to another is left out.
7
+ */
8
+ export declare function visioCopyableShape(page: VisioPage, shapeId: string): VisioShape | undefined;
3
9
  /** Allocate against the complete page tree; source guards remain authoritative. */
4
10
  export declare function visioDuplicateCommand(page: VisioPage, shapeIds: readonly string[]): VisioDuplicateShapesEdit | undefined;
5
11
  //# sourceMappingURL=shape-duplicate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape-duplicate.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-duplicate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E,mFAAmF;AACnF,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GACzB,wBAAwB,GAAG,SAAS,CAuCtC"}
1
+ {"version":3,"file":"shape-duplicate.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-duplicate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAe3F;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GACzB,wBAAwB,GAAG,SAAS,CA4BtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape-group.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAY1F,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGrF;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GACzB,oBAAoB,GAAG,SAAS,CAmBlC;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GACzB,qBAAqB,GAAG,SAAS,CAGnC"}
1
+ {"version":3,"file":"shape-group.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAuB1F,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAIrF;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GACzB,oBAAoB,GAAG,SAAS,CAmBlC;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GACzB,qBAAqB,GAAG,SAAS,CAGnC"}
@@ -1,4 +1,9 @@
1
1
  import type { VisioPage, VisioShape } from '../model.js';
2
- /** Coarse scene admission; source display bands and protection are checked by editVsdx. */
2
+ /**
3
+ * Coarse scene admission for Bring to Front, Send to Back and their one-step forms: a shape
4
+ * drawn here (no group, picture or layer) or any stencil shape, Visio's connectors included, off
5
+ * locked layers. What else sits on the page does not matter: only the order of siblings changes.
6
+ * Source display bands and protection are checked by editVsdx.
7
+ */
3
8
  export declare function visioOrderingShape(page: VisioPage, shapeId: string): VisioShape | undefined;
4
9
  //# sourceMappingURL=shape-order.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape-order.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtD,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAc3F"}
1
+ {"version":3,"file":"shape-order.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAgB3F"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape-resize.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG3F,eAAO,MAAM,oBAAoB;aAC9B,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;;aACrB,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,GAAG;;aACrB,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;;aACrB,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,GAAG;EACd,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AACD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAUpF;AACD,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvC,MAAM,EAAE,iBAAiB,GACvB,gBAAgB,GAAG,SAAS,CAgB9B;AACD;;GAEG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,cAAc,GACjB;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,CAuChG"}
1
+ {"version":3,"file":"shape-resize.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG3F,eAAO,MAAM,oBAAoB;aAC9B,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;;aACrB,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,GAAG;;aACrB,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;;aACrB,EAAE,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;;aACpB,EAAE,EAAE,GAAG;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,GAAG;EACd,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AACD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAYpF;AACD,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvC,MAAM,EAAE,iBAAiB,GACvB,gBAAgB,GAAG,SAAS,CAgB9B;AACD;;GAEG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,cAAc,GACjB;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,CAuChG"}
@@ -1,7 +1,16 @@
1
1
  import type { VisioEdit } from '../edit.js';
2
2
  import type { VisioPage, VisioShape } from '../model.js';
3
- /** The model-level scope of local rotation. Source protections remain enforced by core edits. */
3
+ /**
4
+ * The model-level scope of local rotation: a shape or group drawn here. A group may hold 2D
5
+ * stencil shapes; each stays an instance of its master and moves with the group as one member.
6
+ * Source protections remain enforced by core edits.
7
+ */
4
8
  export declare function visioLocalRotationShape(page: VisioPage, shapeId: string, includeGroups?: boolean): VisioShape | undefined;
9
+ /**
10
+ * What Rotate and Flip act on: a local shape or group, or a stencil instance (a group included), whose
11
+ * angle and flip flags are saved as local values over its master.
12
+ */
13
+ export declare function visioRotationShape(page: VisioPage, shapeId: string, includeGroups?: boolean): VisioShape | undefined;
5
14
  /** Native per-shape quarter turns normalize to signed angles while retaining the saved pin. */
6
15
  export declare function visioQuarterTurnCommand(page: VisioPage, shapeId: string, direction: 'left' | 'right'): Extract<VisioEdit, {
7
16
  type: 'rotate-shape';
@@ -1 +1 @@
1
- {"version":3,"file":"shape-rotation.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-rotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,iGAAiG;AACjG,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,UAAO,GAClB,UAAU,GAAG,SAAS,CAiCxB;AACD,+FAA+F;AAC/F,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,OAAO,GACzB,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,GAAG,SAAS,CAa1D"}
1
+ {"version":3,"file":"shape-rotation.d.ts","sourceRoot":"","sources":["../../../visio/ui/shape-rotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,UAAO,GAClB,UAAU,GAAG,SAAS,CA6CxB;AACD;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,UAAO,GAClB,UAAU,GAAG,SAAS,CAcxB;AACD,+FAA+F;AAC/F,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,OAAO,GACzB,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,GAAG,SAAS,CAa1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"size-position.d.ts","sourceRoot":"","sources":["../../../visio/ui/size-position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,MAAM,MAAM,sBAAsB,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC9E,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAGD,mGAAmG;AACnG,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,GACR,sBAAsB,GAAG,SAAS,CAoBpC;AAED,oGAAoG;AACpG,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,MAAM,GACX,SAAS,EAAE,GAAG,SAAS,CA8BzB"}
1
+ {"version":3,"file":"size-position.d.ts","sourceRoot":"","sources":["../../../visio/ui/size-position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,MAAM,MAAM,sBAAsB,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC9E,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAGD,mGAAmG;AACnG,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,GACR,sBAAsB,GAAG,SAAS,CAsBpC;AAED,oGAAoG;AACpG,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,MAAM,GACX,SAAS,EAAE,GAAG,SAAS,CA8BzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-scene.d.ts","sourceRoot":"","sources":["../../../visio/ui/snapshot-scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAOb,MAAM,UAAU,CAAC;AAyBlB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAoQrE"}
1
+ {"version":3,"file":"snapshot-scene.d.ts","sourceRoot":"","sources":["../../../visio/ui/snapshot-scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAOb,MAAM,UAAU,CAAC;AAyBlB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAqQrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-extensions.d.ts","sourceRoot":"","sources":["../../xlsx/conditional-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAON,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAuC1D,+FAA+F;AAC/F,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAoChE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;;;EAOrF;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAC7B,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnD,IAAI,CAAC,EAAE,UAAU;IAQhB,SAAS;IACT,SAAS;EAEV;AAED,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAClC,IAAI,CAaN;AAED,0FAA0F;AAC1F,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAgCjE"}
1
+ {"version":3,"file":"conditional-extensions.d.ts","sourceRoot":"","sources":["../../xlsx/conditional-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAuC1D,+FAA+F;AAC/F,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAoChE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;;;EAOrF;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAC7B,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnD,IAAI,CAAC,EAAE,UAAU;IAQhB,SAAS;IACT,SAAS;EAEV;AAED,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAClC,IAAI,CAaN;AAED,0FAA0F;AAC1F,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAgCjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"cell-shift.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/cell-shift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqD,MAAM,YAAY,CAAC;AAG/F,OAAO,EAAE,KAAK,WAAW,EAAwC,MAAM,WAAW,CAAC;AAwDnF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAAG,OAAO,GACzB,IAAI,CAON;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,IAAI,GAAG,MAAM,GACtB,IAAI,CAON"}
1
+ {"version":3,"file":"cell-shift.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/cell-shift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqD,MAAM,YAAY,CAAC;AAI/F,OAAO,EAAE,KAAK,WAAW,EAAwC,MAAM,WAAW,CAAC;AA4DnF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAAG,OAAO,GACzB,IAAI,CAON;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,IAAI,GAAG,MAAM,GACtB,IAAI,CAON"}
@@ -0,0 +1,6 @@
1
+ import type { Worksheet } from '../model.js';
2
+ import type { AxisShift } from './range-math.js';
3
+ import type { Band } from './shift-sheet.js';
4
+ /** Refuses an insertion that would discard cells or clip positioned metadata at the grid edge. */
5
+ export declare function assertInsertFits(sheet: Worksheet, shift: AxisShift, band?: Band): void;
6
+ //# sourceMappingURL=insert-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert-guard.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/insert-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,kGAAkG;AAClG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAqDtF"}
@@ -1,6 +1,8 @@
1
1
  import type { CellRange } from '../address.js';
2
2
  import type { Worksheet } from '../model.js';
3
3
  import { type AxisShift } from './range-math.js';
4
+ /** Reports page breaks and extension ranges that an insertion would push beyond the grid. */
5
+ export declare function hasPreservedOverflow(sheet: Worksheet, shift: AxisShift, clipped: (range: CellRange) => boolean, banded: boolean): boolean;
4
6
  /** Rewrites one formula; `formulaSheet` is the sheet unqualified references point at. */
5
7
  type Rewrite = (formula: string, formulaSheet: string) => string;
6
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"shift-preserved.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/shift-preserved.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAI1D,yFAAyF;AACzF,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AA2GjE;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,GAAG,SAAS,EACtD,MAAM,EAAE,OAAO,GACb,IAAI,CAcN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBjF"}
1
+ {"version":3,"file":"shift-preserved.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/shift-preserved.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAI1D,6FAA6F;AAC7F,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,EACtC,MAAM,EAAE,OAAO,GACb,OAAO,CA6BT;AAED,yFAAyF;AACzF,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AA2GjE;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,GAAG,SAAS,EACtD,MAAM,EAAE,OAAO,GACb,IAAI,CAcN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBjF"}
@@ -0,0 +1,9 @@
1
+ import type { Worksheet } from '../model.js';
2
+ import { type AxisShift } from './range-math.js';
3
+ import type { Band } from './shift-sheet.js';
4
+ /**
5
+ * Rebase rules to their first surviving cells before deletion rewrites references. Keeping the
6
+ * old ranges here lets the normal range shift move them once, without splitting contiguous rules.
7
+ */
8
+ export declare function rebaseRulesForDeletion(sheet: Worksheet, shift: AxisShift, band?: Band): void;
9
+ //# sourceMappingURL=shift-rule-anchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shift-rule-anchors.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/shift-rule-anchors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAyB5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"shift-sheet.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/shift-sheet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA2C,SAAS,EAAE,MAAM,UAAU,CAAC;AAGnF,OAAO,EACN,KAAK,SAAS,EAMd,MAAM,cAAc,CAAC;AAEtB,iGAAiG;AACjG,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAgDvF"}
1
+ {"version":3,"file":"shift-sheet.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/shift-sheet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA2C,SAAS,EAAE,MAAM,UAAU,CAAC;AAInF,OAAO,EACN,KAAK,SAAS,EAMd,MAAM,cAAc,CAAC;AAEtB,iGAAiG;AACjG,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAiDvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/structure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,WAAW,CAAC;AAEpE,OAAO,EAAa,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAUrE,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAMzF;AAoDD,eAAO,MAAM,UAAU,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IAC1C,CAAC;AAC3C,eAAO,MAAM,UAAU,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IACzC,CAAC;AAC5C,eAAO,MAAM,aAAa,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IAC7C,CAAC;AAC3C,eAAO,MAAM,aAAa,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IAC5C,CAAC"}
1
+ {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/structure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,WAAW,CAAC;AAGpE,OAAO,EAAa,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAmBrE,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAQzF;AAsDD,eAAO,MAAM,UAAU,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IAC1C,CAAC;AAC3C,eAAO,MAAM,UAAU,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IACzC,CAAC;AAC5C,eAAO,MAAM,aAAa,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IAC7C,CAAC;AAC3C,eAAO,MAAM,aAAa,QAAS,WAAW,KAAK,MAAM,MAAM,MAAM,SAAS,MAAM,KAAG,IAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-edits.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/table-edits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,YAAY,CAAC;AAI7E,OAAO,KAAK,EAAE,KAAK,EAAe,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,WAAW,CAAC;AAOnE,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAOlE;AAID,uFAAuF;AACvF,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,KAAK,GACV,MAAM,GAAG,SAAS,CAWpB;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYlF;AAwHD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAsC/F;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU9F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAyCpF"}
1
+ {"version":3,"file":"table-edits.d.ts","sourceRoot":"","sources":["../../../xlsx/edit/table-edits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,YAAY,CAAC;AAItF,OAAO,KAAK,EAAE,KAAK,EAAe,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIxE,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,WAAW,CAAC;AAOnE,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAOlE;AAID,uFAAuF;AACvF,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,KAAK,GACV,MAAM,GAAG,SAAS,CAWpB;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYlF;AA2HD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CA4C/F;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU9F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAyCpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine-util.d.ts","sourceRoot":"","sources":["../../../xlsx/formula/engine-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAIN,MAAM,EAEN,KAAK,MAAM,EACX,KAAK,KAAK,EACV,MAAM,UAAU,CAAC;AAElB,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAgBtE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,eAAO,MAAM,QAAQ,UAAW,SAAS,OAAO,MAAM,OAAO,MAAM,KAAG,OAC2B,CAAC;AAElG,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAQrF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAW1D"}
1
+ {"version":3,"file":"engine-util.d.ts","sourceRoot":"","sources":["../../../xlsx/formula/engine-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAA+B,MAAM,EAAY,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAElG,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAgBtE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,eAAO,MAAM,QAAQ,UAAW,SAAS,OAAO,MAAM,OAAO,MAAM,KAAG,OAC2B,CAAC;AAElG,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAQrF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAW1D"}
@@ -20126,6 +20126,8 @@ function parseTable(xml, partName) {
20126
20126
  const columns = xChildren(xFirst(root, "tableColumns") ?? root, "tableColumn").map(
20127
20127
  (node) => {
20128
20128
  const column = { name: att(node, "name") ?? "" };
20129
+ const id = numAttr(node, "id");
20130
+ if (id !== void 0 && Number.isInteger(id) && id >= 0) column.sourceId = id;
20129
20131
  const fn = att(node, "totalsRowFunction");
20130
20132
  if (fn && fn !== "none") column.totalsRowFunction = fn;
20131
20133
  const label2 = att(node, "totalsRowLabel");
@@ -23843,7 +23845,22 @@ function tableFilterRange(table2) {
23843
23845
  end: { ...table2.range.end, row: table2.range.end.row - (table2.totalsRow ? 1 : 0) }
23844
23846
  };
23845
23847
  }
23846
- function patchAutoFilter(doc, root, table2, before) {
23848
+ function sourceColumnsForPatch(root, table2, names) {
23849
+ const list = xKid(root, "tableColumns");
23850
+ const source2 = list ? xKids(list, "tableColumn") : [];
23851
+ const byId2 = new Map(source2.map((c2) => [Number(c2.getAttribute("id")), c2]));
23852
+ const byName = new Map(source2.map((c2) => [(c2.getAttribute("name") ?? "").toLowerCase(), c2]));
23853
+ const tracked = table2.partName !== void 0 || table2.columns.some((c2) => c2.sourceId !== void 0);
23854
+ const used = /* @__PURE__ */ new Set();
23855
+ return names.map((name, index2) => {
23856
+ const id = table2.columns[index2]?.sourceId;
23857
+ const match2 = id !== void 0 ? byId2.get(id) : tracked ? void 0 : source2.length === names.length ? source2[index2] : byName.get(name.toLowerCase());
23858
+ if (!match2 || used.has(match2)) return void 0;
23859
+ used.add(match2);
23860
+ return match2;
23861
+ });
23862
+ }
23863
+ function patchAutoFilter(doc, root, table2, before, names) {
23847
23864
  const existing = xKid(root, "autoFilter");
23848
23865
  if (!table2.headerRow) {
23849
23866
  if (existing) root.removeChild(existing);
@@ -23852,10 +23869,14 @@ function patchAutoFilter(doc, root, table2, before) {
23852
23869
  const filter2 = existing ?? doc.createElementNS(NS.x, "autoFilter");
23853
23870
  const range = tableFilterRange(table2);
23854
23871
  filter2.setAttribute("ref", formatRange(range));
23855
- const width = range.end.col - range.start.col + 1;
23872
+ const list = xKid(root, "tableColumns");
23873
+ const original = list ? xKids(list, "tableColumn") : [];
23874
+ const current = new Map(sourceColumnsForPatch(root, table2, names).map((c2, index2) => [c2, index2]));
23856
23875
  for (const column of xKids(filter2, "filterColumn")) {
23857
- const colId = Number(column.getAttribute("colId") ?? "0");
23858
- if (!(colId < width)) filter2.removeChild(column);
23876
+ const old = original[Number(column.getAttribute("colId") ?? "0")];
23877
+ const index2 = old ? current.get(old) : void 0;
23878
+ if (index2 === void 0) filter2.removeChild(column);
23879
+ else column.setAttribute("colId", num2(index2));
23859
23880
  }
23860
23881
  if (!existing) insertBefore(root, filter2, ["sortState", "tableColumns"]);
23861
23882
  const sort2 = xKid(filter2, "sortState") ?? xKid(root, "sortState");
@@ -23889,18 +23910,11 @@ function patchColumns(doc, root, sheet, table2, names) {
23889
23910
  insertBefore(root, list, ["tableStyleInfo", "extLst"]);
23890
23911
  }
23891
23912
  const sourceColumns = xKids(list, "tableColumn");
23892
- const byName = new Map(
23893
- sourceColumns.map((c2) => [(c2.getAttribute("name") ?? "").toLowerCase(), c2])
23894
- );
23895
- const sameCount = sourceColumns.length === names.length;
23896
- const used = /* @__PURE__ */ new Set();
23897
23913
  const ids = /* @__PURE__ */ new Set();
23898
- const picked = names.map((name, index2) => {
23899
- const match2 = sameCount ? sourceColumns[index2] : byName.get(name.toLowerCase());
23900
- if (!match2 || used.has(match2)) return void 0;
23901
- used.add(match2);
23914
+ const picked = sourceColumnsForPatch(root, table2, names).map((match2) => {
23915
+ if (!match2) return void 0;
23902
23916
  const id = Number(match2.getAttribute("id"));
23903
- if (Number.isInteger(id) && id > 0 && !ids.has(id)) ids.add(id);
23917
+ if (Number.isInteger(id) && id >= 0 && !ids.has(id)) ids.add(id);
23904
23918
  else match2.removeAttribute("id");
23905
23919
  return match2;
23906
23920
  });
@@ -23973,7 +23987,7 @@ function patchTableXml(sourceXml, sheet, table2, id, names) {
23973
23987
  root.removeAttribute("totalsRowCount");
23974
23988
  if (!root.hasAttribute("totalsRowShown")) root.setAttribute("totalsRowShown", "0");
23975
23989
  }
23976
- patchAutoFilter(doc, root, table2, before);
23990
+ patchAutoFilter(doc, root, table2, before, names);
23977
23991
  patchColumns(doc, root, sheet, table2, names);
23978
23992
  patchStyleInfo(doc, root, table2);
23979
23993
  return buildXml(doc);
@@ -24728,6 +24742,29 @@ function pruneCell(sheet, row2, col) {
24728
24742
 
24729
24743
  // xlsx/edit/shift-preserved.ts
24730
24744
  var XM3 = "http://schemas.microsoft.com/office/excel/2006/main";
24745
+ function hasPreservedOverflow(sheet, shift2, clipped, banded) {
24746
+ const keys = banded ? ["extLst"] : [shift2.axis === "row" ? "rowBreaks" : "colBreaks", "extLst"];
24747
+ for (const key of keys)
24748
+ for (const xml of sheet.preserved.get(key) ?? []) {
24749
+ if (!xml.includes(key === "extLst" ? "sqref" : "brk")) continue;
24750
+ let root;
24751
+ try {
24752
+ root = parseXml(xml).documentElement;
24753
+ } catch {
24754
+ continue;
24755
+ }
24756
+ if (key === "extLst") {
24757
+ if (descendants3(root, XM3, "sqref").some(
24758
+ (node) => parseSqref(node.textContent ?? "").some(clipped)
24759
+ ))
24760
+ return true;
24761
+ } else if (elements(root).some(
24762
+ (node) => node.localName === "brk" && shiftIndex(Number(node.getAttribute("id") ?? "0"), shift2) === void 0
24763
+ ))
24764
+ return true;
24765
+ }
24766
+ return false;
24767
+ }
24731
24768
  function descendants3(root, ns, local) {
24732
24769
  return Array.from(root.getElementsByTagNameNS(ns, local));
24733
24770
  }
@@ -25962,8 +25999,61 @@ function setBorders(ctx, s, range, preset, edge2 = { style: "thin" }) {
25962
25999
  );
25963
26000
  }
25964
26001
 
26002
+ // xlsx/edit/insert-guard.ts
26003
+ function assertInsertFits(sheet, shift2, band) {
26004
+ if (shift2.count <= 0) return;
26005
+ const max = shift2.axis === "row" ? MAX_ROW : MAX_COL;
26006
+ if (shift2.at + shift2.count > max + 1)
26007
+ throw new RangeError("The insert area extends beyond the sheet.");
26008
+ const first2 = max - shift2.count + 1;
26009
+ const lost = shift2.axis === "row" ? cellRange(first2, band?.lo ?? 0, MAX_ROW, band?.hi ?? MAX_COL) : cellRange(band?.lo ?? 0, first2, band?.hi ?? MAX_ROW, MAX_COL);
26010
+ const other = shift2.axis === "row" ? "col" : "row";
26011
+ const clipped = (range) => (!band || range.start[other] >= band.lo && range.end[other] <= band.hi) && rangesIntersect(range, lost);
26012
+ const fail2 = () => {
26013
+ throw new Error("Cannot insert cells: non-empty cells would be pushed off the sheet.");
26014
+ };
26015
+ for (const [row2, cells] of sheet.rows) {
26016
+ if (row2 < lost.start.row || row2 > lost.end.row) continue;
26017
+ for (const [col, cell] of cells)
26018
+ if (col >= lost.start.col && col <= lost.end.col && (!isEmptyCell(cell) || cell.cellMetadata !== void 0 || cell.valueMetadata !== void 0))
26019
+ fail2();
26020
+ }
26021
+ if (sheet.comments.some((c2) => rangesIntersect(cellRange(c2.address.row, c2.address.col), lost)) || sheet.hyperlinks.some((h2) => rangesIntersect(h2.range, lost)) || sheet.merges.some((m) => rangesIntersect(m, lost)) || sheet.tables.some((t) => rangesIntersect(t.range, lost)) || sheet.dataValidations.some((rule) => rule.ranges.some(clipped)) || sheet.conditionalFormats.some((format) => format.ranges.some(clipped)) || sheet.autoFilter !== void 0 && clipped(sheet.autoFilter.range) || sheet.pageSetup?.printArea !== void 0 && clipped(sheet.pageSetup.printArea) || hasPreservedOverflow(sheet, shift2, clipped, !!band))
26022
+ fail2();
26023
+ for (const { anchor } of sheet.drawings) {
26024
+ if (band && (anchor.from[other] < band.lo || anchor.from[other] > band.hi)) continue;
26025
+ if (anchor.from[shift2.axis] >= first2 || anchor.to && anchor.to[shift2.axis] >= first2) fail2();
26026
+ }
26027
+ if (band) return;
26028
+ if (shift2.axis === "row") {
26029
+ for (const [row2, info] of sheet.rowInfo) if (row2 >= first2 && Object.keys(info).length) fail2();
26030
+ } else {
26031
+ if (normalizeColumns(sheet.columns).some((c2) => c2.min >= first2)) fail2();
26032
+ }
26033
+ }
26034
+
26035
+ // xlsx/edit/shift-rule-anchors.ts
26036
+ function rebaseRulesForDeletion(sheet, shift2, band) {
26037
+ if (shift2.count >= 0) return;
26038
+ const last = shift2.at - shift2.count - 1;
26039
+ const removed = shift2.axis === "row" ? cellRange(shift2.at, band?.lo ?? 0, last, band?.hi ?? MAX_COL) : cellRange(band?.lo ?? 0, shift2.at, band?.hi ?? MAX_ROW, last);
26040
+ const other = shift2.axis === "row" ? "col" : "row";
26041
+ const surviving = (ranges) => ranges.flatMap(
26042
+ (range) => band && (range.start[other] < band.lo || range.end[other] > band.hi) ? [range] : subtractRange(range, removed)
26043
+ );
26044
+ sheet.conditionalFormats = sheet.conditionalFormats.map((format) => {
26045
+ const ranges = surviving(format.ranges);
26046
+ return ranges.length ? { ...rebaseConditionalFormat(format, ranges), ranges: format.ranges } : format;
26047
+ });
26048
+ sheet.dataValidations = sheet.dataValidations.map((rule) => {
26049
+ const ranges = surviving(rule.ranges);
26050
+ return ranges.length ? { ...rebaseValidation(rule, ranges), ranges: rule.ranges } : rule;
26051
+ });
26052
+ }
26053
+
25965
26054
  // xlsx/edit/shift-sheet.ts
25966
26055
  function shiftSheetContent(sheet, shift2, band) {
26056
+ assertInsertFits(sheet, shift2, band);
25967
26057
  const moveRange = (range) => band ? shiftRangeInBand(range, shift2, band.lo, band.hi) : shiftRange(range, shift2);
25968
26058
  shiftCells(sheet, shift2, band, moveRange);
25969
26059
  sheet.merges = sheet.merges.map(moveRange).filter((m) => !!m && (m.start.row !== m.end.row || m.start.col !== m.end.col));
@@ -26101,10 +26191,12 @@ function shiftFreeze(sheet, shift2) {
26101
26191
  // xlsx/edit/structure.ts
26102
26192
  function checkSpan(axis, at, count2) {
26103
26193
  const max = axis === "row" ? MAX_ROW : MAX_COL;
26104
- if (!Number.isInteger(at) || !Number.isInteger(count2) || at < 0 || at > max || count2 < 1)
26194
+ if (!Number.isInteger(at) || !Number.isInteger(count2) || at < 0 || at > max || count2 < 1 || at + count2 > max + 1)
26105
26195
  throw new RangeError(`Invalid ${axis} span ${at} + ${count2}`);
26106
26196
  }
26107
26197
  function applyAxisShift(ctx, sheet, shift2) {
26198
+ assertInsertFits(sheet, shift2);
26199
+ rebaseRulesForDeletion(sheet, shift2);
26108
26200
  const spec2 = { sheet: sheet.name, axis: shift2.axis, at: shift2.at, count: shift2.count };
26109
26201
  rewriteFormulas(
26110
26202
  ctx.workbook,
@@ -26137,6 +26229,7 @@ function shiftAxis(ctx, s, axis, at, count2, insert) {
26137
26229
  const sheet = sheetAt(ctx.workbook, s);
26138
26230
  const noun = axis === "row" ? count2 === 1 ? "row" : "rows" : count2 === 1 ? "column" : "columns";
26139
26231
  const shift2 = { axis, at, count: insert ? count2 : -count2 };
26232
+ assertInsertFits(sheet, shift2);
26140
26233
  const info = { sheet: s, structural: true };
26141
26234
  if (!sheet.autoFilter || shiftRange(sheet.autoFilter.range, shift2))
26142
26235
  info.calc = { kind: "shift", sheet: s, shift: shift2 };
@@ -26179,11 +26272,13 @@ function shiftBand(ctx, s, range, direction) {
26179
26272
  };
26180
26273
  const band = vertical ? { lo: r.start.col, hi: r.end.col } : { lo: r.start.row, hi: r.end.row };
26181
26274
  assertBandIntact(sheet, shift2, band);
26275
+ assertInsertFits(sheet, shift2, band);
26182
26276
  ctx.run(
26183
26277
  `${insert ? "Insert" : "Delete"} cells`,
26184
26278
  "structure",
26185
26279
  [{ kind: "shift", sheet: s, shift: shift2, band }],
26186
26280
  () => {
26281
+ rebaseRulesForDeletion(sheet, shift2, band);
26187
26282
  rewriteFormulas(
26188
26283
  ctx.workbook,
26189
26284
  (formula, formulaSheet) => shiftFormulaInBand(formula, formulaSheet, sheet.name, shift2, band)
@@ -28676,6 +28771,7 @@ var byId = (sheet, id) => {
28676
28771
  function insertBandRow(workbook, sheet, table2, row2) {
28677
28772
  const shift2 = { axis: "row", at: row2, count: 1 };
28678
28773
  const band = { lo: table2.range.start.col, hi: table2.range.end.col };
28774
+ assertInsertFits(sheet, shift2, band);
28679
28775
  rewriteFormulas(workbook, (f6, fs) => shiftFormulaInBand(f6, fs, sheet.name, shift2, band));
28680
28776
  shiftSheetContent(sheet, shift2, band);
28681
28777
  }
@@ -28714,6 +28810,7 @@ function setTotalsRow(workbook, sheet, id, on) {
28714
28810
  table2.totalsRow = false;
28715
28811
  return;
28716
28812
  }
28813
+ if (end.row === MAX_ROW) throw new RangeError("The insert area extends beyond the sheet.");
28717
28814
  if (!rowIsEmpty(sheet, end.row + 1, start.col, end.col)) {
28718
28815
  insertBandRow(workbook, sheet, table2, end.row + 1);
28719
28816
  table2 = byId(sheet, id);
@@ -28797,7 +28894,12 @@ function updateTable(ctx, s, ref, patch2) {
28797
28894
  if (patch2.columns) {
28798
28895
  const width = table2.range.end.col - table2.range.start.col + 1;
28799
28896
  if (patch2.columns.length !== width) throw new Error("Give one column per table column.");
28897
+ const before = table2.columns;
28800
28898
  table2.columns = structuredClone(patch2.columns);
28899
+ for (const [index2, column] of table2.columns.entries()) {
28900
+ const sourceId = before[index2]?.sourceId;
28901
+ if (column.sourceId === void 0 && sourceId !== void 0) column.sourceId = sourceId;
28902
+ }
28801
28903
  }
28802
28904
  if (patch2.headerRow !== void 0) setHeaderRow(workbook, sheet, id, patch2.headerRow);
28803
28905
  if (patch2.totalsRow !== void 0) setTotalsRow(workbook, sheet, id, patch2.totalsRow);