@zhenliang/sheet 0.1.22 → 0.1.24

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 (200) hide show
  1. package/dist/core/config.d.ts +13 -0
  2. package/dist/core/config.d.ts.map +1 -0
  3. package/dist/core/config.js +13 -0
  4. package/dist/core/editor/cascaderEditor/index.d.ts +5 -0
  5. package/dist/core/editor/cascaderEditor/index.d.ts.map +1 -0
  6. package/dist/core/editor/cascaderEditor/index.js +53 -0
  7. package/dist/core/editor/cascaderEditor/index.less +32 -0
  8. package/dist/core/editor/dateEditor/index.d.ts +5 -0
  9. package/dist/core/editor/dateEditor/index.d.ts.map +1 -0
  10. package/dist/core/editor/dateEditor/index.js +56 -0
  11. package/dist/core/editor/dateEditor/index.less +18 -0
  12. package/dist/core/editor/index.d.ts +4 -0
  13. package/dist/core/editor/index.d.ts.map +1 -0
  14. package/dist/core/editor/index.js +4 -0
  15. package/dist/core/editor/numberEditor/index.d.ts +8 -0
  16. package/dist/core/editor/numberEditor/index.d.ts.map +1 -0
  17. package/dist/core/editor/numberEditor/index.js +107 -0
  18. package/dist/core/editor/numberEditor/index.less +30 -0
  19. package/dist/core/editor/selectEditor/index.d.ts +6 -0
  20. package/dist/core/editor/selectEditor/index.d.ts.map +1 -0
  21. package/dist/core/editor/selectEditor/index.js +96 -0
  22. package/dist/core/editor/selectEditor/index.less +48 -0
  23. package/dist/core/reducers/index.d.ts +9 -0
  24. package/dist/core/reducers/index.d.ts.map +1 -0
  25. package/dist/core/reducers/index.js +38 -0
  26. package/dist/core/reducers/keyboardReducer.d.ts +2 -0
  27. package/dist/core/reducers/keyboardReducer.d.ts.map +1 -0
  28. package/dist/core/reducers/keyboardReducer.js +93 -0
  29. package/dist/core/reducers/mouseReducer.d.ts +2 -0
  30. package/dist/core/reducers/mouseReducer.d.ts.map +1 -0
  31. package/dist/core/reducers/mouseReducer.js +164 -0
  32. package/dist/core/reducers/sideEffectReducer.d.ts +4 -0
  33. package/dist/core/reducers/sideEffectReducer.d.ts.map +1 -0
  34. package/dist/core/reducers/sideEffectReducer.js +378 -0
  35. package/dist/core/reducers/stateReducer.d.ts +2 -0
  36. package/dist/core/reducers/stateReducer.d.ts.map +1 -0
  37. package/dist/core/reducers/stateReducer.js +174 -0
  38. package/dist/core/sheet/Cell.d.ts +4 -0
  39. package/dist/core/sheet/Cell.d.ts.map +1 -0
  40. package/dist/core/sheet/Cell.js +181 -0
  41. package/dist/core/sheet/DataEditor.d.ts +3 -0
  42. package/dist/core/sheet/DataEditor.d.ts.map +1 -0
  43. package/dist/core/sheet/DataEditor.js +24 -0
  44. package/dist/core/sheet/DefaultCell.d.ts +12 -0
  45. package/dist/core/sheet/DefaultCell.d.ts.map +1 -0
  46. package/dist/core/sheet/DefaultCell.js +31 -0
  47. package/dist/core/sheet/DefaultRow.d.ts +12 -0
  48. package/dist/core/sheet/DefaultRow.d.ts.map +1 -0
  49. package/dist/core/sheet/DefaultRow.js +28 -0
  50. package/dist/core/sheet/DefaultRowMapper.d.ts +8 -0
  51. package/dist/core/sheet/DefaultRowMapper.d.ts.map +1 -0
  52. package/dist/core/sheet/DefaultRowMapper.js +18 -0
  53. package/dist/core/sheet/DefaultShell.d.ts +8 -0
  54. package/dist/core/sheet/DefaultShell.d.ts.map +1 -0
  55. package/dist/core/sheet/DefaultShell.js +12 -0
  56. package/dist/core/sheet/Event.d.ts +5 -0
  57. package/dist/core/sheet/Event.d.ts.map +1 -0
  58. package/dist/core/sheet/Event.js +17 -0
  59. package/dist/core/sheet/ValueViewer.d.ts +3 -0
  60. package/dist/core/sheet/ValueViewer.d.ts.map +1 -0
  61. package/dist/core/sheet/ValueViewer.js +9 -0
  62. package/dist/core/sheet/index.d.ts +5 -0
  63. package/dist/core/sheet/index.d.ts.map +1 -0
  64. package/dist/core/sheet/index.js +262 -0
  65. package/dist/core/sheet/index.less +307 -0
  66. package/dist/core/sheet/useCellEvent.d.ts +3 -0
  67. package/dist/core/sheet/useCellEvent.d.ts.map +1 -0
  68. package/dist/core/sheet/useCellEvent.js +22 -0
  69. package/dist/core/sheet/useContextMenu.d.ts +21 -0
  70. package/dist/core/sheet/useContextMenu.d.ts.map +1 -0
  71. package/dist/core/sheet/useContextMenu.js +86 -0
  72. package/dist/core/sheet/useKeyBoardEvent.d.ts +3 -0
  73. package/dist/core/sheet/useKeyBoardEvent.d.ts.map +1 -0
  74. package/dist/core/sheet/useKeyBoardEvent.js +66 -0
  75. package/dist/core/sheet/useMouseEvent.d.ts +3 -0
  76. package/dist/core/sheet/useMouseEvent.d.ts.map +1 -0
  77. package/dist/core/sheet/useMouseEvent.js +298 -0
  78. package/dist/core/sheet/useSelectVisible.d.ts +2 -0
  79. package/dist/core/sheet/useSelectVisible.d.ts.map +1 -0
  80. package/dist/core/sheet/useSelectVisible.js +57 -0
  81. package/dist/core/sheet/useVirtualList.d.ts +7 -0
  82. package/dist/core/sheet/useVirtualList.d.ts.map +1 -0
  83. package/dist/core/sheet/useVirtualList.js +103 -0
  84. package/dist/core/sheet/var.less +41 -0
  85. package/dist/core/shell/draggableShell/index.d.ts +6 -0
  86. package/dist/core/shell/draggableShell/index.d.ts.map +1 -0
  87. package/dist/core/shell/draggableShell/index.js +197 -0
  88. package/dist/core/shell/draggableShell/index.less +16 -0
  89. package/dist/core/shell/tableShell.d.ts +6 -0
  90. package/dist/core/shell/tableShell.d.ts.map +1 -0
  91. package/dist/core/shell/tableShell.js +109 -0
  92. package/dist/core/table/events.d.ts +15 -0
  93. package/dist/core/table/events.d.ts.map +1 -0
  94. package/dist/core/table/events.js +95 -0
  95. package/dist/core/table/index.d.ts +4 -0
  96. package/dist/core/table/index.d.ts.map +1 -0
  97. package/dist/core/table/index.js +313 -0
  98. package/dist/core/table/useGroupConfig.d.ts +2 -0
  99. package/dist/core/table/useGroupConfig.d.ts.map +1 -0
  100. package/dist/core/table/useGroupConfig.js +65 -0
  101. package/dist/core/table/useRowSelection.d.ts +2 -0
  102. package/dist/core/table/useRowSelection.d.ts.map +1 -0
  103. package/dist/core/table/useRowSelection.js +24 -0
  104. package/dist/core/table/util.d.ts +8 -0
  105. package/dist/core/table/util.d.ts.map +1 -0
  106. package/dist/core/table/util.js +29 -0
  107. package/dist/core/util.d.ts +58 -0
  108. package/dist/core/util.d.ts.map +1 -0
  109. package/dist/core/util.js +457 -0
  110. package/dist/core/viewer/btnViewer/index.d.ts +2 -0
  111. package/dist/core/viewer/btnViewer/index.d.ts.map +1 -0
  112. package/dist/core/viewer/btnViewer/index.js +37 -0
  113. package/dist/core/viewer/cascaderViewer/index.d.ts +2 -0
  114. package/dist/core/viewer/cascaderViewer/index.d.ts.map +1 -0
  115. package/dist/core/viewer/cascaderViewer/index.js +16 -0
  116. package/dist/core/viewer/checkViewer/index.d.ts +2 -0
  117. package/dist/core/viewer/checkViewer/index.d.ts.map +1 -0
  118. package/dist/core/viewer/checkViewer/index.js +23 -0
  119. package/dist/core/viewer/editViewer/index.d.ts +2 -0
  120. package/dist/core/viewer/editViewer/index.d.ts.map +1 -0
  121. package/dist/core/viewer/editViewer/index.js +32 -0
  122. package/dist/core/viewer/groupViewer/index.d.ts +2 -0
  123. package/dist/core/viewer/groupViewer/index.d.ts.map +1 -0
  124. package/dist/core/viewer/groupViewer/index.js +38 -0
  125. package/dist/core/viewer/index.d.ts +7 -0
  126. package/dist/core/viewer/index.d.ts.map +1 -0
  127. package/dist/core/viewer/index.js +7 -0
  128. package/dist/core/viewer/selectorViewer/index.d.ts +2 -0
  129. package/dist/core/viewer/selectorViewer/index.d.ts.map +1 -0
  130. package/dist/core/viewer/selectorViewer/index.js +16 -0
  131. package/dist/core/viewer/switchViewer/index.d.ts +2 -0
  132. package/dist/core/viewer/switchViewer/index.d.ts.map +1 -0
  133. package/dist/core/viewer/switchViewer/index.js +22 -0
  134. package/dist/example/antComponent.d.ts +3 -0
  135. package/dist/example/antComponent.d.ts.map +1 -0
  136. package/dist/example/antComponent.js +313 -0
  137. package/dist/example/basic.d.ts +4 -0
  138. package/dist/example/basic.d.ts.map +1 -0
  139. package/dist/example/basic.js +121 -0
  140. package/dist/example/ellipsis.d.ts +3 -0
  141. package/dist/example/ellipsis.d.ts.map +1 -0
  142. package/dist/example/ellipsis.js +64 -0
  143. package/dist/example/fixed.d.ts +3 -0
  144. package/dist/example/fixed.d.ts.map +1 -0
  145. package/dist/example/fixed.js +89 -0
  146. package/dist/example/group.d.ts +3 -0
  147. package/dist/example/group.d.ts.map +1 -0
  148. package/dist/example/group.js +123 -0
  149. package/dist/example/index.less +5 -0
  150. package/dist/example/selection.d.ts +4 -0
  151. package/dist/example/selection.d.ts.map +1 -0
  152. package/dist/example/selection.js +86 -0
  153. package/dist/example/sheet.d.ts +4 -0
  154. package/dist/example/sheet.d.ts.map +1 -0
  155. package/dist/example/sheet.js +397 -0
  156. package/dist/example/valuationAnalyze.d.ts +3 -0
  157. package/dist/example/valuationAnalyze.d.ts.map +1 -0
  158. package/dist/example/valuationAnalyze.js +227 -0
  159. package/dist/hooks/index.d.ts +8 -0
  160. package/dist/hooks/index.d.ts.map +1 -0
  161. package/dist/hooks/index.js +7 -0
  162. package/dist/hooks/useEventBus.d.ts +4 -0
  163. package/dist/hooks/useEventBus.d.ts.map +1 -0
  164. package/dist/hooks/useEventBus.js +17 -0
  165. package/dist/hooks/useKeyboard.d.ts +18 -0
  166. package/dist/hooks/useKeyboard.d.ts.map +1 -0
  167. package/dist/hooks/useKeyboard.js +108 -0
  168. package/dist/hooks/useMiddlewareReducer.d.ts +12 -0
  169. package/dist/hooks/useMiddlewareReducer.d.ts.map +1 -0
  170. package/dist/hooks/useMiddlewareReducer.js +47 -0
  171. package/dist/hooks/useMouse.d.ts +11 -0
  172. package/dist/hooks/useMouse.d.ts.map +1 -0
  173. package/dist/hooks/useMouse.js +68 -0
  174. package/dist/hooks/useSetState.d.ts +2 -0
  175. package/dist/hooks/useSetState.d.ts.map +1 -0
  176. package/dist/hooks/useSetState.js +27 -0
  177. package/dist/hooks/useSheetEvent.d.ts +5 -0
  178. package/dist/hooks/useSheetEvent.d.ts.map +1 -0
  179. package/dist/hooks/useSheetEvent.js +5 -0
  180. package/dist/hooks/useWidthConfig.d.ts +4 -0
  181. package/dist/hooks/useWidthConfig.d.ts.map +1 -0
  182. package/dist/hooks/useWidthConfig.js +5 -0
  183. package/dist/index.d.ts +8 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +8 -0
  186. package/dist/standardUtils/index.d.ts +9 -0
  187. package/dist/standardUtils/index.d.ts.map +1 -0
  188. package/dist/standardUtils/index.js +32 -0
  189. package/dist/type/index.d.ts +2 -0
  190. package/dist/type/index.d.ts.map +1 -0
  191. package/dist/type/index.js +4 -0
  192. package/dist/type/sheet.d.ts +205 -0
  193. package/dist/type/sheet.d.ts.map +1 -0
  194. package/dist/type/sheet.js +9 -0
  195. package/dist/type/sheetTable.d.ts +89 -0
  196. package/dist/type/sheetTable.d.ts.map +1 -0
  197. package/dist/type/sheetTable.js +1 -0
  198. package/dist/typings/index.d.ts +1 -0
  199. package/package.json +1 -1
  200. package/changes.md +0 -45
@@ -0,0 +1,13 @@
1
+ export declare const TAB_KEY = 9;
2
+ export declare const ENTER_KEY = 13;
3
+ export declare const ESCAPE_KEY = 27;
4
+ export declare const LEFT_KEY = 37;
5
+ export declare const UP_KEY = 38;
6
+ export declare const RIGHT_KEY = 39;
7
+ export declare const DOWN_KEY = 40;
8
+ export declare const DELETE_KEY = 46;
9
+ export declare const BACKSPACE_KEY = 8;
10
+ export declare const Z_KEY = 90;
11
+ export declare const C_KEY = 67;
12
+ export declare const V_KEY = 86;
13
+ export declare const X_KEY = 88;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB,eAAO,MAAM,KAAK,KAAK,CAAC"}
@@ -0,0 +1,13 @@
1
+ export var TAB_KEY = 9;
2
+ export var ENTER_KEY = 13;
3
+ export var ESCAPE_KEY = 27;
4
+ export var LEFT_KEY = 37;
5
+ export var UP_KEY = 38;
6
+ export var RIGHT_KEY = 39;
7
+ export var DOWN_KEY = 40;
8
+ export var DELETE_KEY = 46;
9
+ export var BACKSPACE_KEY = 8;
10
+ export var Z_KEY = 90;
11
+ export var C_KEY = 67;
12
+ export var V_KEY = 86;
13
+ export var X_KEY = 88;
@@ -0,0 +1,5 @@
1
+ import type { SheetType } from "../../../type";
2
+ import 'antd/es/cascader/style/index.css';
3
+ import './index.less';
4
+ declare const getCascaderEditor: (options: SheetType.OptionsType[], getCustomOptions?: ((props: SheetType.CellEditorProps) => SheetType.OptionsType[]) | undefined) => SheetType.CellEditor;
5
+ export default getCascaderEditor;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAA8B;AAEvD,OAAO,kCAAkC,CAAC;AAO1C,OAAO,cAAc,CAAC;AAEtB,QAAA,MAAM,iBAAiB,YACZ,UAAU,WAAW,EAAE,8BAEvB,UAAU,eAAe,KAC7B,UAAU,WAAW,EAAE,sCAiD7B,CAAC;AACF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { Cascader } from 'antd';
2
+ import 'antd/es/cascader/style/index.css';
3
+ import { isNil } from 'lodash';
4
+ import { useMemo } from 'react';
5
+ import { optionsToValuesFromLabelOrValue, valuesTransferToLabel } from "../../util";
6
+ import "./index.less";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ var getCascaderEditor = function getCascaderEditor(options, getCustomOptions) {
9
+ var CascaderEditor = function CascaderEditor(props) {
10
+ var value = props.value,
11
+ onConfirm = props.onConfirm;
12
+ var val = useMemo(function () {
13
+ var res = optionsToValuesFromLabelOrValue(options, value);
14
+ return res;
15
+ }, [value, options]);
16
+ var handleChange = function handleChange(opt) {
17
+ onConfirm(opt ? opt[opt.length - 1] : null);
18
+ };
19
+ var customOptions = getCustomOptions ? getCustomOptions(props) : options;
20
+ return /*#__PURE__*/_jsx(Cascader, {
21
+ autoFocus: true,
22
+ open: true,
23
+ className: 'cascader-editor',
24
+ onMouseDown: function onMouseDown(event) {
25
+ event.stopPropagation();
26
+ },
27
+ value: val,
28
+ allowClear: true,
29
+ displayRender: function displayRender(label) {
30
+ return label[label.length - 1];
31
+ },
32
+ onChange: handleChange,
33
+ options: customOptions
34
+ });
35
+ };
36
+ CascaderEditor.formatter = function (value) {
37
+ var res = optionsToValuesFromLabelOrValue(options, value);
38
+ return !(res !== null && res !== void 0 && res.length) ? '' : valuesTransferToLabel(options, res[res.length - 1]);
39
+ };
40
+ CascaderEditor.parser = function (value) {
41
+ var res = optionsToValuesFromLabelOrValue(options, value);
42
+ return res.length ? res[res.length - 1] : null;
43
+ };
44
+ CascaderEditor.checker = function (value) {
45
+ if (isNil(value)) {
46
+ return true;
47
+ }
48
+ var res = optionsToValuesFromLabelOrValue(options, value);
49
+ return !!res.length;
50
+ };
51
+ return CascaderEditor;
52
+ };
53
+ export default getCascaderEditor;
@@ -0,0 +1,32 @@
1
+ .cascader-editor{
2
+ width: 100%;
3
+ height: 38px;
4
+ display: block;
5
+
6
+ .ant-select-selector{
7
+ .ant-select-selection-search{
8
+ height: 38px;
9
+ }
10
+
11
+ .ant-select-selection-item{
12
+ height: inherit;
13
+ line-height: 38px;
14
+ font-size: 12px;
15
+ }
16
+
17
+ border: none !important;
18
+ background: transparent !important;
19
+ box-shadow: none !important;
20
+ color: #292c33;
21
+ padding:0 !important;
22
+
23
+ input{
24
+ height: 18px !important;
25
+ }
26
+ }
27
+
28
+ .ant-cascader-menu {
29
+ font-size: 12px;
30
+ }
31
+
32
+ }
@@ -0,0 +1,5 @@
1
+ import { DatePickerProps } from 'antd';
2
+ import 'antd/es/date-picker/style/index.css';
3
+ import type { SheetType } from "../../../type";
4
+ import './index.less';
5
+ export declare const getDateEditor: (dateProps?: Pick<DatePickerProps, 'disabledDate' | 'disabled' | 'allowClear' | 'placeholder'>) => SheetType.CellEditor;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,sBAA8B;AAIvD,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,aAAa,eACZ,KACV,eAAe,EACf,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAC3D,yBA8CF,CAAC"}
@@ -0,0 +1,56 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ import { DatePicker } from 'antd';
8
+ import 'antd/es/date-picker/style/index.css';
9
+ import { isNil } from 'lodash';
10
+ import moment from 'moment';
11
+ import { useEffect, useMemo, useRef } from 'react';
12
+ import "./index.less";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export var getDateEditor = function getDateEditor(dateProps) {
15
+ var DateEditor = function DateEditor(props) {
16
+ var value = props.value,
17
+ onChange = props.onChange,
18
+ onConfirm = props.onConfirm;
19
+ var dateRef = useRef(null);
20
+ useEffect(function () {
21
+ var _dateRef$current;
22
+ dateRef === null || dateRef === void 0 || (_dateRef$current = dateRef.current) === null || _dateRef$current === void 0 || _dateRef$current.focus();
23
+ }, []);
24
+ var val = useMemo(function () {
25
+ return value && moment(value);
26
+ }, [value]);
27
+ var handleChange = function handleChange(value) {
28
+ onChange(value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD'));
29
+ onConfirm(value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD'));
30
+ };
31
+ return /*#__PURE__*/_jsx(DatePicker, _objectSpread({
32
+ open: true,
33
+ ref: dateRef,
34
+ className: "date-editor",
35
+ value: val,
36
+ onMouseDown: function onMouseDown(e) {
37
+ return e.stopPropagation();
38
+ },
39
+ onChange: handleChange
40
+ }, dateProps));
41
+ };
42
+ DateEditor.checker = function (value) {
43
+ if (isNil(value)) {
44
+ return true;
45
+ }
46
+ var reg = /^[1-9]\d{3}(-|\/)(0[1-9]|1[0-2])(-|\/)(0[1-9]|[1-2][0-9]|3[0-1])$/;
47
+ return reg.test(value);
48
+ };
49
+ DateEditor.formatter = function (value) {
50
+ var _DateEditor$checker;
51
+ if (isNil(value)) return value;
52
+ if (!(DateEditor !== null && DateEditor !== void 0 && (_DateEditor$checker = DateEditor.checker) !== null && _DateEditor$checker !== void 0 && _DateEditor$checker.call(DateEditor, value))) return null;
53
+ return value.replace('/', '-').replace('/', '-');
54
+ };
55
+ return DateEditor;
56
+ };
@@ -0,0 +1,18 @@
1
+ .date-editor{
2
+ width:100%;
3
+ border:none !important;
4
+ box-shadow: none !important;
5
+ background: transparent !important;
6
+ padding:4px 0;
7
+ height: 38px;
8
+ display: block;
9
+
10
+ input{
11
+ font-size: var(--cell-font-size);
12
+ }
13
+
14
+ .ant-picker-input{
15
+ height: 30px;
16
+
17
+ }
18
+ }
@@ -0,0 +1,4 @@
1
+ export { default as getCascaderEditor } from './cascaderEditor';
2
+ export { getDateEditor } from './dateEditor';
3
+ export { getNumberEditor, NumberEditor } from './numberEditor';
4
+ export { default as getSelectEditor } from './selectEditor';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { default as getCascaderEditor } from "./cascaderEditor";
2
+ export { getDateEditor } from "./dateEditor";
3
+ export { getNumberEditor, NumberEditor } from "./numberEditor";
4
+ export { default as getSelectEditor } from "./selectEditor";
@@ -0,0 +1,8 @@
1
+ import type { SheetType } from "../../../type";
2
+ import { InputNumberProps } from 'antd';
3
+ import 'antd/es/input-number/style/index.css';
4
+ import './index.less';
5
+ type inputProps = Partial<Pick<InputNumberProps, 'max' | 'min' | 'addonBefore' | 'addonAfter' | 'precision'>>;
6
+ export declare const NumberEditor: SheetType.CellEditor;
7
+ export declare const getNumberEditor: (extraProps?: inputProps, getExtraProps?: ((props: SheetType.CellEditorProps) => inputProps) | undefined) => SheetType.CellEditor;
8
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAA8B;AACvD,OAAO,EAAiC,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACvE,OAAO,sCAAsC,CAAC;AAG9C,OAAO,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG,OAAO,CACvB,IAAI,CACF,gBAAgB,EAChB,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAC3D,CACF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,UAmBpC,CAAC;AAEF,eAAO,MAAM,eAAe,gBACb,UAAU,2BACC,UAAU,eAAe,KAAK,UAAU,sCA8EjE,CAAC"}
@@ -0,0 +1,107 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["precision"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import { formatPrecision } from "../../../standardUtils";
11
+ import { InputNumber as AntInputNumber } from 'antd';
12
+ import 'antd/es/input-number/style/index.css';
13
+ import { isNil } from 'lodash';
14
+ import { useCallback, useEffect, useRef } from 'react';
15
+ import "./index.less";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ export var NumberEditor = function NumberEditor(props) {
18
+ var value = props.value,
19
+ onChange = props.onChange;
20
+ var inputNumberRef = useRef(null);
21
+ useEffect(function () {
22
+ var _inputNumberRef$curre;
23
+ inputNumberRef === null || inputNumberRef === void 0 || (_inputNumberRef$curre = inputNumberRef.current) === null || _inputNumberRef$curre === void 0 || _inputNumberRef$curre.focus();
24
+ }, []);
25
+ return /*#__PURE__*/_jsx(AntInputNumber, {
26
+ ref: inputNumberRef,
27
+ controls: false,
28
+ className: "number-editor",
29
+ onMouseDown: function onMouseDown(e) {
30
+ return e.stopPropagation();
31
+ },
32
+ value: value,
33
+ addonAfter: "%",
34
+ onChange: onChange
35
+ });
36
+ };
37
+ export var getNumberEditor = function getNumberEditor(extraProps, getExtraProps) {
38
+ var NumberEditor = function NumberEditor(props) {
39
+ var value = props.value,
40
+ onChange = props.onChange;
41
+ var inputNumberRef = useRef(null);
42
+ useEffect(function () {
43
+ var _inputNumberRef$curre2;
44
+ inputNumberRef === null || inputNumberRef === void 0 || (_inputNumberRef$curre2 = inputNumberRef.current) === null || _inputNumberRef$curre2 === void 0 || _inputNumberRef$curre2.focus();
45
+ }, []);
46
+ var _ref = getExtraProps ? getExtraProps(props) : extraProps !== null && extraProps !== void 0 ? extraProps : {},
47
+ precision = _ref.precision,
48
+ inputArgs = _objectWithoutProperties(_ref, _excluded);
49
+ var valueFormatter = useCallback(function (value) {
50
+ if (!value) {
51
+ return '';
52
+ }
53
+ if (typeof value === 'string') {
54
+ return value;
55
+ }
56
+ var hasDecimal = value - Math.floor(value) > 0;
57
+ if (hasDecimal) {
58
+ return formatPrecision(value, precision);
59
+ }
60
+ return String(value);
61
+ }, []);
62
+ var handleChange = useCallback(function (value) {
63
+ onChange && onChange(value ? value : null);
64
+ }, [onChange]);
65
+ return /*#__PURE__*/_jsx(AntInputNumber, _objectSpread(_objectSpread({
66
+ ref: inputNumberRef
67
+ }, inputArgs), {}, {
68
+ formatter: valueFormatter,
69
+ controls: false,
70
+ className: "number-editor",
71
+ onMouseDown: function onMouseDown(e) {
72
+ return e.stopPropagation();
73
+ },
74
+ value: value,
75
+ onChange: handleChange
76
+ }));
77
+ };
78
+ NumberEditor.formatter = function (value) {
79
+ var _String;
80
+ if (isNil(value) || isNaN(value)) {
81
+ return null;
82
+ }
83
+ var result = parseFloat((_String = String(value)) === null || _String === void 0 ? void 0 : _String.replace(/,/g, ''));
84
+ return result;
85
+ };
86
+ NumberEditor.parser = function (value) {
87
+ var _String2, _extraProps$precision;
88
+ var result = parseFloat((_String2 = String(value)) === null || _String2 === void 0 ? void 0 : _String2.replace(/,/g, ''));
89
+ if (isNil(result) || isNaN(result)) {
90
+ return null;
91
+ }
92
+ return Number(formatPrecision(result, (_extraProps$precision = extraProps === null || extraProps === void 0 ? void 0 : extraProps.precision) !== null && _extraProps$precision !== void 0 ? _extraProps$precision : 0));
93
+ };
94
+ NumberEditor.checker = function (value) {
95
+ var _String3;
96
+ if (isNil(value)) {
97
+ return true;
98
+ }
99
+ // parse number with thousands separator
100
+ var result = parseFloat((_String3 = String(value)) === null || _String3 === void 0 ? void 0 : _String3.replace(/,/g, ''));
101
+ if (isNaN(result)) {
102
+ return false;
103
+ }
104
+ return true;
105
+ };
106
+ return NumberEditor;
107
+ };
@@ -0,0 +1,30 @@
1
+ .number-editor{
2
+ border: none !important;
3
+ background: transparent !important;
4
+ width:100%;
5
+ height:var(--cell-inner-height) ;
6
+ display: block;
7
+ font-size: 12px;
8
+ box-shadow: none !important;
9
+ text-align: inherit !important;
10
+
11
+ .ant-input-number-wrapper{
12
+ text-align: inherit !important;
13
+
14
+ }
15
+
16
+ .ant-input-number-input{
17
+ text-align: inherit !important;
18
+ }
19
+
20
+ .ant-input-number-input-wrap >input{
21
+ padding:0;
22
+ height: 38px;
23
+ }
24
+
25
+ .ant-input-number-group-addon{
26
+ background: transparent;
27
+ border: none;
28
+ padding:0
29
+ }
30
+ }
@@ -0,0 +1,6 @@
1
+ import type { SheetType } from "../../../type";
2
+ import { SelectProps } from 'antd';
3
+ import 'antd/es/select/style/index.css';
4
+ import './index.less';
5
+ export declare const getSelectEditor: (options: SheetType.Options[], valueKey?: string, extra?: React.ReactNode, selectProps?: Partial<SelectProps>, getCustomOptions?: ((props: SheetType.CellEditorProps) => SheetType.Options[]) | undefined) => SheetType.CellEditor;
6
+ export default getSelectEditor;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAA8B;AACvD,OAAO,EAAU,WAAW,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,gCAAgC,CAAC;AAGxC,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe,YACjB,UAAU,OAAO,EAAE,aAClB,MAAM,UACT,MAAM,SAAS,gBACT,QAAQ,WAAW,CAAC,8BACN,UAAU,eAAe,KAAK,UAAU,OAAO,EAAE,kBAC3E,UAAU,UAuEZ,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,96 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ /* eslint-disable eqeqeq */
14
+
15
+ import { Select } from 'antd';
16
+ import 'antd/es/select/style/index.css';
17
+ import { isNil } from 'lodash';
18
+ import { useState } from 'react';
19
+ import "./index.less";
20
+ import { Fragment as _Fragment } from "react/jsx-runtime";
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ import { jsxs as _jsxs } from "react/jsx-runtime";
23
+ export var getSelectEditor = function getSelectEditor(options) {
24
+ var valueKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'value';
25
+ var extra = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : /*#__PURE__*/_jsx(_Fragment, {});
26
+ var selectProps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
27
+ var getCustomOptions = arguments.length > 4 ? arguments[4] : undefined;
28
+ var SelectEditor = function SelectEditor(props) {
29
+ var _useState = useState(true),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ isOpen = _useState2[0],
32
+ setIsOpen = _useState2[1];
33
+ var value = props.value,
34
+ onConfirm = props.onConfirm;
35
+ var handleChange = function handleChange(opt) {
36
+ var updateValue = opt === undefined ? null : opt;
37
+ onConfirm(updateValue);
38
+ };
39
+ var handleKeyDown = function handleKeyDown(ev) {
40
+ // record last key pressed so we can handle enter
41
+ if (ev.which === 13 || ev.which === 9) {
42
+ ev.persist();
43
+ }
44
+ };
45
+ var dropdown = function dropdown(menu) {
46
+ return /*#__PURE__*/_jsxs("div", {
47
+ onClick: function onClick() {
48
+ setIsOpen(false);
49
+ },
50
+ children: [menu, extra]
51
+ });
52
+ };
53
+ var customOptions = getCustomOptions ? getCustomOptions(props) : options;
54
+ return /*#__PURE__*/_jsx(Select, _objectSpread(_objectSpread({}, selectProps), {}, {
55
+ autoFocus: true,
56
+ className: "select-editor",
57
+ allowClear: true,
58
+ open: isOpen,
59
+ onMouseDown: function onMouseDown(e) {
60
+ e.stopPropagation();
61
+ },
62
+ value: SelectEditor.parser ? SelectEditor.parser(value) : value,
63
+ onChange: handleChange,
64
+ onKeyDown: handleKeyDown,
65
+ options: customOptions,
66
+ popupClassName: 'excelTablePopupClassName',
67
+ dropdownRender: dropdown
68
+ }));
69
+ };
70
+ SelectEditor.checker = function (value) {
71
+ if (isNil(value)) return true;
72
+ return options.some(function (item) {
73
+ return item.value == value;
74
+ }) || options.some(function (item) {
75
+ return item.label === value;
76
+ });
77
+ };
78
+ SelectEditor.parser = function (value) {
79
+ var _options$find, _options$find2;
80
+ return ((_options$find = options.find(function (item) {
81
+ return item.value == value;
82
+ })) === null || _options$find === void 0 ? void 0 : _options$find[valueKey]) || ((_options$find2 = options.find(function (item) {
83
+ return item.label === value;
84
+ })) === null || _options$find2 === void 0 ? void 0 : _options$find2[valueKey]);
85
+ };
86
+ SelectEditor.formatter = function (value) {
87
+ var _options$find3, _options$find4;
88
+ return ((_options$find3 = options.find(function (item) {
89
+ return item.value == value;
90
+ })) === null || _options$find3 === void 0 ? void 0 : _options$find3.label) || ((_options$find4 = options.find(function (item) {
91
+ return item.label === value;
92
+ })) === null || _options$find4 === void 0 ? void 0 : _options$find4.label);
93
+ };
94
+ return SelectEditor;
95
+ };
96
+ export default getSelectEditor;
@@ -0,0 +1,48 @@
1
+ .select-editor {
2
+ // select style
3
+ width: 100%;
4
+ line-height: 20px;
5
+ height:38px;
6
+ display: block;
7
+
8
+ .ant-select-selector {
9
+ width: 100%;
10
+ height: inherit !important;
11
+ border: none !important;
12
+ background: transparent !important;
13
+ box-shadow: none !important;
14
+ color: #292c33;
15
+ padding:0 !important;
16
+ }
17
+
18
+ .ant-select-selection-search{
19
+ height: 38px;
20
+ }
21
+
22
+ .ant-select-selection-item {
23
+ color: #292c33;
24
+ line-height: 38px !important;
25
+ font-size: 12px;
26
+ }
27
+
28
+ .ant-select-arrow {
29
+ right: 0;
30
+ }
31
+
32
+ .ant-select-clear {
33
+ right: 0;
34
+ box-shadow: inset 0 -100px 0 rgba(33,133,208,15%);
35
+ }
36
+
37
+ .ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
38
+ padding: 0;
39
+ }
40
+
41
+ .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
42
+ box-shadow: inset 0 -100px 0 rgba(33,133,208,15%);
43
+ }
44
+
45
+ .ant-select-item {
46
+ font-size: 12px !important;
47
+ }
48
+ }
@@ -0,0 +1,9 @@
1
+ import type { SheetType } from "../../type";
2
+ export type SheetAction = 'change' | 'changes' | 'rowMove' | 'colMove' | 'editFinish' | 'pushHistory' | 'popHistory' | 'selectRow' | 'select' | 'clearSelect' | 'clearSelectIfNotSingleRow' | 'clearEdit' | 'mouseDown' | 'mouseOver' | 'mouseUp' | 'loseFocus' | 'doubleClick' | 'mouseLeaveInterval' | 'move' | 'escape' | 'reverse' | 'delete' | 'enter' | 'otherInput' | 'none';
3
+ export type reducerAction = (type: Partial<SheetType.UpdateStateType>, payload?: unknown) => Partial<SheetType.UpdateStateType>;
4
+ declare const sheetReducer: (state: Partial<SheetType.UpdateStateType>, action: {
5
+ type: SheetAction;
6
+ payload?: unknown;
7
+ }) => Partial<SheetType.UpdateStateType>;
8
+ export default sheetReducer;
9
+ export { sideEffectReducer } from './sideEffectReducer';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAA8B;AAKvD,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,aAAa,GACb,2BAA2B,GAC3B,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,GACT,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,MAAM,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,EACxC,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AAExC,QAAA,MAAM,YAAY,UACT,QAAQ,UAAU,eAAe,CAAC,UACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,uCAiCjD,CAAC;AAEF,eAAe,YAAY,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { keyboardReducer } from "./keyboardReducer";
2
+ import { mouseReducer } from "./mouseReducer";
3
+ import { stateReducer } from "./stateReducer";
4
+ var sheetReducer = function sheetReducer(state, action) {
5
+ switch (action.type) {
6
+ case 'change':
7
+ case 'changes':
8
+ case 'rowMove':
9
+ case 'colMove':
10
+ case 'editFinish':
11
+ case 'pushHistory':
12
+ case 'popHistory':
13
+ case 'selectRow':
14
+ case 'select':
15
+ case 'clearSelect':
16
+ case 'clearSelectIfNotSingleRow':
17
+ case 'clearEdit':
18
+ return stateReducer[action.type](state, action.payload);
19
+ case 'mouseDown':
20
+ case 'mouseOver':
21
+ case 'mouseUp':
22
+ case 'loseFocus':
23
+ case 'doubleClick':
24
+ case 'mouseLeaveInterval':
25
+ return mouseReducer[action.type](state, action.payload);
26
+ case 'move':
27
+ case 'escape':
28
+ case 'reverse':
29
+ case 'delete':
30
+ case 'enter':
31
+ case 'otherInput':
32
+ return keyboardReducer[action.type](state, action.payload);
33
+ default:
34
+ throw new Error('Unexpected action');
35
+ }
36
+ };
37
+ export default sheetReducer;
38
+ export { sideEffectReducer } from "./sideEffectReducer";
@@ -0,0 +1,2 @@
1
+ import { reducerAction } from '.';
2
+ export declare const keyboardReducer: Record<string, reducerAction>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboardReducer.d.ts","sourceRoot":"","sources":["keyboardReducer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAGlC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgFzD,CAAC"}