@progress/kendo-spreadsheet-common 1.2.5 → 1.2.6-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index-esm.js CHANGED
@@ -3,14 +3,12 @@ import { dayOfWeek, getDate, addDays, firstDayOfMonth } from '@progress/kendo-da
3
3
  import { browser } from '@progress/kendo-common';
4
4
  import JSZip from '@progress/jszip-esm';
5
5
 
6
- /* eslint-disable camelcase */
7
- /* eslint-disable no-nested-ternary */
8
6
  /* eslint-disable max-params */
9
7
  /* eslint-disable no-unused-vars */
10
- /* eslint-disable no-else-return */
11
- /* eslint-disable no-param-reassign */
12
- /* eslint-disable eqeqeq */
13
- /* eslint-disable no-bitwise */
8
+
9
+
10
+
11
+
14
12
 
15
13
  // WARNING
16
14
  // == into === to make JSHint happy will break functionality.
@@ -791,7 +789,7 @@ class UnionRef extends Ref {
791
789
  return NULLREF;
792
790
  }
793
791
  simplify() {
794
- // eslint-disable-next-line max-len
792
+
795
793
  let u = new UnionRef(this.refs.reduce(function(a, ref) {
796
794
  ref = ref.simplify();
797
795
  if (ref !== NULLREF) {
@@ -944,7 +942,6 @@ SHEETREF.print = function() {
944
942
  return "#SHEET";
945
943
  };
946
944
 
947
- /* eslint-disable key-spacing */
948
945
  const messages = {};
949
946
  messages.view = {
950
947
  nameBox: "Name Box",
@@ -1002,6 +999,7 @@ const options = {
1002
999
  fileName: "Workbook.xlsx",
1003
1000
  forceProxy: false,
1004
1001
  proxyURL: "",
1002
+ applyProtection: false,
1005
1003
  },
1006
1004
  messages: messages,
1007
1005
  pdf: {
@@ -1078,8 +1076,6 @@ const keys = {
1078
1076
  R: 82
1079
1077
  };
1080
1078
 
1081
- /* eslint-disable no-nested-ternary */
1082
- /* eslint-disable no-param-reassign */
1083
1079
  /* eslint-disable no-prototype-builtins */
1084
1080
 
1085
1081
  const RX_UNICODE_LETTER = new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");
@@ -1183,7 +1179,7 @@ function getter(field, safe) {
1183
1179
  }
1184
1180
 
1185
1181
  const fields = [];
1186
- field.replace(FIELD_REGEX, (_, index, indexAccessor, field) => {
1182
+ limitString(field, 1000).replace(FIELD_REGEX, (_, index, indexAccessor, field) => {
1187
1183
  fields.push(isPresent(index) ? index : indexAccessor || field);
1188
1184
  return undefined;
1189
1185
  });
@@ -1343,7 +1339,7 @@ const insertAfter = function(newElement, after) {
1343
1339
  const _activeElement$1 = function() {
1344
1340
  try {
1345
1341
  return document.activeElement;
1346
- } catch (e) {
1342
+ } catch {
1347
1343
  return document.documentElement.activeElement;
1348
1344
  }
1349
1345
  };
@@ -1363,6 +1359,14 @@ const isPlainObject = function(obj) {
1363
1359
  return proto === null || proto.constructor === Object;
1364
1360
  };
1365
1361
 
1362
+ const limitString = function(strValue, max) {
1363
+ if (typeof strValue === 'string' && strValue.length > max) {
1364
+ return strValue.substring(0, max);
1365
+ }
1366
+
1367
+ return strValue;
1368
+ };
1369
+
1366
1370
  class CalcError {
1367
1371
 
1368
1372
  constructor(code) {
@@ -1400,9 +1404,7 @@ function createKendoObj(calc, CalcError, Ref, CellRef, RangeRef) {
1400
1404
  }
1401
1405
 
1402
1406
  /* eslint-disable max-params */
1403
- /* eslint-disable complexity */
1404
- /* eslint-disable no-unused-vars */
1405
-
1407
+
1406
1408
 
1407
1409
  let calc = {
1408
1410
  runtime: {
@@ -2908,8 +2910,6 @@ calc.runtime.defineAlias = defineAlias$1;
2908
2910
  calc.runtime.InputStream = InputStream;
2909
2911
  calc.runtime.ParseError = ParseError;
2910
2912
 
2911
- /* eslint-disable indent */
2912
-
2913
2913
  function Node() {
2914
2914
  this.node = null;
2915
2915
  }
@@ -4128,30 +4128,6 @@ const formatting = {
4128
4128
  makeDateFormat: makeDateFormat
4129
4129
  };
4130
4130
 
4131
- /* eslint-disable no-nested-ternary */
4132
- /* eslint-disable space-infix-ops */
4133
- /* eslint-disable indent */
4134
- /* eslint-disable no-empty */
4135
- /* eslint-disable no-loop-func */
4136
- /* eslint-disable consistent-return */
4137
- /* eslint-disable block-scoped-var */
4138
- /* eslint-disable no-redeclare */
4139
- /* eslint-disable no-var */
4140
- /* eslint-disable eqeqeq */
4141
- /* eslint-disable complexity */
4142
- /* eslint-disable max-params */
4143
- /* eslint-disable no-implicit-coercion */
4144
- /* eslint-disable key-spacing */
4145
- /* eslint-disable default-case */
4146
- /* eslint-disable camelcase */
4147
- /* eslint-disable brace-style */
4148
- /* eslint-disable no-else-return */
4149
- /* eslint-disable no-constant-condition */
4150
- /* eslint-disable no-param-reassign */
4151
- /* eslint-disable space-before-blocks */
4152
- /* eslint-disable no-unused-labels */
4153
-
4154
-
4155
4131
  const kendo = createKendoObj(calc, CalcError, Ref, CellRef, RangeRef);
4156
4132
  calc.kendo = kendo; // XXX
4157
4133
  calc.formatting = formatting;
@@ -5757,8 +5733,6 @@ class ValidationFormulaContext extends FormulaContext {
5757
5733
 
5758
5734
  calc.ValidationFormulaContext = ValidationFormulaContext;
5759
5735
 
5760
- /* eslint-disable no-param-reassign */
5761
-
5762
5736
  let KEY_NAMES$1 = {
5763
5737
  8: 'backspace',
5764
5738
  9: 'tab',
@@ -5955,14 +5929,6 @@ class EventListener {
5955
5929
  }
5956
5930
  }
5957
5931
 
5958
- /* eslint-disable default-case */
5959
- /* eslint-disable no-else-return */
5960
- /* eslint-disable key-spacing */
5961
- /* eslint-disable eqeqeq */
5962
- /* eslint-disable brace-style */
5963
- /* eslint-disable consistent-return */
5964
-
5965
-
5966
5932
  let alphaNumRegExp = /:alphanum$/;
5967
5933
 
5968
5934
  let ACTIONS = {
@@ -7804,11 +7770,6 @@ class SparseRangeList extends RangeList {
7804
7770
  }
7805
7771
  }
7806
7772
 
7807
- /* eslint-disable default-case */
7808
- /* eslint-disable camelcase */
7809
- /* eslint-disable no-param-reassign */
7810
-
7811
-
7812
7773
  class Property {
7813
7774
  constructor(list) {
7814
7775
  this.list = list;
@@ -8130,12 +8091,6 @@ const ALL_PROPERTIES = propertyBagSpec.reduce(function(a, spec) {
8130
8091
  return a;
8131
8092
  }, [ "borderTop", "borderRight", "borderBottom", "borderLeft" ]);
8132
8093
 
8133
- /* eslint-disable no-param-reassign */
8134
- /* eslint-disable no-useless-call */
8135
- /* eslint-disable camelcase */
8136
- /* eslint-disable default-case */
8137
-
8138
-
8139
8094
  function compileValidation(sheet, row, col, validation) {
8140
8095
  let validationHandler;
8141
8096
  let comparer;
@@ -8153,6 +8108,7 @@ function compileValidation(sheet, row, col, validation) {
8153
8108
  // course, we'd need to do the reverse transformation too on serialization for OOXML
8154
8109
  // (see how _matrix(...) is unwrapped below in `toJSON`).
8155
8110
  if (validation.from.indexOf("{") > -1) {
8111
+ validation.from = limitString(validation.from, 1000);
8156
8112
  validation.from = validation.from.replace(/\"/g,"").replace(/^\s*\{\s*/,"\"").replace(/\s*\}\s*$/, "\"");
8157
8113
  }
8158
8114
  validation.from = `_matrix(${validation.from})`;
@@ -8467,29 +8423,6 @@ validationExport.validationComparers = {
8467
8423
  };
8468
8424
  validationExport.Validation = Validation;
8469
8425
 
8470
- /* eslint-disable no-nested-ternary */
8471
- /* eslint-disable curly */
8472
- /* eslint-disable space-infix-ops */
8473
- /* eslint-disable indent */
8474
- /* eslint-disable no-empty */
8475
- /* eslint-disable no-loop-func */
8476
- /* eslint-disable consistent-return */
8477
- /* eslint-disable block-scoped-var */
8478
- /* eslint-disable no-redeclare */
8479
- /* eslint-disable no-var */
8480
- /* eslint-disable eqeqeq */
8481
- /* eslint-disable complexity */
8482
- /* eslint-disable max-params */
8483
- /* eslint-disable no-implicit-coercion */
8484
- /* eslint-disable key-spacing */
8485
- /* eslint-disable default-case */
8486
- /* eslint-disable camelcase */
8487
- /* eslint-disable brace-style */
8488
- /* eslint-disable no-else-return */
8489
- /* eslint-disable no-constant-condition */
8490
- /* eslint-disable no-param-reassign */
8491
- /* eslint-disable space-before-blocks */
8492
-
8493
8426
  const { measureText } = drawing.util;
8494
8427
 
8495
8428
  let PROPERTIES = [
@@ -9275,7 +9208,7 @@ let Range$1 = class Range {
9275
9208
  } else {
9276
9209
  range.input(cellState.value);
9277
9210
  }
9278
- } catch (ex) {
9211
+ } catch {
9279
9212
  range._set("value", cellState.value);
9280
9213
  }
9281
9214
  } else {
@@ -9783,8 +9716,6 @@ function transpose(a) {
9783
9716
  return t;
9784
9717
  }
9785
9718
 
9786
- /* eslint-disable no-loop-func */
9787
- /* eslint-disable no-param-reassign */
9788
9719
  const STRING$1 = 'string';
9789
9720
  const FUNCTION = 'function';
9790
9721
 
@@ -9974,12 +9905,10 @@ class Widget extends Observable {
9974
9905
  }
9975
9906
  }
9976
9907
 
9977
- /* eslint-disable no-param-reassign */
9978
-
9979
9908
  const _activeElement = function() {
9980
9909
  try {
9981
9910
  return document.activeElement;
9982
- } catch (e) {
9911
+ } catch {
9983
9912
  return document.documentElement.activeElement;
9984
9913
  }
9985
9914
  };
@@ -10397,11 +10326,11 @@ class Axis {
10397
10326
  return { values: this.values.iterator(0, 0), offset: 0 };
10398
10327
  }
10399
10328
  let startOffset = start - startSegment.start;
10400
- // eslint-disable-next-line no-bitwise
10329
+
10401
10330
  let startIndex = ((startOffset / startSegment.value.value) >> 0) + startSegment.value.start;
10402
10331
  let offset = startOffset - (startIndex - startSegment.value.start) * startSegment.value.value;
10403
10332
  let endOffset = end - endSegment.start;
10404
- // eslint-disable-next-line no-bitwise
10333
+
10405
10334
  let endIndex = ((endOffset / endSegment.value.value) >> 0) + endSegment.value.start;
10406
10335
  if (endIndex > endSegment.value.end) {
10407
10336
  endIndex = endSegment.value.end;
@@ -10548,9 +10477,6 @@ class PaneAxis {
10548
10477
  }
10549
10478
  }
10550
10479
 
10551
- /* eslint-disable no-param-reassign */
10552
- /* eslint-disable camelcase */
10553
-
10554
10480
  class Rectangle {
10555
10481
  constructor(left, top, width, height) {
10556
10482
  this.left = left;
@@ -10936,11 +10862,6 @@ Sorter.descendingComparer = function(a, b) {
10936
10862
  return Sorter.ascendingComparer(b, a);
10937
10863
  };
10938
10864
 
10939
- /* eslint-disable no-constant-condition */
10940
- /* eslint-disable key-spacing */
10941
- /* eslint-disable no-param-reassign */
10942
-
10943
-
10944
10865
  class AxisManager {
10945
10866
  constructor(sheet) {
10946
10867
  this._sheet = sheet;
@@ -11172,8 +11093,6 @@ class AxisManager {
11172
11093
  }
11173
11094
  }
11174
11095
 
11175
- /* eslint-disable no-param-reassign */
11176
-
11177
11096
  class AutoFillCalculator {
11178
11097
  constructor(grid) {
11179
11098
  this._grid = grid;
@@ -11249,23 +11168,6 @@ class AutoFillCalculator {
11249
11168
  }
11250
11169
  }
11251
11170
 
11252
- /* eslint-disable max-params */
11253
- /* eslint-disable no-empty */
11254
- /* eslint-disable no-loop-func */
11255
- /* eslint-disable consistent-return */
11256
- /* eslint-disable block-scoped-var */
11257
- /* eslint-disable no-redeclare */
11258
- /* eslint-disable no-var */
11259
- /* eslint-disable eqeqeq */
11260
- /* eslint-disable complexity */
11261
- /* eslint-disable no-implicit-coercion */
11262
- /* eslint-disable brace-style */
11263
- /* eslint-disable key-spacing */
11264
- /* eslint-disable no-else-return */
11265
- /* eslint-disable default-case */
11266
- /* eslint-disable no-param-reassign */
11267
-
11268
-
11269
11171
  class EdgeNavigator {
11270
11172
  constructor(field, axis, rangeGetter, union) {
11271
11173
  this.rangeGetter = rangeGetter;
@@ -11938,23 +11840,6 @@ function makeWordMovement(sheet, pivot, isCol) {
11938
11840
  };
11939
11841
  }
11940
11842
 
11941
- /* eslint-disable max-params */
11942
- /* eslint-disable no-empty */
11943
- /* eslint-disable no-loop-func */
11944
- /* eslint-disable consistent-return */
11945
- /* eslint-disable block-scoped-var */
11946
- /* eslint-disable no-redeclare */
11947
- /* eslint-disable no-var */
11948
- /* eslint-disable eqeqeq */
11949
- /* eslint-disable complexity */
11950
- /* eslint-disable no-implicit-coercion */
11951
- /* eslint-disable brace-style */
11952
- /* eslint-disable key-spacing */
11953
- /* eslint-disable no-else-return */
11954
- /* eslint-disable default-case */
11955
- /* eslint-disable no-param-reassign */
11956
-
11957
-
11958
11843
  function numberToDate(val) {
11959
11844
  return val == null ? null : calc.runtime.serialToDate(val);
11960
11845
  }
@@ -12214,12 +12099,6 @@ const kendoDate = (function() {
12214
12099
  };
12215
12100
  })();
12216
12101
 
12217
- /* eslint-disable no-var */
12218
- /* eslint-disable no-implicit-coercion */
12219
- /* eslint-disable no-param-reassign */
12220
- /* eslint-disable no-loop-func */
12221
-
12222
-
12223
12102
  const logic = {
12224
12103
  or: {
12225
12104
  concat: (acc, fn) => (a) => acc(a) || fn(a),
@@ -12347,23 +12226,6 @@ const transformCompositeFilter = function (filter) {
12347
12226
  .reduce(combiner.concat, combiner.identity);
12348
12227
  };
12349
12228
 
12350
- /* eslint-disable max-params */
12351
- /* eslint-disable no-empty */
12352
- /* eslint-disable no-loop-func */
12353
- /* eslint-disable consistent-return */
12354
- /* eslint-disable block-scoped-var */
12355
- /* eslint-disable no-redeclare */
12356
- /* eslint-disable no-var */
12357
- /* eslint-disable eqeqeq */
12358
- /* eslint-disable complexity */
12359
- /* eslint-disable no-implicit-coercion */
12360
- /* eslint-disable brace-style */
12361
- /* eslint-disable key-spacing */
12362
- /* eslint-disable no-else-return */
12363
- /* eslint-disable default-case */
12364
- /* eslint-disable no-param-reassign */
12365
-
12366
-
12367
12229
  let filtersObj = {};
12368
12230
  const dateToSerial$1 = calc.runtime.dateToSerial;
12369
12231
  const serialToDate$1 = calc.runtime.serialToDate;
@@ -12813,21 +12675,7 @@ function sameWeek(a, b) {
12813
12675
  }
12814
12676
 
12815
12677
  /* eslint-disable max-params */
12816
- /* eslint-disable no-empty */
12817
- /* eslint-disable no-loop-func */
12818
- /* eslint-disable consistent-return */
12819
- /* eslint-disable block-scoped-var */
12820
- /* eslint-disable no-redeclare */
12821
- /* eslint-disable no-var */
12822
- /* eslint-disable eqeqeq */
12823
- /* eslint-disable complexity */
12824
- /* eslint-disable no-implicit-coercion */
12825
- /* eslint-disable brace-style */
12826
- /* eslint-disable key-spacing */
12827
- /* eslint-disable no-else-return */
12828
- /* eslint-disable default-case */
12829
- /* eslint-disable no-param-reassign */
12830
-
12678
+
12831
12679
 
12832
12680
  // This is a “dynamic variable” (see Greenspun's 10th rule). It's
12833
12681
  // bound to an array via sheet._saveModifiedFormulas (which see)
@@ -14900,8 +14748,6 @@ Drawing.fromJSON = function(args) {
14900
14748
  return new Drawing(args);
14901
14749
  };
14902
14750
 
14903
- /* eslint-disable no-param-reassign */
14904
- /* eslint-disable key-spacing */
14905
14751
  let PAPER_SIZE = {
14906
14752
  a0 : [ 2383.94 , 3370.39 ],
14907
14753
  a1 : [ 1683.78 , 2383.94 ],
@@ -15031,15 +14877,6 @@ function getPaperOptions(getOption) {
15031
14877
  return { paperSize: paperSize, margin: margin };
15032
14878
  }
15033
14879
 
15034
- /* eslint-disable no-nested-ternary */
15035
- /* eslint-disable default-case */
15036
- /* eslint-disable no-implicit-coercion */
15037
- /* eslint-disable no-else-return */
15038
- /* eslint-disable key-spacing */
15039
- /* eslint-disable eqeqeq */
15040
- /* eslint-disable no-param-reassign */
15041
-
15042
-
15043
14880
  let GUIDELINE_WIDTH = 0.8;
15044
14881
 
15045
14882
  // This takes a list of row heights and the page height, and
@@ -16075,6 +15912,7 @@ const draw = { Borders, doLayout, applyIndent };
16075
15912
 
16076
15913
  const RESIZE_HANDLE_WIDTH = 7;
16077
15914
  const EDIT_BUTTON_WIDTH = 20;
15915
+ const CELL_PADDING_RIGHT = 3;
16078
15916
  const DOT = ".";
16079
15917
 
16080
15918
  const viewClassNames = {
@@ -16397,7 +16235,7 @@ class Pane {
16397
16235
  children.push(this.renderData(args));
16398
16236
 
16399
16237
  if (!sheet._activeDrawing) {
16400
- children.push(this.renderSelection(scroller));
16238
+ children.push(this.renderSelection());
16401
16239
  }
16402
16240
 
16403
16241
  children.push(this.renderAutoFill());
@@ -16562,6 +16400,7 @@ class Pane {
16562
16400
  let cls = null;
16563
16401
  let absRow = cell.row + view.ref.topLeft.row;
16564
16402
  let absCol = cell.col + view.ref.topLeft.col;
16403
+ let hasButton = false;
16565
16404
  if (sheet._activeDrawing) {
16566
16405
  let ref = sheet._activeDrawing.topLeftCell;
16567
16406
  if (ref && ref.row === absRow && ref.col === absCol) {
@@ -16576,10 +16415,16 @@ class Pane {
16576
16415
  if (sheet.singleCellSelection()) {
16577
16416
  cls.push(Pane.classNames.single);
16578
16417
  }
16418
+ if (this._renderCustomEditorButton(cont.children, cell)) {
16419
+ hasButton = true;
16420
+ }
16579
16421
  cls = cls.join(" ");
16580
16422
  }
16581
16423
  borders.add(cell);
16582
- drawCell(cont.children, cell, cls, showGridLines);
16424
+ var cellDiv = drawCell(cont.children, cell, cls, showGridLines);
16425
+ if (hasButton) {
16426
+ cellDiv.attr.style.paddingRight = (EDIT_BUTTON_WIDTH + CELL_PADDING_RIGHT) + "px";
16427
+ }
16583
16428
  if (cell.comment && sheet._commentRef &&
16584
16429
  absRow === sheet._commentRef.row && absCol === sheet._commentRef.col) {
16585
16430
  let ttOffset = 4;
@@ -16794,12 +16639,11 @@ class Pane {
16794
16639
 
16795
16640
  }
16796
16641
 
16797
- renderSelection(scroller) {
16642
+ renderSelection() {
16798
16643
  let classNames = Pane.classNames;
16799
16644
  let selections = [];
16800
16645
  let selectionClasses = [classNames.selection];
16801
16646
  let sheet = this._sheet;
16802
- let activeCell = sheet.activeCell().toRangeRef();
16803
16647
  let selection = sheet.select();
16804
16648
 
16805
16649
  selectionClasses = selectionClasses.concat(this._activeFormulaColor());
@@ -16818,8 +16662,6 @@ class Pane {
16818
16662
  }
16819
16663
  }.bind(this));
16820
16664
 
16821
- this._renderCustomEditorButton(selections, activeCell, scroller);
16822
-
16823
16665
  return dom.element("div", { className: classNames.selectionWrapper }, selections);
16824
16666
  }
16825
16667
 
@@ -16878,42 +16720,26 @@ class Pane {
16878
16720
  return div;
16879
16721
  }
16880
16722
 
16881
- _renderCustomEditorButton(collection, ref, scroller) {
16723
+ _renderCustomEditorButton(collection, cell) {
16882
16724
  let self = this;
16883
- let sheet = self._sheet;
16884
- let view = self._currentView;
16885
- let columnCount = self._grid.columns._axis._count;
16725
+ let sheet = this._sheet;
16886
16726
  let ed = sheet.activeCellCustomEditor();
16887
-
16888
- if (ed && view.ref.intersects(ref)) {
16889
- let rectangle = self._rectangle(ref);
16890
- sheet.forEach(ref.collapse(), function(row, col, cell) {
16891
- cell.left = rectangle.left;
16892
- cell.top = rectangle.top;
16893
- cell.width = rectangle.width;
16894
- cell.height = rectangle.height;
16895
-
16896
- let btnClass = "k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-spreadsheet-editor-button";
16897
- let isLastColumn = col === columnCount - 1 || self._buttonOutOfVisiblePane(row, col, scroller);
16898
- if (isLastColumn) {
16899
- btnClass += " k-spreadsheet-last-column";
16900
- }
16901
- self._editorInLastColumn = isLastColumn;
16902
- let btn = dom.element("div", {
16903
- className: btnClass,
16904
- style: {
16905
- left : (cell.left + (isLastColumn ? 0 : cell.width)) + "px",
16906
- top : cell.top + "px",
16907
- height : cell.height + "px"
16908
- }
16909
- });
16910
-
16911
- if (ed.icon) {
16912
- btn.children.push(self.icon(ed.icon));
16727
+ if (ed) {
16728
+ let btnClass = "k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-spreadsheet-editor-button";
16729
+ let btn = dom.element("div", {
16730
+ className: btnClass,
16731
+ style: {
16732
+ left : (cell.left + cell.width - EDIT_BUTTON_WIDTH) + "px",
16733
+ top : (cell.top + 1) + "px",
16734
+ height : (cell.height - 2) + "px",
16735
+ width : EDIT_BUTTON_WIDTH + "px",
16913
16736
  }
16914
-
16915
- collection.push(btn);
16916
16737
  });
16738
+ if (ed.icon) {
16739
+ btn.children.push(self.icon(ed.icon));
16740
+ }
16741
+ collection.push(btn);
16742
+ return true;
16917
16743
  }
16918
16744
  }
16919
16745
 
@@ -16985,13 +16811,6 @@ function drawingResizeHandles(container) {
16985
16811
  });
16986
16812
  }
16987
16813
 
16988
- /* eslint-disable no-unused-vars */
16989
- /* eslint-disable no-param-reassign */
16990
- /* eslint-disable no-else-return */
16991
- /* eslint-disable no-multi-spaces */
16992
- /* eslint-disable no-nested-ternary */
16993
-
16994
-
16995
16814
  let styles = [
16996
16815
  "font-family",
16997
16816
  "font-size",
@@ -17851,15 +17670,6 @@ class SheetsBar extends Widget {
17851
17670
  }
17852
17671
  }
17853
17672
 
17854
- /* eslint-disable complexity */
17855
- /* eslint-disable consistent-return */
17856
- /* eslint-disable default-case */
17857
- /* eslint-disable no-implicit-coercion */
17858
- /* eslint-disable no-nested-ternary */
17859
- /* eslint-disable key-spacing */
17860
- /* eslint-disable no-param-reassign */
17861
-
17862
-
17863
17673
  function selectElementContents(el) {
17864
17674
  let sel = window.getSelection();
17865
17675
  sel.removeAllRanges();
@@ -18331,15 +18141,12 @@ class View extends Observable {
18331
18141
  return Math.abs(rectangle.right - x) < 8 && Math.abs(rectangle.bottom - y) < 8;
18332
18142
  }
18333
18143
 
18334
- isEditButton(x, y, pane) {
18144
+ isEditButton(x, y) {
18335
18145
  let ed = this._sheet.activeCellCustomEditor();
18336
18146
  if (ed) {
18337
18147
  let r = this.activeCellRectangle();
18338
- // XXX: hard-coded button width (20)
18339
-
18340
18148
  if (y >= r.top && y <= r.bottom) {
18341
- return pane._editorInLastColumn ? x < r.left && x >= r.left - EDIT_BUTTON_WIDTH
18342
- : x > r.right && x <= r.right + EDIT_BUTTON_WIDTH;
18149
+ return x < r.right && x >= r.right - EDIT_BUTTON_WIDTH;
18343
18150
  }
18344
18151
  }
18345
18152
  }
@@ -18427,7 +18234,7 @@ class View extends Observable {
18427
18234
  ref = new CellRef(-Infinity, column);
18428
18235
  type = "columnresizehandle";
18429
18236
  }
18430
- } else if (this.isEditButton(x, y, pane)) {
18237
+ } else if (this.isEditButton(x, y)) {
18431
18238
  type = "editor";
18432
18239
  }
18433
18240
 
@@ -18855,7 +18662,7 @@ class View extends Observable {
18855
18662
 
18856
18663
  View.classNames = viewClassNames;
18857
18664
 
18858
- const reTable = /<table[^>]+>/gmi;
18665
+ const reTable = /<table [^>]*>/gmi;
18859
18666
  const tables = contentStr => ((contentStr || '').match(reTable) || []);
18860
18667
 
18861
18668
  class Clipboard {
@@ -19246,12 +19053,6 @@ function parseTSV(data) {
19246
19053
  return state;
19247
19054
  }
19248
19055
 
19249
- /* eslint-disable no-else-return */
19250
- /* eslint-disable consistent-return */
19251
- /* eslint-disable space-before-blocks */
19252
- /* eslint-disable no-implicit-coercion */
19253
-
19254
-
19255
19056
  let COMMAND_TYPES = {
19256
19057
  AUTO_FILL: "autoFill",
19257
19058
  CLEAR: "clear",
@@ -20701,7 +20502,6 @@ class UndoRedoStack extends Observable {
20701
20502
  }
20702
20503
  }
20703
20504
 
20704
- /* eslint-disable no-param-reassign */
20705
20505
  // SAX-style XML parser ====================================================
20706
20506
  let STRING = String.fromCharCode;
20707
20507
 
@@ -21071,13 +20871,7 @@ class Deferred {
21071
20871
  }
21072
20872
 
21073
20873
  /* eslint-disable complexity */
21074
- /* eslint-disable camelcase */
21075
- /* eslint-disable key-spacing */
21076
- /* eslint-disable no-nested-ternary */
21077
- /* eslint-disable brace-style */
21078
- /* eslint-disable no-implicit-coercion */
21079
- /* eslint-disable no-loop-func */
21080
- /* eslint-disable no-param-reassign */
20874
+
21081
20875
 
21082
20876
  // WARNING: removing the following jshint declaration and turning
21083
20877
  // == into === to make JSHint happy will break functionality.
@@ -21375,6 +21169,7 @@ async function readSheet(zip, file, sheet, strings, styles) {
21375
21169
  let valueFilterValues;
21376
21170
  let filters = [];
21377
21171
  let deferredStyles = [];
21172
+ let applyProtection = Boolean(sheet._workbook?.options?.excel?.applyProtection);
21378
21173
 
21379
21174
  ERROR_LOG = sheet._workbook.excelImportErrors;
21380
21175
 
@@ -21483,7 +21278,7 @@ async function readSheet(zip, file, sheet, strings, styles) {
21483
21278
  if (target) {
21484
21279
  sheet.range(attrs.ref).link(target);
21485
21280
  }
21486
- } else if (this.is(SEL_PROTECTION)) {
21281
+ } else if (applyProtection && this.is(SEL_PROTECTION)) {
21487
21282
  if (attrs.sheet) {
21488
21283
  sheet.range(SHEETREF).enable(false);
21489
21284
  }
@@ -21961,6 +21756,7 @@ let DEFAULT_FORMATS = {
21961
21756
 
21962
21757
  function applyStyle(sheet, ref, styles, styleIndex) {
21963
21758
  let range = sheet.range(ref);
21759
+ let applyProtection = Boolean(sheet._workbook?.options?.excel?.applyProtection);
21964
21760
  let xf = styles.inlineStyles[styleIndex], base, value;
21965
21761
  if (xf.xfId) {
21966
21762
  base = styles.namedStyles[xf.xfId];
@@ -21990,7 +21786,7 @@ function applyStyle(sheet, ref, styles, styleIndex) {
21990
21786
  if (shouldSet("applyNumberFormat", "numFmtId")) {
21991
21787
  setFormat(styles.numFmts[value] || DEFAULT_FORMATS[value]);
21992
21788
  }
21993
- if (shouldSet("applyProtection", "protection")) {
21789
+ if (applyProtection && shouldSet("applyProtection", "protection")) {
21994
21790
  range.enable(!xf.protection.locked);
21995
21791
  }
21996
21792
 
@@ -22446,13 +22242,6 @@ function excelToPixels(val) {
22446
22242
  return val / 9525;
22447
22243
  }
22448
22244
 
22449
- /* eslint-disable no-undef */
22450
- /* eslint-disable no-nested-ternary */
22451
- /* eslint-disable key-spacing */
22452
- /* eslint-disable consistent-return */
22453
- /* eslint-disable no-param-reassign */
22454
-
22455
-
22456
22245
  const events$1 = [
22457
22246
  "cut",
22458
22247
  "copy",
@@ -23135,6 +22924,12 @@ class Workbook extends Observable {
23135
22924
  options = deepExtend({}, self.options.excel, options);
23136
22925
  let data = self.toJSON();
23137
22926
 
22927
+ if (!options.applyProtection) {
22928
+ data.sheets.forEach(({ rows }) =>
22929
+ rows.forEach(({ cells }) =>
22930
+ cells.forEach(cell => delete cell.enable)));
22931
+ }
22932
+
23138
22933
  if (self.trigger("excelExport", { workbook: data })) {
23139
22934
  return;
23140
22935
  }
@@ -23448,8 +23243,6 @@ function sheetParamsFromJSON(data, options) {
23448
23243
  // };
23449
23244
  // }
23450
23245
 
23451
- /* eslint-disable no-param-reassign */
23452
-
23453
23246
  const events = [
23454
23247
  "cut",
23455
23248
  "copy",