@gridsheet/preact-core 3.0.0-rc.0 → 3.0.0-rc.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 (98) hide show
  1. package/dist/components/ContextMenu.d.ts +1 -0
  2. package/dist/components/EditorOptions.d.ts +11 -0
  3. package/dist/components/FunctionGuide.d.ts +20 -0
  4. package/dist/components/useAutocomplete.d.ts +25 -0
  5. package/dist/constants.d.ts +1 -13
  6. package/dist/formula/evaluator.d.ts +10 -15
  7. package/dist/formula/formula-error.d.ts +10 -0
  8. package/dist/formula/functions/__async.d.ts +16 -8
  9. package/dist/formula/functions/__base.d.ts +102 -14
  10. package/dist/formula/functions/__utils.d.ts +4 -0
  11. package/dist/formula/functions/abs.d.ts +5 -8
  12. package/dist/formula/functions/add.d.ts +6 -9
  13. package/dist/formula/functions/and.d.ts +5 -15
  14. package/dist/formula/functions/arrayformula.d.ts +12 -0
  15. package/dist/formula/functions/average.d.ts +5 -15
  16. package/dist/formula/functions/concat.d.ts +5 -8
  17. package/dist/formula/functions/count.d.ts +4 -14
  18. package/dist/formula/functions/counta.d.ts +4 -14
  19. package/dist/formula/functions/divide.d.ts +5 -7
  20. package/dist/formula/functions/eq.d.ts +4 -7
  21. package/dist/formula/functions/gt.d.ts +5 -8
  22. package/dist/formula/functions/gte.d.ts +5 -8
  23. package/dist/formula/functions/if.d.ts +5 -13
  24. package/dist/formula/functions/iferror.d.ts +7 -17
  25. package/dist/formula/functions/len.d.ts +5 -8
  26. package/dist/formula/functions/lt.d.ts +5 -8
  27. package/dist/formula/functions/lte.d.ts +5 -8
  28. package/dist/formula/functions/max.d.ts +5 -15
  29. package/dist/formula/functions/min.d.ts +5 -15
  30. package/dist/formula/functions/minus.d.ts +7 -9
  31. package/dist/formula/functions/multiply.d.ts +5 -8
  32. package/dist/formula/functions/ne.d.ts +4 -7
  33. package/dist/formula/functions/not.d.ts +5 -8
  34. package/dist/formula/functions/now.d.ts +4 -4
  35. package/dist/formula/functions/or.d.ts +5 -15
  36. package/dist/formula/functions/power.d.ts +5 -8
  37. package/dist/formula/functions/sum.d.ts +5 -15
  38. package/dist/formula/functions/uminus.d.ts +5 -8
  39. package/dist/formula/mapping.d.ts +9 -1
  40. package/dist/formula/solver.d.ts +6 -4
  41. package/dist/index.d.ts +14 -14
  42. package/dist/index.js +7633 -6928
  43. package/dist/index.js.map +1 -1
  44. package/dist/lib/cell.d.ts +13 -1
  45. package/dist/lib/clipboard.d.ts +16 -1
  46. package/dist/lib/coords.d.ts +1 -1
  47. package/dist/lib/dom.d.ts +2 -0
  48. package/dist/lib/hub.d.ts +13 -25
  49. package/dist/lib/input.d.ts +9 -0
  50. package/dist/lib/operation.d.ts +0 -3
  51. package/dist/lib/spatial.d.ts +2 -0
  52. package/dist/lib/table.d.ts +77 -51
  53. package/dist/lib/time.d.ts +19 -15
  54. package/dist/policy/checkbox.d.ts +3 -0
  55. package/dist/policy/core.d.ts +136 -19
  56. package/dist/policy/thousand_separator.d.ts +4 -0
  57. package/dist/sentinels.d.ts +39 -0
  58. package/dist/store/actions.d.ts +12 -0
  59. package/dist/store/dispatchers.d.ts +2 -0
  60. package/dist/store/helpers.d.ts +4 -6
  61. package/dist/styles/minified.d.ts +2 -2
  62. package/dist/types.d.ts +26 -28
  63. package/package.json +1 -1
  64. package/dist/formula/functions/acos.d.ts +0 -12
  65. package/dist/formula/functions/asin.d.ts +0 -12
  66. package/dist/formula/functions/atan.d.ts +0 -12
  67. package/dist/formula/functions/atan2.d.ts +0 -12
  68. package/dist/formula/functions/col.d.ts +0 -13
  69. package/dist/formula/functions/concatenate.d.ts +0 -19
  70. package/dist/formula/functions/cos.d.ts +0 -12
  71. package/dist/formula/functions/countif.d.ts +0 -13
  72. package/dist/formula/functions/exp.d.ts +0 -12
  73. package/dist/formula/functions/hlookup.d.ts +0 -18
  74. package/dist/formula/functions/index.d.ts +0 -18
  75. package/dist/formula/functions/lenb.d.ts +0 -12
  76. package/dist/formula/functions/ln.d.ts +0 -12
  77. package/dist/formula/functions/log.d.ts +0 -12
  78. package/dist/formula/functions/log10.d.ts +0 -12
  79. package/dist/formula/functions/match.d.ts +0 -18
  80. package/dist/formula/functions/match.test.d.ts +0 -2
  81. package/dist/formula/functions/mod.d.ts +0 -12
  82. package/dist/formula/functions/pi.d.ts +0 -9
  83. package/dist/formula/functions/product.d.ts +0 -19
  84. package/dist/formula/functions/radians.d.ts +0 -12
  85. package/dist/formula/functions/rand.d.ts +0 -9
  86. package/dist/formula/functions/round.d.ts +0 -17
  87. package/dist/formula/functions/rounddown.d.ts +0 -17
  88. package/dist/formula/functions/roundup.d.ts +0 -17
  89. package/dist/formula/functions/row.d.ts +0 -13
  90. package/dist/formula/functions/sin.d.ts +0 -12
  91. package/dist/formula/functions/sqrt.d.ts +0 -12
  92. package/dist/formula/functions/sumif.d.ts +0 -18
  93. package/dist/formula/functions/tan.d.ts +0 -12
  94. package/dist/formula/functions/vlookup.d.ts +0 -18
  95. package/dist/parsers/core.d.ts +0 -38
  96. package/dist/renderers/checkbox.d.ts +0 -5
  97. package/dist/renderers/core.d.ts +0 -66
  98. package/dist/renderers/thousand_separator.d.ts +0 -3
@@ -0,0 +1,39 @@
1
+ export declare class Sentinel {
2
+ readonly code: string;
3
+ readonly __gsType: "Sentinel";
4
+ constructor(code: string);
5
+ is(obj: any): obj is this;
6
+ static is(obj: any, code?: string): obj is Sentinel;
7
+ }
8
+ export declare const SOLVING: Sentinel;
9
+ /**
10
+ * Sentinel value representing an in-flight async formula computation.
11
+ * Cells whose solved cache contains a Pending will render a loading indicator.
12
+ * Dependent cells that encounter a Pending value also become pending.
13
+ */
14
+ export declare class Pending<T = unknown> {
15
+ private readonly timestamp;
16
+ readonly promise: Promise<T>;
17
+ readonly __gsType: "Pending";
18
+ constructor(promise: Promise<T>);
19
+ static is(obj: any): obj is Pending;
20
+ toString(): string;
21
+ }
22
+ /**
23
+ * Returned by functions that want to spill a 2D result into adjacent cells.
24
+ *
25
+ * Usage in a function:
26
+ * return new Spilling([[1, 2], [3, 4]]);
27
+ *
28
+ * The solver detects Spilling via `Spilling.is()` and calls
29
+ * `table.spill(origin, result.matrix)` to perform obstruction checks
30
+ * and write values into the solvedCaches.
31
+ */
32
+ export declare class Spilling {
33
+ readonly __gsType: "Spilling";
34
+ /** The 2D matrix of resolved values. matrix[row][col] */
35
+ readonly matrix: any[][];
36
+ constructor(matrix: any[][]);
37
+ static is(obj: any): obj is Spilling;
38
+ }
39
+ //# sourceMappingURL=sentinels.d.ts.map
@@ -28,6 +28,14 @@ export declare const setSearchCaseSensitive: (payload: boolean) => {
28
28
  type: number;
29
29
  value: boolean;
30
30
  };
31
+ export declare const setSearchRegex: (payload: boolean) => {
32
+ type: number;
33
+ value: boolean;
34
+ };
35
+ export declare const setSearchRange: (payload: ZoneType | undefined) => {
36
+ type: number;
37
+ value: ZoneType | undefined;
38
+ };
31
39
  export declare const setEditingAddress: (payload: string) => {
32
40
  type: number;
33
41
  value: string;
@@ -310,6 +318,10 @@ export declare const setRowMenu: (payload: {
310
318
  };
311
319
  } | null;
312
320
  };
321
+ export declare const setEditorHovering: (payload: boolean) => {
322
+ type: number;
323
+ value: boolean;
324
+ };
313
325
  export declare const setStore: (payload: Partial<StoreType>) => {
314
326
  type: number;
315
327
  value: Partial<StoreType>;
@@ -14,6 +14,7 @@ export declare const rowsSorterAsc: ({ store, dispatch }: ContextMenuProps, x: n
14
14
  export declare const rowsSorterDesc: ({ store, dispatch }: ContextMenuProps, x: number) => Promise<void>;
15
15
  export declare const rowsFilterer: ({ store, dispatch }: ContextMenuProps, x: number, filter: FilterConfig) => Promise<void>;
16
16
  export declare const rowsFilterClearer: ({ store, dispatch }: ContextMenuProps, x?: number) => Promise<void>;
17
+ export declare const searcher: ({ store, dispatch }: ContextMenuProps) => Promise<void>;
17
18
  export declare const syncers: {
18
19
  copy: ({ store, dispatch }: ContextMenuProps) => Promise<void>;
19
20
  cut: ({ store, dispatch }: ContextMenuProps) => Promise<void>;
@@ -30,5 +31,6 @@ export declare const syncers: {
30
31
  sortRowsDesc: ({ store, dispatch }: ContextMenuProps, x: number) => Promise<void>;
31
32
  filterRows: ({ store, dispatch }: ContextMenuProps, x: number, filter: FilterConfig) => Promise<void>;
32
33
  clearFilter: ({ store, dispatch }: ContextMenuProps, x?: number) => Promise<void>;
34
+ search: ({ store, dispatch }: ContextMenuProps) => Promise<void>;
33
35
  };
34
36
  //# sourceMappingURL=dispatchers.d.ts.map
@@ -8,12 +8,10 @@ export declare const restrictPoints: (store: StoreType, table: Table) => {
8
8
  endY: number;
9
9
  endX: number;
10
10
  };
11
- copyingZone: {
12
- startY: number;
13
- startX: number;
14
- endY: number;
15
- endX: number;
16
- };
11
+ };
12
+ export declare const flashSheet: (el: HTMLElement | null) => void;
13
+ export declare const flashWithCallback: (store: StoreType, table: Table, callback: ((s: StoreType) => void) | undefined) => StoreType & {
14
+ callback?: (store: StoreType) => void;
17
15
  };
18
16
  export declare const shouldTracking: (operation: string) => boolean;
19
17
  export declare const initSearchStatement: (table: Table, store: StoreType) => {
@@ -1,3 +1,3 @@
1
- export declare const LAST_MODIFIED = 1771698337;
2
- export declare const CSS = ".gs-root1{display:inline-block;position:relative;border-spacing:0;width:fit-content;max-width:100%;overflow:auto;font-family:\"SF Pro Text\",\"SF Pro Icons\",\"Helvetica Neue\",Helvetica,Arial,Meiryo,sans-serif;visibility:hidden;opacity:0}.gs-root1.gs-initialized{visibility:visible;opacity:1;transition:opacity .2s ease-in-out}.gs-root1 .gs-main{flex:1;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.gs-root1 .gs-resizing{width:100%;height:100%;position:absolute;background-color:rgba(0,127,255,.08);top:0;left:0;z-index:2}.gs-root1 .gs-line-horizontal{width:100%}.gs-root1 .gs-line-vertical{height:100%}.gs-root1 .gs-line{position:relative;top:0;left:0;border:dotted 1px #07f;box-sizing:border-box}.gs-root1 .gs-line span{font-size:10px;padding:3px;background-color:#07f;color:#fff;margin:0;position:absolute;top:0;left:0}.gs-root1 .gs-scroll-handle{width:100%;height:100%;cursor:cell}.gs-hidden{visibility:hidden;position:absolute;top:0;left:0;width:0;height:0;overflow:hidden;pointer-events:none;z-index:-1}.gs-fixed{position:fixed;top:0;left:0;z-index:1}.gs-root1[data-mode=light]{background-color:#e2e2e2;color:#000}.gs-root1[data-mode=light] .gs-main{background-color:#e2e2e2;border-right:solid 1px #ddd;border-bottom:solid 1px #ddd}.gs-root1[data-mode=light] .gs-tabular{background-color:#e2e2e2}.gs-root1[data-mode=light] .gs-formula-bar{background-color:#efefef}.gs-root1[data-mode=light] .gs-formula-bar-editor-inner{color:#555}.gs-root1[data-mode=light] .gs-cell{background-color:#f7f7f7;border-top:solid 1px #ddd;border-left:solid 1px #ddd}.gs-root1[data-mode=light] .gs-adjuster{background-color:#ddd}.gs-root1[data-mode=light] .gs-tabular-inner{background-color:#ddd}.gs-root1[data-mode=light] .gs-th{background-color:#efefef;color:#666}.gs-root1[data-mode=light] .gs-th-top{border-left:solid 1px #ddd}.gs-root1[data-mode=light] .gs-th-top .gs-th-inner{border-top:solid 1px #ddd}.gs-root1[data-mode=light] .gs-th-left{border-top:solid 1px #ddd}.gs-root1[data-mode=light] .gs-th-left .gs-th-inner{border-left:solid 1px #ddd}.gs-root1[data-mode=light] .gs-search-bar{color:rgba(0,0,0,.3)}.gs-editor[data-mode=light].gs-editing textarea{caret-color:#000000}.gs-editor[data-mode=light].gs-editing .gs-editor-hl{background-color:#f7f7f7;color:#000}.gs-editor[data-mode=light] .gs-editor-options{color:#000;background-color:#f7f7f7;border:solid 1px #ddd}.gs-root1[data-mode=dark]{background-color:#5a5a5a;color:#eee}.gs-root1[data-mode=dark] .gs-main{background-color:#3f3f3f;border-right:solid 1px #5a5a5a;border-bottom:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-tabular{background-color:#3f3f3f}.gs-root1[data-mode=dark] .gs-formula-bar{background-color:#4f4f4f}.gs-root1[data-mode=dark] .gs-formula-bar-editor-inner{color:#bbb}.gs-root1[data-mode=dark] .gs-cell{background-color:#212121;border-top:solid 1px #5a5a5a;border-left:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-adjuster{background-color:#5a5a5a}.gs-root1[data-mode=dark] .gs-tabular-inner{background-color:#5a5a5a}.gs-root1[data-mode=dark] .gs-large-editor textarea{color:#eee;caret-color:#eeeeee}.gs-root1[data-mode=dark] .gs-th{background-color:#4f4f4f;color:#eee}.gs-root1[data-mode=dark] .gs-th-top{border-left:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-th-top .gs-th-inner{border-top:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-th-left{border-top:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-th-left .gs-th-inner{border-left:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-search-bar textarea{color:#eee;caret-color:#eeeeee}.gs-root1[data-mode=dark] .gs-search-bar{color:rgba(255,255,255,.3)}.gs-editor[data-mode=dark].gs-editing textarea{caret-color:#eeeeee}.gs-editor[data-mode=dark].gs-editing .gs-editor-hl{background-color:#212121;color:#eee}.gs-editor[data-mode=dark] .gs-editor-options{color:#eee;background-color:#5a5a5a;border:solid 1px #5a5a5a}.gs-cell{transition:border-color .2s ease;padding:0;margin:0;box-sizing:border-box;position:relative;font-size:13px;letter-spacing:1px;line-height:24px;cursor:cell;user-select:none;-webkit-user-select:none;-moz-user-select:none}.gs-cell.gs-copying textarea:focus{outline:solid 1px #0077ff}.gs-cell.gs-selecting{z-index:1}.gs-cell.gs-selecting .gs-cell-label{display:block}.gs-cell.gs-choosing{margin-top:-1px;margin-left:-1px;z-index:1}.gs-cell.gs-choosing.gs-editing{color:transparent}.gs-cell.gs-choosing .gs-cell-label{display:block}.gs-cell.gs-pending .gs-cell-rendered{position:relative;overflow:hidden}.gs-cell.gs-pending .gs-cell-rendered::after{content:'';position:absolute;bottom:0;left:0;height:4px;width:40%;border-radius:1px;background:rgba(100,140,255,.6);animation:gs-pending-slide 1.4s ease-in-out infinite}.gs-cell .gs-formula-error-triangle{position:absolute;top:0;right:0;border-top:3px solid rgba(200,0,0,.9);border-right:3px solid rgba(200,0,0,.9);border-bottom:3px solid transparent;border-left:3px solid transparent;z-index:1}.gs-cell .gs-cell-label{font-size:8px;font-weight:400;font-style:normal;font-family:math,monospace,serif;letter-spacing:1px;line-height:14px;position:absolute;top:0;right:0;background-color:rgba(0,128,255,.6);color:rgba(255,255,255,.6);padding:0 2px;display:none;opacity:.7}.gs-cell .gs-cell-inner-wrap{width:100%;height:100%;position:absolute;top:0;left:0}.gs-cell .gs-cell-inner{width:100%;height:100%;overflow:hidden;display:flex;box-sizing:border-box;border:none!important}.gs-cell .gs-cell-rendered{overflow:hidden;white-space:pre-wrap;cursor:cell;word-wrap:break-word;word-break:break-all;padding:0 2px;width:100%;height:100%}.gs-cell .gs-cell-rendered>*{position:relative}.gs-cell .gs-cell-rendered>.backface{z-index:0}.gs-cell .gs-autofill-drag{background-color:#07f;position:absolute;width:7px;height:7px;bottom:0;right:0;margin-right:-3.5px;margin-bottom:-3.5px;cursor:crosshair;z-index:1}.gs-th[data-x=\"1\"] .gs-th-inner-wrap{border-left:none}.gs-th[data-y=\"1\"] .gs-th-inner-wrap{border-top:none}.gs-cell[data-x=\"1\"]{border-left:none}.gs-cell[data-y=\"1\"]{border-top:none}.gs-menu-btn{position:absolute;background-color:rgba(128,128,128,.3);border:1px solid #ccc;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;line-height:1;color:#888;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;z-index:2}.gs-contextmenu-modal{width:100%;height:100vh;z-index:12}.gs-contextmenu{z-index:12;position:fixed;background-color:#fff;padding:5px 0;border-radius:5px;box-shadow:rgba(60,64,67,.3) 0 1px 2px 0,rgba(60,64,67,.15) 0 1px 3px 1px;opacity:.9;transition:opacity .15s ease}.gs-contextmenu:hover{opacity:1}.gs-contextmenu ul{color:#555;margin:0;padding:0;min-width:250px}.gs-contextmenu li{padding:5px 10px;list-style-type:none;display:flex}.gs-contextmenu li.gs-enabled{cursor:pointer}.gs-contextmenu li.gs-enabled:hover{background-color:#eee}.gs-contextmenu li.gs-disabled{opacity:.5;cursor:not-allowed}.gs-contextmenu li .gs-menu-name{font-size:13px;letter-spacing:1px}.gs-contextmenu li.gs-menu-divider{background-color:#aaa;padding:0;height:1px;margin:10px 0}.gs-contextmenu li .gs-menu-name{flex:1}.gs-contextmenu li .gs-menu-shortcut{font-size:10px;line-height:20px;color:#999}.gs-contextmenu li .gs-menu-shortcut:before{content:\"( \"}.gs-contextmenu li .gs-menu-shortcut:after{content:\" )\"}.gs-contextmenu li .gs-menu-shortcut .gs-menu-underline{text-decoration:underline}.gs-column-menu-modal{width:100%;height:100vh;z-index:12}.gs-column-menu{z-index:12;position:fixed;background-color:#fff;padding:5px 0;border-radius:5px;box-shadow:rgba(60,64,67,.3) 0 1px 2px 0,rgba(60,64,67,.15) 0 1px 3px 1px;opacity:.9;transition:opacity .15s ease}.gs-column-menu:hover{opacity:1}.gs-column-menu ul{color:#555;margin:0;padding:0;min-width:200px}.gs-column-menu li{padding:5px 10px;list-style-type:none}.gs-column-menu li.gs-enabled{cursor:pointer}.gs-column-menu li.gs-enabled:hover{background-color:#eee}.gs-column-menu li.gs-disabled{opacity:.5;cursor:not-allowed}.gs-column-menu li .gs-menu-name{font-size:13px;letter-spacing:1px}.gs-column-menu li.gs-menu-divider{background-color:#aaa;padding:0;height:1px;margin:5px 0}.gs-column-menu .gs-column-menu-label{padding:5px 10px}.gs-column-menu .gs-label-input-row{display:flex;gap:4px;align-items:center}.gs-column-menu .gs-label-input{flex:1;font-size:13px;padding:4px 6px;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:0;min-width:0;width:100px;background-color:transparent;box-shadow:none}.gs-column-menu .gs-label-input:focus{border-bottom-color:#07f;outline:0;box-shadow:none}.gs-column-menu .gs-label-apply-btn{font-size:12px;padding:3px 6px;border:1px solid transparent;border-radius:3px;background-color:transparent;color:#1a8a1a;cursor:pointer;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-label-apply-btn:hover{border-color:#1a8a1a}.gs-column-menu .gs-column-menu-filter{padding:5px 10px}.gs-column-menu .gs-filter-header{display:flex;align-items:center;gap:8px}.gs-column-menu .gs-filter-header .gs-filter-add-btn{font-size:12px;padding:3px 9px;border:1px solid transparent;border-radius:3px;background-color:transparent;cursor:pointer;color:#555;letter-spacing:1px}.gs-column-menu .gs-filter-header .gs-filter-add-btn:hover{border-color:#555}.gs-column-menu .gs-filter-mode-toggle{display:flex;gap:6px;margin-left:auto}.gs-column-menu .gs-filter-mode-toggle label{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#888;cursor:pointer;user-select:none}.gs-column-menu .gs-filter-mode-toggle label input[type=radio]{margin:0;cursor:pointer}.gs-column-menu .gs-filter-mode-toggle label.gs-active{color:#07f}.gs-column-menu .gs-filter-mode-toggle.gs-disabled{opacity:.4;pointer-events:none}.gs-column-menu .gs-filter-conditions{display:flex;flex-direction:column;gap:5px;margin-top:6px;max-height:200px;overflow-y:auto}.gs-column-menu .gs-filter-condition-row{display:flex;gap:4px;align-items:normal}.gs-column-menu .gs-filter-method-select{font-size:12px;padding:4px 4px;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:0;background-color:#fff;box-shadow:none;min-width:40px;max-width:80px;cursor:pointer}.gs-column-menu .gs-filter-method-select:focus{border-bottom-color:#07f;outline:0;box-shadow:none}.gs-column-menu .gs-filter-value-input{flex:1;font-size:13px;padding:4px 6px;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:0;min-width:0;width:80px;background-color:transparent;box-shadow:none}.gs-column-menu .gs-filter-value-input:focus{border-bottom-color:#07f;outline:0;box-shadow:none}.gs-column-menu .gs-filter-remove-btn{font-size:12px;padding:0;border:none;border-radius:3px;background-color:transparent;cursor:pointer;color:#999;line-height:1;flex-shrink:0}.gs-column-menu .gs-filter-remove-btn:hover{color:#c33}.gs-column-menu .gs-filter-actions{display:flex;gap:4px;margin-top:10px;align-items:center}.gs-column-menu .gs-filter-actions .gs-filter-reset-all-btn{font-size:12px;padding:3px 9px;border:1px solid transparent;border-radius:3px;background-color:transparent;cursor:pointer;color:#c33;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-filter-actions .gs-filter-reset-all-btn:hover{border-color:#c33}.gs-column-menu .gs-filter-actions .gs-filter-actions-right{display:flex;gap:4px;margin-left:auto}.gs-column-menu .gs-filter-actions .gs-filter-reset-btn{font-size:12px;padding:3px 9px;border:1px solid transparent;border-radius:3px;background-color:transparent;cursor:pointer;color:#e08000;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-filter-actions .gs-filter-reset-btn:hover{border-color:#e08000}.gs-column-menu .gs-filter-actions .gs-filter-apply-btn{font-size:12px;padding:3px 6px;border:1px solid transparent;border-radius:3px;background-color:transparent;color:#07f;cursor:pointer;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-filter-actions .gs-filter-apply-btn:hover{border-color:#07f}.gs-column-menu-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 30px;gap:12px;min-width:180px}.gs-column-menu-waiting .gs-waiting-message{font-size:13px;font-weight:700;color:#555;letter-spacing:.5px}.gs-column-menu-waiting .gs-waiting-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:#07f;border-radius:50%;animation:spin .8s linear infinite}.gs-column-menu-waiting .gs-waiting-cancel-btn{font-size:12px;padding:4px 18px;border:1px solid #c33;border-radius:3px;background-color:transparent;color:#c33;cursor:pointer;font-weight:700;letter-spacing:1px}.gs-column-menu-waiting .gs-waiting-cancel-btn:hover{background-color:#c33;color:#fff}.gs-column-menu-btn{right:4px;top:50%;transform:translateY(-50%)}.gs-column-menu-btn.gs-filtered{opacity:1;background-color:#e0edff;border-color:#07f;color:#07f}.gs-column-menu-btn.gs-active{opacity:1;background-color:#d0e0ff;border-color:#07f;color:#07f}.gs-th-top:hover .gs-column-menu-btn{opacity:1}.gs-row-menu-modal{width:100%;height:100vh;z-index:12}.gs-row-menu{z-index:12;position:fixed;background-color:#fff;padding:5px 0;border-radius:5px;box-shadow:rgba(60,64,67,.3) 0 1px 2px 0,rgba(60,64,67,.15) 0 1px 3px 1px;opacity:.9;transition:opacity .15s ease}.gs-row-menu:hover{opacity:1}.gs-row-menu ul{color:#555;margin:0;padding:0;min-width:200px}.gs-row-menu li{padding:5px 10px;list-style-type:none}.gs-row-menu li.gs-enabled{cursor:pointer}.gs-row-menu li.gs-enabled:hover{background-color:#eee}.gs-row-menu li.gs-disabled{opacity:.5;cursor:not-allowed}.gs-row-menu li .gs-menu-name{font-size:13px;letter-spacing:1px}.gs-row-menu li.gs-menu-divider{background-color:#aaa;padding:0;height:1px;margin:5px 0}.gs-row-menu-btn{top:50%;transform:translateY(-50%);right:2px}.gs-row-menu-btn.gs-active{opacity:1;background-color:#d0e0ff;border-color:#07f;color:#07f}.gs-th-left:hover .gs-row-menu-btn{opacity:1}.gs-corner-menu-btn{bottom:2px;right:2px}.gs-corner-menu-btn:hover{opacity:1;background-color:#d0e0ff;border-color:#07f;color:#07f}.gs-th-left.gs-th-top:hover .gs-corner-menu-btn{opacity:1}.gs-editor-hl{padding:0 2px!important;position:absolute;font-family:monospace,Arial;font-size:12px;line-height:24px;letter-spacing:1px}.gs-formula-bar-editor-inner{position:relative;display:table-cell}.gs-editor{opacity:0;z-index:-1}.gs-editor .gs-editor-inner{position:relative}.gs-editor .gs-editor-hl{box-sizing:content-box;border:solid 2px #07f;margin:-2px -1px}.gs-editor textarea{width:100%;padding:0 2px!important;position:absolute;font-size:12px;font-family:monospace,Arial;line-height:24px;letter-spacing:1px;top:0;left:0;border:none;outline:0;background-color:transparent;color:transparent;resize:none;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;overflow:hidden;cursor:default;white-space:pre;height:auto}.gs-editor.gs-editing{z-index:11;opacity:1}.gs-editor.gs-editing .gs-cell-label{pointer-events:none;font-family:math,monospace,serif;position:absolute;top:0;right:0;margin-top:-15px;margin-right:-2px;padding:0 2px;font-size:10px;background-color:rgba(0,119,255,.75);color:#fff;z-index:1}.gs-formula-bar{width:100%;position:relative;display:table;align-items:center;justify-content:center;border-top:solid 1px rgba(128,128,128,.3);border-left:solid 1px rgba(128,128,128,.3);border-right:solid 1px rgba(128,128,128,.3);box-sizing:border-box}.gs-formula-bar .gs-selecting-address{display:table-cell;vertical-align:middle;width:60px;color:rgba(200,200,200);font-size:13px;text-align:center}.gs-formula-bar .gs-fx{display:table-cell;vertical-align:middle;width:30px;color:rgba(200,200,200);font-style:italic;font-family:cursive;text-align:center;border-left:solid 1px rgba(128,128,128,.5);font-size:15px}.gs-formula-bar .gs-editor-hl{z-index:0;overflow-y:auto;box-sizing:border-box;white-space:pre-wrap;word-break:break-all}.gs-formula-bar textarea{position:relative;z-index:1;width:100%;vertical-align:bottom;color:transparent;border:none;background-color:transparent;padding:0 2px;box-sizing:border-box;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:12px;font-family:monospace,Arial;height:24px;line-height:24px;min-height:24px;letter-spacing:1px;resize:vertical;caret-color:rgba(128,128,128);white-space:pre-wrap;word-break:break-all}.gs-token-type-INVALID_REF{color:red}.gs-token-type-VALUE.gs-token-entity-type-boolean,.gs-token-type-VALUE.gs-token-entity-type-number{color:#39f}.gs-token-type-VALUE.gs-token-entity-type-string{color:#090}.gs-editor-options{padding:0;box-shadow:0 2px 8px rgba(0,0,0,.25);border:1px solid rgba(128,128,128,.2);border-radius:4px}.gs-editor-option{cursor:pointer;list-style:none;padding:5px;font-size:12px}.gs-editor-option:hover{background-color:rgba(128,128,128,.1)}.gs-editor-option-selected{background-color:rgba(128,128,128,.2)}.gs-adjuster{padding:0}.gs-table{margin:0}.gs-tabular{overflow:auto;display:block;box-sizing:border-box;overscroll-behavior:none;position:relative}.gs-tabular-inner>table{table-layout:fixed;border-collapse:collapse;border-spacing:0}.gs-th{z-index:2;padding:0;position:sticky;font-size:13px;font-weight:400;box-sizing:border-box;vertical-align:top}.gs-th .gs-resizer{position:absolute;border-color:transparent;box-sizing:border-box;z-index:2}.gs-th .gs-resizer:hover{background-color:#07f}.gs-th .gs-resizer.gs-protected{display:none}.gs-th-inner{height:100%;box-sizing:border-box;vertical-align:middle;overflow:hidden;display:flex;align-items:center;justify-content:center}.gs-th-inner-wrap{height:100%;box-sizing:border-box;background-color:transparent}.gs-th-top{top:0;overflow:hidden}.gs-th-top .gs-resizer{top:0;right:0;width:3px;cursor:e-resize}.gs-th-top .gs-resizer.gs-dragging{border-right-style:dotted;height:1000000px!important;cursor:e-resize}.gs-th-left{left:0;overflow:hidden;min-width:30px;border-top:solid 1px #ddd}.gs-th-left .gs-resizer{left:0;bottom:0;height:3px;cursor:n-resize}.gs-th-left .gs-resizer.gs-dragging{border-bottom-style:dotted;width:1000000px!important;cursor:n-resize}.gs-th-top.gs-th-left{top:0;left:0;z-index:3;border:none!important}.gs-search-bar{width:100%;display:table;align-items:center;justify-content:center;border-top:solid 1px rgba(128,128,128,.3);border-left:solid 1px rgba(128,128,128,.3);border-right:solid 1px rgba(128,128,128,.3);box-sizing:border-box;background-color:rgba(200,50,0,.2)}.gs-search-bar.gs-search-found{background-color:rgba(0,200,100,.2)}.gs-search-bar .gs-search-bar-inner{vertical-align:middle;border-left:solid 1px rgba(128,128,128,.5)}.gs-search-bar .gs-search-bar-icon{border-left:solid 1px rgba(128,128,128,.3);display:table-cell;vertical-align:middle;width:30px}.gs-search-bar textarea{background-color:transparent;border:none;padding:0 2px;box-sizing:border-box;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:12px;font-family:monospace,Arial;height:24px;line-height:24px;min-height:24px;letter-spacing:1px;caret-color:rgba(128,128,128);white-space:pre-wrap;word-break:break-all;display:table-cell;vertical-align:middle;width:100%;resize:none}.gs-search-progress{display:table-cell;color:#999;font-size:13px;width:60px;vertical-align:middle;white-space:nowrap;text-align:center}.gs-search-close{display:table-cell;cursor:pointer;vertical-align:middle;width:24px}.gs-search-casesensitive{display:table-cell;cursor:pointer;vertical-align:middle;width:30px}.gs-search-casesensitive span{font-size:14px;padding:0 3px}.gs-search-casesensitive span.gs-search-casesensitive-on{color:#07f;background-color:rgba(200,200,255,.5);border-radius:3px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes gs-pending-slide{0%{left:-40%}100%{left:100%}}@keyframes gs-pending-pulse{0%{left:0;width:0}50%{left:0;width:100%}100%{left:100%;width:0}}";
1
+ export declare const LAST_MODIFIED = 1774000888;
2
+ export declare const CSS = ".gs-root1{display:inline-block;position:relative;border-spacing:0;width:fit-content;max-width:100%;overflow:auto;font-family:\"SF Pro Text\",\"SF Pro Icons\",\"Helvetica Neue\",Helvetica,Arial,Meiryo,sans-serif;visibility:hidden;opacity:0}.gs-root1.gs-initialized{visibility:visible;opacity:1;transition:opacity .2s ease-in-out}.gs-root1 .gs-main{flex:1;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.gs-root1 .gs-resizing{width:100%;height:100%;position:absolute;background-color:rgba(0,127,255,.08);top:0;left:0;z-index:2}.gs-root1 .gs-line-horizontal{width:100%}.gs-root1 .gs-line-vertical{height:100%}.gs-root1 .gs-line{position:relative;top:0;left:0;border:dotted 1px #07f;box-sizing:border-box}.gs-root1 .gs-line span{font-size:10px;padding:3px;background-color:#07f;color:#fff;margin:0;position:absolute;top:0;left:0}.gs-root1 .gs-scroll-handle{width:100%;height:100%;cursor:cell}.gs-hidden{visibility:hidden;position:absolute;top:0;left:0;width:0;height:0;overflow:hidden;pointer-events:none;z-index:-1}.gs-fixed{position:fixed;top:0;left:0;z-index:1}.gs-root1[data-mode=light]{background-color:#e2e2e2;color:#000}.gs-root1[data-mode=light] .gs-main{background-color:#e2e2e2;border-right:solid 1px #ddd;border-bottom:solid 1px #ddd}.gs-root1[data-mode=light] .gs-tabular{background-color:#e2e2e2}.gs-root1[data-mode=light] .gs-formula-bar{background-color:#efefef}.gs-root1[data-mode=light] .gs-formula-bar-editor-inner{color:#555}.gs-root1[data-mode=light] .gs-cell{background-color:#f7f7f7;border-top:solid 1px #ddd;border-left:solid 1px #ddd}.gs-root1[data-mode=light] .gs-adjuster{background-color:#ddd}.gs-root1[data-mode=light] .gs-tabular-inner{background-color:#ddd}.gs-root1[data-mode=light] .gs-th{background-color:#efefef;color:#666}.gs-root1[data-mode=light] .gs-th-top{border-left:solid 1px #ddd}.gs-root1[data-mode=light] .gs-th-top .gs-th-inner{border-top:solid 1px #ddd}.gs-root1[data-mode=light] .gs-th-left{border-top:solid 1px #ddd}.gs-root1[data-mode=light] .gs-th-left .gs-th-inner{border-left:solid 1px #ddd}.gs-root1[data-mode=light] .gs-search-bar{color:rgba(0,0,0,.3)}.gs-editor[data-mode=light].gs-editing textarea{caret-color:#000000}.gs-editor[data-mode=light].gs-editing .gs-editor-hl{background-color:#f7f7f7;color:#000}.gs-editor[data-mode=light] .gs-editor-options{color:#000;background-color:#f7f7f7;border:solid 1px #ddd}.gs-root1[data-mode=dark]{background-color:#5a5a5a;color:#eee}.gs-root1[data-mode=dark] .gs-main{background-color:#3f3f3f;border-right:solid 1px #5a5a5a;border-bottom:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-tabular{background-color:#3f3f3f}.gs-root1[data-mode=dark] .gs-formula-bar{background-color:#4f4f4f}.gs-root1[data-mode=dark] .gs-formula-bar-editor-inner{color:#bbb}.gs-root1[data-mode=dark] .gs-cell{background-color:#212121;border-top:solid 1px #5a5a5a;border-left:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-adjuster{background-color:#5a5a5a}.gs-root1[data-mode=dark] .gs-tabular-inner{background-color:#5a5a5a}.gs-root1[data-mode=dark] .gs-large-editor textarea{color:#eee;caret-color:#eeeeee}.gs-root1[data-mode=dark] .gs-th{background-color:#4f4f4f;color:#eee}.gs-root1[data-mode=dark] .gs-th-top{border-left:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-th-top .gs-th-inner{border-top:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-th-left{border-top:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-th-left .gs-th-inner{border-left:solid 1px #5a5a5a}.gs-root1[data-mode=dark] .gs-search-bar textarea{color:#eee;caret-color:#eeeeee}.gs-root1[data-mode=dark] .gs-search-bar{color:rgba(255,255,255,.3)}.gs-editor[data-mode=dark].gs-editing textarea{caret-color:#eeeeee}.gs-editor[data-mode=dark].gs-editing .gs-editor-hl{background-color:#212121;color:#eee}.gs-editor[data-mode=dark] .gs-editor-options{color:#eee;background-color:#5a5a5a;border:solid 1px #5a5a5a}.gs-cell{transition:border-color .2s ease;padding:0;margin:0;box-sizing:border-box;position:relative;font-size:13px;letter-spacing:1px;line-height:24px;cursor:cell;user-select:none;-webkit-user-select:none;-moz-user-select:none}.gs-cell.gs-copying textarea:focus{outline:solid 1px #0077ff}.gs-cell.gs-selecting{z-index:1}.gs-cell.gs-selecting .gs-cell-label{display:block}.gs-cell.gs-choosing{margin-top:-1px;margin-left:-1px;z-index:1}.gs-cell.gs-choosing.gs-editing{color:transparent}.gs-cell.gs-choosing .gs-cell-label{display:block}.gs-cell.gs-pending .gs-cell-rendered{position:relative;overflow:hidden}.gs-cell.gs-pending .gs-cell-rendered::after{content:'';position:absolute;bottom:0;left:0;height:4px;width:40%;border-radius:1px;background:rgba(100,140,255,.6);animation:gs-pending-slide 1.4s ease-in-out infinite}.gs-cell .gs-formula-error-triangle{position:absolute;top:0;right:0;border-top:3px solid rgba(200,0,0,.9);border-right:3px solid rgba(200,0,0,.9);border-bottom:3px solid transparent;border-left:3px solid transparent;z-index:1}.gs-cell .gs-cell-label{font-size:8px;font-weight:400;font-style:normal;font-family:math,monospace,serif;letter-spacing:1px;line-height:14px;position:absolute;top:0;right:0;background-color:rgba(0,128,255,.6);color:rgba(255,255,255,.6);padding:0 2px;display:none;opacity:.7}.gs-cell .gs-cell-inner-wrap{width:100%;height:100%;position:absolute;top:0;left:0}.gs-cell .gs-cell-inner{width:100%;height:100%;overflow:hidden;display:flex;box-sizing:border-box;border:none!important}.gs-cell .gs-cell-rendered{overflow:hidden;white-space:pre-wrap;cursor:cell;word-wrap:break-word;word-break:break-all;padding:0 2px;width:100%;height:100%}.gs-cell .gs-cell-rendered>*{position:relative}.gs-cell .gs-cell-rendered>.backface{z-index:0}.gs-cell .gs-autofill-drag{background-color:#07f;position:absolute;width:7px;height:7px;bottom:0;right:0;margin-right:-3.5px;margin-bottom:-3.5px;cursor:crosshair;z-index:1}.gs-th[data-x=\"1\"] .gs-th-inner-wrap{border-left:none}.gs-th[data-y=\"1\"] .gs-th-inner-wrap{border-top:none}.gs-cell[data-x=\"1\"]{border-left:none}.gs-cell[data-y=\"1\"]{border-top:none}.gs-menu-modal{width:100%;height:100vh;z-index:12}.gs-label-input-label{font-size:13px;letter-spacing:1px}.gs-menu-divider{background-color:#aaa;padding:0;margin:5px 0;height:1px;list-style-type:none}.gs-menu-btn{position:absolute;background-color:rgba(128,128,128,.3);border:1px solid #ccc;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;line-height:1;color:#888;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;z-index:2}.gs-context-menu{z-index:12;position:fixed;background-color:#fff;padding:5px 0;border-radius:5px;box-shadow:rgba(60,64,67,.3) 0 1px 2px 0,rgba(60,64,67,.15) 0 1px 3px 1px;opacity:.9;transition:opacity .15s ease}.gs-context-menu:hover{opacity:1}.gs-context-menu .gs-menu-items{color:#555;margin:0;padding:0;min-width:250px}.gs-menu-item{padding:5px 10px;list-style-type:none;display:flex}.gs-menu-item.gs-enabled{cursor:pointer}.gs-menu-item.gs-enabled:hover{background-color:#eee}.gs-menu-item.gs-disabled{opacity:.5;cursor:not-allowed}.gs-menu-item .gs-menu-name{font-size:13px;letter-spacing:1px;flex:1}.gs-menu-shortcut{font-size:10px;line-height:20px;color:#999}.gs-menu-shortcut:before{content:\"( \"}.gs-menu-shortcut:after{content:\" )\"}.gs-menu-shortcut .gs-menu-underline{text-decoration:underline}.gs-column-menu{z-index:12;position:fixed;background-color:#fff;padding:5px 0;border-radius:5px;box-shadow:rgba(60,64,67,.3) 0 1px 2px 0,rgba(60,64,67,.15) 0 1px 3px 1px;opacity:.9;transition:opacity .15s ease}.gs-column-menu:hover{opacity:1}.gs-column-menu ul{color:#555;margin:0;padding:0;min-width:200px}.gs-column-menu .gs-column-menu-sort{align-items:center}.gs-column-menu .gs-column-menu-sort .gs-sort-buttons{display:flex;gap:4px;margin-left:auto}.gs-column-menu .gs-column-menu-sort .gs-sort-btn{font-size:12px;padding:4px 8px;border:1px solid transparent;border-radius:3px;background-color:rgba(180,180,180,.1);cursor:pointer;color:#555;font-weight:700;letter-spacing:.5px}.gs-column-menu .gs-column-menu-sort .gs-sort-btn:hover:not(:disabled){border-color:#555}.gs-column-menu .gs-column-menu-sort .gs-sort-btn:disabled{opacity:.5;cursor:not-allowed}.gs-column-menu .gs-column-menu-label{padding:5px 10px}.gs-column-menu .gs-label-input-row{display:flex;gap:4px;align-items:center}.gs-column-menu .gs-label-input{flex:1;font-size:13px;padding:4px 6px;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:0;min-width:0;width:100px;background-color:transparent;box-shadow:none}.gs-column-menu .gs-label-input:focus{border-bottom-color:#07f;outline:0;box-shadow:none}.gs-column-menu .gs-label-apply-btn{font-size:12px;padding:4px 8px;border:1px solid transparent;border-radius:3px;background-color:rgba(180,180,180,.1);cursor:pointer;color:#555;font-weight:700;letter-spacing:.5px}.gs-column-menu .gs-label-apply-btn:hover:not(:disabled){border-color:#555}.gs-column-menu .gs-label-apply-btn:disabled{opacity:.5;cursor:not-allowed}.gs-column-menu .gs-column-menu-filter{padding:5px 10px;list-style-type:none;font-size:13px}.gs-column-menu .gs-filter-header{display:flex;align-items:center;gap:8px}.gs-column-menu .gs-filter-header .gs-filter-add-btn{font-size:12px;padding:3px 9px;border:1px solid transparent;border-radius:3px;background-color:rgba(180,180,180,.1);cursor:pointer;color:#555;letter-spacing:1px}.gs-column-menu .gs-filter-header .gs-filter-add-btn:hover{border-color:#555}.gs-column-menu .gs-filter-mode-toggle{display:flex;gap:6px;margin-left:auto}.gs-column-menu .gs-filter-mode-toggle label{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#888;cursor:pointer;user-select:none}.gs-column-menu .gs-filter-mode-toggle label input[type=radio]{margin:0;cursor:pointer}.gs-column-menu .gs-filter-mode-toggle label.gs-active{color:#07f}.gs-column-menu .gs-filter-mode-toggle.gs-disabled{opacity:.4;pointer-events:none}.gs-column-menu .gs-filter-conditions{display:flex;flex-direction:column;gap:5px;margin-top:6px;max-height:200px;overflow-y:auto}.gs-column-menu .gs-filter-condition-row{display:flex;gap:4px;align-items:normal}.gs-column-menu .gs-filter-method-select{font-size:12px;padding:4px 4px;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:0;background-color:#fff;box-shadow:none;min-width:40px;max-width:80px;cursor:pointer}.gs-column-menu .gs-filter-method-select:focus{border-bottom-color:#07f;outline:0;box-shadow:none}.gs-column-menu .gs-filter-value-input{flex:1;font-size:13px;padding:4px 6px;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:0;min-width:0;width:80px;background-color:transparent;box-shadow:none}.gs-column-menu .gs-filter-value-input:focus{border-bottom-color:#07f;outline:0;box-shadow:none}.gs-column-menu .gs-filter-remove-btn{font-size:12px;padding:0;border:none;border-radius:3px;background-color:transparent;cursor:pointer;color:#999;line-height:1;flex-shrink:0}.gs-column-menu .gs-filter-remove-btn:hover{color:#c33}.gs-column-menu .gs-filter-actions{display:flex;gap:4px;margin-top:10px;align-items:center}.gs-column-menu .gs-filter-actions .gs-filter-reset-all-btn{font-size:12px;padding:3px 9px;border:1px solid transparent;border-radius:3px;background-color:transparent;cursor:pointer;color:#c33;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-filter-actions .gs-filter-reset-all-btn:hover{border-color:#c33}.gs-column-menu .gs-filter-actions .gs-filter-actions-right{display:flex;gap:4px;margin-left:auto}.gs-column-menu .gs-filter-actions .gs-filter-reset-btn{font-size:12px;padding:3px 9px;border:1px solid transparent;border-radius:3px;background-color:transparent;cursor:pointer;color:#e08000;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-filter-actions .gs-filter-reset-btn:hover{border-color:#e08000}.gs-column-menu .gs-filter-actions .gs-filter-apply-btn{font-size:12px;padding:3px 6px;border:1px solid transparent;border-radius:3px;background-color:transparent;color:#07f;cursor:pointer;font-weight:700;letter-spacing:1px}.gs-column-menu .gs-filter-actions .gs-filter-apply-btn:hover{border-color:#07f}.gs-column-menu-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 30px;gap:12px;min-width:180px}.gs-column-menu-waiting .gs-waiting-message{font-size:13px;font-weight:700;color:#555;letter-spacing:.5px}.gs-column-menu-waiting .gs-waiting-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:#07f;border-radius:50%;animation:spin .8s linear infinite}.gs-column-menu-waiting .gs-waiting-cancel-btn{font-size:12px;padding:4px 18px;border:1px solid #c33;border-radius:3px;background-color:transparent;color:#c33;cursor:pointer;font-weight:700;letter-spacing:1px}.gs-column-menu-waiting .gs-waiting-cancel-btn:hover{background-color:#c33;color:#fff}.gs-column-menu-btn{right:4px;top:50%;transform:translateY(-50%)}.gs-column-menu-btn.gs-filtered{opacity:1;background-color:#e0edff;border-color:#07f;color:#07f}.gs-column-menu-btn.gs-active{opacity:1;background-color:#d0e0ff;border-color:#07f;color:#07f}.gs-th-top:hover .gs-column-menu-btn{opacity:1}.gs-row-menu{z-index:12;position:fixed;background-color:#fff;padding:5px 0;border-radius:5px;box-shadow:rgba(60,64,67,.3) 0 1px 2px 0,rgba(60,64,67,.15) 0 1px 3px 1px;opacity:.9;transition:opacity .15s ease}.gs-row-menu:hover{opacity:1}.gs-row-menu ul{color:#555;margin:0;padding:0;min-width:200px}.gs-row-menu-btn{top:50%;transform:translateY(-50%);right:2px}.gs-row-menu-btn.gs-active{opacity:1;background-color:#d0e0ff;border-color:#07f;color:#07f}.gs-th-left:hover .gs-row-menu-btn{opacity:1}.gs-corner-menu-btn{bottom:2px;right:2px}.gs-corner-menu-btn:hover{opacity:1;background-color:#d0e0ff;border-color:#07f;color:#07f}.gs-th-left.gs-th-top:hover .gs-corner-menu-btn{opacity:1}.gs-editor-hl{padding:0 2px!important;position:absolute;font-family:monospace,Arial;font-size:12px;line-height:24px;letter-spacing:1px}.gs-formula-bar-editor-inner{position:relative;display:table-cell}.gs-editor{opacity:0;z-index:-1}.gs-editor .gs-editor-inner{position:relative}.gs-editor .gs-editor-hl{box-sizing:content-box;border:solid 2px #07f;margin:-2px -1px}.gs-editor textarea{width:100%;padding:0 2px!important;position:absolute;font-size:12px;font-family:monospace,Arial;line-height:24px;letter-spacing:1px;top:0;left:0;border:none;outline:0;background-color:transparent;color:transparent;resize:none;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;overflow:hidden;cursor:default;white-space:pre;height:auto}.gs-editor.gs-editing{z-index:11;opacity:1}.gs-editor.gs-editing .gs-cell-label{pointer-events:none;font-family:math,monospace,serif;position:absolute;top:0;right:0;margin-top:-15px;margin-right:-2px;padding:0 2px;font-size:10px;background-color:rgba(0,119,255,.75);color:#fff;z-index:1}.gs-formula-bar{width:100%;position:relative;display:table;align-items:center;justify-content:center;border-top:solid 1px rgba(128,128,128,.3);border-left:solid 1px rgba(128,128,128,.3);border-right:solid 1px rgba(128,128,128,.3);box-sizing:border-box}.gs-formula-bar .gs-selecting-address{display:table-cell;vertical-align:middle;width:60px;color:rgba(200,200,200);font-size:13px;text-align:center}.gs-formula-bar[data-spill=true]{background-color:rgba(0,119,255,.04)}.gs-formula-bar[data-spill=true] .gs-selecting-address{color:rgba(80,160,255,.9);font-style:italic}.gs-formula-bar[data-spill=true] .gs-selecting-address::after{content:\"\\2196\";margin-left:2px;font-style:normal;font-size:9px}.gs-formula-bar[data-spill=true] .gs-editor-hl .gs-spill-origin-formula{opacity:.5}.gs-formula-bar .gs-fx{display:table-cell;vertical-align:middle;width:30px;color:rgba(200,200,200);font-style:italic;font-family:cursive;text-align:center;border-left:solid 1px rgba(128,128,128,.5);font-size:15px}.gs-formula-bar .gs-editor-hl{z-index:0;overflow-y:auto;box-sizing:border-box;white-space:pre-wrap;word-break:break-all}.gs-formula-bar .gs-editor-hl .gs-spill-origin-formula{opacity:.5}.gs-formula-bar textarea{position:relative;z-index:1;width:100%;vertical-align:bottom;color:transparent;border:none;background-color:transparent;padding:0 2px;box-sizing:border-box;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:12px;font-family:monospace,Arial;height:24px;line-height:24px;min-height:24px;letter-spacing:1px;resize:vertical;caret-color:rgba(128,128,128);white-space:pre-wrap;word-break:break-all}.gs-token-type-INVALID_REF{color:red}.gs-token-type-VALUE.gs-token-entity-type-boolean,.gs-token-type-VALUE.gs-token-entity-type-number{color:#39f}.gs-token-type-VALUE.gs-token-entity-type-string{color:#090}.gs-editor-options{position:fixed;z-index:1000;padding:4px;background:var(--gs-bg,#fff);box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.1);border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;overflow:visible}.gs-editor-option{position:relative;cursor:pointer;list-style:none;padding:6px 12px;font-size:13px;border-radius:4px;color:#333;margin-bottom:2px}.gs-editor-option-content{display:flex;justify-content:space-between;width:100%;align-items:center}.gs-editor-option-tab{font-size:10px;color:#aaa;margin-left:8px;padding:2px 4px;border:1px solid #ddd;border-radius:3px;background:#f9f9f9}.gs-editor-option:last-child{margin-bottom:0}.gs-editor-option:hover{background-color:#f5f5f5}.gs-editor-option-selected{background-color:#ebf5ff;color:#06c;font-weight:500}.gs-editor-option-selected:hover{background-color:#e0f0ff}.gs-fn-guide1{position:absolute;top:-4px;left:calc(100% + 8px);background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px rgba(0,0,0,.12);border-radius:6px;padding:16px;width:280px;z-index:1000;cursor:default;white-space:normal;color:#333}.gs-fn-guide1-tooltip{margin-bottom:8px;line-height:1.4;font-size:13px}.gs-fn-guide1-example{font-family:monospace;font-weight:600;font-size:13px;margin-bottom:8px;color:#1a1a1a;background:#f5f5f5;padding:6px 8px;border-radius:4px;border:1px solid #eee;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gs-fn-guide1-desc{font-size:13px;color:#555;margin-bottom:12px;line-height:1.4}.gs-fn-guide1-desc p{margin:0 0 6px 0}.gs-fn-guide1-desc p:last-child{margin-bottom:0}.gs-fn-guide1-args{border-top:1px solid #eee;padding-top:10px}.gs-fn-guide1-arg{margin-bottom:6px;line-height:1.4;font-size:12px}.gs-fn-guide1-arg-name{font-weight:600;color:#06c}.gs-fn-guide1-arg-opt{color:#888;font-size:11px}.gs-fn-guide1-arg-iter{font-weight:600;color:#06c}.gs-fn-guide1-arg-type{color:#06c;padding:0 4px;background:#ebf5ff;border-radius:3px;font-size:11px;margin:0 4px}.gs-fn-guide1-arg-desc{color:#666}.gs-fn-guide-category{position:absolute;top:-11px;right:8px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:#e8eaf6;color:#3949ab;border:1px solid #c5cae9;white-space:nowrap}.gs-fn-guide-category.gs-fn-guide-category-math{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.gs-fn-guide-category.gs-fn-guide-category-statistics{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.gs-fn-guide-category.gs-fn-guide-category-text{background:#fff8e1;color:#f57f17;border-color:#ffecb3}.gs-fn-guide-category.gs-fn-guide-category-time{background:#fce4ec;color:#880e4f;border-color:#f8bbd0}.gs-fn-guide-category.gs-fn-guide-category-lookup{background:#f3e5f5;color:#6a1b9a;border-color:#e1bee7}.gs-fn-guide-category.gs-fn-guide-category-logical{background:#e0f2f1;color:#00695c;border-color:#b2dfdb}.gs-fn-guide-category.gs-fn-guide-category-information{background:#e0f7fa;color:#006064;border-color:#b2ebf2}.gs-fn-guide-category.gs-fn-guide-category-finance{background:#fff3e0;color:#e65100;border-color:#ffe0b2}.gs-fn-guide-category.gs-fn-guide-category-engineering{background:#efebe9;color:#4e342e;border-color:#d7ccc8}.gs-fn-guide-category.gs-fn-guide-category-other{background:#f5f5f5;color:#616161;border-color:#e0e0e0}.gs-editor[data-mode=dark] .gs-editor-options{background:#252526;border-color:#454545;box-shadow:0 4px 12px rgba(0,0,0,.5)}.gs-editor[data-mode=dark] .gs-editor-option{color:#ccc}.gs-editor[data-mode=dark] .gs-editor-option:hover{background-color:#333}.gs-editor[data-mode=dark] .gs-editor-option-selected{background-color:#094771;color:#fff}.gs-editor[data-mode=dark] .gs-editor-option-selected:hover{background-color:#0d5a8f}.gs-editor[data-mode=dark] .gs-editor-option-tab{color:#777;background:#333;border-color:#444}.gs-editor[data-mode=dark] .gs-fn-guide1{background:#252526;border-color:#454545;color:#ccc}.gs-editor[data-mode=dark] .gs-fn-guide1-example{background:#1e1e1e;border-color:#333;color:#d4d4d4}.gs-editor[data-mode=dark] .gs-fn-guide1-desc{color:#aaa}.gs-editor[data-mode=dark] .gs-fn-guide1-args{border-color:#333}.gs-editor[data-mode=dark] .gs-fn-guide1-arg-iter,.gs-editor[data-mode=dark] .gs-fn-guide1-arg-name{color:#4fc1ff}.gs-editor[data-mode=dark] .gs-fn-guide1-arg-opt{color:#777}.gs-editor[data-mode=dark] .gs-fn-guide1-arg-type{background:#094771;color:#4fc1ff}.gs-editor[data-mode=dark] .gs-fn-guide1-arg-desc{color:#999}.gs-editor[data-mode=dark] .gs-fn-guide-category{background:#2a2d3e;color:#7986cb;border-color:#3d4166}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-math{background:#0d2137;color:#64b5f6;border-color:#1a3a5c}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-statistics{background:#0d2218;color:#66bb6a;border-color:#1a3d2a}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-text{background:#2e2200;color:#ffd54f;border-color:#4d3900}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-time{background:#2d0d1e;color:#f48fb1;border-color:#4d1a33}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-lookup{background:#260d33;color:#ce93d8;border-color:#3d1a54}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-logical{background:#0d2421;color:#4db6ac;border-color:#1a3d39}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-information{background:#0d2426;color:#4dd0e1;border-color:#1a3d40}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-finance{background:#2e1500;color:#ffb74d;border-color:#4d2800}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-engineering{background:#1e1714;color:#bcaaa4;border-color:#332c28}.gs-editor[data-mode=dark] .gs-fn-guide-category.gs-fn-guide-category-other{background:#1e1e1e;color:#9e9e9e;border-color:#333}.gs-editor[data-mode=dark] .gs-fn-guide2{background:#252526;border-color:#454545;box-shadow:0 4px 12px rgba(0,0,0,.5);color:#ccc}.gs-editor[data-mode=dark] .gs-fn-guide2-name{color:#dfdbdb;background:#333;border-color:#444}.gs-editor[data-mode=dark] .gs-fn-guide2 .gs-active-arg{color:#fff;background-color:#094771}.gs-editor[data-mode=dark] .gs-fn-guide2-arg-type{background:#094771;color:#4fc1ff}.gs-editor[data-mode=dark] .gs-fn-guide2-desc{color:#aaa;border-top-color:#333}.gs-fn-guide2{position:fixed;left:0;background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px rgba(0,0,0,.12);border-radius:6px;padding:12px 16px;width:280px;z-index:1000;cursor:default;white-space:normal;color:#333;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;transition:opacity .1s ease-in-out}.gs-fn-guide2.gs-fn-guide2-hidden{opacity:0!important;pointer-events:none!important}.gs-fn-guide2-name{font-family:monospace;font-weight:700;font-size:13px;color:#1a1a1a;background:#f5f5f5;padding:6px 8px;border-radius:4px;border:1px solid #eee;display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%;box-sizing:border-box;margin-bottom:8px}.gs-fn-guide2-args-inline{font-size:13px;font-family:monospace;line-height:1.5;margin-bottom:8px;color:#666}.gs-fn-guide2-args-inline span{transition:all .2s ease-in-out}.gs-fn-guide2 .gs-active-arg{font-weight:700;color:#06c;background-color:#ebf5ff;padding:2px 4px;margin:0 -4px;border-radius:4px}.gs-fn-guide2-arg-type{color:#06c;padding:0 4px;background:#ebf5ff;border-radius:3px;font-size:11px;margin:0 4px}.gs-fn-guide2-desc{font-size:12px;color:#555;line-height:1.4;border-top:1px solid #eee;padding-top:8px;margin-top:4px}.gs-fn-guide2-desc p{margin:0}.gs-fn-guide2-desc-more{font-style:italic;color:#888;margin-top:4px!important;font-size:11px}.gs-adjuster{padding:0}.gs-table{margin:0}.gs-tabular{overflow:auto;display:block;box-sizing:border-box;overscroll-behavior:none;position:relative}.gs-tabular-inner>table{table-layout:fixed;border-collapse:separate;border-spacing:0}.gs-th{z-index:2;padding:0;position:sticky;font-size:13px;font-weight:400;box-sizing:border-box;vertical-align:top}.gs-th .gs-resizer{position:absolute;border-color:transparent;box-sizing:border-box;z-index:2}.gs-th .gs-resizer:hover{background-color:#07f}.gs-th .gs-resizer.gs-protected{display:none}.gs-th-inner{height:100%;box-sizing:border-box;vertical-align:middle;overflow:hidden;display:flex;align-items:center;justify-content:center}.gs-th-inner-wrap{height:100%;box-sizing:border-box;background-color:transparent}.gs-th-top{top:0;overflow:hidden}.gs-th-top .gs-resizer{top:0;right:0;width:3px;cursor:e-resize}.gs-th-top .gs-resizer.gs-dragging{border-right-style:dotted;height:1000000px!important;cursor:e-resize}.gs-th-left{left:0;overflow:hidden;min-width:30px;border-top:solid 1px #ddd}.gs-th-left .gs-resizer{left:0;bottom:0;height:3px;cursor:n-resize}.gs-th-left .gs-resizer.gs-dragging{border-bottom-style:dotted;width:1000000px!important;cursor:n-resize}.gs-th-top.gs-th-left{top:0;left:0;z-index:3;border:none!important}.gs-search-bar{width:100%;display:flex;align-items:center;border-top:solid 1px rgba(128,128,128,.3);border-left:solid 1px rgba(128,128,128,.3);border-right:solid 1px rgba(128,128,128,.3);box-sizing:border-box;background-color:rgba(200,50,0,.2)}.gs-search-bar.gs-search-found{background-color:rgba(0,200,100,.2)}.gs-search-bar .gs-search-bar-inner{border-left:solid 1px rgba(128,128,128,.5)}.gs-search-bar .gs-search-bar-icon{border-left:solid 1px rgba(128,128,128,.3);display:flex;align-items:center;justify-content:center;width:30px;flex-shrink:0}.gs-search-bar .gs-search-input-wrapper{flex-grow:1;position:relative;display:flex;align-items:center;height:100%}.gs-search-bar .gs-search-input-ghost{position:absolute;left:2px;right:2px;top:0;bottom:0;pointer-events:none;font-size:12px;font-family:monospace,Arial;line-height:24px;letter-spacing:1px;white-space:pre-wrap;word-break:break-all;color:transparent;overflow:hidden}.gs-search-bar .gs-search-input-ghost .gs-search-ghost-hint{color:#aaa}.gs-search-bar textarea{background-color:transparent;border:none;padding:0 2px;box-sizing:border-box;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:12px;font-family:monospace,Arial;height:24px;line-height:24px;min-height:24px;letter-spacing:1px;caret-color:rgba(128,128,128);white-space:pre-wrap;word-break:break-all;flex-grow:1;width:100%;resize:none}.gs-search-progress{color:#999;font-size:13px;width:60px;flex-shrink:0;white-space:nowrap;text-align:center}.gs-search-close{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.gs-search-buttons{display:flex;align-items:center;white-space:nowrap;flex-shrink:0}.gs-search-button{display:inline-flex;cursor:pointer;margin:0 2px}.gs-search-button span{display:inline-block;font-size:11px;padding:3px 5px;background-color:rgba(128,128,128,.1);border:1px solid rgba(128,128,128,.3);border-radius:3px;transition:all .15s ease;line-height:1}.gs-search-button span:hover{background-color:rgba(128,128,128,.2)}.gs-search-button span.gs-search-button-on{color:#07f;background-color:rgba(200,200,255,.5);border-color:#07f}.gs-search-range span{white-space:nowrap;font-family:monospace}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes gs-pending-slide{0%{left:-40%}100%{left:100%}}@keyframes gs-pending-pulse{0%{left:0;width:0}50%{left:0;width:100%}100%{left:100%;width:0}}@keyframes gs-flash{0%{opacity:0}20%{opacity:1}100%{opacity:0}}.gs-flash-overlay{position:absolute;inset:0;pointer-events:none;z-index:9999;background:rgba(0,119,255,.15);opacity:0}.gs-flash-overlay--active{animation:gs-flash .6s ease-out forwards}";
3
3
  //# sourceMappingURL=minified.d.ts.map
package/dist/types.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { RendererType } from './renderers/core';
2
- import { ParserType } from './parsers/core';
3
1
  import { UserTable, Table } from './lib/table';
4
2
  import { FC, RefObject, CSSProperties, KeyboardEvent } from 'react';
5
3
  import { HubType, TransmitProps } from './lib/hub';
@@ -11,8 +9,8 @@ export type X = number;
11
9
  export type Height = number;
12
10
  export type Width = number;
13
11
  export type ShapeType = {
14
- height: Height;
15
- width: Width;
12
+ rows: number;
13
+ cols: number;
16
14
  };
17
15
  export type RectType = {
18
16
  y: Y;
@@ -21,16 +19,6 @@ export type RectType = {
21
19
  width: Width;
22
20
  };
23
21
  export type MatrixType<T = any> = T[][];
24
- export type Labeler = (n: number) => string;
25
- export type Renderers = {
26
- [s: string]: RendererType;
27
- };
28
- export type Parsers = {
29
- [s: string]: ParserType;
30
- };
31
- export type Labelers = {
32
- [s: string]: Labeler;
33
- };
34
22
  export type Policies = {
35
23
  [s: string]: PolicyType;
36
24
  };
@@ -48,20 +36,20 @@ export type HeadersType = 'both' | 'vertical' | 'horizontal' | 'none';
48
36
  export type AsyncCache = {
49
37
  /** Cached result value from the async computation. */
50
38
  value: any;
51
- /** Cache key derived from function name + arguments. Used to detect when inputs change. */
52
- key: string;
53
39
  /** Absolute timestamp (ms since epoch) at which the cache expires. undefined means cache never expires. */
54
40
  expireTime?: number;
55
41
  };
56
42
  export type System = {
57
- id: string;
58
- sheetId: number;
59
- changedTime: number;
60
- dependents: Set<string>;
43
+ id?: string;
44
+ sheetId?: number;
45
+ changedTime?: number;
61
46
  /** Cumulative top offset (px) from table origin. Set on row-header cells (x=0). */
62
47
  offsetTop?: number;
63
48
  /** Cumulative left offset (px) from table origin. Set on col-header cells (y=0). */
64
49
  offsetLeft?: number;
50
+ tmpAsyncCaches?: Record<string, AsyncCache>;
51
+ /** Address of the origin cell whose array formula spilled its value into this cell. */
52
+ spilledFrom?: Address;
65
53
  };
66
54
  export type FilterConditionMethod = 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'blank' | 'nonblank' | 'includes' | 'excludes';
67
55
  export type FilterCondition = {
@@ -78,18 +66,15 @@ export type CellType<T = any, Custom = any> = {
78
66
  justifyContent?: CSSProperties['justifyContent'];
79
67
  alignItems?: CSSProperties['alignItems'];
80
68
  label?: string;
81
- labeler?: string;
82
69
  width?: Width;
83
70
  height?: Height;
84
- renderer?: string;
85
- parser?: string;
86
71
  policy?: string;
87
72
  custom?: Custom;
88
- disableFormula?: boolean;
73
+ formulaEnabled?: boolean;
89
74
  prevention?: OperationType;
90
75
  _sys?: System;
91
76
  /** Cached result from an async formula. Stored directly on the cell for serializability. */
92
- asyncCache?: AsyncCache;
77
+ asyncCaches?: Record<string, AsyncCache>;
93
78
  /** Filter configuration. Set on col-header cells (y=0). */
94
79
  filter?: FilterConfig;
95
80
  /** Whether this row is hidden by a filter. Set on row-header cells (x=0). */
@@ -100,7 +85,9 @@ export type RawCellType = {
100
85
  style?: CSSProperties;
101
86
  skip?: boolean;
102
87
  };
103
- export type CellPatchType = CellType;
88
+ export type CellPatchType<T = any> = Partial<CellType> & {
89
+ value: T;
90
+ };
104
91
  export type CellFilter = (cell: CellType) => boolean;
105
92
  export type CellsByAddressType = {
106
93
  [address: string]: CellType;
@@ -158,6 +145,7 @@ export type StoreType = {
158
145
  sheetId: number;
159
146
  tableReactive: RefObject<Table>;
160
147
  rootRef: RefObject<HTMLDivElement>;
148
+ flashRef: RefObject<HTMLDivElement>;
161
149
  mainRef: RefObject<HTMLDivElement>;
162
150
  editorRef: RefObject<HTMLTextAreaElement>;
163
151
  largeEditorRef: RefObject<HTMLTextAreaElement>;
@@ -182,6 +170,8 @@ export type StoreType = {
182
170
  mode: ModeType;
183
171
  searchQuery?: string;
184
172
  searchCaseSensitive: boolean;
173
+ searchRegex: boolean;
174
+ searchRange?: ZoneType;
185
175
  matchingCells: string[];
186
176
  matchingCellIndex: number;
187
177
  editingOnEnter: boolean;
@@ -198,6 +188,7 @@ export type StoreType = {
198
188
  y: number;
199
189
  position: PositionType;
200
190
  } | null;
191
+ editorHovering: boolean;
201
192
  };
202
193
  export type Manager<T> = {
203
194
  instance: T;
@@ -249,8 +240,15 @@ export type HistoryUpdateType = {
249
240
  diffAfter: CellsByIdType;
250
241
  partial: boolean;
251
242
  };
252
- export type MoveRelationKind = 'vacate' | 'overflow' | 'displace' | null;
253
- export type MoveRelations = [string, string, MoveRelationKind][];
243
+ export type MoveRelation = {
244
+ before?: string;
245
+ after?: string;
246
+ src: Address;
247
+ dst?: Address;
248
+ new?: Id;
249
+ lost?: Id;
250
+ };
251
+ export type MoveRelations = MoveRelation[];
254
252
  export type HistoryMoveType = {
255
253
  operation: 'MOVE';
256
254
  srcSheetId: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsheet/preact-core",
3
- "version": "3.0.0-rc.0",
3
+ "version": "3.0.0-rc.2",
4
4
  "description": "Spreadsheet component for Preact",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class AcosFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(value: number): number;
11
- }
12
- //# sourceMappingURL=acos.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class AsinFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(value: number): number;
11
- }
12
- //# sourceMappingURL=asin.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class AtanFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(value: number): number;
11
- }
12
- //# sourceMappingURL=atan.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class Atan2Function extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(x: number, y: number): number;
11
- }
12
- //# sourceMappingURL=atan2.d.ts.map
@@ -1,13 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class ColFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- option: boolean;
9
- }[];
10
- protected validate(): void;
11
- protected main(left: number): number;
12
- }
13
- //# sourceMappingURL=col.d.ts.map
@@ -1,19 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class ConcatenateFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: ({
6
- name: string;
7
- description: string;
8
- optional?: undefined;
9
- iterable?: undefined;
10
- } | {
11
- name: string;
12
- description: string;
13
- optional: boolean;
14
- iterable: boolean;
15
- })[];
16
- protected validate(): void;
17
- protected main(...values: string[]): string;
18
- }
19
- //# sourceMappingURL=concatenate.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class CosFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(angle: number): number;
11
- }
12
- //# sourceMappingURL=cos.d.ts.map
@@ -1,13 +0,0 @@
1
- import { Table } from '../../lib/table';
2
- import { BaseFunction } from './__base';
3
- export declare class CountifFunction extends BaseFunction {
4
- example: string;
5
- helpText: string[];
6
- helpArgs: {
7
- name: string;
8
- description: string;
9
- }[];
10
- protected validate(): void;
11
- protected main(table: Table, condition: string): number;
12
- }
13
- //# sourceMappingURL=countif.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class ExpFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(exponent: number): number;
11
- }
12
- //# sourceMappingURL=exp.d.ts.map
@@ -1,18 +0,0 @@
1
- import { Table } from '../../lib/table';
2
- import { BaseFunction } from './__base';
3
- export declare class HlookupFunction extends BaseFunction {
4
- example: string;
5
- helpText: string[];
6
- helpArgs: ({
7
- name: string;
8
- description: string;
9
- option?: undefined;
10
- } | {
11
- name: string;
12
- description: string;
13
- option: boolean;
14
- })[];
15
- protected validate(): void;
16
- protected main(key: any, range: Table, index: number, isSorted: boolean): any;
17
- }
18
- //# sourceMappingURL=hlookup.d.ts.map
@@ -1,18 +0,0 @@
1
- import { Table } from '../../lib/table';
2
- import { BaseFunction } from './__base';
3
- export declare class IndexFunction extends BaseFunction {
4
- example: string;
5
- helpText: string[];
6
- helpArgs: ({
7
- name: string;
8
- description: string;
9
- optional?: undefined;
10
- } | {
11
- name: string;
12
- description: string;
13
- optional: boolean;
14
- })[];
15
- protected validate(): void;
16
- protected main(table: Table, y?: number, x?: number): Table;
17
- }
18
- //# sourceMappingURL=index.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class LenbFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(text: string): number;
11
- }
12
- //# sourceMappingURL=lenb.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class LnFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(value: number): number;
11
- }
12
- //# sourceMappingURL=ln.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class LogFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(value: number, base: number): number;
11
- }
12
- //# sourceMappingURL=log.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class Log10Function extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(value: number): number;
11
- }
12
- //# sourceMappingURL=log10.d.ts.map
@@ -1,18 +0,0 @@
1
- import { Table } from '../../lib/table';
2
- import { BaseFunction } from './__base';
3
- export declare class MatchFunction extends BaseFunction {
4
- example: string;
5
- helpText: string[];
6
- helpArgs: ({
7
- name: string;
8
- description: string;
9
- optional?: undefined;
10
- } | {
11
- name: string;
12
- description: string;
13
- optional: boolean;
14
- })[];
15
- protected validate(): void;
16
- protected main(searchKey: any, range: Table, searchType?: number): number;
17
- }
18
- //# sourceMappingURL=match.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=match.test.d.ts.map
@@ -1,12 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class ModFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: {
6
- name: string;
7
- description: string;
8
- }[];
9
- protected validate(): void;
10
- protected main(v1: number, v2: number): number;
11
- }
12
- //# sourceMappingURL=mod.d.ts.map
@@ -1,9 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class PiFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: never[];
6
- protected validate(): void;
7
- protected main(): number;
8
- }
9
- //# sourceMappingURL=pi.d.ts.map
@@ -1,19 +0,0 @@
1
- import { BaseFunction } from './__base';
2
- export declare class ProductFunction extends BaseFunction {
3
- example: string;
4
- helpText: string[];
5
- helpArgs: ({
6
- name: string;
7
- description: string;
8
- optional?: undefined;
9
- iterable?: undefined;
10
- } | {
11
- name: string;
12
- description: string;
13
- optional: boolean;
14
- iterable: boolean;
15
- })[];
16
- protected validate(): void;
17
- protected main(...values: number[]): number;
18
- }
19
- //# sourceMappingURL=product.d.ts.map