@gridsheet/preact-core 3.0.0-rc.7 → 3.0.0-rc.8

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 (115) hide show
  1. package/dist/hooks-hS8l-fYa.mjs +1440 -0
  2. package/dist/hooks-hS8l-fYa.mjs.map +1 -0
  3. package/dist/index.d.ts +3 -34
  4. package/dist/index.js +358 -9246
  5. package/dist/index.js.map +1 -1
  6. package/dist/{components → react-core/src/components}/FunctionGuide.d.ts +2 -2
  7. package/dist/{components → react-core/src/components}/useAutocomplete.d.ts +3 -3
  8. package/dist/react-core/src/index.d.ts +17 -0
  9. package/dist/{lib → react-core/src/lib}/clipboard.d.ts +1 -1
  10. package/dist/{components → react-core/src/lib}/hooks.d.ts +2 -0
  11. package/dist/{lib → react-core/src/lib}/menu.d.ts +1 -1
  12. package/dist/react-core/src/lib/style.d.ts +12 -0
  13. package/dist/react-core/src/policy/checkbox.d.ts +3 -0
  14. package/dist/react-core/src/spellbook.d.ts +6 -0
  15. package/dist/{store → react-core/src/store}/actions.d.ts +1 -1
  16. package/dist/{store/dispatchers.d.ts → react-core/src/store/applyers.d.ts} +1 -1
  17. package/dist/{store → react-core/src/store}/helpers.d.ts +1 -2
  18. package/dist/react-core/src/types.d.ts +104 -0
  19. package/dist/spellbook.d.ts +2 -0
  20. package/dist/spellbook.js +10 -0
  21. package/dist/spellbook.js.map +1 -0
  22. package/package.json +18 -2
  23. package/dist/constants.d.ts +0 -21
  24. package/dist/formula/evaluator.d.ts +0 -134
  25. package/dist/formula/formula-error.d.ts +0 -10
  26. package/dist/formula/functions/__async.d.ts +0 -67
  27. package/dist/formula/functions/__base.d.ts +0 -112
  28. package/dist/formula/functions/__utils.d.ts +0 -23
  29. package/dist/formula/functions/abs.d.ts +0 -9
  30. package/dist/formula/functions/add.d.ts +0 -10
  31. package/dist/formula/functions/and.d.ts +0 -9
  32. package/dist/formula/functions/arrayformula.d.ts +0 -12
  33. package/dist/formula/functions/average.d.ts +0 -9
  34. package/dist/formula/functions/concat.d.ts +0 -9
  35. package/dist/formula/functions/count.d.ts +0 -9
  36. package/dist/formula/functions/counta.d.ts +0 -9
  37. package/dist/formula/functions/divide.d.ts +0 -10
  38. package/dist/formula/functions/eq.d.ts +0 -9
  39. package/dist/formula/functions/gt.d.ts +0 -9
  40. package/dist/formula/functions/gte.d.ts +0 -9
  41. package/dist/formula/functions/if.d.ts +0 -9
  42. package/dist/formula/functions/iferror.d.ts +0 -10
  43. package/dist/formula/functions/len.d.ts +0 -9
  44. package/dist/formula/functions/lt.d.ts +0 -9
  45. package/dist/formula/functions/lte.d.ts +0 -9
  46. package/dist/formula/functions/max.d.ts +0 -9
  47. package/dist/formula/functions/min.d.ts +0 -9
  48. package/dist/formula/functions/minus.d.ts +0 -10
  49. package/dist/formula/functions/multiply.d.ts +0 -9
  50. package/dist/formula/functions/ne.d.ts +0 -9
  51. package/dist/formula/functions/not.d.ts +0 -9
  52. package/dist/formula/functions/now.d.ts +0 -9
  53. package/dist/formula/functions/or.d.ts +0 -9
  54. package/dist/formula/functions/power.d.ts +0 -9
  55. package/dist/formula/functions/sum.d.ts +0 -9
  56. package/dist/formula/functions/uminus.d.ts +0 -9
  57. package/dist/formula/mapping.d.ts +0 -11
  58. package/dist/formula/solver.d.ts +0 -39
  59. package/dist/lib/autofill.d.ts +0 -17
  60. package/dist/lib/book.d.ts +0 -127
  61. package/dist/lib/cell.d.ts +0 -17
  62. package/dist/lib/coords.d.ts +0 -22
  63. package/dist/lib/date.d.ts +0 -2
  64. package/dist/lib/dom.d.ts +0 -7
  65. package/dist/lib/filter.d.ts +0 -7
  66. package/dist/lib/input.d.ts +0 -24
  67. package/dist/lib/label.d.ts +0 -4
  68. package/dist/lib/operation.d.ts +0 -31
  69. package/dist/lib/palette.d.ts +0 -2
  70. package/dist/lib/popup.d.ts +0 -24
  71. package/dist/lib/reference.d.ts +0 -19
  72. package/dist/lib/sheet.d.ts +0 -508
  73. package/dist/lib/sheet_utils.d.ts +0 -55
  74. package/dist/lib/spatial.d.ts +0 -79
  75. package/dist/lib/time.d.ts +0 -29
  76. package/dist/lib/virtualization.d.ts +0 -22
  77. package/dist/policy/checkbox.d.ts +0 -3
  78. package/dist/policy/core.d.ts +0 -164
  79. package/dist/policy/thousand_separator.d.ts +0 -4
  80. package/dist/sentinels.d.ts +0 -40
  81. package/dist/styles/embedder.d.ts +0 -2
  82. package/dist/styles/minified.d.ts +0 -3
  83. package/dist/styles/utils.d.ts +0 -52
  84. package/dist/types.d.ts +0 -369
  85. package/dist/utils.d.ts +0 -2
  86. /package/dist/{components → react-core/src/components}/Cell.d.ts +0 -0
  87. /package/dist/{components → react-core/src/components}/CellStateOverlay.d.ts +0 -0
  88. /package/dist/{components → react-core/src/components}/ColumnMenu.d.ts +0 -0
  89. /package/dist/{components → react-core/src/components}/ColumnMenuFilterSection.d.ts +0 -0
  90. /package/dist/{components → react-core/src/components}/ColumnMenuLabelSection.d.ts +0 -0
  91. /package/dist/{components → react-core/src/components}/ColumnMenuSortSection.d.ts +0 -0
  92. /package/dist/{components → react-core/src/components}/ContextMenu.d.ts +0 -0
  93. /package/dist/{components → react-core/src/components}/Editor.d.ts +0 -0
  94. /package/dist/{components → react-core/src/components}/EditorOptions.d.ts +0 -0
  95. /package/dist/{components → react-core/src/components}/Emitter.d.ts +0 -0
  96. /package/dist/{components → react-core/src/components}/Fixed.d.ts +0 -0
  97. /package/dist/{components → react-core/src/components}/FormulaBar.d.ts +0 -0
  98. /package/dist/{components → react-core/src/components}/GridSheet.d.ts +0 -0
  99. /package/dist/{components → react-core/src/components}/HeaderCellLeft.d.ts +0 -0
  100. /package/dist/{components → react-core/src/components}/HeaderCellTop.d.ts +0 -0
  101. /package/dist/{components → react-core/src/components}/MenuItem.d.ts +0 -0
  102. /package/dist/{components → react-core/src/components}/PluginBase.d.ts +0 -0
  103. /package/dist/{components → react-core/src/components}/Resizer.d.ts +0 -0
  104. /package/dist/{components → react-core/src/components}/RowMenu.d.ts +0 -0
  105. /package/dist/{components → react-core/src/components}/ScrollHandle.d.ts +0 -0
  106. /package/dist/{components → react-core/src/components}/SearchBar.d.ts +0 -0
  107. /package/dist/{components → react-core/src/components}/StoreObserver.d.ts +0 -0
  108. /package/dist/{components → react-core/src/components}/Tabular.d.ts +0 -0
  109. /package/dist/{components → react-core/src/components}/svg/AddIcon.d.ts +0 -0
  110. /package/dist/{components → react-core/src/components}/svg/Base.d.ts +0 -0
  111. /package/dist/{components → react-core/src/components}/svg/CloseIcon.d.ts +0 -0
  112. /package/dist/{components → react-core/src/components}/svg/SearchIcon.d.ts +0 -0
  113. /package/dist/{lib → react-core/src/lib}/events.d.ts +0 -0
  114. /package/dist/{lib → react-core/src/lib}/paste.d.ts +0 -0
  115. /package/dist/{store → react-core/src/store}/index.d.ts +0 -0
@@ -1,79 +0,0 @@
1
- import { MatrixType, AreaType, ZoneType, RangeType, PointType, CellsByAddressType, ShapeType, MatricesByAddress, CellType, Address } from '../types';
2
- export declare const superposeArea: (srcArea: AreaType, dstArea: AreaType) => ShapeType;
3
- export declare const concatAreas: (area1: AreaType, area2: AreaType) => AreaType;
4
- export declare const zoneToArea: (zone: ZoneType) => AreaType;
5
- export declare const areaToZone: (area: AreaType) => ZoneType;
6
- export declare const areaToRange: (area: AreaType) => string;
7
- export declare const between: (range: RangeType, index: number) => boolean;
8
- export declare const among: (area: AreaType, point: PointType) => boolean;
9
- type ShapeExtension = {
10
- base?: number;
11
- };
12
- export declare const zoneDiff: (zone: ZoneType) => ShapeType;
13
- export declare const zoneShape: (zone: ZoneType) => ShapeType;
14
- export declare const areaDiff: (area: AreaType) => ShapeType;
15
- export declare const areaShape: (area: AreaType) => ShapeType;
16
- export declare const matrixShape: ({ base, matrix }: {
17
- matrix: MatrixType;
18
- } & ShapeExtension) => ShapeType;
19
- export declare const makeSequence: (start: number, stop: number, step?: number) => number[];
20
- export declare const oa2aa: (oa: {
21
- [s: string]: any;
22
- }[], fields: string[]) => MatrixType;
23
- export declare const aa2oa: (aa: MatrixType, fields: string[]) => {
24
- [s: string]: any;
25
- }[];
26
- export declare const createMatrix: <T = any>(numRows: number, numCols: number, fill?: T) => T[][];
27
- export declare const buildInitialCellsFromOrigin: ({ cells, ensured, matrix, flattenAs, origin, }: {
28
- cells?: CellsByAddressType;
29
- ensured?: {
30
- numRows?: number;
31
- numCols?: number;
32
- };
33
- flattenAs?: keyof CellType;
34
- matrix?: MatrixType;
35
- origin?: Address;
36
- }) => CellsByAddressType;
37
- export declare const buildInitialCells: ({ cells, ensured, matrices, flattenAs, }?: {
38
- cells?: CellsByAddressType;
39
- ensured?: {
40
- numRows?: number;
41
- numCols?: number;
42
- };
43
- flattenAs?: keyof CellType;
44
- matrices?: MatricesByAddress<any>;
45
- }) => CellsByAddressType;
46
- export declare const buildCells: <T>({ cells, matrices, flattenAs, }: {
47
- cells?: CellsByAddressType;
48
- flattenAs?: keyof CellType;
49
- matrices?: MatricesByAddress<T>;
50
- }) => CellsByAddressType;
51
- export declare const getMaxSizesFromCells: (cells?: CellsByAddressType) => {
52
- numRows: number;
53
- numCols: number;
54
- };
55
- export declare const range: (start: number, end: number) => number[];
56
- export declare const complementSelectingArea: (selectingArea: AreaType, choosing: PointType) => AreaType;
57
- export declare const expandRange: (range: string) => Address[];
58
- export declare const restrictZone: (zone: ZoneType) => ZoneType;
59
- export type BinarySearchPredicate = (mid: number) => boolean;
60
- export declare const binarySearch: (low: number, high: number, predicate: BinarySearchPredicate, lessThan: boolean) => number;
61
- /**
62
- * Convert a list of addresses into an array of bounding areas.
63
- * Adjacent cells (4-connected: up/down/left/right) are grouped into the same area.
64
- * Each resulting AreaType is the bounding rectangle of one connected group.
65
- */
66
- export declare const addressesToAreas: (addresses: Address[]) => AreaType[];
67
- /**
68
- * Extract unique column indices (x) from a list of addresses, ignoring row information.
69
- * @param asc - true: ascending, false: descending, null: insertion order
70
- */
71
- export declare const addressesToCols: (addresses: Address[], asc?: boolean | null) => number[];
72
- /**
73
- * Extract unique row indices (y) from a list of addresses, ignoring column information.
74
- * @param asc - true: ascending, false: descending, null: insertion order
75
- */
76
- export declare const addressesToRows: (addresses: Address[], asc?: boolean | null) => number[];
77
- export declare const isZoneNotSelected: (zone: ZoneType) => boolean;
78
- export {};
79
- //# sourceMappingURL=spatial.d.ts.map
@@ -1,29 +0,0 @@
1
- export declare class Time {
2
- readonly __gsType: "Time";
3
- readonly days: number;
4
- format: string;
5
- constructor(days: number, format?: string);
6
- add(date: Date): Date;
7
- sub(date: Date): Date;
8
- stringify(format?: string): string;
9
- toMilliseconds(): number;
10
- toDate(): Date;
11
- toJSON(): {
12
- __gsType: 'Time';
13
- days: number;
14
- format: string;
15
- };
16
- toString(): string;
17
- static create(hours?: number, minutes?: number, seconds?: number, milliseconds?: number): Time;
18
- static fromDate(date: Date): Time;
19
- static fromDates(date1: Date, date2: Date): Time;
20
- static fromObject(obj: {
21
- days: number;
22
- format?: string;
23
- }): Time;
24
- static is(obj: any): boolean;
25
- static ensure(obj: any): Time;
26
- static parse(value: string, format?: string, strict?: boolean): Time | undefined;
27
- }
28
- export declare const safeQueueMicrotask: typeof queueMicrotask;
29
- //# sourceMappingURL=time.d.ts.map
@@ -1,22 +0,0 @@
1
- import { Sheet } from './sheet';
2
- import { AreaType, PointType, Virtualization } from '../types';
3
- export declare const getCellRectPositions: (sheet: Sheet, { y, x }: PointType) => {
4
- top: number;
5
- left: number;
6
- bottom: number;
7
- right: number;
8
- width: number;
9
- height: number;
10
- };
11
- export declare const getScreenRect: (e: HTMLDivElement) => {
12
- top: number;
13
- left: number;
14
- bottom: number;
15
- right: number;
16
- height: number;
17
- width: number;
18
- };
19
- export declare const virtualize: (sheet: Sheet, e: HTMLDivElement | null) => Virtualization | null;
20
- export declare const smartScroll: (sheet: Sheet, e: HTMLDivElement | null, targetPoint: PointType, behavior?: ScrollBehavior) => void;
21
- export declare const getAreaInTabular: (tabularElement: HTMLDivElement) => AreaType;
22
- //# sourceMappingURL=virtualization.d.ts.map
@@ -1,3 +0,0 @@
1
- import { PolicyMixinType } from './core';
2
- export declare const CheckboxPolicyMixin: PolicyMixinType;
3
- //# sourceMappingURL=checkbox.d.ts.map
@@ -1,164 +0,0 @@
1
- import { FC, ReactNode } from 'react';
2
- import { CellPatchType, CellType, OperationType, PointType } from '../types';
3
- import { Sheet, UserSheet } from '../lib/sheet';
4
- import { FormulaError } from '../formula/formula-error';
5
- import { Time } from '../lib/time';
6
- export type AutocompleteOption = {
7
- value: any;
8
- label?: any;
9
- keywords?: string[];
10
- tooltip?: ReactNode | FC<{
11
- value?: any;
12
- }>;
13
- };
14
- export type SelectProps = {
15
- sheet: UserSheet;
16
- point: PointType;
17
- current?: CellType;
18
- next?: CellType;
19
- operation: OperationType;
20
- };
21
- export type SerializeForClipboardProps = {
22
- sheet: UserSheet;
23
- point: PointType;
24
- };
25
- export type SelectFallbackProps = {
26
- sheet: UserSheet;
27
- point: PointType;
28
- value: any;
29
- };
30
- export type Scalar = string | number | boolean | null | undefined;
31
- export type ScalarProps<T = any> = {
32
- value?: T;
33
- cell?: CellType<T>;
34
- sheet: Sheet;
35
- point: PointType;
36
- };
37
- export type RenderProps<T = any> = {
38
- value: T;
39
- cell?: CellType<T>;
40
- sheet: Sheet;
41
- point: PointType;
42
- apply?: (sheet: UserSheet) => void;
43
- };
44
- export type SerializeProps<T = any> = {
45
- value: T;
46
- cell?: CellType<T>;
47
- sheet: Sheet;
48
- point: PointType;
49
- };
50
- export type PolicyMixinType = {
51
- datetimeFormat?: string;
52
- dateFormat?: string;
53
- timeFormat?: string;
54
- decimalPrecision?: number;
55
- render?: (props: RenderProps) => any;
56
- renderCallback?: (rendered: any, props: RenderProps) => any;
57
- renderString?: (props: RenderProps<string>) => any;
58
- renderNumber?: (props: RenderProps<number>) => any;
59
- renderBool?: (props: RenderProps<boolean>) => any;
60
- renderDate?: (props: RenderProps<Date>) => any;
61
- renderTime?: (props: RenderProps<Time>) => any;
62
- renderArray?: (props: RenderProps<any[]>) => any;
63
- renderObject?: (props: RenderProps<any>) => any;
64
- renderNull?: (props: RenderProps<null | undefined>) => any;
65
- renderSheet?: (props: RenderProps<UserSheet>) => any;
66
- renderRowHeaderLabel?: (n: number) => string | null;
67
- renderColHeaderLabel?: (n: number) => string | null;
68
- serialize?: (props: SerializeProps) => string;
69
- serializeString?: (props: SerializeProps<string>) => string;
70
- serializeNumber?: (props: SerializeProps<number>) => string;
71
- serializeBool?: (props: SerializeProps<boolean>) => string;
72
- serializeDate?: (props: SerializeProps<Date>) => string;
73
- serializeTime?: (props: SerializeProps<Time>) => string;
74
- serializeArray?: (props: SerializeProps<any[]>) => string;
75
- serializeNull?: (props: SerializeProps<null | undefined>) => string;
76
- serializeFormulaError?: (props: SerializeProps<FormulaError>) => string;
77
- serializeError?: (props: SerializeProps<Error>) => string;
78
- deserialize?: (value: string, cell?: CellType) => CellType;
79
- deserializeRaw?: (value: any, cell?: CellType) => CellType;
80
- deserializeCallback?: (parsed: any, cell?: CellType) => CellType;
81
- deserializeFirst?: (value: string, cell?: CellType) => CellPatchType<any>;
82
- deserializeNumber?: (value: string, cell?: CellType) => CellPatchType<number | undefined>;
83
- deserializeBool?: (value: string, cell?: CellType) => CellPatchType<boolean | undefined>;
84
- deserializeDate?: (value: string, cell?: CellType) => CellPatchType<Date | undefined>;
85
- deserializeTime?: (value: string, cell?: CellType) => CellPatchType<Time | undefined>;
86
- deserializeAny?: (value: string, cell?: CellType) => CellPatchType<string | undefined>;
87
- toScalar?: (props: ScalarProps) => Scalar;
88
- toScalarString?: (props: ScalarProps<string>) => Scalar;
89
- toScalarNumber?: (props: ScalarProps<number>) => Scalar;
90
- toScalarBool?: (props: ScalarProps<boolean>) => Scalar;
91
- toScalarDate?: (props: ScalarProps<Date>) => Scalar;
92
- toScalarTime?: (props: ScalarProps<Time>) => Scalar;
93
- toScalarArray?: (props: ScalarProps<any[]>) => Scalar;
94
- toScalarNull?: (props: ScalarProps<null | undefined>) => Scalar;
95
- getSelectOptions?: () => AutocompleteOption[];
96
- getSelectFallback?: (props: SelectFallbackProps) => CellType | undefined;
97
- select?: (props: SelectProps) => CellType | undefined;
98
- serializeForClipboard?: (props: SerializeForClipboardProps) => string;
99
- };
100
- type PolicyProps = {
101
- mixins?: PolicyMixinType[];
102
- priority?: number;
103
- };
104
- export declare class Policy implements PolicyMixinType {
105
- priority: number;
106
- datetimeFormat: string;
107
- dateFormat: string;
108
- timeFormat: string;
109
- decimalPrecision: number;
110
- deserializeFunctions: ((value: string, cell?: CellType) => CellPatchType<any>)[];
111
- deserializeCallback?: (parsed: any, cell?: CellType) => CellType;
112
- deserializeFirst?: (value: string, cell?: CellType) => CellPatchType<any>;
113
- renderCallback?: (rendered: any, props: RenderProps) => any;
114
- constructor(props?: PolicyProps);
115
- private registerDeserializeFunctions;
116
- private applyMixins;
117
- render(props: RenderProps): any;
118
- renderString({ value }: RenderProps<string>): any;
119
- renderBool({ value }: RenderProps<boolean>): any;
120
- renderNumber({ value }: RenderProps<number>): any;
121
- renderDate({ value }: RenderProps<Date>): any;
122
- renderTime({ value }: RenderProps<Time>): any;
123
- renderArray(props: RenderProps<any[]>): any;
124
- renderObject({ value }: RenderProps<any>): any;
125
- renderNull(_props: RenderProps<null | undefined>): any;
126
- renderSheet({ value: childSheet, ...rest }: RenderProps<UserSheet>): any;
127
- renderRowHeaderLabel(_n: number): string | null;
128
- renderColHeaderLabel(_n: number): string | null;
129
- toScalar(props: ScalarProps): Scalar;
130
- toScalarString({ value }: ScalarProps<string>): Scalar;
131
- toScalarNumber({ value }: ScalarProps<number>): Scalar;
132
- toScalarBool({ value }: ScalarProps<boolean>): Scalar;
133
- toScalarDate({ value }: ScalarProps<Date>): Scalar;
134
- toScalarTime({ value }: ScalarProps<Time>): Scalar;
135
- toScalarArray({ value, cell, sheet, point }: ScalarProps<any[]>): Scalar;
136
- toScalarNull(_props: ScalarProps<null | undefined>): Scalar;
137
- serialize({ value, cell, sheet, point }: SerializeProps): string;
138
- serializeString({ value }: SerializeProps<string>): string;
139
- serializeBool({ value }: SerializeProps<boolean>): string;
140
- serializeNumber({ value }: SerializeProps<number>): string;
141
- serializeDate({ value }: SerializeProps<Date>): string;
142
- serializeTime({ value }: SerializeProps<Time>): string;
143
- serializeArray(props: SerializeProps<any[]>): string;
144
- serializeNull(_props: SerializeProps<null | undefined>): string;
145
- serializeFormulaError({ value }: SerializeProps<FormulaError>): string;
146
- serializeError(_props: SerializeProps<Error>): string;
147
- serializeForClipboard(props: SerializeForClipboardProps): string;
148
- deserializeValue(value: any, cell: CellType): CellType;
149
- deserializeRaw(value: any, cell?: CellType): CellType;
150
- deserialize(value: string, cell?: CellType): CellPatchType<any>;
151
- deserializeAny(value: string, _cell?: CellType): CellPatchType<string | undefined>;
152
- deserializeBool(value: string, _cell?: CellType): CellPatchType<boolean | undefined>;
153
- deserializeNumber(value: string, _cell?: CellType): CellPatchType<number | undefined>;
154
- deserializeTime(value: string, _cell?: CellType): CellPatchType<Time | undefined>;
155
- deserializeDate(value: string, _cell?: CellType): CellPatchType<Date | undefined>;
156
- getSelectFallback(_props: SelectFallbackProps): any;
157
- getSelectOptions(): AutocompleteOption[];
158
- select(props: SelectProps): CellType | undefined;
159
- }
160
- export type PolicyType = Policy;
161
- export declare const DEFAULT_POLICY_NAME = "default";
162
- export declare const nonePolicy: Policy;
163
- export {};
164
- //# sourceMappingURL=core.d.ts.map
@@ -1,4 +0,0 @@
1
- import { PolicyMixinType } from './core';
2
- export declare const ThousandSeparatorPolicyMixin: PolicyMixinType;
3
- export declare const ThousandSpaceSeparatorPolicyMixin: PolicyMixinType;
4
- //# sourceMappingURL=thousand_separator.d.ts.map
@@ -1,40 +0,0 @@
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
- * `sheet.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[] | any[][]);
37
- private ensure2D;
38
- static is(obj: any): obj is Spilling;
39
- }
40
- //# sourceMappingURL=sentinels.d.ts.map
@@ -1,2 +0,0 @@
1
- export declare const embedStyle: () => void;
2
- //# sourceMappingURL=embedder.d.ts.map
@@ -1,3 +0,0 @@
1
- export declare const LAST_MODIFIED = 1774701851;
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-sheet-body-data{background-color:#f7f7f7}.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{border: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-sheet-body-data{background-color:#212121}.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: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:4px solid rgba(200,0,0,.9);border-right:4px solid rgba(200,0,0,.9);border-bottom:4px solid transparent;border-left:4px solid transparent;z-index:2;cursor:help}.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-formula-error-tooltip{position:fixed;background-color:rgba(35,8,8,.94);color:#fff;padding:6px 10px;border-radius:4px;border-left:3px solid rgba(220,50,50,.8);font-size:12px;line-height:1.5;max-width:260px;white-space:pre-wrap;word-break:break-word;box-shadow:0 3px 10px rgba(0,0,0,.4);z-index:100;pointer-events:none;letter-spacing:.3px}.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 .gs-row-fixed-toggle{display:flex;align-items:center;gap:6px}.gs-row-menu .gs-row-fixed-check{font-size:12px;width:14px;text-align:center;color:rgba(0,119,255,.1)}.gs-row-menu .gs-row-fixed-check.gs-row-fixed-active{color:#07f}.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 .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{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;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-th-left.gs-filter-fixed .gs-th-inner::before{content:'\u2039\\00a0'}.gs-th-left.gs-sort-fixed .gs-th-inner::after{content:'\\00a0\u203A'}.gs-col-addr{position:absolute;top:2px;right:4px;font-size:9px;opacity:.5;line-height:1;letter-spacing:.3px;pointer-events:none}.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
- //# sourceMappingURL=minified.d.ts.map
@@ -1,52 +0,0 @@
1
- import { CSSProperties } from 'react';
2
- type BorderStyleValue = string;
3
- interface BorderOptions {
4
- /**
5
- * Border CSS value to apply uniformly to all sides.
6
- * Individual sides (top, right, etc.) will override this if specified.
7
- *
8
- * Example: "1px solid #000"
9
- */
10
- all?: BorderStyleValue;
11
- /**
12
- * Border CSS value for the top side.
13
- *
14
- * Example: "2px dashed red"
15
- */
16
- top?: BorderStyleValue;
17
- /**
18
- * Border CSS value for the right side.
19
- */
20
- right?: BorderStyleValue;
21
- /**
22
- * Border CSS value for the bottom side.
23
- */
24
- bottom?: BorderStyleValue;
25
- /**
26
- * Border CSS value for the left side.
27
- */
28
- left?: BorderStyleValue;
29
- }
30
- /**
31
- * Generates a CSSProperties object with individual border styles.
32
- *
33
- * - If `all` is provided, it applies the same border style to all sides.
34
- * - If individual sides (top, right, bottom, left) are specified, they override `all`.
35
- * - Sides that are not specified will be omitted from the result,
36
- * which avoids unintentionally removing existing border styles during re-renders.
37
- * - The function does not output the shorthand `border` property, only individual sides.
38
- *
39
- * @param options Border configuration options.
40
- * @returns CSSProperties object with border styles.
41
- *
42
- * @example
43
- * makeBorder({ all: "1px solid #000" });
44
- * // → { borderTop: "1px solid #000", borderRight: "1px solid #000", borderBottom: "1px solid #000", borderLeft: "1px solid #000" }
45
- *
46
- * @example
47
- * makeBorder({ top: "2px dashed red", left: "1px solid blue" });
48
- * // → { borderTop: "2px dashed red", borderLeft: "1px solid blue" }
49
- */
50
- export declare function makeBorder(options: BorderOptions): CSSProperties;
51
- export {};
52
- //# sourceMappingURL=utils.d.ts.map