handsontable 0.0.0-next-3d099da-20231208 → 0.0.0-next-16c18c1-20231212

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (313) hide show
  1. package/3rdparty/walkontable/src/calculator/index.js +11 -6
  2. package/3rdparty/walkontable/src/calculator/index.mjs +5 -3
  3. package/3rdparty/walkontable/src/calculator/renderAllColumns.js +50 -0
  4. package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +46 -0
  5. package/3rdparty/walkontable/src/calculator/renderAllRows.js +50 -0
  6. package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +46 -0
  7. package/3rdparty/walkontable/src/calculator/viewportColumns.js +3 -124
  8. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +4 -126
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +4 -5
  11. package/3rdparty/walkontable/src/cell/coords.js +2 -2
  12. package/3rdparty/walkontable/src/cell/coords.mjs +2 -2
  13. package/3rdparty/walkontable/src/cell/range.js +2 -2
  14. package/3rdparty/walkontable/src/cell/range.mjs +2 -2
  15. package/3rdparty/walkontable/src/core/_base.js +2 -14
  16. package/3rdparty/walkontable/src/core/_base.mjs +2 -14
  17. package/3rdparty/walkontable/src/core/clone.js +2 -2
  18. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  19. package/3rdparty/walkontable/src/core/core.js +0 -2
  20. package/3rdparty/walkontable/src/core/core.mjs +0 -2
  21. package/3rdparty/walkontable/src/facade/core.js +0 -9
  22. package/3rdparty/walkontable/src/facade/core.mjs +0 -9
  23. package/3rdparty/walkontable/src/filter/column.js +2 -2
  24. package/3rdparty/walkontable/src/filter/column.mjs +2 -2
  25. package/3rdparty/walkontable/src/filter/row.js +2 -2
  26. package/3rdparty/walkontable/src/filter/row.mjs +2 -2
  27. package/3rdparty/walkontable/src/index.js +3 -4
  28. package/3rdparty/walkontable/src/index.mjs +1 -2
  29. package/3rdparty/walkontable/src/overlay/_base.js +2 -2
  30. package/3rdparty/walkontable/src/overlay/_base.mjs +2 -2
  31. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  32. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  33. package/3rdparty/walkontable/src/overlay/top.js +2 -2
  34. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  35. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
  36. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +2 -2
  37. package/3rdparty/walkontable/src/overlays.js +2 -5
  38. package/3rdparty/walkontable/src/overlays.mjs +2 -6
  39. package/3rdparty/walkontable/src/renderer/_base.js +2 -2
  40. package/3rdparty/walkontable/src/renderer/_base.mjs +2 -2
  41. package/3rdparty/walkontable/src/renderer/cells.js +2 -2
  42. package/3rdparty/walkontable/src/renderer/cells.mjs +2 -2
  43. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
  44. package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
  45. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  46. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  47. package/3rdparty/walkontable/src/renderer/rows.js +6 -5
  48. package/3rdparty/walkontable/src/renderer/rows.mjs +6 -5
  49. package/3rdparty/walkontable/src/renderer/table.js +2 -2
  50. package/3rdparty/walkontable/src/renderer/table.mjs +2 -2
  51. package/3rdparty/walkontable/src/scroll.js +2 -2
  52. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  53. package/3rdparty/walkontable/src/selection/manager.js +0 -1
  54. package/3rdparty/walkontable/src/selection/manager.mjs +0 -1
  55. package/3rdparty/walkontable/src/settings.js +5 -2
  56. package/3rdparty/walkontable/src/settings.mjs +4 -2
  57. package/3rdparty/walkontable/src/table.js +2 -3
  58. package/3rdparty/walkontable/src/table.mjs +2 -3
  59. package/3rdparty/walkontable/src/utils/column.js +29 -14
  60. package/3rdparty/walkontable/src/utils/column.mjs +29 -14
  61. package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
  62. package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
  63. package/3rdparty/walkontable/src/utils/nodesPool.js +2 -2
  64. package/3rdparty/walkontable/src/utils/nodesPool.mjs +2 -2
  65. package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
  66. package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
  67. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +2 -2
  68. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +2 -2
  69. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +2 -2
  70. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +2 -2
  71. package/3rdparty/walkontable/src/utils/row.js +2 -2
  72. package/3rdparty/walkontable/src/utils/row.mjs +2 -2
  73. package/3rdparty/walkontable/src/viewport.js +22 -17
  74. package/3rdparty/walkontable/src/viewport.mjs +23 -18
  75. package/base.js +4 -2
  76. package/base.mjs +2 -2
  77. package/core/focusCatcher/index.js +44 -6
  78. package/core/focusCatcher/index.mjs +44 -6
  79. package/core.js +0 -11
  80. package/core.mjs +0 -11
  81. package/dataMap/dataMap.js +3 -2
  82. package/dataMap/dataMap.mjs +2 -2
  83. package/dataMap/dataSource.js +2 -2
  84. package/dataMap/dataSource.mjs +2 -2
  85. package/dataMap/metaManager/lazyFactoryMap.js +2 -2
  86. package/dataMap/metaManager/lazyFactoryMap.mjs +2 -2
  87. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
  88. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
  89. package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
  90. package/dataMap/metaManager/metaLayers/columnMeta.mjs +2 -2
  91. package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
  92. package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -2
  93. package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
  94. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  95. package/dataMap/metaManager/metaSchema.js +28 -2
  96. package/dataMap/metaManager/metaSchema.mjs +28 -2
  97. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
  98. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +2 -2
  99. package/dataMap/metaManager/mods/extendMetaProperties.js +14 -2
  100. package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -2
  101. package/dist/handsontable.css +2 -2
  102. package/dist/handsontable.full.css +3 -3
  103. package/dist/handsontable.full.js +3991 -5589
  104. package/dist/handsontable.full.min.css +3 -3
  105. package/dist/handsontable.full.min.js +66 -71
  106. package/dist/handsontable.js +3070 -4317
  107. package/dist/handsontable.min.css +2 -2
  108. package/dist/handsontable.min.js +35 -39
  109. package/editorManager.js +5 -6
  110. package/editorManager.mjs +5 -6
  111. package/editors/autocompleteEditor/autocompleteEditor.js +2 -4
  112. package/editors/autocompleteEditor/autocompleteEditor.mjs +2 -4
  113. package/editors/baseEditor/baseEditor.js +2 -2
  114. package/editors/baseEditor/baseEditor.mjs +2 -2
  115. package/editors/dateEditor/dateEditor.d.ts +1 -1
  116. package/editors/dateEditor/dateEditor.js +6 -3
  117. package/editors/dateEditor/dateEditor.mjs +6 -3
  118. package/editors/handsontableEditor/handsontableEditor.js +0 -1
  119. package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
  120. package/editors/textEditor/textEditor.js +2 -6
  121. package/editors/textEditor/textEditor.mjs +2 -6
  122. package/eventManager.js +2 -2
  123. package/eventManager.mjs +2 -2
  124. package/helpers/browser.js +5 -2
  125. package/helpers/browser.mjs +5 -2
  126. package/helpers/feature.js +10 -0
  127. package/helpers/feature.mjs +9 -0
  128. package/helpers/mixed.js +1 -1
  129. package/helpers/mixed.mjs +1 -1
  130. package/package.json +3 -4
  131. package/pluginHooks.d.ts +6 -29
  132. package/pluginHooks.js +67 -125
  133. package/pluginHooks.mjs +64 -124
  134. package/plugins/autoColumnSize/autoColumnSize.js +2 -2
  135. package/plugins/autoColumnSize/autoColumnSize.mjs +2 -2
  136. package/plugins/autoRowSize/autoRowSize.js +2 -2
  137. package/plugins/autoRowSize/autoRowSize.mjs +2 -2
  138. package/plugins/autofill/autofill.js +2 -2
  139. package/plugins/autofill/autofill.mjs +2 -2
  140. package/plugins/base/base.js +2 -2
  141. package/plugins/base/base.mjs +2 -2
  142. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -2
  143. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -2
  144. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -2
  145. package/plugins/collapsibleColumns/collapsibleColumns.mjs +2 -2
  146. package/plugins/columnSorting/columnSorting.js +2 -2
  147. package/plugins/columnSorting/columnSorting.mjs +2 -2
  148. package/plugins/columnSorting/columnStatesManager.js +2 -2
  149. package/plugins/columnSorting/columnStatesManager.mjs +2 -2
  150. package/plugins/columnSummary/columnSummary.js +2 -2
  151. package/plugins/columnSummary/columnSummary.mjs +2 -2
  152. package/plugins/columnSummary/endpoints.js +2 -2
  153. package/plugins/columnSummary/endpoints.mjs +2 -2
  154. package/plugins/comments/commentEditor.js +2 -2
  155. package/plugins/comments/commentEditor.mjs +2 -2
  156. package/plugins/comments/comments.js +2 -2
  157. package/plugins/comments/comments.mjs +2 -2
  158. package/plugins/comments/displaySwitch.js +2 -2
  159. package/plugins/comments/displaySwitch.mjs +2 -2
  160. package/plugins/contextMenu/commandExecutor.js +2 -2
  161. package/plugins/contextMenu/commandExecutor.mjs +2 -2
  162. package/plugins/contextMenu/contextMenu.js +2 -2
  163. package/plugins/contextMenu/contextMenu.mjs +2 -2
  164. package/plugins/contextMenu/itemsFactory.js +2 -2
  165. package/plugins/contextMenu/itemsFactory.mjs +2 -2
  166. package/plugins/contextMenu/menu/cursor.js +2 -2
  167. package/plugins/contextMenu/menu/cursor.mjs +2 -2
  168. package/plugins/contextMenu/menu/menu.js +2 -2
  169. package/plugins/contextMenu/menu/menu.mjs +2 -2
  170. package/plugins/copyPaste/clipboardData.js +18 -0
  171. package/plugins/copyPaste/clipboardData.mjs +14 -0
  172. package/plugins/copyPaste/copyPaste.js +131 -53
  173. package/plugins/copyPaste/copyPaste.mjs +134 -56
  174. package/plugins/copyPaste/copyableRanges.js +43 -7
  175. package/plugins/copyPaste/copyableRanges.mjs +42 -7
  176. package/plugins/copyPaste/pasteEvent.mjs +1 -1
  177. package/plugins/customBorders/customBorders.js +2 -7
  178. package/plugins/customBorders/customBorders.mjs +2 -7
  179. package/plugins/customBorders/utils.js +0 -1
  180. package/plugins/customBorders/utils.mjs +0 -1
  181. package/plugins/dragToScroll/dragToScroll.js +2 -2
  182. package/plugins/dragToScroll/dragToScroll.mjs +2 -2
  183. package/plugins/dropdownMenu/dropdownMenu.js +2 -2
  184. package/plugins/dropdownMenu/dropdownMenu.mjs +2 -2
  185. package/plugins/exportFile/dataProvider.js +2 -2
  186. package/plugins/exportFile/dataProvider.mjs +2 -2
  187. package/plugins/exportFile/types/_base.js +2 -2
  188. package/plugins/exportFile/types/_base.mjs +2 -2
  189. package/plugins/filters/component/_base.js +2 -2
  190. package/plugins/filters/component/_base.mjs +2 -2
  191. package/plugins/filters/component/actionBar.js +2 -2
  192. package/plugins/filters/component/actionBar.mjs +2 -2
  193. package/plugins/filters/component/condition.js +2 -2
  194. package/plugins/filters/component/condition.mjs +2 -2
  195. package/plugins/filters/component/operators.js +2 -2
  196. package/plugins/filters/component/operators.mjs +2 -2
  197. package/plugins/filters/component/value.js +2 -2
  198. package/plugins/filters/component/value.mjs +2 -2
  199. package/plugins/filters/conditionCollection.js +2 -2
  200. package/plugins/filters/conditionCollection.mjs +2 -2
  201. package/plugins/filters/conditionUpdateObserver.js +2 -2
  202. package/plugins/filters/conditionUpdateObserver.mjs +2 -2
  203. package/plugins/filters/dataFilter.js +2 -2
  204. package/plugins/filters/dataFilter.mjs +2 -2
  205. package/plugins/filters/filters.js +2 -2
  206. package/plugins/filters/filters.mjs +2 -2
  207. package/plugins/filters/ui/_base.js +2 -2
  208. package/plugins/filters/ui/_base.mjs +2 -2
  209. package/plugins/filters/ui/radioInput.js +1 -1
  210. package/plugins/filters/ui/radioInput.mjs +1 -1
  211. package/plugins/formulas/formulas.js +2 -4
  212. package/plugins/formulas/formulas.mjs +2 -4
  213. package/plugins/formulas/indexSyncer/axisSyncer.js +0 -1
  214. package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -1
  215. package/plugins/manualColumnMove/ui/_base.js +2 -2
  216. package/plugins/manualColumnMove/ui/_base.mjs +2 -2
  217. package/plugins/manualColumnResize/manualColumnResize.js +0 -1
  218. package/plugins/manualColumnResize/manualColumnResize.mjs +0 -1
  219. package/plugins/manualRowMove/ui/_base.js +2 -2
  220. package/plugins/manualRowMove/ui/_base.mjs +2 -2
  221. package/plugins/mergeCells/calculations/autofill.js +2 -2
  222. package/plugins/mergeCells/calculations/autofill.mjs +2 -2
  223. package/plugins/mergeCells/calculations/selection.js +2 -2
  224. package/plugins/mergeCells/calculations/selection.mjs +2 -2
  225. package/plugins/mergeCells/cellCoords.js +2 -2
  226. package/plugins/mergeCells/cellCoords.mjs +2 -2
  227. package/plugins/mergeCells/cellsCollection.js +2 -2
  228. package/plugins/mergeCells/cellsCollection.mjs +2 -2
  229. package/plugins/mergeCells/mergeCells.js +3 -129
  230. package/plugins/mergeCells/mergeCells.mjs +3 -129
  231. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -2
  232. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -2
  233. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
  234. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
  235. package/plugins/nestedHeaders/nestedHeaders.js +43 -89
  236. package/plugins/nestedHeaders/nestedHeaders.mjs +44 -90
  237. package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
  238. package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
  239. package/plugins/nestedHeaders/utils/ghostTable.js +2 -2
  240. package/plugins/nestedHeaders/utils/ghostTable.mjs +2 -2
  241. package/plugins/nestedRows/data/dataManager.js +2 -2
  242. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  243. package/plugins/nestedRows/nestedRows.js +2 -2
  244. package/plugins/nestedRows/nestedRows.mjs +2 -2
  245. package/plugins/nestedRows/ui/_base.js +2 -2
  246. package/plugins/nestedRows/ui/_base.mjs +2 -2
  247. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  248. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  249. package/plugins/nestedRows/utils/rowMoveController.js +2 -2
  250. package/plugins/nestedRows/utils/rowMoveController.mjs +2 -2
  251. package/plugins/persistentState/persistentState.js +2 -2
  252. package/plugins/persistentState/persistentState.mjs +2 -2
  253. package/plugins/persistentState/storage.js +2 -2
  254. package/plugins/persistentState/storage.mjs +2 -2
  255. package/plugins/search/search.js +2 -2
  256. package/plugins/search/search.mjs +2 -2
  257. package/plugins/touchScroll/touchScroll.js +2 -2
  258. package/plugins/touchScroll/touchScroll.mjs +2 -2
  259. package/plugins/trimRows/trimRows.js +2 -2
  260. package/plugins/trimRows/trimRows.mjs +2 -2
  261. package/plugins/undoRedo/undoRedo.js +0 -2
  262. package/plugins/undoRedo/undoRedo.mjs +0 -2
  263. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -1
  264. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -1
  265. package/renderers/checkboxRenderer/checkboxRenderer.js +0 -2
  266. package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -2
  267. package/selection/highlight/highlight.js +2 -3
  268. package/selection/highlight/highlight.mjs +2 -3
  269. package/selection/highlight/visualSelection.js +2 -2
  270. package/selection/highlight/visualSelection.mjs +2 -2
  271. package/selection/index.js +1 -3
  272. package/selection/index.mjs +2 -2
  273. package/selection/range.js +2 -2
  274. package/selection/range.mjs +2 -2
  275. package/selection/selection.js +2 -2
  276. package/selection/selection.mjs +2 -2
  277. package/selection/utils.js +0 -34
  278. package/selection/utils.mjs +0 -33
  279. package/settings.d.ts +2 -1
  280. package/tableView.js +3 -4
  281. package/tableView.mjs +3 -4
  282. package/translations/indexMapper.js +4 -3
  283. package/translations/indexMapper.mjs +2 -2
  284. package/translations/mapCollections/aggregatedCollection.js +2 -2
  285. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  286. package/translations/mapCollections/mapCollection.js +2 -2
  287. package/translations/mapCollections/mapCollection.mjs +2 -2
  288. package/translations/maps/indexMap.js +2 -2
  289. package/translations/maps/indexMap.mjs +2 -2
  290. package/translations/maps/linkedPhysicalIndexToValueMap.js +2 -2
  291. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +2 -2
  292. package/utils/dataStructures/linkedList.js +2 -2
  293. package/utils/dataStructures/linkedList.mjs +2 -2
  294. package/utils/dataStructures/tree.js +2 -2
  295. package/utils/dataStructures/tree.mjs +2 -2
  296. package/utils/ghostTable.js +2 -2
  297. package/utils/ghostTable.mjs +2 -2
  298. package/utils/interval.js +2 -2
  299. package/utils/interval.mjs +2 -2
  300. package/utils/parseTable.js +84 -538
  301. package/utils/parseTable.mjs +83 -534
  302. package/utils/samplesGenerator.js +2 -2
  303. package/utils/samplesGenerator.mjs +2 -2
  304. package/validators/timeValidator/timeValidator.js +0 -1
  305. package/validators/timeValidator/timeValidator.mjs +0 -1
  306. package/plugins/copyPaste/clipboardData/clipboardData.js +0 -588
  307. package/plugins/copyPaste/clipboardData/clipboardData.mjs +0 -584
  308. package/plugins/copyPaste/clipboardData/copyClipboardData.js +0 -69
  309. package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +0 -65
  310. package/plugins/copyPaste/clipboardData/index.js +0 -9
  311. package/plugins/copyPaste/clipboardData/index.mjs +0 -4
  312. package/plugins/copyPaste/clipboardData/pasteClipboardData.js +0 -81
  313. package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +0 -77
@@ -7,8 +7,8 @@ var _object = require("./../helpers/object");
7
7
  var _number = require("./../helpers/number");
8
8
  var _mixed = require("./../helpers/mixed");
9
9
  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; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
11
- 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); }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
12
  /**
13
13
  * @class SamplesGenerator
14
14
  */
@@ -1,8 +1,8 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
3
  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; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- 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); }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { isObject } from "./../helpers/object.mjs";
7
7
  import { rangeEach } from "./../helpers/number.mjs";
8
8
  import { stringify } from "./../helpers/mixed.mjs";
@@ -9,7 +9,6 @@ const STRICT_FORMATS = ['YYYY-MM-DDTHH:mm:ss.SSSZ', 'X',
9
9
  // Unix timestamp
10
10
  'x' // Unix ms timestamp
11
11
  ];
12
-
13
12
  const VALIDATOR_TYPE = exports.VALIDATOR_TYPE = 'time';
14
13
 
15
14
  /**
@@ -5,7 +5,6 @@ const STRICT_FORMATS = ['YYYY-MM-DDTHH:mm:ss.SSSZ', 'X',
5
5
  // Unix timestamp
6
6
  'x' // Unix ms timestamp
7
7
  ];
8
-
9
8
  export const VALIDATOR_TYPE = 'time';
10
9
 
11
10
  /**
@@ -1,588 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
- var _mixed = require("../../../helpers/mixed");
6
- var _object = require("../../../helpers/object");
7
- var _templateLiteralTag = require("../../../helpers/templateLiteralTag");
8
- var _console = require("../../../helpers/console");
9
- var _parseTable = require("../../../utils/parseTable");
10
- var _array = require("../../../helpers/array");
11
- 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; }
12
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
13
- 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); }
14
- const META_HEAD = exports.META_HEAD = ['<meta name="generator" content="Handsontable"/>', '<style type="text/css">td{white-space:normal}br{mso-data-placement:same-cell}</style>'].join('');
15
-
16
- /**
17
- * Creates an object containing information about performed action: copy, cut (performing also copying) or paste.
18
- *
19
- * @private
20
- */
21
- class ClipboardData {
22
- constructor() {
23
- /**
24
- * Sanitized data of "text/html" type inside the clipboard.
25
- *
26
- * @private
27
- * @type {string}
28
- */
29
- _defineProperty(this, "html", void 0);
30
- /**
31
- * Copied data stored as array of arrays.
32
- *
33
- * @private
34
- * @type {string[][]}
35
- */
36
- _defineProperty(this, "data", void 0);
37
- if (this.constructor === ClipboardData) {
38
- throw new Error('The `ClipboardData` is an abstract class and it can\'t be instantiated. Please use ' + '`CopyClipboardData` or `PasteClipboardData` classes instead.');
39
- }
40
- }
41
-
42
- /**
43
- * Gets copied data stored as array of arrays.
44
- *
45
- * @returns {string[][]}
46
- */
47
- getData() {
48
- return (0, _object.deepClone)(this.data);
49
- }
50
-
51
- /**
52
- * Gets meta information about copied data.
53
- *
54
- * @returns {object} Object containing `data`, `colHeaders`, `rowHeaders`, `nestedHeaders`, `mergeCells` keys and
55
- * the corresponding values.
56
- */
57
- getMetaInfo() {
58
- return (0, _parseTable.htmlToGridSettings)(this.html);
59
- }
60
-
61
- /**
62
- * Sets meta information for certain property.
63
- *
64
- * @private
65
- * @param {string} property Property for which the meta information will be changed.
66
- * @param {*} value New meta information value.
67
- */
68
- setMetaInfo(property, value) {
69
- const metaInfo = this.getMetaInfo();
70
- if (value === null) {
71
- delete metaInfo[property];
72
- } else {
73
- metaInfo[property] = value;
74
- }
75
- this.overwriteInfo(metaInfo);
76
- }
77
-
78
- /**
79
- * Overwrite stored data basing on handled configuration.
80
- *
81
- * @private
82
- * @param {object} config Configuration.
83
- */
84
- overwriteInfo(config) {
85
- this.html = [this.isSerializedHandsontable() ? META_HEAD : '', (0, _parseTable.getHTMLFromConfig)(config)].join('');
86
- this.data = (0, _parseTable.getDataWithHeadersByConfig)(config);
87
- }
88
-
89
- /**
90
- * Adjust information about merged cells after removing some columns.
91
- *
92
- * Note: Used indexes refers to processed data, not to the instance of Handsontable.
93
- *
94
- * @private
95
- * @param {object} metaInfo Object containing `data`, `colHeaders`, `rowHeaders`, `nestedHeaders`, `mergeCells`
96
- * keys and the corresponding values, which will be changed by the reference.
97
- * @param {number[]} removedColumns List of column indexes which should be excluded when creating copy/cut/paste data.
98
- */
99
- adjustAfterColumnsRemoval(metaInfo, removedColumns) {
100
- const mergedCells = metaInfo.mergeCells;
101
- if ((0, _mixed.isDefined)(mergedCells) === false) {
102
- return;
103
- }
104
- metaInfo.mergeCells = mergedCells.reduce((filteredNestedCells, mergeArea) => {
105
- const {
106
- col: mergeStartColumn,
107
- colspan
108
- } = mergeArea;
109
- const removedMergedColumns = removedColumns.filter(column => column >= mergeStartColumn && column < mergeStartColumn + colspan);
110
- const removedMergedColumnsLength = removedMergedColumns.length;
111
- if (removedMergedColumnsLength === colspan) {
112
- return filteredNestedCells;
113
- } else if (colspan - removedMergedColumnsLength === 1) {
114
- delete mergeArea.colspan;
115
- } else if (removedMergedColumnsLength > 0) {
116
- mergeArea.colspan = colspan - removedMergedColumnsLength;
117
- }
118
- if (Number.isInteger(mergeArea.rowspan) || Number.isInteger(mergeArea.colspan)) {
119
- return filteredNestedCells.concat(mergeArea);
120
- }
121
- return filteredNestedCells;
122
- }, []);
123
- metaInfo.mergeCells.forEach(mergeArea => {
124
- const shiftedColumns = removedColumns.filter(column => column < mergeArea.col);
125
- const shifterColumnsLength = shiftedColumns.length;
126
- mergeArea.col = mergeArea.col - shifterColumnsLength;
127
- });
128
- if (metaInfo.mergeCells.length === 0) {
129
- delete metaInfo.mergeCells;
130
- }
131
- }
132
-
133
- /**
134
- * Adjust information about merged cells after removing some rows.
135
- *
136
- * Note: Used indexes refers to processed data, not to the instance of Handsontable.
137
- *
138
- * @private
139
- * @param {object} metaInfo Object containing `data`, `colHeaders`, `rowHeaders`, `nestedHeaders`, `mergeCells`
140
- * keys and the corresponding values, which will be changed by the reference.
141
- * @param {number[]} removedRows List of row indexes which should be excluded when creating copy/cut/paste data.
142
- */
143
- adjustAfterRowRemoval(metaInfo, removedRows) {
144
- const mergedCells = metaInfo.mergeCells;
145
- if ((0, _mixed.isDefined)(mergedCells) === false) {
146
- return;
147
- }
148
- metaInfo.mergeCells = mergedCells.reduce((filteredNestedCells, mergeArea) => {
149
- const {
150
- row: mergeStartRow,
151
- rowspan
152
- } = mergeArea;
153
- const removedMergedRows = removedRows.filter(row => row >= mergeStartRow && row < mergeStartRow + rowspan);
154
- const removedMergedRowsLength = removedMergedRows.length;
155
- if (removedMergedRowsLength === rowspan) {
156
- return filteredNestedCells;
157
- } else if (rowspan - removedMergedRowsLength === 1) {
158
- delete mergeArea.rowspan;
159
- } else if (removedMergedRowsLength > 0) {
160
- mergeArea.rowspan = rowspan - removedMergedRowsLength;
161
- }
162
- if (Number.isInteger(mergeArea.rowspan) || Number.isInteger(mergeArea.colspan)) {
163
- return filteredNestedCells.concat(mergeArea);
164
- }
165
- return filteredNestedCells;
166
- }, []);
167
- metaInfo.mergeCells.forEach(mergeArea => {
168
- const shiftedRows = removedRows.filter(row => row < mergeArea.row);
169
- const shifterRowsLength = shiftedRows.length;
170
- mergeArea.row = mergeArea.row - shifterRowsLength;
171
- });
172
- if (metaInfo.mergeCells.length === 0) {
173
- delete metaInfo.mergeCells;
174
- }
175
- }
176
-
177
- /**
178
- * Remove rows from the serialized dataset.
179
- *
180
- * Note: Used indexes refers to processed data, not to the instance of Handsontable. Please keep in mind that headers
181
- * are handled separately from cells and they are recognised using negative indexes.
182
- *
183
- * @param {number[]} rows List of row indexes which should be excluded when creating copy/cut/paste data.
184
- */
185
- removeRows(rows) {
186
- if (this.isSerializedTable() === false) {
187
- return;
188
- }
189
- const metaInfo = this.getMetaInfo();
190
- this.adjustAfterRowRemoval(metaInfo, rows);
191
- const config = {
192
- ...metaInfo,
193
- excludedRows: rows
194
- };
195
- this.overwriteInfo(config);
196
- }
197
-
198
- /**
199
- * Remove columns from the serialized dataset.
200
- *
201
- * Note: Used indexes refers to processed data, not to the instance of Handsontable. Please keep in mind that headers
202
- * are handled separately from cells and they are recognised using negative indexes.
203
- *
204
- * @param {number[]} columns List of column indexes which should be excluded when creating copy/cut/paste data.
205
- */
206
- removeColumns(columns) {
207
- if (this.isSerializedTable() === false) {
208
- return;
209
- }
210
- const metaInfo = this.getMetaInfo();
211
- const {
212
- nestedHeaders,
213
- colHeaders
214
- } = metaInfo;
215
- if (Array.isArray(nestedHeaders) && columns.length > 0) {
216
- (0, _console.warn)('It\'s not possible to modify copied dataset containing nested headers.');
217
- return;
218
- }
219
- if (Array.isArray(colHeaders) && columns.length > 0) {
220
- metaInfo.colHeaders = colHeaders.filter(columnIndex => columns.includes(columnIndex) === false);
221
- }
222
- this.adjustAfterColumnsRemoval(metaInfo, columns);
223
- const config = {
224
- ...metaInfo,
225
- excludedColumns: columns
226
- };
227
- this.overwriteInfo(config);
228
- }
229
-
230
- /**
231
- * Get warning message when there is some problem with row insertion or undefined otherwise.
232
- *
233
- * @private
234
- * @param {number} rowIndex An index of the row at which the new values will be inserted.
235
- * @param {string[]} values List of values.
236
- * @returns {undefined|string}
237
- */
238
- getRowInsertionWarn(rowIndex, values) {
239
- const metaInfo = this.getMetaInfo();
240
- const data = metaInfo.data;
241
- const insertedElementsCount = values.length;
242
- if (Array.isArray(data) === false) {
243
- const {
244
- nestedHeaders,
245
- colHeaders
246
- } = metaInfo;
247
- if (rowIndex > 0) {
248
- return (0, _templateLiteralTag.toSingleLine)`Invalid row insertion done inside some \`CopyPaste\` hook. There is no possibility to\x20
249
- expand an empty dataset at position higher than zero.`;
250
- }
251
- if (Array.isArray(nestedHeaders) && nestedHeaders[0].length !== insertedElementsCount || Array.isArray(colHeaders) && colHeaders.length !== insertedElementsCount) {
252
- return (0, _templateLiteralTag.toSingleLine)`Invalid row insertion done inside some \`CopyPaste\` hook. Please provide proper number\x20
253
- of elements (corresponding to size of the dataset in other rows) for inserted rows.`;
254
- }
255
- return;
256
- }
257
- const numberOfRows = data.length;
258
- const numberOfColumns = data[0].length;
259
- if (rowIndex > numberOfRows) {
260
- return (0, _templateLiteralTag.toSingleLine)`Invalid row insertion done inside some \`CopyPaste\` hook. Please provide an valid row\x20
261
- index (not too high) for row data insertion.`;
262
- }
263
- if (numberOfColumns !== insertedElementsCount) {
264
- return (0, _templateLiteralTag.toSingleLine)`Invalid row insertion done inside some \`CopyPaste\` hook. Please provide proper number of\x20
265
- elements (corresponding to size of the dataset in other rows) for inserted rows.`;
266
- }
267
- }
268
-
269
- /**
270
- * Adjust information about merged cells after row insertion.
271
- *
272
- * Note: Used index refers to processed data, not to the instance of Handsontable.
273
- *
274
- * @private
275
- * @param {object} metaInfo Object containing `data`, `colHeaders`, `rowHeaders`, `nestedHeaders`, `mergeCells`
276
- * keys and the corresponding values, which will be changed by the reference.
277
- * @param {number} rowIndex An index of the row at which the new values have been inserted.
278
- */
279
- adjustAfterRowInsertion(metaInfo, rowIndex) {
280
- const {
281
- mergeCells: mergedCells,
282
- data
283
- } = metaInfo;
284
- mergedCells === null || mergedCells === void 0 || mergedCells.forEach(mergeArea => {
285
- const {
286
- row: mergeStartRow,
287
- col: mergeStartColumn,
288
- rowspan,
289
- colspan
290
- } = mergeArea;
291
- if (rowIndex > mergeStartRow && rowIndex < mergeStartRow + rowspan) {
292
- mergeArea.rowspan += 1;
293
- for (let i = 0; i < colspan; i += 1) {
294
- data[rowIndex][mergeStartColumn + i] = '';
295
- }
296
- }
297
- });
298
- mergedCells === null || mergedCells === void 0 || mergedCells.forEach(mergeArea => {
299
- if (rowIndex <= mergeArea.row) {
300
- mergeArea.row += 1;
301
- }
302
- });
303
- }
304
-
305
- /**
306
- * Insert values at row index.
307
- *
308
- * Note: Used index refers to processed data, not to the instance of Handsontable.
309
- *
310
- * @param {number} rowIndex An index of the row at which the new values will be inserted.
311
- * @param {string[]} values List of values.
312
- */
313
- insertAtRow(rowIndex, values) {
314
- if (this.isSerializedTable() === false) {
315
- return;
316
- }
317
- const metaInfo = this.getMetaInfo();
318
- const data = metaInfo.data || [];
319
- const rowInsertionWarn = this.getRowInsertionWarn(rowIndex, values);
320
- if ((0, _mixed.isDefined)(rowInsertionWarn)) {
321
- (0, _console.warn)(rowInsertionWarn);
322
- return;
323
- }
324
- metaInfo.data = [...data.slice(0, rowIndex), values, ...data.slice(rowIndex)];
325
- this.adjustAfterRowInsertion(metaInfo, rowIndex);
326
- this.overwriteInfo(metaInfo);
327
- }
328
-
329
- /**
330
- * Get warning message when there is some problem with row insertion or undefined otherwise.
331
- *
332
- * @private
333
- * @param {number} columnIndex An index of the column at which the new values will be inserted or removed.
334
- * @param {string[]} values List of values.
335
- * @returns {undefined|string}
336
- */
337
- getColumnInsertionWarn(columnIndex, values) {
338
- const {
339
- nestedHeaders,
340
- data,
341
- colHeaders
342
- } = this.getMetaInfo();
343
- const headerLevels = (0, _mixed.isDefined)(colHeaders) ? 1 : 0;
344
- if (Array.isArray(nestedHeaders)) {
345
- return (0, _templateLiteralTag.toSingleLine)`Invalid column insertion done inside some \`CopyPaste\` hook. It's not possible to modify\x20
346
- copied dataset containing nested headers`;
347
- }
348
- if (Array.isArray(data) === false) {
349
- return;
350
- }
351
- const numberOfRows = data.length + headerLevels;
352
- const numberOfColumns = data[0].length;
353
- if (columnIndex > numberOfColumns) {
354
- return (0, _templateLiteralTag.toSingleLine)`Invalid column insertion done inside some \`CopyPaste\` hook. Please provide an valid\x20
355
- column index (not too high) for column data insertion.`;
356
- }
357
- if (values.length !== numberOfRows) {
358
- return (0, _templateLiteralTag.toSingleLine)`Invalid column insertion done inside some \`CopyPaste\` hook. Please provide proper number\x20
359
- of elements (corresponding to size of the dataset in other columns, including headers) for inserted columns.`;
360
- }
361
- }
362
-
363
- /**
364
- * Adjust information about merged cells after column insertion.
365
- *
366
- * Note: Used index refers to processed data, not to the instance of Handsontable.
367
- *
368
- * @private
369
- * @param {object} metaInfo Object containing `data`, `colHeaders`, `rowHeaders`, `nestedHeaders`, `mergeCells`
370
- * keys and the corresponding values, which will be changed by the reference.
371
- * @param {number} columnIndex An index of the column at which the new values have been inserted.
372
- */
373
- adjustAfterColumnInsertion(metaInfo, columnIndex) {
374
- const {
375
- mergeCells: mergedCells,
376
- data
377
- } = metaInfo;
378
- mergedCells === null || mergedCells === void 0 || mergedCells.forEach(mergeArea => {
379
- const {
380
- row: mergeStartRow,
381
- col: mergeStartColumn,
382
- colspan,
383
- rowspan
384
- } = mergeArea;
385
- if (columnIndex > mergeStartColumn && columnIndex < mergeStartColumn + colspan) {
386
- mergeArea.colspan += 1;
387
- for (let i = 0; i < rowspan; i += 1) {
388
- data[mergeStartRow + i][columnIndex] = '';
389
- }
390
- }
391
- });
392
- mergedCells === null || mergedCells === void 0 || mergedCells.forEach(mergeArea => {
393
- if (columnIndex <= mergeArea.col) {
394
- mergeArea.col += 1;
395
- }
396
- });
397
- }
398
-
399
- /**
400
- * Insert values at column index.
401
- *
402
- * Note: Used index refers to processed data, not to the instance of Handsontable.
403
- *
404
- * @param {number} columnIndex An index of the column at which the new values will be inserted or removed.
405
- * @param {string[]} values List of values.
406
- */
407
- insertAtColumn(columnIndex, values) {
408
- if (this.isSerializedTable() === false) {
409
- return;
410
- }
411
- const metaInfo = this.getMetaInfo();
412
- const {
413
- data,
414
- colHeaders
415
- } = metaInfo;
416
- const headerLevels = (0, _mixed.isDefined)(colHeaders) ? 1 : 0;
417
- const columnInsertionWarn = this.getColumnInsertionWarn(columnIndex, values);
418
- if ((0, _mixed.isDefined)(columnInsertionWarn)) {
419
- (0, _console.warn)(columnInsertionWarn);
420
- return;
421
- }
422
- if (headerLevels > 0) {
423
- colHeaders.splice(columnIndex, 0, values[0]);
424
- }
425
- data === null || data === void 0 || data.forEach((rowData, rowIndex) => {
426
- rowData.splice(columnIndex, 0, values[rowIndex + headerLevels]);
427
- });
428
- this.adjustAfterColumnInsertion(metaInfo, columnIndex);
429
- this.overwriteInfo(metaInfo);
430
- }
431
-
432
- /**
433
- * Get internal column index for nested header with certain row and column indexes.
434
- *
435
- * @private
436
- * @param {number} row Row index related to level of the nested headers.
437
- * @param {number} column Column index for certain row.
438
- * @returns {*}
439
- */
440
- getNestedHeaderColumn(row, column) {
441
- const {
442
- nestedHeaders
443
- } = this.getMetaInfo();
444
- const rowRelative = row + nestedHeaders.length;
445
- const nestedHeadersForLevel = nestedHeaders[rowRelative];
446
- let indexInHeadersArray;
447
- let currentColumnIndex = 0;
448
- if (Array.isArray(nestedHeadersForLevel) === false) {
449
- return;
450
- }
451
- (0, _array.arrayEach)(nestedHeadersForLevel, (nestedHeaderInfo, index) => {
452
- const isSimpleHeader = typeof nestedHeaderInfo === 'string';
453
- if (isSimpleHeader === true) {
454
- if (currentColumnIndex === column) {
455
- indexInHeadersArray = index;
456
- return false;
457
- }
458
- currentColumnIndex += 1;
459
- } else {
460
- const {
461
- colspan
462
- } = nestedHeaderInfo;
463
- if (column < currentColumnIndex + colspan) {
464
- indexInHeadersArray = index;
465
- return false;
466
- }
467
- currentColumnIndex += colspan;
468
- }
469
- });
470
- return indexInHeadersArray;
471
- }
472
-
473
- /**
474
- * Change headers or cells in the serialized dataset.
475
- *
476
- * Note: Used indexes refers to processed data, not to the instance of Handsontable. Please keep in mind that headers
477
- * are handled separately from cells and they are recognised using negative indexes.
478
- *
479
- * @param {number} row Row index of cell which should be changed.
480
- * @param {number} column Column index of cell which should be changed.
481
- * @param {string} value Value for particular index.
482
- */
483
- setCellAt(row, column, value) {
484
- if (this.isSerializedTable() === false) {
485
- return;
486
- }
487
- const config = this.getMetaInfo();
488
- const {
489
- data,
490
- nestedHeaders,
491
- colHeaders
492
- } = config;
493
- if (row < 0) {
494
- if (Array.isArray(nestedHeaders)) {
495
- const rowRelative = row + nestedHeaders.length;
496
- const nestedHeaderColumn = this.getNestedHeaderColumn(row, column);
497
- if ((0, _mixed.isDefined)(nestedHeaderColumn) === false) {
498
- return;
499
- }
500
- const header = nestedHeaders[rowRelative][nestedHeaderColumn];
501
- if ((0, _object.isObject)(header)) {
502
- header.label = value;
503
- } else {
504
- nestedHeaders[rowRelative][nestedHeaderColumn] = value;
505
- }
506
- } else if (Array.isArray(colHeaders)) {
507
- if ((0, _mixed.isDefined)(colHeaders[column])) {
508
- colHeaders[column] = value;
509
- }
510
- }
511
- } else if (row >= 0 && Array.isArray(data) && Array.isArray(data[row]) && (0, _mixed.isDefined)(data[row][column])) {
512
- data[row][column] = value;
513
- }
514
- this.overwriteInfo(config);
515
- }
516
-
517
- /**
518
- * Gets header or cell values from the serialized dataset.
519
- *
520
- * Note: Used indexes refers to processed data, not to the instance of Handsontable. Please keep in mind that headers
521
- * are handled separately from cells and they are recognised using negative indexes.
522
- *
523
- * @param {number} row Row index of cell which should be get.
524
- * @param {number} column Column index of cell which should be get.
525
- * @returns {undefined|string}
526
- */
527
- getCellAt(row, column) {
528
- if (this.isSerializedTable() === false) {
529
- return;
530
- }
531
- const config = this.getMetaInfo();
532
- const {
533
- data,
534
- nestedHeaders,
535
- colHeaders
536
- } = config;
537
- if (row < 0) {
538
- if (Array.isArray(nestedHeaders)) {
539
- const rowRelative = row + nestedHeaders.length;
540
- const nestedHeaderColumn = this.getNestedHeaderColumn(row, column);
541
- if ((0, _mixed.isDefined)(nestedHeaderColumn) === false) {
542
- return;
543
- }
544
- const header = nestedHeaders[rowRelative][nestedHeaderColumn];
545
- if ((0, _object.isObject)(header)) {
546
- return header.label;
547
- }
548
- return header;
549
- } else if (Array.isArray(colHeaders)) {
550
- if ((0, _mixed.isDefined)(colHeaders[column])) {
551
- return colHeaders[column];
552
- }
553
- }
554
- } else if (row >= 0 && Array.isArray(data) && Array.isArray(data[row]) && (0, _mixed.isDefined)(data[row][column])) {
555
- return data[row][column];
556
- }
557
- }
558
-
559
- /**
560
- * Checks whether serialized data is an array.
561
- *
562
- * @private
563
- * @returns {boolean}
564
- */
565
- isSerializedTable() {
566
- return true;
567
- }
568
-
569
- /**
570
- * Checks whether serialized data is a Handsontable.
571
- *
572
- * @private
573
- * @returns {boolean}
574
- */
575
- isSerializedHandsontable() {
576
- return true;
577
- }
578
-
579
- /**
580
- * Gets source of the copied data.
581
- *
582
- * @returns {string}
583
- */
584
- getType() {
585
- return 'handsontable';
586
- }
587
- }
588
- exports.ClipboardData = ClipboardData;