@rowsncolumns/charts 28.0.0 → 28.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/cjs/atoms/pivot-chart.atom.d.ts +14 -0
  2. package/dist/cjs/atoms/pivot-chart.atom.d.ts.map +1 -0
  3. package/dist/cjs/atoms/pivot-chart.atom.js +9 -0
  4. package/dist/cjs/basic-chart/basic-chart.d.ts +1 -1
  5. package/dist/cjs/basic-chart/basic-chart.d.ts.map +1 -1
  6. package/dist/cjs/basic-chart/basic-chart.js +863 -371
  7. package/dist/cjs/components/dialogs/pivot-chart-dialog.d.ts +39 -0
  8. package/dist/cjs/components/dialogs/pivot-chart-dialog.d.ts.map +1 -0
  9. package/dist/cjs/components/dialogs/pivot-chart-dialog.js +100 -0
  10. package/dist/cjs/components/editors/chart-editor.d.ts +13 -1
  11. package/dist/cjs/components/editors/chart-editor.d.ts.map +1 -1
  12. package/dist/cjs/components/editors/chart-editor.js +225 -59
  13. package/dist/cjs/config.d.ts.map +1 -1
  14. package/dist/cjs/config.js +149 -12
  15. package/dist/cjs/hooks/use-charts.d.ts +21 -6
  16. package/dist/cjs/hooks/use-charts.d.ts.map +1 -1
  17. package/dist/cjs/hooks/use-charts.js +13 -1
  18. package/dist/cjs/hooks/use-on-create-chart.d.ts.map +1 -1
  19. package/dist/cjs/hooks/use-on-create-chart.js +7 -1
  20. package/dist/cjs/hooks/use-on-move-chart-to-sheet.d.ts +12 -0
  21. package/dist/cjs/hooks/use-on-move-chart-to-sheet.d.ts.map +1 -0
  22. package/dist/cjs/hooks/use-on-move-chart-to-sheet.js +26 -0
  23. package/dist/cjs/hooks/use-on-move-chart.d.ts +1 -1
  24. package/dist/cjs/hooks/use-on-move-chart.d.ts.map +1 -1
  25. package/dist/cjs/hooks/use-on-move-chart.js +2 -2
  26. package/dist/cjs/hooks/use-on-resize-chart.d.ts +1 -1
  27. package/dist/cjs/hooks/use-on-resize-chart.d.ts.map +1 -1
  28. package/dist/cjs/hooks/use-on-resize-chart.js +2 -2
  29. package/dist/cjs/index.d.ts +11 -0
  30. package/dist/cjs/index.d.ts.map +1 -1
  31. package/dist/cjs/index.js +34 -1
  32. package/dist/cjs/interface/create-chart.d.ts.map +1 -1
  33. package/dist/cjs/interface/create-chart.js +33 -42
  34. package/dist/cjs/interface/delete-chart.d.ts.map +1 -1
  35. package/dist/cjs/interface/delete-chart.js +4 -0
  36. package/dist/cjs/interface/move-chart-to-sheet.d.ts +13 -0
  37. package/dist/cjs/interface/move-chart-to-sheet.d.ts.map +1 -0
  38. package/dist/cjs/interface/move-chart-to-sheet.js +136 -0
  39. package/dist/cjs/interface/move-chart.d.ts +2 -2
  40. package/dist/cjs/interface/move-chart.d.ts.map +1 -1
  41. package/dist/cjs/interface/move-chart.js +7 -1
  42. package/dist/cjs/interface/resize-chart.d.ts +2 -2
  43. package/dist/cjs/interface/resize-chart.d.ts.map +1 -1
  44. package/dist/cjs/interface/resize-chart.js +7 -1
  45. package/dist/cjs/interface/update-chart.d.ts.map +1 -1
  46. package/dist/cjs/interface/update-chart.js +4 -0
  47. package/dist/cjs/plotly/basic-chart/basic-chart.d.ts +1 -1
  48. package/dist/cjs/plotly/basic-chart/basic-chart.d.ts.map +1 -1
  49. package/dist/cjs/plotly/basic-chart/basic-chart.js +970 -585
  50. package/dist/cjs/plotly/basic-chart/helpers.d.ts.map +1 -1
  51. package/dist/cjs/plotly/basic-chart/helpers.js +3 -0
  52. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  53. package/dist/cjs/types.d.ts +7 -0
  54. package/dist/cjs/types.d.ts.map +1 -1
  55. package/dist/cjs/utils/axis-number-format.d.ts +69 -0
  56. package/dist/cjs/utils/axis-number-format.d.ts.map +1 -0
  57. package/dist/cjs/utils/axis-number-format.js +217 -0
  58. package/dist/cjs/utils/category-levels.d.ts +27 -0
  59. package/dist/cjs/utils/category-levels.d.ts.map +1 -0
  60. package/dist/cjs/utils/category-levels.js +80 -0
  61. package/dist/cjs/utils/chart-image.d.ts +8 -0
  62. package/dist/cjs/utils/chart-image.d.ts.map +1 -0
  63. package/dist/cjs/utils/chart-image.js +28 -0
  64. package/dist/cjs/utils/chart-orientation.d.ts +67 -0
  65. package/dist/cjs/utils/chart-orientation.d.ts.map +1 -0
  66. package/dist/cjs/utils/chart-orientation.js +265 -0
  67. package/dist/cjs/utils/chart-spec-utils.d.ts +3 -0
  68. package/dist/cjs/utils/chart-spec-utils.d.ts.map +1 -1
  69. package/dist/cjs/utils/chart-spec-utils.js +12 -4
  70. package/dist/cjs/utils/chart-styles.d.ts +75 -0
  71. package/dist/cjs/utils/chart-styles.d.ts.map +1 -0
  72. package/dist/cjs/utils/chart-styles.js +283 -0
  73. package/dist/cjs/utils/empty-cells.d.ts +30 -0
  74. package/dist/cjs/utils/empty-cells.d.ts.map +1 -0
  75. package/dist/cjs/utils/empty-cells.js +91 -0
  76. package/dist/cjs/utils/overrides.d.ts +6 -1
  77. package/dist/cjs/utils/overrides.d.ts.map +1 -1
  78. package/dist/cjs/utils/overrides.js +19 -7
  79. package/dist/cjs/utils/pie-explosion.d.ts +30 -0
  80. package/dist/cjs/utils/pie-explosion.d.ts.map +1 -0
  81. package/dist/cjs/utils/pie-explosion.js +55 -0
  82. package/dist/cjs/utils/plotly-click.d.ts +34 -0
  83. package/dist/cjs/utils/plotly-click.d.ts.map +1 -0
  84. package/dist/cjs/utils/plotly-click.js +49 -0
  85. package/dist/cjs/utils/plotly-surface.d.ts +14 -0
  86. package/dist/cjs/utils/plotly-surface.d.ts.map +1 -0
  87. package/dist/cjs/utils/plotly-surface.js +64 -0
  88. package/dist/cjs/utils/plotly-title.d.ts +12 -0
  89. package/dist/cjs/utils/plotly-title.d.ts.map +1 -0
  90. package/dist/cjs/utils/plotly-title.js +24 -0
  91. package/dist/cjs/utils/series-click.d.ts +39 -0
  92. package/dist/cjs/utils/series-click.d.ts.map +1 -0
  93. package/dist/cjs/utils/series-click.js +75 -0
  94. package/dist/cjs/utils/three-d.d.ts +17 -1
  95. package/dist/cjs/utils/three-d.d.ts.map +1 -1
  96. package/dist/cjs/utils/three-d.js +32 -4
  97. package/dist/esm/atoms/pivot-chart.atom.d.ts +14 -0
  98. package/dist/esm/atoms/pivot-chart.atom.d.ts.map +1 -0
  99. package/dist/esm/atoms/pivot-chart.atom.js +4 -0
  100. package/dist/esm/basic-chart/basic-chart.d.ts +1 -1
  101. package/dist/esm/basic-chart/basic-chart.d.ts.map +1 -1
  102. package/dist/esm/basic-chart/basic-chart.js +680 -178
  103. package/dist/esm/components/dialogs/pivot-chart-dialog.d.ts +39 -0
  104. package/dist/esm/components/dialogs/pivot-chart-dialog.d.ts.map +1 -0
  105. package/dist/esm/components/dialogs/pivot-chart-dialog.js +89 -0
  106. package/dist/esm/components/editors/chart-editor.d.ts +13 -1
  107. package/dist/esm/components/editors/chart-editor.d.ts.map +1 -1
  108. package/dist/esm/components/editors/chart-editor.js +164 -20
  109. package/dist/esm/config.d.ts.map +1 -1
  110. package/dist/esm/config.js +149 -12
  111. package/dist/esm/hooks/use-charts.d.ts +21 -6
  112. package/dist/esm/hooks/use-charts.d.ts.map +1 -1
  113. package/dist/esm/hooks/use-charts.js +13 -1
  114. package/dist/esm/hooks/use-on-create-chart.d.ts.map +1 -1
  115. package/dist/esm/hooks/use-on-create-chart.js +7 -1
  116. package/dist/esm/hooks/use-on-move-chart-to-sheet.d.ts +12 -0
  117. package/dist/esm/hooks/use-on-move-chart-to-sheet.d.ts.map +1 -0
  118. package/dist/esm/hooks/use-on-move-chart-to-sheet.js +19 -0
  119. package/dist/esm/hooks/use-on-move-chart.d.ts +1 -1
  120. package/dist/esm/hooks/use-on-move-chart.d.ts.map +1 -1
  121. package/dist/esm/hooks/use-on-move-chart.js +2 -2
  122. package/dist/esm/hooks/use-on-resize-chart.d.ts +1 -1
  123. package/dist/esm/hooks/use-on-resize-chart.d.ts.map +1 -1
  124. package/dist/esm/hooks/use-on-resize-chart.js +2 -2
  125. package/dist/esm/index.d.ts +11 -0
  126. package/dist/esm/index.d.ts.map +1 -1
  127. package/dist/esm/index.js +14 -0
  128. package/dist/esm/interface/create-chart.d.ts.map +1 -1
  129. package/dist/esm/interface/create-chart.js +36 -58
  130. package/dist/esm/interface/delete-chart.d.ts.map +1 -1
  131. package/dist/esm/interface/delete-chart.js +4 -0
  132. package/dist/esm/interface/move-chart-to-sheet.d.ts +13 -0
  133. package/dist/esm/interface/move-chart-to-sheet.d.ts.map +1 -0
  134. package/dist/esm/interface/move-chart-to-sheet.js +126 -0
  135. package/dist/esm/interface/move-chart.d.ts +2 -2
  136. package/dist/esm/interface/move-chart.d.ts.map +1 -1
  137. package/dist/esm/interface/move-chart.js +7 -1
  138. package/dist/esm/interface/resize-chart.d.ts +2 -2
  139. package/dist/esm/interface/resize-chart.d.ts.map +1 -1
  140. package/dist/esm/interface/resize-chart.js +7 -1
  141. package/dist/esm/interface/update-chart.d.ts.map +1 -1
  142. package/dist/esm/interface/update-chart.js +4 -0
  143. package/dist/esm/plotly/basic-chart/basic-chart.d.ts +1 -1
  144. package/dist/esm/plotly/basic-chart/basic-chart.d.ts.map +1 -1
  145. package/dist/esm/plotly/basic-chart/basic-chart.js +858 -463
  146. package/dist/esm/plotly/basic-chart/helpers.d.ts.map +1 -1
  147. package/dist/esm/plotly/basic-chart/helpers.js +3 -0
  148. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  149. package/dist/esm/types.d.ts +7 -0
  150. package/dist/esm/types.d.ts.map +1 -1
  151. package/dist/esm/utils/axis-number-format.d.ts +69 -0
  152. package/dist/esm/utils/axis-number-format.d.ts.map +1 -0
  153. package/dist/esm/utils/axis-number-format.js +170 -0
  154. package/dist/esm/utils/category-levels.d.ts +27 -0
  155. package/dist/esm/utils/category-levels.d.ts.map +1 -0
  156. package/dist/esm/utils/category-levels.js +65 -0
  157. package/dist/esm/utils/chart-image.d.ts +8 -0
  158. package/dist/esm/utils/chart-image.d.ts.map +1 -0
  159. package/dist/esm/utils/chart-image.js +24 -0
  160. package/dist/esm/utils/chart-orientation.d.ts +67 -0
  161. package/dist/esm/utils/chart-orientation.d.ts.map +1 -0
  162. package/dist/esm/utils/chart-orientation.js +234 -0
  163. package/dist/esm/utils/chart-spec-utils.d.ts +3 -0
  164. package/dist/esm/utils/chart-spec-utils.d.ts.map +1 -1
  165. package/dist/esm/utils/chart-spec-utils.js +10 -2
  166. package/dist/esm/utils/chart-styles.d.ts +75 -0
  167. package/dist/esm/utils/chart-styles.d.ts.map +1 -0
  168. package/dist/esm/utils/chart-styles.js +357 -0
  169. package/dist/esm/utils/empty-cells.d.ts +30 -0
  170. package/dist/esm/utils/empty-cells.d.ts.map +1 -0
  171. package/dist/esm/utils/empty-cells.js +67 -0
  172. package/dist/esm/utils/overrides.d.ts +6 -1
  173. package/dist/esm/utils/overrides.d.ts.map +1 -1
  174. package/dist/esm/utils/overrides.js +14 -2
  175. package/dist/esm/utils/pie-explosion.d.ts +30 -0
  176. package/dist/esm/utils/pie-explosion.d.ts.map +1 -0
  177. package/dist/esm/utils/pie-explosion.js +43 -0
  178. package/dist/esm/utils/plotly-click.d.ts +34 -0
  179. package/dist/esm/utils/plotly-click.d.ts.map +1 -0
  180. package/dist/esm/utils/plotly-click.js +44 -0
  181. package/dist/esm/utils/plotly-surface.d.ts +14 -0
  182. package/dist/esm/utils/plotly-surface.d.ts.map +1 -0
  183. package/dist/esm/utils/plotly-surface.js +45 -0
  184. package/dist/esm/utils/plotly-title.d.ts +12 -0
  185. package/dist/esm/utils/plotly-title.d.ts.map +1 -0
  186. package/dist/esm/utils/plotly-title.js +20 -0
  187. package/dist/esm/utils/series-click.d.ts +39 -0
  188. package/dist/esm/utils/series-click.d.ts.map +1 -0
  189. package/dist/esm/utils/series-click.js +66 -0
  190. package/dist/esm/utils/three-d.d.ts +17 -1
  191. package/dist/esm/utils/three-d.d.ts.map +1 -1
  192. package/dist/esm/utils/three-d.js +29 -3
  193. package/package.json +13 -9
@@ -0,0 +1,39 @@
1
+ import type { CellInterface } from "@rowsncolumns/common-types";
2
+ import type { PivotTable } from "@rowsncolumns/spreadsheet";
3
+ import React from "react";
4
+ import { type PivotChartRequest } from "../../atoms/pivot-chart.atom";
5
+ /**
6
+ * What the PivotChart dialog hands back: bind to an existing pivot, or
7
+ * create `newPivotTable` first (Excel's Insert → PivotChart on a plain
8
+ * range creates an empty PivotTable and an empty PivotChart side by side;
9
+ * both fill in as fields are added). `anchorCell` is where the chart frame
10
+ * goes — to the right of a new pivot, at the active cell otherwise.
11
+ */
12
+ export type PivotChartSubmission = {
13
+ sheetId: number;
14
+ anchorCell: CellInterface;
15
+ } & ({
16
+ pivotId: PivotTable["pivotId"];
17
+ } | {
18
+ newPivotTable: PivotTable;
19
+ });
20
+ /** Excel names pivots `PivotTable1`, `PivotTable2`, …; unnamed ones show that way. */
21
+ export declare const pivotTableLabel: (pivot: PivotTable, index: number) => string;
22
+ export type PivotChartPickerProps = {
23
+ request: PivotChartRequest;
24
+ pivotTables: PivotTable[];
25
+ onSubmit(submission: PivotChartSubmission): void;
26
+ onClose(): void;
27
+ };
28
+ export declare const PivotChartPicker: ({ request, pivotTables, onSubmit, onClose, }: PivotChartPickerProps) => React.JSX.Element;
29
+ export type PivotChartDialogProps = {
30
+ pivotTables: PivotTable[];
31
+ onSubmit(submission: PivotChartSubmission): void;
32
+ };
33
+ export declare const PivotChartDialog: ({ pivotTables, onSubmit, }: PivotChartDialogProps) => React.JSX.Element;
34
+ /**
35
+ * The grid's `onRequestCreatePivotChart`: a request from a pivot's own
36
+ * context menu binds straight away; Insert → PivotChart opens the dialog.
37
+ */
38
+ export declare const useRequestCreatePivotChart: (onSubmit: (submission: PivotChartSubmission) => void) => (sheetId: number, activeCell: CellInterface, selections: PivotChartRequest["selections"], pivotId?: PivotTable["pivotId"]) => void;
39
+ //# sourceMappingURL=pivot-chart-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pivot-chart-dialog.d.ts","sourceRoot":"","sources":["../../../../components/dialogs/pivot-chart-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAY5D,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;CAC3B,GAAG,CAAC;IAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;CAAE,GAAG;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAEzE,sFAAsF;AACtF,eAAO,MAAM,eAAe,GAAI,OAAO,UAAU,EAAE,OAAO,MAAM,WAChB,CAAC;AAOjD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,8CAK9B,qBAAqB,sBAmFvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,4BAG9B,qBAAqB,sBA8BvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAU,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI,eAKvC,MAAM,cACH,aAAa,cACb,iBAAiB,CAAC,YAAY,CAAC,YACjC,UAAU,CAAC,SAAS,CAAC,SAUpC,CAAC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRequestCreatePivotChart = exports.PivotChartDialog = exports.PivotChartPicker = exports.pivotTableLabel = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var icons_1 = require("@rowsncolumns/icons");
6
+ var spreadsheet_1 = require("@rowsncolumns/spreadsheet");
7
+ var ui_1 = require("@rowsncolumns/ui");
8
+ var utils_1 = require("@rowsncolumns/utils");
9
+ var react_1 = tslib_1.__importStar(require("react"));
10
+ var pivot_chart_atom_1 = require("../../atoms/pivot-chart.atom");
11
+ /** Excel names pivots `PivotTable1`, `PivotTable2`, …; unnamed ones show that way. */
12
+ var pivotTableLabel = function (pivot, index) { var _a; return ((_a = pivot.name) === null || _a === void 0 ? void 0 : _a.trim()) || "PivotTable".concat(index + 1); };
13
+ exports.pivotTableLabel = pivotTableLabel;
14
+ var NEW_PIVOT = "__new__";
15
+ /** Columns between a new pivot's top-left cell and its PivotChart's anchor. */
16
+ var CHART_GAP_COLUMNS = 4;
17
+ var PivotChartPicker = function (_a) {
18
+ var _b;
19
+ var request = _a.request, pivotTables = _a.pivotTables, onSubmit = _a.onSubmit, onClose = _a.onClose;
20
+ var sheetId = request.sheetId, activeCell = request.activeCell, selections = request.selections;
21
+ var selection = (_b = selections[selections.length - 1]) === null || _b === void 0 ? void 0 : _b.range;
22
+ var canCreate = selection !== undefined;
23
+ var _c = tslib_1.__read((0, react_1.useState)(pivotTables.length
24
+ ? String(pivotTables[0].pivotId)
25
+ : canCreate
26
+ ? NEW_PIVOT
27
+ : ""), 2), choice = _c[0], setChoice = _c[1];
28
+ var submit = function (event) {
29
+ event.preventDefault();
30
+ if (choice === NEW_PIVOT && selection) {
31
+ onSubmit({
32
+ sheetId: sheetId,
33
+ anchorCell: {
34
+ rowIndex: activeCell.rowIndex,
35
+ columnIndex: activeCell.columnIndex + CHART_GAP_COLUMNS,
36
+ },
37
+ newPivotTable: {
38
+ pivotId: (0, utils_1.uuidString)(),
39
+ rows: [],
40
+ columns: [],
41
+ values: [],
42
+ source: tslib_1.__assign(tslib_1.__assign({}, selection), { sheetId: sheetId }),
43
+ targetPosition: tslib_1.__assign(tslib_1.__assign({}, activeCell), { sheetId: sheetId }),
44
+ },
45
+ });
46
+ }
47
+ else {
48
+ var pivot = pivotTables.find(function (p) { return String(p.pivotId) === choice; });
49
+ if (!pivot)
50
+ return;
51
+ onSubmit({ sheetId: sheetId, anchorCell: activeCell, pivotId: pivot.pivotId });
52
+ }
53
+ onClose();
54
+ };
55
+ return (react_1.default.createElement("form", { onSubmit: submit },
56
+ react_1.default.createElement(ui_1.Stack, { direction: "vertical", className: "pb-2 gap-2" },
57
+ react_1.default.createElement("div", { className: "font-system text-sm" }, "Choose the PivotTable to chart"),
58
+ react_1.default.createElement(ui_1.Stack, { direction: "vertical", className: "gap-1", role: "radiogroup" },
59
+ pivotTables.map(function (pivot, index) { return (react_1.default.createElement("label", { key: String(pivot.pivotId), className: "font-system text-sm items-center flex gap-1" },
60
+ react_1.default.createElement("input", { type: "radio", name: "pivot", className: "m-0", value: String(pivot.pivotId), checked: choice === String(pivot.pivotId), onChange: function () { return setChoice(String(pivot.pivotId)); } }),
61
+ (0, exports.pivotTableLabel)(pivot, index))); }),
62
+ react_1.default.createElement("label", { className: "font-system text-sm items-center flex gap-1" },
63
+ react_1.default.createElement("input", { type: "radio", name: "pivot", className: "m-0", value: NEW_PIVOT, disabled: !canCreate, checked: choice === NEW_PIVOT, onChange: function () { return setChoice(NEW_PIVOT); } }),
64
+ "New PivotTable from the current selection"))),
65
+ react_1.default.createElement("div", { className: "flex gap-1 pt-2" },
66
+ react_1.default.createElement(ui_1.Button, { type: "submit", variant: "primary", size: "xs", disabled: !choice }, "Insert"),
67
+ react_1.default.createElement(ui_1.Button, { size: "xs", type: "button", onClick: onClose }, "Cancel"))));
68
+ };
69
+ exports.PivotChartPicker = PivotChartPicker;
70
+ var PivotChartDialog = function (_a) {
71
+ var pivotTables = _a.pivotTables, onSubmit = _a.onSubmit;
72
+ var _b = tslib_1.__read((0, pivot_chart_atom_1.usePivotChartRequest)(), 2), request = _b[0], setRequest = _b[1];
73
+ var focusSheet = (0, spreadsheet_1.useFocusSheet)();
74
+ var closeDialog = function () {
75
+ setRequest(undefined);
76
+ focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
77
+ };
78
+ return (react_1.default.createElement(ui_1.Dialog, { modal: false, open: request !== undefined },
79
+ react_1.default.createElement(ui_1.DialogContent, { onEscapeKeyDown: closeDialog, className: "translate-y-1/2" },
80
+ react_1.default.createElement(ui_1.DialogTitle, { className: "rnc-drag-handle cursor-move" }, "Insert PivotChart"),
81
+ react_1.default.createElement(ui_1.DialogBody, null, request ? (react_1.default.createElement(exports.PivotChartPicker, { key: "".concat(request.sheetId, ":").concat(request.activeCell.rowIndex, ":").concat(request.activeCell.columnIndex), request: request, pivotTables: pivotTables, onSubmit: onSubmit, onClose: closeDialog })) : null),
82
+ react_1.default.createElement(ui_1.DialogCloseButton, { onClick: closeDialog },
83
+ react_1.default.createElement(icons_1.Cross2Icon, null)))));
84
+ };
85
+ exports.PivotChartDialog = PivotChartDialog;
86
+ /**
87
+ * The grid's `onRequestCreatePivotChart`: a request from a pivot's own
88
+ * context menu binds straight away; Insert → PivotChart opens the dialog.
89
+ */
90
+ var useRequestCreatePivotChart = function (onSubmit) {
91
+ var setRequest = (0, pivot_chart_atom_1.useSetPivotChartRequest)();
92
+ return (0, react_1.useCallback)(function (sheetId, activeCell, selections, pivotId) {
93
+ if (pivotId !== undefined) {
94
+ onSubmit({ sheetId: sheetId, anchorCell: activeCell, pivotId: pivotId });
95
+ return;
96
+ }
97
+ setRequest({ sheetId: sheetId, activeCell: activeCell, selections: selections });
98
+ }, [onSubmit, setRequest]);
99
+ };
100
+ exports.useRequestCreatePivotChart = useRequestCreatePivotChart;
@@ -1,10 +1,22 @@
1
1
  import type { EmbeddedChart } from "@rowsncolumns/spreadsheet";
2
2
  import React from "react";
3
+ import { type ChartCellLabelGetter } from "../../utils/chart-orientation";
3
4
  type ChartEditorProps = {
4
5
  chart?: EmbeddedChart;
5
6
  sheetId: number;
6
7
  onSubmit?(chart: EmbeddedChart): void;
8
+ /**
9
+ * Excel's "Move Chart…" (Design → Move Chart): offered as a button in the
10
+ * Properties section when provided — the host opens its dialog (e.g.
11
+ * `useOpenMoveChartDialog`).
12
+ */
13
+ onRequestMoveChart?(chart: EmbeddedChart): void;
14
+ /**
15
+ * Formatted cell text — names the series Switch Row/Column derives
16
+ * from the data range. Without it the switched series are unnamed.
17
+ */
18
+ getFormattedValue?: ChartCellLabelGetter;
7
19
  };
8
- export declare const ChartEditor: ({ chart, sheetId, onSubmit }: ChartEditorProps) => React.JSX.Element;
20
+ export declare const ChartEditor: ({ chart, sheetId, onSubmit, onRequestMoveChart, getFormattedValue, }: ChartEditorProps) => React.JSX.Element;
9
21
  export default ChartEditor;
10
22
  //# sourceMappingURL=chart-editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/chart-editor.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAuBnC,OAAO,KAAkB,MAAM,OAAO,CAAC;AAuBvC,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACvC,CAAC;AAuBF,eAAO,MAAM,WAAW,GAAI,8BAA8B,gBAAgB,sBAo9CzE,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"chart-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/chart-editor.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,aAAa,EAGd,MAAM,2BAA2B,CAAC;AAuBnC,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,+BAA+B,CAAC;AA4CvC,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;CAC1C,CAAC;AAuBF,eAAO,MAAM,WAAW,GAAI,sEAMzB,gBAAgB,sBA+5DlB,CAAC;AAEF,eAAe,WAAW,CAAC"}