@leankylin-sheet/formula-parser 3.1.29 → 3.1.30

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 (204) hide show
  1. package/{lib/grammar-parser/grammar-parser.js → dist/index.esm.js} +856 -46
  2. package/{es/grammar-parser/grammar-parser.js → dist/index.js} +903 -42
  3. package/dist/packages/core/src/api/cell.d.ts +10 -0
  4. package/dist/packages/core/src/api/common.d.ts +57 -0
  5. package/dist/packages/core/src/api/errors.d.ts +2 -0
  6. package/dist/packages/core/src/api/index.d.ts +9 -0
  7. package/dist/packages/core/src/api/merge.d.ts +5 -0
  8. package/dist/packages/core/src/api/range.d.ts +22 -0
  9. package/dist/packages/core/src/api/rowcol.d.ts +14 -0
  10. package/dist/packages/core/src/api/sheet.d.ts +10 -0
  11. package/dist/packages/core/src/api/workbook.d.ts +15 -0
  12. package/dist/packages/core/src/canvas.d.ts +56 -0
  13. package/dist/packages/core/src/context.d.ts +193 -0
  14. package/dist/packages/core/src/events/copy.d.ts +2 -0
  15. package/dist/packages/core/src/events/index.d.ts +4 -0
  16. package/dist/packages/core/src/events/keyboard.d.ts +6 -0
  17. package/dist/packages/core/src/events/mouse.d.ts +25 -0
  18. package/dist/packages/core/src/events/paste.d.ts +5 -0
  19. package/dist/packages/core/src/index.d.ts +10 -0
  20. package/dist/packages/core/src/locale/en.d.ts +1028 -0
  21. package/dist/packages/core/src/locale/es.d.ts +1132 -0
  22. package/dist/packages/core/src/locale/index.d.ts +1046 -0
  23. package/dist/packages/core/src/locale/zh.d.ts +1045 -0
  24. package/dist/packages/core/src/locale/zh_tw.d.ts +1185 -0
  25. package/dist/packages/core/src/modules/ConditionFormat.d.ts +17 -0
  26. package/dist/packages/core/src/modules/border.d.ts +3 -0
  27. package/dist/packages/core/src/modules/cell.d.ts +32 -0
  28. package/dist/packages/core/src/modules/clipboard.d.ts +3 -0
  29. package/dist/packages/core/src/modules/color.d.ts +1 -0
  30. package/dist/packages/core/src/modules/comment.d.ts +96 -0
  31. package/dist/packages/core/src/modules/conditionalFormat.d.ts +2 -0
  32. package/dist/packages/core/src/modules/cursor.d.ts +3 -0
  33. package/dist/packages/core/src/modules/dataVerification.d.ts +11 -0
  34. package/dist/packages/core/src/modules/dropCell.d.ts +10 -0
  35. package/dist/packages/core/src/modules/filter.d.ts +45 -0
  36. package/dist/packages/core/src/modules/format.d.ts +6 -0
  37. package/dist/packages/core/src/modules/formula.d.ts +53 -0
  38. package/dist/packages/core/src/modules/freeze.d.ts +5 -0
  39. package/dist/packages/core/src/modules/hyperlink.d.ts +21 -0
  40. package/dist/packages/core/src/modules/image.d.ts +31 -0
  41. package/dist/packages/core/src/modules/index.d.ts +35 -0
  42. package/dist/packages/core/src/modules/inline-string.d.ts +36 -0
  43. package/dist/packages/core/src/modules/location.d.ts +6 -0
  44. package/dist/packages/core/src/modules/locationCondition.d.ts +21 -0
  45. package/dist/packages/core/src/modules/merge.d.ts +3 -0
  46. package/dist/packages/core/src/modules/mobile.d.ts +5 -0
  47. package/dist/packages/core/src/modules/moveCells.d.ts +5 -0
  48. package/dist/packages/core/src/modules/protection.d.ts +5 -0
  49. package/dist/packages/core/src/modules/refresh.d.ts +3 -0
  50. package/dist/packages/core/src/modules/rowcol.d.ts +19 -0
  51. package/dist/packages/core/src/modules/screenshot.d.ts +2 -0
  52. package/dist/packages/core/src/modules/searchReplace.d.ts +36 -0
  53. package/dist/packages/core/src/modules/selection.d.ts +47 -0
  54. package/dist/packages/core/src/modules/sheet.d.ts +10 -0
  55. package/dist/packages/core/src/modules/sort.d.ts +7 -0
  56. package/dist/packages/core/src/modules/splitColumn.d.ts +5 -0
  57. package/dist/packages/core/src/modules/ssf.d.ts +2 -0
  58. package/dist/packages/core/src/modules/text.d.ts +10 -0
  59. package/dist/packages/core/src/modules/toolbar.d.ts +32 -0
  60. package/dist/packages/core/src/modules/validation.d.ts +19 -0
  61. package/dist/packages/core/src/modules/zoom.d.ts +3 -0
  62. package/dist/packages/core/src/settings.d.ts +132 -0
  63. package/dist/packages/core/src/types.d.ts +351 -0
  64. package/dist/packages/core/src/utils/index.d.ts +17 -0
  65. package/dist/packages/core/src/utils/patch.d.ts +37 -0
  66. package/dist/packages/formula-parser/src/error.d.ts +10 -0
  67. package/dist/packages/formula-parser/src/evaluate-by-operator/evaluate-by-operator.d.ts +2 -0
  68. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/add.d.ts +6 -0
  69. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/ampersand.d.ts +6 -0
  70. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/divide.d.ts +6 -0
  71. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/equal.d.ts +6 -0
  72. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/formula-function.d.ts +7 -0
  73. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/greater-than-or-equal.d.ts +6 -0
  74. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/greater-than.d.ts +6 -0
  75. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/less-than-or-equal.d.ts +6 -0
  76. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/less-than.d.ts +6 -0
  77. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/minus.d.ts +6 -0
  78. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/multiply.d.ts +6 -0
  79. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/not-equal.d.ts +6 -0
  80. package/dist/packages/formula-parser/src/evaluate-by-operator/operator/power.d.ts +6 -0
  81. package/dist/packages/formula-parser/src/grammar-parser/grammar-parser.d.ts +4 -0
  82. package/dist/packages/formula-parser/src/helper/cell.d.ts +6 -0
  83. package/dist/packages/formula-parser/src/helper/number.d.ts +2 -0
  84. package/dist/packages/formula-parser/src/helper/string.d.ts +1 -0
  85. package/{es/index.js → dist/packages/formula-parser/src/index.d.ts} +5 -5
  86. package/dist/packages/formula-parser/src/parser.d.ts +20 -0
  87. package/dist/packages/formula-parser/src/supported-formulas.d.ts +2 -0
  88. package/dist/packages/react/src/components/CellOptions/index.d.ts +4 -0
  89. package/dist/packages/react/src/components/ChangeColor/index.d.ts +7 -0
  90. package/dist/packages/react/src/components/ConditionFormat/ConditionRules.d.ts +6 -0
  91. package/dist/packages/react/src/components/ConditionFormat/index.d.ts +7 -0
  92. package/dist/packages/react/src/components/ContextMenu/Divider.d.ts +3 -0
  93. package/dist/packages/react/src/components/ContextMenu/FilterMenu.d.ts +3 -0
  94. package/dist/packages/react/src/components/ContextMenu/Menu.d.ts +8 -0
  95. package/dist/packages/react/src/components/ContextMenu/SheetTab.d.ts +4 -0
  96. package/dist/packages/react/src/components/ContextMenu/index.d.ts +4 -0
  97. package/dist/packages/react/src/components/CustomSort/index.d.ts +4 -0
  98. package/dist/packages/react/src/components/DataVerification/DropdownList.d.ts +4 -0
  99. package/dist/packages/react/src/components/DataVerification/RangeDialog.d.ts +4 -0
  100. package/dist/packages/react/src/components/DataVerification/index.d.ts +4 -0
  101. package/dist/packages/react/src/components/Dialog/index.d.ts +12 -0
  102. package/dist/packages/react/src/components/FilterOption/index.d.ts +5 -0
  103. package/dist/packages/react/src/components/FormatSearch/index.d.ts +6 -0
  104. package/dist/packages/react/src/components/FormulaSearch/index.d.ts +5 -0
  105. package/dist/packages/react/src/components/FxEditor/CalcInfo.d.ts +3 -0
  106. package/dist/packages/react/src/components/FxEditor/NameBox.d.ts +3 -0
  107. package/dist/packages/react/src/components/FxEditor/index.d.ts +4 -0
  108. package/dist/packages/react/src/components/ImgBoxs/index.d.ts +3 -0
  109. package/dist/packages/react/src/components/LinkEidtCard/index.d.ts +5 -0
  110. package/dist/packages/react/src/components/LocationCondition/index.d.ts +3 -0
  111. package/dist/packages/react/src/components/MessageBox/index.d.ts +9 -0
  112. package/dist/packages/react/src/components/NotationBoxes/index.d.ts +3 -0
  113. package/dist/packages/react/src/components/SVGDefines.d.ts +3 -0
  114. package/dist/packages/react/src/components/SVGIcon.d.ts +9 -0
  115. package/dist/packages/react/src/components/SearchReplace/index.d.ts +4 -0
  116. package/dist/packages/react/src/components/Sheet/index.d.ts +8 -0
  117. package/dist/packages/react/src/components/SheetList/SheetHiddenButton.d.ts +8 -0
  118. package/dist/packages/react/src/components/SheetList/SheetListItem.d.ts +9 -0
  119. package/dist/packages/react/src/components/SheetList/index.d.ts +4 -0
  120. package/dist/packages/react/src/components/SheetOverlay/ColumnHeader.d.ts +3 -0
  121. package/dist/packages/react/src/components/SheetOverlay/ContentEditable.d.ts +11 -0
  122. package/dist/packages/react/src/components/SheetOverlay/FormulaHint/index.d.ts +4 -0
  123. package/dist/packages/react/src/components/SheetOverlay/FormulaSearch/index.d.ts +4 -0
  124. package/dist/packages/react/src/components/SheetOverlay/InputBox.d.ts +3 -0
  125. package/dist/packages/react/src/components/SheetOverlay/RowHeader.d.ts +3 -0
  126. package/dist/packages/react/src/components/SheetOverlay/ScrollBar/index.d.ts +7 -0
  127. package/dist/packages/react/src/components/SheetOverlay/index.d.ts +4 -0
  128. package/dist/packages/react/src/components/SheetTab/SheetItem.d.ts +8 -0
  129. package/dist/packages/react/src/components/SheetTab/index.d.ts +4 -0
  130. package/dist/packages/react/src/components/SplitColumn/index.d.ts +3 -0
  131. package/dist/packages/react/src/components/Toolbar/Button.d.ts +11 -0
  132. package/dist/packages/react/src/components/Toolbar/ColorPicker.d.ts +6 -0
  133. package/dist/packages/react/src/components/Toolbar/Combo.d.ts +10 -0
  134. package/dist/packages/react/src/components/Toolbar/CustomBorder.d.ts +7 -0
  135. package/dist/packages/react/src/components/Toolbar/CustomButton.d.ts +11 -0
  136. package/dist/packages/react/src/components/Toolbar/CustomColor.d.ts +8 -0
  137. package/dist/packages/react/src/components/Toolbar/CustomIcon.d.ts +9 -0
  138. package/dist/packages/react/src/components/Toolbar/Divider.d.ts +4 -0
  139. package/dist/packages/react/src/components/Toolbar/MoreItemsContainer.d.ts +6 -0
  140. package/dist/packages/react/src/components/Toolbar/Select.d.ts +14 -0
  141. package/dist/packages/react/src/components/Toolbar/index.d.ts +7 -0
  142. package/dist/packages/react/src/components/Workbook/api.d.ts +121 -0
  143. package/dist/packages/react/src/components/Workbook/index.d.ts +130 -0
  144. package/dist/packages/react/src/components/ZoomControl/index.d.ts +4 -0
  145. package/dist/packages/react/src/components/index.d.ts +3 -0
  146. package/dist/packages/react/src/context/index.d.ts +25 -0
  147. package/dist/packages/react/src/context/modal.d.ts +10 -0
  148. package/dist/packages/react/src/hooks/useAlert.d.ts +4 -0
  149. package/dist/packages/react/src/hooks/useDialog.d.ts +5 -0
  150. package/dist/packages/react/src/hooks/useOutsideClick.d.ts +2 -0
  151. package/dist/packages/react/src/hooks/usePrevious.d.ts +2 -0
  152. package/dist/packages/react/src/index.d.ts +1 -0
  153. package/dist/stories/data/cell.d.ts +1180 -0
  154. package/dist/stories/data/dataVerification.d.ts +131 -0
  155. package/dist/stories/data/empty.d.ts +10 -0
  156. package/dist/stories/data/formula.d.ts +362 -0
  157. package/dist/stories/data/freeze.d.ts +34 -0
  158. package/dist/stories/data/protected.d.ts +40 -0
  159. package/dist/stories/utils.d.ts +1 -0
  160. package/package.json +6 -18
  161. package/LICENSE +0 -21
  162. package/es/error.js +0 -45
  163. package/es/evaluate-by-operator/evaluate-by-operator.js +0 -70
  164. package/es/evaluate-by-operator/operator/add.js +0 -16
  165. package/es/evaluate-by-operator/operator/ampersand.js +0 -10
  166. package/es/evaluate-by-operator/operator/divide.js +0 -21
  167. package/es/evaluate-by-operator/operator/equal.js +0 -5
  168. package/es/evaluate-by-operator/operator/formula-function.js +0 -40
  169. package/es/evaluate-by-operator/operator/greater-than-or-equal.js +0 -5
  170. package/es/evaluate-by-operator/operator/greater-than.js +0 -5
  171. package/es/evaluate-by-operator/operator/less-than-or-equal.js +0 -5
  172. package/es/evaluate-by-operator/operator/less-than.js +0 -5
  173. package/es/evaluate-by-operator/operator/minus.js +0 -16
  174. package/es/evaluate-by-operator/operator/multiply.js +0 -16
  175. package/es/evaluate-by-operator/operator/not-equal.js +0 -5
  176. package/es/evaluate-by-operator/operator/power.js +0 -11
  177. package/es/grammar-parser/grammar-parser.jison +0 -230
  178. package/es/helper/cell.js +0 -117
  179. package/es/helper/number.js +0 -25
  180. package/es/helper/string.js +0 -13
  181. package/es/parser.js +0 -306
  182. package/es/supported-formulas.js +0 -3
  183. package/lib/error.js +0 -53
  184. package/lib/evaluate-by-operator/evaluate-by-operator.js +0 -77
  185. package/lib/evaluate-by-operator/operator/add.js +0 -23
  186. package/lib/evaluate-by-operator/operator/ampersand.js +0 -17
  187. package/lib/evaluate-by-operator/operator/divide.js +0 -28
  188. package/lib/evaluate-by-operator/operator/equal.js +0 -12
  189. package/lib/evaluate-by-operator/operator/formula-function.js +0 -51
  190. package/lib/evaluate-by-operator/operator/greater-than-or-equal.js +0 -12
  191. package/lib/evaluate-by-operator/operator/greater-than.js +0 -12
  192. package/lib/evaluate-by-operator/operator/less-than-or-equal.js +0 -12
  193. package/lib/evaluate-by-operator/operator/less-than.js +0 -12
  194. package/lib/evaluate-by-operator/operator/minus.js +0 -23
  195. package/lib/evaluate-by-operator/operator/multiply.js +0 -23
  196. package/lib/evaluate-by-operator/operator/not-equal.js +0 -12
  197. package/lib/evaluate-by-operator/operator/power.js +0 -18
  198. package/lib/grammar-parser/grammar-parser.jison +0 -230
  199. package/lib/helper/cell.js +0 -128
  200. package/lib/helper/number.js +0 -32
  201. package/lib/helper/string.js +0 -19
  202. package/lib/index.js +0 -115
  203. package/lib/parser.js +0 -314
  204. package/lib/supported-formulas.js +0 -12
@@ -0,0 +1,10 @@
1
+ import { Context } from "../context";
2
+ import { Cell, SingleRange } from "../types";
3
+ import { CommonOptions } from "./common";
4
+ export declare function getCellValue(ctx: Context, row: number, column: number, options?: CommonOptions & {
5
+ type?: keyof Cell;
6
+ }): any;
7
+ export declare function setCellValue(ctx: Context, row: number, column: number, value: any, cellInput: HTMLDivElement | null, options?: CommonOptions): void;
8
+ export declare function clearCell(ctx: Context, row: number, column: number, options?: CommonOptions): void;
9
+ export declare function setCellFormat(ctx: Context, row: number, column: number, attr: keyof Cell, value: any, options?: CommonOptions): void;
10
+ export declare function autoFillCell(ctx: Context, copyRange: SingleRange, applyRange: SingleRange, direction: "up" | "down" | "left" | "right"): void;
@@ -0,0 +1,57 @@
1
+ import { Context } from "../context";
2
+ import { CellMatrix, CellWithRowAndCol, Sheet } from "../types";
3
+ export type CommonOptions = {
4
+ index?: number;
5
+ id?: string;
6
+ };
7
+ export declare const dataToCelldata: (data: CellMatrix | undefined) => CellWithRowAndCol[];
8
+ export declare const celldataToData: (celldata: CellWithRowAndCol[], rowCount?: number, colCount?: number) => CellMatrix | null;
9
+ export declare function getSheet(ctx: Context, options?: CommonOptions): Sheet;
10
+ export declare function getSheetWithLatestCelldata(ctx: Context, options?: CommonOptions): {
11
+ celldata: CellWithRowAndCol[];
12
+ name: string;
13
+ config?: import("../types").SheetConfig | undefined;
14
+ order?: number | undefined;
15
+ color?: string | undefined;
16
+ data?: CellMatrix | undefined;
17
+ id?: string | undefined;
18
+ images?: import("../types").Image[] | undefined;
19
+ zoomRatio?: number | undefined;
20
+ column?: number | undefined;
21
+ row?: number | undefined;
22
+ addRows?: number | undefined;
23
+ status?: number | undefined;
24
+ hide?: number | undefined;
25
+ luckysheet_select_save?: import("../types").Selection[] | undefined;
26
+ luckysheet_selection_range?: {
27
+ row: number[];
28
+ column: number[];
29
+ }[] | undefined;
30
+ calcChain?: any[] | undefined;
31
+ defaultRowHeight?: number | undefined;
32
+ defaultColWidth?: number | undefined;
33
+ showGridLines?: number | boolean | undefined;
34
+ pivotTable?: any;
35
+ isPivotTable?: boolean | undefined;
36
+ filter?: Record<string, any> | undefined;
37
+ filter_select?: {
38
+ row: number[];
39
+ column: number[];
40
+ } | undefined;
41
+ luckysheet_conditionformat_save?: any[] | undefined;
42
+ luckysheet_alternateformat_save?: any[] | undefined;
43
+ dataVerification?: any;
44
+ hyperlink?: Record<string, {
45
+ linkType: string;
46
+ linkAddress: string;
47
+ }> | undefined;
48
+ dynamicArray_compute?: any;
49
+ dynamicArray?: any[] | undefined;
50
+ frozen?: {
51
+ type: "column" | "row" | "both" | "rangeRow" | "rangeColumn" | "rangeBoth";
52
+ range?: {
53
+ row_focus: number;
54
+ column_focus: number;
55
+ } | undefined;
56
+ } | undefined;
57
+ };
@@ -0,0 +1,2 @@
1
+ export declare const INVALID_PARAMS: Error;
2
+ export declare const SHEET_NOT_FOUND: Error;
@@ -0,0 +1,9 @@
1
+ import { getSheetWithLatestCelldata, CommonOptions, dataToCelldata, celldataToData } from "./common";
2
+ export type { CommonOptions };
3
+ export { getSheetWithLatestCelldata, dataToCelldata, celldataToData };
4
+ export * from "./cell";
5
+ export * from "./rowcol";
6
+ export * from "./range";
7
+ export * from "./merge";
8
+ export * from "./sheet";
9
+ export * from "./workbook";
@@ -0,0 +1,5 @@
1
+ import { Context } from "..";
2
+ import { Range } from "../types";
3
+ import { CommonOptions } from "./common";
4
+ export declare function mergeCells(ctx: Context, ranges: Range, type: string, options?: CommonOptions): void;
5
+ export declare function cancelMerge(ctx: Context, ranges: Range, options?: CommonOptions): void;
@@ -0,0 +1,22 @@
1
+ import { Selection } from "..";
2
+ import { Context } from "../context";
3
+ import { Cell, Range, SingleRange } from "../types";
4
+ import { CommonOptions } from "./common";
5
+ export declare function getSelection(ctx: Context): {
6
+ row: number[];
7
+ column: number[];
8
+ }[] | undefined;
9
+ export declare function getFlattenRange(ctx: Context, range?: Range): {
10
+ r: number;
11
+ c: number;
12
+ }[];
13
+ export declare function getCellsByFlattenRange(ctx: Context, range?: {
14
+ r: number;
15
+ c: number;
16
+ }[]): (Cell | null)[];
17
+ export declare function getSelectionCoordinates(ctx: Context): string[];
18
+ export declare function getCellsByRange(ctx: Context, range: Selection, options?: CommonOptions): (Cell | null)[][];
19
+ export declare function getHtmlByRange(ctx: Context, range: Range, options?: CommonOptions): string | null;
20
+ export declare function setSelection(ctx: Context, range: Range, options: CommonOptions): void;
21
+ export declare function setCellValuesByRange(ctx: Context, data: any[][], range: SingleRange, cellInput: HTMLDivElement | null, options?: CommonOptions): void;
22
+ export declare function setCellFormatByRange(ctx: Context, attr: keyof Cell, value: any, range: Range | SingleRange, options?: CommonOptions): void;
@@ -0,0 +1,14 @@
1
+ import { Context } from "../context";
2
+ import { CommonOptions } from "./common";
3
+ export declare function freeze(ctx: Context, type: "row" | "column" | "both", range: {
4
+ row: number;
5
+ column: number;
6
+ }, options?: CommonOptions): void;
7
+ export declare function insertRowOrColumn(ctx: Context, type: "row" | "column", index: number, count: number, direction: "lefttop" | "rightbottom", options?: CommonOptions): void;
8
+ export declare function deleteRowOrColumn(ctx: Context, type: "row" | "column", start: number, end: number, options?: CommonOptions): void;
9
+ export declare function setRowHeight(ctx: Context, rowInfo: Record<string, number>, options?: CommonOptions, custom?: boolean): void;
10
+ export declare function setColHidden(ctx: Context, colhidden: Record<string, number>, options?: CommonOptions): void;
11
+ export declare function setRowHidden(ctx: Context, rowhidden: Record<string, number>, options?: CommonOptions): void;
12
+ export declare function setColumnWidth(ctx: Context, columnInfo: Record<string, number>, options?: CommonOptions, custom?: boolean): void;
13
+ export declare function getRowHeight(ctx: Context, rows: number[], options?: CommonOptions): Record<number, number>;
14
+ export declare function getColumnWidth(ctx: Context, columns: number[], options?: CommonOptions): Record<number, number>;
@@ -0,0 +1,10 @@
1
+ import { getSheet } from "./common";
2
+ import { Context } from "../context";
3
+ import { CellMatrix, Sheet } from "../types";
4
+ export declare function getAllSheets(ctx: Context): Sheet[];
5
+ export { getSheet };
6
+ export declare function initSheetData(draftCtx: Context, index: number, newData: Sheet): CellMatrix | null;
7
+ export declare function hideSheet(ctx: Context, sheetId: string): void;
8
+ export declare function showSheet(ctx: Context, sheetId: string): void;
9
+ export declare function copySheet(ctx: Context, sheetId: string): void;
10
+ export declare function calculateSheetFromula(ctx: Context, id: string): void;
@@ -0,0 +1,15 @@
1
+ import { Context, Sheet } from "..";
2
+ import { Settings } from "../settings";
3
+ import { CommonOptions } from "./common";
4
+ export declare function addSheet(ctx: Context, settings?: Required<Settings>, newSheetID?: string, isPivotTable?: boolean, sheetname?: string | undefined, sheetData?: Sheet | undefined): void;
5
+ export declare function deleteSheet(ctx: Context, options?: CommonOptions): void;
6
+ export declare function updateSheet(ctx: Context, data: Sheet[]): void;
7
+ export declare function activateSheet(ctx: Context, options?: CommonOptions): void;
8
+ export declare function setSheetName(ctx: Context, name: string, options?: CommonOptions): void;
9
+ export declare function setSheetOrder(ctx: Context, orderList: Record<string, number>): void;
10
+ export declare function scroll(ctx: Context, scrollbarX: HTMLDivElement | null, scrollbarY: HTMLDivElement | null, options: {
11
+ scrollLeft?: number;
12
+ scrollTop?: number;
13
+ targetRow?: number;
14
+ targetColumn?: number;
15
+ }): void;
@@ -0,0 +1,56 @@
1
+ import { defaultContext } from "./context";
2
+ export declare const defaultStyle: {
3
+ fillStyle: string;
4
+ textBaseline: string;
5
+ strokeStyle: string;
6
+ rowFillStyle: string;
7
+ textAlign: string;
8
+ };
9
+ export declare class Canvas {
10
+ canvasElement: HTMLCanvasElement;
11
+ sheetCtx: ReturnType<typeof defaultContext>;
12
+ measureTextCacheTimeOut: any;
13
+ cellOverflowMapCache: any;
14
+ constructor(canvasElement: HTMLCanvasElement, ctx: ReturnType<typeof defaultContext>);
15
+ drawRowHeader(scrollHeight: number, drawHeight?: number, offsetTop?: number): void;
16
+ drawColumnHeader(scrollWidth: number, drawWidth?: number, offsetLeft?: number): void;
17
+ drawMain({ scrollWidth, scrollHeight, drawWidth, drawHeight, offsetLeft, offsetTop, columnOffsetCell, rowOffsetCell, clear, }: {
18
+ scrollWidth: number;
19
+ scrollHeight: number;
20
+ drawWidth?: number;
21
+ drawHeight?: number;
22
+ offsetLeft?: number;
23
+ offsetTop?: number;
24
+ columnOffsetCell?: number;
25
+ rowOffsetCell?: number;
26
+ clear?: boolean;
27
+ }): void;
28
+ getCellOverflowMap(canvas: CanvasRenderingContext2D, colStart: number, colEnd: number, rowStart: number, rowEnd: number): any;
29
+ cellPsRender({ renderCtx, cell, endX, startY, offsetLeft, offsetTop, }: {
30
+ renderCtx: any;
31
+ cell: any;
32
+ endX: any;
33
+ startY: any;
34
+ offsetLeft: any;
35
+ offsetTop: any;
36
+ }): void;
37
+ nullCellRender(r: number, c: number, startY: number, startX: number, endY: number, endX: number, renderCtx: CanvasRenderingContext2D, afCompute: any, cfCompute: any, offsetLeft: number, offsetTop: number, dynamicArrayCompute: any, cellOverflowMap: any, colStart: number, colEnd: number, scrollHeight: number, scrollWidth: number, bodrder05: any, isMerge?: boolean): void;
38
+ renderDelLine(renderCtx: CanvasRenderingContext2D, cell: any, startX: number, startY: number, endX: number, endY: number, offsetLeft: number, offsetTop: number): void;
39
+ renderLyFlag(renderCtx: CanvasRenderingContext2D, cell: any, startX: number, startY: number, offsetLeft: number, offsetTop: number): void;
40
+ cellRender(r: number, c: number, startY: number, startX: number, endY: number, endX: number, value: any, renderCtx: CanvasRenderingContext2D, afCompute: any, cfCompute: any, offsetLeft: number, offsetTop: number, dynamicArrayCompute: any, cellOverflowMap: any, colStart: number, colEnd: number, scrollHeight: number, scrollWidth: number, bodrder05: number, isMerge?: boolean): void;
41
+ cellOverflowRender(r: number, c: number, stc: number, edc: number, renderCtx: CanvasRenderingContext2D, scrollHeight: number, scrollWidth: number, offsetLeft: number, offsetTop: number, afCompute: any, cfCompute: any): void;
42
+ cellOverflow_trace(r: number, curC: number, traceC: number, traceDir: string, horizonAlign: string, textMetrics: number): any;
43
+ cellOverflow_colIn(map: any, r: number, c: number, col_st: number, col_ed: number): {
44
+ colIn: boolean;
45
+ colLast: boolean;
46
+ rowIndex: number | undefined;
47
+ colIndex: number | undefined;
48
+ stc: number | undefined;
49
+ edc: number | undefined;
50
+ };
51
+ cellTextRender(textInfo: any, ctx: CanvasRenderingContext2D, option: any): void;
52
+ drawFreezeLine({ horizontalTop, verticalLeft, }: {
53
+ horizontalTop?: number;
54
+ verticalLeft?: number;
55
+ }): void;
56
+ }
@@ -0,0 +1,193 @@
1
+ import { SheetConfig } from ".";
2
+ import { FormulaCache } from "./modules";
3
+ import { Hooks } from "./settings";
4
+ import { Sheet, Selection, Cell, CommentBox, Rect, Image, Presence, LinkCardProps, FilterOptions, RangeDialogProps, DataRegulationProps, ConditionRulesProps, GlobalCache } from "./types";
5
+ interface MutableRefObject<T> {
6
+ current: T;
7
+ }
8
+ type RefValues = {
9
+ globalCache: GlobalCache;
10
+ cellInput: MutableRefObject<HTMLDivElement | null>;
11
+ fxInput: MutableRefObject<HTMLDivElement | null>;
12
+ canvas: MutableRefObject<HTMLCanvasElement | null>;
13
+ cellArea: MutableRefObject<HTMLDivElement | null>;
14
+ workbookContainer: MutableRefObject<HTMLDivElement | null>;
15
+ };
16
+ export type CellOptions = {
17
+ r: number;
18
+ c: number;
19
+ render: any;
20
+ }[];
21
+ export type Context = {
22
+ dragRangeSelect?: {
23
+ top: number;
24
+ left: number;
25
+ width: number;
26
+ height: number;
27
+ };
28
+ cellOptions: CellOptions;
29
+ luckysheetfile: Sheet[];
30
+ defaultcolumnNum: number;
31
+ defaultrowNum: number;
32
+ addDefaultRows: number;
33
+ fullscreenmode: boolean;
34
+ devicePixelRatio: number;
35
+ commentBoxes?: CommentBox[];
36
+ editingCommentBox?: CommentBox;
37
+ hoveredCommentBox?: CommentBox;
38
+ insertedImgs?: Image[];
39
+ editingInsertedImgs?: Image;
40
+ activeImg?: string;
41
+ presences?: Presence[];
42
+ showSearch?: boolean;
43
+ showReplace?: boolean;
44
+ linkCard?: LinkCardProps;
45
+ rangeDialog?: RangeDialogProps;
46
+ warnDialog?: string;
47
+ dataVerification?: {
48
+ selectStatus: boolean;
49
+ selectRange: [];
50
+ optionLabel_en: any;
51
+ optionLabel_zh: any;
52
+ optionLabel_zh_tw: any;
53
+ optionLabel_es: any;
54
+ dataRegulation?: DataRegulationProps;
55
+ };
56
+ dataVerificationDropDownList?: boolean;
57
+ conditionRules: ConditionRulesProps;
58
+ contextMenu: {
59
+ x?: number;
60
+ y?: number;
61
+ headerMenu?: boolean;
62
+ pageX?: number;
63
+ pageY?: number;
64
+ };
65
+ sheetTabContextMenu: {
66
+ x?: number;
67
+ y?: number;
68
+ sheet?: Sheet;
69
+ onRename?: () => void;
70
+ };
71
+ filterContextMenu?: {
72
+ x: number;
73
+ y: number;
74
+ col: number;
75
+ startRow: number;
76
+ endRow: number;
77
+ startCol: number;
78
+ endCol: number;
79
+ hiddenRows: number[];
80
+ listBoxMaxHeight: number;
81
+ };
82
+ currentSheetId: string;
83
+ calculateSheetId: string;
84
+ config: SheetConfig;
85
+ visibledatarow: number[];
86
+ visibledatacolumn: number[];
87
+ ch_width: number;
88
+ rh_height: number;
89
+ cellmainWidth: number;
90
+ cellmainHeight: number;
91
+ toolbarHeight: number;
92
+ infobarHeight: number;
93
+ calculatebarHeight: number;
94
+ rowHeaderWidth: number;
95
+ columnHeaderHeight: number;
96
+ cellMainSrollBarSize: number;
97
+ sheetBarHeight: number;
98
+ statisticBarHeight: number;
99
+ luckysheetTableContentHW: number[];
100
+ defaultcollen: number;
101
+ defaultrowlen: number;
102
+ scrollLeft: number;
103
+ scrollTop: number;
104
+ sheetScrollRecord: Record<string, any>;
105
+ luckysheet_select_status: boolean;
106
+ luckysheet_select_save: Sheet["luckysheet_select_save"];
107
+ luckysheet_selection_range: Sheet["luckysheet_selection_range"];
108
+ formulaRangeHighlight: ({
109
+ rangeIndex: number;
110
+ backgroundColor: string;
111
+ } & Rect)[];
112
+ formulaRangeSelect: ({
113
+ rangeIndex: number;
114
+ } & Rect) | undefined;
115
+ functionCandidates: any[];
116
+ functionHint: string | null | undefined;
117
+ luckysheet_copy_save?: {
118
+ dataSheetId: string;
119
+ copyRange: {
120
+ row: number[];
121
+ column: number[];
122
+ }[];
123
+ RowlChange: boolean;
124
+ HasMC: boolean;
125
+ };
126
+ luckysheet_paste_iscut: boolean;
127
+ filterchage: boolean;
128
+ filterOptions?: FilterOptions;
129
+ luckysheet_filter_save?: {
130
+ row: number[];
131
+ column: number[];
132
+ } | undefined;
133
+ filter: Record<string, {
134
+ caljs: any;
135
+ rowhidden: Record<string, number>;
136
+ optionstate: boolean;
137
+ str: number;
138
+ edr: number;
139
+ cindex: number;
140
+ stc: number;
141
+ edc: number;
142
+ }>;
143
+ luckysheet_sheet_move_status: boolean;
144
+ luckysheet_sheet_move_data: any[];
145
+ luckysheet_scroll_status: boolean;
146
+ luckysheetcurrentisPivotTable: boolean;
147
+ luckysheet_rows_selected_status: boolean;
148
+ luckysheet_cols_selected_status: boolean;
149
+ luckysheet_rows_change_size: boolean;
150
+ luckysheet_rows_change_size_start: any[];
151
+ luckysheet_cols_change_size: boolean;
152
+ luckysheet_cols_change_size_start: any[];
153
+ luckysheet_cols_freeze_drag: boolean;
154
+ luckysheet_rows_freeze_drag: boolean;
155
+ luckysheetCellUpdate: any[];
156
+ luckysheet_shiftkeydown: boolean;
157
+ luckysheet_shiftpositon: Selection | undefined;
158
+ iscopyself: boolean;
159
+ orderbyindex: number;
160
+ luckysheet_model_move_state: boolean;
161
+ luckysheet_model_xy: number[];
162
+ luckysheet_model_move_obj: any;
163
+ luckysheet_cell_selected_move: boolean;
164
+ luckysheet_cell_selected_move_index: any[];
165
+ luckysheet_cell_selected_extend: boolean;
166
+ luckysheet_cell_selected_extend_index: any[];
167
+ lang: string | null;
168
+ chart_selection: any;
169
+ zoomRatio: number;
170
+ showGridLines: boolean;
171
+ allowEdit: boolean;
172
+ fontList: any[];
173
+ defaultFontSize: number;
174
+ luckysheetPaintModelOn: boolean;
175
+ luckysheetPaintSingle: boolean;
176
+ defaultCell: Cell;
177
+ groupValuesRefreshData: any[];
178
+ formulaCache: FormulaCache;
179
+ hooks: Hooks;
180
+ showSheetList?: Boolean;
181
+ forceFormulaRef?: Boolean;
182
+ getRefs: () => RefValues;
183
+ };
184
+ export declare function defaultContext(refs: RefValues): Context;
185
+ export declare function getFlowdata(ctx?: Context, id?: string | null): import("./types").CellMatrix | null | undefined;
186
+ export declare function ensureSheetIndex(data: Sheet[], generateSheetId: () => string): void;
187
+ export declare function initSheetIndex(ctx: Context): void;
188
+ export declare function updateContextWithSheetData(ctx: Context, data: any[][], blank: {
189
+ width: number;
190
+ height: number;
191
+ }): void;
192
+ export declare function updateContextWithCanvas(ctx: Context, canvas: HTMLCanvasElement, placeholder: HTMLDivElement): void;
193
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Context } from "../context";
2
+ export declare function handleCopy(ctx: Context): void;
@@ -0,0 +1,4 @@
1
+ export * from "./copy";
2
+ export * from "./keyboard";
3
+ export * from "./mouse";
4
+ export * from "./paste";
@@ -0,0 +1,6 @@
1
+ import { Context } from "../context";
2
+ import { GlobalCache } from "../types";
3
+ export declare function handleGlobalEnter(ctx: Context, cellInput: HTMLDivElement, e: KeyboardEvent, canvas?: CanvasRenderingContext2D): void;
4
+ export declare function handleWithCtrlOrMetaKey(ctx: Context, cache: GlobalCache, e: KeyboardEvent, cellInput: HTMLDivElement, fxInput: HTMLDivElement | null | undefined, handleUndo: () => void, handleRedo: () => void): void;
5
+ export declare function handleArrowKey(ctx: Context, e: KeyboardEvent): void;
6
+ export declare function handleGlobalKeyDown(ctx: Context, cellInput: HTMLDivElement, fxInput: HTMLDivElement | null | undefined, e: KeyboardEvent, cache: GlobalCache, handleUndo: () => void, handleRedo: () => void, canvas?: CanvasRenderingContext2D): void;
@@ -0,0 +1,25 @@
1
+ import { Freezen } from "..";
2
+ import { Context } from "../context";
3
+ import { Settings } from "../settings";
4
+ import { GlobalCache } from "../types";
5
+ export declare function handleGlobalWheel(ctx: Context, e: WheelEvent, cache: GlobalCache, scrollbarX: HTMLDivElement, scrollbarY: HTMLDivElement): void;
6
+ export declare function fixPositionOnFrozenCells(freeze: Freezen | undefined, x: number, y: number, mouseX: number, mouseY: number): {
7
+ x: number;
8
+ y: number;
9
+ inHorizontalFreeze: boolean;
10
+ inVerticalFreeze: boolean;
11
+ };
12
+ export declare function handleCellAreaMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, cellInput: HTMLDivElement, container: HTMLDivElement, fxInput?: HTMLDivElement | null, canvas?: CanvasRenderingContext2D): void;
13
+ export declare function handleCellDrop(ctx: Context, globalCache: GlobalCache, e: MouseEvent, container: HTMLDivElement): void;
14
+ export declare function handleCellAreaDragOver(ctx: Context, globalCache: GlobalCache, e: MouseEvent, container: HTMLDivElement): void;
15
+ export declare function handleCellAreaMouseMove(ctx: Context, globalCache: GlobalCache, e: MouseEvent, container: HTMLDivElement): void;
16
+ export declare function handleCellAreaDoubleClick(ctx: Context, globalCache: GlobalCache, settings: Settings, e: MouseEvent, container: HTMLElement): void;
17
+ export declare function handleContextMenu(ctx: Context, settings: Settings, e: MouseEvent, workbookContainer: HTMLDivElement, container: HTMLDivElement, area: "cell" | "rowHeader" | "columnHeader"): void;
18
+ export declare function handleOverlayMouseMove(ctx: Context, globalCache: GlobalCache, e: MouseEvent, cellInput: HTMLDivElement, scrollX: HTMLDivElement, scrollY: HTMLDivElement, container: HTMLDivElement, fxInput?: HTMLDivElement | null): void;
19
+ export declare function handleOverlayMouseUp(ctx: Context, globalCache: GlobalCache, settings: Settings, e: MouseEvent, scrollbarX: HTMLDivElement, scrollbarY: HTMLDivElement, container: HTMLDivElement, cellInput: HTMLDivElement | null, fxInput: HTMLDivElement | null): void;
20
+ export declare function handleRowHeaderMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, container: HTMLDivElement, cellInput: HTMLDivElement, fxInput: HTMLDivElement | null): void;
21
+ export declare function handleColumnHeaderMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, container: HTMLElement, cellInput: HTMLDivElement, fxInput: HTMLDivElement | null): void;
22
+ export declare function handleColSizeHandleMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, headerContainer: HTMLDivElement, workbookContainer: HTMLDivElement, cellArea: HTMLDivElement): void;
23
+ export declare function handleRowSizeHandleMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, headerContainer: HTMLDivElement, workbookContainer: HTMLDivElement, cellArea: HTMLDivElement): void;
24
+ export declare function handleColFreezeHandleMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, headerContainer: HTMLDivElement, workbookContainer: HTMLDivElement, cellArea: HTMLDivElement): void;
25
+ export declare function handleRowFreezeHandleMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, headerContainer: HTMLDivElement, workbookContainer: HTMLDivElement, cellArea: HTMLDivElement): void;
@@ -0,0 +1,5 @@
1
+ import { Context } from "../context";
2
+ export declare function handlePaste(ctx: Context, e: ClipboardEvent): void;
3
+ export declare function getClipboardContent(): Promise<string>;
4
+ export declare function handlePasteByLeanklin(ctx: Context, e: any): Promise<void>;
5
+ export declare function handlePasteByClick(ctx: Context, triggerType?: string): void;
@@ -0,0 +1,10 @@
1
+ import * as api from "./api";
2
+ export { api };
3
+ export * from "./canvas";
4
+ export * from "./context";
5
+ export * from "./settings";
6
+ export * from "./events";
7
+ export * from "./locale";
8
+ export * from "./modules";
9
+ export * from "./utils";
10
+ export * from "./types";