pixel-react 1.2.7 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. package/lib/components/Drawer/Types.d.ts +23 -12
  2. package/lib/components/Editor/Editor.d.ts +5 -0
  3. package/lib/components/Editor/Editor.stories.d.ts +6 -0
  4. package/lib/components/Editor/VariableDropdown.d.ts +5 -0
  5. package/lib/components/Editor/constants.d.ts +3 -0
  6. package/lib/components/Editor/index.d.ts +1 -0
  7. package/lib/components/Editor/types.d.ts +71 -0
  8. package/lib/components/Excel/ContextMenu/ContextMenu.d.ts +4 -0
  9. package/lib/components/Excel/ExcelFile/ExcelFile.d.ts +20 -0
  10. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.d.ts +7 -0
  11. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Cell.d.ts +4 -0
  12. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.d.ts +5 -0
  13. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.d.ts +3 -0
  14. package/lib/components/Excel/ExcelFile/ExcelFileComponents/CornerIndicator.d.ts +5 -0
  15. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.d.ts +5 -0
  16. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.d.ts +8 -0
  17. package/lib/components/Excel/ExcelFile/ExcelFileComponents/FloatingRect.d.ts +10 -0
  18. package/lib/components/Excel/ExcelFile/ExcelFileComponents/HeaderRow.d.ts +3 -0
  19. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Row.d.ts +3 -0
  20. package/lib/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.d.ts +5 -0
  21. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.d.ts +3 -0
  22. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.d.ts +80 -0
  23. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Table.d.ts +3 -0
  24. package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.d.ts +203 -0
  25. package/lib/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.d.ts +1 -0
  26. package/lib/components/Excel/ExcelFile/ExcelFileComponents/context.d.ts +8 -0
  27. package/lib/components/Excel/ExcelFile/ExcelFileComponents/engine/engine.d.ts +22 -0
  28. package/lib/components/Excel/ExcelFile/ExcelFileComponents/engine/formula.d.ts +17 -0
  29. package/lib/components/Excel/ExcelFile/ExcelFileComponents/engine/index.d.ts +2 -0
  30. package/lib/components/Excel/ExcelFile/ExcelFileComponents/engine/point-graph.d.ts +21 -0
  31. package/lib/components/Excel/ExcelFile/ExcelFileComponents/engine/point-hash.d.ts +3 -0
  32. package/lib/components/Excel/ExcelFile/ExcelFileComponents/engine/point-set.d.ts +24 -0
  33. package/lib/components/Excel/ExcelFile/ExcelFileComponents/index.d.ts +13 -0
  34. package/lib/components/Excel/ExcelFile/ExcelFileComponents/matrix.d.ts +67 -0
  35. package/lib/components/Excel/ExcelFile/ExcelFileComponents/point-range.d.ts +22 -0
  36. package/lib/components/Excel/ExcelFile/ExcelFileComponents/point.d.ts +11 -0
  37. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.d.ts +4 -0
  38. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.d.ts +40 -0
  39. package/lib/components/Excel/ExcelFile/ExcelFileComponents/selection.d.ts +95 -0
  40. package/lib/components/Excel/ExcelFile/ExcelFileComponents/types.d.ts +178 -0
  41. package/lib/components/Excel/ExcelFile/ExcelFileComponents/use-dispatch.d.ts +3 -0
  42. package/lib/components/Excel/ExcelFile/ExcelFileComponents/use-selector.d.ts +3 -0
  43. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.d.ts +44 -0
  44. package/lib/components/Excel/ExcelFile.stories.d.ts +6 -0
  45. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.d.ts +19 -0
  46. package/lib/components/Excel/Types.d.ts +129 -0
  47. package/lib/components/Excel/index.d.ts +1 -0
  48. package/lib/components/ExcelFile/ColorBarselector/ColorBarSelector.d.ts +8 -0
  49. package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +2 -2
  50. package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +2 -2
  51. package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +1 -1
  52. package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +2 -2
  53. package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +2 -2
  54. package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +2 -2
  55. package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +2 -2
  56. package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +1 -1
  57. package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +1 -1
  58. package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +2 -2
  59. package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +1 -1
  60. package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +7 -6
  61. package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +1 -1
  62. package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +5 -49
  63. package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +3 -3
  64. package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +5 -5
  65. package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +6 -6
  66. package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +2 -2
  67. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +2 -2
  68. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +1 -1
  69. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +1 -1
  70. package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +11 -11
  71. package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +1 -1
  72. package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +1 -1
  73. package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +5 -5
  74. package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +3 -3
  75. package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +48 -11
  76. package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +1 -1
  77. package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +1 -1
  78. package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +12 -11
  79. package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +0 -16
  80. package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +3 -0
  81. package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +0 -12
  82. package/lib/components/ExcelFile/Types.d.ts +49 -2
  83. package/lib/components/InputWithDropdown/InputWithDropdown.d.ts +1 -1
  84. package/lib/components/InputWithDropdown/types.d.ts +3 -1
  85. package/lib/components/MenuOption/MenuOption.d.ts +1 -1
  86. package/lib/components/MenuOption/types.d.ts +4 -0
  87. package/lib/components/Select/Select.d.ts +3 -2
  88. package/lib/components/Select/Select.stories.d.ts +1 -0
  89. package/lib/components/Select/components/Dropdown.d.ts +5 -0
  90. package/lib/components/Select/components/types.d.ts +18 -0
  91. package/lib/components/Select/types.d.ts +2 -42
  92. package/lib/components/Toastify/Toastify.d.ts +5 -4
  93. package/lib/components/Toastify/types.d.ts +1 -0
  94. package/lib/index.d.ts +75 -30
  95. package/lib/index.esm.js +1734 -1441
  96. package/lib/index.esm.js.map +1 -1
  97. package/lib/index.js +1734 -1440
  98. package/lib/index.js.map +1 -1
  99. package/lib/tsconfig.tsbuildinfo +1 -1
  100. package/lib/utils/getSequentialPayload/getSequentialPayload.d.ts +2 -0
  101. package/lib/utils/getSequentialPayload/getSequentialPayload.stories.d.ts +10 -0
  102. package/lib/utils/getSequentialPayload/types.d.ts +30 -0
  103. package/package.json +1 -1
  104. package/src/assets/Themes/BaseTheme.scss +5 -0
  105. package/src/assets/Themes/DarkTheme.scss +2 -0
  106. package/src/assets/icons/maximize_icon.svg +5 -0
  107. package/src/assets/styles/_fonts.scss +1 -1
  108. package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +15 -6
  109. package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +0 -5
  110. package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +20 -10
  111. package/src/components/Drawer/Drawer.scss +1 -0
  112. package/src/components/Drawer/Types.ts +24 -13
  113. package/src/components/Excel/ExcelFile/ExcelFile.scss +62 -0
  114. package/src/components/Excel/ExcelFile/ExcelFile.tsx +312 -0
  115. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/ActiveCell.tsx +2 -2
  116. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Cell.tsx +3 -3
  117. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/ColumnIndicator.tsx +4 -4
  118. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/CornerIndicator.tsx +2 -2
  119. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/DataEditor.tsx +1 -1
  120. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/DataViewer.tsx +3 -3
  121. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/FloatingRect.tsx +4 -4
  122. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/RowIndicator.tsx +4 -4
  123. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Spreadsheet.scss +26 -24
  124. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Spreadsheet.tsx +13 -45
  125. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Table.tsx +1 -1
  126. package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/actions.ts +88 -20
  127. package/src/components/Excel/ExcelFile/ExcelFileComponents/reducer.ts +495 -0
  128. package/src/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.ts +758 -0
  129. package/src/components/{ExcelFile → Excel}/ExcelFile.stories.tsx +45 -0
  130. package/src/components/Excel/ExcelToolBar/ExcelToolBar.scss +36 -0
  131. package/src/components/Excel/ExcelToolBar/ExcelToolBar.tsx +346 -0
  132. package/src/components/Form/Form.scss +54 -35
  133. package/src/components/Form/Form.stories.tsx +264 -225
  134. package/src/components/Icon/Icons.scss +4 -0
  135. package/src/components/Icon/iconList.ts +2 -1
  136. package/src/components/Input/Input.tsx +0 -1
  137. package/src/components/InputWithDropdown/InputWithDropdown.scss +30 -1
  138. package/src/components/InputWithDropdown/InputWithDropdown.tsx +45 -16
  139. package/src/components/InputWithDropdown/types.ts +5 -1
  140. package/src/components/MenuOption/MenuOption.scss +0 -1
  141. package/src/components/MenuOption/MenuOption.stories.tsx +3 -0
  142. package/src/components/MenuOption/MenuOption.tsx +5 -4
  143. package/src/components/MenuOption/types.ts +4 -0
  144. package/src/components/MultiSelect/MultiSelect.scss +5 -1
  145. package/src/components/MultiSelect/MultiSelect.stories.tsx +17 -13
  146. package/src/components/MultiSelect/MultiSelect.tsx +27 -14
  147. package/src/components/Select/Select.scss +121 -188
  148. package/src/components/Select/Select.stories.tsx +164 -18
  149. package/src/components/Select/Select.tsx +142 -290
  150. package/src/components/Select/components/Dropdown.scss +50 -0
  151. package/src/components/Select/components/Dropdown.tsx +94 -0
  152. package/src/components/Select/components/types.ts +20 -0
  153. package/src/components/Select/types.ts +15 -39
  154. package/src/components/Table/Table.scss +6 -5
  155. package/src/components/Table/Table.stories.tsx +0 -9
  156. package/src/components/Table/Table.tsx +2 -2
  157. package/src/components/TableTree/TableTree.scss +1 -1
  158. package/src/components/TableTree/TableTree.tsx +3 -1
  159. package/src/components/Toastify/Toastify.stories.tsx +29 -10
  160. package/src/components/Toastify/Toastify.tsx +42 -16
  161. package/src/components/Toastify/types.ts +2 -0
  162. package/src/index.ts +4 -2
  163. package/src/utils/getSelectOptionValue/getSelectOptionValue.ts +1 -1
  164. package/src/utils/getSequentialPayload/getSequentialPayload.stories.tsx +75 -0
  165. package/src/utils/getSequentialPayload/getSequentialPayload.ts +29 -0
  166. package/src/utils/getSequentialPayload/types.ts +35 -0
  167. package/src/components/ExcelFile/ExcelFile/Excel/reducer.ts +0 -952
  168. package/src/components/ExcelFile/ExcelFile/ExcelFile.scss +0 -24
  169. package/src/components/ExcelFile/ExcelFile/ExcelFile.tsx +0 -162
  170. package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.scss +0 -16
  171. package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.tsx +0 -68
  172. package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.scss +0 -19
  173. package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.tsx +0 -291
  174. package/src/fonts/Montserrat/Montserrat-Medium.ttf +0 -0
  175. package/src/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  176. package/src/fonts/Montserrat/Montserrat-SemiBold.ttf +0 -0
  177. package/src/fonts/Poppins/Poppins-Black.ttf +0 -0
  178. package/src/fonts/Poppins/Poppins-BlackItalic.ttf +0 -0
  179. package/src/fonts/Poppins/Poppins-BoldItalic.ttf +0 -0
  180. package/src/fonts/Poppins/Poppins-ExtraBold.ttf +0 -0
  181. package/src/fonts/Poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  182. package/src/fonts/Poppins/Poppins-ExtraLight.ttf +0 -0
  183. package/src/fonts/Poppins/Poppins-ExtraLightItalic.ttf +0 -0
  184. package/src/fonts/Poppins/Poppins-Italic.ttf +0 -0
  185. package/src/fonts/Poppins/Poppins-Light.ttf +0 -0
  186. package/src/fonts/Poppins/Poppins-LightItalic.ttf +0 -0
  187. package/src/fonts/Poppins/Poppins-MediumItalic.ttf +0 -0
  188. package/src/fonts/Poppins/Poppins-SemiBoldItalic.ttf +0 -0
  189. package/src/fonts/Poppins/Poppins-Thin.ttf +0 -0
  190. package/src/fonts/Poppins/Poppins-ThinItalic.ttf +0 -0
  191. /package/lib/components/{ExcelFile → Excel}/ColorBarSelector/ColorBarSelector.d.ts +0 -0
  192. /package/src/components/{ExcelFile/ColorBarselector → Excel/ColorBarSelector}/ColorBarSelector.scss +0 -0
  193. /package/src/components/{ExcelFile/ColorBarselector → Excel/ColorBarSelector}/ColorBarSelector.tsx +0 -0
  194. /package/src/components/{ExcelFile → Excel}/ContextMenu/ContextMenu.scss +0 -0
  195. /package/src/components/{ExcelFile → Excel}/ContextMenu/ContextMenu.tsx +0 -0
  196. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Copied.tsx +0 -0
  197. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/HeaderRow.tsx +0 -0
  198. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Row.tsx +0 -0
  199. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/Selected.tsx +0 -0
  200. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/areModelsEqual.ts +0 -0
  201. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/context.ts +0 -0
  202. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/engine/engine.ts +0 -0
  203. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/engine/formula.ts +0 -0
  204. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/engine/index.ts +0 -0
  205. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/engine/point-graph.ts +0 -0
  206. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/engine/point-hash.ts +0 -0
  207. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/engine/point-set.ts +0 -0
  208. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/index.ts +0 -0
  209. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/matrix.ts +0 -0
  210. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/point-range.ts +0 -0
  211. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/point.ts +0 -0
  212. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/selection.ts +0 -0
  213. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/types.ts +0 -0
  214. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/typings/fast-formula-parser.d.ts +0 -0
  215. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/use-dispatch.ts +0 -0
  216. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/use-selector.ts +0 -0
  217. /package/src/components/{ExcelFile/ExcelFile/Excel → Excel/ExcelFile/ExcelFileComponents}/util.ts +0 -0
  218. /package/src/components/{ExcelFile → Excel}/Types.ts +0 -0
  219. /package/src/components/{ExcelFile → Excel}/index.ts +0 -0
@@ -5,7 +5,7 @@ import * as Actions from './actions';
5
5
  import * as Matrix from './matrix';
6
6
  import * as Point from './point';
7
7
  import { Selection } from './selection';
8
- import reducer, { INITIAL_STATE, hasKeyDownHandler } from './reducer';
8
+ import reducer, { INITIAL_STATE } from './reducer';
9
9
  import context from './context';
10
10
  import { Model, createFormulaParser } from './engine';
11
11
  import {
@@ -15,7 +15,6 @@ import {
15
15
  calculateSpreadsheetSize,
16
16
  getCSV,
17
17
  shouldHandleClipboardEvent,
18
- isFocusedWithin,
19
18
  } from './util';
20
19
 
21
20
  import DefaultTable from './Table';
@@ -38,6 +37,7 @@ import Selected from './Selected';
38
37
  import Copied from './Copied';
39
38
  import './Spreadsheet.scss';
40
39
  import ExcelToolBar from '../../ExcelToolBar/ExcelToolBar';
40
+ import { hasKeyDownHandler } from './reducerFunctions';
41
41
 
42
42
  /** The Spreadsheet component props */
43
43
  export type Props<CellType extends Types.CellBase> = {
@@ -121,20 +121,12 @@ const Spreadsheet = <CellType extends Types.CellBase>(
121
121
  className,
122
122
  columnLabels,
123
123
  rowLabels,
124
- // hideColumnIndicators,
125
- // hideRowIndicators,
126
124
  onKeyDown,
127
125
  Table = DefaultTable,
128
126
  Row = DefaultRow,
129
127
  HeaderRow = DefaultHeaderRow,
130
128
  DataEditor = DefaultDataEditor,
131
129
  DataViewer = DefaultDataViewer,
132
- // onChange = () => {},
133
- // onModeChange = () => {},
134
- onSelect = () => {},
135
- onActivate = () => {},
136
- // onBlur = () => {},
137
- // onCellCommit = () => {},
138
130
  onEvaluatedDataChange = () => {},
139
131
  } = props;
140
132
  type State = Types.StoreState<CellType>;
@@ -178,7 +170,6 @@ const Spreadsheet = <CellType extends Types.CellBase>(
178
170
  const copy = useAction(Actions.copy);
179
171
  const paste = useAction(Actions.paste);
180
172
  const onKeyDownAction = useAction(Actions.keyDown);
181
- const onKeyPress = useAction(Actions.keyPress);
182
173
  const onDragStart = useAction(Actions.dragStart);
183
174
  const onDragEnd = useAction(Actions.dragEnd);
184
175
  const setData = useAction(Actions.setData);
@@ -186,27 +177,15 @@ const Spreadsheet = <CellType extends Types.CellBase>(
186
177
  const setSelection = useAction(Actions.setSelection);
187
178
  const onBold = useAction(Actions.bold);
188
179
  const onItalic = useAction(Actions.italic);
189
- const onUnderline = useAction(Actions.underline);
180
+ const setUnderlineType = useAction(Actions.underlineType);
181
+ const setTextAlign = useAction(Actions.textAlign);
182
+ const setFontSize = useAction(Actions.fontSize);
183
+ const setFontFamily = useAction(Actions.fontFamily);
184
+ const setBorderType = useAction(Actions.borderType);
190
185
  const setColor = useAction(Actions.color);
191
186
  const setBackgroundColor = useAction(Actions.backgroundStyle);
192
187
  const setFormatePainter = useAction(Actions.formatePainter);
193
188
 
194
- const prevActiveRef = React.useRef<Point.Point | null>(state.active);
195
- React.useEffect(() => {
196
- if (state.active !== prevActiveRef.current) {
197
- if (state.active) {
198
- onActivate(state.active);
199
- } else {
200
- const root = rootRef.current;
201
- if (root && isFocusedWithin(root) && document.activeElement) {
202
- (document.activeElement as HTMLElement).blur();
203
- }
204
- }
205
- }
206
-
207
- prevActiveRef.current = state.active;
208
- }, [onActivate, state.active]);
209
-
210
189
  const prevEvaluatedDataRef = React.useRef<Matrix.Matrix<CellType>>(
211
190
  state.model.evaluatedData
212
191
  );
@@ -218,18 +197,6 @@ const Spreadsheet = <CellType extends Types.CellBase>(
218
197
  prevEvaluatedDataRef.current = state.model.evaluatedData;
219
198
  }, [state?.model?.evaluatedData, onEvaluatedDataChange]);
220
199
 
221
- const prevSelectedRef = React.useRef<Selection>(state.selected);
222
- React.useEffect(() => {
223
- if (!state.selected.equals(prevSelectedRef.current)) {
224
- // Call on select only if the selection change internal
225
- if (!props.selected || !state.selected.equals(props.selected)) {
226
- onSelect(state.selected);
227
- }
228
- }
229
-
230
- prevSelectedRef.current = state.selected;
231
- }, [state.selected, onSelect, props.selected]);
232
-
233
200
  // Update selection when props.selected changes
234
201
  const prevSelectedPropRef = React.useRef<Selection | undefined>(
235
202
  props.selected
@@ -256,7 +223,6 @@ const Spreadsheet = <CellType extends Types.CellBase>(
256
223
  prevDataPropRef.current = props.data;
257
224
  }, [props.data, setData]);
258
225
 
259
- // Update createFormulaParser when props.createFormulaParser changes
260
226
  const prevCreateFormulaParserPropRef = React.useRef<
261
227
  Types.CreateFormulaParser | undefined
262
228
  >(props.createFormulaParser);
@@ -466,15 +432,18 @@ const Spreadsheet = <CellType extends Types.CellBase>(
466
432
  data={props.data}
467
433
  onBold={onBold}
468
434
  onItalic={onItalic}
469
- onUnderline={onUnderline}
435
+ setUnderlineType={setUnderlineType}
470
436
  setColor={setColor}
437
+ setBorderType={setBorderType}
438
+ setFontSize={setFontSize}
439
+ setFontFamily={setFontFamily}
440
+ setTextAlign={setTextAlign}
471
441
  setBackgroundColor={setBackgroundColor}
472
442
  setFormatePainter={setFormatePainter}
473
443
  />
474
444
  <div
475
445
  ref={rootRef}
476
- className={classNames('Spreadsheet', className)}
477
- onKeyPress={onKeyPress}
446
+ className={classNames('ff-spreadsheet', className)}
478
447
  onKeyDown={handleKeyDown}
479
448
  onMouseMove={handleMouseMove}
480
449
  >
@@ -487,7 +456,6 @@ const Spreadsheet = <CellType extends Types.CellBase>(
487
456
  ),
488
457
  [
489
458
  className,
490
- onKeyPress,
491
459
  handleKeyDown,
492
460
  handleMouseMove,
493
461
  tableNode,
@@ -9,7 +9,7 @@ const Table: Types.TableComponent = ({
9
9
  const columnCount = columns + (hideColumnIndicators ? 0 : 1);
10
10
  const columnNodes = range(columnCount).map((i) => <col key={i} />);
11
11
  return (
12
- <table className="Spreadsheet__table">
12
+ <table className="ff-spreadsheet-table">
13
13
  <colgroup>{columnNodes}</colgroup>
14
14
  <tbody>{children}</tbody>
15
15
  </table>
@@ -32,7 +32,11 @@ export const DRAG_END = 'DRAG_END';
32
32
  export const COMMIT = 'COMMIT';
33
33
  export const BOLD = 'BOLD';
34
34
  export const ITALIC = 'ITALIC';
35
- export const UNDERLINE = 'UNDERLINE';
35
+ export const UNDERLINE_TYPE = 'UNDERLINE_TYPE';
36
+ export const FONT_FAMILY = 'FONT_FAMILY';
37
+ export const FONT_SIZE = 'FONT_SIZE';
38
+ export const TEXT_ALIGN = 'TEXT_ALIGN';
39
+ export const BORDER_TYPE = 'BORDER_TYPE';
36
40
  export const COLOR = 'COLOR';
37
41
  export const BACKGROUND_COLOR = 'BACKGROUND_COLOR';
38
42
  export const FORMATE_PAINTER = 'FORMATE_PAINTER';
@@ -53,6 +57,7 @@ export function bold(data: Matrix<CellBase>): BoldStyle {
53
57
  payload: { data },
54
58
  };
55
59
  }
60
+
56
61
  export type ItalicStyle = BaseAction<typeof ITALIC> & {
57
62
  payload: {
58
63
  data: Matrix<CellBase>;
@@ -65,18 +70,90 @@ export function italic(data: Matrix<CellBase>): ItalicStyle {
65
70
  payload: { data },
66
71
  };
67
72
  }
68
- export type UnderlineStyle = BaseAction<typeof UNDERLINE> & {
73
+
74
+ export type BorderType = BaseAction<typeof BORDER_TYPE> & {
69
75
  payload: {
70
76
  data: Matrix<CellBase>;
77
+ value: string;
78
+ color: string;
71
79
  };
72
80
  };
73
81
 
74
- export function underline(data: Matrix<CellBase>): UnderlineStyle {
82
+ export function borderType(
83
+ data: Matrix<CellBase>,
84
+ value: string,
85
+ color: string
86
+ ): BorderType {
75
87
  return {
76
- type: UNDERLINE,
77
- payload: { data },
88
+ type: BORDER_TYPE,
89
+ payload: { data, value, color },
90
+ };
91
+ }
92
+
93
+ export type UnderlineTypeStyle = BaseAction<typeof UNDERLINE_TYPE> & {
94
+ payload: {
95
+ data: Matrix<CellBase>;
96
+ value: string;
97
+ active: boolean;
98
+ };
99
+ };
100
+
101
+ export function underlineType(
102
+ data: Matrix<CellBase>,
103
+ value: string,
104
+ active: boolean
105
+ ): UnderlineTypeStyle {
106
+ return {
107
+ type: UNDERLINE_TYPE,
108
+ payload: { data, value, active },
78
109
  };
79
110
  }
111
+
112
+ export type FontSize = BaseAction<typeof FONT_SIZE> & {
113
+ payload: {
114
+ data: Matrix<CellBase>;
115
+ value: string;
116
+ };
117
+ };
118
+
119
+ export function fontSize(data: Matrix<CellBase>, value: string): FontSize {
120
+ return {
121
+ type: FONT_SIZE,
122
+ payload: { data, value },
123
+ };
124
+ }
125
+
126
+ export type FontFamily = BaseAction<typeof FONT_FAMILY> & {
127
+ payload: {
128
+ data: Matrix<CellBase>;
129
+ value: string;
130
+ };
131
+ };
132
+
133
+ export function fontFamily(data: Matrix<CellBase>, value: string): FontFamily {
134
+ return {
135
+ type: FONT_FAMILY,
136
+ payload: { data, value },
137
+ };
138
+ }
139
+
140
+ export type TextAlignType = BaseAction<typeof TEXT_ALIGN> & {
141
+ payload: {
142
+ data: Matrix<CellBase>;
143
+ value: string;
144
+ };
145
+ };
146
+
147
+ export function textAlign(
148
+ data: Matrix<CellBase>,
149
+ value: string
150
+ ): TextAlignType {
151
+ return {
152
+ type: TEXT_ALIGN,
153
+ payload: { data, value },
154
+ };
155
+ }
156
+
80
157
  export type ColorStyle = BaseAction<typeof COLOR> & {
81
158
  payload: {
82
159
  data: Matrix<CellBase>;
@@ -90,6 +167,7 @@ export function color(data: Matrix<CellBase>, value: string): ColorStyle {
90
167
  payload: { data, value },
91
168
  };
92
169
  }
170
+
93
171
  export type BackgroundStyle = BaseAction<typeof BACKGROUND_COLOR> & {
94
172
  payload: {
95
173
  data: Matrix<CellBase>;
@@ -274,19 +352,6 @@ export function paste(data: string): PasteAction {
274
352
  };
275
353
  }
276
354
 
277
- export type KeyPressAction = BaseAction<typeof KEY_PRESS> & {
278
- payload: {
279
- event: React.KeyboardEvent;
280
- };
281
- };
282
-
283
- export function keyPress(event: React.KeyboardEvent): KeyPressAction {
284
- return {
285
- type: KEY_PRESS,
286
- payload: { event },
287
- };
288
- }
289
-
290
355
  export type KeyDownAction = BaseAction<typeof KEY_DOWN> & {
291
356
  payload: {
292
357
  event: React.KeyboardEvent;
@@ -373,7 +438,6 @@ export type Action =
373
438
  | SetCellDataAction
374
439
  | SetCellDimensionsAction
375
440
  | PasteAction
376
- | KeyPressAction
377
441
  | KeyDownAction
378
442
  | DragStartAction
379
443
  | DragEndAction
@@ -383,7 +447,11 @@ export type Action =
383
447
  | EditAction
384
448
  | ViewAction
385
449
  | ClearAction
386
- | UnderlineStyle
450
+ | UnderlineTypeStyle
451
+ | FontSize
452
+ | FontFamily
453
+ | TextAlignType
454
+ | BorderType
387
455
  | ItalicStyle
388
456
  | BoldStyle
389
457
  | ColorStyle