pixel-react 1.3.8 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +6 -0
- package/lib/StyleGuide/Typography/Typography.stories.d.ts +6 -0
- package/lib/components/Accordion/Accordion.stories.d.ts +6 -0
- package/lib/components/AddButton/AddButton.d.ts +5 -0
- package/lib/components/AddButton/AddButton.stories.d.ts +6 -0
- package/lib/components/AddButton/index.d.ts +1 -0
- package/lib/components/AddButton/types.d.ts +4 -0
- package/lib/components/AddResourceButton/AddButton.stories.d.ts +8 -0
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +7 -0
- package/lib/components/AppHeader/AppHeader.stories.d.ts +7 -0
- package/lib/components/AttachImage/AttachImage.stories.d.ts +7 -0
- package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +9 -0
- package/lib/components/Avatar/Avatar.stories.d.ts +10 -0
- package/lib/components/Button/Button.stories.d.ts +13 -0
- package/lib/components/Charts/BarChart/BarChart.stories.d.ts +6 -0
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +7 -0
- package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +6 -0
- package/lib/components/Charts/IconRadialChart/IconRadialChart.stories.d.ts +8 -0
- package/lib/components/Charts/LineChart/LineChart.stories.d.ts +7 -0
- package/lib/components/Charts/MultiRadialChart/MultiRadialChart.stories.d.ts +8 -0
- package/lib/components/Charts/PieChart/PieChart.stories.d.ts +7 -0
- package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +6 -0
- package/lib/components/Checkbox/Checkbox.stories.d.ts +8 -0
- package/lib/components/Chip/Chip.stories.d.ts +14 -0
- package/lib/components/ConnectingBranch/ConnectingBranch.stories.d.ts +6 -0
- package/lib/components/DatePicker/DatePicker.stories.d.ts +9 -0
- package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +6 -0
- package/lib/components/Drawer/Drawer.stories.d.ts +12 -0
- package/lib/components/EditTextField/EditTextField.stories.d.ts +10 -0
- package/lib/components/Editor/Editor.stories.d.ts +6 -0
- package/lib/components/Excel/ExcelFile.stories.d.ts +6 -0
- package/lib/components/ExcelFile/ChangeExcelStyles.d.ts +14 -0
- package/lib/components/ExcelFile/ColorBarSelector/ColorBarSelector.d.ts +8 -0
- package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +4 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +7 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +4 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +8 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +10 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +80 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +174 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +1 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +8 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +22 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +17 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +2 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +21 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +24 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +13 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +67 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +22 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +11 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +27 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +95 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +178 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +44 -0
- package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +19 -0
- package/lib/components/ExcelFile/ExcelFile.stories.d.ts +6 -0
- package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +12 -0
- package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +15 -0
- package/lib/components/ExcelFile/ImportExcelStyles.d.ts +24 -0
- package/lib/components/ExcelFile/Types.d.ts +129 -0
- package/lib/components/ExcelFile/index.d.ts +1 -0
- package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +7 -0
- package/lib/components/FF_Captcha/captcha.stories.d.ts +8 -0
- package/lib/components/FileDropzone/FileDropzone.stories.d.ts +8 -0
- package/lib/components/Form/Form.stories.d.ts +7 -0
- package/lib/components/GridLayout/GridLayout.stories.d.ts +8 -0
- package/lib/components/HighlightText/HighlightText.stories.d.ts +6 -0
- package/lib/components/Icon/Icon.stories.d.ts +8 -0
- package/lib/components/IconButton/IconButton.stories.d.ts +7 -0
- package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +7 -0
- package/lib/components/Input/Input.stories.d.ts +9 -0
- package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +9 -0
- package/lib/components/LabelEditTextField/LabelEditTextField.stories.d.ts +13 -0
- package/lib/components/LazyLoad/LazyLoad.stories.d.ts +6 -0
- package/lib/components/MachineInputField/MachineInputField.stories.d.ts +6 -0
- package/lib/components/MenuOption/MenuOption.stories.d.ts +16 -0
- package/lib/components/MiniModal/MiniModal.stories.d.ts +10 -0
- package/lib/components/Modal/Modal.stories.d.ts +7 -0
- package/lib/components/ModulesChip/ModuleChip.stories.d.ts +6 -0
- package/lib/components/MultiSelect/MultiSelect.stories.d.ts +11 -0
- package/lib/components/NLPInput/NlpInput.stories.d.ts +7 -0
- package/lib/components/Paper/Paper.stories.d.ts +11 -0
- package/lib/components/RadioButton/RadioButton.stories.d.ts +10 -0
- package/lib/components/RadioGroup/RadioGroup.stories.d.ts +9 -0
- package/lib/components/Search/Search.stories.d.ts +6 -0
- package/lib/components/Select/Select.stories.d.ts +14 -0
- package/lib/components/Select/components/Dropdown/Dropdown.d.ts +4 -0
- package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +17 -0
- package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +6 -0
- package/lib/components/StateDropdown/StateDropdown.stories.d.ts +10 -0
- package/lib/components/StatusButton/StatusButton.stories.d.ts +14 -0
- package/lib/components/StatusCard/StatusCard.stories.d.ts +11 -0
- package/lib/components/Table/Table.stories.d.ts +13 -0
- package/lib/components/TableTree/TableTree.stories.d.ts +7 -0
- package/lib/components/Tabs/Tabs.stories.d.ts +9 -0
- package/lib/components/TextArea/Textarea.stories.d.ts +9 -0
- package/lib/components/Toast/Toast.stories.d.ts +6 -0
- package/lib/components/Toastify/Toastify.stories.d.ts +6 -0
- package/lib/components/Toggle/Toggle.stories.d.ts +12 -0
- package/lib/components/Tooltip/Tooltip.stories.d.ts +15 -0
- package/lib/components/Typography/Typography.stories.d.ts +10 -0
- package/lib/components/VariableInput/VariableInput.stories.d.ts +6 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.esm.js +114 -78
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +114 -77
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +6 -0
- package/lib/utils/compareArrays/compareArrays.stories.d.ts +6 -0
- package/lib/utils/compareObjects/compareObjects.stories.d.ts +6 -0
- package/lib/utils/debounce/debounce.stories.d.ts +6 -0
- package/lib/utils/downloadFile/saveFileFromBlob.d.ts +1 -0
- package/lib/utils/ffID/ffID.stories.d.ts +6 -0
- package/lib/utils/find/findAndInsert.d.ts +7 -0
- package/lib/utils/find/findAndInsert.stories.d.ts +7 -0
- package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +7 -0
- package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +6 -0
- package/lib/utils/getExtension/getExtension.stories.d.ts +6 -0
- package/lib/utils/getSequentialPayload/getSequentialPayload.stories.d.ts +10 -0
- package/lib/utils/throttle/throttle.stories.d.ts +6 -0
- package/lib/utils/truncateText/truncateText.stories.d.ts +6 -0
- package/package.json +1 -1
- package/src/assets/icons/sample_template_first.svg +29 -0
- package/src/assets/icons/sample_template_second.svg +47 -0
- package/src/assets/styles/_fonts.scss +4 -4
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +2 -3
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +1 -0
- package/src/components/AppHeader/AppHeader.scss +0 -1
- package/src/components/Icon/Icon.tsx +1 -0
- package/src/components/Icon/iconList.ts +6 -2
- package/src/components/Modal/Modal.tsx +2 -2
- package/src/index.ts +2 -0
- package/src/utils/downloadFile/saveFileFromBlob.stories.tsx +62 -0
- package/src/utils/downloadFile/saveFileFromBlob.ts +40 -0
- /package/lib/assets/fonts/{Poppins/Poppins-Bold.ttf → Poppins-Bold.ttf} +0 -0
- /package/lib/assets/fonts/{Poppins/Poppins-Medium.ttf → Poppins-Medium.ttf} +0 -0
- /package/lib/assets/fonts/{Poppins/Poppins-Regular.ttf → Poppins-Regular.ttf} +0 -0
- /package/lib/assets/fonts/{Poppins/Poppins-SemiBold.ttf → Poppins-SemiBold.ttf} +0 -0
- /package/src/assets/fonts/{Poppins/Poppins-Bold.ttf → Poppins-Bold.ttf} +0 -0
- /package/src/assets/fonts/{Poppins/Poppins-Medium.ttf → Poppins-Medium.ttf} +0 -0
- /package/src/assets/fonts/{Poppins/Poppins-Regular.ttf → Poppins-Regular.ttf} +0 -0
- /package/src/assets/fonts/{Poppins/Poppins-SemiBold.ttf → Poppins-SemiBold.ttf} +0 -0
- /package/src/assets/icons/{fireflink_standard_template.svg → standard_template.svg} +0 -0
@@ -0,0 +1,174 @@
|
|
1
|
+
import { Matrix } from './matrix';
|
2
|
+
import { Point } from './point';
|
3
|
+
import { CellBase, Dimensions, CommitChanges, CreateFormulaParser } from './types';
|
4
|
+
import { Selection } from './selection';
|
5
|
+
export declare const SET_DATA = "SET_DATA";
|
6
|
+
export declare const SET_CREATE_FORMULA_PARSER = "SET_CREATE_FORMULA_PARSER";
|
7
|
+
export declare const SELECT_ENTIRE_ROW = "SELECT_ENTIRE_ROW";
|
8
|
+
export declare const SELECT_ENTIRE_COLUMN = "SELECT_ENTIRE_COLUMN";
|
9
|
+
export declare const SELECT_ENTIRE_WORKSHEET = "SELECT_ENTIRE_WORKSHEET";
|
10
|
+
export declare const SET_SELECTION = "SET_SELECTION";
|
11
|
+
export declare const SELECT = "SELECT";
|
12
|
+
export declare const ACTIVATE = "ACTIVATE";
|
13
|
+
export declare const SET_CELL_DATA = "SET_CELL_DATA";
|
14
|
+
export declare const SET_CELL_DIMENSIONS = "SET_CELL_DIMENSIONS";
|
15
|
+
export declare const COPY = "COPY";
|
16
|
+
export declare const CUT = "CUT";
|
17
|
+
export declare const PASTE = "PASTE";
|
18
|
+
export declare const EDIT = "EDIT";
|
19
|
+
export declare const VIEW = "VIEW";
|
20
|
+
export declare const CLEAR = "CLEAR";
|
21
|
+
export declare const BLUR = "BLUR";
|
22
|
+
export declare const KEY_PRESS = "KEY_PRESS";
|
23
|
+
export declare const KEY_DOWN = "KEY_DOWN";
|
24
|
+
export declare const DRAG_START = "DRAG_START";
|
25
|
+
export declare const DRAG_END = "DRAG_END";
|
26
|
+
export declare const COMMIT = "COMMIT";
|
27
|
+
export declare const BOLD = "BOLD";
|
28
|
+
export declare const ITALIC = "ITALIC";
|
29
|
+
export declare const UNDERLINE = "UNDERLINE";
|
30
|
+
export declare const COLOR = "COLOR";
|
31
|
+
export declare const BACKGROUND_COLOR = "BACKGROUND_COLOR";
|
32
|
+
export declare const FORMATE_PAINTER = "FORMATE_PAINTER";
|
33
|
+
export type BaseAction<T extends string> = {
|
34
|
+
type: T;
|
35
|
+
};
|
36
|
+
export type BoldStyle = BaseAction<typeof BOLD> & {
|
37
|
+
payload: {
|
38
|
+
data: Matrix<CellBase>;
|
39
|
+
};
|
40
|
+
};
|
41
|
+
export declare function bold(data: Matrix<CellBase>): BoldStyle;
|
42
|
+
export type ItalicStyle = BaseAction<typeof ITALIC> & {
|
43
|
+
payload: {
|
44
|
+
data: Matrix<CellBase>;
|
45
|
+
};
|
46
|
+
};
|
47
|
+
export declare function italic(data: Matrix<CellBase>): ItalicStyle;
|
48
|
+
export type UnderlineStyle = BaseAction<typeof UNDERLINE> & {
|
49
|
+
payload: {
|
50
|
+
data: Matrix<CellBase>;
|
51
|
+
};
|
52
|
+
};
|
53
|
+
export declare function underline(data: Matrix<CellBase>): UnderlineStyle;
|
54
|
+
export type ColorStyle = BaseAction<typeof COLOR> & {
|
55
|
+
payload: {
|
56
|
+
data: Matrix<CellBase>;
|
57
|
+
value: string;
|
58
|
+
};
|
59
|
+
};
|
60
|
+
export declare function color(data: Matrix<CellBase>, value: string): ColorStyle;
|
61
|
+
export type BackgroundStyle = BaseAction<typeof BACKGROUND_COLOR> & {
|
62
|
+
payload: {
|
63
|
+
data: Matrix<CellBase>;
|
64
|
+
value: string;
|
65
|
+
};
|
66
|
+
};
|
67
|
+
export declare function backgroundStyle(data: Matrix<CellBase>, value: string): BackgroundStyle;
|
68
|
+
export type FormatePainterStyle = BaseAction<typeof FORMATE_PAINTER> & {
|
69
|
+
payload: {
|
70
|
+
data: Matrix<CellBase>;
|
71
|
+
};
|
72
|
+
};
|
73
|
+
export declare function formatePainter(data: Matrix<CellBase>): FormatePainterStyle;
|
74
|
+
export type SetDataAction = BaseAction<typeof SET_DATA> & {
|
75
|
+
payload: {
|
76
|
+
data: Matrix<CellBase>;
|
77
|
+
};
|
78
|
+
};
|
79
|
+
export declare function setData(data: Matrix<CellBase>): SetDataAction;
|
80
|
+
export type SetCreateFormulaParserAction = BaseAction<typeof SET_CREATE_FORMULA_PARSER> & {
|
81
|
+
payload: {
|
82
|
+
createFormulaParser: CreateFormulaParser;
|
83
|
+
};
|
84
|
+
};
|
85
|
+
export declare function setCreateFormulaParser(createFormulaParser: CreateFormulaParser): SetCreateFormulaParserAction;
|
86
|
+
export type SelectEntireRowAction = BaseAction<typeof SELECT_ENTIRE_ROW> & {
|
87
|
+
payload: {
|
88
|
+
row: number;
|
89
|
+
extend: boolean;
|
90
|
+
};
|
91
|
+
};
|
92
|
+
export declare function selectEntireRow(row: number, extend: boolean): SelectEntireRowAction;
|
93
|
+
export type SelectEntireColumnAction = BaseAction<typeof SELECT_ENTIRE_COLUMN> & {
|
94
|
+
payload: {
|
95
|
+
column: number;
|
96
|
+
extend: boolean;
|
97
|
+
};
|
98
|
+
};
|
99
|
+
export declare function selectEntireColumn(column: number, extend: boolean): SelectEntireColumnAction;
|
100
|
+
export type SelectEntireWorksheetAction = BaseAction<typeof SELECT_ENTIRE_WORKSHEET>;
|
101
|
+
export declare function selectEntireWorksheet(): SelectEntireWorksheetAction;
|
102
|
+
export type SetSelectionAction = BaseAction<typeof SET_SELECTION> & {
|
103
|
+
payload: {
|
104
|
+
selection: Selection;
|
105
|
+
};
|
106
|
+
};
|
107
|
+
export declare function setSelection(selection: Selection): SetSelectionAction;
|
108
|
+
export type SelectAction = BaseAction<typeof SELECT> & {
|
109
|
+
payload: {
|
110
|
+
point: Point;
|
111
|
+
};
|
112
|
+
};
|
113
|
+
export declare function select(point: Point): SelectAction;
|
114
|
+
export type ActivateAction = BaseAction<typeof ACTIVATE> & {
|
115
|
+
payload: {
|
116
|
+
point: Point;
|
117
|
+
};
|
118
|
+
};
|
119
|
+
export declare function activate(point: Point): ActivateAction;
|
120
|
+
export type SetCellDataAction = BaseAction<typeof SET_CELL_DATA> & {
|
121
|
+
payload: {
|
122
|
+
active: Point;
|
123
|
+
data: CellBase;
|
124
|
+
};
|
125
|
+
};
|
126
|
+
export declare function setCellData(active: Point, data: CellBase): SetCellDataAction;
|
127
|
+
export type SetCellDimensionsAction = BaseAction<typeof SET_CELL_DIMENSIONS> & {
|
128
|
+
payload: {
|
129
|
+
point: Point;
|
130
|
+
dimensions: Dimensions;
|
131
|
+
};
|
132
|
+
};
|
133
|
+
export declare function setCellDimensions(point: Point, dimensions: Dimensions): SetCellDimensionsAction;
|
134
|
+
export type PasteAction = BaseAction<typeof PASTE> & {
|
135
|
+
payload: {
|
136
|
+
data: string;
|
137
|
+
};
|
138
|
+
};
|
139
|
+
export declare function paste(data: string): PasteAction;
|
140
|
+
export type KeyPressAction = BaseAction<typeof KEY_PRESS> & {
|
141
|
+
payload: {
|
142
|
+
event: React.KeyboardEvent;
|
143
|
+
};
|
144
|
+
};
|
145
|
+
export declare function keyPress(event: React.KeyboardEvent): KeyPressAction;
|
146
|
+
export type KeyDownAction = BaseAction<typeof KEY_DOWN> & {
|
147
|
+
payload: {
|
148
|
+
event: React.KeyboardEvent;
|
149
|
+
};
|
150
|
+
};
|
151
|
+
export declare function keyDown(event: React.KeyboardEvent): KeyDownAction;
|
152
|
+
export type DragStartAction = BaseAction<typeof DRAG_START>;
|
153
|
+
export declare function dragStart(): DragStartAction;
|
154
|
+
export type DragEndAction = BaseAction<typeof DRAG_END>;
|
155
|
+
export declare function dragEnd(): DragEndAction;
|
156
|
+
export type CommitAction = BaseAction<typeof COMMIT> & {
|
157
|
+
payload: {
|
158
|
+
changes: CommitChanges;
|
159
|
+
};
|
160
|
+
};
|
161
|
+
export declare function commit(changes: CommitChanges): CommitAction;
|
162
|
+
export type CopyAction = BaseAction<typeof COPY>;
|
163
|
+
export declare function copy(): CopyAction;
|
164
|
+
export type CutAction = BaseAction<typeof CUT>;
|
165
|
+
export declare function cut(): CutAction;
|
166
|
+
export type EditAction = BaseAction<typeof EDIT>;
|
167
|
+
export declare function edit(): EditAction;
|
168
|
+
export type ViewAction = BaseAction<typeof VIEW>;
|
169
|
+
export declare function view(): ViewAction;
|
170
|
+
export type ClearAction = BaseAction<typeof CLEAR>;
|
171
|
+
export declare function clear(): ClearAction;
|
172
|
+
export type BlurAction = BaseAction<typeof BLUR>;
|
173
|
+
export declare function blur(): BlurAction;
|
174
|
+
export type Action = SetDataAction | SetCreateFormulaParserAction | SelectEntireRowAction | SelectEntireColumnAction | SelectEntireWorksheetAction | SetSelectionAction | SelectAction | ActivateAction | SetCellDataAction | SetCellDimensionsAction | PasteAction | KeyPressAction | KeyDownAction | DragStartAction | DragEndAction | CommitAction | CopyAction | CutAction | EditAction | ViewAction | ClearAction | UnderlineStyle | ItalicStyle | BoldStyle | ColorStyle | BackgroundStyle | FormatePainterStyle | BlurAction;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import reducer from './reducer';
|
3
|
+
import { Action } from './actions';
|
4
|
+
export type ReducerState = React.ReducerState<typeof reducer>;
|
5
|
+
export type Dispatch = React.Dispatch<Action>;
|
6
|
+
export type Value = [ReducerState, Dispatch];
|
7
|
+
declare const context: import("use-context-selector").Context<Value>;
|
8
|
+
export default context;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import FormulaParser, { Value } from 'fast-formula-parser';
|
2
|
+
import * as Matrix from '../matrix';
|
3
|
+
import { Point } from '../point';
|
4
|
+
import { CellBase, CreateFormulaParser } from '../types';
|
5
|
+
import { PointGraph } from './point-graph';
|
6
|
+
export declare class Model<Cell extends CellBase> {
|
7
|
+
readonly data: Matrix.Matrix<Cell>;
|
8
|
+
readonly evaluatedData: Matrix.Matrix<Cell>;
|
9
|
+
readonly referenceGraph: PointGraph;
|
10
|
+
readonly createFormulaParser: CreateFormulaParser;
|
11
|
+
constructor(createFormulaParser: CreateFormulaParser, data: Matrix.Matrix<Cell>, referenceGraph?: PointGraph, evaluatedData?: Matrix.Matrix<Cell>);
|
12
|
+
}
|
13
|
+
export declare function updateCellValue<Cell extends CellBase>(model: Model<Cell>, point: Point, cell: Cell): Model<Cell>;
|
14
|
+
/**
|
15
|
+
*
|
16
|
+
* @param data - the spreadsheet data
|
17
|
+
* @returns the spreadsheet reference graph
|
18
|
+
*/
|
19
|
+
export declare function createReferenceGraph(data: Matrix.Matrix<CellBase>): PointGraph;
|
20
|
+
export declare function createEvaluatedData<Cell extends CellBase>(data: Matrix.Matrix<Cell>, referenceGraph: PointGraph, createFormulaParser: CreateFormulaParser): Matrix.Matrix<Cell>;
|
21
|
+
/** Get the computed value of a formula cell */
|
22
|
+
export declare function getFormulaComputedValue(value: string, point: Point, formulaParser: FormulaParser): Value;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import FormulaParser, { FormulaParserConfig, Value } from 'fast-formula-parser';
|
2
|
+
import { Point } from '../point';
|
3
|
+
import * as Matrix from '../matrix';
|
4
|
+
import { CellBase } from '../types';
|
5
|
+
import { PointSet } from './point-set';
|
6
|
+
export declare const FORMULA_VALUE_PREFIX = "=";
|
7
|
+
/** Returns whether given value is a formula */
|
8
|
+
export declare function isFormulaValue(value: unknown): value is string;
|
9
|
+
/** Extracts formula from value */
|
10
|
+
export declare function extractFormula(value: string): string;
|
11
|
+
export declare function createFormulaParser(data: Matrix.Matrix<CellBase>, config?: Omit<FormulaParserConfig, 'onCell' | 'onRange'>): FormulaParser;
|
12
|
+
/**
|
13
|
+
* For given formula returns the cell references
|
14
|
+
* @param formula - formula to get references for
|
15
|
+
*/
|
16
|
+
export declare function getReferences(formula: string, point: Point, data: Matrix.Matrix<CellBase>): PointSet;
|
17
|
+
export declare function evaluate(formula: string, point: Point, formulaParser: FormulaParser): Value;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Point } from '../point';
|
2
|
+
import { PointSet } from './point-set';
|
3
|
+
/**
|
4
|
+
* Immutable directed graph of points, where each point can have multiple
|
5
|
+
* edges to other points.
|
6
|
+
*/
|
7
|
+
export declare class PointGraph {
|
8
|
+
private forwards;
|
9
|
+
private constructor();
|
10
|
+
/** Creates a new PointGraph instance from an array-like or iterable object */
|
11
|
+
static from(pairs: Iterable<[Point, PointSet]>): PointGraph;
|
12
|
+
set(node: Point, edges: PointSet): PointGraph;
|
13
|
+
get(node: Point): PointSet;
|
14
|
+
getBackwards(node: Point): PointSet;
|
15
|
+
getBackwardsRecursive(node: Point, visited?: PointSet): PointSet;
|
16
|
+
/** Determine whether the graph has a circular dependency, starting from given start point */
|
17
|
+
hasCircularDependency(startPoint: Point): boolean;
|
18
|
+
[Symbol.iterator](): Iterator<[Point, PointSet]>;
|
19
|
+
/** Get the points in the graph in a breadth-first order */
|
20
|
+
traverseBFSBackwards(): Generator<Point>;
|
21
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import * as Point from '../point';
|
2
|
+
/**
|
3
|
+
* Immutable Set like interface of points
|
4
|
+
*/
|
5
|
+
export declare class PointSet {
|
6
|
+
private set;
|
7
|
+
private constructor();
|
8
|
+
/** Creates a new PointSet instance from an array-like or iterable object */
|
9
|
+
static from(points: Iterable<Point.Point>): PointSet;
|
10
|
+
/** Returns a boolean asserting whether an point is present with the given value in the Set object or not */
|
11
|
+
has(point: Point.Point): boolean;
|
12
|
+
/** Returns the number of points in a PointSet object */
|
13
|
+
get size(): number;
|
14
|
+
/** Add the given point to given set */
|
15
|
+
add(point: Point.Point): PointSet;
|
16
|
+
/** Remove the given point from the given set */
|
17
|
+
delete(point: Point.Point): PointSet;
|
18
|
+
/** Returns a new PointSet with points common to the set and other */
|
19
|
+
difference(other: PointSet): PointSet;
|
20
|
+
/** Returns a new PointSet with all points in both sets */
|
21
|
+
union(other: PointSet): PointSet;
|
22
|
+
/** Creates an iterator of points in the set */
|
23
|
+
[Symbol.iterator](): Iterator<Point.Point>;
|
24
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import Spreadsheet from './Spreadsheet';
|
2
|
+
import DataEditor from './DataEditor';
|
3
|
+
import DataViewer from './DataViewer';
|
4
|
+
export default Spreadsheet;
|
5
|
+
export { Spreadsheet, DataEditor, DataViewer };
|
6
|
+
export type { Props } from './Spreadsheet';
|
7
|
+
export { createEmpty as createEmptyMatrix } from './matrix';
|
8
|
+
export type { Matrix } from './matrix';
|
9
|
+
export { Selection, EmptySelection, EntireAxisSelection, EntireColumnsSelection, EntireRowsSelection, EntireSelection, EntireWorksheetSelection, InvalidIndexError, RangeSelection, } from './selection';
|
10
|
+
export { PointRange } from './point-range';
|
11
|
+
export type { Point } from './point';
|
12
|
+
export type { CellBase, CellDescriptor, Mode, Dimensions, CellChange, CellComponentProps, CellComponent, DataViewerProps, DataViewerComponent, DataEditorProps, DataEditorComponent, ColumnIndicatorComponent, ColumnIndicatorProps, RowIndicatorComponent, RowIndicatorProps, CornerIndicatorComponent, CornerIndicatorProps, RowComponent, RowProps, TableComponent, TableProps, HeaderRowProps, HeaderRowComponent, } from './types';
|
13
|
+
export { createFormulaParser, Model } from './engine';
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import * as Point from './point';
|
2
|
+
/** A two-dimensional array of given type T in rows and columns */
|
3
|
+
export type Matrix<T> = Array<Array<T | undefined>>;
|
4
|
+
/**
|
5
|
+
* Creates an empty matrix with given rows and columns
|
6
|
+
* @param rows - integer, the amount of rows the matrix should have
|
7
|
+
* @param columns - integer, the amount of columns the matrix should have
|
8
|
+
* @returns an empty matrix with given rows and columns
|
9
|
+
*/
|
10
|
+
export declare function createEmpty<T>(rows: number, columns: number): Matrix<T>;
|
11
|
+
/** Gets the value at row and column of matrix. */
|
12
|
+
export declare function get<T>(point: Point.Point, matrix: Matrix<T>): T | undefined;
|
13
|
+
/** Creates a slice of matrix from startPoint up to, but not including, endPoint. */
|
14
|
+
export declare function slice<T>(startPoint: Point.Point, endPoint: Point.Point, matrix: Matrix<T>): Matrix<T>;
|
15
|
+
/** Sets the value at row and column of matrix. If a row doesn't exist, it's created. */
|
16
|
+
export declare function set<T>(point: Point.Point, value: T, matrix: Matrix<T>): Matrix<T>;
|
17
|
+
/** Like Matrix.set() but mutates the matrix */
|
18
|
+
export declare function mutableSet<T>(point: Point.Point, value: T, matrix: Matrix<T>): void;
|
19
|
+
/** Removes the coordinate of matrix */
|
20
|
+
export declare function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T>;
|
21
|
+
/** Creates an array of values by running each element in collection thru iteratee. */
|
22
|
+
export declare function map<T, T2>(func: (value: T | undefined, point: Point.Point) => T2, matrix: Matrix<T>): Matrix<T2>;
|
23
|
+
/** Create an iterator over the cells in the matrix */
|
24
|
+
export declare function entries<T>(matrix: Matrix<T>): IterableIterator<[Point.Point, T | undefined]>;
|
25
|
+
/**
|
26
|
+
* Converts all elements in row into a string separated by horizontalSeparator and each row string
|
27
|
+
* to string separated by verticalSeparator
|
28
|
+
*/
|
29
|
+
export declare function join(matrix: Matrix<unknown>, horizontalSeparator?: string, verticalSeparator?: string): string;
|
30
|
+
/**
|
31
|
+
* Parses a CSV separated by a horizontalSeparator and verticalSeparator into a
|
32
|
+
* Matrix using a transform function
|
33
|
+
*/
|
34
|
+
export declare function split<T>(csv: string, transform: (value: string) => T, horizontalSeparator?: string, verticalSeparator?: string | RegExp): Matrix<T>;
|
35
|
+
/** Returns whether the point exists in the matrix or not. */
|
36
|
+
export declare function has(point: Point.Point, matrix: Matrix<unknown>): boolean;
|
37
|
+
/** Counts of the rows and column in a matrix */
|
38
|
+
export type Size = {
|
39
|
+
/** Count of the rows in the matrix */
|
40
|
+
rows: number;
|
41
|
+
/** Count of the columns in the matrix */
|
42
|
+
columns: number;
|
43
|
+
};
|
44
|
+
/** Gets the count of rows and columns of given matrix */
|
45
|
+
export declare function getSize(matrix: Matrix<unknown>): Size;
|
46
|
+
/** Gets the count of rows of given matrix */
|
47
|
+
export declare function getRowsCount(matrix: Matrix<unknown>): number;
|
48
|
+
/** Gets the count of columns of given matrix */
|
49
|
+
export declare function getColumnsCount(matrix: Matrix<unknown>): number;
|
50
|
+
/**
|
51
|
+
* Pads matrix with empty rows to match given total rows
|
52
|
+
* @param matrix - matrix to pad
|
53
|
+
* @param totalRows - number of rows the matrix should have
|
54
|
+
* @returns the updated matrix
|
55
|
+
*/
|
56
|
+
export declare function padRows<T>(matrix: Matrix<T>, totalRows: number): Matrix<T>;
|
57
|
+
/**
|
58
|
+
* Pads matrix with empty columns to match given total columns
|
59
|
+
* @param matrix - matrix to pad
|
60
|
+
* @param size - minimum size of the matrix after padding.
|
61
|
+
* @returns the updated matrix
|
62
|
+
*/
|
63
|
+
export declare function pad<T>(matrix: Matrix<T>, size: Size): Matrix<T>;
|
64
|
+
export declare function toArray<T>(matrix: Matrix<T>): T[];
|
65
|
+
export declare function toArray<T1, T2>(matrix: Matrix<T1>, transform: (cell: T1 | undefined, coords: Point.Point) => T2): T2[];
|
66
|
+
/** Returns the maximum point in the matrix */
|
67
|
+
export declare function maxPoint(matrix: Matrix<unknown>): Point.Point;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* Interface for ranges between two points
|
3
|
+
*/
|
4
|
+
import * as Point from './point';
|
5
|
+
/** Range between two points. Creates a normalized range between two given points */
|
6
|
+
export declare class PointRange {
|
7
|
+
/** The top-left point */
|
8
|
+
start: Point.Point;
|
9
|
+
/** The bottom-right point */
|
10
|
+
end: Point.Point;
|
11
|
+
constructor(source: Point.Point, target: Point.Point);
|
12
|
+
/** Iterates through all the existing points in given range */
|
13
|
+
[Symbol.iterator](): Iterator<Point.Point>;
|
14
|
+
/** Returns the size (rows x columns) of the given range */
|
15
|
+
size(): number;
|
16
|
+
/** Returns whether given point exists in given range */
|
17
|
+
has(point: Point.Point): boolean;
|
18
|
+
/** Limits given masked range with given mask */
|
19
|
+
mask(mask: PointRange): PointRange;
|
20
|
+
/** Returns whether given range is equal to this range */
|
21
|
+
equals(range: PointRange): boolean;
|
22
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/** A cell coordinates in the spreadsheet */
|
2
|
+
export type Point = {
|
3
|
+
/** The cell's column */
|
4
|
+
column: number;
|
5
|
+
/** The cell's row */
|
6
|
+
row: number;
|
7
|
+
};
|
8
|
+
/** Return whether two given points are the equal */
|
9
|
+
export declare function isEqual(source: Point, target: Point): boolean;
|
10
|
+
/** The origin point in matrices */
|
11
|
+
export declare const ORIGIN: Point;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import * as Matrix from './matrix';
|
2
|
+
import * as Types from './types';
|
3
|
+
import * as Point from './point';
|
4
|
+
import { Selection, RangeSelection, EntireColumnsSelection, EntireRowsSelection } from './selection';
|
5
|
+
import * as Actions from './actions';
|
6
|
+
export declare const INITIAL_STATE: Types.StoreState;
|
7
|
+
export default function reducer(state: Types.StoreState, action: Actions.Action): Types.StoreState;
|
8
|
+
export declare const go: (rowDelta: number, columnDelta: number) => KeyDownHandler;
|
9
|
+
export type KeyDownHandler = (state: Types.StoreState, event: React.KeyboardEvent) => Types.StoreState | void;
|
10
|
+
export declare enum Direction {
|
11
|
+
Left = "Left",
|
12
|
+
Right = "Right",
|
13
|
+
Top = "Top",
|
14
|
+
Bottom = "Bottom"
|
15
|
+
}
|
16
|
+
export declare function getKeyDownHandler(state: Types.StoreState, event: React.KeyboardEvent): KeyDownHandler | undefined;
|
17
|
+
/** Returns whether the reducer has a handler for the given keydown event */
|
18
|
+
export declare function hasKeyDownHandler(state: Types.StoreState, event: React.KeyboardEvent): boolean;
|
19
|
+
/** Returns whether the active cell is read only */
|
20
|
+
export declare function isActiveReadOnly(state: Types.StoreState): boolean;
|
21
|
+
/** Gets active cell from given state */
|
22
|
+
export declare function getActive(state: Types.StoreState): Types.CellBase | null;
|
23
|
+
/** Modify given edge according to given active point and data */
|
24
|
+
export declare function modifyEdge<T extends Selection>(selection: T, active: Point.Point | null, data: Matrix.Matrix<unknown>, direction: Direction): T;
|
25
|
+
export declare function modifyRangeSelectionEdge(rangeSelection: RangeSelection, active: Point.Point, data: Matrix.Matrix<unknown>, edge: Direction): RangeSelection;
|
26
|
+
export declare function modifyEntireRowsSelection(selection: EntireRowsSelection, active: Point.Point, data: Matrix.Matrix<unknown>, edge: Direction): EntireRowsSelection;
|
27
|
+
export declare function modifyEntireColumnsSelection(selection: EntireColumnsSelection, active: Point.Point, data: Matrix.Matrix<unknown>, edge: Direction): EntireColumnsSelection;
|
@@ -0,0 +1,95 @@
|
|
1
|
+
import { PointRange } from './point-range';
|
2
|
+
import * as Point from './point';
|
3
|
+
import * as Matrix from './matrix';
|
4
|
+
/** Selection from a spreadsheet */
|
5
|
+
export declare abstract class Selection {
|
6
|
+
/** Get concrete range of the selection in the given data */
|
7
|
+
abstract toRange(data: Matrix.Matrix<unknown>): PointRange | null;
|
8
|
+
/** Normalize the selection according to the given data */
|
9
|
+
abstract normalizeTo(data: Matrix.Matrix<unknown>): this;
|
10
|
+
/** Determines whether the given row is entirely selected in given selection */
|
11
|
+
abstract hasEntireRow(row: number): boolean;
|
12
|
+
/** Determines whether the given column is entirely selected in given selection */
|
13
|
+
abstract hasEntireColumn(column: number): boolean;
|
14
|
+
/** Get the number of selected points according to given data */
|
15
|
+
abstract size(data: Matrix.Matrix<unknown>): number;
|
16
|
+
/** Determines whether the given point is within the selection */
|
17
|
+
abstract has(data: Matrix.Matrix<unknown>, point: Point.Point): boolean;
|
18
|
+
/** Determines whether the given selection is equal to this selection */
|
19
|
+
abstract equals(selection: Selection): boolean;
|
20
|
+
}
|
21
|
+
/** Selection of no cells */
|
22
|
+
export declare class EmptySelection extends Selection {
|
23
|
+
toRange(data: Matrix.Matrix<unknown>): PointRange | null;
|
24
|
+
normalizeTo(_: Matrix.Matrix<unknown>): this;
|
25
|
+
hasEntireRow(): boolean;
|
26
|
+
hasEntireColumn(): boolean;
|
27
|
+
size(): number;
|
28
|
+
has(): boolean;
|
29
|
+
equals(selection: Selection): boolean;
|
30
|
+
}
|
31
|
+
/** Selection of a range of cells */
|
32
|
+
export declare class RangeSelection extends Selection {
|
33
|
+
range: PointRange;
|
34
|
+
constructor(range: PointRange);
|
35
|
+
toRange(_: Matrix.Matrix<unknown>): PointRange | null;
|
36
|
+
normalizeTo(data: Matrix.Matrix<unknown>): this;
|
37
|
+
hasEntireRow(): boolean;
|
38
|
+
hasEntireColumn(): boolean;
|
39
|
+
size(data: Matrix.Matrix<unknown>): number;
|
40
|
+
has(data: Matrix.Matrix<unknown>, point: Point.Point): boolean;
|
41
|
+
equals(selection: Selection): boolean;
|
42
|
+
}
|
43
|
+
/** Selection of an entire part of the spreadsheet */
|
44
|
+
export declare abstract class EntireSelection extends Selection {
|
45
|
+
}
|
46
|
+
/** Selection of the entire worksheet */
|
47
|
+
export declare class EntireWorksheetSelection extends EntireSelection {
|
48
|
+
toRange(data: Matrix.Matrix<unknown>): PointRange;
|
49
|
+
normalizeTo(): this;
|
50
|
+
hasEntireColumn(): boolean;
|
51
|
+
hasEntireRow(): boolean;
|
52
|
+
size(data: Matrix.Matrix<unknown>): number;
|
53
|
+
has(): boolean;
|
54
|
+
equals(selection: Selection): boolean;
|
55
|
+
}
|
56
|
+
/** Selection of an entire axis in the spreadsheet */
|
57
|
+
export declare abstract class EntireAxisSelection extends EntireSelection {
|
58
|
+
/** Selection start index, integer */
|
59
|
+
readonly start: number;
|
60
|
+
/** Selection end index, integer */
|
61
|
+
readonly end: number;
|
62
|
+
/**
|
63
|
+
* @param start - row index where the selection starts, integer
|
64
|
+
* @param end - row index where the selection ends, integer
|
65
|
+
* @throws {@link InvalidIndexError}
|
66
|
+
*/
|
67
|
+
constructor(start: number, end: number);
|
68
|
+
equals(selection: Selection): boolean;
|
69
|
+
}
|
70
|
+
/** Selection of entire rows in the spreadsheet */
|
71
|
+
export declare class EntireRowsSelection extends EntireAxisSelection {
|
72
|
+
toRange(data: Matrix.Matrix<unknown>): PointRange;
|
73
|
+
normalizeTo(data: Matrix.Matrix<unknown>): this;
|
74
|
+
hasEntireRow(row: number): boolean;
|
75
|
+
hasEntireColumn(): boolean;
|
76
|
+
size(data: Matrix.Matrix<unknown>): number;
|
77
|
+
has(_: Matrix.Matrix<unknown>, point: Point.Point): boolean;
|
78
|
+
}
|
79
|
+
/** Selection of entire columns in the spreadsheet */
|
80
|
+
export declare class EntireColumnsSelection extends EntireAxisSelection {
|
81
|
+
toRange(data: Matrix.Matrix<unknown>): PointRange;
|
82
|
+
normalizeTo(data: Matrix.Matrix<unknown>): this;
|
83
|
+
hasEntireRow(): boolean;
|
84
|
+
hasEntireColumn(column: number): boolean;
|
85
|
+
size(data: Matrix.Matrix<unknown>): number;
|
86
|
+
has(_: Matrix.Matrix<unknown>, point: Point.Point): boolean;
|
87
|
+
}
|
88
|
+
/** Get the point range of given matrix */
|
89
|
+
export declare function getMatrixRange(data: Matrix.Matrix<unknown>): PointRange;
|
90
|
+
/** Determines whether the given value is a valid index */
|
91
|
+
export declare function isIndex(value: number): boolean;
|
92
|
+
/** Error thrown when passing a non-index value where an index value is expected */
|
93
|
+
export declare class InvalidIndexError extends Error {
|
94
|
+
constructor(name: string);
|
95
|
+
}
|