handsontable 15.1.0 → 15.2.0-next-8670a33-20250312

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/3rdparty/walkontable/src/selection/border/border.js +16 -3
  2. package/3rdparty/walkontable/src/selection/border/border.mjs +17 -4
  3. package/3rdparty/walkontable/src/selection/scanner.js +1 -1
  4. package/3rdparty/walkontable/src/selection/scanner.mjs +2 -2
  5. package/3rdparty/walkontable/src/table.js +3 -2
  6. package/3rdparty/walkontable/src/table.mjs +4 -3
  7. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +1 -0
  8. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +1 -0
  9. package/3rdparty/walkontable/src/viewport.js +30 -3
  10. package/3rdparty/walkontable/src/viewport.mjs +30 -3
  11. package/CHANGELOG.md +40 -0
  12. package/base.js +2 -2
  13. package/base.mjs +2 -2
  14. package/core.js +2 -37
  15. package/core.mjs +2 -37
  16. package/dataMap/dataMap.js +4 -12
  17. package/dataMap/dataMap.mjs +4 -12
  18. package/dataMap/dataSource.js +2 -2
  19. package/dataMap/dataSource.mjs +2 -2
  20. package/dataMap/metaManager/metaSchema.js +2 -2
  21. package/dataMap/metaManager/metaSchema.mjs +2 -2
  22. package/dist/handsontable.css +2 -2
  23. package/dist/handsontable.full.css +2 -2
  24. package/dist/handsontable.full.js +494 -400
  25. package/dist/handsontable.full.min.css +2 -2
  26. package/dist/handsontable.full.min.js +73 -73
  27. package/dist/handsontable.js +494 -400
  28. package/dist/handsontable.min.css +2 -2
  29. package/dist/handsontable.min.js +43 -43
  30. package/dist/languages/all.js +139 -28
  31. package/dist/languages/all.min.js +1 -1
  32. package/dist/languages/fa-IR.js +167 -0
  33. package/dist/languages/fa-IR.min.js +1 -0
  34. package/dist/languages/it-IT.js +3 -0
  35. package/dist/languages/it-IT.min.js +1 -1
  36. package/dist/languages/sr-SP.js +3 -0
  37. package/dist/languages/sr-SP.min.js +1 -1
  38. package/editors/autocompleteEditor/autocompleteEditor.js +25 -20
  39. package/editors/autocompleteEditor/autocompleteEditor.mjs +25 -20
  40. package/editors/dateEditor/dateEditor.d.ts +0 -2
  41. package/editors/dateEditor/dateEditor.js +18 -7
  42. package/editors/dateEditor/dateEditor.mjs +17 -6
  43. package/focusManager.js +5 -3
  44. package/focusManager.mjs +6 -4
  45. package/helpers/dom/element.d.ts +1 -0
  46. package/helpers/dom/element.js +21 -2
  47. package/helpers/dom/element.mjs +20 -2
  48. package/helpers/dom/event.js +2 -1
  49. package/helpers/dom/event.mjs +2 -1
  50. package/helpers/mixed.js +2 -2
  51. package/helpers/mixed.mjs +2 -2
  52. package/helpers/number.js +1 -0
  53. package/helpers/number.mjs +1 -0
  54. package/i18n/languages/fa-IR.d.ts +5 -0
  55. package/i18n/languages/fa-IR.js +96 -0
  56. package/i18n/languages/fa-IR.mjs +90 -0
  57. package/i18n/languages/index.d.ts +2 -0
  58. package/i18n/languages/index.js +2 -0
  59. package/i18n/languages/index.mjs +2 -1
  60. package/i18n/languages/it-IT.js +3 -0
  61. package/i18n/languages/it-IT.mjs +3 -0
  62. package/i18n/languages/sr-SP.js +3 -0
  63. package/i18n/languages/sr-SP.mjs +3 -0
  64. package/i18n/phraseFormatters/substituteVariables.js +1 -0
  65. package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
  66. package/languages/all.js +139 -28
  67. package/languages/fa-IR.js +167 -0
  68. package/languages/fa-IR.mjs +92 -0
  69. package/languages/index.js +139 -28
  70. package/languages/index.mjs +2 -1
  71. package/languages/it-IT.js +3 -0
  72. package/languages/it-IT.mjs +3 -0
  73. package/languages/sr-SP.js +3 -0
  74. package/languages/sr-SP.mjs +3 -0
  75. package/package.json +13 -2
  76. package/plugins/columnSorting/columnSorting.js +17 -1
  77. package/plugins/columnSorting/columnSorting.mjs +18 -2
  78. package/plugins/columnSorting/columnStatesManager.js +1 -0
  79. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  80. package/plugins/columnSorting/utils.js +14 -0
  81. package/plugins/columnSorting/utils.mjs +13 -0
  82. package/plugins/comments/comments.js +5 -2
  83. package/plugins/comments/comments.mjs +6 -3
  84. package/plugins/contextMenu/menu/menu.js +9 -3
  85. package/plugins/contextMenu/menu/menu.mjs +9 -3
  86. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -8
  87. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -8
  88. package/plugins/contextMenu/predefinedItems/columnRight.js +2 -9
  89. package/plugins/contextMenu/predefinedItems/columnRight.mjs +2 -9
  90. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -8
  91. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -8
  92. package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -9
  93. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +2 -9
  94. package/plugins/copyPaste/copyPaste.js +3 -3
  95. package/plugins/copyPaste/copyPaste.mjs +4 -4
  96. package/plugins/exportFile/types/csv.js +1 -0
  97. package/plugins/exportFile/types/csv.mjs +1 -0
  98. package/plugins/filters/conditionCollection.js +0 -26
  99. package/plugins/filters/conditionCollection.mjs +0 -26
  100. package/plugins/filters/filters.d.ts +2 -0
  101. package/plugins/filters/filters.js +77 -8
  102. package/plugins/filters/filters.mjs +77 -8
  103. package/plugins/mergeCells/mergeCells.js +9 -6
  104. package/plugins/mergeCells/mergeCells.mjs +9 -6
  105. package/plugins/multiColumnSorting/multiColumnSorting.js +1 -21
  106. package/plugins/multiColumnSorting/multiColumnSorting.mjs +1 -21
  107. package/plugins/nestedHeaders/nestedHeaders.js +5 -3
  108. package/plugins/nestedHeaders/nestedHeaders.mjs +5 -3
  109. package/plugins/nestedHeaders/stateManager/index.js +1 -0
  110. package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
  111. package/plugins/undoRedo/actions/_base.js +10 -0
  112. package/plugins/undoRedo/actions/_base.mjs +10 -0
  113. package/plugins/undoRedo/actions/cellAlignment.js +1 -1
  114. package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
  115. package/plugins/undoRedo/actions/columnMove.js +1 -1
  116. package/plugins/undoRedo/actions/columnMove.mjs +1 -1
  117. package/plugins/undoRedo/actions/columnSort.js +1 -1
  118. package/plugins/undoRedo/actions/columnSort.mjs +1 -1
  119. package/plugins/undoRedo/actions/createColumn.js +1 -1
  120. package/plugins/undoRedo/actions/createColumn.mjs +1 -1
  121. package/plugins/undoRedo/actions/createRow.js +1 -1
  122. package/plugins/undoRedo/actions/createRow.mjs +1 -1
  123. package/plugins/undoRedo/actions/dataChange.js +1 -1
  124. package/plugins/undoRedo/actions/dataChange.mjs +1 -1
  125. package/plugins/undoRedo/actions/filters.js +3 -3
  126. package/plugins/undoRedo/actions/filters.mjs +3 -3
  127. package/plugins/undoRedo/actions/mergeCells.js +4 -1
  128. package/plugins/undoRedo/actions/mergeCells.mjs +4 -1
  129. package/plugins/undoRedo/actions/removeColumn.js +4 -2
  130. package/plugins/undoRedo/actions/removeColumn.mjs +4 -2
  131. package/plugins/undoRedo/actions/removeRow.js +1 -1
  132. package/plugins/undoRedo/actions/removeRow.mjs +1 -1
  133. package/plugins/undoRedo/actions/rowMove.js +1 -1
  134. package/plugins/undoRedo/actions/rowMove.mjs +1 -1
  135. package/plugins/undoRedo/actions/unmergeCells.js +4 -1
  136. package/plugins/undoRedo/actions/unmergeCells.mjs +4 -1
  137. package/plugins/undoRedo/undoRedo.d.ts +48 -17
  138. package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
  139. package/renderers/checkboxRenderer/checkboxRenderer.mjs +2 -2
  140. package/renderers/numericRenderer/numericRenderer.js +10 -2
  141. package/renderers/numericRenderer/numericRenderer.mjs +10 -2
  142. package/renderers/textRenderer/textRenderer.js +3 -12
  143. package/renderers/textRenderer/textRenderer.mjs +4 -13
  144. package/shortcuts/utils.js +1 -0
  145. package/shortcuts/utils.mjs +1 -0
  146. package/styles/handsontable.css +83 -99
  147. package/styles/handsontable.min.css +3 -3
  148. package/styles/ht-theme-horizon.css +14 -2
  149. package/styles/ht-theme-horizon.min.css +3 -3
  150. package/styles/ht-theme-main.css +14 -2
  151. package/styles/ht-theme-main.min.css +3 -3
  152. package/tableView.js +9 -0
  153. package/tableView.mjs +9 -0
  154. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  155. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  156. package/translations/maps/utils/physicallyIndexed.js +1 -0
  157. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  158. package/utils/dataStructures/priorityMap.js +1 -0
  159. package/utils/dataStructures/priorityMap.mjs +1 -0
  160. package/plugins/multiColumnSorting/utils.js +0 -13
  161. package/plugins/multiColumnSorting/utils.mjs +0 -9
package/focusManager.js CHANGED
@@ -183,7 +183,7 @@ class FocusManager {
183
183
  return;
184
184
  }
185
185
  let elementToBeFocused = _classPrivateFieldGet(_hot, this).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
186
- if (!(elementToBeFocused instanceof HTMLElement)) {
186
+ if (!(0, _element.isHTMLElement)(elementToBeFocused)) {
187
187
  elementToBeFocused = element;
188
188
  }
189
189
  if (elementToBeFocused && !((_classPrivateFieldGet4 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
@@ -210,6 +210,8 @@ class FocusManager {
210
210
  let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _classPrivateFieldGet(_refocusDelay, this);
211
211
  // Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
212
212
  if (_classPrivateFieldGet(_hot, this).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened())) {
213
+ var _classPrivateFieldGet6, _classPrivateFieldGet7;
214
+ (_classPrivateFieldGet6 = _classPrivateFieldGet(_hot, this).getActiveEditor()) === null || _classPrivateFieldGet6 === void 0 || (_classPrivateFieldGet7 = _classPrivateFieldGet6.refreshValue) === null || _classPrivateFieldGet7 === void 0 || _classPrivateFieldGet7.call(_classPrivateFieldGet6);
213
215
  if (!_classPrivateFieldGet(_debouncedSelect, this).has(delay)) {
214
216
  _classPrivateFieldGet(_debouncedSelect, this).set(delay, (0, _function.debounce)(() => {
215
217
  var _this$getRefocusEleme;
@@ -222,8 +224,8 @@ class FocusManager {
222
224
  }
223
225
  exports.FocusManager = FocusManager;
224
226
  function _getSelectedCell(callback) {
225
- var _classPrivateFieldGet6;
226
- const highlight = (_classPrivateFieldGet6 = _classPrivateFieldGet(_hot, this).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
227
+ var _classPrivateFieldGet8;
228
+ const highlight = (_classPrivateFieldGet8 = _classPrivateFieldGet(_hot, this).getSelectedRangeLast()) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.highlight;
227
229
  if (!highlight || !_classPrivateFieldGet(_hot, this).selection.isCellVisible(highlight)) {
228
230
  callback(null);
229
231
  return;
package/focusManager.mjs CHANGED
@@ -6,7 +6,7 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
6
6
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
7
7
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
8
8
  import { warn } from "./helpers/console.mjs";
9
- import { isOutsideInput } from "./helpers/dom/element.mjs";
9
+ import { isHTMLElement, isOutsideInput } from "./helpers/dom/element.mjs";
10
10
  import { debounce } from "./helpers/function.mjs";
11
11
  /**
12
12
  * Possible focus modes.
@@ -180,7 +180,7 @@ export class FocusManager {
180
180
  return;
181
181
  }
182
182
  let elementToBeFocused = _classPrivateFieldGet(_hot, this).runHooks('modifyFocusedElement', currentHighlightCoords.row, currentHighlightCoords.col, element);
183
- if (!(elementToBeFocused instanceof HTMLElement)) {
183
+ if (!isHTMLElement(elementToBeFocused)) {
184
184
  elementToBeFocused = element;
185
185
  }
186
186
  if (elementToBeFocused && !((_classPrivateFieldGet4 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet4 !== void 0 && _classPrivateFieldGet4.isOpened())) {
@@ -207,6 +207,8 @@ export class FocusManager {
207
207
  let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _classPrivateFieldGet(_refocusDelay, this);
208
208
  // Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
209
209
  if (_classPrivateFieldGet(_hot, this).getSettings().imeFastEdit && !((_classPrivateFieldGet5 = _classPrivateFieldGet(_hot, this).getActiveEditor()) !== null && _classPrivateFieldGet5 !== void 0 && _classPrivateFieldGet5.isOpened())) {
210
+ var _classPrivateFieldGet6, _classPrivateFieldGet7;
211
+ (_classPrivateFieldGet6 = _classPrivateFieldGet(_hot, this).getActiveEditor()) === null || _classPrivateFieldGet6 === void 0 || (_classPrivateFieldGet7 = _classPrivateFieldGet6.refreshValue) === null || _classPrivateFieldGet7 === void 0 || _classPrivateFieldGet7.call(_classPrivateFieldGet6);
210
212
  if (!_classPrivateFieldGet(_debouncedSelect, this).has(delay)) {
211
213
  _classPrivateFieldGet(_debouncedSelect, this).set(delay, debounce(() => {
212
214
  var _this$getRefocusEleme;
@@ -218,8 +220,8 @@ export class FocusManager {
218
220
  }
219
221
  }
220
222
  function _getSelectedCell(callback) {
221
- var _classPrivateFieldGet6;
222
- const highlight = (_classPrivateFieldGet6 = _classPrivateFieldGet(_hot, this).getSelectedRangeLast()) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.highlight;
223
+ var _classPrivateFieldGet8;
224
+ const highlight = (_classPrivateFieldGet8 = _classPrivateFieldGet(_hot, this).getSelectedRangeLast()) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.highlight;
223
225
  if (!highlight || !_classPrivateFieldGet(_hot, this).selection.isCellVisible(highlight)) {
224
226
  callback(null);
225
227
  return;
@@ -45,4 +45,5 @@ export function isInput(element: HTMLElement): boolean;
45
45
  export function isOutsideInput(element: HTMLElement): boolean;
46
46
  export function selectElementIfAllowed(element: HTMLElement): void;
47
47
  export function isDetached(element: HTMLElement): boolean;
48
+ export function isHTMLElement(element: any): boolean;
48
49
  export const HTML_CHARACTERS: RegExp;
@@ -36,6 +36,7 @@ exports.innerHeight = innerHeight;
36
36
  exports.innerWidth = innerWidth;
37
37
  exports.isChildOf = isChildOf;
38
38
  exports.isDetached = isDetached;
39
+ exports.isHTMLElement = isHTMLElement;
39
40
  exports.isInput = isInput;
40
41
  exports.isOutsideInput = isOutsideInput;
41
42
  exports.isThisHotChild = isThisHotChild;
@@ -1004,20 +1005,26 @@ function getScrollbarWidth() {
1004
1005
  /**
1005
1006
  * Checks if the provided element has a vertical scrollbar.
1006
1007
  *
1007
- * @param {HTMLElement} element An element to check.
1008
+ * @param {HTMLElement|Window} element An element to check.
1008
1009
  * @returns {boolean}
1009
1010
  */
1010
1011
  function hasVerticalScrollbar(element) {
1012
+ if (element instanceof Window) {
1013
+ return element.document.body.scrollHeight > element.innerHeight;
1014
+ }
1011
1015
  return element.offsetWidth !== element.clientWidth;
1012
1016
  }
1013
1017
 
1014
1018
  /**
1015
1019
  * Checks if the provided element has a vertical scrollbar.
1016
1020
  *
1017
- * @param {HTMLElement} element An element to check.
1021
+ * @param {HTMLElement|Window} element An element to check.
1018
1022
  * @returns {boolean}
1019
1023
  */
1020
1024
  function hasHorizontalScrollbar(element) {
1025
+ if (element instanceof Window) {
1026
+ return element.document.body.scrollWidth > element.innerWidth;
1027
+ }
1021
1028
  return element.offsetHeight !== element.clientHeight;
1022
1029
  }
1023
1030
 
@@ -1178,4 +1185,16 @@ function runWithSelectedContendEditableElement(element, callback) {
1178
1185
  makeElementContentEditableAndSelectItsContent(element, invisibleSelection);
1179
1186
  callback();
1180
1187
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
1188
+ }
1189
+
1190
+ /**
1191
+ * Check if the element is HTMLElement.
1192
+ *
1193
+ * @param {*} element Element to check.
1194
+ * @returns {boolean} `true` if the element is HTMLElement.
1195
+ */
1196
+ function isHTMLElement(element) {
1197
+ var _element$ownerDocumen;
1198
+ const OwnElement = element === null || element === void 0 || (_element$ownerDocumen = element.ownerDocument) === null || _element$ownerDocumen === void 0 ? void 0 : _element$ownerDocumen.defaultView.Element;
1199
+ return !!(OwnElement && OwnElement !== null && element instanceof OwnElement);
1181
1200
  }
@@ -944,20 +944,26 @@ export function getScrollbarWidth() {
944
944
  /**
945
945
  * Checks if the provided element has a vertical scrollbar.
946
946
  *
947
- * @param {HTMLElement} element An element to check.
947
+ * @param {HTMLElement|Window} element An element to check.
948
948
  * @returns {boolean}
949
949
  */
950
950
  export function hasVerticalScrollbar(element) {
951
+ if (element instanceof Window) {
952
+ return element.document.body.scrollHeight > element.innerHeight;
953
+ }
951
954
  return element.offsetWidth !== element.clientWidth;
952
955
  }
953
956
 
954
957
  /**
955
958
  * Checks if the provided element has a vertical scrollbar.
956
959
  *
957
- * @param {HTMLElement} element An element to check.
960
+ * @param {HTMLElement|Window} element An element to check.
958
961
  * @returns {boolean}
959
962
  */
960
963
  export function hasHorizontalScrollbar(element) {
964
+ if (element instanceof Window) {
965
+ return element.document.body.scrollWidth > element.innerWidth;
966
+ }
961
967
  return element.offsetHeight !== element.clientHeight;
962
968
  }
963
969
 
@@ -1118,4 +1124,16 @@ export function runWithSelectedContendEditableElement(element, callback) {
1118
1124
  makeElementContentEditableAndSelectItsContent(element, invisibleSelection);
1119
1125
  callback();
1120
1126
  removeContentEditableFromElementAndDeselect(element, invisibleSelection);
1127
+ }
1128
+
1129
+ /**
1130
+ * Check if the element is HTMLElement.
1131
+ *
1132
+ * @param {*} element Element to check.
1133
+ * @returns {boolean} `true` if the element is HTMLElement.
1134
+ */
1135
+ export function isHTMLElement(element) {
1136
+ var _element$ownerDocumen;
1137
+ const OwnElement = element === null || element === void 0 || (_element$ownerDocumen = element.ownerDocument) === null || _element$ownerDocumen === void 0 ? void 0 : _element$ownerDocumen.defaultView.Element;
1138
+ return !!(OwnElement && OwnElement !== null && element instanceof OwnElement);
1121
1139
  }
@@ -7,6 +7,7 @@ exports.isRightClick = isRightClick;
7
7
  exports.isTouchEvent = isTouchEvent;
8
8
  exports.offsetRelativeTo = offsetRelativeTo;
9
9
  exports.stopImmediatePropagation = stopImmediatePropagation;
10
+ var _element = require("./element");
10
11
  /**
11
12
  * Prevent other listeners of the same event from being called.
12
13
  *
@@ -70,7 +71,7 @@ function offsetRelativeTo(event, untilElement) {
70
71
  y: event.offsetY
71
72
  };
72
73
  let element = event.target;
73
- if (!(untilElement instanceof HTMLElement) || element !== untilElement && element.contains(untilElement)) {
74
+ if (!(0, _element.isHTMLElement)(untilElement) || element !== untilElement && element.contains(untilElement)) {
74
75
  return offset;
75
76
  }
76
77
  while (element !== untilElement) {
@@ -1,3 +1,4 @@
1
+ import { isHTMLElement } from "./element.mjs";
1
2
  /**
2
3
  * Prevent other listeners of the same event from being called.
3
4
  *
@@ -61,7 +62,7 @@ export function offsetRelativeTo(event, untilElement) {
61
62
  y: event.offsetY
62
63
  };
63
64
  let element = event.target;
64
- if (!(untilElement instanceof HTMLElement) || element !== untilElement && element.contains(untilElement)) {
65
+ if (!isHTMLElement(untilElement) || element !== untilElement && element.contains(untilElement)) {
65
66
  return offset;
66
67
  }
67
68
  while (element !== untilElement) {
package/helpers/mixed.js CHANGED
@@ -134,7 +134,7 @@ const domMessages = {
134
134
  function _injectProductInfo(key, element) {
135
135
  const hasValidType = !isEmpty(key);
136
136
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
137
- const hotVersion = "15.1.0";
137
+ const hotVersion = "15.2.0-next-8670a33-20250312";
138
138
  let keyValidityDate;
139
139
  let consoleMessageState = 'invalid';
140
140
  let domMessageState = 'invalid';
@@ -142,7 +142,7 @@ function _injectProductInfo(key, element) {
142
142
  const schemaValidity = _checkKeySchema(key);
143
143
  if (hasValidType || isNonCommercial || schemaValidity) {
144
144
  if (schemaValidity) {
145
- const releaseDate = (0, _moment.default)("20/02/2025", 'DD/MM/YYYY');
145
+ const releaseDate = (0, _moment.default)("19/03/2025", 'DD/MM/YYYY');
146
146
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
147
147
  const keyValidityDays = _extractTime(key);
148
148
  keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
package/helpers/mixed.mjs CHANGED
@@ -124,7 +124,7 @@ const domMessages = {
124
124
  export function _injectProductInfo(key, element) {
125
125
  const hasValidType = !isEmpty(key);
126
126
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
127
- const hotVersion = "15.1.0";
127
+ const hotVersion = "15.2.0-next-8670a33-20250312";
128
128
  let keyValidityDate;
129
129
  let consoleMessageState = 'invalid';
130
130
  let domMessageState = 'invalid';
@@ -132,7 +132,7 @@ export function _injectProductInfo(key, element) {
132
132
  const schemaValidity = _checkKeySchema(key);
133
133
  if (hasValidType || isNonCommercial || schemaValidity) {
134
134
  if (schemaValidity) {
135
- const releaseDate = moment("20/02/2025", 'DD/MM/YYYY');
135
+ const releaseDate = moment("19/03/2025", 'DD/MM/YYYY');
136
136
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
137
137
  const keyValidityDays = _extractTime(key);
138
138
  keyValidityDate = moment((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
package/helpers/number.js CHANGED
@@ -14,6 +14,7 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
14
14
  require("core-js/modules/es.set.is-superset-of.v2.js");
15
15
  require("core-js/modules/es.set.symmetric-difference.v2.js");
16
16
  require("core-js/modules/es.set.union.v2.js");
17
+ require("core-js/modules/esnext.iterator.constructor.js");
17
18
  require("core-js/modules/esnext.iterator.map.js");
18
19
  /* eslint-disable jsdoc/require-description-complete-sentence */
19
20
  /**
@@ -5,6 +5,7 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
5
5
  import "core-js/modules/es.set.is-superset-of.v2.js";
6
6
  import "core-js/modules/es.set.symmetric-difference.v2.js";
7
7
  import "core-js/modules/es.set.union.v2.js";
8
+ import "core-js/modules/esnext.iterator.constructor.js";
8
9
  import "core-js/modules/esnext.iterator.map.js";
9
10
  /* eslint-disable jsdoc/require-description-complete-sentence */
10
11
  /**
@@ -0,0 +1,5 @@
1
+ export default dictionary;
2
+ declare const dictionary: {
3
+ [x: string]: string | string[];
4
+ languageCode: 'fa-IR';
5
+ };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var C = _interopRequireWildcard(require("../constants"));
5
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
6
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
7
+ /**
8
+ * @preserve
9
+ * Authors: Ali Almasi
10
+ * Last updated: Jan 19, 2025
11
+ *
12
+ * Description: Definition file for Farsi - Iran language-country.
13
+ */
14
+
15
+ const dictionary = {
16
+ languageCode: 'fa-IR',
17
+ [C.CONTEXTMENU_ITEMS_NO_ITEMS]: 'هیچ گزینه ای در دسترس نیست',
18
+ [C.CONTEXTMENU_ITEMS_ROW_ABOVE]: 'درج ردیف در بالا',
19
+ [C.CONTEXTMENU_ITEMS_ROW_BELOW]: 'درج ردیف در پایین',
20
+ [C.CONTEXTMENU_ITEMS_INSERT_LEFT]: 'درج ستون در چپ',
21
+ [C.CONTEXTMENU_ITEMS_INSERT_RIGHT]: 'درج ستون در راست',
22
+ [C.CONTEXTMENU_ITEMS_REMOVE_ROW]: ['حذف ردیف', 'حذف ردیف ها'],
23
+ [C.CONTEXTMENU_ITEMS_REMOVE_COLUMN]: ['حذف ستون', 'حذف ستون ها'],
24
+ [C.CONTEXTMENU_ITEMS_UNDO]: 'واگرد',
25
+ [C.CONTEXTMENU_ITEMS_REDO]: 'بازگردانی',
26
+ [C.CONTEXTMENU_ITEMS_READ_ONLY]: 'فقط خواندنی',
27
+ [C.CONTEXTMENU_ITEMS_CLEAR_COLUMN]: 'پاک کردن ستون',
28
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT]: 'تراز',
29
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]: 'چپ',
30
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]: 'وسط',
31
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]: 'راست',
32
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]: 'میزان',
33
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]: 'بالا',
34
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]: 'میانه',
35
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]: 'پایین',
36
+ [C.CONTEXTMENU_ITEMS_FREEZE_COLUMN]: 'انجماد ستون',
37
+ [C.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]: 'باز کردن ستون',
38
+ [C.CONTEXTMENU_ITEMS_BORDERS]: 'مرز ها',
39
+ [C.CONTEXTMENU_ITEMS_BORDERS_TOP]: 'بالا',
40
+ [C.CONTEXTMENU_ITEMS_BORDERS_RIGHT]: 'راست',
41
+ [C.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]: 'پایین',
42
+ [C.CONTEXTMENU_ITEMS_BORDERS_LEFT]: 'چپ',
43
+ [C.CONTEXTMENU_ITEMS_REMOVE_BORDERS]: 'حذف مرز (ها)',
44
+ [C.CONTEXTMENU_ITEMS_ADD_COMMENT]: 'افزودن کامنت',
45
+ [C.CONTEXTMENU_ITEMS_EDIT_COMMENT]: 'تغییر کامنت',
46
+ [C.CONTEXTMENU_ITEMS_REMOVE_COMMENT]: 'حذف کامنت',
47
+ [C.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]: 'فقط خواندنی کردن کامنت',
48
+ [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'ادغام سلول ها',
49
+ [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'جدا کردن سلول ها',
50
+ [C.CONTEXTMENU_ITEMS_COPY]: 'کپی',
51
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['کپی با سر ستون', 'کپی با سرستون ها'],
52
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['کپی با سرستون گروه', 'کپی با سرستون گروه ها'],
53
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['فقط کپی سرستون', 'فقط کپی سرستون ها'],
54
+ [C.CONTEXTMENU_ITEMS_CUT]: 'بریدن',
55
+ [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'درج زیر ردیف',
56
+ [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'جدا کردن از سرردیف',
57
+ [C.CONTEXTMENU_ITEMS_HIDE_COLUMN]: ['پنهان کردن ستون', 'پنهان کردن ستون ها'],
58
+ [C.CONTEXTMENU_ITEMS_SHOW_COLUMN]: ['نمایش ستون', 'نمایش ستون ها'],
59
+ [C.CONTEXTMENU_ITEMS_HIDE_ROW]: ['پنهان کردن ردیف', 'پنهان کردن ردیف ها'],
60
+ [C.CONTEXTMENU_ITEMS_SHOW_ROW]: ['نمایش ردیف', 'نمایش ردیف ها'],
61
+ [C.FILTERS_CONDITIONS_NONE]: 'هیچ',
62
+ [C.FILTERS_CONDITIONS_EMPTY]: 'خالی است',
63
+ [C.FILTERS_CONDITIONS_NOT_EMPTY]: 'خالی نیست',
64
+ [C.FILTERS_CONDITIONS_EQUAL]: 'برابر است با',
65
+ [C.FILTERS_CONDITIONS_NOT_EQUAL]: 'برابر نیست با',
66
+ [C.FILTERS_CONDITIONS_BEGINS_WITH]: 'شروع می شود با',
67
+ [C.FILTERS_CONDITIONS_ENDS_WITH]: 'پایان می یابد با',
68
+ [C.FILTERS_CONDITIONS_CONTAINS]: 'شامل می شود',
69
+ [C.FILTERS_CONDITIONS_NOT_CONTAIN]: 'شامل نمی شود',
70
+ [C.FILTERS_CONDITIONS_GREATER_THAN]: 'بزرگ تر',
71
+ [C.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]: 'بزرگتر مساوی',
72
+ [C.FILTERS_CONDITIONS_LESS_THAN]: 'کوچکتر',
73
+ [C.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]: 'کوچکتر مساوی',
74
+ [C.FILTERS_CONDITIONS_BETWEEN]: 'در میان است',
75
+ [C.FILTERS_CONDITIONS_NOT_BETWEEN]: 'در میان نیست',
76
+ [C.FILTERS_CONDITIONS_AFTER]: 'بعد',
77
+ [C.FILTERS_CONDITIONS_BEFORE]: 'قبل',
78
+ [C.FILTERS_CONDITIONS_TODAY]: 'امروز',
79
+ [C.FILTERS_CONDITIONS_TOMORROW]: 'فردا',
80
+ [C.FILTERS_CONDITIONS_YESTERDAY]: 'دیروز',
81
+ [C.FILTERS_VALUES_BLANK_CELLS]: 'سلول های خالی',
82
+ [C.FILTERS_DIVS_FILTER_BY_CONDITION]: 'فیلتر بر اساس شرایط',
83
+ [C.FILTERS_DIVS_FILTER_BY_VALUE]: 'فیلتر بر اساس مقدار',
84
+ [C.FILTERS_LABELS_CONJUNCTION]: 'و',
85
+ [C.FILTERS_LABELS_DISJUNCTION]: 'یا',
86
+ [C.FILTERS_BUTTONS_SELECT_ALL]: 'انتخاب همه',
87
+ [C.FILTERS_BUTTONS_CLEAR]: 'پاک کردن',
88
+ [C.FILTERS_BUTTONS_OK]: 'تایید',
89
+ [C.FILTERS_BUTTONS_CANCEL]: 'لغو',
90
+ [C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'جستجو',
91
+ [C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'مقدار',
92
+ [C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'مقدار دوم',
93
+ [C.CHECKBOX_CHECKED]: 'چک شده',
94
+ [C.CHECKBOX_UNCHECKED]: 'چک نشده'
95
+ };
96
+ var _default = exports.default = dictionary;
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @preserve
3
+ * Authors: Ali Almasi
4
+ * Last updated: Jan 19, 2025
5
+ *
6
+ * Description: Definition file for Farsi - Iran language-country.
7
+ */
8
+ import * as C from "../constants.mjs";
9
+ const dictionary = {
10
+ languageCode: 'fa-IR',
11
+ [C.CONTEXTMENU_ITEMS_NO_ITEMS]: 'هیچ گزینه ای در دسترس نیست',
12
+ [C.CONTEXTMENU_ITEMS_ROW_ABOVE]: 'درج ردیف در بالا',
13
+ [C.CONTEXTMENU_ITEMS_ROW_BELOW]: 'درج ردیف در پایین',
14
+ [C.CONTEXTMENU_ITEMS_INSERT_LEFT]: 'درج ستون در چپ',
15
+ [C.CONTEXTMENU_ITEMS_INSERT_RIGHT]: 'درج ستون در راست',
16
+ [C.CONTEXTMENU_ITEMS_REMOVE_ROW]: ['حذف ردیف', 'حذف ردیف ها'],
17
+ [C.CONTEXTMENU_ITEMS_REMOVE_COLUMN]: ['حذف ستون', 'حذف ستون ها'],
18
+ [C.CONTEXTMENU_ITEMS_UNDO]: 'واگرد',
19
+ [C.CONTEXTMENU_ITEMS_REDO]: 'بازگردانی',
20
+ [C.CONTEXTMENU_ITEMS_READ_ONLY]: 'فقط خواندنی',
21
+ [C.CONTEXTMENU_ITEMS_CLEAR_COLUMN]: 'پاک کردن ستون',
22
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT]: 'تراز',
23
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]: 'چپ',
24
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]: 'وسط',
25
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]: 'راست',
26
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]: 'میزان',
27
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]: 'بالا',
28
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]: 'میانه',
29
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]: 'پایین',
30
+ [C.CONTEXTMENU_ITEMS_FREEZE_COLUMN]: 'انجماد ستون',
31
+ [C.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]: 'باز کردن ستون',
32
+ [C.CONTEXTMENU_ITEMS_BORDERS]: 'مرز ها',
33
+ [C.CONTEXTMENU_ITEMS_BORDERS_TOP]: 'بالا',
34
+ [C.CONTEXTMENU_ITEMS_BORDERS_RIGHT]: 'راست',
35
+ [C.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]: 'پایین',
36
+ [C.CONTEXTMENU_ITEMS_BORDERS_LEFT]: 'چپ',
37
+ [C.CONTEXTMENU_ITEMS_REMOVE_BORDERS]: 'حذف مرز (ها)',
38
+ [C.CONTEXTMENU_ITEMS_ADD_COMMENT]: 'افزودن کامنت',
39
+ [C.CONTEXTMENU_ITEMS_EDIT_COMMENT]: 'تغییر کامنت',
40
+ [C.CONTEXTMENU_ITEMS_REMOVE_COMMENT]: 'حذف کامنت',
41
+ [C.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]: 'فقط خواندنی کردن کامنت',
42
+ [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'ادغام سلول ها',
43
+ [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'جدا کردن سلول ها',
44
+ [C.CONTEXTMENU_ITEMS_COPY]: 'کپی',
45
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['کپی با سر ستون', 'کپی با سرستون ها'],
46
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['کپی با سرستون گروه', 'کپی با سرستون گروه ها'],
47
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['فقط کپی سرستون', 'فقط کپی سرستون ها'],
48
+ [C.CONTEXTMENU_ITEMS_CUT]: 'بریدن',
49
+ [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'درج زیر ردیف',
50
+ [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'جدا کردن از سرردیف',
51
+ [C.CONTEXTMENU_ITEMS_HIDE_COLUMN]: ['پنهان کردن ستون', 'پنهان کردن ستون ها'],
52
+ [C.CONTEXTMENU_ITEMS_SHOW_COLUMN]: ['نمایش ستون', 'نمایش ستون ها'],
53
+ [C.CONTEXTMENU_ITEMS_HIDE_ROW]: ['پنهان کردن ردیف', 'پنهان کردن ردیف ها'],
54
+ [C.CONTEXTMENU_ITEMS_SHOW_ROW]: ['نمایش ردیف', 'نمایش ردیف ها'],
55
+ [C.FILTERS_CONDITIONS_NONE]: 'هیچ',
56
+ [C.FILTERS_CONDITIONS_EMPTY]: 'خالی است',
57
+ [C.FILTERS_CONDITIONS_NOT_EMPTY]: 'خالی نیست',
58
+ [C.FILTERS_CONDITIONS_EQUAL]: 'برابر است با',
59
+ [C.FILTERS_CONDITIONS_NOT_EQUAL]: 'برابر نیست با',
60
+ [C.FILTERS_CONDITIONS_BEGINS_WITH]: 'شروع می شود با',
61
+ [C.FILTERS_CONDITIONS_ENDS_WITH]: 'پایان می یابد با',
62
+ [C.FILTERS_CONDITIONS_CONTAINS]: 'شامل می شود',
63
+ [C.FILTERS_CONDITIONS_NOT_CONTAIN]: 'شامل نمی شود',
64
+ [C.FILTERS_CONDITIONS_GREATER_THAN]: 'بزرگ تر',
65
+ [C.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]: 'بزرگتر مساوی',
66
+ [C.FILTERS_CONDITIONS_LESS_THAN]: 'کوچکتر',
67
+ [C.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]: 'کوچکتر مساوی',
68
+ [C.FILTERS_CONDITIONS_BETWEEN]: 'در میان است',
69
+ [C.FILTERS_CONDITIONS_NOT_BETWEEN]: 'در میان نیست',
70
+ [C.FILTERS_CONDITIONS_AFTER]: 'بعد',
71
+ [C.FILTERS_CONDITIONS_BEFORE]: 'قبل',
72
+ [C.FILTERS_CONDITIONS_TODAY]: 'امروز',
73
+ [C.FILTERS_CONDITIONS_TOMORROW]: 'فردا',
74
+ [C.FILTERS_CONDITIONS_YESTERDAY]: 'دیروز',
75
+ [C.FILTERS_VALUES_BLANK_CELLS]: 'سلول های خالی',
76
+ [C.FILTERS_DIVS_FILTER_BY_CONDITION]: 'فیلتر بر اساس شرایط',
77
+ [C.FILTERS_DIVS_FILTER_BY_VALUE]: 'فیلتر بر اساس مقدار',
78
+ [C.FILTERS_LABELS_CONJUNCTION]: 'و',
79
+ [C.FILTERS_LABELS_DISJUNCTION]: 'یا',
80
+ [C.FILTERS_BUTTONS_SELECT_ALL]: 'انتخاب همه',
81
+ [C.FILTERS_BUTTONS_CLEAR]: 'پاک کردن',
82
+ [C.FILTERS_BUTTONS_OK]: 'تایید',
83
+ [C.FILTERS_BUTTONS_CANCEL]: 'لغو',
84
+ [C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'جستجو',
85
+ [C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'مقدار',
86
+ [C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'مقدار دوم',
87
+ [C.CHECKBOX_CHECKED]: 'چک شده',
88
+ [C.CHECKBOX_UNCHECKED]: 'چک نشده'
89
+ };
90
+ export default dictionary;
@@ -4,6 +4,7 @@ import deCH from './de-CH';
4
4
  import deDE from './de-DE';
5
5
  import enUS from './en-US';
6
6
  import esMX from './es-MX';
7
+ import faIR from './fa-IR';
7
8
  import frFR from './fr-FR';
8
9
  import hrHR from './hr-HR';
9
10
  import itIT from './it-IT';
@@ -26,6 +27,7 @@ export {
26
27
  deDE,
27
28
  enUS,
28
29
  esMX,
30
+ faIR,
29
31
  frFR,
30
32
  hrHR,
31
33
  itIT,
@@ -13,6 +13,8 @@ var _enUS = _interopRequireDefault(require("./en-US"));
13
13
  exports.enUS = _enUS.default;
14
14
  var _esMX = _interopRequireDefault(require("./es-MX"));
15
15
  exports.esMX = _esMX.default;
16
+ var _faIR = _interopRequireDefault(require("./fa-IR"));
17
+ exports.faIR = _faIR.default;
16
18
  var _frFR = _interopRequireDefault(require("./fr-FR"));
17
19
  exports.frFR = _frFR.default;
18
20
  var _hrHR = _interopRequireDefault(require("./hr-HR"));
@@ -4,6 +4,7 @@ import deCH from "./de-CH.mjs";
4
4
  import deDE from "./de-DE.mjs";
5
5
  import enUS from "./en-US.mjs";
6
6
  import esMX from "./es-MX.mjs";
7
+ import faIR from "./fa-IR.mjs";
7
8
  import frFR from "./fr-FR.mjs";
8
9
  import hrHR from "./hr-HR.mjs";
9
10
  import itIT from "./it-IT.mjs";
@@ -18,4 +19,4 @@ import ruRU from "./ru-RU.mjs";
18
19
  import srSP from "./sr-SP.mjs";
19
20
  import zhCN from "./zh-CN.mjs";
20
21
  import zhTW from "./zh-TW.mjs";
21
- export { arAR, csCZ, deCH, deDE, enUS, esMX, frFR, hrHR, itIT, jaJP, koKR, lvLV, nbNO, nlNL, plPL, ptBR, ruRU, srSP, zhCN, zhTW };
22
+ export { arAR, csCZ, deCH, deDE, enUS, esMX, faIR, frFR, hrHR, itIT, jaJP, koKR, lvLV, nbNO, nlNL, plPL, ptBR, ruRU, srSP, zhCN, zhTW };
@@ -47,6 +47,9 @@ const dictionary = {
47
47
  [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
48
48
  [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
49
49
  [C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
50
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
51
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
52
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
50
53
  [C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
51
54
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
52
55
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
@@ -41,6 +41,9 @@ const dictionary = {
41
41
  [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
42
42
  [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
43
43
  [C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
44
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
45
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
46
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
44
47
  [C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
45
48
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
46
49
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
@@ -48,6 +48,9 @@ const dictionary = {
48
48
  [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
49
49
  [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
50
50
  [C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
51
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
52
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
53
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
51
54
  [C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
52
55
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
53
56
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
@@ -42,6 +42,9 @@ const dictionary = {
42
42
  [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
43
43
  [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
44
44
  [C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
45
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
46
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
47
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
45
48
  [C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
46
49
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
47
50
  [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = substituteVariables;
5
+ require("core-js/modules/esnext.iterator.constructor.js");
5
6
  require("core-js/modules/esnext.iterator.map.js");
6
7
  var _string = require("./../../helpers/string");
7
8
  /**
@@ -1,3 +1,4 @@
1
+ import "core-js/modules/esnext.iterator.constructor.js";
1
2
  import "core-js/modules/esnext.iterator.map.js";
2
3
  import { substitute } from "./../../helpers/string.mjs";
3
4
  /**