@handsontable/react-wrapper 0.0.0-next-2645bc1-20260401 → 0.0.0-next-e3f6190-20260401
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.
- package/commonjs/react-handsontable.js +230 -293
- package/dist/react-handsontable.js +231 -294
- package/dist/react-handsontable.js.map +1 -1
- package/dist/react-handsontable.min.js +2 -2
- package/dist/react-handsontable.min.js.map +1 -1
- package/es/react-handsontable.mjs +231 -294
- package/helpers.d.ts +105 -105
- package/hotColumn.d.ts +5 -5
- package/hotColumnContext.d.ts +16 -16
- package/hotEditor.d.ts +73 -73
- package/hotTable.d.ts +29 -29
- package/hotTableContext.d.ts +55 -55
- package/hotTableInner.d.ts +5 -5
- package/index.d.ts +5 -5
- package/package.json +4 -4
- package/renderersPortalManager.d.ts +6 -6
- package/settingsMapper.d.ts +18 -18
- package/types.d.ts +78 -78
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
|
27
27
|
*
|
|
28
|
-
* Version: 0.0.0-next-
|
|
28
|
+
* Version: 0.0.0-next-e3f6190-20260401 (built at Wed Apr 01 2026 10:53:03 GMT+0000 (Coordinated Universal Time))
|
|
29
29
|
*/
|
|
30
30
|
(function (global, factory) {
|
|
31
31
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('react-dom'), require('handsontable/base'), require('handsontable/renderers/registry'), require('handsontable/editors/registry')) :
|
|
@@ -40,46 +40,38 @@ var ReactDOM__default = /*#__PURE__*/_interopDefaultCompat(ReactDOM);
|
|
|
40
40
|
var Handsontable__default = /*#__PURE__*/_interopDefaultCompat(Handsontable);
|
|
41
41
|
|
|
42
42
|
var bulkComponentContainer = null;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
* Warning message for the `autoRowSize`/`autoColumnSize` compatibility check.
|
|
43
|
+
/**
|
|
44
|
+
* Warning message for the `autoRowSize`/`autoColumnSize` compatibility check.
|
|
46
45
|
*/
|
|
47
46
|
var AUTOSIZE_WARNING = 'Your `HotTable` configuration includes `autoRowSize`/`autoColumnSize` options, which are not compatible with ' + ' the component-based renderers`. Disable `autoRowSize` and `autoColumnSize` to prevent row and column misalignment.';
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* Warning message for the `hot-renderer` obsolete renderer passing method.
|
|
47
|
+
/**
|
|
48
|
+
* Warning message for the `hot-renderer` obsolete renderer passing method.
|
|
51
49
|
*/
|
|
52
50
|
var OBSOLETE_HOTRENDERER_WARNING = 'Providing a component-based renderer using `hot-renderer`-annotated component is no longer supported. ' + 'Pass your component using `renderer` prop of the `HotTable` or `HotColumn` component instead.';
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
* Warning message for the `hot-editor` obsolete editor passing method.
|
|
51
|
+
/**
|
|
52
|
+
* Warning message for the `hot-editor` obsolete editor passing method.
|
|
56
53
|
*/
|
|
57
54
|
var OBSOLETE_HOTEDITOR_WARNING = 'Providing a component-based editor using `hot-editor`-annotated component is no longer supported. ' + 'Pass your component using `editor` prop of the `HotTable` or `HotColumn` component instead.';
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
* Warning message for the unexpected children of HotTable component.
|
|
55
|
+
/**
|
|
56
|
+
* Warning message for the unexpected children of HotTable component.
|
|
61
57
|
*/
|
|
62
58
|
var UNEXPECTED_HOTTABLE_CHILDREN_WARNING = 'Unexpected children nodes found in HotTable component. ' + 'Only HotColumn components are allowed.';
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
* Warning message for the unexpected children of HotColumn component.
|
|
59
|
+
/**
|
|
60
|
+
* Warning message for the unexpected children of HotColumn component.
|
|
66
61
|
*/
|
|
67
62
|
var UNEXPECTED_HOTCOLUMN_CHILDREN_WARNING = 'Unexpected children nodes found in HotColumn component. ' + 'HotColumn components do not support any children.';
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
* Message for the warning thrown if the Handsontable instance has been destroyed.
|
|
63
|
+
/**
|
|
64
|
+
* Message for the warning thrown if the Handsontable instance has been destroyed.
|
|
71
65
|
*/
|
|
72
66
|
var HOT_DESTROYED_WARNING = 'The Handsontable instance bound to this component was destroyed and cannot be' + ' used properly.';
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
* Default classname given to the wrapper container.
|
|
67
|
+
/**
|
|
68
|
+
* Default classname given to the wrapper container.
|
|
76
69
|
*/
|
|
77
70
|
var DEFAULT_CLASSNAME = 'hot-wrapper-editor-container';
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* @param {...*} args Values which will be logged.
|
|
71
|
+
/**
|
|
72
|
+
* Logs warn to the console if the `console` object is exposed.
|
|
73
|
+
*
|
|
74
|
+
* @param {...*} args Values which will be logged.
|
|
83
75
|
*/
|
|
84
76
|
function warn() {
|
|
85
77
|
if (typeof console !== 'undefined') {
|
|
@@ -87,11 +79,10 @@ function warn() {
|
|
|
87
79
|
(_console = console).warn.apply(_console, arguments);
|
|
88
80
|
}
|
|
89
81
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* @returns {boolean} 'true' if the warning was issued
|
|
82
|
+
/**
|
|
83
|
+
* Detect if `hot-renderer` or `hot-editor` is defined, and if so, throw an incompatibility warning.
|
|
84
|
+
*
|
|
85
|
+
* @returns {boolean} 'true' if the warning was issued
|
|
95
86
|
*/
|
|
96
87
|
function displayObsoleteRenderersEditorsWarning(children) {
|
|
97
88
|
if (hasChildElementOfType(children, 'hot-renderer')) {
|
|
@@ -104,13 +95,12 @@ function displayObsoleteRenderersEditorsWarning(children) {
|
|
|
104
95
|
}
|
|
105
96
|
return false;
|
|
106
97
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* @param {
|
|
112
|
-
* @
|
|
113
|
-
* @returns {boolean} 'true' if the warning was issued
|
|
98
|
+
/**
|
|
99
|
+
* Detect if children of specified type are defined, and if so, throw an incompatibility warning.
|
|
100
|
+
*
|
|
101
|
+
* @param {ReactNode} children Component children nodes
|
|
102
|
+
* @param {ComponentType} Component Component type to check
|
|
103
|
+
* @returns {boolean} 'true' if the warning was issued
|
|
114
104
|
*/
|
|
115
105
|
function displayChildrenOfTypeWarning(children, Component) {
|
|
116
106
|
var childrenArray = React__default["default"].Children.toArray(children);
|
|
@@ -122,12 +112,11 @@ function displayChildrenOfTypeWarning(children, Component) {
|
|
|
122
112
|
}
|
|
123
113
|
return false;
|
|
124
114
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
* @
|
|
130
|
-
* @returns {boolean} 'true' if the warning was issued
|
|
115
|
+
/**
|
|
116
|
+
* Detect if children is defined, and if so, throw an incompatibility warning.
|
|
117
|
+
*
|
|
118
|
+
* @param {ReactNode} children Component children nodes
|
|
119
|
+
* @returns {boolean} 'true' if the warning was issued
|
|
131
120
|
*/
|
|
132
121
|
function displayAnyChildrenWarning(children) {
|
|
133
122
|
var childrenArray = React__default["default"].Children.toArray(children);
|
|
@@ -137,13 +126,12 @@ function displayAnyChildrenWarning(children) {
|
|
|
137
126
|
}
|
|
138
127
|
return false;
|
|
139
128
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* @param {
|
|
145
|
-
* @
|
|
146
|
-
* @returns {boolean} `true` if the child of that type was found, `false` otherwise.
|
|
129
|
+
/**
|
|
130
|
+
* Check the existence of elements of the provided `type` from the `HotColumn` component's children.
|
|
131
|
+
*
|
|
132
|
+
* @param {ReactNode} children HotTable children array.
|
|
133
|
+
* @param {String} type Either `'hot-renderer'` or `'hot-editor'`.
|
|
134
|
+
* @returns {boolean} `true` if the child of that type was found, `false` otherwise.
|
|
147
135
|
*/
|
|
148
136
|
function hasChildElementOfType(children, type) {
|
|
149
137
|
var childrenArray = React__default["default"].Children.toArray(children);
|
|
@@ -151,32 +139,30 @@ function hasChildElementOfType(children, type) {
|
|
|
151
139
|
return child.props[type] !== void 0;
|
|
152
140
|
});
|
|
153
141
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
* @param {
|
|
159
|
-
* @
|
|
160
|
-
* @returns {ReactPortal} The portal for the editor.
|
|
142
|
+
/**
|
|
143
|
+
* Create an editor portal.
|
|
144
|
+
*
|
|
145
|
+
* @param {Document} doc Document to be used.
|
|
146
|
+
* @param {ComponentType} Editor Editor component or render function.
|
|
147
|
+
* @returns {ReactPortal} The portal for the editor.
|
|
161
148
|
*/
|
|
162
149
|
function createEditorPortal(doc, Editor) {
|
|
163
150
|
if (!doc || !Editor || typeof Editor === 'boolean') {
|
|
164
151
|
return null;
|
|
165
152
|
}
|
|
166
|
-
var editorElement =
|
|
153
|
+
var editorElement = React__default["default"].createElement(Editor, null);
|
|
167
154
|
var containerProps = getContainerAttributesProps({}, false);
|
|
168
155
|
containerProps.className = "".concat(DEFAULT_CLASSNAME, " ").concat(containerProps.className);
|
|
169
|
-
return
|
|
156
|
+
return ReactDOM__default["default"].createPortal(React__default["default"].createElement("div", Object.assign({}, containerProps), editorElement), doc.body);
|
|
170
157
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* @param {
|
|
176
|
-
* @param {
|
|
177
|
-
* @param {
|
|
178
|
-
* @
|
|
179
|
-
* @returns {{portal: ReactPortal, portalContainer: HTMLElement}} An object containing the portal and its container.
|
|
158
|
+
/**
|
|
159
|
+
* Render a cell component to an external DOM node.
|
|
160
|
+
*
|
|
161
|
+
* @param {React.ReactElement} rElement React element to be used as a base for the component.
|
|
162
|
+
* @param {Document} [ownerDocument] The owner document to set the portal up into.
|
|
163
|
+
* @param {String} portalKey The key to be used for the portal.
|
|
164
|
+
* @param {HTMLElement} [cachedContainer] The cached container to be used for the portal.
|
|
165
|
+
* @returns {{portal: ReactPortal, portalContainer: HTMLElement}} An object containing the portal and its container.
|
|
180
166
|
*/
|
|
181
167
|
function createPortal(rElement) {
|
|
182
168
|
var ownerDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
@@ -191,19 +177,18 @@ function createPortal(rElement) {
|
|
|
191
177
|
var portalContainer = cachedContainer !== null && cachedContainer !== void 0 ? cachedContainer : ownerDocument.createElement('DIV');
|
|
192
178
|
bulkComponentContainer.appendChild(portalContainer);
|
|
193
179
|
return {
|
|
194
|
-
portal:
|
|
180
|
+
portal: ReactDOM__default["default"].createPortal(rElement, portalContainer, portalKey),
|
|
195
181
|
portalContainer: portalContainer
|
|
196
182
|
};
|
|
197
183
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* @param {
|
|
204
|
-
* @
|
|
205
|
-
*
|
|
206
|
-
* component.
|
|
184
|
+
/**
|
|
185
|
+
* Get an object containing the `id`, `className` and `style` keys, representing the corresponding props passed to the
|
|
186
|
+
* component.
|
|
187
|
+
*
|
|
188
|
+
* @param {HotTableProps} props Object containing the React element props.
|
|
189
|
+
* @param {Boolean} randomizeId If set to `true`, the function will randomize the `id` property when no `id` was present in the `prop` object.
|
|
190
|
+
* @returns An object containing the `id`, `className` and `style` keys, representing the corresponding props passed to the
|
|
191
|
+
* component.
|
|
207
192
|
*/
|
|
208
193
|
function getContainerAttributesProps(props) {
|
|
209
194
|
var randomizeId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
@@ -213,21 +198,19 @@ function getContainerAttributesProps(props) {
|
|
|
213
198
|
style: props.style || {}
|
|
214
199
|
};
|
|
215
200
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
* @returns {boolean}
|
|
201
|
+
/**
|
|
202
|
+
* Checks if the environment that the code runs in is a browser.
|
|
203
|
+
*
|
|
204
|
+
* @returns {boolean}
|
|
221
205
|
*/
|
|
222
206
|
function isCSR() {
|
|
223
207
|
return typeof window !== 'undefined';
|
|
224
208
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
* @param
|
|
230
|
-
* @param deps Effect dependencies
|
|
209
|
+
/**
|
|
210
|
+
* A variant of useEffect hook that does not trigger on initial mount, only updates
|
|
211
|
+
*
|
|
212
|
+
* @param effect Effect function
|
|
213
|
+
* @param deps Effect dependencies
|
|
231
214
|
*/
|
|
232
215
|
function useUpdateEffect(effect, deps) {
|
|
233
216
|
var notInitialRender = React__default["default"].useRef(false);
|
|
@@ -280,15 +263,6 @@ function _defineProperty(e, r, t) {
|
|
|
280
263
|
writable: true
|
|
281
264
|
}) : e[r] = t, e;
|
|
282
265
|
}
|
|
283
|
-
function _extends() {
|
|
284
|
-
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
285
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
286
|
-
var t = arguments[e];
|
|
287
|
-
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
288
|
-
}
|
|
289
|
-
return n;
|
|
290
|
-
}, _extends.apply(null, arguments);
|
|
291
|
-
}
|
|
292
266
|
function _getPrototypeOf(t) {
|
|
293
267
|
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
|
|
294
268
|
return t.__proto__ || Object.getPrototypeOf(t);
|
|
@@ -433,14 +407,14 @@ var SettingsMapper = /*#__PURE__*/function () {
|
|
|
433
407
|
return _createClass(SettingsMapper, null, [{
|
|
434
408
|
key: "getSettings",
|
|
435
409
|
value:
|
|
436
|
-
/**
|
|
437
|
-
* Parse component settings into Handsontable-compatible settings.
|
|
438
|
-
*
|
|
439
|
-
* @param {Object} properties Object containing properties from the HotTable object.
|
|
440
|
-
* @param {Object} additionalSettings Additional settings.
|
|
441
|
-
* @param {boolean} additionalSettings.isInit Flag determining whether the settings are being set during initialization.
|
|
442
|
-
* @param {string[]} additionalSettings.initOnlySettingKeys Array of keys that can be set only during initialization.
|
|
443
|
-
* @returns {Object} Handsontable-compatible settings object.
|
|
410
|
+
/**
|
|
411
|
+
* Parse component settings into Handsontable-compatible settings.
|
|
412
|
+
*
|
|
413
|
+
* @param {Object} properties Object containing properties from the HotTable object.
|
|
414
|
+
* @param {Object} additionalSettings Additional settings.
|
|
415
|
+
* @param {boolean} additionalSettings.isInit Flag determining whether the settings are being set during initialization.
|
|
416
|
+
* @param {string[]} additionalSettings.initOnlySettingKeys Array of keys that can be set only during initialization.
|
|
417
|
+
* @returns {Object} Handsontable-compatible settings object.
|
|
444
418
|
*/
|
|
445
419
|
function getSettings(properties) {
|
|
446
420
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
@@ -468,7 +442,7 @@ var SettingsMapper = /*#__PURE__*/function () {
|
|
|
468
442
|
}]);
|
|
469
443
|
}();
|
|
470
444
|
|
|
471
|
-
var HotTableContext =
|
|
445
|
+
var HotTableContext = React.createContext(undefined);
|
|
472
446
|
var HotTableContextProvider = function HotTableContextProvider(_ref) {
|
|
473
447
|
var children = _ref.children;
|
|
474
448
|
var columnsSettings = React.useRef([]);
|
|
@@ -488,7 +462,6 @@ var HotTableContextProvider = function HotTableContextProvider(_ref) {
|
|
|
488
462
|
var getRendererWrapper = React.useCallback(function (Renderer) {
|
|
489
463
|
return function __internalRenderer(instance, TD, row, col, prop, value, cellProperties) {
|
|
490
464
|
var key = "".concat(row, "-").concat(col);
|
|
491
|
-
|
|
492
465
|
// Handsontable.Core type is missing guid
|
|
493
466
|
var instanceGuid = instance.guid;
|
|
494
467
|
var portalContainerKey = "".concat(instanceGuid, "-").concat(key);
|
|
@@ -502,12 +475,11 @@ var HotTableContextProvider = function HotTableContextProvider(_ref) {
|
|
|
502
475
|
while (TD.firstChild) {
|
|
503
476
|
TD.removeChild(TD.firstChild);
|
|
504
477
|
}
|
|
505
|
-
|
|
506
478
|
// if portal already exists, do not recreate
|
|
507
479
|
if (cachedPortal && cachedPortalContainer) {
|
|
508
480
|
TD.appendChild(cachedPortalContainer);
|
|
509
481
|
} else {
|
|
510
|
-
var rendererElement =
|
|
482
|
+
var rendererElement = React__default["default"].createElement(Renderer, {
|
|
511
483
|
instance: instance,
|
|
512
484
|
TD: TD,
|
|
513
485
|
row: row,
|
|
@@ -549,21 +521,20 @@ var HotTableContextProvider = function HotTableContextProvider(_ref) {
|
|
|
549
521
|
pushCellPortalsIntoPortalManager: pushCellPortalsIntoPortalManager
|
|
550
522
|
};
|
|
551
523
|
}, [setHotColumnSettings, getRendererWrapper, clearRenderedCellCache, setRenderersPortalManagerRef, pushCellPortalsIntoPortalManager]);
|
|
552
|
-
return
|
|
524
|
+
return React__default["default"].createElement(HotTableContext.Provider, {
|
|
553
525
|
value: contextImpl
|
|
554
526
|
}, children);
|
|
555
527
|
};
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
*
|
|
559
|
-
*
|
|
560
|
-
* @returns HotTableContext
|
|
528
|
+
/**
|
|
529
|
+
* Exposes the table context object to components
|
|
530
|
+
*
|
|
531
|
+
* @returns HotTableContext
|
|
561
532
|
*/
|
|
562
533
|
function useHotTableContext() {
|
|
563
534
|
return React.useContext(HotTableContext);
|
|
564
535
|
}
|
|
565
536
|
|
|
566
|
-
var HotColumnContext =
|
|
537
|
+
var HotColumnContext = React.createContext(undefined);
|
|
567
538
|
var HotColumnContextProvider = function HotColumnContextProvider(_ref) {
|
|
568
539
|
var columnIndex = _ref.columnIndex,
|
|
569
540
|
getOwnerDocument = _ref.getOwnerDocument,
|
|
@@ -574,7 +545,7 @@ var HotColumnContextProvider = function HotColumnContextProvider(_ref) {
|
|
|
574
545
|
getOwnerDocument: getOwnerDocument
|
|
575
546
|
};
|
|
576
547
|
}, [columnIndex, getOwnerDocument]);
|
|
577
|
-
return
|
|
548
|
+
return React__default["default"].createElement(HotColumnContext.Provider, {
|
|
578
549
|
value: contextImpl
|
|
579
550
|
}, children);
|
|
580
551
|
};
|
|
@@ -590,13 +561,12 @@ var MethodsMap = {
|
|
|
590
561
|
prepare: 'onPrepare',
|
|
591
562
|
focus: 'onFocus'
|
|
592
563
|
};
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
*
|
|
596
|
-
*
|
|
597
|
-
* @param {RefObject
|
|
598
|
-
* @
|
|
599
|
-
* @returns {Function} A class to be passed to the Handsontable editor settings.
|
|
564
|
+
/**
|
|
565
|
+
* Create a class to be passed to the Handsontable's settings.
|
|
566
|
+
*
|
|
567
|
+
* @param {RefObject<HotEditorHooks>} hooksRef Reference to component-based editor overridden hooks object.
|
|
568
|
+
* @param {RefObject} instanceRef Reference to Handsontable-native custom editor class instance.
|
|
569
|
+
* @returns {Function} A class to be passed to the Handsontable editor settings.
|
|
600
570
|
*/
|
|
601
571
|
function makeEditorClass(hooksRef, instanceRef) {
|
|
602
572
|
return /*#__PURE__*/function (_Handsontable$editors) {
|
|
@@ -620,8 +590,8 @@ function makeEditorClass(hooksRef, instanceRef) {
|
|
|
620
590
|
result = baseMethod.call.apply(baseMethod, [this].concat(args)); // call super
|
|
621
591
|
}
|
|
622
592
|
if (MethodsMap[propName] && (_hooksRef$current = hooksRef.current) !== null && _hooksRef$current !== void 0 && _hooksRef$current[MethodsMap[propName]]) {
|
|
623
|
-
var
|
|
624
|
-
result = (
|
|
593
|
+
var _hooksRef$current$Met;
|
|
594
|
+
result = (_hooksRef$current$Met = hooksRef.current[MethodsMap[propName]]).call.apply(_hooksRef$current$Met, [this].concat(args));
|
|
625
595
|
}
|
|
626
596
|
return result;
|
|
627
597
|
}.bind(_this);
|
|
@@ -651,31 +621,31 @@ function makeEditorClass(hooksRef, instanceRef) {
|
|
|
651
621
|
}]);
|
|
652
622
|
}(Handsontable__default["default"].editors.BaseEditor);
|
|
653
623
|
}
|
|
654
|
-
/**
|
|
655
|
-
* Context to provide Handsontable-native custom editor class instance to overridden hooks object.
|
|
624
|
+
/**
|
|
625
|
+
* Context to provide Handsontable-native custom editor class instance to overridden hooks object.
|
|
656
626
|
*/
|
|
657
|
-
var EditorContext =
|
|
658
|
-
/**
|
|
659
|
-
* Provider of the context that exposes Handsontable-native editor instance and passes hooks object
|
|
660
|
-
* for custom editor components.
|
|
661
|
-
*
|
|
662
|
-
* @param {Ref} hooksRef Reference for component-based editor overridden hooks object.
|
|
663
|
-
* @param {RefObject} hotCustomEditorInstanceRef Reference to Handsontable-native editor instance.
|
|
627
|
+
var EditorContext = React.createContext(undefined);
|
|
628
|
+
/**
|
|
629
|
+
* Provider of the context that exposes Handsontable-native editor instance and passes hooks object
|
|
630
|
+
* for custom editor components.
|
|
631
|
+
*
|
|
632
|
+
* @param {Ref} hooksRef Reference for component-based editor overridden hooks object.
|
|
633
|
+
* @param {RefObject} hotCustomEditorInstanceRef Reference to Handsontable-native editor instance.
|
|
664
634
|
*/
|
|
665
|
-
var EditorContextProvider = function EditorContextProvider(
|
|
666
|
-
var hooksRef =
|
|
667
|
-
hotCustomEditorInstanceRef =
|
|
668
|
-
children =
|
|
669
|
-
return
|
|
635
|
+
var EditorContextProvider = function EditorContextProvider(_ref) {
|
|
636
|
+
var hooksRef = _ref.hooksRef,
|
|
637
|
+
hotCustomEditorInstanceRef = _ref.hotCustomEditorInstanceRef,
|
|
638
|
+
children = _ref.children;
|
|
639
|
+
return React__default["default"].createElement(EditorContext.Provider, {
|
|
670
640
|
value: {
|
|
671
641
|
hooksRef: hooksRef,
|
|
672
642
|
hotCustomEditorInstanceRef: hotCustomEditorInstanceRef
|
|
673
643
|
}
|
|
674
644
|
}, children);
|
|
675
645
|
};
|
|
676
|
-
/**
|
|
677
|
-
* Applies editor overlay position/dimensions to an element.
|
|
678
|
-
* @returns true if position was applied, false if editor should close (e.g. cell no longer available).
|
|
646
|
+
/**
|
|
647
|
+
* Applies editor overlay position/dimensions to an element.
|
|
648
|
+
* @returns true if position was applied, false if editor should close (e.g. cell no longer available).
|
|
679
649
|
*/
|
|
680
650
|
function applyEditorPosition(el, editor, hot, td) {
|
|
681
651
|
var _rootWindow$pageXOffs, _rootWindow$pageYOffs;
|
|
@@ -725,18 +695,17 @@ function applyEditorPosition(el, editor, hot, td) {
|
|
|
725
695
|
}
|
|
726
696
|
return false;
|
|
727
697
|
}
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
* @param {
|
|
733
|
-
* @
|
|
734
|
-
* @returns {UseHotEditorImpl} Editor API methods
|
|
698
|
+
/**
|
|
699
|
+
* Hook that allows encapsulating custom behaviours of component-based editor by customizing passed ref with overridden hooks object.
|
|
700
|
+
*
|
|
701
|
+
* @param {HotEditorHooks} overriddenHooks Overrides specific for the custom editor.
|
|
702
|
+
* @param {DependencyList} deps Overridden hooks object React dependency list.
|
|
703
|
+
* @returns {UseHotEditorImpl} Editor API methods
|
|
735
704
|
*/
|
|
736
705
|
function useHotEditor(overriddenHooks, deps) {
|
|
737
|
-
var
|
|
738
|
-
hooksRef =
|
|
739
|
-
hotCustomEditorInstanceRef =
|
|
706
|
+
var _useContext = React.useContext(EditorContext),
|
|
707
|
+
hooksRef = _useContext.hooksRef,
|
|
708
|
+
hotCustomEditorInstanceRef = _useContext.hotCustomEditorInstanceRef;
|
|
740
709
|
var _useState = React.useState(0),
|
|
741
710
|
_useState2 = _slicedToArray(_useState, 2),
|
|
742
711
|
rerenderTrigger = _useState2[0],
|
|
@@ -745,7 +714,6 @@ function useHotEditor(overriddenHooks, deps) {
|
|
|
745
714
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
746
715
|
editorValue = _useState4[0],
|
|
747
716
|
setEditorValue = _useState4[1];
|
|
748
|
-
|
|
749
717
|
// return a deferred value that allows for optimizing performance by delaying the update of a value until the next render.
|
|
750
718
|
var deferredValue = React.useDeferredValue(editorValue);
|
|
751
719
|
React.useImperativeHandle(hooksRef, function () {
|
|
@@ -789,28 +757,23 @@ function useHotEditor(overriddenHooks, deps) {
|
|
|
789
757
|
};
|
|
790
758
|
}, [rerenderTrigger, hotCustomEditorInstanceRef, deferredValue]);
|
|
791
759
|
}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
_onFocus = _ref4.onFocus,
|
|
802
|
-
children = _ref4.children,
|
|
803
|
-
_ref4$shortcutsGroup = _ref4.shortcutsGroup,
|
|
804
|
-
shortcutsGroup = _ref4$shortcutsGroup === void 0 ? "custom-editor" : _ref4$shortcutsGroup,
|
|
805
|
-
shortcuts = _ref4.shortcuts;
|
|
760
|
+
function EditorComponent(_ref2) {
|
|
761
|
+
var _onPrepare = _ref2.onPrepare,
|
|
762
|
+
_onClose = _ref2.onClose,
|
|
763
|
+
_onOpen = _ref2.onOpen,
|
|
764
|
+
_onFocus = _ref2.onFocus,
|
|
765
|
+
children = _ref2.children,
|
|
766
|
+
_ref2$shortcutsGroup = _ref2.shortcutsGroup,
|
|
767
|
+
shortcutsGroup = _ref2$shortcutsGroup === void 0 ? "custom-editor" : _ref2$shortcutsGroup,
|
|
768
|
+
shortcuts = _ref2.shortcuts;
|
|
806
769
|
var mainElementRef = React.useRef(null);
|
|
807
770
|
var currentValue = React.useRef(undefined);
|
|
808
771
|
var _useState5 = React.useState(),
|
|
809
772
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
810
773
|
themeClassName = _useState6[0],
|
|
811
774
|
setThemeClassName = _useState6[1];
|
|
812
|
-
var
|
|
813
|
-
hotCustomEditorInstanceRef =
|
|
775
|
+
var _useContext2 = React.useContext(EditorContext),
|
|
776
|
+
hotCustomEditorInstanceRef = _useContext2.hotCustomEditorInstanceRef;
|
|
814
777
|
var registerShortcuts = React.useCallback(function () {
|
|
815
778
|
var _hotCustomEditorInsta8, _hotCustomEditorInsta9, _hotCustomEditorInsta0;
|
|
816
779
|
if (!((_hotCustomEditorInsta8 = hotCustomEditorInstanceRef.current) !== null && _hotCustomEditorInsta8 !== void 0 && _hotCustomEditorInsta8.hot)) return;
|
|
@@ -913,7 +876,7 @@ function EditorComponent(_ref4) {
|
|
|
913
876
|
var stopMousedownPropagation = function stopMousedownPropagation(e) {
|
|
914
877
|
e.stopPropagation();
|
|
915
878
|
};
|
|
916
|
-
return
|
|
879
|
+
return React__default["default"].createElement("div", {
|
|
917
880
|
ref: mainElementRef,
|
|
918
881
|
className: themeClassName,
|
|
919
882
|
style: {
|
|
@@ -948,25 +911,22 @@ var HotColumn = function HotColumn(props) {
|
|
|
948
911
|
var _useHotColumnContext = useHotColumnContext(),
|
|
949
912
|
columnIndex = _useHotColumnContext.columnIndex,
|
|
950
913
|
getOwnerDocument = _useHotColumnContext.getOwnerDocument;
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
* Reference to component-based editor overridden hooks object.
|
|
914
|
+
/**
|
|
915
|
+
* Reference to component-based editor overridden hooks object.
|
|
954
916
|
*/
|
|
955
917
|
var localEditorHooksRef = React.useRef(null);
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
* Reference to HOT-native custom editor class instance.
|
|
918
|
+
/**
|
|
919
|
+
* Reference to HOT-native custom editor class instance.
|
|
959
920
|
*/
|
|
960
921
|
var localEditorClassInstance = React.useRef(null);
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
* Logic performed after mounting & updating of the HotColumn component.
|
|
922
|
+
/**
|
|
923
|
+
* Logic performed after mounting & updating of the HotColumn component.
|
|
964
924
|
*/
|
|
965
925
|
React.useEffect(function () {
|
|
966
|
-
/**
|
|
967
|
-
* Filter out all the internal properties and return an object with just the Handsontable-related props.
|
|
968
|
-
*
|
|
969
|
-
* @returns {Object}
|
|
926
|
+
/**
|
|
927
|
+
* Filter out all the internal properties and return an object with just the Handsontable-related props.
|
|
928
|
+
*
|
|
929
|
+
* @returns {Object}
|
|
970
930
|
*/
|
|
971
931
|
var getSettingsProps = function getSettingsProps() {
|
|
972
932
|
return Object.keys(props).filter(function (key) {
|
|
@@ -976,9 +936,8 @@ var HotColumn = function HotColumn(props) {
|
|
|
976
936
|
return obj;
|
|
977
937
|
}, {});
|
|
978
938
|
};
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
* Create the column settings based on the data provided to the `HotColumn` component and its child components.
|
|
939
|
+
/**
|
|
940
|
+
* Create the column settings based on the data provided to the `HotColumn` component and its child components.
|
|
982
941
|
*/
|
|
983
942
|
var createColumnSettings = function createColumnSettings() {
|
|
984
943
|
var columnSettings = SettingsMapper.getSettings(getSettingsProps());
|
|
@@ -1002,24 +961,23 @@ var HotColumn = function HotColumn(props) {
|
|
|
1002
961
|
}
|
|
1003
962
|
});
|
|
1004
963
|
var editorPortal = createEditorPortal(getOwnerDocument(), props.editor);
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
*
|
|
1008
|
-
*
|
|
1009
|
-
* @returns {ReactElement}
|
|
964
|
+
/**
|
|
965
|
+
* Render the portals of the editors, if there are any.
|
|
966
|
+
*
|
|
967
|
+
* @returns {ReactElement}
|
|
1010
968
|
*/
|
|
1011
|
-
return
|
|
969
|
+
return React__default["default"].createElement(EditorContextProvider, {
|
|
1012
970
|
hooksRef: localEditorHooksRef,
|
|
1013
971
|
hotCustomEditorInstanceRef: localEditorClassInstance
|
|
1014
972
|
}, editorPortal);
|
|
1015
973
|
};
|
|
1016
974
|
|
|
1017
|
-
var version="0.0.0-next-
|
|
975
|
+
var version="0.0.0-next-e3f6190-20260401";
|
|
1018
976
|
|
|
1019
|
-
/**
|
|
1020
|
-
* Component used to manage the renderer component portals.
|
|
977
|
+
/**
|
|
978
|
+
* Component used to manage the renderer component portals.
|
|
1021
979
|
*/
|
|
1022
|
-
var RenderersPortalManager =
|
|
980
|
+
var RenderersPortalManager = React.forwardRef(function (_, ref) {
|
|
1023
981
|
var _useState = React.useState([]),
|
|
1024
982
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1025
983
|
portals = _useState2[0],
|
|
@@ -1027,7 +985,7 @@ var RenderersPortalManager = /*#__PURE__*/React.forwardRef(function (_, ref) {
|
|
|
1027
985
|
React.useImperativeHandle(ref, function () {
|
|
1028
986
|
return setPortals;
|
|
1029
987
|
});
|
|
1030
|
-
return
|
|
988
|
+
return React__default["default"].createElement(React.Fragment, null, portals);
|
|
1031
989
|
});
|
|
1032
990
|
|
|
1033
991
|
function getDefaultExportFromCjs (x) {
|
|
@@ -1126,39 +1084,33 @@ function requireFactoryWithThrowingShims() {
|
|
|
1126
1084
|
var propTypesExports = propTypes.exports;
|
|
1127
1085
|
var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
|
|
1128
1086
|
|
|
1129
|
-
var HotTableInner =
|
|
1130
|
-
/**
|
|
1131
|
-
* Reference to the Handsontable instance.
|
|
1087
|
+
var HotTableInner = React.forwardRef(function (props, ref) {
|
|
1088
|
+
/**
|
|
1089
|
+
* Reference to the Handsontable instance.
|
|
1132
1090
|
*/
|
|
1133
1091
|
var __hotInstance = React.useRef(null);
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
* Reference to the main Handsontable DOM element.
|
|
1092
|
+
/**
|
|
1093
|
+
* Reference to the main Handsontable DOM element.
|
|
1137
1094
|
*/
|
|
1138
1095
|
var hotElementRef = React.useRef(null);
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
* Reference to component-based editor overridden hooks object.
|
|
1096
|
+
/**
|
|
1097
|
+
* Reference to component-based editor overridden hooks object.
|
|
1142
1098
|
*/
|
|
1143
1099
|
var globalEditorHooksRef = React.useRef(null);
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
* Reference to HOT-native custom editor class instance.
|
|
1100
|
+
/**
|
|
1101
|
+
* Reference to HOT-native custom editor class instance.
|
|
1147
1102
|
*/
|
|
1148
1103
|
var globalEditorClassInstance = React.useRef(null);
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
* Reference to the previous props object.
|
|
1104
|
+
/**
|
|
1105
|
+
* Reference to the previous props object.
|
|
1152
1106
|
*/
|
|
1153
1107
|
var prevProps = React.useRef();
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
* HotTable context exposing helper functions.
|
|
1108
|
+
/**
|
|
1109
|
+
* HotTable context exposing helper functions.
|
|
1157
1110
|
*/
|
|
1158
1111
|
var context = useHotTableContext();
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
* Getter for the property storing the Handsontable instance.
|
|
1112
|
+
/**
|
|
1113
|
+
* Getter for the property storing the Handsontable instance.
|
|
1162
1114
|
*/
|
|
1163
1115
|
var getHotInstance = React.useCallback(function () {
|
|
1164
1116
|
if (!__hotInstance.current || !__hotInstance.current.isDestroyed) {
|
|
@@ -1172,19 +1124,17 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1172
1124
|
var isHotInstanceDestroyed = React.useCallback(function () {
|
|
1173
1125
|
return !__hotInstance.current || __hotInstance.current.isDestroyed;
|
|
1174
1126
|
}, [__hotInstance]);
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
* Clear both the editor and the renderer cache.
|
|
1127
|
+
/**
|
|
1128
|
+
* Clear both the editor and the renderer cache.
|
|
1178
1129
|
*/
|
|
1179
1130
|
var clearCache = React.useCallback(function () {
|
|
1180
1131
|
context.clearRenderedCellCache();
|
|
1181
1132
|
context.componentRendererColumns.clear();
|
|
1182
1133
|
}, [context]);
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
*
|
|
1186
|
-
*
|
|
1187
|
-
* @returns The `Document` object used by the component.
|
|
1134
|
+
/**
|
|
1135
|
+
* Get the `Document` object corresponding to the main component element.
|
|
1136
|
+
*
|
|
1137
|
+
* @returns The `Document` object used by the component.
|
|
1188
1138
|
*/
|
|
1189
1139
|
var getOwnerDocument = React.useCallback(function () {
|
|
1190
1140
|
if (isCSR()) {
|
|
@@ -1192,11 +1142,10 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1192
1142
|
}
|
|
1193
1143
|
return null;
|
|
1194
1144
|
}, [hotElementRef]);
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
*
|
|
1198
|
-
*
|
|
1199
|
-
* @returns {Handsontable.GridSettings} New global set of settings for Handsontable.
|
|
1145
|
+
/**
|
|
1146
|
+
* Create a new settings object containing the column settings and global editors and renderers.
|
|
1147
|
+
*
|
|
1148
|
+
* @returns {Handsontable.GridSettings} New global set of settings for Handsontable.
|
|
1200
1149
|
*/
|
|
1201
1150
|
var createNewGlobalSettings = function createNewGlobalSettings() {
|
|
1202
1151
|
var _getHotInstance;
|
|
@@ -1226,9 +1175,8 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1226
1175
|
}
|
|
1227
1176
|
return newSettings;
|
|
1228
1177
|
};
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
* Detect if `autoRowSize` or `autoColumnSize` is defined, and if so, throw an incompatibility warning.
|
|
1178
|
+
/**
|
|
1179
|
+
* Detect if `autoRowSize` or `autoColumnSize` is defined, and if so, throw an incompatibility warning.
|
|
1232
1180
|
*/
|
|
1233
1181
|
var displayAutoSizeWarning = function displayAutoSizeWarning(hotInstance) {
|
|
1234
1182
|
var _hotInstance$getPlugi, _hotInstance$getPlugi2;
|
|
@@ -1238,27 +1186,23 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1238
1186
|
}
|
|
1239
1187
|
}
|
|
1240
1188
|
};
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
* Initialize Handsontable after the component has mounted.
|
|
1189
|
+
/**
|
|
1190
|
+
* Initialize Handsontable after the component has mounted.
|
|
1244
1191
|
*/
|
|
1245
1192
|
React.useEffect(function () {
|
|
1246
1193
|
var newGlobalSettings = createNewGlobalSettings(true);
|
|
1247
|
-
|
|
1248
1194
|
// Update prevProps with the current props
|
|
1249
1195
|
prevProps.current = props;
|
|
1250
1196
|
__hotInstance.current = new Handsontable__default["default"].Core(hotElementRef.current, newGlobalSettings);
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
* Handsontable's `beforeViewRender` hook callback.
|
|
1197
|
+
/**
|
|
1198
|
+
* Handsontable's `beforeViewRender` hook callback.
|
|
1254
1199
|
*/
|
|
1255
1200
|
__hotInstance.current.addHook('beforeViewRender', function () {
|
|
1256
1201
|
context.clearPortalCache();
|
|
1257
1202
|
context.clearRenderedCellCache();
|
|
1258
1203
|
});
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
* Handsontable's `afterViewRender` hook callback.
|
|
1204
|
+
/**
|
|
1205
|
+
* Handsontable's `afterViewRender` hook callback.
|
|
1262
1206
|
*/
|
|
1263
1207
|
__hotInstance.current.addHook('afterViewRender', function () {
|
|
1264
1208
|
context.pushCellPortalsIntoPortalManager();
|
|
@@ -1268,9 +1212,8 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1268
1212
|
if (!displayObsoleteRenderersEditorsWarning(props.children)) {
|
|
1269
1213
|
displayChildrenOfTypeWarning(props.children, HotColumn);
|
|
1270
1214
|
}
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
* Destroy the Handsontable instance when the parent component unmounts.
|
|
1215
|
+
/**
|
|
1216
|
+
* Destroy the Handsontable instance when the parent component unmounts.
|
|
1274
1217
|
*/
|
|
1275
1218
|
return function () {
|
|
1276
1219
|
var _getHotInstance2;
|
|
@@ -1278,24 +1221,21 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1278
1221
|
(_getHotInstance2 = getHotInstance()) === null || _getHotInstance2 === void 0 || _getHotInstance2.destroy();
|
|
1279
1222
|
};
|
|
1280
1223
|
}, []);
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
* Logic performed after the component update.
|
|
1224
|
+
/**
|
|
1225
|
+
* Logic performed after the component update.
|
|
1284
1226
|
*/
|
|
1285
1227
|
useUpdateEffect(function () {
|
|
1286
1228
|
clearCache();
|
|
1287
1229
|
var hotInstance = getHotInstance();
|
|
1288
1230
|
var newGlobalSettings = createNewGlobalSettings(false, prevProps.current);
|
|
1289
|
-
|
|
1290
1231
|
// Update prevProps with the current props
|
|
1291
1232
|
prevProps.current = props;
|
|
1292
1233
|
hotInstance === null || hotInstance === void 0 || hotInstance.updateSettings(newGlobalSettings, false);
|
|
1293
1234
|
displayAutoSizeWarning(hotInstance);
|
|
1294
1235
|
displayObsoleteRenderersEditorsWarning(props.children);
|
|
1295
1236
|
});
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
* Interface exposed to parent components by HotTable instance via React ref
|
|
1237
|
+
/**
|
|
1238
|
+
* Interface exposed to parent components by HotTable instance via React ref
|
|
1299
1239
|
*/
|
|
1300
1240
|
React.useImperativeHandle(ref, function () {
|
|
1301
1241
|
return {
|
|
@@ -1307,12 +1247,11 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1307
1247
|
}
|
|
1308
1248
|
};
|
|
1309
1249
|
});
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
* Render the component.
|
|
1250
|
+
/**
|
|
1251
|
+
* Render the component.
|
|
1313
1252
|
*/
|
|
1314
1253
|
var hotColumnWrapped = React.Children.toArray(props.children).filter(isHotColumn).map(function (childNode, columnIndex) {
|
|
1315
|
-
return
|
|
1254
|
+
return React__default["default"].createElement(HotColumnContextProvider, {
|
|
1316
1255
|
columnIndex: columnIndex,
|
|
1317
1256
|
getOwnerDocument: getOwnerDocument,
|
|
1318
1257
|
key: columnIndex
|
|
@@ -1320,18 +1259,17 @@ var HotTableInner = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
1320
1259
|
});
|
|
1321
1260
|
var containerProps = getContainerAttributesProps(props);
|
|
1322
1261
|
var editorPortal = createEditorPortal(getOwnerDocument(), props.editor);
|
|
1323
|
-
return
|
|
1262
|
+
return React__default["default"].createElement(React.Fragment, null, React__default["default"].createElement("div", Object.assign({
|
|
1324
1263
|
ref: hotElementRef
|
|
1325
|
-
}, containerProps), hotColumnWrapped),
|
|
1264
|
+
}, containerProps), hotColumnWrapped), React__default["default"].createElement(RenderersPortalManager, {
|
|
1326
1265
|
ref: context.setRenderersPortalManagerRef
|
|
1327
|
-
}),
|
|
1266
|
+
}), React__default["default"].createElement(EditorContextProvider, {
|
|
1328
1267
|
hooksRef: globalEditorHooksRef,
|
|
1329
1268
|
hotCustomEditorInstanceRef: globalEditorClassInstance
|
|
1330
1269
|
}, editorPortal));
|
|
1331
1270
|
});
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
* Prop types to be checked at runtime.
|
|
1271
|
+
/**
|
|
1272
|
+
* Prop types to be checked at runtime.
|
|
1335
1273
|
*/
|
|
1336
1274
|
HotTableInner.propTypes = {
|
|
1337
1275
|
style: PropTypes.object,
|
|
@@ -1340,42 +1278,41 @@ HotTableInner.propTypes = {
|
|
|
1340
1278
|
};
|
|
1341
1279
|
|
|
1342
1280
|
var _excluded = ["children"];
|
|
1343
|
-
/**
|
|
1344
|
-
* A Handsontable-ReactJS wrapper.
|
|
1345
|
-
*
|
|
1346
|
-
* To implement, use the `HotTable` tag with properties corresponding to Handsontable options.
|
|
1347
|
-
* For example:
|
|
1348
|
-
*
|
|
1349
|
-
* ```js
|
|
1350
|
-
* <HotTable id="hot" data={dataObject} contextMenu={true} colHeaders={true} width={600} height={300} stretchH="all" />
|
|
1351
|
-
*
|
|
1352
|
-
* // is analogous to
|
|
1353
|
-
* let hot = new Handsontable(document.getElementById('hot'), {
|
|
1354
|
-
* data: dataObject,
|
|
1355
|
-
* contextMenu: true,
|
|
1356
|
-
* colHeaders: true,
|
|
1357
|
-
* width: 600
|
|
1358
|
-
* height: 300
|
|
1359
|
-
* });
|
|
1360
|
-
*
|
|
1361
|
-
* ```
|
|
1281
|
+
/**
|
|
1282
|
+
* A Handsontable-ReactJS wrapper.
|
|
1283
|
+
*
|
|
1284
|
+
* To implement, use the `HotTable` tag with properties corresponding to Handsontable options.
|
|
1285
|
+
* For example:
|
|
1286
|
+
*
|
|
1287
|
+
* ```js
|
|
1288
|
+
* <HotTable id="hot" data={dataObject} contextMenu={true} colHeaders={true} width={600} height={300} stretchH="all" />
|
|
1289
|
+
*
|
|
1290
|
+
* // is analogous to
|
|
1291
|
+
* let hot = new Handsontable(document.getElementById('hot'), {
|
|
1292
|
+
* data: dataObject,
|
|
1293
|
+
* contextMenu: true,
|
|
1294
|
+
* colHeaders: true,
|
|
1295
|
+
* width: 600
|
|
1296
|
+
* height: 300
|
|
1297
|
+
* });
|
|
1298
|
+
*
|
|
1299
|
+
* ```
|
|
1362
1300
|
*/
|
|
1363
|
-
var HotTable =
|
|
1301
|
+
var HotTable = React.forwardRef(function (_ref, ref) {
|
|
1364
1302
|
var _props$id;
|
|
1365
1303
|
var children = _ref.children,
|
|
1366
1304
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
1367
1305
|
var componentId = (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : React.useId();
|
|
1368
|
-
return
|
|
1306
|
+
return React__default["default"].createElement(HotTableContextProvider, null, React__default["default"].createElement(HotTableInner, Object.assign({
|
|
1369
1307
|
id: componentId
|
|
1370
1308
|
}, props, {
|
|
1371
1309
|
ref: ref
|
|
1372
1310
|
}), children));
|
|
1373
1311
|
});
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
*
|
|
1377
|
-
*
|
|
1378
|
-
* @returns The version number of the package.
|
|
1312
|
+
/**
|
|
1313
|
+
* Package version.
|
|
1314
|
+
*
|
|
1315
|
+
* @returns The version number of the package.
|
|
1379
1316
|
*/
|
|
1380
1317
|
HotTable.version = version;
|
|
1381
1318
|
|