ooxml-core 1.16.0 → 1.16.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 (76) hide show
  1. package/dist/PptxHandler-7RNEJ2IO.mjs +4 -0
  2. package/dist/{PptxHandler-3A7VEXVK.cjs → PptxHandler-MK665E6Z.cjs} +3 -3
  3. package/dist/{PptxHandler-M35YFCUC.mjs → PptxHandler-ZF4G56V3.mjs} +2 -2
  4. package/dist/{PresentationBuilder-C7NPM7OQ.mjs → PresentationBuilder-HPHJTMIB.mjs} +2 -2
  5. package/dist/{PresentationBuilder-Y6DJK6H2.mjs → PresentationBuilder-J7HAJGMB.mjs} +2 -2
  6. package/dist/{PresentationBuilder-XVRTITYR.cjs → PresentationBuilder-JGYSF25G.cjs} +5 -5
  7. package/dist/automation/index.cjs +36 -9
  8. package/dist/automation/index.mjs +36 -9
  9. package/dist/chart/index.cjs +23 -4
  10. package/dist/chart/index.mjs +23 -4
  11. package/dist/{chunk-LM6VBPQJ.mjs → chunk-5ROLXCIY.mjs} +24 -5
  12. package/dist/{chunk-KOX5Y5E5.mjs → chunk-HMZFUT65.mjs} +1 -1
  13. package/dist/{chunk-WBCV52YV.mjs → chunk-IBFHMYJD.mjs} +1 -1
  14. package/dist/{chunk-UGWY72WC.cjs → chunk-K7Z2EDI5.cjs} +23 -4
  15. package/dist/{chunk-B37EVUMG.mjs → chunk-MVS2PT2Q.mjs} +1 -1
  16. package/dist/{chunk-AHRFBMLK.cjs → chunk-THEWZNWS.cjs} +1007 -1007
  17. package/dist/{chunk-WEFFRYXN.mjs → chunk-TWXBU7RE.mjs} +23 -4
  18. package/dist/{chunk-OKGQ2X7D.mjs → chunk-YQ7HJOEZ.mjs} +1 -1
  19. package/dist/{chunk-C2Y6SZDN.mjs → chunk-ZBCNC5RI.mjs} +4 -4
  20. package/dist/collab/broadcast-transport.d.ts.map +1 -1
  21. package/dist/collab/identity.d.ts +2 -0
  22. package/dist/collab/identity.d.ts.map +1 -1
  23. package/dist/collab/index.cjs +11 -2
  24. package/dist/collab/index.mjs +11 -3
  25. package/dist/crypto/index.cjs +23 -4
  26. package/dist/crypto/index.mjs +23 -4
  27. package/dist/diagram/index.cjs +23 -4
  28. package/dist/diagram/index.mjs +23 -4
  29. package/dist/docx/embedded.cjs +23 -4
  30. package/dist/docx/embedded.mjs +23 -4
  31. package/dist/docx/index.cjs +24 -5
  32. package/dist/docx/index.mjs +24 -5
  33. package/dist/docx/layout/index.cjs +24 -5
  34. package/dist/docx/layout/index.mjs +24 -5
  35. package/dist/docx/load/index.cjs +23 -4
  36. package/dist/docx/load/index.mjs +23 -4
  37. package/dist/docx/ui/index.cjs +32 -5
  38. package/dist/docx/ui/index.mjs +32 -5
  39. package/dist/drawingml/index.cjs +23 -4
  40. package/dist/drawingml/index.mjs +23 -4
  41. package/dist/index.cjs +23 -4
  42. package/dist/index.mjs +23 -4
  43. package/dist/math/index.cjs +23 -4
  44. package/dist/math/index.mjs +23 -4
  45. package/dist/opc/index.cjs +23 -4
  46. package/dist/opc/index.mjs +23 -4
  47. package/dist/pptx/automation/index.cjs +28 -9
  48. package/dist/pptx/automation/index.mjs +5 -5
  49. package/dist/pptx/cli/index.cjs +28 -9
  50. package/dist/pptx/cli/index.mjs +4 -4
  51. package/dist/pptx/converter/index.mjs +2 -2
  52. package/dist/pptx/editor/render/find-replace.cjs +14 -14
  53. package/dist/pptx/editor/render/find-replace.mjs +1 -1
  54. package/dist/pptx/editor/render/slide-operations.cjs +8 -8
  55. package/dist/pptx/editor/render/slide-operations.mjs +2 -2
  56. package/dist/pptx/index.cjs +28 -9
  57. package/dist/pptx/index.mjs +5 -5
  58. package/dist/teams/index.cjs +38 -9
  59. package/dist/teams/index.mjs +38 -9
  60. package/dist/visio/index.cjs +23 -4
  61. package/dist/visio/index.mjs +23 -4
  62. package/dist/visio/ui/index.cjs +23 -4
  63. package/dist/visio/ui/index.mjs +23 -4
  64. package/dist/xlsx/edit/slicers.d.ts.map +1 -1
  65. package/dist/xlsx/edit/timelines.d.ts.map +1 -1
  66. package/dist/xlsx/index.cjs +36 -9
  67. package/dist/xlsx/index.mjs +36 -9
  68. package/dist/xlsx/load/index.cjs +26 -5
  69. package/dist/xlsx/load/index.mjs +26 -5
  70. package/dist/xlsx/ui/index.cjs +33 -8
  71. package/dist/xlsx/ui/index.mjs +33 -8
  72. package/dist/xml/index.cjs +23 -4
  73. package/dist/xml/index.mjs +23 -4
  74. package/dist/xml/xml.d.ts.map +1 -1
  75. package/package.json +1 -1
  76. package/dist/PptxHandler-7POULDRL.mjs +0 -4
@@ -11606,15 +11606,34 @@ var DEFAULT_XML_LIMITS = {
11606
11606
  maxDepth: 512,
11607
11607
  maxNodes: 5e6
11608
11608
  };
11609
- var MARKUP_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\?[\s\S]*?\?>|<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/g;
11609
+ var TAG_RE = /<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/y;
11610
+ var MARKUP_SKIPS = [
11611
+ ["<!--", "-->"],
11612
+ ["<![CDATA[", "]]>"],
11613
+ ["<?", "?>"]
11614
+ ];
11610
11615
  function checkXmlLimits(xml, label2, limits = {}) {
11611
11616
  const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
11612
11617
  const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
11613
11618
  let depth = 0;
11614
11619
  let nodes = 0;
11615
- for (const match2 of xml.matchAll(MARKUP_RE)) {
11616
- const [, closing, name, selfClosing] = match2;
11617
- if (name === void 0) continue;
11620
+ let at = xml.indexOf("<");
11621
+ while (at !== -1) {
11622
+ const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at));
11623
+ if (skip) {
11624
+ const end = xml.indexOf(skip[1], at + skip[0].length);
11625
+ if (end === -1) return;
11626
+ at = xml.indexOf("<", end + skip[1].length);
11627
+ continue;
11628
+ }
11629
+ TAG_RE.lastIndex = at;
11630
+ const match2 = TAG_RE.exec(xml);
11631
+ if (!match2) {
11632
+ at = xml.indexOf("<", at + 1);
11633
+ continue;
11634
+ }
11635
+ const [, closing, , selfClosing] = match2;
11636
+ at = xml.indexOf("<", at + match2[0].length);
11618
11637
  if (closing) {
11619
11638
  depth--;
11620
11639
  continue;
@@ -21079,7 +21098,7 @@ function addScenario(ctx, s, draft) {
21079
21098
  }
21080
21099
  function editScenario(ctx, s, index2, draft) {
21081
21100
  const sheet = sheetAt(ctx.workbook, s);
21082
- const existing = scenariosOf(sheet)[index2];
21101
+ const existing = Number.isInteger(index2) ? scenariosOf(sheet)[index2] : void 0;
21083
21102
  if (!existing) throw new ScenarioError("missing");
21084
21103
  if (existing.locked && sheet.protection) throw new ScenarioError("locked");
21085
21104
  const name = checkName(sheet, draft.name, index2);
@@ -21090,7 +21109,7 @@ function editScenario(ctx, s, index2, draft) {
21090
21109
  }
21091
21110
  function deleteScenario(ctx, s, index2) {
21092
21111
  const sheet = sheetAt(ctx.workbook, s);
21093
- const existing = scenariosOf(sheet)[index2];
21112
+ const existing = Number.isInteger(index2) ? scenariosOf(sheet)[index2] : void 0;
21094
21113
  if (!existing) throw new ScenarioError("missing");
21095
21114
  if (existing.locked && sheet.protection) throw new ScenarioError("locked");
21096
21115
  ctx.run("Delete scenario", "view", PARTS(s), () => {
@@ -21868,7 +21887,10 @@ function insertTimeline(ctx, s, ref) {
21868
21887
  const id = Math.max(
21869
21888
  1,
21870
21889
  ...sheet.drawings.flatMap(
21871
- (d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(/cNvPr[^>]*\sid="(\d+)"/g)].map((m) => Number(m[1])) : []
21890
+ (d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(/<[\w:]*cNvPr\b[^>]*>/g)].flatMap((m) => {
21891
+ const id2 = /\sid="(\d+)"/.exec(m[0])?.[1];
21892
+ return id2 ? [Number(id2)] : [];
21893
+ }) : []
21872
21894
  )
21873
21895
  ) + 1;
21874
21896
  ctx.run(
@@ -22406,7 +22428,10 @@ function insertSlicer(ctx, s, ref) {
22406
22428
  const id = Math.max(
22407
22429
  1,
22408
22430
  ...sheet.drawings.flatMap(
22409
- (d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(/cNvPr[^>]*\sid="(\d+)"/g)].map((m) => Number(m[1])) : []
22431
+ (d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(/<[\w:]*cNvPr\b[^>]*>/g)].flatMap((m) => {
22432
+ const id2 = /\sid="(\d+)"/.exec(m[0])?.[1];
22433
+ return id2 ? [Number(id2)] : [];
22434
+ }) : []
22410
22435
  )
22411
22436
  ) + 1;
22412
22437
  ctx.run(
@@ -75,15 +75,34 @@ var DEFAULT_XML_LIMITS = {
75
75
  maxDepth: 512,
76
76
  maxNodes: 5e6
77
77
  };
78
- var MARKUP_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\?[\s\S]*?\?>|<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/g;
78
+ var TAG_RE = /<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/y;
79
+ var MARKUP_SKIPS = [
80
+ ["<!--", "-->"],
81
+ ["<![CDATA[", "]]>"],
82
+ ["<?", "?>"]
83
+ ];
79
84
  function checkXmlLimits(xml, label, limits = {}) {
80
85
  const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
81
86
  const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
82
87
  let depth = 0;
83
88
  let nodes = 0;
84
- for (const match of xml.matchAll(MARKUP_RE)) {
85
- const [, closing, name, selfClosing] = match;
86
- if (name === void 0) continue;
89
+ let at = xml.indexOf("<");
90
+ while (at !== -1) {
91
+ const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at));
92
+ if (skip) {
93
+ const end = xml.indexOf(skip[1], at + skip[0].length);
94
+ if (end === -1) return;
95
+ at = xml.indexOf("<", end + skip[1].length);
96
+ continue;
97
+ }
98
+ TAG_RE.lastIndex = at;
99
+ const match = TAG_RE.exec(xml);
100
+ if (!match) {
101
+ at = xml.indexOf("<", at + 1);
102
+ continue;
103
+ }
104
+ const [, closing, , selfClosing] = match;
105
+ at = xml.indexOf("<", at + match[0].length);
87
106
  if (closing) {
88
107
  depth--;
89
108
  continue;
@@ -73,15 +73,34 @@ var DEFAULT_XML_LIMITS = {
73
73
  maxDepth: 512,
74
74
  maxNodes: 5e6
75
75
  };
76
- var MARKUP_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\?[\s\S]*?\?>|<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/g;
76
+ var TAG_RE = /<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/y;
77
+ var MARKUP_SKIPS = [
78
+ ["<!--", "-->"],
79
+ ["<![CDATA[", "]]>"],
80
+ ["<?", "?>"]
81
+ ];
77
82
  function checkXmlLimits(xml, label, limits = {}) {
78
83
  const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
79
84
  const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
80
85
  let depth = 0;
81
86
  let nodes = 0;
82
- for (const match of xml.matchAll(MARKUP_RE)) {
83
- const [, closing, name, selfClosing] = match;
84
- if (name === void 0) continue;
87
+ let at = xml.indexOf("<");
88
+ while (at !== -1) {
89
+ const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at));
90
+ if (skip) {
91
+ const end = xml.indexOf(skip[1], at + skip[0].length);
92
+ if (end === -1) return;
93
+ at = xml.indexOf("<", end + skip[1].length);
94
+ continue;
95
+ }
96
+ TAG_RE.lastIndex = at;
97
+ const match = TAG_RE.exec(xml);
98
+ if (!match) {
99
+ at = xml.indexOf("<", at + 1);
100
+ continue;
101
+ }
102
+ const [, closing, , selfClosing] = match;
103
+ at = xml.indexOf("<", at + match[0].length);
85
104
  if (closing) {
86
105
  depth--;
87
106
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../xml/xml.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AACnC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC;AAG3B,MAAM,WAAW,cAAc;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAGjE,CAAC;AAQF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB,GAAG,IAAI,CAiB5F;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAsB7E;AAED,eAAO,MAAM,QAAQ,SAAU,OAAO,KAAG,MAC4B,CAAC;AAEtE,eAAO,MAAM,SAAS,SAAU,IAAI,KAAG,IAAI,IAAI,UAAiC,CAAC;AACjF,eAAO,MAAM,QAAQ,WAAY,UAAU,KAAG,UAAU,EACR,CAAC;AACjD,eAAO,MAAM,WAAW,YAAa,UAAU,KAAG,MAAmC,CAAC;AACtF,eAAO,MAAM,MAAM,QAAS,WAAW,MAAM,MAAM,aAAa,MAAM,KAAG,UACtC,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,KAAK,CACpB,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,UAAO,GACZ,OAAO,CAGT;AAED,mDAAmD;AACnD,eAAO,MAAM,QAAQ,WACZ,UAAU,SACX,MAAM,MACT,MAAM,wBAER,UAAU,EAA8E,CAAC;AAE5F,4DAA4D;AAC5D,eAAO,MAAM,KAAK,WACT,UAAU,GAAG,IAAI,GAAG,SAAS,SAC9B,MAAM,MACT,MAAM,wBAER,UAAU,GAAG,SAA2E,CAAC;AAE5F,yFAAyF;AACzF,wBAAgB,IAAI,CACnB,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAIpB;AAED,oFAAoF;AACpF,eAAO,MAAM,OAAO,YAAa,UAAU,GAAG,IAAI,GAAG,SAAS,SAAS,MAAM,uBAC7C,CAAC"}
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../xml/xml.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AACnC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC;AAG3B,MAAM,WAAW,cAAc;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAGjE,CAAC;AAYF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB,GAAG,IAAI,CA+B5F;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAsB7E;AAED,eAAO,MAAM,QAAQ,SAAU,OAAO,KAAG,MAC4B,CAAC;AAEtE,eAAO,MAAM,SAAS,SAAU,IAAI,KAAG,IAAI,IAAI,UAAiC,CAAC;AACjF,eAAO,MAAM,QAAQ,WAAY,UAAU,KAAG,UAAU,EACR,CAAC;AACjD,eAAO,MAAM,WAAW,YAAa,UAAU,KAAG,MAAmC,CAAC;AACtF,eAAO,MAAM,MAAM,QAAS,WAAW,MAAM,MAAM,aAAa,MAAM,KAAG,UACtC,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,KAAK,CACpB,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,UAAO,GACZ,OAAO,CAGT;AAED,mDAAmD;AACnD,eAAO,MAAM,QAAQ,WACZ,UAAU,SACX,MAAM,MACT,MAAM,wBAER,UAAU,EAA8E,CAAC;AAE5F,4DAA4D;AAC5D,eAAO,MAAM,KAAK,WACT,UAAU,GAAG,IAAI,GAAG,SAAS,SAC9B,MAAM,MACT,MAAM,wBAER,UAAU,GAAG,SAA2E,CAAC;AAE5F,yFAAyF;AACzF,wBAAgB,IAAI,CACnB,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAIpB;AAED,oFAAoF;AACpF,eAAO,MAAM,OAAO,YAAa,UAAU,GAAG,IAAI,GAAG,SAAS,SAAS,MAAM,uBAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ooxml-core",
3
- "version": "1.16.0",
3
+ "version": "1.16.1",
4
4
  "description": "Shared OOXML logic for the Word, PowerPoint and Excel viewers: everything except the UI",
5
5
  "keywords": [
6
6
  "charts",
@@ -1,4 +0,0 @@
1
- export { PptxHandler } from './chunk-OKGQ2X7D.mjs';
2
- import './chunk-WEFFRYXN.mjs';
3
- import './chunk-GXHKNSZX.mjs';
4
- import './chunk-CA7KCNL3.mjs';