@extend-ai/react-xlsx 0.20.4 → 0.20.5

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 (79) hide show
  1. package/dist/{browser-S6E2BS5S.cjs → browser-6MKX73CJ.cjs} +5 -5
  2. package/dist/{browser-S6E2BS5S.cjs.map → browser-6MKX73CJ.cjs.map} +1 -1
  3. package/dist/{browser-IQ4UDS5M.js → browser-KJ6EVWLG.js} +5 -5
  4. package/dist/{browser-IQ4UDS5M.js.map → browser-KJ6EVWLG.js.map} +1 -1
  5. package/dist/{chart-renderer-4HTNG3SX.js → chart-renderer-2BLFC2BD.js} +2 -2
  6. package/dist/{chart-renderer-H4BLRO5P.cjs → chart-renderer-2K7XSPVG.cjs} +3 -3
  7. package/dist/{chart-renderer-H4BLRO5P.cjs.map → chart-renderer-2K7XSPVG.cjs.map} +1 -1
  8. package/dist/{chart-renderer-6CWSXOSC.cjs → chart-renderer-2UJZRUSN.cjs} +3 -3
  9. package/dist/{chart-renderer-6CWSXOSC.cjs.map → chart-renderer-2UJZRUSN.cjs.map} +1 -1
  10. package/dist/{chart-renderer-5IN2B3YS.js → chart-renderer-IYKCQENY.js} +2 -2
  11. package/dist/{chunk-NAYVSTCX.cjs → chunk-5PBSOOA7.cjs} +7 -7
  12. package/dist/{chunk-NAYVSTCX.cjs.map → chunk-5PBSOOA7.cjs.map} +1 -1
  13. package/dist/{chunk-IISMO3AX.js → chunk-BFSDKYQU.js} +7 -7
  14. package/dist/{chunk-PK3MCNDK.js → chunk-IN7OU5PF.js} +2 -2
  15. package/dist/{chunk-PK3MCNDK.js.map → chunk-IN7OU5PF.js.map} +1 -1
  16. package/dist/{chunk-LZXL5E4W.js → chunk-KSXNNWAY.js} +7 -7
  17. package/dist/chunk-LY4EWUKF.js +22 -0
  18. package/dist/chunk-LY4EWUKF.js.map +1 -0
  19. package/dist/{chunk-MYN475JP.cjs → chunk-N6MMMGLF.cjs} +2 -2
  20. package/dist/{chunk-MYN475JP.cjs.map → chunk-N6MMMGLF.cjs.map} +1 -1
  21. package/dist/{chunk-H62SZBEY.js → chunk-R5ERJ3BT.js} +5 -19
  22. package/dist/chunk-R5ERJ3BT.js.map +1 -0
  23. package/dist/{chunk-GX5LAENE.cjs → chunk-RN27VSTN.cjs} +7 -7
  24. package/dist/{chunk-GX5LAENE.cjs.map → chunk-RN27VSTN.cjs.map} +1 -1
  25. package/dist/{chunk-KQSUAIZD.cjs → chunk-YPTGD7GK.cjs} +9 -23
  26. package/dist/chunk-YPTGD7GK.cjs.map +1 -0
  27. package/dist/chunk-ZAUUKER4.cjs +22 -0
  28. package/dist/chunk-ZAUUKER4.cjs.map +1 -0
  29. package/dist/{full-3FSPB3R6.cjs → full-C7H4X2EX.cjs} +5 -5
  30. package/dist/{full-3FSPB3R6.cjs.map → full-C7H4X2EX.cjs.map} +1 -1
  31. package/dist/{full-GPY27HZY.js → full-YT626I57.js} +5 -5
  32. package/dist/{full-GPY27HZY.js.map → full-YT626I57.js.map} +1 -1
  33. package/dist/index.cjs +5 -19
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.js +4 -18
  36. package/dist/index.js.map +1 -1
  37. package/dist/internal.cjs +4 -3
  38. package/dist/internal.cjs.map +1 -1
  39. package/dist/internal.js +3 -2
  40. package/dist/office_charts_bg.wasm +0 -0
  41. package/dist/office_charts_full_bg.wasm +0 -0
  42. package/dist/payload-7QT6NY6S.js +6 -0
  43. package/dist/payload-7QT6NY6S.js.map +1 -0
  44. package/dist/payload-BZGBW73P.cjs +8 -0
  45. package/dist/payload-BZGBW73P.cjs.map +1 -0
  46. package/dist/payload-H55PON66.js +6 -0
  47. package/dist/payload-H55PON66.js.map +1 -0
  48. package/dist/payload-RNKEYTQ4.cjs +8 -0
  49. package/dist/payload-RNKEYTQ4.cjs.map +1 -0
  50. package/dist/{shared-chart-ACR4M7BP.cjs → shared-chart-GCUFIUQL.cjs} +13 -1
  51. package/dist/shared-chart-GCUFIUQL.cjs.map +1 -0
  52. package/dist/{shared-chart-5KTGZEZ5.js → shared-chart-JV4MGKXX.js} +13 -1
  53. package/dist/shared-chart-JV4MGKXX.js.map +1 -0
  54. package/dist/{shared-chart-XAV7VA45.cjs → shared-chart-OUC7EHFC.cjs} +13 -1
  55. package/dist/shared-chart-OUC7EHFC.cjs.map +1 -0
  56. package/dist/{shared-chart-EGN5JTKT.js → shared-chart-PY47ED4I.js} +13 -1
  57. package/dist/shared-chart-PY47ED4I.js.map +1 -0
  58. package/dist/vanilla.cjs +4 -3
  59. package/dist/vanilla.cjs.map +1 -1
  60. package/dist/vanilla.js +3 -2
  61. package/package.json +2 -2
  62. package/dist/chunk-H62SZBEY.js.map +0 -1
  63. package/dist/chunk-KQSUAIZD.cjs.map +0 -1
  64. package/dist/payload-B55ZKNYO.js +0 -6
  65. package/dist/payload-B55ZKNYO.js.map +0 -1
  66. package/dist/payload-E2KM77DZ.js +0 -6
  67. package/dist/payload-E2KM77DZ.js.map +0 -1
  68. package/dist/payload-K4S5RLJN.cjs +0 -8
  69. package/dist/payload-K4S5RLJN.cjs.map +0 -1
  70. package/dist/payload-PL4646XV.cjs +0 -8
  71. package/dist/payload-PL4646XV.cjs.map +0 -1
  72. package/dist/shared-chart-5KTGZEZ5.js.map +0 -1
  73. package/dist/shared-chart-ACR4M7BP.cjs.map +0 -1
  74. package/dist/shared-chart-EGN5JTKT.js.map +0 -1
  75. package/dist/shared-chart-XAV7VA45.cjs.map +0 -1
  76. /package/dist/{chart-renderer-4HTNG3SX.js.map → chart-renderer-2BLFC2BD.js.map} +0 -0
  77. /package/dist/{chart-renderer-5IN2B3YS.js.map → chart-renderer-IYKCQENY.js.map} +0 -0
  78. /package/dist/{chunk-IISMO3AX.js.map → chunk-BFSDKYQU.js.map} +0 -0
  79. /package/dist/{chunk-LZXL5E4W.js.map → chunk-KSXNNWAY.js.map} +0 -0
@@ -1,5 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
+ var _chunkZAUUKER4cjs = require('./chunk-ZAUUKER4.cjs');
4
+
5
+
3
6
 
4
7
  var _chunkM55TBS4Xcjs = require('./chunk-M55TBS4X.cjs');
5
8
 
@@ -88,6 +91,15 @@ function safeChartSvg(markup, prefix, seriesMap) {
88
91
  for (const node of [svg, ...Array.from(svg.querySelectorAll("*"))]) {
89
92
  if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;
90
93
  for (const { name, value } of Array.from(node.attributes)) {
94
+ if (name === "font-family") {
95
+ const families = value.split(",").map((family) => family.trim());
96
+ const unquote = (family) => family.replace(/^["']|["']$/g, "");
97
+ if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(_nullishCoalesce(families[0], () => ( "")))) && !families.some((family) => unquote(family) === _chunkZAUUKER4cjs.SPREADSHEET_FALLBACK_FONT)) {
98
+ families.splice(1, 0, JSON.stringify(_chunkZAUUKER4cjs.SPREADSHEET_FALLBACK_FONT));
99
+ node.setAttribute(name, families.join(", "));
100
+ }
101
+ continue;
102
+ }
91
103
  if (plainAttributes.has(name) || name === "xmlns") continue;
92
104
  if (name === "id" && /^[\w-]+$/.test(value)) {
93
105
  node.setAttribute(name, prefix + value);
@@ -236,4 +248,4 @@ function SharedChartSvg(props) {
236
248
 
237
249
 
238
250
  exports.SharedChartSvg = SharedChartSvg;
239
- //# sourceMappingURL=shared-chart-ACR4M7BP.cjs.map
251
+ //# sourceMappingURL=shared-chart-GCUFIUQL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/shared-chart-GCUFIUQL.cjs","../src/shared-chart.tsx"],"names":["_","label"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACTA,IAAM,aAAA,EAAe,4BAAA;AACrB,IAAM,gBAAA,kBAAkB,IAAI,GAAA,CAAI;AAAA,EAC9B,KAAA;AAAA,EAAO,GAAA;AAAA,EAAK,MAAA;AAAA,EAAQ,UAAA;AAAA,EAAY,MAAA;AAAA,EAAQ,QAAA;AAAA,EAAU,SAAA;AAAA,EAAW,MAAA;AAAA,EAAQ,MAAA;AAAA,EAAQ,UAAA;AAAA,EAAY,SAAA;AAAA,EACzF,OAAA;AAAA,EAAS,MAAA;AAAA,EAAQ,MAAA;AAAA,EAAQ,OAAA;AAAA,EAAS,gBAAA;AAAA,EAAkB,gBAAA;AAAA,EAAkB,MAAA;AAAA,EAAQ;AAChF,CAAC,CAAA;AACD,IAAM,gBAAA,kBAAkB,IAAI,GAAA,CAAI;AAAA,EAC9B,GAAA;AAAA,EAAK,GAAA;AAAA,EAAK,OAAA;AAAA,EAAS,QAAA;AAAA,EAAU,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,GAAA;AAAA,EAAK,IAAA;AAAA,EAAM,IAAA;AAAA,EAAM,IAAA;AAAA,EAC9F,SAAA;AAAA,EAAW,WAAA;AAAA,EAAa,GAAA;AAAA,EAAK,QAAA;AAAA,EAAU,aAAA;AAAA,EAAe,aAAA;AAAA,EAAe,WAAA;AAAA,EAAa,aAAA;AAAA,EAClF,mBAAA;AAAA,EAAqB,gBAAA;AAAA,EAAkB,iBAAA;AAAA,EAAmB,cAAA;AAAA,EAAgB,kBAAA;AAAA,EAC1E,SAAA;AAAA,EAAW,cAAA;AAAA,EAAgB,gBAAA;AAAA,EAAkB,WAAA;AAAA,EAAa,iBAAA;AAAA,EAAmB,QAAA;AAAA,EAAU,cAAA;AAAA,EACvF,eAAA;AAAA,EAAiB,mBAAA;AAAA,EAAqB,cAAA;AAAA,EAAgB,qBAAA;AAAA,EACtD,gBAAA;AAAA,EAAkB,iBAAA;AAAA,EAAmB,mBAAA;AAAA,EAAqB,kBAAA;AAAA,EAAoB,cAAA;AAAA,EAAgB;AAChG,CAAC,CAAA;AAED,SAAS,YAAA,CAAa,MAAA,EAAgB,MAAA,EAAgB,SAAA,EAAsB;AAC1E,EAAA,MAAM,IAAA,EAAM,IAAI,SAAA,CAAU,CAAA,CAAE,eAAA,CAAgB,MAAA,EAAQ,eAAe,CAAA,CAAE,eAAA;AACrE,EAAA,GAAA,CAAI,GAAA,CAAI,UAAA,IAAc,MAAA,GAAS,GAAA,CAAI,aAAA,IAAiB,YAAA,EAAc,OAAO,IAAA;AAGzE,EAAA,IAAA,CAAA,MAAW,KAAA,GAAQ,CAAC,GAAA,EAAK,GAAG,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,gBAAA,CAAiB,GAAG,CAAC,CAAC,CAAA,EAAG;AAClE,IAAA,GAAA,CAAI,IAAA,CAAK,aAAA,IAAiB,aAAA,GAAgB,CAAC,eAAA,CAAgB,GAAA,CAAI,IAAA,CAAK,SAAS,CAAA,EAAG,OAAO,IAAA;AACvF,IAAA,IAAA,CAAA,MAAW,EAAE,IAAA,EAAM,MAAM,EAAA,GAAK,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,UAAU,CAAA,EAAG;AACzD,MAAA,GAAA,CAAI,KAAA,IAAS,aAAA,EAAe;AAC1B,QAAA,MAAM,SAAA,EAAW,KAAA,CAAM,KAAA,CAAM,GAAG,CAAA,CAAE,GAAA,CAAI,CAAC,MAAA,EAAA,GAAW,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA;AAC/D,QAAA,MAAM,QAAA,EAAU,CAAC,MAAA,EAAA,GAAmB,MAAA,CAAO,OAAA,CAAQ,cAAA,EAAgB,EAAE,CAAA;AACrE,QAAA,GAAA,CAAI,wCAAA,CAAyC,IAAA,CAAK,OAAA,kBAAQ,QAAA,CAAS,CAAC,CAAA,UAAK,IAAE,CAAC,EAAA,GACvE,CAAC,QAAA,CAAS,IAAA,CAAK,CAAC,MAAA,EAAA,GAAW,OAAA,CAAQ,MAAM,EAAA,IAAM,2CAAyB,CAAA,EAAG;AAC9E,UAAA,QAAA,CAAS,MAAA,CAAO,CAAA,EAAG,CAAA,EAAG,IAAA,CAAK,SAAA,CAAU,2CAAyB,CAAC,CAAA;AAC/D,UAAA,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,QAAA,CAAS,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,QAC7C;AACA,QAAA,QAAA;AAAA,MACF;AACA,MAAA,GAAA,CAAI,eAAA,CAAgB,GAAA,CAAI,IAAI,EAAA,GAAK,KAAA,IAAS,OAAA,EAAS,QAAA;AACnD,MAAA,GAAA,CAAI,KAAA,IAAS,KAAA,GAAQ,UAAA,CAAW,IAAA,CAAK,KAAK,CAAA,EAAG;AAC3C,QAAA,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,OAAA,EAAS,KAAK,CAAA;AACtC,QAAA,QAAA;AAAA,MACF;AACA,MAAA,GAAA,CAAI,KAAA,IAAS,OAAA,GAAU,mCAAA,CAAoC,IAAA,CAAK,IAAA,CAAK,SAAS,EAAA,GAAK,WAAA,CAAY,IAAA,CAAK,KAAK,CAAA,EAAG;AAC1G,QAAA,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,KAAA,CAAM,KAAA,CAAM,CAAC,CAAC,CAAA;AACrD,QAAA,QAAA;AAAA,MACF;AACA,MAAA,GAAA,CAAI,CAAC,MAAA,EAAQ,QAAA,EAAU,YAAA,EAAc,WAAW,CAAA,CAAE,QAAA,CAAS,IAAI,CAAA,EAAG;AAChE,QAAA,MAAM,MAAA,EAAQ,oBAAA,CAAqB,IAAA,CAAK,KAAK,CAAA;AAC7C,QAAA,GAAA,CAAI,KAAA,EAAO;AACT,UAAA,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,KAAA,CAAM,CAAC,EAAA,EAAI,GAAG,CAAA;AACzD,UAAA,QAAA;AAAA,QACF;AACA,QAAA,GAAA,CAAI,6BAAA,CAA8B,IAAA,CAAK,KAAK,CAAA,EAAG,QAAA;AAAA,MACjD;AACA,MAAA,IAAA,CAAK,eAAA,CAAgB,IAAI,CAAA;AAAA,IAC3B;AAEA,IAAA,GAAA,CAAI,IAAA,CAAK,YAAA,CAAa,mBAAmB,CAAA,EAAG;AAC1C,MAAA,MAAM,aAAA,EAAe,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,mBAAmB,CAAC,CAAA;AAClE,MAAA,MAAM,OAAA,mCAAS,SAAA,4BAAA,CAAY,YAAY,GAAA,UAAK,cAAA;AAC5C,MAAA,GAAA,CAAI,CAAC,MAAA,CAAO,SAAA,CAAU,MAAM,EAAA,GAAK,OAAA,EAAS,CAAA,EAAG,OAAO,IAAA;AACpD,MAAA,IAAA,CAAK,YAAA,CAAa,mBAAA,EAAqB,MAAA,CAAO,MAAM,CAAC,CAAA;AACrD,MAAA,IAAA,CAAK,YAAA,CAAa,8BAAA,EAAgC,MAAA,CAAO,MAAM,CAAC,CAAA;AAChE,MAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,YAAA,CAAa,kBAAkB,CAAA;AAClD,MAAA,GAAA,CAAI,MAAA,GAAS,IAAA,EAAM,IAAA,CAAK,YAAA,CAAa,6BAAA,EAA+B,KAAK,CAAA;AACzE,MAAA,MAAM,KAAA,EAAO,IAAA,CAAK,YAAA,CAAa,iBAAiB,CAAA;AAChD,MAAA,GAAA,CAAI,KAAA,IAAS,KAAA,EAAO,IAAA,CAAK,YAAA,CAAa,gCAAA,EAAkC,aAAa,CAAA;AACrF,MAAA,GAAA,CAAI,KAAA,IAAS,aAAA,EAAe,IAAA,CAAK,YAAA,CAAa,8BAAA,EAAgC,IAAI,CAAA;AAClF,MAAA,MAAM,MAAA,EAAS,IAAA,CAAoB,KAAA;AACnC,MAAA,KAAA,CAAM,OAAA,EAAS,SAAA;AACf,MAAA,KAAA,CAAM,cAAA,EAAgB,KAAA;AAAA,IACxB;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT;AAEA,SAAS,iBAAA,CAAkB,QAAA,EAAwB,KAAA,EAAkB,MAAA,EAA+B,KAAA,EAAe,MAAA,EAAgB,MAAA,EAAgB;AACjJ,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,EAAM,QAAA,CAAS,WAAA,CAAY,MAAA,CAAO,GAAA,EAAK;AAAA,MAC3C,WAAA,EAAa,MAAA,CAAO,WAAA;AAAA,MACpB,gBAAA,EAAkB,MAAA,CAAO,gBAAA;AAAA,MACzB,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,MACjB,aAAA,EAAe,MAAA,CAAO,aAAA;AAAA,MACtB,KAAA;AAAA,MAAO,MAAA;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,mBAAA,EAAqB,IAAA;AAAA,MACrB,UAAA,EAAY,KAAA,CAAM,UAAA;AAAA,MAClB,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,KAAA,CAAM,KAAA;AAAA,QACb,MAAA,EAAA,kBAAS,MAAA,CAAO,YAAA,UAAgB,KAAA,CAAM,QAAA,CAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,EAAQ,OAAA,EAAA,GAAY;AACrE,UAAA,MAAM,UAAA,mCAAY,MAAA,qBAAO,WAAA,4BAAA,CAAc,OAAO,GAAA,UAAK,MAAA,CAAO,MAAA;AAC1D,UAAA,MAAM,GAAA,EAAK,UAAA,IAAc,UAAA,GAAa,UAAA,IAAc,QAAA;AACpD,UAAA,MAAM,SAAA,kBAAW,MAAA,qBAAO,cAAA,4BAAA,CAAiB,OAAO,IAAA,IAAM,IAAA;AACtD,UAAA,MAAM,UAAA,kBAAY,MAAA,qBAAO,GAAA,6BAAK,4BAAA;AAC9B,UAAA,MAAM,aAAA,kBAAe,MAAA,uBAAO,GAAA,+BAAK,qBAAA;AACjC,UAAA,OAAO;AAAA,YACL,SAAA;AAAA,YACA,IAAA,EAAM,MAAA,CAAO,IAAA;AAAA,YACb,MAAA,EAAQ,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,IAAA,CAAK,GAAA,CAAI,MAAA,CAAO,MAAA,CAAO,MAAA,EAAQ,SAAA,EAAW,EAAA,EAAI,MAAA,CAAO,UAAA,CAAW,MAAA,mCAAQ,MAAA,uBAAO,WAAA,+BAAa,QAAA,UAAU,GAAC,EAAE,CAAA,EAAG,CAACA,EAAAA,EAAG,KAAA,EAAA,GAAU;AACrJ,cAAA,MAAM,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA;AACjC,cAAA,MAAM,MAAA,EAAQ,MAAA,CAAO,UAAA,CAAW,KAAK,CAAA;AACrC,cAAA,MAAM,OAAA,kBAAS,MAAA,uBAAO,WAAA,8BAAA,CAAc,KAAK,GAAA;AACzC,cAAA,OAAO;AAAA,gBACL,KAAA;AAAA,gBACA,KAAA,EAAO,GAAA,EAAK,KAAA,EAAA,mCAAY,YAAA,8BAAA,CAAe,KAAK,GAAA,UAAA,CAAM,MAAA,GAAS,KAAA,EAAO,KAAA,EAAO,MAAA,CAAO,KAAK,CAAA,GAAA;AAAA,gBACrF,CAAA,EAAG,SAAA,EAAW,MAAA,CAAO,MAAA,EAAQ,CAAC,EAAA,EAAI,GAAA,GAAM,MAAA,GAAS,KAAA,EAAO,MAAA,CAAO,KAAK,EAAA,EAAI,KAAA,CAAA;AAAA,gBACxE,CAAA,EAAG,GAAA,GAAM,MAAA,GAAS,KAAA,EAAO,MAAA,CAAO,KAAK,EAAA,EAAI,KAAA,CAAA;AAAA,gBACzC,UAAA,EAAY,OAAA,GAAU,KAAA,EAAO,KAAA,EAAA,EAAY,MAAA,CAAO,MAAM,CAAA;AAAA,gBACtD,UAAA,EAAY,GAAA,EAAK,CAAC,EAAA,kBAAI,SAAA,8BAAA,CAAY,KAAK,CAAA,+BAAG,SAAA,EACtC,CAAC,GAAG,SAAA,CAAU,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAA,CAAE,GAAA,CAAI,CAACC,MAAAA,EAAO,KAAA,EAAA,GAAA,CAAW,EAAC,KAAA,EAAO,KAAA,EAAAA,OAAK,CAAA,CAAE,EAAA,EACtE,MAAA,CAAO,UAAA,CAAW,OAAA,mBAAU,MAAA,uBAAO,aAAA,+BAAe,UAAA,EAChD,CAAC,EAAE,KAAA,EAAO,CAAA,EAAG,KAAA,EAAO,MAAA,GAAS,KAAA,EAAO,GAAA,EAAK,MAAA,CAAO,KAAK,EAAE,CAAC,EAAA,EACxD,CAAC;AAAA,cACT,CAAA;AAAA,YACF,CAAC;AAAA,UACH,CAAA;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AACD,IAAA,OAAO,IAAA,EAAM,YAAA,CAAa,GAAA,EAAK,MAAA,kBAAQ,MAAA,uBAAO,YAAA,+BAAc,GAAA,qBAAI,CAAA,MAAA,EAAA,GAAU,KAAA,CAAM,MAAA,CAAO,SAAA,CAAU,CAAA,SAAA,EAAA,GAAa,SAAA,CAAU,GAAA,IAAO,MAAA,CAAO,EAAE,CAAC,GAAC,EAAA,EAAI,IAAA;AAAA,EAChJ,EAAA,UAAQ;AACN,IAAA,OAAO,IAAA;AAAA,EACT;AACF;AAEA,SAAS,gBAAA,CAAiB,GAAA,EAAc,OAAA,EAAiB,QAAA,EAAwD;AAC/G,EAAA,GAAA,CAAI,CAAC,SAAA,GAAY,QAAA,CAAS,QAAA,IAAY,QAAA,GAAW,QAAA,CAAS,KAAA,IAAS,OAAA,EAAS,OAAO,IAAA;AACnF,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,gBAAA,CAAiB,oBAAoB,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,EAAA,GAAU;AACjF,IAAA,GAAA,CAAI,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,mBAAmB,CAAC,EAAA,IAAM,QAAA,CAAS,YAAA,GAC1D,QAAA,CAAS,KAAA,IAAS,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,kBAAkB,CAAC,EAAA,IAAM,QAAA,CAAS,UAAA,EAAa,OAAO,IAAA;AAClH,IAAA,GAAA,CAAI,IAAA,CAAK,UAAA,IAAc,MAAA,EAAQ;AAC7B,MAAA,OAAO,0DAAA;AAAA,QAA2B,MAAA,CAAO,KAAK,CAAA;AAAA,QAAG,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,GAAG,CAAC,CAAA;AAAA,QAAG,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,GAAG,CAAC,CAAA;AAAA,QAC5G,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,OAAO,CAAC,CAAA;AAAA,QAAG,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,QAAQ,CAAC;AAAA,MAAC,CAAA;AAAA,IAC3E;AACA,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,YAAA,CAAa,cAAc,EAAA,GAAK,CAAC,IAAA,CAAK,YAAA,CAAa,cAAc,CAAA,EAAG,OAAO,IAAA;AACrF,IAAA,OAAO,0DAAA;AAAA,MAA2B,MAAA,CAAO,KAAK,CAAA;AAAA,MAAG,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,cAAc,CAAC,EAAA,EAAI,CAAA;AAAA,MAC3F,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,cAAc,CAAC,EAAA,EAAI,CAAA;AAAA,MAAG,CAAA;AAAA,MAAG;AAAA,IAAC,CAAA;AAAA,EACvD,CAAC,CAAA;AACH;AAEO,SAAS,cAAA,CAAe,KAAA,EAI5B;AACD,EAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,oBAAA,EAAsB,SAAS,EAAA,EAAI,KAAA;AAC1E,EAAA,MAAM,GAAA,EAAW,iCAAA,CAAM;AACvB,EAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,KAAK,CAAA;AACpC,EAAA,MAAM,OAAA,EAAS,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA;AACtC,EAAA,MAAM,IAAA,EAAY,iCAAA,CAAQ,EAAA,GAAM,iBAAA;AAAA,IAAkB,QAAA;AAAA,IAAU,KAAA;AAAA,IAAO,MAAA;AAAA,IAAQ,KAAA;AAAA,IAAO,MAAA;AAAA,IAChF,MAAA,EAAQ,EAAA,CAAG,OAAA,CAAQ,SAAA,EAAW,EAAE,EAAA,EAAI;AAAA,EAAG,CAAA,EAAG,CAAC,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,EAAE,CAAC,CAAA;AACxF,EAAA,MAAM,SAAA,EAAiB,iCAAA,IAAwB,CAAA;AAC/C,EAAM,iCAAA,CAAgB,EAAA,GAAM;AAC1B,IAAA,GAAA,CAAI,QAAA,CAAS,QAAA,GAAW,GAAA,EAAK,QAAA,CAAS,OAAA,CAAQ,eAAA,CAAgB,GAAG,CAAA;AAAA,EACnE,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AACR,EAAA,MAAM,QAAA,EAAgB,iCAAA;AAAA,IAAQ,CAAA,EAAA,GAAM,IAAA,GAAO,gBAAA,CAAiB,GAAA,EAAK,KAAA,CAAM,EAAA,EAAI,oBAAoB,CAAA;AAAA,IAC7F,CAAC,GAAA,EAAK,KAAA,CAAM,EAAA,EAAI,oBAAoB;AAAA,EAAC,CAAA;AACvC,EAAA,MAAM,EAAE,iBAAA,EAAmB,kBAAkB,EAAA,EAAI,8CAAA,KAAoB,CAAA;AACrE,EAAA,GAAA,CAAI,CAAC,GAAA,EAAK,uBAAO,iCAAA,KAAC,EAAA,EAAI,0BAAA,EAAyB,aAAA,EAAc,KAAA,EAAO,EAAC,KAAA,EAAM,MAAA,EAAO,MAAA,EAAO,OAAM,CAAA,EAAI,QAAA,EAAA,SAAA,CAAS,CAAA;AAC5G,EAAA,uBACE,iCAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,oCAAY,KAAA,CAAM,KAAA,UAAS,KAAA,CAAM,MAAA,UAAQ,SAAA;AAAA,MACzC,0BAAA,EAAyB,eAAA;AAAA,MACzB,aAAA,EAAe,iBAAA;AAAA,MACf,aAAA,EAAe,iBAAA;AAAA,MACf,IAAA,EAAK,KAAA;AAAA,MACL,KAAA,EAAO,EAAE,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,aAAA,EAAe,MAAA,EAAQ,KAAA,EAAO,OAAO,CAAA;AAAA,MAChF,OAAA,EAAS,CAAA,IAAA,EAAO,KAAK,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAE/B,MAAA;AAAQ,wBAAA;AACP,QAAA;AAAA,MAAA;AAAA,IAAA;AACH,EAAA;AAEJ;ADwEsC;AACA;AACA","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/shared-chart-GCUFIUQL.cjs","sourcesContent":[null,"import * as React from \"react\";\nimport type { OfficeCharts } from \"@extend-ai/rust-office-charts\";\nimport { renderSelectionRectHandles, useChartEvents } from \"./chart-interaction\";\nimport { SPREADSHEET_FALLBACK_FONT } from \"./spreadsheet-fonts\";\nimport type { ChartSvgProps } from \"./chart-renderer\";\nimport type { XlsxChart, XlsxChartRenderSource, XlsxChartElementSelection } from \"./types\";\n\nconst svgNamespace = \"http://www.w3.org/2000/svg\";\nconst allowedElements = new Set([\n \"svg\", \"g\", \"defs\", \"clipPath\", \"rect\", \"circle\", \"ellipse\", \"path\", \"line\", \"polyline\", \"polygon\",\n \"title\", \"desc\", \"text\", \"tspan\", \"linearGradient\", \"radialGradient\", \"stop\", \"pattern\"\n]);\nconst plainAttributes = new Set([\n \"x\", \"y\", \"width\", \"height\", \"x1\", \"x2\", \"y1\", \"y2\", \"cx\", \"cy\", \"fx\", \"fy\", \"r\", \"rx\", \"ry\", \"fr\",\n \"viewBox\", \"transform\", \"d\", \"points\", \"font-family\", \"font-weight\", \"font-size\", \"text-anchor\",\n \"dominant-baseline\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-width\", \"stroke-dasharray\",\n \"opacity\", \"fill-opacity\", \"stroke-opacity\", \"fill-rule\", \"shape-rendering\", \"offset\", \"stop-opacity\",\n \"gradientUnits\", \"gradientTransform\", \"patternUnits\", \"patternContentUnits\",\n \"pointer-events\", \"data-chart-kind\", \"data-chart-series\", \"data-chart-point\", \"data-chart-x\", \"data-chart-y\"\n]);\n\nfunction safeChartSvg(markup: string, prefix: string, seriesMap?: number[]) {\n const svg = new DOMParser().parseFromString(markup, \"image/svg+xml\").documentElement;\n if (svg.localName !== \"svg\" || svg.namespaceURI !== svgNamespace) return null;\n\n // Only local paint servers and inert geometry can enter the document.\n for (const node of [svg, ...Array.from(svg.querySelectorAll(\"*\"))]) {\n if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;\n for (const { name, value } of Array.from(node.attributes)) {\n if (name === \"font-family\") {\n const families = value.split(\",\").map((family) => family.trim());\n const unquote = (family: string) => family.replace(/^[\"']|[\"']$/g, \"\");\n if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(families[0] ?? \"\"))\n && !families.some((family) => unquote(family) === SPREADSHEET_FALLBACK_FONT)) {\n families.splice(1, 0, JSON.stringify(SPREADSHEET_FALLBACK_FONT));\n node.setAttribute(name, families.join(\", \"));\n }\n continue;\n }\n if (plainAttributes.has(name) || name === \"xmlns\") continue;\n if (name === \"id\" && /^[\\w-]+$/.test(value)) {\n node.setAttribute(name, prefix + value);\n continue;\n }\n if (name === \"href\" && /^(linearGradient|radialGradient)$/.test(node.localName) && /^#[\\w-]+$/.test(value)) {\n node.setAttribute(name, \"#\" + prefix + value.slice(1));\n continue;\n }\n if ([\"fill\", \"stroke\", \"stop-color\", \"clip-path\"].includes(name)) {\n const local = /^url\\(#([\\w-]+)\\)$/.exec(value);\n if (local) {\n node.setAttribute(name, \"url(#\" + prefix + local[1] + \")\");\n continue;\n }\n if (/^(?:#[\\da-f]{3,8}|[a-z]+)$/i.test(value)) continue;\n }\n node.removeAttribute(name);\n }\n\n if (node.hasAttribute(\"data-chart-series\")) {\n const sourceSeries = Number(node.getAttribute(\"data-chart-series\"));\n const series = seriesMap?.[sourceSeries] ?? sourceSeries;\n if (!Number.isInteger(series) || series < 0) return null;\n node.setAttribute(\"data-chart-series\", String(series));\n node.setAttribute(\"data-xlsx-chart-series-index\", String(series));\n const point = node.getAttribute(\"data-chart-point\");\n if (point != null) node.setAttribute(\"data-xlsx-chart-point-index\", point);\n const kind = node.getAttribute(\"data-chart-kind\");\n if (kind === \"bar\") node.setAttribute(\"data-xlsx-chart-selection-mode\", \"seriesFirst\");\n if (kind === \"legendEntry\") node.setAttribute(\"data-xlsx-chart-element-kind\", kind);\n const style = (node as SVGElement).style;\n style.cursor = \"pointer\";\n style.pointerEvents = \"all\";\n }\n }\n return svg;\n}\n\nfunction renderSharedChart(renderer: OfficeCharts, chart: XlsxChart, source: XlsxChartRenderSource, width: number, height: number, prefix: string) {\n try {\n const svg = renderer.renderChart(source.xml, {\n themeColors: source.themeColors,\n themeOverrideXml: source.themeOverrideXml,\n styleXml: source.styleXml,\n colorStyleXml: source.colorStyleXml,\n width, height,\n interactive: true,\n spreadsheetDefaults: true,\n fontFamily: chart.fontFamily,\n data: {\n title: chart.title,\n series: (source.sourceSeries ?? chart.series).map((series, ordinal) => {\n const chartType = source.seriesTypes?.[ordinal] ?? source.kind;\n const xy = chartType === \"scatter\" || chartType === \"bubble\";\n const indexedX = source.indexedXSeries?.[ordinal] === true;\n const hierarchy = series.raw?.chartExHierarchyCategories as string[][] | undefined;\n const colorStrings = series.raw?.chartExColorStrings as Array<string | null> | undefined;\n return {\n chartType,\n name: series.name,\n points: Array.from({ length: Math.max(series.values.length, indexedX ? 0 : series.categories.length, series.bubbleSizes?.length ?? 0) }, (_, index) => {\n const value = series.values[index];\n const label = series.categories[index];\n const bubble = series.bubbleSizes?.[index];\n return {\n index,\n value: xy ? undefined : colorStrings?.[index] ?? (value == null ? null : String(value)),\n x: indexedX ? String(index + 1) : xy && label != null ? String(label) : undefined,\n y: xy && value != null ? String(value) : undefined,\n bubbleSize: bubble == null ? undefined : String(bubble),\n categories: xy ? [] : hierarchy?.[index]?.length\n ? [...hierarchy[index]].reverse().map((label, level) => ({level, label}))\n : series.categories.length || series.categoriesRef?.formula\n ? [{ level: 0, label: label == null ? \"\" : String(label) }]\n : []\n };\n })\n };\n })\n }\n });\n return svg ? safeChartSvg(svg, prefix, source.sourceSeries?.map(series => chart.series.findIndex(candidate => candidate.id === series.id))) : null;\n } catch {\n return null;\n }\n}\n\nfunction selectionHandles(svg: Element, chartId: string, selected: XlsxChartElementSelection | null | undefined) {\n if (!selected || selected.chartId !== chartId || selected.kind === \"chart\") return null;\n return Array.from(svg.querySelectorAll(\"[data-chart-point]\")).map((node, index) => {\n if (Number(node.getAttribute(\"data-chart-series\")) !== selected.seriesIndex\n || (selected.kind === \"point\" && Number(node.getAttribute(\"data-chart-point\")) !== selected.pointIndex)) return null;\n if (node.localName === \"rect\") {\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"x\")), Number(node.getAttribute(\"y\")),\n Number(node.getAttribute(\"width\")), Number(node.getAttribute(\"height\")));\n }\n if (!node.hasAttribute(\"data-chart-x\") || !node.hasAttribute(\"data-chart-y\")) return null;\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"data-chart-x\")) - 4,\n Number(node.getAttribute(\"data-chart-y\")) - 4, 8, 8);\n });\n}\n\nexport function SharedChartSvg(props: ChartSvgProps & {\n source: XlsxChartRenderSource;\n renderer: OfficeCharts;\n fallback: React.ReactNode;\n}) {\n const { chart, rect, renderer, source, selectedChartElement, fallback } = props;\n const id = React.useId();\n const width = Math.max(1, rect.width);\n const height = Math.max(1, rect.height);\n const svg = React.useMemo(() => renderSharedChart(renderer, chart, source, width, height,\n \"oc-\" + id.replace(/[^\\w-]/g, \"\") + \"-\"), [renderer, chart, source, width, height, id]);\n const graphics = React.useRef<SVGGElement>(null);\n React.useLayoutEffect(() => {\n if (graphics.current && svg) graphics.current.replaceChildren(svg);\n }, [svg]);\n const handles = React.useMemo(() => svg && selectionHandles(svg, chart.id, selectedChartElement),\n [svg, chart.id, selectedChartElement]);\n const { handlePointerDown, handleDoubleClick } = useChartEvents(props);\n if (!svg) return <div data-xlsx-chart-fallback=\"unsupported\" style={{width:\"100%\",height:\"100%\"}}>{fallback}</div>;\n return (\n <svg\n aria-label={chart.title ?? chart.name ?? \"Chart\"}\n data-xlsx-chart-renderer=\"office-charts\"\n onDoubleClick={handleDoubleClick}\n onPointerDown={handlePointerDown}\n role=\"img\"\n style={{ display: \"block\", height: \"100%\", pointerEvents: \"auto\", width: \"100%\" }}\n viewBox={`0 0 ${width} ${height}`}\n >\n <g ref={graphics} />\n {handles}\n </svg>\n );\n}\n"]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ SPREADSHEET_FALLBACK_FONT
3
+ } from "./chunk-LY4EWUKF.js";
1
4
  import {
2
5
  renderSelectionRectHandles,
3
6
  useChartEvents
@@ -82,6 +85,15 @@ function safeChartSvg(markup, prefix, seriesMap) {
82
85
  for (const node of [svg, ...Array.from(svg.querySelectorAll("*"))]) {
83
86
  if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;
84
87
  for (const { name, value } of Array.from(node.attributes)) {
88
+ if (name === "font-family") {
89
+ const families = value.split(",").map((family) => family.trim());
90
+ const unquote = (family) => family.replace(/^["']|["']$/g, "");
91
+ if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(families[0] ?? "")) && !families.some((family) => unquote(family) === SPREADSHEET_FALLBACK_FONT)) {
92
+ families.splice(1, 0, JSON.stringify(SPREADSHEET_FALLBACK_FONT));
93
+ node.setAttribute(name, families.join(", "));
94
+ }
95
+ continue;
96
+ }
85
97
  if (plainAttributes.has(name) || name === "xmlns") continue;
86
98
  if (name === "id" && /^[\w-]+$/.test(value)) {
87
99
  node.setAttribute(name, prefix + value);
@@ -230,4 +242,4 @@ function SharedChartSvg(props) {
230
242
  export {
231
243
  SharedChartSvg
232
244
  };
233
- //# sourceMappingURL=shared-chart-5KTGZEZ5.js.map
245
+ //# sourceMappingURL=shared-chart-JV4MGKXX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared-chart.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type { OfficeCharts } from \"@extend-ai/rust-office-charts\";\nimport { renderSelectionRectHandles, useChartEvents } from \"./chart-interaction\";\nimport { SPREADSHEET_FALLBACK_FONT } from \"./spreadsheet-fonts\";\nimport type { ChartSvgProps } from \"./chart-renderer\";\nimport type { XlsxChart, XlsxChartRenderSource, XlsxChartElementSelection } from \"./types\";\n\nconst svgNamespace = \"http://www.w3.org/2000/svg\";\nconst allowedElements = new Set([\n \"svg\", \"g\", \"defs\", \"clipPath\", \"rect\", \"circle\", \"ellipse\", \"path\", \"line\", \"polyline\", \"polygon\",\n \"title\", \"desc\", \"text\", \"tspan\", \"linearGradient\", \"radialGradient\", \"stop\", \"pattern\"\n]);\nconst plainAttributes = new Set([\n \"x\", \"y\", \"width\", \"height\", \"x1\", \"x2\", \"y1\", \"y2\", \"cx\", \"cy\", \"fx\", \"fy\", \"r\", \"rx\", \"ry\", \"fr\",\n \"viewBox\", \"transform\", \"d\", \"points\", \"font-family\", \"font-weight\", \"font-size\", \"text-anchor\",\n \"dominant-baseline\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-width\", \"stroke-dasharray\",\n \"opacity\", \"fill-opacity\", \"stroke-opacity\", \"fill-rule\", \"shape-rendering\", \"offset\", \"stop-opacity\",\n \"gradientUnits\", \"gradientTransform\", \"patternUnits\", \"patternContentUnits\",\n \"pointer-events\", \"data-chart-kind\", \"data-chart-series\", \"data-chart-point\", \"data-chart-x\", \"data-chart-y\"\n]);\n\nfunction safeChartSvg(markup: string, prefix: string, seriesMap?: number[]) {\n const svg = new DOMParser().parseFromString(markup, \"image/svg+xml\").documentElement;\n if (svg.localName !== \"svg\" || svg.namespaceURI !== svgNamespace) return null;\n\n // Only local paint servers and inert geometry can enter the document.\n for (const node of [svg, ...Array.from(svg.querySelectorAll(\"*\"))]) {\n if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;\n for (const { name, value } of Array.from(node.attributes)) {\n if (name === \"font-family\") {\n const families = value.split(\",\").map((family) => family.trim());\n const unquote = (family: string) => family.replace(/^[\"']|[\"']$/g, \"\");\n if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(families[0] ?? \"\"))\n && !families.some((family) => unquote(family) === SPREADSHEET_FALLBACK_FONT)) {\n families.splice(1, 0, JSON.stringify(SPREADSHEET_FALLBACK_FONT));\n node.setAttribute(name, families.join(\", \"));\n }\n continue;\n }\n if (plainAttributes.has(name) || name === \"xmlns\") continue;\n if (name === \"id\" && /^[\\w-]+$/.test(value)) {\n node.setAttribute(name, prefix + value);\n continue;\n }\n if (name === \"href\" && /^(linearGradient|radialGradient)$/.test(node.localName) && /^#[\\w-]+$/.test(value)) {\n node.setAttribute(name, \"#\" + prefix + value.slice(1));\n continue;\n }\n if ([\"fill\", \"stroke\", \"stop-color\", \"clip-path\"].includes(name)) {\n const local = /^url\\(#([\\w-]+)\\)$/.exec(value);\n if (local) {\n node.setAttribute(name, \"url(#\" + prefix + local[1] + \")\");\n continue;\n }\n if (/^(?:#[\\da-f]{3,8}|[a-z]+)$/i.test(value)) continue;\n }\n node.removeAttribute(name);\n }\n\n if (node.hasAttribute(\"data-chart-series\")) {\n const sourceSeries = Number(node.getAttribute(\"data-chart-series\"));\n const series = seriesMap?.[sourceSeries] ?? sourceSeries;\n if (!Number.isInteger(series) || series < 0) return null;\n node.setAttribute(\"data-chart-series\", String(series));\n node.setAttribute(\"data-xlsx-chart-series-index\", String(series));\n const point = node.getAttribute(\"data-chart-point\");\n if (point != null) node.setAttribute(\"data-xlsx-chart-point-index\", point);\n const kind = node.getAttribute(\"data-chart-kind\");\n if (kind === \"bar\") node.setAttribute(\"data-xlsx-chart-selection-mode\", \"seriesFirst\");\n if (kind === \"legendEntry\") node.setAttribute(\"data-xlsx-chart-element-kind\", kind);\n const style = (node as SVGElement).style;\n style.cursor = \"pointer\";\n style.pointerEvents = \"all\";\n }\n }\n return svg;\n}\n\nfunction renderSharedChart(renderer: OfficeCharts, chart: XlsxChart, source: XlsxChartRenderSource, width: number, height: number, prefix: string) {\n try {\n const svg = renderer.renderChart(source.xml, {\n themeColors: source.themeColors,\n themeOverrideXml: source.themeOverrideXml,\n styleXml: source.styleXml,\n colorStyleXml: source.colorStyleXml,\n width, height,\n interactive: true,\n spreadsheetDefaults: true,\n fontFamily: chart.fontFamily,\n data: {\n title: chart.title,\n series: (source.sourceSeries ?? chart.series).map((series, ordinal) => {\n const chartType = source.seriesTypes?.[ordinal] ?? source.kind;\n const xy = chartType === \"scatter\" || chartType === \"bubble\";\n const indexedX = source.indexedXSeries?.[ordinal] === true;\n const hierarchy = series.raw?.chartExHierarchyCategories as string[][] | undefined;\n const colorStrings = series.raw?.chartExColorStrings as Array<string | null> | undefined;\n return {\n chartType,\n name: series.name,\n points: Array.from({ length: Math.max(series.values.length, indexedX ? 0 : series.categories.length, series.bubbleSizes?.length ?? 0) }, (_, index) => {\n const value = series.values[index];\n const label = series.categories[index];\n const bubble = series.bubbleSizes?.[index];\n return {\n index,\n value: xy ? undefined : colorStrings?.[index] ?? (value == null ? null : String(value)),\n x: indexedX ? String(index + 1) : xy && label != null ? String(label) : undefined,\n y: xy && value != null ? String(value) : undefined,\n bubbleSize: bubble == null ? undefined : String(bubble),\n categories: xy ? [] : hierarchy?.[index]?.length\n ? [...hierarchy[index]].reverse().map((label, level) => ({level, label}))\n : series.categories.length || series.categoriesRef?.formula\n ? [{ level: 0, label: label == null ? \"\" : String(label) }]\n : []\n };\n })\n };\n })\n }\n });\n return svg ? safeChartSvg(svg, prefix, source.sourceSeries?.map(series => chart.series.findIndex(candidate => candidate.id === series.id))) : null;\n } catch {\n return null;\n }\n}\n\nfunction selectionHandles(svg: Element, chartId: string, selected: XlsxChartElementSelection | null | undefined) {\n if (!selected || selected.chartId !== chartId || selected.kind === \"chart\") return null;\n return Array.from(svg.querySelectorAll(\"[data-chart-point]\")).map((node, index) => {\n if (Number(node.getAttribute(\"data-chart-series\")) !== selected.seriesIndex\n || (selected.kind === \"point\" && Number(node.getAttribute(\"data-chart-point\")) !== selected.pointIndex)) return null;\n if (node.localName === \"rect\") {\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"x\")), Number(node.getAttribute(\"y\")),\n Number(node.getAttribute(\"width\")), Number(node.getAttribute(\"height\")));\n }\n if (!node.hasAttribute(\"data-chart-x\") || !node.hasAttribute(\"data-chart-y\")) return null;\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"data-chart-x\")) - 4,\n Number(node.getAttribute(\"data-chart-y\")) - 4, 8, 8);\n });\n}\n\nexport function SharedChartSvg(props: ChartSvgProps & {\n source: XlsxChartRenderSource;\n renderer: OfficeCharts;\n fallback: React.ReactNode;\n}) {\n const { chart, rect, renderer, source, selectedChartElement, fallback } = props;\n const id = React.useId();\n const width = Math.max(1, rect.width);\n const height = Math.max(1, rect.height);\n const svg = React.useMemo(() => renderSharedChart(renderer, chart, source, width, height,\n \"oc-\" + id.replace(/[^\\w-]/g, \"\") + \"-\"), [renderer, chart, source, width, height, id]);\n const graphics = React.useRef<SVGGElement>(null);\n React.useLayoutEffect(() => {\n if (graphics.current && svg) graphics.current.replaceChildren(svg);\n }, [svg]);\n const handles = React.useMemo(() => svg && selectionHandles(svg, chart.id, selectedChartElement),\n [svg, chart.id, selectedChartElement]);\n const { handlePointerDown, handleDoubleClick } = useChartEvents(props);\n if (!svg) return <div data-xlsx-chart-fallback=\"unsupported\" style={{width:\"100%\",height:\"100%\"}}>{fallback}</div>;\n return (\n <svg\n aria-label={chart.title ?? chart.name ?? \"Chart\"}\n data-xlsx-chart-renderer=\"office-charts\"\n onDoubleClick={handleDoubleClick}\n onPointerDown={handlePointerDown}\n role=\"img\"\n style={{ display: \"block\", height: \"100%\", pointerEvents: \"auto\", width: \"100%\" }}\n viewBox={`0 0 ${width} ${height}`}\n >\n <g ref={graphics} />\n {handles}\n </svg>\n );\n}\n"],"mappings":"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","names":["label"]}
@@ -1,5 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
+ var _chunkZAUUKER4cjs = require('./chunk-ZAUUKER4.cjs');
4
+
5
+
3
6
 
4
7
  var _chunkIDNIGBUMcjs = require('./chunk-IDNIGBUM.cjs');
5
8
  require('./chunk-AD4CGQN2.cjs');
@@ -83,6 +86,15 @@ function safeChartSvg(markup, prefix, seriesMap) {
83
86
  for (const node of [svg, ...Array.from(svg.querySelectorAll("*"))]) {
84
87
  if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;
85
88
  for (const { name, value } of Array.from(node.attributes)) {
89
+ if (name === "font-family") {
90
+ const families = value.split(",").map((family) => family.trim());
91
+ const unquote = (family) => family.replace(/^["']|["']$/g, "");
92
+ if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(_nullishCoalesce(families[0], () => ( "")))) && !families.some((family) => unquote(family) === _chunkZAUUKER4cjs.SPREADSHEET_FALLBACK_FONT)) {
93
+ families.splice(1, 0, JSON.stringify(_chunkZAUUKER4cjs.SPREADSHEET_FALLBACK_FONT));
94
+ node.setAttribute(name, families.join(", "));
95
+ }
96
+ continue;
97
+ }
86
98
  if (plainAttributes.has(name) || name === "xmlns") continue;
87
99
  if (name === "id" && /^[\w-]+$/.test(value)) {
88
100
  node.setAttribute(name, prefix + value);
@@ -231,4 +243,4 @@ function SharedChartSvg(props) {
231
243
 
232
244
 
233
245
  exports.SharedChartSvg = SharedChartSvg;
234
- //# sourceMappingURL=shared-chart-XAV7VA45.cjs.map
246
+ //# sourceMappingURL=shared-chart-OUC7EHFC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/shared-chart-OUC7EHFC.cjs","../src/shared-chart.tsx"],"names":["label"],"mappings":"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","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/shared-chart-OUC7EHFC.cjs","sourcesContent":[null,"import * as React from \"react\";\nimport type { OfficeCharts } from \"@extend-ai/rust-office-charts\";\nimport { renderSelectionRectHandles, useChartEvents } from \"./chart-interaction\";\nimport { SPREADSHEET_FALLBACK_FONT } from \"./spreadsheet-fonts\";\nimport type { ChartSvgProps } from \"./chart-renderer\";\nimport type { XlsxChart, XlsxChartRenderSource, XlsxChartElementSelection } from \"./types\";\n\nconst svgNamespace = \"http://www.w3.org/2000/svg\";\nconst allowedElements = new Set([\n \"svg\", \"g\", \"defs\", \"clipPath\", \"rect\", \"circle\", \"ellipse\", \"path\", \"line\", \"polyline\", \"polygon\",\n \"title\", \"desc\", \"text\", \"tspan\", \"linearGradient\", \"radialGradient\", \"stop\", \"pattern\"\n]);\nconst plainAttributes = new Set([\n \"x\", \"y\", \"width\", \"height\", \"x1\", \"x2\", \"y1\", \"y2\", \"cx\", \"cy\", \"fx\", \"fy\", \"r\", \"rx\", \"ry\", \"fr\",\n \"viewBox\", \"transform\", \"d\", \"points\", \"font-family\", \"font-weight\", \"font-size\", \"text-anchor\",\n \"dominant-baseline\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-width\", \"stroke-dasharray\",\n \"opacity\", \"fill-opacity\", \"stroke-opacity\", \"fill-rule\", \"shape-rendering\", \"offset\", \"stop-opacity\",\n \"gradientUnits\", \"gradientTransform\", \"patternUnits\", \"patternContentUnits\",\n \"pointer-events\", \"data-chart-kind\", \"data-chart-series\", \"data-chart-point\", \"data-chart-x\", \"data-chart-y\"\n]);\n\nfunction safeChartSvg(markup: string, prefix: string, seriesMap?: number[]) {\n const svg = new DOMParser().parseFromString(markup, \"image/svg+xml\").documentElement;\n if (svg.localName !== \"svg\" || svg.namespaceURI !== svgNamespace) return null;\n\n // Only local paint servers and inert geometry can enter the document.\n for (const node of [svg, ...Array.from(svg.querySelectorAll(\"*\"))]) {\n if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;\n for (const { name, value } of Array.from(node.attributes)) {\n if (name === \"font-family\") {\n const families = value.split(\",\").map((family) => family.trim());\n const unquote = (family: string) => family.replace(/^[\"']|[\"']$/g, \"\");\n if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(families[0] ?? \"\"))\n && !families.some((family) => unquote(family) === SPREADSHEET_FALLBACK_FONT)) {\n families.splice(1, 0, JSON.stringify(SPREADSHEET_FALLBACK_FONT));\n node.setAttribute(name, families.join(\", \"));\n }\n continue;\n }\n if (plainAttributes.has(name) || name === \"xmlns\") continue;\n if (name === \"id\" && /^[\\w-]+$/.test(value)) {\n node.setAttribute(name, prefix + value);\n continue;\n }\n if (name === \"href\" && /^(linearGradient|radialGradient)$/.test(node.localName) && /^#[\\w-]+$/.test(value)) {\n node.setAttribute(name, \"#\" + prefix + value.slice(1));\n continue;\n }\n if ([\"fill\", \"stroke\", \"stop-color\", \"clip-path\"].includes(name)) {\n const local = /^url\\(#([\\w-]+)\\)$/.exec(value);\n if (local) {\n node.setAttribute(name, \"url(#\" + prefix + local[1] + \")\");\n continue;\n }\n if (/^(?:#[\\da-f]{3,8}|[a-z]+)$/i.test(value)) continue;\n }\n node.removeAttribute(name);\n }\n\n if (node.hasAttribute(\"data-chart-series\")) {\n const sourceSeries = Number(node.getAttribute(\"data-chart-series\"));\n const series = seriesMap?.[sourceSeries] ?? sourceSeries;\n if (!Number.isInteger(series) || series < 0) return null;\n node.setAttribute(\"data-chart-series\", String(series));\n node.setAttribute(\"data-xlsx-chart-series-index\", String(series));\n const point = node.getAttribute(\"data-chart-point\");\n if (point != null) node.setAttribute(\"data-xlsx-chart-point-index\", point);\n const kind = node.getAttribute(\"data-chart-kind\");\n if (kind === \"bar\") node.setAttribute(\"data-xlsx-chart-selection-mode\", \"seriesFirst\");\n if (kind === \"legendEntry\") node.setAttribute(\"data-xlsx-chart-element-kind\", kind);\n const style = (node as SVGElement).style;\n style.cursor = \"pointer\";\n style.pointerEvents = \"all\";\n }\n }\n return svg;\n}\n\nfunction renderSharedChart(renderer: OfficeCharts, chart: XlsxChart, source: XlsxChartRenderSource, width: number, height: number, prefix: string) {\n try {\n const svg = renderer.renderChart(source.xml, {\n themeColors: source.themeColors,\n themeOverrideXml: source.themeOverrideXml,\n styleXml: source.styleXml,\n colorStyleXml: source.colorStyleXml,\n width, height,\n interactive: true,\n spreadsheetDefaults: true,\n fontFamily: chart.fontFamily,\n data: {\n title: chart.title,\n series: (source.sourceSeries ?? chart.series).map((series, ordinal) => {\n const chartType = source.seriesTypes?.[ordinal] ?? source.kind;\n const xy = chartType === \"scatter\" || chartType === \"bubble\";\n const indexedX = source.indexedXSeries?.[ordinal] === true;\n const hierarchy = series.raw?.chartExHierarchyCategories as string[][] | undefined;\n const colorStrings = series.raw?.chartExColorStrings as Array<string | null> | undefined;\n return {\n chartType,\n name: series.name,\n points: Array.from({ length: Math.max(series.values.length, indexedX ? 0 : series.categories.length, series.bubbleSizes?.length ?? 0) }, (_, index) => {\n const value = series.values[index];\n const label = series.categories[index];\n const bubble = series.bubbleSizes?.[index];\n return {\n index,\n value: xy ? undefined : colorStrings?.[index] ?? (value == null ? null : String(value)),\n x: indexedX ? String(index + 1) : xy && label != null ? String(label) : undefined,\n y: xy && value != null ? String(value) : undefined,\n bubbleSize: bubble == null ? undefined : String(bubble),\n categories: xy ? [] : hierarchy?.[index]?.length\n ? [...hierarchy[index]].reverse().map((label, level) => ({level, label}))\n : series.categories.length || series.categoriesRef?.formula\n ? [{ level: 0, label: label == null ? \"\" : String(label) }]\n : []\n };\n })\n };\n })\n }\n });\n return svg ? safeChartSvg(svg, prefix, source.sourceSeries?.map(series => chart.series.findIndex(candidate => candidate.id === series.id))) : null;\n } catch {\n return null;\n }\n}\n\nfunction selectionHandles(svg: Element, chartId: string, selected: XlsxChartElementSelection | null | undefined) {\n if (!selected || selected.chartId !== chartId || selected.kind === \"chart\") return null;\n return Array.from(svg.querySelectorAll(\"[data-chart-point]\")).map((node, index) => {\n if (Number(node.getAttribute(\"data-chart-series\")) !== selected.seriesIndex\n || (selected.kind === \"point\" && Number(node.getAttribute(\"data-chart-point\")) !== selected.pointIndex)) return null;\n if (node.localName === \"rect\") {\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"x\")), Number(node.getAttribute(\"y\")),\n Number(node.getAttribute(\"width\")), Number(node.getAttribute(\"height\")));\n }\n if (!node.hasAttribute(\"data-chart-x\") || !node.hasAttribute(\"data-chart-y\")) return null;\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"data-chart-x\")) - 4,\n Number(node.getAttribute(\"data-chart-y\")) - 4, 8, 8);\n });\n}\n\nexport function SharedChartSvg(props: ChartSvgProps & {\n source: XlsxChartRenderSource;\n renderer: OfficeCharts;\n fallback: React.ReactNode;\n}) {\n const { chart, rect, renderer, source, selectedChartElement, fallback } = props;\n const id = React.useId();\n const width = Math.max(1, rect.width);\n const height = Math.max(1, rect.height);\n const svg = React.useMemo(() => renderSharedChart(renderer, chart, source, width, height,\n \"oc-\" + id.replace(/[^\\w-]/g, \"\") + \"-\"), [renderer, chart, source, width, height, id]);\n const graphics = React.useRef<SVGGElement>(null);\n React.useLayoutEffect(() => {\n if (graphics.current && svg) graphics.current.replaceChildren(svg);\n }, [svg]);\n const handles = React.useMemo(() => svg && selectionHandles(svg, chart.id, selectedChartElement),\n [svg, chart.id, selectedChartElement]);\n const { handlePointerDown, handleDoubleClick } = useChartEvents(props);\n if (!svg) return <div data-xlsx-chart-fallback=\"unsupported\" style={{width:\"100%\",height:\"100%\"}}>{fallback}</div>;\n return (\n <svg\n aria-label={chart.title ?? chart.name ?? \"Chart\"}\n data-xlsx-chart-renderer=\"office-charts\"\n onDoubleClick={handleDoubleClick}\n onPointerDown={handlePointerDown}\n role=\"img\"\n style={{ display: \"block\", height: \"100%\", pointerEvents: \"auto\", width: \"100%\" }}\n viewBox={`0 0 ${width} ${height}`}\n >\n <g ref={graphics} />\n {handles}\n </svg>\n );\n}\n"]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ SPREADSHEET_FALLBACK_FONT
3
+ } from "./chunk-LY4EWUKF.js";
1
4
  import {
2
5
  renderSelectionRectHandles,
3
6
  useChartEvents
@@ -87,6 +90,15 @@ function safeChartSvg(markup, prefix, seriesMap) {
87
90
  for (const node of [svg, ...Array.from(svg.querySelectorAll("*"))]) {
88
91
  if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;
89
92
  for (const { name, value } of Array.from(node.attributes)) {
93
+ if (name === "font-family") {
94
+ const families = value.split(",").map((family) => family.trim());
95
+ const unquote = (family) => family.replace(/^["']|["']$/g, "");
96
+ if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(families[0] ?? "")) && !families.some((family) => unquote(family) === SPREADSHEET_FALLBACK_FONT)) {
97
+ families.splice(1, 0, JSON.stringify(SPREADSHEET_FALLBACK_FONT));
98
+ node.setAttribute(name, families.join(", "));
99
+ }
100
+ continue;
101
+ }
90
102
  if (plainAttributes.has(name) || name === "xmlns") continue;
91
103
  if (name === "id" && /^[\w-]+$/.test(value)) {
92
104
  node.setAttribute(name, prefix + value);
@@ -235,4 +247,4 @@ function SharedChartSvg(props) {
235
247
  export {
236
248
  SharedChartSvg
237
249
  };
238
- //# sourceMappingURL=shared-chart-EGN5JTKT.js.map
250
+ //# sourceMappingURL=shared-chart-PY47ED4I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared-chart.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type { OfficeCharts } from \"@extend-ai/rust-office-charts\";\nimport { renderSelectionRectHandles, useChartEvents } from \"./chart-interaction\";\nimport { SPREADSHEET_FALLBACK_FONT } from \"./spreadsheet-fonts\";\nimport type { ChartSvgProps } from \"./chart-renderer\";\nimport type { XlsxChart, XlsxChartRenderSource, XlsxChartElementSelection } from \"./types\";\n\nconst svgNamespace = \"http://www.w3.org/2000/svg\";\nconst allowedElements = new Set([\n \"svg\", \"g\", \"defs\", \"clipPath\", \"rect\", \"circle\", \"ellipse\", \"path\", \"line\", \"polyline\", \"polygon\",\n \"title\", \"desc\", \"text\", \"tspan\", \"linearGradient\", \"radialGradient\", \"stop\", \"pattern\"\n]);\nconst plainAttributes = new Set([\n \"x\", \"y\", \"width\", \"height\", \"x1\", \"x2\", \"y1\", \"y2\", \"cx\", \"cy\", \"fx\", \"fy\", \"r\", \"rx\", \"ry\", \"fr\",\n \"viewBox\", \"transform\", \"d\", \"points\", \"font-family\", \"font-weight\", \"font-size\", \"text-anchor\",\n \"dominant-baseline\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-width\", \"stroke-dasharray\",\n \"opacity\", \"fill-opacity\", \"stroke-opacity\", \"fill-rule\", \"shape-rendering\", \"offset\", \"stop-opacity\",\n \"gradientUnits\", \"gradientTransform\", \"patternUnits\", \"patternContentUnits\",\n \"pointer-events\", \"data-chart-kind\", \"data-chart-series\", \"data-chart-point\", \"data-chart-x\", \"data-chart-y\"\n]);\n\nfunction safeChartSvg(markup: string, prefix: string, seriesMap?: number[]) {\n const svg = new DOMParser().parseFromString(markup, \"image/svg+xml\").documentElement;\n if (svg.localName !== \"svg\" || svg.namespaceURI !== svgNamespace) return null;\n\n // Only local paint servers and inert geometry can enter the document.\n for (const node of [svg, ...Array.from(svg.querySelectorAll(\"*\"))]) {\n if (node.namespaceURI !== svgNamespace || !allowedElements.has(node.localName)) return null;\n for (const { name, value } of Array.from(node.attributes)) {\n if (name === \"font-family\") {\n const families = value.split(\",\").map((family) => family.trim());\n const unquote = (family: string) => family.replace(/^[\"']|[\"']$/g, \"\");\n if (/^(Calibri|Carlito|Aptos(?: Narrow)?)$/i.test(unquote(families[0] ?? \"\"))\n && !families.some((family) => unquote(family) === SPREADSHEET_FALLBACK_FONT)) {\n families.splice(1, 0, JSON.stringify(SPREADSHEET_FALLBACK_FONT));\n node.setAttribute(name, families.join(\", \"));\n }\n continue;\n }\n if (plainAttributes.has(name) || name === \"xmlns\") continue;\n if (name === \"id\" && /^[\\w-]+$/.test(value)) {\n node.setAttribute(name, prefix + value);\n continue;\n }\n if (name === \"href\" && /^(linearGradient|radialGradient)$/.test(node.localName) && /^#[\\w-]+$/.test(value)) {\n node.setAttribute(name, \"#\" + prefix + value.slice(1));\n continue;\n }\n if ([\"fill\", \"stroke\", \"stop-color\", \"clip-path\"].includes(name)) {\n const local = /^url\\(#([\\w-]+)\\)$/.exec(value);\n if (local) {\n node.setAttribute(name, \"url(#\" + prefix + local[1] + \")\");\n continue;\n }\n if (/^(?:#[\\da-f]{3,8}|[a-z]+)$/i.test(value)) continue;\n }\n node.removeAttribute(name);\n }\n\n if (node.hasAttribute(\"data-chart-series\")) {\n const sourceSeries = Number(node.getAttribute(\"data-chart-series\"));\n const series = seriesMap?.[sourceSeries] ?? sourceSeries;\n if (!Number.isInteger(series) || series < 0) return null;\n node.setAttribute(\"data-chart-series\", String(series));\n node.setAttribute(\"data-xlsx-chart-series-index\", String(series));\n const point = node.getAttribute(\"data-chart-point\");\n if (point != null) node.setAttribute(\"data-xlsx-chart-point-index\", point);\n const kind = node.getAttribute(\"data-chart-kind\");\n if (kind === \"bar\") node.setAttribute(\"data-xlsx-chart-selection-mode\", \"seriesFirst\");\n if (kind === \"legendEntry\") node.setAttribute(\"data-xlsx-chart-element-kind\", kind);\n const style = (node as SVGElement).style;\n style.cursor = \"pointer\";\n style.pointerEvents = \"all\";\n }\n }\n return svg;\n}\n\nfunction renderSharedChart(renderer: OfficeCharts, chart: XlsxChart, source: XlsxChartRenderSource, width: number, height: number, prefix: string) {\n try {\n const svg = renderer.renderChart(source.xml, {\n themeColors: source.themeColors,\n themeOverrideXml: source.themeOverrideXml,\n styleXml: source.styleXml,\n colorStyleXml: source.colorStyleXml,\n width, height,\n interactive: true,\n spreadsheetDefaults: true,\n fontFamily: chart.fontFamily,\n data: {\n title: chart.title,\n series: (source.sourceSeries ?? chart.series).map((series, ordinal) => {\n const chartType = source.seriesTypes?.[ordinal] ?? source.kind;\n const xy = chartType === \"scatter\" || chartType === \"bubble\";\n const indexedX = source.indexedXSeries?.[ordinal] === true;\n const hierarchy = series.raw?.chartExHierarchyCategories as string[][] | undefined;\n const colorStrings = series.raw?.chartExColorStrings as Array<string | null> | undefined;\n return {\n chartType,\n name: series.name,\n points: Array.from({ length: Math.max(series.values.length, indexedX ? 0 : series.categories.length, series.bubbleSizes?.length ?? 0) }, (_, index) => {\n const value = series.values[index];\n const label = series.categories[index];\n const bubble = series.bubbleSizes?.[index];\n return {\n index,\n value: xy ? undefined : colorStrings?.[index] ?? (value == null ? null : String(value)),\n x: indexedX ? String(index + 1) : xy && label != null ? String(label) : undefined,\n y: xy && value != null ? String(value) : undefined,\n bubbleSize: bubble == null ? undefined : String(bubble),\n categories: xy ? [] : hierarchy?.[index]?.length\n ? [...hierarchy[index]].reverse().map((label, level) => ({level, label}))\n : series.categories.length || series.categoriesRef?.formula\n ? [{ level: 0, label: label == null ? \"\" : String(label) }]\n : []\n };\n })\n };\n })\n }\n });\n return svg ? safeChartSvg(svg, prefix, source.sourceSeries?.map(series => chart.series.findIndex(candidate => candidate.id === series.id))) : null;\n } catch {\n return null;\n }\n}\n\nfunction selectionHandles(svg: Element, chartId: string, selected: XlsxChartElementSelection | null | undefined) {\n if (!selected || selected.chartId !== chartId || selected.kind === \"chart\") return null;\n return Array.from(svg.querySelectorAll(\"[data-chart-point]\")).map((node, index) => {\n if (Number(node.getAttribute(\"data-chart-series\")) !== selected.seriesIndex\n || (selected.kind === \"point\" && Number(node.getAttribute(\"data-chart-point\")) !== selected.pointIndex)) return null;\n if (node.localName === \"rect\") {\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"x\")), Number(node.getAttribute(\"y\")),\n Number(node.getAttribute(\"width\")), Number(node.getAttribute(\"height\")));\n }\n if (!node.hasAttribute(\"data-chart-x\") || !node.hasAttribute(\"data-chart-y\")) return null;\n return renderSelectionRectHandles(String(index), Number(node.getAttribute(\"data-chart-x\")) - 4,\n Number(node.getAttribute(\"data-chart-y\")) - 4, 8, 8);\n });\n}\n\nexport function SharedChartSvg(props: ChartSvgProps & {\n source: XlsxChartRenderSource;\n renderer: OfficeCharts;\n fallback: React.ReactNode;\n}) {\n const { chart, rect, renderer, source, selectedChartElement, fallback } = props;\n const id = React.useId();\n const width = Math.max(1, rect.width);\n const height = Math.max(1, rect.height);\n const svg = React.useMemo(() => renderSharedChart(renderer, chart, source, width, height,\n \"oc-\" + id.replace(/[^\\w-]/g, \"\") + \"-\"), [renderer, chart, source, width, height, id]);\n const graphics = React.useRef<SVGGElement>(null);\n React.useLayoutEffect(() => {\n if (graphics.current && svg) graphics.current.replaceChildren(svg);\n }, [svg]);\n const handles = React.useMemo(() => svg && selectionHandles(svg, chart.id, selectedChartElement),\n [svg, chart.id, selectedChartElement]);\n const { handlePointerDown, handleDoubleClick } = useChartEvents(props);\n if (!svg) return <div data-xlsx-chart-fallback=\"unsupported\" style={{width:\"100%\",height:\"100%\"}}>{fallback}</div>;\n return (\n <svg\n aria-label={chart.title ?? chart.name ?? \"Chart\"}\n data-xlsx-chart-renderer=\"office-charts\"\n onDoubleClick={handleDoubleClick}\n onPointerDown={handlePointerDown}\n role=\"img\"\n style={{ display: \"block\", height: \"100%\", pointerEvents: \"auto\", width: \"100%\" }}\n viewBox={`0 0 ${width} ${height}`}\n >\n <g ref={graphics} />\n {handles}\n </svg>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAM,eAAe;AACrB,IAAM,kBAAkB,oBAAI,IAAI;AAAA,EAC9B;AAAA,EAAO;AAAA,EAAK;AAAA,EAAQ;AAAA,EAAY;AAAA,EAAQ;AAAA,EAAU;AAAA,EAAW;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAY;AAAA,EACzF;AAAA,EAAS;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAkB;AAAA,EAAkB;AAAA,EAAQ;AAChF,CAAC;AACD,IAAM,kBAAkB,oBAAI,IAAI;AAAA,EAC9B;AAAA,EAAK;AAAA,EAAK;AAAA,EAAS;AAAA,EAAU;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAK;AAAA,EAAM;AAAA,EAAM;AAAA,EAC9F;AAAA,EAAW;AAAA,EAAa;AAAA,EAAK;AAAA,EAAU;AAAA,EAAe;AAAA,EAAe;AAAA,EAAa;AAAA,EAClF;AAAA,EAAqB;AAAA,EAAkB;AAAA,EAAmB;AAAA,EAAgB;AAAA,EAC1E;AAAA,EAAW;AAAA,EAAgB;AAAA,EAAkB;AAAA,EAAa;AAAA,EAAmB;AAAA,EAAU;AAAA,EACvF;AAAA,EAAiB;AAAA,EAAqB;AAAA,EAAgB;AAAA,EACtD;AAAA,EAAkB;AAAA,EAAmB;AAAA,EAAqB;AAAA,EAAoB;AAAA,EAAgB;AAChG,CAAC;AAED,SAAS,aAAa,QAAgB,QAAgB,WAAsB;AAC1E,QAAM,MAAM,IAAI,UAAU,EAAE,gBAAgB,QAAQ,eAAe,EAAE;AACrE,MAAI,IAAI,cAAc,SAAS,IAAI,iBAAiB,aAAc,QAAO;AAGzE,aAAW,QAAQ,CAAC,KAAK,GAAG,MAAM,KAAK,IAAI,iBAAiB,GAAG,CAAC,CAAC,GAAG;AAClE,QAAI,KAAK,iBAAiB,gBAAgB,CAAC,gBAAgB,IAAI,KAAK,SAAS,EAAG,QAAO;AACvF,eAAW,EAAE,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,UAAU,GAAG;AACzD,UAAI,SAAS,eAAe;AAC1B,cAAM,WAAW,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC/D,cAAM,UAAU,CAAC,WAAmB,OAAO,QAAQ,gBAAgB,EAAE;AACrE,YAAI,yCAAyC,KAAK,QAAQ,SAAS,CAAC,KAAK,EAAE,CAAC,KACvE,CAAC,SAAS,KAAK,CAAC,WAAW,QAAQ,MAAM,MAAM,yBAAyB,GAAG;AAC9E,mBAAS,OAAO,GAAG,GAAG,KAAK,UAAU,yBAAyB,CAAC;AAC/D,eAAK,aAAa,MAAM,SAAS,KAAK,IAAI,CAAC;AAAA,QAC7C;AACA;AAAA,MACF;AACA,UAAI,gBAAgB,IAAI,IAAI,KAAK,SAAS,QAAS;AACnD,UAAI,SAAS,QAAQ,WAAW,KAAK,KAAK,GAAG;AAC3C,aAAK,aAAa,MAAM,SAAS,KAAK;AACtC;AAAA,MACF;AACA,UAAI,SAAS,UAAU,oCAAoC,KAAK,KAAK,SAAS,KAAK,YAAY,KAAK,KAAK,GAAG;AAC1G,aAAK,aAAa,MAAM,MAAM,SAAS,MAAM,MAAM,CAAC,CAAC;AACrD;AAAA,MACF;AACA,UAAI,CAAC,QAAQ,UAAU,cAAc,WAAW,EAAE,SAAS,IAAI,GAAG;AAChE,cAAM,QAAQ,qBAAqB,KAAK,KAAK;AAC7C,YAAI,OAAO;AACT,eAAK,aAAa,MAAM,UAAU,SAAS,MAAM,CAAC,IAAI,GAAG;AACzD;AAAA,QACF;AACA,YAAI,8BAA8B,KAAK,KAAK,EAAG;AAAA,MACjD;AACA,WAAK,gBAAgB,IAAI;AAAA,IAC3B;AAEA,QAAI,KAAK,aAAa,mBAAmB,GAAG;AAC1C,YAAM,eAAe,OAAO,KAAK,aAAa,mBAAmB,CAAC;AAClE,YAAM,SAAS,YAAY,YAAY,KAAK;AAC5C,UAAI,CAAC,OAAO,UAAU,MAAM,KAAK,SAAS,EAAG,QAAO;AACpD,WAAK,aAAa,qBAAqB,OAAO,MAAM,CAAC;AACrD,WAAK,aAAa,gCAAgC,OAAO,MAAM,CAAC;AAChE,YAAM,QAAQ,KAAK,aAAa,kBAAkB;AAClD,UAAI,SAAS,KAAM,MAAK,aAAa,+BAA+B,KAAK;AACzE,YAAM,OAAO,KAAK,aAAa,iBAAiB;AAChD,UAAI,SAAS,MAAO,MAAK,aAAa,kCAAkC,aAAa;AACrF,UAAI,SAAS,cAAe,MAAK,aAAa,gCAAgC,IAAI;AAClF,YAAM,QAAS,KAAoB;AACnC,YAAM,SAAS;AACf,YAAM,gBAAgB;AAAA,IACxB;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,kBAAkB,UAAwB,OAAkB,QAA+B,OAAe,QAAgB,QAAgB;AACjJ,MAAI;AACF,UAAM,MAAM,SAAS,YAAY,OAAO,KAAK;AAAA,MAC3C,aAAa,OAAO;AAAA,MACpB,kBAAkB,OAAO;AAAA,MACzB,UAAU,OAAO;AAAA,MACjB,eAAe,OAAO;AAAA,MACtB;AAAA,MAAO;AAAA,MACP,aAAa;AAAA,MACb,qBAAqB;AAAA,MACrB,YAAY,MAAM;AAAA,MAClB,MAAM;AAAA,QACJ,OAAO,MAAM;AAAA,QACb,SAAS,OAAO,gBAAgB,MAAM,QAAQ,IAAI,CAAC,QAAQ,YAAY;AACrE,gBAAM,YAAY,OAAO,cAAc,OAAO,KAAK,OAAO;AAC1D,gBAAM,KAAK,cAAc,aAAa,cAAc;AACpD,gBAAM,WAAW,OAAO,iBAAiB,OAAO,MAAM;AACtD,gBAAM,YAAY,OAAO,KAAK;AAC9B,gBAAM,eAAe,OAAO,KAAK;AACjC,iBAAO;AAAA,YACL;AAAA,YACA,MAAM,OAAO;AAAA,YACb,QAAQ,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,OAAO,OAAO,QAAQ,WAAW,IAAI,OAAO,WAAW,QAAQ,OAAO,aAAa,UAAU,CAAC,EAAE,GAAG,CAACA,IAAG,UAAU;AACrJ,oBAAM,QAAQ,OAAO,OAAO,KAAK;AACjC,oBAAM,QAAQ,OAAO,WAAW,KAAK;AACrC,oBAAM,SAAS,OAAO,cAAc,KAAK;AACzC,qBAAO;AAAA,gBACL;AAAA,gBACA,OAAO,KAAK,SAAY,eAAe,KAAK,MAAM,SAAS,OAAO,OAAO,OAAO,KAAK;AAAA,gBACrF,GAAG,WAAW,OAAO,QAAQ,CAAC,IAAI,MAAM,SAAS,OAAO,OAAO,KAAK,IAAI;AAAA,gBACxE,GAAG,MAAM,SAAS,OAAO,OAAO,KAAK,IAAI;AAAA,gBACzC,YAAY,UAAU,OAAO,SAAY,OAAO,MAAM;AAAA,gBACtD,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,GAAG,SACtC,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAACC,QAAO,WAAW,EAAC,OAAO,OAAAA,OAAK,EAAE,IACtE,OAAO,WAAW,UAAU,OAAO,eAAe,UAChD,CAAC,EAAE,OAAO,GAAG,OAAO,SAAS,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC,IACxD,CAAC;AAAA,cACT;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AACD,WAAO,MAAM,aAAa,KAAK,QAAQ,OAAO,cAAc,IAAI,YAAU,MAAM,OAAO,UAAU,eAAa,UAAU,OAAO,OAAO,EAAE,CAAC,CAAC,IAAI;AAAA,EAChJ,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iBAAiB,KAAc,SAAiB,UAAwD;AAC/G,MAAI,CAAC,YAAY,SAAS,YAAY,WAAW,SAAS,SAAS,QAAS,QAAO;AACnF,SAAO,MAAM,KAAK,IAAI,iBAAiB,oBAAoB,CAAC,EAAE,IAAI,CAAC,MAAM,UAAU;AACjF,QAAI,OAAO,KAAK,aAAa,mBAAmB,CAAC,MAAM,SAAS,eAC1D,SAAS,SAAS,WAAW,OAAO,KAAK,aAAa,kBAAkB,CAAC,MAAM,SAAS,WAAa,QAAO;AAClH,QAAI,KAAK,cAAc,QAAQ;AAC7B,aAAO;AAAA,QAA2B,OAAO,KAAK;AAAA,QAAG,OAAO,KAAK,aAAa,GAAG,CAAC;AAAA,QAAG,OAAO,KAAK,aAAa,GAAG,CAAC;AAAA,QAC5G,OAAO,KAAK,aAAa,OAAO,CAAC;AAAA,QAAG,OAAO,KAAK,aAAa,QAAQ,CAAC;AAAA,MAAC;AAAA,IAC3E;AACA,QAAI,CAAC,KAAK,aAAa,cAAc,KAAK,CAAC,KAAK,aAAa,cAAc,EAAG,QAAO;AACrF,WAAO;AAAA,MAA2B,OAAO,KAAK;AAAA,MAAG,OAAO,KAAK,aAAa,cAAc,CAAC,IAAI;AAAA,MAC3F,OAAO,KAAK,aAAa,cAAc,CAAC,IAAI;AAAA,MAAG;AAAA,MAAG;AAAA,IAAC;AAAA,EACvD,CAAC;AACH;AAEO,SAAS,eAAe,OAI5B;AACD,QAAM,EAAE,OAAO,MAAM,UAAU,QAAQ,sBAAsB,SAAS,IAAI;AAC1E,QAAM,KAAW,EAAM;AACvB,QAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,KAAK;AACpC,QAAM,SAAS,KAAK,IAAI,GAAG,KAAK,MAAM;AACtC,QAAM,MAAY,EAAQ,MAAM;AAAA,IAAkB;AAAA,IAAU;AAAA,IAAO;AAAA,IAAQ;AAAA,IAAO;AAAA,IAChF,QAAQ,GAAG,QAAQ,WAAW,EAAE,IAAI;AAAA,EAAG,GAAG,CAAC,UAAU,OAAO,QAAQ,OAAO,QAAQ,EAAE,CAAC;AACxF,QAAM,WAAiB,EAAoB,IAAI;AAC/C,EAAM,EAAgB,MAAM;AAC1B,QAAI,SAAS,WAAW,IAAK,UAAS,QAAQ,gBAAgB,GAAG;AAAA,EACnE,GAAG,CAAC,GAAG,CAAC;AACR,QAAM,UAAgB;AAAA,IAAQ,MAAM,OAAO,iBAAiB,KAAK,MAAM,IAAI,oBAAoB;AAAA,IAC7F,CAAC,KAAK,MAAM,IAAI,oBAAoB;AAAA,EAAC;AACvC,QAAM,EAAE,mBAAmB,kBAAkB,IAAI,eAAe,KAAK;AACrE,MAAI,CAAC,IAAK,QAAO,kBAAC,SAAI,4BAAyB,eAAc,OAAO,EAAC,OAAM,QAAO,QAAO,OAAM,GAAI,oBAAS;AAC5G,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAY,MAAM,SAAS,MAAM,QAAQ;AAAA,MACzC,4BAAyB;AAAA,MACzB,eAAe;AAAA,MACf,eAAe;AAAA,MACf,MAAK;AAAA,MACL,OAAO,EAAE,SAAS,SAAS,QAAQ,QAAQ,eAAe,QAAQ,OAAO,OAAO;AAAA,MAChF,SAAS,OAAO,KAAK,IAAI,MAAM;AAAA,MAE/B;AAAA,0BAAC,OAAE,KAAK,UAAU;AAAA,QACjB;AAAA;AAAA;AAAA,EACH;AAEJ;","names":["_","label"]}
package/dist/vanilla.cjs CHANGED
@@ -5,8 +5,9 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkKQSUAIZDcjs = require('./chunk-KQSUAIZD.cjs');
9
- require('./chunk-GX5LAENE.cjs');
8
+ var _chunkYPTGD7GKcjs = require('./chunk-YPTGD7GK.cjs');
9
+ require('./chunk-ZAUUKER4.cjs');
10
+ require('./chunk-RN27VSTN.cjs');
10
11
  require('./chunk-5ERNVHSO.cjs');
11
12
  require('./chunk-AZWBTFJI.cjs');
12
13
  require('./chunk-AD4CGQN2.cjs');
@@ -17,5 +18,5 @@ require('./chunk-AD4CGQN2.cjs');
17
18
 
18
19
 
19
20
 
20
- exports.XlsxFileSizeLimitExceededError = _chunkKQSUAIZDcjs.XlsxFileSizeLimitExceededError; exports.XlsxViewer = _chunkKQSUAIZDcjs.XlsxViewer; exports.createXlsxViewer = _chunkKQSUAIZDcjs.createXlsxViewer; exports.initWasm = _chunkKQSUAIZDcjs.initWasm; exports.parseXlsxRange = _chunkKQSUAIZDcjs.parseXlsxRange; exports.setWasmSource = _chunkKQSUAIZDcjs.setWasmSource;
21
+ exports.XlsxFileSizeLimitExceededError = _chunkYPTGD7GKcjs.XlsxFileSizeLimitExceededError; exports.XlsxViewer = _chunkYPTGD7GKcjs.XlsxViewer; exports.createXlsxViewer = _chunkYPTGD7GKcjs.createXlsxViewer; exports.initWasm = _chunkYPTGD7GKcjs.initWasm; exports.parseXlsxRange = _chunkYPTGD7GKcjs.parseXlsxRange; exports.setWasmSource = _chunkYPTGD7GKcjs.setWasmSource;
21
22
  //# sourceMappingURL=vanilla.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/vanilla.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,+WAAC","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/vanilla.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/vanilla.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,+WAAC","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/vanilla.cjs"}
package/dist/vanilla.js CHANGED
@@ -5,8 +5,9 @@ import {
5
5
  initWasm,
6
6
  parseXlsxRange,
7
7
  setWasmSource
8
- } from "./chunk-H62SZBEY.js";
9
- import "./chunk-IISMO3AX.js";
8
+ } from "./chunk-R5ERJ3BT.js";
9
+ import "./chunk-LY4EWUKF.js";
10
+ import "./chunk-BFSDKYQU.js";
10
11
  import "./chunk-VWGKYABF.js";
11
12
  import "./chunk-PUI6QI4U.js";
12
13
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extend-ai/react-xlsx",
3
- "version": "0.20.4",
3
+ "version": "0.20.5",
4
4
  "description": "JavaScript and React viewers for XLSX workbooks",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -86,6 +86,6 @@
86
86
  "@types/d3-hierarchy": "^3.1.7",
87
87
  "@types/d3-shape": "^3.1.8",
88
88
  "preact": "^10.29.8",
89
- "@extend-ai/rust-office-charts": "https://github.com/extend-hq/rust-office/releases/download/charts-browser-v0.2.1/extend-ai-rust-office-charts-0.2.1.tgz"
89
+ "@extend-ai/rust-office-charts": "https://github.com/extend-hq/rust-office/releases/download/charts-browser-v0.2.2/extend-ai-rust-office-charts-0.2.2.tgz"
90
90
  }
91
91
  }