handsontable 0.0.0-next-2787440-20221201 → 0.0.0-next-c8630a2-20221202

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 (42) hide show
  1. package/base.js +2 -2
  2. package/base.mjs +2 -2
  3. package/core.js +32 -23
  4. package/core.mjs +28 -19
  5. package/dataMap/dataMap.js +1 -4
  6. package/dataMap/dataMap.mjs +2 -5
  7. package/dataMap/metaManager/metaLayers/cellMeta.js +4 -5
  8. package/dataMap/metaManager/metaLayers/cellMeta.mjs +5 -6
  9. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
  10. package/dataMap/metaManager/metaLayers/columnMeta.mjs +2 -2
  11. package/dataMap/metaManager/metaLayers/globalMeta.js +14 -1
  12. package/dataMap/metaManager/metaLayers/globalMeta.mjs +15 -2
  13. package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
  14. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  15. package/dataMap/metaManager/metaSchema.js +28 -35
  16. package/dataMap/metaManager/metaSchema.mjs +28 -35
  17. package/dataMap/metaManager/utils.js +44 -14
  18. package/dataMap/metaManager/utils.mjs +44 -14
  19. package/dist/handsontable.css +2 -2
  20. package/dist/handsontable.full.css +2 -2
  21. package/dist/handsontable.full.js +1715 -1720
  22. package/dist/handsontable.full.min.css +2 -2
  23. package/dist/handsontable.full.min.js +84 -84
  24. package/dist/handsontable.js +1370 -1375
  25. package/dist/handsontable.min.css +2 -2
  26. package/dist/handsontable.min.js +3 -3
  27. package/editors/registry.js +3 -0
  28. package/editors/registry.mjs +3 -0
  29. package/helpers/data.d.ts +0 -1
  30. package/helpers/data.js +0 -49
  31. package/helpers/data.mjs +1 -49
  32. package/helpers/mixed.js +1 -1
  33. package/helpers/mixed.mjs +1 -1
  34. package/helpers/object.js +1 -1
  35. package/helpers/object.mjs +1 -1
  36. package/package.json +1 -1
  37. package/plugins/columnSummary/columnSummary.js +5 -5
  38. package/plugins/columnSummary/columnSummary.mjs +5 -5
  39. package/plugins/formulas/formulas.js +6 -6
  40. package/plugins/formulas/formulas.mjs +6 -6
  41. package/shortcuts/manager.js +1 -1
  42. package/shortcuts/manager.mjs +1 -1
@@ -63,7 +63,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
63
63
  * ::: only-for react
64
64
  *
65
65
  * To apply configuration options, pass them as individual props
66
- * of the [`HotTable`](@/guides/getting-started/installation.md##hottable-component)
66
+ * of the [`HotTable`](@/guides/getting-started/installation.md#use-the-hottable-component)
67
67
  * or [`HotColumn`](@/guides/columns/react-hot-column.md) components.
68
68
  *
69
69
  * Read more on the [Configuration options](@/guides/getting-started/configuration-options.md) page.
@@ -93,10 +93,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
93
93
  * :::
94
94
  *
95
95
  * Depending on your needs, you can apply [configuration options](@/api/options.md) to different elements of your grid:
96
- * - [The entire grid](@/guides/getting-started/configuration-options.md#setting-grid-options)
97
- * - [Individual columns](@/guides/getting-started/configuration-options.md#setting-column-options)
98
- * - [Individual rows](@/guides/getting-started/configuration-options.md#setting-row-options)
99
- * - [Individual cells](@/guides/getting-started/configuration-options.md#setting-cell-options)
96
+ * - [The entire grid](@/guides/getting-started/configuration-options.md#set-grid-options)
97
+ * - [Individual columns](@/guides/getting-started/configuration-options.md#set-column-options)
98
+ * - [Individual rows](@/guides/getting-started/configuration-options.md#set-row-options)
99
+ * - [Individual cells](@/guides/getting-started/configuration-options.md#set-cell-options)
100
100
  * - [Individual grid elements, based on any logic you implement](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
101
101
  *
102
102
  * Read more:
@@ -109,20 +109,13 @@ var _default = function _default() {
109
109
  /**
110
110
  * Information on which of the meta properties were added automatically.
111
111
  * For example: setting the `renderer` property directly won't extend the `_automaticallyAssignedMetaProps`
112
- * entry, but setting a `type` will modify it to:
113
- * ```
114
- * _automaticallyAssignedMetaProps: {
115
- * renderer: true,
116
- * editor: true,
117
- * validator: true
118
- * }
119
- * ```
112
+ * entry, but setting a `type` will modify it to `Set(3) {'renderer', 'editor', 'validator', ...}`.
120
113
  *
121
114
  * @private
122
- * @type {object}
123
- * @default {}
115
+ * @type {Set}
116
+ * @default undefined
124
117
  */
125
- _automaticallyAssignedMetaProps: {},
118
+ _automaticallyAssignedMetaProps: void 0,
126
119
  /**
127
120
  * The `activeHeaderClassName` option lets you add a CSS class name
128
121
  * to every currently-active, currently-selected header (when a whole column or row is selected).
@@ -496,11 +489,11 @@ var _default = function _default() {
496
489
  /**
497
490
  * The `cell` option lets you apply [configuration options](@/guides/getting-started/configuration-options.md) to individual cells.
498
491
  *
499
- * The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#setting-grid-options),
492
+ * The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#set-grid-options),
500
493
  * and the [`columns`](#columns) options.
501
494
  *
502
495
  * Read more:
503
- * - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#setting-cell-options)
496
+ * - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#set-cell-options)
504
497
  * - [`columns`](#columns)
505
498
  *
506
499
  * @memberof Options#
@@ -537,8 +530,8 @@ var _default = function _default() {
537
530
  * | `prop` | No | String \| Number | If [`data`](#data) is set to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), `prop` is the same number as `column`.<br><br>If [`data`](#data) is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), `prop` is a property name for the column's data object. |
538
531
  *
539
532
  * Read more:
540
- * - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
541
- * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#setting-row-options)
533
+ * - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#implement-custom-logic)
534
+ * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#set-row-options)
542
535
  * - [`columns`](#columns)
543
536
  * - [`cell`](#cell)
544
537
  *
@@ -755,12 +748,12 @@ var _default = function _default() {
755
748
  * - An array of objects (each object represents one column)
756
749
  * - A function that returns an array of objects
757
750
  *
758
- * The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#setting-grid-options).
751
+ * The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#set-grid-options).
759
752
  *
760
753
  * When you use `columns`, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) options are ignored.
761
754
  *
762
755
  * Read more:
763
- * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#setting-column-options)
756
+ * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#set-column-options)
764
757
  * - [`startCols`](#startCols)
765
758
  * - [`minCols`](#minCols)
766
759
  * - [`maxCols`](#maxCols)
@@ -893,12 +886,12 @@ var _default = function _default() {
893
886
  * | `type` | `'sum'` \| `'min'` \| `'max'` \| `'count'` \| `'average'` \| `'custom'` | [Summary function](@/guides/columns/column-summary.md#step-3-calculate-your-summary) |
894
887
  * | `destinationRow` | A number | [Destination cell's row coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
895
888
  * | `destinationColumn` | A number | [Destination cell's column coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
896
- * | `forceNumeric` | `true` \| `false` | [Treat non-numerics as numerics](@/guides/columns/column-summary.md#forcing-numeric-values) |
889
+ * | `forceNumeric` | `true` \| `false` | [Treat non-numerics as numerics](@/guides/columns/column-summary.md#force-numeric-values) |
897
890
  * | `reversedRowCoords` | `true` \| `false` | [Reverse row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
898
- * | `suppressDataTypeErrors` | `true` \| `false` | [Suppress data type errors](@/guides/columns/column-summary.md#throwing-data-type-errors) |
891
+ * | `suppressDataTypeErrors` | `true` \| `false` | [Suppress data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
899
892
  * | `readOnly` | `true` \| `false` | Make summary cell read-only |
900
- * | `roundFloat` | `true` \| `false` | [Round summary result](@/guides/columns/column-summary.md#rounding-a-column-summary-result) |
901
- * | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implementing-a-custom-summary-function) |
893
+ * | `roundFloat` | `true` \| `false` | [Round summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
894
+ * | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
902
895
  *
903
896
  * Read more:
904
897
  * - [Column summary](@/guides/columns/column-summary.md)
@@ -1076,13 +1069,13 @@ var _default = function _default() {
1076
1069
  * | `false` | Disable the [`ContextMenu`](@/api/contextMenu.md) plugin |
1077
1070
  * | `true` | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Use the [default context menu options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options) |
1078
1071
  * | An array | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Modify [individual context menu options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options) |
1079
- * | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration) |
1072
+ * | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-a-fully-custom-configuration) |
1080
1073
  *
1081
1074
  * Read more:
1082
1075
  * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1083
1076
  * - [Context menu: Context menu with default options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
1084
1077
  * - [Context menu: Context menu with specific options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
1085
- * - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
1078
+ * - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-a-fully-custom-configuration)
1086
1079
  * - [Plugins: `ContextMenu`](@/api/contextMenu.md)
1087
1080
  *
1088
1081
  * @memberof Options#
@@ -2579,7 +2572,7 @@ var _default = function _default() {
2579
2572
  *
2580
2573
  * You can set the layout direction only at Handsontable's [initialization](@/guides/getting-started/installation.md#initialize-handsontable). Any change of the `layoutDirection` option after the initialization (e.g. using the [`updateSettings()`](@/api/core.md#updatesettings) method) is ignored.
2581
2574
  *
2582
- * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#setting-grid-options).
2575
+ * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#set-grid-options).
2583
2576
  * You can't set it for individual columns, rows, or cells.
2584
2577
  *
2585
2578
  * You can set the `layoutDirection` option to one of the following strings:
@@ -2651,8 +2644,8 @@ var _default = function _default() {
2651
2644
  * The `locale` option configures Handsontable's [locale](@/guides/internationalization/locale.md) settings.
2652
2645
  *
2653
2646
  * You can set the `locale` option to any valid and canonicalized Unicode BCP 47 locale tag,
2654
- * both for the [entire grid](@/guides/internationalization/locale.md#setting-the-grid-s-locale),
2655
- * and for [individual columns](@/guides/internationalization/locale.md#setting-a-column-s-locale).
2647
+ * both for the [entire grid](@/guides/internationalization/locale.md#set-the-grid-s-locale),
2648
+ * and for [individual columns](@/guides/internationalization/locale.md#set-a-column-s-locale).
2656
2649
  *
2657
2650
  * Read more:
2658
2651
  * - [Locale](@/guides/internationalization/locale.md)
@@ -3305,7 +3298,7 @@ var _default = function _default() {
3305
3298
  * | `true` | Enable the [`PersistentState`](@/api/persistentState.md) plugin |
3306
3299
  *
3307
3300
  * Read more:
3308
- * - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#saving-data-locally)
3301
+ * - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#save-data-locally)
3309
3302
  * - [Plugins: `PersistentState`](@/api/persistentState.md)
3310
3303
  *
3311
3304
  * @memberof Options#
@@ -3748,7 +3741,7 @@ var _default = function _default() {
3748
3741
  * | `'multiple'` | Allow the user to select multiple ranges of cells at a time. |
3749
3742
  *
3750
3743
  * Read more:
3751
- * - [Selection: Selecting ranges](@/guides/cell-features/selection.md#selecting-ranges)
3744
+ * - [Selection: Selecting ranges](@/guides/cell-features/selection.md#select-ranges)
3752
3745
  *
3753
3746
  * @memberof Options#
3754
3747
  * @type {string}
@@ -3839,7 +3832,7 @@ var _default = function _default() {
3839
3832
  * | `true` | - Disable pasting data into this column<br>- On pasting, paste data into the next column to the right |
3840
3833
  *
3841
3834
  * Read more:
3842
- * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#setting-column-options)
3835
+ * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#set-column-options)
3843
3836
  *
3844
3837
  * @memberof Options#
3845
3838
  * @type {boolean}
@@ -3872,7 +3865,7 @@ var _default = function _default() {
3872
3865
  * | `true` | - Disable pasting data into this row<br>- On pasting, paste data into the row below |
3873
3866
  *
3874
3867
  * Read more:
3875
- * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#setting-row-options)
3868
+ * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#set-row-options)
3876
3869
  *
3877
3870
  * @memberof Options#
3878
3871
  * @type {boolean}
@@ -59,7 +59,7 @@ import { isObjectEqual } from "../../helpers/object.mjs";
59
59
  * ::: only-for react
60
60
  *
61
61
  * To apply configuration options, pass them as individual props
62
- * of the [`HotTable`](@/guides/getting-started/installation.md##hottable-component)
62
+ * of the [`HotTable`](@/guides/getting-started/installation.md#use-the-hottable-component)
63
63
  * or [`HotColumn`](@/guides/columns/react-hot-column.md) components.
64
64
  *
65
65
  * Read more on the [Configuration options](@/guides/getting-started/configuration-options.md) page.
@@ -89,10 +89,10 @@ import { isObjectEqual } from "../../helpers/object.mjs";
89
89
  * :::
90
90
  *
91
91
  * Depending on your needs, you can apply [configuration options](@/api/options.md) to different elements of your grid:
92
- * - [The entire grid](@/guides/getting-started/configuration-options.md#setting-grid-options)
93
- * - [Individual columns](@/guides/getting-started/configuration-options.md#setting-column-options)
94
- * - [Individual rows](@/guides/getting-started/configuration-options.md#setting-row-options)
95
- * - [Individual cells](@/guides/getting-started/configuration-options.md#setting-cell-options)
92
+ * - [The entire grid](@/guides/getting-started/configuration-options.md#set-grid-options)
93
+ * - [Individual columns](@/guides/getting-started/configuration-options.md#set-column-options)
94
+ * - [Individual rows](@/guides/getting-started/configuration-options.md#set-row-options)
95
+ * - [Individual cells](@/guides/getting-started/configuration-options.md#set-cell-options)
96
96
  * - [Individual grid elements, based on any logic you implement](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
97
97
  *
98
98
  * Read more:
@@ -105,20 +105,13 @@ export default (function () {
105
105
  /**
106
106
  * Information on which of the meta properties were added automatically.
107
107
  * For example: setting the `renderer` property directly won't extend the `_automaticallyAssignedMetaProps`
108
- * entry, but setting a `type` will modify it to:
109
- * ```
110
- * _automaticallyAssignedMetaProps: {
111
- * renderer: true,
112
- * editor: true,
113
- * validator: true
114
- * }
115
- * ```
108
+ * entry, but setting a `type` will modify it to `Set(3) {'renderer', 'editor', 'validator', ...}`.
116
109
  *
117
110
  * @private
118
- * @type {object}
119
- * @default {}
111
+ * @type {Set}
112
+ * @default undefined
120
113
  */
121
- _automaticallyAssignedMetaProps: {},
114
+ _automaticallyAssignedMetaProps: void 0,
122
115
  /**
123
116
  * The `activeHeaderClassName` option lets you add a CSS class name
124
117
  * to every currently-active, currently-selected header (when a whole column or row is selected).
@@ -492,11 +485,11 @@ export default (function () {
492
485
  /**
493
486
  * The `cell` option lets you apply [configuration options](@/guides/getting-started/configuration-options.md) to individual cells.
494
487
  *
495
- * The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#setting-grid-options),
488
+ * The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#set-grid-options),
496
489
  * and the [`columns`](#columns) options.
497
490
  *
498
491
  * Read more:
499
- * - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#setting-cell-options)
492
+ * - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#set-cell-options)
500
493
  * - [`columns`](#columns)
501
494
  *
502
495
  * @memberof Options#
@@ -533,8 +526,8 @@ export default (function () {
533
526
  * | `prop` | No | String \| Number | If [`data`](#data) is set to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), `prop` is the same number as `column`.<br><br>If [`data`](#data) is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), `prop` is a property name for the column's data object. |
534
527
  *
535
528
  * Read more:
536
- * - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
537
- * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#setting-row-options)
529
+ * - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#implement-custom-logic)
530
+ * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#set-row-options)
538
531
  * - [`columns`](#columns)
539
532
  * - [`cell`](#cell)
540
533
  *
@@ -751,12 +744,12 @@ export default (function () {
751
744
  * - An array of objects (each object represents one column)
752
745
  * - A function that returns an array of objects
753
746
  *
754
- * The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#setting-grid-options).
747
+ * The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#set-grid-options).
755
748
  *
756
749
  * When you use `columns`, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) options are ignored.
757
750
  *
758
751
  * Read more:
759
- * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#setting-column-options)
752
+ * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#set-column-options)
760
753
  * - [`startCols`](#startCols)
761
754
  * - [`minCols`](#minCols)
762
755
  * - [`maxCols`](#maxCols)
@@ -889,12 +882,12 @@ export default (function () {
889
882
  * | `type` | `'sum'` \| `'min'` \| `'max'` \| `'count'` \| `'average'` \| `'custom'` | [Summary function](@/guides/columns/column-summary.md#step-3-calculate-your-summary) |
890
883
  * | `destinationRow` | A number | [Destination cell's row coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
891
884
  * | `destinationColumn` | A number | [Destination cell's column coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
892
- * | `forceNumeric` | `true` \| `false` | [Treat non-numerics as numerics](@/guides/columns/column-summary.md#forcing-numeric-values) |
885
+ * | `forceNumeric` | `true` \| `false` | [Treat non-numerics as numerics](@/guides/columns/column-summary.md#force-numeric-values) |
893
886
  * | `reversedRowCoords` | `true` \| `false` | [Reverse row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
894
- * | `suppressDataTypeErrors` | `true` \| `false` | [Suppress data type errors](@/guides/columns/column-summary.md#throwing-data-type-errors) |
887
+ * | `suppressDataTypeErrors` | `true` \| `false` | [Suppress data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
895
888
  * | `readOnly` | `true` \| `false` | Make summary cell read-only |
896
- * | `roundFloat` | `true` \| `false` | [Round summary result](@/guides/columns/column-summary.md#rounding-a-column-summary-result) |
897
- * | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implementing-a-custom-summary-function) |
889
+ * | `roundFloat` | `true` \| `false` | [Round summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
890
+ * | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
898
891
  *
899
892
  * Read more:
900
893
  * - [Column summary](@/guides/columns/column-summary.md)
@@ -1072,13 +1065,13 @@ export default (function () {
1072
1065
  * | `false` | Disable the [`ContextMenu`](@/api/contextMenu.md) plugin |
1073
1066
  * | `true` | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Use the [default context menu options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options) |
1074
1067
  * | An array | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Modify [individual context menu options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options) |
1075
- * | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration) |
1068
+ * | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-a-fully-custom-configuration) |
1076
1069
  *
1077
1070
  * Read more:
1078
1071
  * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1079
1072
  * - [Context menu: Context menu with default options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
1080
1073
  * - [Context menu: Context menu with specific options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
1081
- * - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
1074
+ * - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-a-fully-custom-configuration)
1082
1075
  * - [Plugins: `ContextMenu`](@/api/contextMenu.md)
1083
1076
  *
1084
1077
  * @memberof Options#
@@ -2575,7 +2568,7 @@ export default (function () {
2575
2568
  *
2576
2569
  * You can set the layout direction only at Handsontable's [initialization](@/guides/getting-started/installation.md#initialize-handsontable). Any change of the `layoutDirection` option after the initialization (e.g. using the [`updateSettings()`](@/api/core.md#updatesettings) method) is ignored.
2577
2570
  *
2578
- * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#setting-grid-options).
2571
+ * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#set-grid-options).
2579
2572
  * You can't set it for individual columns, rows, or cells.
2580
2573
  *
2581
2574
  * You can set the `layoutDirection` option to one of the following strings:
@@ -2647,8 +2640,8 @@ export default (function () {
2647
2640
  * The `locale` option configures Handsontable's [locale](@/guides/internationalization/locale.md) settings.
2648
2641
  *
2649
2642
  * You can set the `locale` option to any valid and canonicalized Unicode BCP 47 locale tag,
2650
- * both for the [entire grid](@/guides/internationalization/locale.md#setting-the-grid-s-locale),
2651
- * and for [individual columns](@/guides/internationalization/locale.md#setting-a-column-s-locale).
2643
+ * both for the [entire grid](@/guides/internationalization/locale.md#set-the-grid-s-locale),
2644
+ * and for [individual columns](@/guides/internationalization/locale.md#set-a-column-s-locale).
2652
2645
  *
2653
2646
  * Read more:
2654
2647
  * - [Locale](@/guides/internationalization/locale.md)
@@ -3301,7 +3294,7 @@ export default (function () {
3301
3294
  * | `true` | Enable the [`PersistentState`](@/api/persistentState.md) plugin |
3302
3295
  *
3303
3296
  * Read more:
3304
- * - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#saving-data-locally)
3297
+ * - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#save-data-locally)
3305
3298
  * - [Plugins: `PersistentState`](@/api/persistentState.md)
3306
3299
  *
3307
3300
  * @memberof Options#
@@ -3744,7 +3737,7 @@ export default (function () {
3744
3737
  * | `'multiple'` | Allow the user to select multiple ranges of cells at a time. |
3745
3738
  *
3746
3739
  * Read more:
3747
- * - [Selection: Selecting ranges](@/guides/cell-features/selection.md#selecting-ranges)
3740
+ * - [Selection: Selecting ranges](@/guides/cell-features/selection.md#select-ranges)
3748
3741
  *
3749
3742
  * @memberof Options#
3750
3743
  * @type {string}
@@ -3835,7 +3828,7 @@ export default (function () {
3835
3828
  * | `true` | - Disable pasting data into this column<br>- On pasting, paste data into the next column to the right |
3836
3829
  *
3837
3830
  * Read more:
3838
- * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#setting-column-options)
3831
+ * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#set-column-options)
3839
3832
  *
3840
3833
  * @memberof Options#
3841
3834
  * @type {boolean}
@@ -3868,7 +3861,7 @@ export default (function () {
3868
3861
  * | `true` | - Disable pasting data into this row<br>- On pasting, paste data into the row below |
3869
3862
  *
3870
3863
  * Read more:
3871
- * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#setting-row-options)
3864
+ * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#set-row-options)
3872
3865
  *
3873
3866
  * @memberof Options#
3874
3867
  * @type {boolean}
@@ -3,40 +3,70 @@
3
3
  exports.__esModule = true;
4
4
  exports.assert = assert;
5
5
  exports.columnFactory = columnFactory;
6
- exports.expandMetaType = expandMetaType;
6
+ exports.extendByMetaType = extendByMetaType;
7
7
  exports.isNullish = isNullish;
8
8
  exports.isUnsignedNumber = isUnsignedNumber;
9
+ require("core-js/modules/es.array.iterator.js");
10
+ require("core-js/modules/es.object.to-string.js");
11
+ require("core-js/modules/es.set.js");
12
+ require("core-js/modules/es.string.iterator.js");
13
+ require("core-js/modules/web.dom-collections.iterator.js");
9
14
  require("core-js/modules/es.number.is-integer.js");
10
15
  require("core-js/modules/es.number.constructor.js");
11
16
  var _object = require("../../helpers/object");
12
17
  var _registry = require("../../cellTypes/registry");
18
+ /**
19
+ * Checks if the given property can be overwritten.
20
+ *
21
+ * @param {string} propertyName The property name to check.
22
+ * @param {object} metaObject The current object meta settings.
23
+ * @returns {boolean}
24
+ */
25
+ function canBeOverwritten(propertyName, metaObject) {
26
+ var _metaObject$_automati;
27
+ if (propertyName === 'CELL_TYPE') {
28
+ return false;
29
+ }
30
+ return ((_metaObject$_automati = metaObject._automaticallyAssignedMetaProps) === null || _metaObject$_automati === void 0 ? void 0 : _metaObject$_automati.has(propertyName)) || !(0, _object.hasOwnProperty)(metaObject, propertyName);
31
+ }
32
+
13
33
  /**
14
34
  * Expands "type" property of the meta object to single values. For example `type: 'numeric'` sets
15
35
  * "renderer", "editor", "validator" properties to specific functions designed for numeric values.
16
36
  * If "type" is passed as an object that object will be returned, excluding properties that
17
- * already exist in the "metaObject" if passed.
37
+ * already exist in the "metaObject".
38
+ *
39
+ * The function utilizes `_automaticallyAssignedMetaProps` meta property that allows tracking what
40
+ * properties are changed by the "type" expanding feature. That properties can be always overwritten by
41
+ * the user.
18
42
  *
19
- * @param {object|string} type Type to expand;.
20
- * @param {object|undefined} [metaObject] Source meta object.
21
- * @returns {object|undefined}
43
+ * @param {object} metaObject The meta object.
44
+ * @param {object} settings The settings object with the "type" setting.
45
+ * @param {object} settingsToCompareWith The object to compare which properties need to be updated.
22
46
  */
23
- function expandMetaType(type, metaObject) {
24
- var validType = typeof type === 'string' ? (0, _registry.getCellType)(type) : type;
47
+ function extendByMetaType(metaObject, settings) {
48
+ var settingsToCompareWith = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : metaObject;
49
+ var validType = typeof settings.type === 'string' ? (0, _registry.getCellType)(settings.type) : settings.type;
50
+ if (metaObject._automaticallyAssignedMetaProps) {
51
+ (0, _object.objectEach)(settings, function (value, key) {
52
+ return void metaObject._automaticallyAssignedMetaProps.delete(key);
53
+ });
54
+ }
25
55
  if (!(0, _object.isObject)(validType)) {
26
56
  return;
27
57
  }
28
- var preventSourceOverwrite = (0, _object.isObject)(metaObject);
58
+ if (settingsToCompareWith === metaObject && !metaObject._automaticallyAssignedMetaProps) {
59
+ metaObject._automaticallyAssignedMetaProps = new Set();
60
+ }
29
61
  var expandedType = {};
30
62
  (0, _object.objectEach)(validType, function (value, property) {
31
- var _metaObject$_automati;
32
- if (property !== 'CELL_TYPE' && (!preventSourceOverwrite || preventSourceOverwrite && (!(0, _object.hasOwnProperty)(metaObject, property) || (metaObject === null || metaObject === void 0 ? void 0 : (_metaObject$_automati = metaObject._automaticallyAssignedMetaProps) === null || _metaObject$_automati === void 0 ? void 0 : _metaObject$_automati[property]) === true))) {
63
+ if (canBeOverwritten(property, settingsToCompareWith)) {
64
+ var _metaObject$_automati2;
33
65
  expandedType[property] = value;
34
- if (metaObject !== null && metaObject !== void 0 && metaObject._automaticallyAssignedMetaProps) {
35
- metaObject._automaticallyAssignedMetaProps[property] = true;
36
- }
66
+ (_metaObject$_automati2 = metaObject._automaticallyAssignedMetaProps) === null || _metaObject$_automati2 === void 0 ? void 0 : _metaObject$_automati2.add(property);
37
67
  }
38
68
  });
39
- return expandedType;
69
+ (0, _object.extend)(metaObject, expandedType);
40
70
  }
41
71
 
42
72
  /**
@@ -1,34 +1,64 @@
1
+ import "core-js/modules/es.array.iterator.js";
2
+ import "core-js/modules/es.object.to-string.js";
3
+ import "core-js/modules/es.set.js";
4
+ import "core-js/modules/es.string.iterator.js";
5
+ import "core-js/modules/web.dom-collections.iterator.js";
1
6
  import "core-js/modules/es.number.is-integer.js";
2
7
  import "core-js/modules/es.number.constructor.js";
3
- import { hasOwnProperty, isObject, objectEach, inherit } from "../../helpers/object.mjs";
8
+ import { hasOwnProperty, isObject, objectEach, inherit, extend } from "../../helpers/object.mjs";
4
9
  import { getCellType } from "../../cellTypes/registry.mjs";
10
+ /**
11
+ * Checks if the given property can be overwritten.
12
+ *
13
+ * @param {string} propertyName The property name to check.
14
+ * @param {object} metaObject The current object meta settings.
15
+ * @returns {boolean}
16
+ */
17
+ function canBeOverwritten(propertyName, metaObject) {
18
+ var _metaObject$_automati;
19
+ if (propertyName === 'CELL_TYPE') {
20
+ return false;
21
+ }
22
+ return ((_metaObject$_automati = metaObject._automaticallyAssignedMetaProps) === null || _metaObject$_automati === void 0 ? void 0 : _metaObject$_automati.has(propertyName)) || !hasOwnProperty(metaObject, propertyName);
23
+ }
24
+
5
25
  /**
6
26
  * Expands "type" property of the meta object to single values. For example `type: 'numeric'` sets
7
27
  * "renderer", "editor", "validator" properties to specific functions designed for numeric values.
8
28
  * If "type" is passed as an object that object will be returned, excluding properties that
9
- * already exist in the "metaObject" if passed.
29
+ * already exist in the "metaObject".
30
+ *
31
+ * The function utilizes `_automaticallyAssignedMetaProps` meta property that allows tracking what
32
+ * properties are changed by the "type" expanding feature. That properties can be always overwritten by
33
+ * the user.
10
34
  *
11
- * @param {object|string} type Type to expand;.
12
- * @param {object|undefined} [metaObject] Source meta object.
13
- * @returns {object|undefined}
35
+ * @param {object} metaObject The meta object.
36
+ * @param {object} settings The settings object with the "type" setting.
37
+ * @param {object} settingsToCompareWith The object to compare which properties need to be updated.
14
38
  */
15
- export function expandMetaType(type, metaObject) {
16
- var validType = typeof type === 'string' ? getCellType(type) : type;
39
+ export function extendByMetaType(metaObject, settings) {
40
+ var settingsToCompareWith = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : metaObject;
41
+ var validType = typeof settings.type === 'string' ? getCellType(settings.type) : settings.type;
42
+ if (metaObject._automaticallyAssignedMetaProps) {
43
+ objectEach(settings, function (value, key) {
44
+ return void metaObject._automaticallyAssignedMetaProps.delete(key);
45
+ });
46
+ }
17
47
  if (!isObject(validType)) {
18
48
  return;
19
49
  }
20
- var preventSourceOverwrite = isObject(metaObject);
50
+ if (settingsToCompareWith === metaObject && !metaObject._automaticallyAssignedMetaProps) {
51
+ metaObject._automaticallyAssignedMetaProps = new Set();
52
+ }
21
53
  var expandedType = {};
22
54
  objectEach(validType, function (value, property) {
23
- var _metaObject$_automati;
24
- if (property !== 'CELL_TYPE' && (!preventSourceOverwrite || preventSourceOverwrite && (!hasOwnProperty(metaObject, property) || (metaObject === null || metaObject === void 0 ? void 0 : (_metaObject$_automati = metaObject._automaticallyAssignedMetaProps) === null || _metaObject$_automati === void 0 ? void 0 : _metaObject$_automati[property]) === true))) {
55
+ if (canBeOverwritten(property, settingsToCompareWith)) {
56
+ var _metaObject$_automati2;
25
57
  expandedType[property] = value;
26
- if (metaObject !== null && metaObject !== void 0 && metaObject._automaticallyAssignedMetaProps) {
27
- metaObject._automaticallyAssignedMetaProps[property] = true;
28
- }
58
+ (_metaObject$_automati2 = metaObject._automaticallyAssignedMetaProps) === null || _metaObject$_automati2 === void 0 ? void 0 : _metaObject$_automati2.add(property);
29
59
  }
30
60
  });
31
- return expandedType;
61
+ extend(metaObject, expandedType);
32
62
  }
33
63
 
34
64
  /**
@@ -25,8 +25,8 @@
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-2787440-20221201
29
- * Release date: 25/10/2022 (built at 01/12/2022 13:21:24)
28
+ * Version: 0.0.0-next-c8630a2-20221202
29
+ * Release date: 25/10/2022 (built at 02/12/2022 13:36:41)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -25,8 +25,8 @@
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-2787440-20221201
29
- * Release date: 25/10/2022 (built at 01/12/2022 13:21:24)
28
+ * Version: 0.0.0-next-c8630a2-20221202
29
+ * Release date: 25/10/2022 (built at 02/12/2022 13:36:41)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles