@extend-ai/react-xlsx 0.20.0 → 0.20.2

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 (96) hide show
  1. package/README.md +1 -0
  2. package/dist/{chart-renderer-AAVZ34BF.cjs → chart-renderer-3QDNTMRN.cjs} +526 -604
  3. package/dist/chart-renderer-3QDNTMRN.cjs.map +1 -0
  4. package/dist/{chart-renderer-RXO7WP4Q.js → chart-renderer-7DTEXXG6.js} +19 -97
  5. package/dist/chart-renderer-7DTEXXG6.js.map +1 -0
  6. package/dist/{chart-renderer-KGLAI4DN.js → chart-renderer-F355CYSE.js} +13 -92
  7. package/dist/chart-renderer-F355CYSE.js.map +1 -0
  8. package/dist/{chart-renderer-NM5UVCTO.cjs → chart-renderer-LGW4EH4M.cjs} +287 -366
  9. package/dist/chart-renderer-LGW4EH4M.cjs.map +1 -0
  10. package/dist/{chunk-WSQDFXDW.js → chunk-3LMOGW6A.js} +22 -6
  11. package/dist/chunk-3LMOGW6A.js.map +1 -0
  12. package/dist/chunk-A4S3AMON.js +108 -0
  13. package/dist/chunk-A4S3AMON.js.map +1 -0
  14. package/dist/{chunk-T5WZHPIN.cjs → chunk-AD4CGQN2.cjs} +2 -2
  15. package/dist/{chunk-T5WZHPIN.cjs.map → chunk-AD4CGQN2.cjs.map} +1 -1
  16. package/dist/chunk-AJT23BDP.js +111 -0
  17. package/dist/chunk-AJT23BDP.js.map +1 -0
  18. package/dist/{chunk-CJBI5F6V.cjs → chunk-AZWBTFJI.cjs} +12 -93
  19. package/dist/chunk-AZWBTFJI.cjs.map +1 -0
  20. package/dist/{chunk-6K3NSKDJ.cjs → chunk-D2UA4P6N.cjs} +15 -4
  21. package/dist/chunk-D2UA4P6N.cjs.map +1 -0
  22. package/dist/{chunk-QN3D3JS2.js → chunk-GXYDJPHM.js} +162 -40
  23. package/dist/chunk-GXYDJPHM.js.map +1 -0
  24. package/dist/chunk-IDNIGBUM.cjs +108 -0
  25. package/dist/chunk-IDNIGBUM.cjs.map +1 -0
  26. package/dist/{chunk-3JTCYAUX.js → chunk-IYGZTLDY.js} +14 -3
  27. package/dist/chunk-IYGZTLDY.js.map +1 -0
  28. package/dist/chunk-M55TBS4X.cjs +111 -0
  29. package/dist/chunk-M55TBS4X.cjs.map +1 -0
  30. package/dist/{chunk-MCFUTO4J.cjs → chunk-OCF75R75.cjs} +25 -9
  31. package/dist/chunk-OCF75R75.cjs.map +1 -0
  32. package/dist/{chunk-NBH72POD.js → chunk-PUI6QI4U.js} +11 -92
  33. package/dist/chunk-PUI6QI4U.js.map +1 -0
  34. package/dist/{chunk-2YBG7XQ3.cjs → chunk-ZJ76CZAL.cjs} +1683 -1561
  35. package/dist/chunk-ZJ76CZAL.cjs.map +1 -0
  36. package/dist/index.cjs +626 -529
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.d.cts +13 -0
  39. package/dist/index.d.ts +13 -0
  40. package/dist/index.js +124 -27
  41. package/dist/index.js.map +1 -1
  42. package/dist/{internal-DrXSHYJZ.d.cts → internal-BJsg5os3.d.cts} +13 -0
  43. package/dist/{internal-DrXSHYJZ.d.ts → internal-BJsg5os3.d.ts} +13 -0
  44. package/dist/internal.cjs +6 -5
  45. package/dist/internal.cjs.map +1 -1
  46. package/dist/internal.d.cts +1 -1
  47. package/dist/internal.d.ts +1 -1
  48. package/dist/internal.js +4 -3
  49. package/dist/preact-LICENSE.txt +21 -0
  50. package/dist/region-map-geography-24TXETDP.cjs +184 -0
  51. package/dist/region-map-geography-24TXETDP.cjs.map +1 -0
  52. package/dist/region-map-geography-OR6DHAF7.js +182 -0
  53. package/dist/region-map-geography-OR6DHAF7.js.map +1 -0
  54. package/dist/shared-chart-3STFRVWT.js +215 -0
  55. package/dist/shared-chart-3STFRVWT.js.map +1 -0
  56. package/dist/shared-chart-BFQNYOIQ.js +221 -0
  57. package/dist/shared-chart-BFQNYOIQ.js.map +1 -0
  58. package/dist/shared-chart-DVC5S2P6.cjs +222 -0
  59. package/dist/shared-chart-DVC5S2P6.cjs.map +1 -0
  60. package/dist/shared-chart-MFQSQG4K.cjs +216 -0
  61. package/dist/shared-chart-MFQSQG4K.cjs.map +1 -0
  62. package/dist/{spreadsheet-font-assets-4AHYDTAQ.cjs → spreadsheet-font-assets-6FKCVICP.cjs} +2 -2
  63. package/dist/{spreadsheet-font-assets-4AHYDTAQ.cjs.map → spreadsheet-font-assets-6FKCVICP.cjs.map} +1 -1
  64. package/dist/{surface-regl-AY7JZVYY.cjs → surface-regl-BBJ6OIKK.cjs} +15 -13
  65. package/dist/surface-regl-BBJ6OIKK.cjs.map +1 -0
  66. package/dist/{surface-regl-TJUWTLAZ.js → surface-regl-R2N54JT2.js} +7 -5
  67. package/dist/{surface-regl-TJUWTLAZ.js.map → surface-regl-R2N54JT2.js.map} +1 -1
  68. package/dist/{surface-regl-5Z6IVOID.cjs → surface-regl-SUJ2TFZA.cjs} +2 -2
  69. package/dist/{surface-regl-5Z6IVOID.cjs.map → surface-regl-SUJ2TFZA.cjs.map} +1 -1
  70. package/dist/us-atlas-LICENSE.txt +13 -0
  71. package/dist/vanilla.cjs +6 -5
  72. package/dist/vanilla.cjs.map +1 -1
  73. package/dist/vanilla.d.cts +2 -2
  74. package/dist/vanilla.d.ts +2 -2
  75. package/dist/vanilla.js +4 -3
  76. package/dist/world-atlas-LICENSE.txt +13 -0
  77. package/dist/xlsx-worker.js +82 -1
  78. package/dist/xlsx-worker.js.map +1 -1
  79. package/package.json +7 -6
  80. package/dist/chart-renderer-AAVZ34BF.cjs.map +0 -1
  81. package/dist/chart-renderer-KGLAI4DN.js.map +0 -1
  82. package/dist/chart-renderer-NM5UVCTO.cjs.map +0 -1
  83. package/dist/chart-renderer-RXO7WP4Q.js.map +0 -1
  84. package/dist/chunk-2YBG7XQ3.cjs.map +0 -1
  85. package/dist/chunk-3JTCYAUX.js.map +0 -1
  86. package/dist/chunk-6K3NSKDJ.cjs.map +0 -1
  87. package/dist/chunk-CJBI5F6V.cjs.map +0 -1
  88. package/dist/chunk-MCFUTO4J.cjs.map +0 -1
  89. package/dist/chunk-NBH72POD.js.map +0 -1
  90. package/dist/chunk-QN3D3JS2.js.map +0 -1
  91. package/dist/chunk-WSQDFXDW.js.map +0 -1
  92. package/dist/region-map-geography-6TGXBY3V.cjs +0 -184
  93. package/dist/region-map-geography-6TGXBY3V.cjs.map +0 -1
  94. package/dist/region-map-geography-YD54DI3H.js +0 -182
  95. package/dist/region-map-geography-YD54DI3H.js.map +0 -1
  96. package/dist/surface-regl-AY7JZVYY.cjs.map +0 -1
@@ -0,0 +1,108 @@
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 _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; }// src/chart-interaction.tsx
2
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
3
+ var _jsxruntime = require('react/jsx-runtime');
4
+ function resolveChartElementTarget(target) {
5
+ if (!(target instanceof Element)) {
6
+ return null;
7
+ }
8
+ return target.closest("[data-xlsx-chart-series-index]");
9
+ }
10
+ function resolveChartSelectionFromTarget(chart, target, selectedChartElement) {
11
+ const element = resolveChartElementTarget(target);
12
+ if (!element) {
13
+ return { chartId: chart.id, kind: "chart" };
14
+ }
15
+ const seriesIndex = Number(element.dataset.xlsxChartSeriesIndex);
16
+ if (!Number.isInteger(seriesIndex) || seriesIndex < 0 || seriesIndex >= chart.series.length) {
17
+ return null;
18
+ }
19
+ const series = chart.series[seriesIndex];
20
+ if (!series) {
21
+ return null;
22
+ }
23
+ const rawPointIndex = element.dataset.xlsxChartPointIndex;
24
+ const rawElementKind = element.dataset.xlsxChartElementKind;
25
+ const selectionMode = element.dataset.xlsxChartSelectionMode;
26
+ const pointIndex = rawPointIndex == null || rawPointIndex === "" ? null : Number(rawPointIndex);
27
+ const hasPoint = pointIndex != null && Number.isInteger(pointIndex) && pointIndex >= 0;
28
+ const sameSelectedSeries = _optionalChain([selectedChartElement, 'optionalAccess', _ => _.chartId]) === chart.id && selectedChartElement.kind !== "chart" && selectedChartElement.seriesIndex === seriesIndex;
29
+ if (hasPoint && (selectionMode !== "seriesFirst" || sameSelectedSeries)) {
30
+ return {
31
+ chartId: chart.id,
32
+ kind: "point",
33
+ pointIndex,
34
+ seriesId: series.id,
35
+ seriesIndex
36
+ };
37
+ }
38
+ return {
39
+ chartId: chart.id,
40
+ kind: rawElementKind === "legendEntry" ? "legendEntry" : "series",
41
+ seriesId: series.id,
42
+ seriesIndex
43
+ };
44
+ }
45
+ function useChartEvents({
46
+ chart,
47
+ onChartElementPointerDown,
48
+ onChartElementDoubleClick,
49
+ selectedChartElement
50
+ }) {
51
+ const handlePointerDown = React.useCallback((event) => {
52
+ const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);
53
+ if (!selection) {
54
+ return;
55
+ }
56
+ if (resolveChartElementTarget(event.target)) {
57
+ event.stopPropagation();
58
+ }
59
+ _optionalChain([onChartElementPointerDown, 'optionalCall', _2 => _2(selection, event)]);
60
+ }, [chart, onChartElementPointerDown, selectedChartElement]);
61
+ const handleDoubleClick = React.useCallback((event) => {
62
+ const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);
63
+ if (!selection) {
64
+ return;
65
+ }
66
+ if (resolveChartElementTarget(event.target)) {
67
+ event.stopPropagation();
68
+ }
69
+ _optionalChain([onChartElementDoubleClick, 'optionalCall', _3 => _3(selection, event)]);
70
+ }, [chart, onChartElementDoubleClick, selectedChartElement]);
71
+ return { handlePointerDown, handleDoubleClick };
72
+ }
73
+ function renderSelectionRectHandles(key, left, top, width, height, color = "#64748b") {
74
+ return renderSelectionPointHandles(
75
+ key,
76
+ [
77
+ { x: left, y: top },
78
+ { x: left + width, y: top },
79
+ { x: left, y: top + height },
80
+ { x: left + width, y: top + height }
81
+ ],
82
+ color
83
+ );
84
+ }
85
+ function renderSelectionPointHandles(key, points, color = "#64748b") {
86
+ const radius = 3;
87
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "g", { pointerEvents: "none", children: points.map((point, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
88
+ "circle",
89
+ {
90
+ cx: point.x,
91
+ cy: point.y,
92
+ fill: "#ffffff",
93
+ r: radius,
94
+ stroke: color,
95
+ strokeWidth: 1.1,
96
+ style: { filter: "drop-shadow(0 1px 2px rgba(15, 23, 42, 0.18))" },
97
+ vectorEffect: "non-scaling-stroke"
98
+ },
99
+ `${key}-handle-${index}`
100
+ )) }, key);
101
+ }
102
+
103
+
104
+
105
+
106
+
107
+ exports.useChartEvents = useChartEvents; exports.renderSelectionRectHandles = renderSelectionRectHandles; exports.renderSelectionPointHandles = renderSelectionPointHandles;
108
+ //# sourceMappingURL=chunk-IDNIGBUM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/chunk-IDNIGBUM.cjs","../src/chart-interaction.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/chunk-IDNIGBUM.cjs","sourcesContent":[null,"import * as React from \"react\";\nimport type { ChartSvgProps } from \"./chart-renderer\";\nimport type { XlsxChart, XlsxChartElementSelection } from \"./types\";\n\nfunction resolveChartElementTarget(target: EventTarget | null) {\n if (!(target instanceof Element)) {\n return null;\n }\n\n return target.closest(\"[data-xlsx-chart-series-index]\") as HTMLElement | SVGElement | null;\n}\n\nfunction resolveChartSelectionFromTarget(\n chart: XlsxChart,\n target: EventTarget | null,\n selectedChartElement: XlsxChartElementSelection | null | undefined\n): XlsxChartElementSelection | null {\n const element = resolveChartElementTarget(target);\n if (!element) {\n return { chartId: chart.id, kind: \"chart\" };\n }\n\n const seriesIndex = Number(element.dataset.xlsxChartSeriesIndex);\n if (!Number.isInteger(seriesIndex) || seriesIndex < 0 || seriesIndex >= chart.series.length) {\n return null;\n }\n\n const series = chart.series[seriesIndex];\n if (!series) {\n return null;\n }\n\n const rawPointIndex = element.dataset.xlsxChartPointIndex;\n const rawElementKind = element.dataset.xlsxChartElementKind;\n const selectionMode = element.dataset.xlsxChartSelectionMode;\n const pointIndex = rawPointIndex == null || rawPointIndex === \"\" ? null : Number(rawPointIndex);\n const hasPoint = pointIndex != null && Number.isInteger(pointIndex) && pointIndex >= 0;\n const sameSelectedSeries = selectedChartElement?.chartId === chart.id\n && selectedChartElement.kind !== \"chart\"\n && selectedChartElement.seriesIndex === seriesIndex;\n if (hasPoint && (selectionMode !== \"seriesFirst\" || sameSelectedSeries)) {\n return {\n chartId: chart.id,\n kind: \"point\",\n pointIndex,\n seriesId: series.id,\n seriesIndex\n };\n }\n\n return {\n chartId: chart.id,\n kind: rawElementKind === \"legendEntry\" ? \"legendEntry\" : \"series\",\n seriesId: series.id,\n seriesIndex\n };\n}\n\nexport function useChartEvents({\n chart, onChartElementPointerDown, onChartElementDoubleClick, selectedChartElement\n}: Pick<ChartSvgProps, \"chart\" | \"onChartElementPointerDown\" | \"onChartElementDoubleClick\" | \"selectedChartElement\">) {\n const handlePointerDown = React.useCallback((event: React.PointerEvent<SVGSVGElement>) => {\n const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);\n if (!selection) {\n return;\n }\n\n if (resolveChartElementTarget(event.target)) {\n event.stopPropagation();\n }\n onChartElementPointerDown?.(selection, event);\n }, [chart, onChartElementPointerDown, selectedChartElement]);\n const handleDoubleClick = React.useCallback((event: React.MouseEvent<SVGSVGElement>) => {\n const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);\n if (!selection) {\n return;\n }\n\n if (resolveChartElementTarget(event.target)) {\n event.stopPropagation();\n }\n onChartElementDoubleClick?.(selection, event);\n }, [chart, onChartElementDoubleClick, selectedChartElement]);\n\n return { handlePointerDown, handleDoubleClick };\n}\n\nexport function renderSelectionRectHandles(\n key: string,\n left: number,\n top: number,\n width: number,\n height: number,\n color = \"#64748b\"\n) {\n return renderSelectionPointHandles(\n key,\n [\n { x: left, y: top },\n { x: left + width, y: top },\n { x: left, y: top + height },\n { x: left + width, y: top + height }\n ],\n color\n );\n}\n\nexport function renderSelectionPointHandles(\n key: string,\n points: Array<{ x: number; y: number }>,\n color = \"#64748b\"\n) {\n const radius = 3;\n\n return (\n <g key={key} pointerEvents=\"none\">\n {points.map((point, index) => (\n <circle\n cx={point.x}\n cy={point.y}\n fill=\"#ffffff\"\n key={`${key}-handle-${index}`}\n r={radius}\n stroke={color}\n strokeWidth={1.1}\n style={{ filter: \"drop-shadow(0 1px 2px rgba(15, 23, 42, 0.18))\" }}\n vectorEffect=\"non-scaling-stroke\"\n />\n ))}\n </g>\n );\n}\n"]}
@@ -38,8 +38,19 @@ function createChartModule(importModule) {
38
38
  }
39
39
  };
40
40
  }
41
- var chartRenderer = createChartModule(() => import("./chart-renderer-KGLAI4DN.js"));
42
- var regionMapResources = createChartModule(() => import("./region-map-geography-YD54DI3H.js"));
41
+ var officeChartRenderer = createChartModule(async () => {
42
+ try {
43
+ const [{ loadOfficeCharts }, { SharedChartSvg }] = await Promise.all([
44
+ import("@extend-ai/rust-office-charts"),
45
+ import("./shared-chart-3STFRVWT.js")
46
+ ]);
47
+ return { renderer: await loadOfficeCharts(), SharedChartSvg };
48
+ } catch {
49
+ return { renderer: null, SharedChartSvg: null };
50
+ }
51
+ });
52
+ var chartRenderer = createChartModule(() => import("./chart-renderer-F355CYSE.js"));
53
+ var regionMapResources = createChartModule(() => import("./region-map-geography-OR6DHAF7.js"));
43
54
  var surfaceRenderer = createChartModule(() => import("./surface-regl-7CDGGVDG.js"));
44
55
 
45
56
  export {
@@ -47,4 +58,4 @@ export {
47
58
  regionMapResources,
48
59
  surfaceRenderer
49
60
  };
50
- //# sourceMappingURL=chunk-3JTCYAUX.js.map
61
+ //# sourceMappingURL=chunk-IYGZTLDY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/use-chart-module.ts","../src/chart-loader.ts"],"sourcesContent":["import * as React from \"react\";\nimport type { ChartModule } from \"./chart-loader\";\n\nexport function useChartModule<T>(resource: ChartModule<T>) {\n const snapshot = React.useSyncExternalStore(resource.subscribe, resource.getSnapshot, resource.getServerSnapshot);\n React.useEffect(() => {\n void resource.load().catch(() => {});\n }, [resource]);\n if (snapshot.error) throw snapshot.error;\n return snapshot.module;\n}\n","import type { XlsxChart } from \"./types\";\n\ntype ModuleSnapshot<T> = { module: T | null; error: unknown };\n\nexport type ChartModule<T> = {\n load: () => Promise<T>;\n getSnapshot: () => ModuleSnapshot<T>;\n getServerSnapshot: () => ModuleSnapshot<T>;\n subscribe: (listener: () => void) => () => void;\n};\n\nfunction createChartModule<T>(importModule: () => Promise<T>): ChartModule<T> {\n const initialSnapshot: ModuleSnapshot<T> = { module: null, error: null };\n let snapshot = initialSnapshot;\n let promise: Promise<T> | undefined;\n const listeners = new Set<() => void>();\n const publish = (next: ModuleSnapshot<T>) => {\n snapshot = next;\n listeners.forEach((listener) => listener());\n };\n\n return {\n load: () => promise ??= importModule().then((module) => {\n publish({ module, error: null });\n return module;\n }, (error: unknown) => {\n publish({ module: null, error: error instanceof Error ? error : new Error(\"Unable to load chart module.\") });\n throw error;\n }),\n getSnapshot: () => snapshot,\n getServerSnapshot: () => initialSnapshot,\n subscribe: (listener) => {\n listeners.add(listener);\n return () => { listeners.delete(listener); };\n }\n };\n}\n\nexport const officeChartRenderer = createChartModule(async () => {\n try {\n const [{ loadOfficeCharts }, { SharedChartSvg }] = await Promise.all([\n import(\"@extend-ai/rust-office-charts\"), import(\"./shared-chart\")\n ]);\n return { renderer: await loadOfficeCharts(), SharedChartSvg };\n } catch {\n return { renderer: null, SharedChartSvg: null };\n }\n});\n\nexport const chartRenderer = createChartModule(() => import(\"./chart-renderer\"));\nexport const regionMapResources = createChartModule(() => import(\"./region-map-geography\"));\nexport const surfaceRenderer = createChartModule(() => import(\"./surface-regl\"));\n\nexport function preloadChartRenderers(chartsBySheet: readonly (readonly XlsxChart[])[]) {\n let hasCharts = false;\n let hasSharedCharts = false;\n let hasMaps = false;\n let hasSurfaces = false;\n for (const charts of chartsBySheet) {\n for (const chart of charts) {\n hasSharedCharts ||= Boolean(chart.renderSource);\n hasCharts ||= !chart.renderSource;\n hasMaps ||= chart.chartType === \"RegionMap\";\n hasSurfaces ||= chart.chartType === \"Surface\";\n }\n }\n\n if (hasSharedCharts) void officeChartRenderer.load().catch(() => {});\n if (hasCharts) void chartRenderer.load().catch(() => {});\n if (hasMaps) void regionMapResources.load().catch(() => {});\n if (hasSurfaces) void surfaceRenderer.load().catch(() => {});\n}\n"],"mappings":";AAAA,YAAY,WAAW;AAGhB,SAAS,eAAkB,UAA0B;AAC1D,QAAM,WAAiB,2BAAqB,SAAS,WAAW,SAAS,aAAa,SAAS,iBAAiB;AAChH,EAAM,gBAAU,MAAM;AACpB,SAAK,SAAS,KAAK,EAAE,MAAM,MAAM;AAAA,IAAC,CAAC;AAAA,EACrC,GAAG,CAAC,QAAQ,CAAC;AACb,MAAI,SAAS,MAAO,OAAM,SAAS;AACnC,SAAO,SAAS;AAClB;;;ACCA,SAAS,kBAAqB,cAAgD;AAC5E,QAAM,kBAAqC,EAAE,QAAQ,MAAM,OAAO,KAAK;AACvE,MAAI,WAAW;AACf,MAAI;AACJ,QAAM,YAAY,oBAAI,IAAgB;AACtC,QAAM,UAAU,CAAC,SAA4B;AAC3C,eAAW;AACX,cAAU,QAAQ,CAAC,aAAa,SAAS,CAAC;AAAA,EAC5C;AAEA,SAAO;AAAA,IACL,MAAM,MAAM,YAAY,aAAa,EAAE,KAAK,CAAC,WAAW;AACtD,cAAQ,EAAE,QAAQ,OAAO,KAAK,CAAC;AAC/B,aAAO;AAAA,IACT,GAAG,CAAC,UAAmB;AACrB,cAAQ,EAAE,QAAQ,MAAM,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,8BAA8B,EAAE,CAAC;AAC3G,YAAM;AAAA,IACR,CAAC;AAAA,IACD,aAAa,MAAM;AAAA,IACnB,mBAAmB,MAAM;AAAA,IACzB,WAAW,CAAC,aAAa;AACvB,gBAAU,IAAI,QAAQ;AACtB,aAAO,MAAM;AAAE,kBAAU,OAAO,QAAQ;AAAA,MAAG;AAAA,IAC7C;AAAA,EACF;AACF;AAEO,IAAM,sBAAsB,kBAAkB,YAAY;AAC/D,MAAI;AACF,UAAM,CAAC,EAAE,iBAAiB,GAAG,EAAE,eAAe,CAAC,IAAI,MAAM,QAAQ,IAAI;AAAA,MACnE,OAAO,+BAA+B;AAAA,MAAG,OAAO,4BAAgB;AAAA,IAClE,CAAC;AACD,WAAO,EAAE,UAAU,MAAM,iBAAiB,GAAG,eAAe;AAAA,EAC9D,QAAQ;AACN,WAAO,EAAE,UAAU,MAAM,gBAAgB,KAAK;AAAA,EAChD;AACF,CAAC;AAEM,IAAM,gBAAgB,kBAAkB,MAAM,OAAO,8BAAkB,CAAC;AACxE,IAAM,qBAAqB,kBAAkB,MAAM,OAAO,oCAAwB,CAAC;AACnF,IAAM,kBAAkB,kBAAkB,MAAM,OAAO,4BAAgB,CAAC;","names":[]}
@@ -0,0 +1,111 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
+
3
+
4
+ var _chunkAZWBTFJIcjs = require('./chunk-AZWBTFJI.cjs');
5
+
6
+ // src/chart-interaction.tsx
7
+ function resolveChartElementTarget(target) {
8
+ if (!(target instanceof Element)) {
9
+ return null;
10
+ }
11
+ return target.closest("[data-xlsx-chart-series-index]");
12
+ }
13
+ function resolveChartSelectionFromTarget(chart, target, selectedChartElement) {
14
+ const element = resolveChartElementTarget(target);
15
+ if (!element) {
16
+ return { chartId: chart.id, kind: "chart" };
17
+ }
18
+ const seriesIndex = Number(element.dataset.xlsxChartSeriesIndex);
19
+ if (!Number.isInteger(seriesIndex) || seriesIndex < 0 || seriesIndex >= chart.series.length) {
20
+ return null;
21
+ }
22
+ const series = chart.series[seriesIndex];
23
+ if (!series) {
24
+ return null;
25
+ }
26
+ const rawPointIndex = element.dataset.xlsxChartPointIndex;
27
+ const rawElementKind = element.dataset.xlsxChartElementKind;
28
+ const selectionMode = element.dataset.xlsxChartSelectionMode;
29
+ const pointIndex = rawPointIndex == null || rawPointIndex === "" ? null : Number(rawPointIndex);
30
+ const hasPoint = pointIndex != null && Number.isInteger(pointIndex) && pointIndex >= 0;
31
+ const sameSelectedSeries = _optionalChain([selectedChartElement, 'optionalAccess', _ => _.chartId]) === chart.id && selectedChartElement.kind !== "chart" && selectedChartElement.seriesIndex === seriesIndex;
32
+ if (hasPoint && (selectionMode !== "seriesFirst" || sameSelectedSeries)) {
33
+ return {
34
+ chartId: chart.id,
35
+ kind: "point",
36
+ pointIndex,
37
+ seriesId: series.id,
38
+ seriesIndex
39
+ };
40
+ }
41
+ return {
42
+ chartId: chart.id,
43
+ kind: rawElementKind === "legendEntry" ? "legendEntry" : "series",
44
+ seriesId: series.id,
45
+ seriesIndex
46
+ };
47
+ }
48
+ function useChartEvents({
49
+ chart,
50
+ onChartElementPointerDown,
51
+ onChartElementDoubleClick,
52
+ selectedChartElement
53
+ }) {
54
+ const handlePointerDown = _chunkAZWBTFJIcjs.q.call(void 0, (event) => {
55
+ const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);
56
+ if (!selection) {
57
+ return;
58
+ }
59
+ if (resolveChartElementTarget(event.target)) {
60
+ event.stopPropagation();
61
+ }
62
+ _optionalChain([onChartElementPointerDown, 'optionalCall', _2 => _2(selection, event)]);
63
+ }, [chart, onChartElementPointerDown, selectedChartElement]);
64
+ const handleDoubleClick = _chunkAZWBTFJIcjs.q.call(void 0, (event) => {
65
+ const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);
66
+ if (!selection) {
67
+ return;
68
+ }
69
+ if (resolveChartElementTarget(event.target)) {
70
+ event.stopPropagation();
71
+ }
72
+ _optionalChain([onChartElementDoubleClick, 'optionalCall', _3 => _3(selection, event)]);
73
+ }, [chart, onChartElementDoubleClick, selectedChartElement]);
74
+ return { handlePointerDown, handleDoubleClick };
75
+ }
76
+ function renderSelectionRectHandles(key, left, top, width, height, color = "#64748b") {
77
+ return renderSelectionPointHandles(
78
+ key,
79
+ [
80
+ { x: left, y: top },
81
+ { x: left + width, y: top },
82
+ { x: left, y: top + height },
83
+ { x: left + width, y: top + height }
84
+ ],
85
+ color
86
+ );
87
+ }
88
+ function renderSelectionPointHandles(key, points, color = "#64748b") {
89
+ const radius = 3;
90
+ return /* @__PURE__ */ _chunkAZWBTFJIcjs.u.call(void 0, "g", { pointerEvents: "none", children: points.map((point, index) => /* @__PURE__ */ _chunkAZWBTFJIcjs.u.call(void 0,
91
+ "circle",
92
+ {
93
+ cx: point.x,
94
+ cy: point.y,
95
+ fill: "#ffffff",
96
+ r: radius,
97
+ stroke: color,
98
+ strokeWidth: 1.1,
99
+ style: { filter: "drop-shadow(0 1px 2px rgba(15, 23, 42, 0.18))" },
100
+ vectorEffect: "non-scaling-stroke"
101
+ },
102
+ `${key}-handle-${index}`
103
+ )) }, key);
104
+ }
105
+
106
+
107
+
108
+
109
+
110
+ exports.useChartEvents = useChartEvents; exports.renderSelectionRectHandles = renderSelectionRectHandles; exports.renderSelectionPointHandles = renderSelectionPointHandles;
111
+ //# sourceMappingURL=chunk-M55TBS4X.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/chunk-M55TBS4X.cjs","../src/chart-interaction.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/chunk-M55TBS4X.cjs","sourcesContent":[null,"import * as React from \"react\";\nimport type { ChartSvgProps } from \"./chart-renderer\";\nimport type { XlsxChart, XlsxChartElementSelection } from \"./types\";\n\nfunction resolveChartElementTarget(target: EventTarget | null) {\n if (!(target instanceof Element)) {\n return null;\n }\n\n return target.closest(\"[data-xlsx-chart-series-index]\") as HTMLElement | SVGElement | null;\n}\n\nfunction resolveChartSelectionFromTarget(\n chart: XlsxChart,\n target: EventTarget | null,\n selectedChartElement: XlsxChartElementSelection | null | undefined\n): XlsxChartElementSelection | null {\n const element = resolveChartElementTarget(target);\n if (!element) {\n return { chartId: chart.id, kind: \"chart\" };\n }\n\n const seriesIndex = Number(element.dataset.xlsxChartSeriesIndex);\n if (!Number.isInteger(seriesIndex) || seriesIndex < 0 || seriesIndex >= chart.series.length) {\n return null;\n }\n\n const series = chart.series[seriesIndex];\n if (!series) {\n return null;\n }\n\n const rawPointIndex = element.dataset.xlsxChartPointIndex;\n const rawElementKind = element.dataset.xlsxChartElementKind;\n const selectionMode = element.dataset.xlsxChartSelectionMode;\n const pointIndex = rawPointIndex == null || rawPointIndex === \"\" ? null : Number(rawPointIndex);\n const hasPoint = pointIndex != null && Number.isInteger(pointIndex) && pointIndex >= 0;\n const sameSelectedSeries = selectedChartElement?.chartId === chart.id\n && selectedChartElement.kind !== \"chart\"\n && selectedChartElement.seriesIndex === seriesIndex;\n if (hasPoint && (selectionMode !== \"seriesFirst\" || sameSelectedSeries)) {\n return {\n chartId: chart.id,\n kind: \"point\",\n pointIndex,\n seriesId: series.id,\n seriesIndex\n };\n }\n\n return {\n chartId: chart.id,\n kind: rawElementKind === \"legendEntry\" ? \"legendEntry\" : \"series\",\n seriesId: series.id,\n seriesIndex\n };\n}\n\nexport function useChartEvents({\n chart, onChartElementPointerDown, onChartElementDoubleClick, selectedChartElement\n}: Pick<ChartSvgProps, \"chart\" | \"onChartElementPointerDown\" | \"onChartElementDoubleClick\" | \"selectedChartElement\">) {\n const handlePointerDown = React.useCallback((event: React.PointerEvent<SVGSVGElement>) => {\n const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);\n if (!selection) {\n return;\n }\n\n if (resolveChartElementTarget(event.target)) {\n event.stopPropagation();\n }\n onChartElementPointerDown?.(selection, event);\n }, [chart, onChartElementPointerDown, selectedChartElement]);\n const handleDoubleClick = React.useCallback((event: React.MouseEvent<SVGSVGElement>) => {\n const selection = resolveChartSelectionFromTarget(chart, event.target, selectedChartElement);\n if (!selection) {\n return;\n }\n\n if (resolveChartElementTarget(event.target)) {\n event.stopPropagation();\n }\n onChartElementDoubleClick?.(selection, event);\n }, [chart, onChartElementDoubleClick, selectedChartElement]);\n\n return { handlePointerDown, handleDoubleClick };\n}\n\nexport function renderSelectionRectHandles(\n key: string,\n left: number,\n top: number,\n width: number,\n height: number,\n color = \"#64748b\"\n) {\n return renderSelectionPointHandles(\n key,\n [\n { x: left, y: top },\n { x: left + width, y: top },\n { x: left, y: top + height },\n { x: left + width, y: top + height }\n ],\n color\n );\n}\n\nexport function renderSelectionPointHandles(\n key: string,\n points: Array<{ x: number; y: number }>,\n color = \"#64748b\"\n) {\n const radius = 3;\n\n return (\n <g key={key} pointerEvents=\"none\">\n {points.map((point, index) => (\n <circle\n cx={point.x}\n cy={point.y}\n fill=\"#ffffff\"\n key={`${key}-handle-${index}`}\n r={radius}\n stroke={color}\n strokeWidth={1.1}\n style={{ filter: \"drop-shadow(0 1px 2px rgba(15, 23, 42, 0.18))\" }}\n vectorEffect=\"non-scaling-stroke\"\n />\n ))}\n </g>\n );\n}\n"]}
@@ -1,12 +1,12 @@
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; } }
2
2
 
3
3
 
4
- var _chunkCJBI5F6Vcjs = require('./chunk-CJBI5F6V.cjs');
4
+ var _chunkAZWBTFJIcjs = require('./chunk-AZWBTFJI.cjs');
5
5
 
6
6
  // src/use-chart-module.ts
7
7
  function useChartModule(resource) {
8
- const snapshot = _chunkCJBI5F6Vcjs.C2.call(void 0, resource.subscribe, resource.getSnapshot, resource.getServerSnapshot);
9
- _chunkCJBI5F6Vcjs.h.call(void 0, () => {
8
+ const snapshot = _chunkAZWBTFJIcjs.C2.call(void 0, resource.subscribe, resource.getSnapshot, resource.getServerSnapshot);
9
+ _chunkAZWBTFJIcjs.h.call(void 0, () => {
10
10
  void resource.load().catch(() => {
11
11
  });
12
12
  }, [resource]);
@@ -42,20 +42,35 @@ function createChartModule(importModule) {
42
42
  }
43
43
  };
44
44
  }
45
- var chartRenderer = createChartModule(() => Promise.resolve().then(() => _interopRequireWildcard(require("./chart-renderer-AAVZ34BF.cjs"))));
46
- var regionMapResources = createChartModule(() => Promise.resolve().then(() => _interopRequireWildcard(require("./region-map-geography-6TGXBY3V.cjs"))));
47
- var surfaceRenderer = createChartModule(() => Promise.resolve().then(() => _interopRequireWildcard(require("./surface-regl-AY7JZVYY.cjs"))));
45
+ var officeChartRenderer = createChartModule(async () => {
46
+ try {
47
+ const [{ loadOfficeCharts }, { SharedChartSvg }] = await Promise.all([
48
+ Promise.resolve().then(() => _interopRequireWildcard(require("@extend-ai/rust-office-charts"))),
49
+ Promise.resolve().then(() => _interopRequireWildcard(require("./shared-chart-DVC5S2P6.cjs")))
50
+ ]);
51
+ return { renderer: await loadOfficeCharts(), SharedChartSvg };
52
+ } catch (e) {
53
+ return { renderer: null, SharedChartSvg: null };
54
+ }
55
+ });
56
+ var chartRenderer = createChartModule(() => Promise.resolve().then(() => _interopRequireWildcard(require("./chart-renderer-3QDNTMRN.cjs"))));
57
+ var regionMapResources = createChartModule(() => Promise.resolve().then(() => _interopRequireWildcard(require("./region-map-geography-24TXETDP.cjs"))));
58
+ var surfaceRenderer = createChartModule(() => Promise.resolve().then(() => _interopRequireWildcard(require("./surface-regl-BBJ6OIKK.cjs"))));
48
59
  function preloadChartRenderers(chartsBySheet) {
49
60
  let hasCharts = false;
61
+ let hasSharedCharts = false;
50
62
  let hasMaps = false;
51
63
  let hasSurfaces = false;
52
64
  for (const charts of chartsBySheet) {
53
65
  for (const chart of charts) {
54
- hasCharts = true;
66
+ hasSharedCharts ||= Boolean(chart.renderSource);
67
+ hasCharts ||= !chart.renderSource;
55
68
  hasMaps ||= chart.chartType === "RegionMap";
56
69
  hasSurfaces ||= chart.chartType === "Surface";
57
70
  }
58
71
  }
72
+ if (hasSharedCharts) void officeChartRenderer.load().catch(() => {
73
+ });
59
74
  if (hasCharts) void chartRenderer.load().catch(() => {
60
75
  });
61
76
  if (hasMaps) void regionMapResources.load().catch(() => {
@@ -70,5 +85,6 @@ function preloadChartRenderers(chartsBySheet) {
70
85
 
71
86
 
72
87
 
73
- exports.useChartModule = useChartModule; exports.chartRenderer = chartRenderer; exports.regionMapResources = regionMapResources; exports.surfaceRenderer = surfaceRenderer; exports.preloadChartRenderers = preloadChartRenderers;
74
- //# sourceMappingURL=chunk-MCFUTO4J.cjs.map
88
+
89
+ exports.useChartModule = useChartModule; exports.officeChartRenderer = officeChartRenderer; exports.chartRenderer = chartRenderer; exports.regionMapResources = regionMapResources; exports.surfaceRenderer = surfaceRenderer; exports.preloadChartRenderers = preloadChartRenderers;
90
+ //# sourceMappingURL=chunk-OCF75R75.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/chunk-OCF75R75.cjs","../src/use-chart-module.ts","../src/chart-loader.ts"],"names":[],"mappings":"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","file":"/home/runner/work/react-xlsx/react-xlsx/packages/react-xlsx/dist/chunk-OCF75R75.cjs","sourcesContent":[null,"import * as React from \"react\";\nimport type { ChartModule } from \"./chart-loader\";\n\nexport function useChartModule<T>(resource: ChartModule<T>) {\n const snapshot = React.useSyncExternalStore(resource.subscribe, resource.getSnapshot, resource.getServerSnapshot);\n React.useEffect(() => {\n void resource.load().catch(() => {});\n }, [resource]);\n if (snapshot.error) throw snapshot.error;\n return snapshot.module;\n}\n","import type { XlsxChart } from \"./types\";\n\ntype ModuleSnapshot<T> = { module: T | null; error: unknown };\n\nexport type ChartModule<T> = {\n load: () => Promise<T>;\n getSnapshot: () => ModuleSnapshot<T>;\n getServerSnapshot: () => ModuleSnapshot<T>;\n subscribe: (listener: () => void) => () => void;\n};\n\nfunction createChartModule<T>(importModule: () => Promise<T>): ChartModule<T> {\n const initialSnapshot: ModuleSnapshot<T> = { module: null, error: null };\n let snapshot = initialSnapshot;\n let promise: Promise<T> | undefined;\n const listeners = new Set<() => void>();\n const publish = (next: ModuleSnapshot<T>) => {\n snapshot = next;\n listeners.forEach((listener) => listener());\n };\n\n return {\n load: () => promise ??= importModule().then((module) => {\n publish({ module, error: null });\n return module;\n }, (error: unknown) => {\n publish({ module: null, error: error instanceof Error ? error : new Error(\"Unable to load chart module.\") });\n throw error;\n }),\n getSnapshot: () => snapshot,\n getServerSnapshot: () => initialSnapshot,\n subscribe: (listener) => {\n listeners.add(listener);\n return () => { listeners.delete(listener); };\n }\n };\n}\n\nexport const officeChartRenderer = createChartModule(async () => {\n try {\n const [{ loadOfficeCharts }, { SharedChartSvg }] = await Promise.all([\n import(\"@extend-ai/rust-office-charts\"), import(\"./shared-chart\")\n ]);\n return { renderer: await loadOfficeCharts(), SharedChartSvg };\n } catch {\n return { renderer: null, SharedChartSvg: null };\n }\n});\n\nexport const chartRenderer = createChartModule(() => import(\"./chart-renderer\"));\nexport const regionMapResources = createChartModule(() => import(\"./region-map-geography\"));\nexport const surfaceRenderer = createChartModule(() => import(\"./surface-regl\"));\n\nexport function preloadChartRenderers(chartsBySheet: readonly (readonly XlsxChart[])[]) {\n let hasCharts = false;\n let hasSharedCharts = false;\n let hasMaps = false;\n let hasSurfaces = false;\n for (const charts of chartsBySheet) {\n for (const chart of charts) {\n hasSharedCharts ||= Boolean(chart.renderSource);\n hasCharts ||= !chart.renderSource;\n hasMaps ||= chart.chartType === \"RegionMap\";\n hasSurfaces ||= chart.chartType === \"Surface\";\n }\n }\n\n if (hasSharedCharts) void officeChartRenderer.load().catch(() => {});\n if (hasCharts) void chartRenderer.load().catch(() => {});\n if (hasMaps) void regionMapResources.load().catch(() => {});\n if (hasSurfaces) void surfaceRenderer.load().catch(() => {});\n}\n"]}
@@ -364,6 +364,15 @@ function x2(n2) {
364
364
  var u4 = r2.context[n2.__c], i3 = s2(t2++, 9);
365
365
  return i3.c = n2, u4 ? (null == i3.__ && (i3.__ = true, u4.sub(r2)), u4.props.value) : n2.__;
366
366
  }
367
+ function g2() {
368
+ var n2 = s2(t2++, 11);
369
+ if (!n2.__) {
370
+ for (var u4 = r2.__v; null !== u4 && !u4.__m && null !== u4.__; ) u4 = u4.__;
371
+ var i3 = u4.__m || (u4.__m = [0, 0]);
372
+ n2.__ = "P" + i3[0] + "-" + i3[1]++;
373
+ }
374
+ return n2.__;
375
+ }
367
376
  function j2() {
368
377
  for (var n2; n2 = f2.shift(); ) {
369
378
  var t3 = n2.__H;
@@ -688,93 +697,6 @@ var bn = function(n2, t3) {
688
697
  }
689
698
  };
690
699
 
691
- // src/builtin-chart-styles.ts
692
- function decodeSrgb(channel) {
693
- return channel <= 0.04045 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4;
694
- }
695
- function encodeSrgb(channel) {
696
- return channel <= 31308e-7 ? channel * 12.92 : 1.055 * channel ** (1 / 2.4) - 0.055;
697
- }
698
- function quantizeLinear(channel) {
699
- return Math.round(channel * 1e5) / 1e5;
700
- }
701
- function resolveBuiltinChartColor(color, colorsByIndex) {
702
- if (!color) return void 0;
703
- const hex = colorsByIndex[color.themeIndex]?.replace(/^#/, "");
704
- if (!hex || !/^[\da-f]{6}$/i.test(hex)) return void 0;
705
- if (color.transforms.length === 0) return `#${hex.toLowerCase()}`;
706
- const channels = [0, 2, 4].map((offset) => Math.fround(quantizeLinear(decodeSrgb(Number.parseInt(hex.slice(offset, offset + 2), 16) / 255))));
707
- for (const transform of color.transforms) {
708
- const amount = Math.fround(Math.max(0, Math.min(1, transform.value)));
709
- for (let index = 0; index < channels.length; index += 1) {
710
- const channel = channels[index];
711
- channels[index] = transform.type === "tint" ? Math.fround(Math.fround(1 - amount) + Math.fround(amount * channel)) : Math.fround(amount * channel);
712
- }
713
- }
714
- return `#${channels.map((channel) => Math.round(encodeSrgb(quantizeLinear(channel)) * 255).toString(16).padStart(2, "0")).join("")}`;
715
- }
716
- var GRAYSCALE_TINTS = [88, 55, 78, 92, 70, 30];
717
- var DARK_GRAYSCALE_TINTS = [5, 55, 78, 15, 70, 30];
718
- function normalizeClassicStyle(styleId) {
719
- if (styleId === void 0 || !Number.isInteger(styleId)) return void 0;
720
- if (styleId >= 1 && styleId <= 48) return styleId;
721
- if (styleId >= 101 && styleId <= 148) return styleId - 100;
722
- return void 0;
723
- }
724
- function themeColor(themeIndex, tint) {
725
- return {
726
- themeIndex,
727
- transforms: tint === void 0 ? [] : [{ type: "tint", value: tint / 100 }]
728
- };
729
- }
730
- function appendBrightness(color, percent) {
731
- if (percent > 0) color.transforms.push({ type: "tint", value: (100 - percent) / 100 });
732
- if (percent < 0) color.transforms.push({ type: "shade", value: (100 + percent) / 100 });
733
- return color;
734
- }
735
- function getBuiltinChartColor(styleId, index, count) {
736
- const style = normalizeClassicStyle(styleId);
737
- if (style === void 0 || !Number.isInteger(index) || index < 0 || !Number.isInteger(count) || count < 1) {
738
- return void 0;
739
- }
740
- const palette = style === 41 ? 9 : (style - 1) % 8 + 1;
741
- const monochrome = palette >= 3 && palette <= 8;
742
- const color = monochrome ? themeColor(palette + 1) : palette === 2 ? themeColor(4 + index % 6) : themeColor(1, (palette === 9 ? DARK_GRAYSCALE_TINTS : GRAYSCALE_TINTS)[index % 6]);
743
- const numerator = 140 * (monochrome ? index + 1 : Math.floor(index / 6) + 1);
744
- const denominator = monochrome ? count + 1 : Math.floor(count / 6) + 2;
745
- const brightness = (Math.trunc(Math.fround(Math.fround(numerator) / Math.fround(denominator))) - 70) % 100;
746
- return appendBrightness(color, brightness);
747
- }
748
- function getBuiltinChartSurfaceStyle(styleId) {
749
- const style = normalizeClassicStyle(styleId);
750
- if (style === void 0) return void 0;
751
- let fill = null;
752
- if (style === 33 || style === 34) fill = themeColor(1, 20);
753
- if (style >= 35 && style <= 40) fill = themeColor(style - 31, (styleId ?? 0) >= 100 ? 20 : void 0);
754
- if (style >= 41) fill = themeColor(1, 95);
755
- return {
756
- floor: { fill, line: style <= 40 ? themeColor(1, 75) : null },
757
- wall: { fill, line: null },
758
- majorGridline: themeColor(1, (styleId ?? 0) >= 100 ? 75 : void 0),
759
- minorGridline: themeColor(1, style >= 41 ? 90 : 50)
760
- };
761
- }
762
- function getBuiltinChartSurfaceLine(styleId, index, count) {
763
- const style = normalizeClassicStyle(styleId);
764
- if (style === void 0 || !Number.isInteger(index) || index < 0 || !Number.isInteger(count) || count < 1) {
765
- return void 0;
766
- }
767
- if (style >= 9 && style <= 16) return themeColor(2);
768
- if (styleId === 133) return themeColor(1, 92);
769
- if (style === 33 || style >= 35 && style <= 40) {
770
- return {
771
- themeIndex: style === 33 ? 1 : style - 31,
772
- transforms: [{ type: "shade", value: 0.5 }]
773
- };
774
- }
775
- return void 0;
776
- }
777
-
778
700
  // ../../node_modules/.pnpm/preact@10.29.8/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs
779
701
  var f3 = 0;
780
702
  function u3(e3, t3, n2, o3, i3, u4) {
@@ -799,6 +721,7 @@ export {
799
721
  T2 as T,
800
722
  q2 as q,
801
723
  x2 as x,
724
+ g2 as g,
802
725
  C3 as C2,
803
726
  w3 as w,
804
727
  k3 as k2,
@@ -807,10 +730,6 @@ export {
807
730
  nn,
808
731
  pn,
809
732
  bn,
810
- resolveBuiltinChartColor,
811
- getBuiltinChartColor,
812
- getBuiltinChartSurfaceStyle,
813
- getBuiltinChartSurfaceLine,
814
733
  u3 as u
815
734
  };
816
- //# sourceMappingURL=chunk-NBH72POD.js.map
735
+ //# sourceMappingURL=chunk-PUI6QI4U.js.map