pixel-react 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/lib/components/AppHeader/types.d.ts +11 -2
  2. package/lib/components/Avatar/Avatar.d.ts +5 -0
  3. package/lib/components/Avatar/Avatar.stories.d.ts +10 -0
  4. package/lib/components/Avatar/index.d.ts +1 -0
  5. package/lib/components/Avatar/types.d.ts +26 -0
  6. package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +2 -2
  7. package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +2 -2
  8. package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +1 -1
  9. package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +2 -2
  10. package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +2 -2
  11. package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +2 -2
  12. package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +2 -2
  13. package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +1 -1
  14. package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +1 -1
  15. package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +2 -2
  16. package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +1 -1
  17. package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +6 -7
  18. package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +1 -1
  19. package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +49 -5
  20. package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +3 -3
  21. package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +5 -5
  22. package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +6 -6
  23. package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +2 -2
  24. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +2 -2
  25. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +1 -1
  26. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +1 -1
  27. package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +11 -11
  28. package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +1 -1
  29. package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +1 -1
  30. package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +5 -5
  31. package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +3 -3
  32. package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +11 -48
  33. package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +1 -1
  34. package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +1 -1
  35. package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +11 -12
  36. package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +16 -0
  37. package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +0 -3
  38. package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +12 -0
  39. package/lib/components/ExcelFile/Types.d.ts +2 -49
  40. package/lib/components/Form/Form.d.ts +1 -15
  41. package/lib/components/Form/Form.stories.d.ts +6 -5
  42. package/lib/components/Form/Forms.d.ts +8 -0
  43. package/lib/components/Form/index.d.ts +1 -1
  44. package/lib/components/InputWithDropdown/types.d.ts +1 -1
  45. package/lib/components/LabelEditTextField/LabelEditTextField.d.ts +5 -0
  46. package/lib/components/LabelEditTextField/LabelEditTextField.stories.d.ts +11 -0
  47. package/lib/components/LabelEditTextField/index.d.ts +1 -0
  48. package/lib/components/LabelEditTextField/types.d.ts +38 -0
  49. package/lib/components/MenuOption/types.d.ts +7 -7
  50. package/lib/components/ModulesChip/ModuleChip.d.ts +4 -0
  51. package/lib/components/ModulesChip/ModuleChip.stories.d.ts +6 -0
  52. package/lib/components/ModulesChip/index.d.ts +1 -0
  53. package/lib/components/ModulesChip/types.d.ts +14 -0
  54. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +1 -0
  55. package/lib/components/Select/Select.d.ts +1 -1
  56. package/lib/components/Select/components/Dropdown/Dropdown.d.ts +1 -1
  57. package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +2 -0
  58. package/lib/components/Select/types.d.ts +11 -4
  59. package/lib/components/Toastify/Toastify.d.ts +8 -0
  60. package/lib/components/Toastify/Toastify.stories.d.ts +6 -0
  61. package/lib/components/Toastify/index.d.ts +1 -0
  62. package/lib/components/Toastify/types.d.ts +7 -0
  63. package/lib/components/Tooltip/types.d.ts +6 -0
  64. package/lib/components/Typography/types.d.ts +1 -0
  65. package/lib/index.d.ts +130 -29
  66. package/lib/index.esm.js +26882 -872
  67. package/lib/index.esm.js.map +1 -1
  68. package/lib/index.js +26881 -866
  69. package/lib/index.js.map +1 -1
  70. package/lib/tsconfig.tsbuildinfo +1 -1
  71. package/lib/utils/getSelectOptionValue/getSelectOptionValue.d.ts +8 -0
  72. package/package.json +1 -1
  73. package/src/StyleGuide/ColorPalette/colorPaletteList.ts +10 -0
  74. package/src/assets/Themes/BaseTheme.scss +10 -1
  75. package/src/assets/Themes/DarkTheme.scss +19 -8
  76. package/src/assets/icons/client_profile.svg +4 -0
  77. package/src/assets/icons/fireflink_finder_logo.svg +7 -0
  78. package/src/assets/icons/fireflink_platform.svg +4 -0
  79. package/src/assets/icons/license_expired.svg +20 -0
  80. package/src/components/AppHeader/AppHeader.scss +5 -2
  81. package/src/components/AppHeader/AppHeader.stories.tsx +24 -3
  82. package/src/components/AppHeader/AppHeader.tsx +29 -11
  83. package/src/components/AppHeader/types.ts +11 -3
  84. package/src/components/Avatar/Avatar.scss +24 -0
  85. package/src/components/Avatar/Avatar.stories.tsx +56 -0
  86. package/src/components/Avatar/Avatar.tsx +25 -0
  87. package/src/components/Avatar/index.ts +1 -0
  88. package/src/components/Avatar/types.ts +27 -0
  89. package/src/components/Drawer/Drawer.scss +0 -1
  90. package/src/components/Drawer/Drawer.tsx +1 -1
  91. package/src/components/ExcelFile/ColorBarselector/ColorBarSelector.scss +0 -2
  92. package/src/components/ExcelFile/ContextMenu/ContextMenu.scss +1 -4
  93. package/src/components/ExcelFile/ContextMenu/ContextMenu.tsx +0 -1
  94. package/src/components/ExcelFile/ExcelFile/Excel/ActiveCell.tsx +13 -13
  95. package/src/components/ExcelFile/ExcelFile/Excel/Cell.tsx +13 -12
  96. package/src/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.tsx +40 -32
  97. package/src/components/ExcelFile/ExcelFile/Excel/Copied.tsx +4 -4
  98. package/src/components/ExcelFile/ExcelFile/Excel/CornerIndicator.tsx +10 -10
  99. package/src/components/ExcelFile/ExcelFile/Excel/DataEditor.tsx +5 -5
  100. package/src/components/ExcelFile/ExcelFile/Excel/DataViewer.tsx +10 -10
  101. package/src/components/ExcelFile/ExcelFile/Excel/FloatingRect.tsx +6 -6
  102. package/src/components/ExcelFile/ExcelFile/Excel/HeaderRow.tsx +1 -1
  103. package/src/components/ExcelFile/ExcelFile/Excel/Row.tsx +1 -1
  104. package/src/components/ExcelFile/ExcelFile/Excel/RowIndicator.tsx +34 -27
  105. package/src/components/ExcelFile/ExcelFile/Excel/Selected.tsx +5 -5
  106. package/src/components/ExcelFile/ExcelFile/Excel/{Spreadsheet.css → Spreadsheet.scss} +21 -37
  107. package/src/components/ExcelFile/ExcelFile/Excel/Spreadsheet.tsx +87 -78
  108. package/src/components/ExcelFile/ExcelFile/Excel/Table.tsx +2 -2
  109. package/src/components/ExcelFile/ExcelFile/Excel/actions.ts +121 -31
  110. package/src/components/ExcelFile/ExcelFile/Excel/areModelsEqual.ts +1 -1
  111. package/src/components/ExcelFile/ExcelFile/Excel/context.ts +4 -4
  112. package/src/components/ExcelFile/ExcelFile/Excel/engine/engine.ts +7 -7
  113. package/src/components/ExcelFile/ExcelFile/Excel/engine/formula.ts +11 -11
  114. package/src/components/ExcelFile/ExcelFile/Excel/engine/index.ts +2 -2
  115. package/src/components/ExcelFile/ExcelFile/Excel/engine/point-graph.ts +3 -3
  116. package/src/components/ExcelFile/ExcelFile/Excel/engine/point-hash.ts +2 -2
  117. package/src/components/ExcelFile/ExcelFile/Excel/engine/point-set.ts +2 -2
  118. package/src/components/ExcelFile/ExcelFile/Excel/index.ts +12 -11
  119. package/src/components/ExcelFile/ExcelFile/Excel/matrix.ts +18 -24
  120. package/src/components/ExcelFile/ExcelFile/Excel/point-range.ts +1 -1
  121. package/src/components/ExcelFile/ExcelFile/Excel/reducer.ts +311 -41
  122. package/src/components/ExcelFile/ExcelFile/Excel/selection.ts +5 -5
  123. package/src/components/ExcelFile/ExcelFile/Excel/types.ts +14 -66
  124. package/src/components/ExcelFile/ExcelFile/Excel/typings/fast-formula-parser.d.ts +8 -8
  125. package/src/components/ExcelFile/ExcelFile/Excel/use-dispatch.ts +2 -2
  126. package/src/components/ExcelFile/ExcelFile/Excel/use-selector.ts +3 -3
  127. package/src/components/ExcelFile/ExcelFile/Excel/util.ts +21 -22
  128. package/src/components/ExcelFile/ExcelFile/ExcelFile.scss +0 -3
  129. package/src/components/ExcelFile/ExcelFile/ExcelFile.tsx +45 -403
  130. package/src/components/ExcelFile/ExcelFile.stories.tsx +10 -29
  131. package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.tsx +1 -12
  132. package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.scss +0 -3
  133. package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.tsx +147 -127
  134. package/src/components/ExcelFile/Types.ts +3 -70
  135. package/src/components/ExcelFile/index.ts +1 -1
  136. package/src/components/Form/Form.d.ts +3 -0
  137. package/src/components/Form/Form.scss +31 -4
  138. package/src/components/Form/Form.stories.tsx +172 -138
  139. package/src/components/Form/Form.ts +2 -0
  140. package/src/components/Form/Forms.tsx +25 -0
  141. package/src/components/Form/index.ts +1 -1
  142. package/src/components/Icon/Icons.scss +1 -0
  143. package/src/components/Icon/iconList.ts +8 -0
  144. package/src/components/IconButton/IconButton.scss +1 -1
  145. package/src/components/InputWithDropdown/types.ts +1 -1
  146. package/src/components/LabelEditTextField/LabelEditTextField.scss +85 -0
  147. package/src/components/LabelEditTextField/LabelEditTextField.stories.tsx +136 -0
  148. package/src/components/LabelEditTextField/LabelEditTextField.tsx +207 -0
  149. package/src/components/LabelEditTextField/index.ts +1 -0
  150. package/src/components/LabelEditTextField/types.ts +38 -0
  151. package/src/components/MenuOption/types.ts +7 -6
  152. package/src/components/ModulesChip/ModuleChip.scss +20 -0
  153. package/src/components/ModulesChip/ModuleChip.stories.tsx +41 -0
  154. package/src/components/ModulesChip/ModuleChip.tsx +31 -0
  155. package/src/components/ModulesChip/index.ts +1 -0
  156. package/src/components/ModulesChip/types.ts +14 -0
  157. package/src/components/MultiSelect/Dropdown.tsx +6 -1
  158. package/src/components/MultiSelect/MultiSelect.scss +17 -10
  159. package/src/components/MultiSelect/MultiSelect.stories.tsx +16 -4
  160. package/src/components/MultiSelect/MultiSelect.tsx +11 -4
  161. package/src/components/MultiSelect/MultiSelectTypes.ts +4 -3
  162. package/src/components/Select/Select.scss +4 -0
  163. package/src/components/Select/Select.stories.tsx +5 -3
  164. package/src/components/Select/Select.tsx +15 -7
  165. package/src/components/Select/components/Dropdown/Dropdown.tsx +3 -1
  166. package/src/components/Select/components/Dropdown/dropdownTypes.ts +3 -0
  167. package/src/components/Select/types.ts +12 -5
  168. package/src/components/Toastify/Toastify.stories.tsx +52 -0
  169. package/src/components/Toastify/Toastify.tsx +66 -0
  170. package/src/components/Toastify/index.ts +1 -0
  171. package/src/components/Toastify/types.ts +8 -0
  172. package/src/components/Tooltip/Tooltip.tsx +2 -1
  173. package/src/components/Tooltip/types.ts +6 -0
  174. package/src/components/Typography/Typography.scss +12 -4
  175. package/src/components/Typography/Typography.stories.tsx +2 -0
  176. package/src/components/Typography/Typography.tsx +2 -0
  177. package/src/components/Typography/types.ts +1 -0
  178. package/src/index.ts +12 -2
  179. package/src/utils/getSelectOptionValue/getSelectOptionValue.ts +31 -0
  180. package/src/components/ExcelFile/ChangeExcelStyles.tsx +0 -78
  181. package/src/components/ExcelFile/ImportExcelStyles.tsx +0 -86
  182. package/src/components/Form/Form.tsx +0 -57
@@ -0,0 +1 @@
1
+ export { default } from './Avatar';
@@ -0,0 +1,27 @@
1
+ export interface AvatarProps {
2
+ /**
3
+ * This property determines the size of the avatar. It can be set to 'small', 'medium', or 'large'.
4
+ */
5
+ variant?: 'small' | 'medium' | 'large';
6
+ /**
7
+ * This property allows you to customize the background color of the avatar.
8
+ */
9
+ backgroundColor?: string;
10
+ /**
11
+ * This property specifies the name of the icon to be displayed within the avatar.
12
+ */
13
+ iconName: string;
14
+ /**
15
+ * This property allows you to customize the color of the icon within the avatar.
16
+ */
17
+ iconColor?: string;
18
+ /**
19
+ * This property allows you to set a custom size for the avatar, overriding the default size specified by the variant property.
20
+ */
21
+
22
+ customAvatarSize?: number;
23
+ /**
24
+ * This property allows you to set a custom size for the icon within the avatar.
25
+ */
26
+ customIconSize?: number;
27
+ }
@@ -61,7 +61,6 @@
61
61
  .ff-close-icon {
62
62
  height: 16px;
63
63
  width: 16px;
64
- background-color: var(--button-bg-color);
65
64
  border-radius: 4px;
66
65
  display: flex;
67
66
  align-items: center;
@@ -129,7 +129,7 @@ const Drawer: FC<DrawerProps> = ({
129
129
  <div className="ff-close-icon">
130
130
  <Icon
131
131
  name="close"
132
- hoverEffect={false}
132
+ hoverEffect={true}
133
133
  onClick={onCloseIconClick || onClose}
134
134
  height={6}
135
135
  width={6}
@@ -1,5 +1,3 @@
1
- @use '../../../assets/styles/colors';
2
-
3
1
  .color-bar {
4
2
  background-color: var(--error_light);
5
3
  width: 100%;
@@ -1,12 +1,10 @@
1
- @import '../../../assets/styles/colors';
2
- @import '../../../assets/styles/fonts';
1
+ @use '../../assets/styles/fonts';
3
2
 
4
3
  .context-menu {
5
4
  position: absolute;
6
5
  z-index: 1;
7
6
  outline: none;
8
7
  background-color: var(--brand-color);
9
- // box-shadow: 0px 0px 6px $shadow;
10
8
  border-radius: 5px;
11
9
  opacity: 1;
12
10
  padding: 16px 0;
@@ -29,7 +27,6 @@
29
27
  justify-content: center;
30
28
  }
31
29
  &:hover {
32
- // background-color: $primary;
33
30
  .options-label {
34
31
  background: var(--option-card-bg-color);
35
32
  }
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import './ContextMenu.scss';
3
3
  import Icon from '../../Icon';
4
- // import { colors } from '../../../colors/colorConstants';
5
4
 
6
5
  const ContextMenu: React.FC<ContextMenuProps> = ({
7
6
  customContext,
@@ -1,12 +1,12 @@
1
- import * as React from "react";
2
- import classnames from "classnames";
3
- import * as Actions from "./actions";
4
- import * as Types from "./types";
5
- import * as Point from "./point";
6
- import useSelector from "./use-selector";
7
- import useDispatch from "./use-dispatch";
8
- import { getCellDimensions } from "./util";
9
- import * as Matrix from "./matrix";
1
+ import * as React from 'react';
2
+ import classnames from 'classnames';
3
+ import * as Actions from './actions';
4
+ import * as Types from './types';
5
+ import * as Point from './point';
6
+ import useSelector from './use-selector';
7
+ import useDispatch from './use-dispatch';
8
+ import { getCellDimensions } from './util';
9
+ import * as Matrix from './matrix';
10
10
 
11
11
  type Props = {
12
12
  DataEditor: Types.DataEditorComponent;
@@ -77,7 +77,7 @@ const ActiveCell: React.FC<Props> = (props) => {
77
77
 
78
78
  const coordsChanged =
79
79
  active?.row !== prevActive.row || active?.column !== prevActive.column;
80
- const exitedEditMode = mode !== "edit";
80
+ const exitedEditMode = mode !== 'edit';
81
81
 
82
82
  if (coordsChanged || exitedEditMode) {
83
83
  const initialCell = initialCellRef.current;
@@ -107,14 +107,14 @@ const ActiveCell: React.FC<Props> = (props) => {
107
107
  <div
108
108
  ref={rootRef}
109
109
  className={classnames(
110
- "Spreadsheet__active-cell",
110
+ 'Spreadsheet__active-cell',
111
111
  `Spreadsheet__active-cell--${mode}`
112
112
  )}
113
113
  style={dimensions}
114
- onClick={mode === "view" && !readOnly ? edit : undefined}
114
+ onClick={mode === 'view' && !readOnly ? edit : undefined}
115
115
  tabIndex={0}
116
116
  >
117
- {mode === "edit" && active && (
117
+ {mode === 'edit' && active && (
118
118
  <DataEditor
119
119
  row={active.row}
120
120
  column={active.column}
@@ -51,7 +51,7 @@ export const Cell: React.FC<Types.CellComponentProps> = ({
51
51
 
52
52
  const handleMouseOver = React.useCallback(
53
53
  (event: React.MouseEvent<HTMLTableCellElement>) => {
54
- if (dragging && first && !isDotDragging) {
54
+ if (dragging && first && !isDotDragging) {
55
55
  setCellDimensions(point, getOffsetRect(event.currentTarget));
56
56
  select(point);
57
57
  }
@@ -102,10 +102,11 @@ export const Cell: React.FC<Types.CellComponentProps> = ({
102
102
  return (
103
103
  <td
104
104
  ref={rootRef}
105
+ // style={data?.style}
105
106
  className={classnames('Spreadsheet__cell', data?.className, {
106
107
  'Spreadsheet__active-cell': active || dragging,
107
108
  })}
108
- onMouseEnter={handleMouseOver} // Handle drag when mouse enters
109
+ onMouseEnter={handleMouseOver}
109
110
  onMouseDown={handleMouseDown}
110
111
  tabIndex={0}
111
112
  >
@@ -130,15 +131,15 @@ export const enhance = (
130
131
  ): React.FC<
131
132
  Omit<
132
133
  Types.CellComponentProps,
133
- | "selected"
134
- | "active"
135
- | "copied"
136
- | "dragging"
137
- | "mode"
138
- | "data"
139
- | "select"
140
- | "activate"
141
- | "setCellDimensions"
134
+ | 'selected'
135
+ | 'active'
136
+ | 'copied'
137
+ | 'dragging'
138
+ | 'mode'
139
+ | 'data'
140
+ | 'select'
141
+ | 'activate'
142
+ | 'setCellDimensions'
142
143
  >
143
144
  > => {
144
145
  return function CellWrapper(props) {
@@ -169,7 +170,7 @@ export const enhance = (
169
170
  [dispatch]
170
171
  );
171
172
  const active = useSelector((state) => isActive(state.active, point));
172
- const mode = useSelector((state) => (active ? state.mode : "view"));
173
+ const mode = useSelector((state) => (active ? state.mode : 'view'));
173
174
  const data = useSelector((state) => Matrix.get(point, state.model.data));
174
175
  const evaluatedData = useSelector((state) =>
175
176
  Matrix.get(point, state.model.evaluatedData)
@@ -1,10 +1,10 @@
1
- import * as React from "react";
2
- import classNames from "classnames";
3
- import * as Types from "./types";
4
- import * as Point from "./point";
5
- import * as Actions from "./actions";
6
- import useDispatch from "./use-dispatch";
7
- import useSelector from "./use-selector";
1
+ import * as React from 'react';
2
+ import classNames from 'classnames';
3
+ import * as Types from './types';
4
+ import * as Point from './point';
5
+ import * as Actions from './actions';
6
+ import useDispatch from './use-dispatch';
7
+ import useSelector from './use-selector';
8
8
 
9
9
  const ColumnIndicator: Types.ColumnIndicatorComponent = ({
10
10
  column,
@@ -14,7 +14,7 @@ const ColumnIndicator: Types.ColumnIndicatorComponent = ({
14
14
  }) => {
15
15
  const dispatch = useDispatch();
16
16
  const [width, setWidth] = React.useState(100);
17
-
17
+
18
18
  // Function to handle the start of the resize (mouse down)
19
19
  const onMouseDown = (e: React.MouseEvent) => {
20
20
  const startX = e.clientX;
@@ -23,26 +23,33 @@ const ColumnIndicator: Types.ColumnIndicatorComponent = ({
23
23
  const onMouseMove = (moveEvent: MouseEvent) => {
24
24
  const newWidth = width + (moveEvent.clientX - startX);
25
25
  setWidth(newWidth);
26
-
27
- // const selectedAllRow = document.querySelector(".Spreadsheet__floating-rect--selected");
28
- // const selectedSingleRow = document.querySelector(".Spreadsheet__active-cell");
29
26
 
30
- // // If the element exists, update its height
31
- // if (selectedAllRow instanceof HTMLElement&&selectedSingleRow instanceof HTMLElement) {
32
- // selectedAllRow.style.width = `${newWidth}px`; // Set the width
33
- // selectedSingleRow.style.width = `${newWidth}px`; // Set the width
34
- // }
27
+ const selectedAllRow = document.querySelector(
28
+ '.Spreadsheet__floating-rect--selected'
29
+ );
30
+ const selectedSingleRow = document.querySelector(
31
+ '.Spreadsheet__active-cell'
32
+ );
33
+
34
+ // If the element exists, update its height
35
+ if (
36
+ selectedAllRow instanceof HTMLElement &&
37
+ selectedSingleRow instanceof HTMLElement
38
+ ) {
39
+ selectedAllRow.style.width = `${newWidth}px`;
40
+ selectedSingleRow.style.width = `${newWidth}px`;
41
+ }
35
42
  };
36
43
 
37
44
  // Function to stop the resizing (mouse up)
38
45
  const onMouseUp = () => {
39
- document.removeEventListener("mousemove", onMouseMove);
40
- document.removeEventListener("mouseup", onMouseUp);
46
+ document.removeEventListener('mousemove', onMouseMove);
47
+ document.removeEventListener('mouseup', onMouseUp);
41
48
  };
42
49
 
43
50
  // Add event listeners for mouse move and mouse up
44
- document.addEventListener("mousemove", onMouseMove);
45
- document.addEventListener("mouseup", onMouseUp);
51
+ document.addEventListener('mousemove', onMouseMove);
52
+ document.addEventListener('mouseup', onMouseUp);
46
53
  };
47
54
 
48
55
  const activate = React.useCallback(
@@ -58,12 +65,11 @@ const ColumnIndicator: Types.ColumnIndicatorComponent = ({
58
65
  [onSelect, column]
59
66
  );
60
67
 
61
-
62
68
  return (
63
69
  <th
64
- style={{ minWidth: `${width}px`, position: "relative" }} // Use dynamic width
65
- className={classNames("Spreadsheet__header", {
66
- "Spreadsheet__header--selected": selected,
70
+ style={{ minWidth: `${width}px`, position: 'relative' }} // Use dynamic width
71
+ className={classNames('Spreadsheet__header', {
72
+ 'Spreadsheet__header--selected': selected,
67
73
  })}
68
74
  onClick={handleClick}
69
75
  tabIndex={0}
@@ -71,15 +77,17 @@ const ColumnIndicator: Types.ColumnIndicatorComponent = ({
71
77
  {label !== undefined ? label : columnIndexToLabel(column)}
72
78
  <div
73
79
  onMouseDown={onMouseDown}
74
- onClick={()=>{activate}}
80
+ onClick={() => {
81
+ activate;
82
+ }}
75
83
  style={{
76
- zIndex: "inherit",
77
- width: "2px",
78
- position: "absolute",
84
+ zIndex: 'inherit',
85
+ width: '2px',
86
+ position: 'absolute',
79
87
  right: 0,
80
88
  top: 0,
81
- height: "100%",
82
- cursor: "ew-resize",
89
+ height: '100%',
90
+ cursor: 'ew-resize',
83
91
  }}
84
92
  />
85
93
  </th>
@@ -90,7 +98,7 @@ export default ColumnIndicator;
90
98
 
91
99
  export const enhance = (
92
100
  ColumnIndicatorComponent: Types.ColumnIndicatorComponent
93
- ): React.FC<Omit<Types.ColumnIndicatorProps, "selected" | "onSelect">> => {
101
+ ): React.FC<Omit<Types.ColumnIndicatorProps, 'selected' | 'onSelect'>> => {
94
102
  return function ColumnIndicatorWrapper(props) {
95
103
  const dispatch = useDispatch();
96
104
  const selectEntireColumn = React.useCallback(
@@ -113,7 +121,7 @@ export const enhance = (
113
121
 
114
122
  // Utility function to convert column index to label (e.g., 0 -> A, 1 -> B, etc.)
115
123
  function columnIndexToLabel(column: number): string {
116
- let label = "";
124
+ let label = '';
117
125
  let index = column;
118
126
  while (index >= 0) {
119
127
  label = String.fromCharCode(65 + (index % 26)) + label;
@@ -1,7 +1,7 @@
1
- import * as React from "react";
2
- import FloatingRect from "./FloatingRect";
3
- import { getRangeDimensions } from "./util";
4
- import useSelector from "./use-selector";
1
+ import * as React from 'react';
2
+ import FloatingRect from './FloatingRect';
3
+ import { getRangeDimensions } from './util';
4
+ import useSelector from './use-selector';
5
5
 
6
6
  const Copied: React.FC = () => {
7
7
  const range = useSelector((state) => state.copied);
@@ -1,10 +1,10 @@
1
- import * as React from "react";
2
- import classNames from "classnames";
3
- import * as Actions from "./actions";
4
- import { EntireWorksheetSelection } from "./selection";
5
- import * as Types from "./types";
6
- import useDispatch from "./use-dispatch";
7
- import useSelector from "./use-selector";
1
+ import * as React from 'react';
2
+ import classNames from 'classnames';
3
+ import * as Actions from './actions';
4
+ import { EntireWorksheetSelection } from './selection';
5
+ import * as Types from './types';
6
+ import useDispatch from './use-dispatch';
7
+ import useSelector from './use-selector';
8
8
 
9
9
  const CornerIndicator: Types.CornerIndicatorComponent = ({
10
10
  selected,
@@ -15,8 +15,8 @@ const CornerIndicator: Types.CornerIndicatorComponent = ({
15
15
  }, [onSelect]);
16
16
  return (
17
17
  <th
18
- className={classNames("Spreadsheet__header", {
19
- "Spreadsheet__header--selected": selected,
18
+ className={classNames('Spreadsheet__header', {
19
+ 'Spreadsheet__header--selected': selected,
20
20
  })}
21
21
  onClick={handleClick}
22
22
  tabIndex={0}
@@ -28,7 +28,7 @@ export default CornerIndicator;
28
28
 
29
29
  export const enhance = (
30
30
  CornerIndicatorComponent: Types.CornerIndicatorComponent
31
- ): React.FC<Omit<Types.CornerIndicatorProps, "selected" | "onSelect">> => {
31
+ ): React.FC<Omit<Types.CornerIndicatorProps, 'selected' | 'onSelect'>> => {
32
32
  return function CornerIndicatorWrapper(props) {
33
33
  const dispatch = useDispatch();
34
34
  const selectEntireWorksheet = React.useCallback(
@@ -1,6 +1,6 @@
1
- import * as React from "react";
2
- import * as Types from "./types";
3
- import { moveCursorToEnd } from "./util";
1
+ import * as React from 'react';
2
+ import * as Types from './types';
3
+ import { moveCursorToEnd } from './util';
4
4
 
5
5
  /** The default Spreadsheet DataEditor component */
6
6
  const DataEditor: React.FC<Types.DataEditorProps> = ({ onChange, cell }) => {
@@ -8,7 +8,7 @@ const DataEditor: React.FC<Types.DataEditorProps> = ({ onChange, cell }) => {
8
8
 
9
9
  const handleChange = React.useCallback(
10
10
  (event: React.ChangeEvent<HTMLInputElement>) => {
11
- onChange({ ...cell, value: event.target.value,style:cell?.style});
11
+ onChange({ ...cell, value: event.target.value, style: cell?.style });
12
12
  },
13
13
  [onChange, cell]
14
14
  );
@@ -19,7 +19,7 @@ const DataEditor: React.FC<Types.DataEditorProps> = ({ onChange, cell }) => {
19
19
  }
20
20
  }, [inputRef]);
21
21
 
22
- const value = cell?.value ?? "";
22
+ const value = cell?.value ?? '';
23
23
 
24
24
  return (
25
25
  <div className="Spreadsheet__data-editor">
@@ -1,10 +1,10 @@
1
- import * as React from "react";
2
- import classNames from "classnames";
3
- import * as Types from "./types";
4
- import { hasLineBreaker } from "./util";
1
+ import * as React from 'react';
2
+ import classNames from 'classnames';
3
+ import * as Types from './types';
4
+ import { hasLineBreaker } from './util';
5
5
 
6
- export const TRUE_TEXT = "TRUE";
7
- export const FALSE_TEXT = "FALSE";
6
+ export const TRUE_TEXT = 'TRUE';
7
+ export const FALSE_TEXT = 'FALSE';
8
8
 
9
9
  /** The default Spreadsheet DataViewer component */
10
10
  const DataViewer = <Cell extends Types.CellBase<Value>, Value>({
@@ -13,14 +13,14 @@ const DataViewer = <Cell extends Types.CellBase<Value>, Value>({
13
13
  }: Types.DataViewerProps<Cell>): React.ReactElement => {
14
14
  const value = getValue(cell, evaluatedCell);
15
15
 
16
- return typeof value === "boolean" ? (
16
+ return typeof value === 'boolean' ? (
17
17
  <span className="Spreadsheet__data-viewer Spreadsheet__data-viewer--boolean">
18
18
  {convertBooleanToText(value)}
19
19
  </span>
20
20
  ) : (
21
21
  <span
22
- className={classNames("Spreadsheet__data-viewer", {
23
- "Spreadsheet__data-viewer--preserve-breaks": hasLineBreaker(value),
22
+ className={classNames('Spreadsheet__data-viewer', {
23
+ 'Spreadsheet__data-viewer--preserve-breaks': hasLineBreaker(value),
24
24
  })}
25
25
  >
26
26
  {value}
@@ -35,7 +35,7 @@ function getValue(
35
35
  evaluatedCell: Types.CellBase | undefined
36
36
  ) {
37
37
  const baseValue = evaluatedCell?.value ?? cell?.value;
38
- if (baseValue && typeof baseValue === "object") {
38
+ if (baseValue && typeof baseValue === 'object') {
39
39
  return baseValue.toString();
40
40
  }
41
41
  return baseValue;
@@ -1,6 +1,6 @@
1
- import * as React from "react";
2
- import classnames from "classnames";
3
- import * as Types from "./types";
1
+ import * as React from 'react';
2
+ import classnames from 'classnames';
3
+ import * as Types from './types';
4
4
 
5
5
  export type Props = {
6
6
  variant?: string;
@@ -18,10 +18,10 @@ const FloatingRect: React.FC<Props> = ({
18
18
  const { width, height, top, left } = dimensions || {};
19
19
  return (
20
20
  <div
21
- className={classnames("Spreadsheet__floating-rect", {
21
+ className={classnames('Spreadsheet__floating-rect', {
22
22
  [`Spreadsheet__floating-rect--${variant}`]: variant,
23
- "Spreadsheet__floating-rect--dragging": dragging,
24
- "Spreadsheet__floating-rect--hidden": hidden,
23
+ 'Spreadsheet__floating-rect--dragging': dragging,
24
+ 'Spreadsheet__floating-rect--hidden': hidden,
25
25
  })}
26
26
  style={{ width, height, top, left }}
27
27
  />
@@ -1,4 +1,4 @@
1
- import * as Types from "./types";
1
+ import * as Types from './types';
2
2
 
3
3
  const HeaderRow: Types.HeaderRowComponent = (props) => <tr {...props} />;
4
4
 
@@ -1,4 +1,4 @@
1
- import * as Types from "./types";
1
+ import * as Types from './types';
2
2
 
3
3
  const Row: Types.RowComponent = (props) => <tr {...props} />;
4
4
 
@@ -1,9 +1,9 @@
1
- import * as React from "react";
2
- import classNames from "classnames";
3
- import * as Actions from "./actions";
4
- import * as Types from "./types";
5
- import useDispatch from "./use-dispatch";
6
- import useSelector from "./use-selector";
1
+ import * as React from 'react';
2
+ import classNames from 'classnames';
3
+ import * as Actions from './actions';
4
+ import * as Types from './types';
5
+ import useDispatch from './use-dispatch';
6
+ import useSelector from './use-selector';
7
7
 
8
8
  const RowIndicator: Types.RowIndicatorComponent = ({
9
9
  row,
@@ -12,7 +12,7 @@ const RowIndicator: Types.RowIndicatorComponent = ({
12
12
  onSelect,
13
13
  }) => {
14
14
  const [height, setHeight] = React.useState(0);
15
-
15
+
16
16
  // Function to handle the start of the resize (mouse down)
17
17
  const onMouseDown = (e: React.MouseEvent) => {
18
18
  const startY = e.clientY;
@@ -22,25 +22,32 @@ const RowIndicator: Types.RowIndicatorComponent = ({
22
22
  const newHeight = height + (moveEvent.clientY - startY);
23
23
  setHeight(newHeight);
24
24
  // Fetch the floating rectangle element from the DOM
25
- // const selectedAllRow = document.querySelector(".Spreadsheet__floating-rect--selected");
26
- // const selectedSingleRow = document.querySelector(".Spreadsheet__active-cell");
25
+ const selectedAllRow = document.querySelector(
26
+ '.Spreadsheet__floating-rect--selected'
27
+ );
28
+ const selectedSingleRow = document.querySelector(
29
+ '.Spreadsheet__active-cell'
30
+ );
27
31
 
28
- // // If the element exists, update its height
29
- // if (selectedAllRow instanceof HTMLElement&&selectedSingleRow instanceof HTMLElement) {
30
- // selectedAllRow.style.height = `${newHeight}px`; // Set the height
31
- // selectedSingleRow.style.height = `${newHeight}px`; // Set the height
32
- // }
32
+ // If the element exists, update its height
33
+ if (
34
+ selectedAllRow instanceof HTMLElement &&
35
+ selectedSingleRow instanceof HTMLElement
36
+ ) {
37
+ selectedAllRow.style.height = `${newHeight}px`;
38
+ selectedSingleRow.style.height = `${newHeight}px`;
39
+ }
33
40
  };
34
41
 
35
42
  // Function to stop the resizing (mouse up)
36
43
  const onMouseUp = () => {
37
- document.removeEventListener("mousemove", onMouseMove);
38
- document.removeEventListener("mouseup", onMouseUp);
44
+ document.removeEventListener('mousemove', onMouseMove);
45
+ document.removeEventListener('mouseup', onMouseUp);
39
46
  };
40
47
 
41
48
  // Add event listeners for mouse move and mouse up
42
- document.addEventListener("mousemove", onMouseMove);
43
- document.addEventListener("mouseup", onMouseUp);
49
+ document.addEventListener('mousemove', onMouseMove);
50
+ document.addEventListener('mouseup', onMouseUp);
44
51
  };
45
52
 
46
53
  const handleClick = React.useCallback(
@@ -52,9 +59,9 @@ const RowIndicator: Types.RowIndicatorComponent = ({
52
59
 
53
60
  return (
54
61
  <th
55
- style={{ height: `${height}px`,minWidth:'60px', position: "relative" }}
56
- className={classNames("Spreadsheet__header", {
57
- "Spreadsheet__header--selected": selected,
62
+ style={{ height: `${height}px`, minWidth: '60px', position: 'relative' }}
63
+ className={classNames('Spreadsheet__header', {
64
+ 'Spreadsheet__header--selected': selected,
58
65
  })}
59
66
  onClick={handleClick}
60
67
  tabIndex={0}
@@ -63,13 +70,13 @@ const RowIndicator: Types.RowIndicatorComponent = ({
63
70
  <div
64
71
  onMouseDown={onMouseDown}
65
72
  style={{
66
- zIndex: "inherit",
67
- height: "2px",
68
- position: "absolute",
73
+ zIndex: 'inherit',
74
+ height: '2px',
75
+ position: 'absolute',
69
76
  right: 0,
70
77
  bottom: 0,
71
- width: "100%",
72
- cursor: "ns-resize",
78
+ width: '100%',
79
+ cursor: 'ns-resize',
73
80
  }}
74
81
  />
75
82
  </th>
@@ -80,7 +87,7 @@ export default RowIndicator;
80
87
 
81
88
  export const enhance = (
82
89
  RowIndicatorComponent: Types.RowIndicatorComponent
83
- ): React.FC<Omit<Types.RowIndicatorProps, "selected" | "onSelect">> => {
90
+ ): React.FC<Omit<Types.RowIndicatorProps, 'selected' | 'onSelect'>> => {
84
91
  return function RowIndicatorWrapper(props) {
85
92
  const dispatch = useDispatch();
86
93
  const selected = useSelector((state) =>
@@ -1,10 +1,10 @@
1
- import * as React from "react";
2
- import { getSelectedDimensions } from "./util";
3
- import FloatingRect from "./FloatingRect";
4
- import useSelector from "./use-selector";
1
+ import * as React from 'react';
2
+ import { getSelectedDimensions } from './util';
3
+ import FloatingRect from './FloatingRect';
4
+ import useSelector from './use-selector';
5
5
 
6
6
  const Selected: React.FC = () => {
7
- const selected = useSelector((state) => state.selected);
7
+ const selected = useSelector((state) => state.selected);
8
8
  const dimensions = useSelector(
9
9
  (state) =>
10
10
  selected &&