@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.js CHANGED
@@ -4,14 +4,12 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.KendoSpreadsheetCommon = {}, global.KendoDrawing, global.KendoDateMath, global.KendoCommon, global.JSZip));
5
5
  })(this, (function (exports, kendoDrawing, kendoDateMath, kendoCommon, JSZip) { 'use strict';
6
6
 
7
- /* eslint-disable camelcase */
8
- /* eslint-disable no-nested-ternary */
9
7
  /* eslint-disable max-params */
10
8
  /* eslint-disable no-unused-vars */
11
- /* eslint-disable no-else-return */
12
- /* eslint-disable no-param-reassign */
13
- /* eslint-disable eqeqeq */
14
- /* eslint-disable no-bitwise */
9
+
10
+
11
+
12
+
15
13
 
16
14
  // WARNING
17
15
  // == into === to make JSHint happy will break functionality.
@@ -792,7 +790,7 @@
792
790
  return NULLREF;
793
791
  }
794
792
  simplify() {
795
- // eslint-disable-next-line max-len
793
+
796
794
  let u = new UnionRef(this.refs.reduce(function(a, ref) {
797
795
  ref = ref.simplify();
798
796
  if (ref !== NULLREF) {
@@ -945,7 +943,6 @@
945
943
  return "#SHEET";
946
944
  };
947
945
 
948
- /* eslint-disable key-spacing */
949
946
  const messages = {};
950
947
  messages.view = {
951
948
  nameBox: "Name Box",
@@ -1003,6 +1000,7 @@
1003
1000
  fileName: "Workbook.xlsx",
1004
1001
  forceProxy: false,
1005
1002
  proxyURL: "",
1003
+ applyProtection: false,
1006
1004
  },
1007
1005
  messages: messages,
1008
1006
  pdf: {
@@ -1079,8 +1077,6 @@
1079
1077
  R: 82
1080
1078
  };
1081
1079
 
1082
- /* eslint-disable no-nested-ternary */
1083
- /* eslint-disable no-param-reassign */
1084
1080
  /* eslint-disable no-prototype-builtins */
1085
1081
 
1086
1082
  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]");
@@ -1184,7 +1180,7 @@
1184
1180
  }
1185
1181
 
1186
1182
  const fields = [];
1187
- field.replace(FIELD_REGEX, (_, index, indexAccessor, field) => {
1183
+ limitString(field, 1000).replace(FIELD_REGEX, (_, index, indexAccessor, field) => {
1188
1184
  fields.push(isPresent(index) ? index : indexAccessor || field);
1189
1185
  return undefined;
1190
1186
  });
@@ -1344,7 +1340,7 @@
1344
1340
  const _activeElement$1 = function() {
1345
1341
  try {
1346
1342
  return document.activeElement;
1347
- } catch (e) {
1343
+ } catch {
1348
1344
  return document.documentElement.activeElement;
1349
1345
  }
1350
1346
  };
@@ -1364,6 +1360,14 @@
1364
1360
  return proto === null || proto.constructor === Object;
1365
1361
  };
1366
1362
 
1363
+ const limitString = function(strValue, max) {
1364
+ if (typeof strValue === 'string' && strValue.length > max) {
1365
+ return strValue.substring(0, max);
1366
+ }
1367
+
1368
+ return strValue;
1369
+ };
1370
+
1367
1371
  class CalcError {
1368
1372
 
1369
1373
  constructor(code) {
@@ -1401,9 +1405,7 @@
1401
1405
  }
1402
1406
 
1403
1407
  /* eslint-disable max-params */
1404
- /* eslint-disable complexity */
1405
- /* eslint-disable no-unused-vars */
1406
-
1408
+
1407
1409
 
1408
1410
  let calc = {
1409
1411
  runtime: {
@@ -2909,8 +2911,6 @@
2909
2911
  calc.runtime.InputStream = InputStream;
2910
2912
  calc.runtime.ParseError = ParseError;
2911
2913
 
2912
- /* eslint-disable indent */
2913
-
2914
2914
  function Node() {
2915
2915
  this.node = null;
2916
2916
  }
@@ -4129,30 +4129,6 @@
4129
4129
  makeDateFormat: makeDateFormat
4130
4130
  };
4131
4131
 
4132
- /* eslint-disable no-nested-ternary */
4133
- /* eslint-disable space-infix-ops */
4134
- /* eslint-disable indent */
4135
- /* eslint-disable no-empty */
4136
- /* eslint-disable no-loop-func */
4137
- /* eslint-disable consistent-return */
4138
- /* eslint-disable block-scoped-var */
4139
- /* eslint-disable no-redeclare */
4140
- /* eslint-disable no-var */
4141
- /* eslint-disable eqeqeq */
4142
- /* eslint-disable complexity */
4143
- /* eslint-disable max-params */
4144
- /* eslint-disable no-implicit-coercion */
4145
- /* eslint-disable key-spacing */
4146
- /* eslint-disable default-case */
4147
- /* eslint-disable camelcase */
4148
- /* eslint-disable brace-style */
4149
- /* eslint-disable no-else-return */
4150
- /* eslint-disable no-constant-condition */
4151
- /* eslint-disable no-param-reassign */
4152
- /* eslint-disable space-before-blocks */
4153
- /* eslint-disable no-unused-labels */
4154
-
4155
-
4156
4132
  const kendo = createKendoObj(calc, CalcError, Ref, CellRef, RangeRef);
4157
4133
  calc.kendo = kendo; // XXX
4158
4134
  calc.formatting = formatting;
@@ -5758,8 +5734,6 @@
5758
5734
 
5759
5735
  calc.ValidationFormulaContext = ValidationFormulaContext;
5760
5736
 
5761
- /* eslint-disable no-param-reassign */
5762
-
5763
5737
  let KEY_NAMES$1 = {
5764
5738
  8: 'backspace',
5765
5739
  9: 'tab',
@@ -5956,14 +5930,6 @@
5956
5930
  }
5957
5931
  }
5958
5932
 
5959
- /* eslint-disable default-case */
5960
- /* eslint-disable no-else-return */
5961
- /* eslint-disable key-spacing */
5962
- /* eslint-disable eqeqeq */
5963
- /* eslint-disable brace-style */
5964
- /* eslint-disable consistent-return */
5965
-
5966
-
5967
5933
  let alphaNumRegExp = /:alphanum$/;
5968
5934
 
5969
5935
  let ACTIONS = {
@@ -7805,11 +7771,6 @@
7805
7771
  }
7806
7772
  }
7807
7773
 
7808
- /* eslint-disable default-case */
7809
- /* eslint-disable camelcase */
7810
- /* eslint-disable no-param-reassign */
7811
-
7812
-
7813
7774
  class Property {
7814
7775
  constructor(list) {
7815
7776
  this.list = list;
@@ -8131,12 +8092,6 @@
8131
8092
  return a;
8132
8093
  }, [ "borderTop", "borderRight", "borderBottom", "borderLeft" ]);
8133
8094
 
8134
- /* eslint-disable no-param-reassign */
8135
- /* eslint-disable no-useless-call */
8136
- /* eslint-disable camelcase */
8137
- /* eslint-disable default-case */
8138
-
8139
-
8140
8095
  function compileValidation(sheet, row, col, validation) {
8141
8096
  let validationHandler;
8142
8097
  let comparer;
@@ -8154,6 +8109,7 @@
8154
8109
  // course, we'd need to do the reverse transformation too on serialization for OOXML
8155
8110
  // (see how _matrix(...) is unwrapped below in `toJSON`).
8156
8111
  if (validation.from.indexOf("{") > -1) {
8112
+ validation.from = limitString(validation.from, 1000);
8157
8113
  validation.from = validation.from.replace(/\"/g,"").replace(/^\s*\{\s*/,"\"").replace(/\s*\}\s*$/, "\"");
8158
8114
  }
8159
8115
  validation.from = `_matrix(${validation.from})`;
@@ -8468,29 +8424,6 @@
8468
8424
  };
8469
8425
  validationExport.Validation = Validation;
8470
8426
 
8471
- /* eslint-disable no-nested-ternary */
8472
- /* eslint-disable curly */
8473
- /* eslint-disable space-infix-ops */
8474
- /* eslint-disable indent */
8475
- /* eslint-disable no-empty */
8476
- /* eslint-disable no-loop-func */
8477
- /* eslint-disable consistent-return */
8478
- /* eslint-disable block-scoped-var */
8479
- /* eslint-disable no-redeclare */
8480
- /* eslint-disable no-var */
8481
- /* eslint-disable eqeqeq */
8482
- /* eslint-disable complexity */
8483
- /* eslint-disable max-params */
8484
- /* eslint-disable no-implicit-coercion */
8485
- /* eslint-disable key-spacing */
8486
- /* eslint-disable default-case */
8487
- /* eslint-disable camelcase */
8488
- /* eslint-disable brace-style */
8489
- /* eslint-disable no-else-return */
8490
- /* eslint-disable no-constant-condition */
8491
- /* eslint-disable no-param-reassign */
8492
- /* eslint-disable space-before-blocks */
8493
-
8494
8427
  const { measureText } = kendoDrawing.drawing.util;
8495
8428
 
8496
8429
  let PROPERTIES = [
@@ -9276,7 +9209,7 @@
9276
9209
  } else {
9277
9210
  range.input(cellState.value);
9278
9211
  }
9279
- } catch (ex) {
9212
+ } catch {
9280
9213
  range._set("value", cellState.value);
9281
9214
  }
9282
9215
  } else {
@@ -9784,8 +9717,6 @@
9784
9717
  return t;
9785
9718
  }
9786
9719
 
9787
- /* eslint-disable no-loop-func */
9788
- /* eslint-disable no-param-reassign */
9789
9720
  const STRING$1 = 'string';
9790
9721
  const FUNCTION = 'function';
9791
9722
 
@@ -9975,12 +9906,10 @@
9975
9906
  }
9976
9907
  }
9977
9908
 
9978
- /* eslint-disable no-param-reassign */
9979
-
9980
9909
  const _activeElement = function() {
9981
9910
  try {
9982
9911
  return document.activeElement;
9983
- } catch (e) {
9912
+ } catch {
9984
9913
  return document.documentElement.activeElement;
9985
9914
  }
9986
9915
  };
@@ -10398,11 +10327,11 @@
10398
10327
  return { values: this.values.iterator(0, 0), offset: 0 };
10399
10328
  }
10400
10329
  let startOffset = start - startSegment.start;
10401
- // eslint-disable-next-line no-bitwise
10330
+
10402
10331
  let startIndex = ((startOffset / startSegment.value.value) >> 0) + startSegment.value.start;
10403
10332
  let offset = startOffset - (startIndex - startSegment.value.start) * startSegment.value.value;
10404
10333
  let endOffset = end - endSegment.start;
10405
- // eslint-disable-next-line no-bitwise
10334
+
10406
10335
  let endIndex = ((endOffset / endSegment.value.value) >> 0) + endSegment.value.start;
10407
10336
  if (endIndex > endSegment.value.end) {
10408
10337
  endIndex = endSegment.value.end;
@@ -10549,9 +10478,6 @@
10549
10478
  }
10550
10479
  }
10551
10480
 
10552
- /* eslint-disable no-param-reassign */
10553
- /* eslint-disable camelcase */
10554
-
10555
10481
  class Rectangle {
10556
10482
  constructor(left, top, width, height) {
10557
10483
  this.left = left;
@@ -10937,11 +10863,6 @@
10937
10863
  return Sorter.ascendingComparer(b, a);
10938
10864
  };
10939
10865
 
10940
- /* eslint-disable no-constant-condition */
10941
- /* eslint-disable key-spacing */
10942
- /* eslint-disable no-param-reassign */
10943
-
10944
-
10945
10866
  class AxisManager {
10946
10867
  constructor(sheet) {
10947
10868
  this._sheet = sheet;
@@ -11173,8 +11094,6 @@
11173
11094
  }
11174
11095
  }
11175
11096
 
11176
- /* eslint-disable no-param-reassign */
11177
-
11178
11097
  class AutoFillCalculator {
11179
11098
  constructor(grid) {
11180
11099
  this._grid = grid;
@@ -11250,23 +11169,6 @@
11250
11169
  }
11251
11170
  }
11252
11171
 
11253
- /* eslint-disable max-params */
11254
- /* eslint-disable no-empty */
11255
- /* eslint-disable no-loop-func */
11256
- /* eslint-disable consistent-return */
11257
- /* eslint-disable block-scoped-var */
11258
- /* eslint-disable no-redeclare */
11259
- /* eslint-disable no-var */
11260
- /* eslint-disable eqeqeq */
11261
- /* eslint-disable complexity */
11262
- /* eslint-disable no-implicit-coercion */
11263
- /* eslint-disable brace-style */
11264
- /* eslint-disable key-spacing */
11265
- /* eslint-disable no-else-return */
11266
- /* eslint-disable default-case */
11267
- /* eslint-disable no-param-reassign */
11268
-
11269
-
11270
11172
  class EdgeNavigator {
11271
11173
  constructor(field, axis, rangeGetter, union) {
11272
11174
  this.rangeGetter = rangeGetter;
@@ -11939,23 +11841,6 @@
11939
11841
  };
11940
11842
  }
11941
11843
 
11942
- /* eslint-disable max-params */
11943
- /* eslint-disable no-empty */
11944
- /* eslint-disable no-loop-func */
11945
- /* eslint-disable consistent-return */
11946
- /* eslint-disable block-scoped-var */
11947
- /* eslint-disable no-redeclare */
11948
- /* eslint-disable no-var */
11949
- /* eslint-disable eqeqeq */
11950
- /* eslint-disable complexity */
11951
- /* eslint-disable no-implicit-coercion */
11952
- /* eslint-disable brace-style */
11953
- /* eslint-disable key-spacing */
11954
- /* eslint-disable no-else-return */
11955
- /* eslint-disable default-case */
11956
- /* eslint-disable no-param-reassign */
11957
-
11958
-
11959
11844
  function numberToDate(val) {
11960
11845
  return val == null ? null : calc.runtime.serialToDate(val);
11961
11846
  }
@@ -12215,12 +12100,6 @@
12215
12100
  };
12216
12101
  })();
12217
12102
 
12218
- /* eslint-disable no-var */
12219
- /* eslint-disable no-implicit-coercion */
12220
- /* eslint-disable no-param-reassign */
12221
- /* eslint-disable no-loop-func */
12222
-
12223
-
12224
12103
  const logic = {
12225
12104
  or: {
12226
12105
  concat: (acc, fn) => (a) => acc(a) || fn(a),
@@ -12348,23 +12227,6 @@
12348
12227
  .reduce(combiner.concat, combiner.identity);
12349
12228
  };
12350
12229
 
12351
- /* eslint-disable max-params */
12352
- /* eslint-disable no-empty */
12353
- /* eslint-disable no-loop-func */
12354
- /* eslint-disable consistent-return */
12355
- /* eslint-disable block-scoped-var */
12356
- /* eslint-disable no-redeclare */
12357
- /* eslint-disable no-var */
12358
- /* eslint-disable eqeqeq */
12359
- /* eslint-disable complexity */
12360
- /* eslint-disable no-implicit-coercion */
12361
- /* eslint-disable brace-style */
12362
- /* eslint-disable key-spacing */
12363
- /* eslint-disable no-else-return */
12364
- /* eslint-disable default-case */
12365
- /* eslint-disable no-param-reassign */
12366
-
12367
-
12368
12230
  let filtersObj = {};
12369
12231
  const dateToSerial$1 = calc.runtime.dateToSerial;
12370
12232
  const serialToDate$1 = calc.runtime.serialToDate;
@@ -12814,21 +12676,7 @@
12814
12676
  }
12815
12677
 
12816
12678
  /* eslint-disable max-params */
12817
- /* eslint-disable no-empty */
12818
- /* eslint-disable no-loop-func */
12819
- /* eslint-disable consistent-return */
12820
- /* eslint-disable block-scoped-var */
12821
- /* eslint-disable no-redeclare */
12822
- /* eslint-disable no-var */
12823
- /* eslint-disable eqeqeq */
12824
- /* eslint-disable complexity */
12825
- /* eslint-disable no-implicit-coercion */
12826
- /* eslint-disable brace-style */
12827
- /* eslint-disable key-spacing */
12828
- /* eslint-disable no-else-return */
12829
- /* eslint-disable default-case */
12830
- /* eslint-disable no-param-reassign */
12831
-
12679
+
12832
12680
 
12833
12681
  // This is a “dynamic variable” (see Greenspun's 10th rule). It's
12834
12682
  // bound to an array via sheet._saveModifiedFormulas (which see)
@@ -14901,8 +14749,6 @@
14901
14749
  return new Drawing(args);
14902
14750
  };
14903
14751
 
14904
- /* eslint-disable no-param-reassign */
14905
- /* eslint-disable key-spacing */
14906
14752
  let PAPER_SIZE = {
14907
14753
  a0 : [ 2383.94 , 3370.39 ],
14908
14754
  a1 : [ 1683.78 , 2383.94 ],
@@ -15032,15 +14878,6 @@
15032
14878
  return { paperSize: paperSize, margin: margin };
15033
14879
  }
15034
14880
 
15035
- /* eslint-disable no-nested-ternary */
15036
- /* eslint-disable default-case */
15037
- /* eslint-disable no-implicit-coercion */
15038
- /* eslint-disable no-else-return */
15039
- /* eslint-disable key-spacing */
15040
- /* eslint-disable eqeqeq */
15041
- /* eslint-disable no-param-reassign */
15042
-
15043
-
15044
14881
  let GUIDELINE_WIDTH = 0.8;
15045
14882
 
15046
14883
  // This takes a list of row heights and the page height, and
@@ -16076,6 +15913,7 @@
16076
15913
 
16077
15914
  const RESIZE_HANDLE_WIDTH = 7;
16078
15915
  const EDIT_BUTTON_WIDTH = 20;
15916
+ const CELL_PADDING_RIGHT = 3;
16079
15917
  const DOT = ".";
16080
15918
 
16081
15919
  const viewClassNames = {
@@ -16398,7 +16236,7 @@
16398
16236
  children.push(this.renderData(args));
16399
16237
 
16400
16238
  if (!sheet._activeDrawing) {
16401
- children.push(this.renderSelection(scroller));
16239
+ children.push(this.renderSelection());
16402
16240
  }
16403
16241
 
16404
16242
  children.push(this.renderAutoFill());
@@ -16563,6 +16401,7 @@
16563
16401
  let cls = null;
16564
16402
  let absRow = cell.row + view.ref.topLeft.row;
16565
16403
  let absCol = cell.col + view.ref.topLeft.col;
16404
+ let hasButton = false;
16566
16405
  if (sheet._activeDrawing) {
16567
16406
  let ref = sheet._activeDrawing.topLeftCell;
16568
16407
  if (ref && ref.row === absRow && ref.col === absCol) {
@@ -16577,10 +16416,16 @@
16577
16416
  if (sheet.singleCellSelection()) {
16578
16417
  cls.push(Pane.classNames.single);
16579
16418
  }
16419
+ if (this._renderCustomEditorButton(cont.children, cell)) {
16420
+ hasButton = true;
16421
+ }
16580
16422
  cls = cls.join(" ");
16581
16423
  }
16582
16424
  borders.add(cell);
16583
- drawCell(cont.children, cell, cls, showGridLines);
16425
+ var cellDiv = drawCell(cont.children, cell, cls, showGridLines);
16426
+ if (hasButton) {
16427
+ cellDiv.attr.style.paddingRight = (EDIT_BUTTON_WIDTH + CELL_PADDING_RIGHT) + "px";
16428
+ }
16584
16429
  if (cell.comment && sheet._commentRef &&
16585
16430
  absRow === sheet._commentRef.row && absCol === sheet._commentRef.col) {
16586
16431
  let ttOffset = 4;
@@ -16795,12 +16640,11 @@
16795
16640
 
16796
16641
  }
16797
16642
 
16798
- renderSelection(scroller) {
16643
+ renderSelection() {
16799
16644
  let classNames = Pane.classNames;
16800
16645
  let selections = [];
16801
16646
  let selectionClasses = [classNames.selection];
16802
16647
  let sheet = this._sheet;
16803
- let activeCell = sheet.activeCell().toRangeRef();
16804
16648
  let selection = sheet.select();
16805
16649
 
16806
16650
  selectionClasses = selectionClasses.concat(this._activeFormulaColor());
@@ -16819,8 +16663,6 @@
16819
16663
  }
16820
16664
  }.bind(this));
16821
16665
 
16822
- this._renderCustomEditorButton(selections, activeCell, scroller);
16823
-
16824
16666
  return dom.element("div", { className: classNames.selectionWrapper }, selections);
16825
16667
  }
16826
16668
 
@@ -16879,42 +16721,26 @@
16879
16721
  return div;
16880
16722
  }
16881
16723
 
16882
- _renderCustomEditorButton(collection, ref, scroller) {
16724
+ _renderCustomEditorButton(collection, cell) {
16883
16725
  let self = this;
16884
- let sheet = self._sheet;
16885
- let view = self._currentView;
16886
- let columnCount = self._grid.columns._axis._count;
16726
+ let sheet = this._sheet;
16887
16727
  let ed = sheet.activeCellCustomEditor();
16888
-
16889
- if (ed && view.ref.intersects(ref)) {
16890
- let rectangle = self._rectangle(ref);
16891
- sheet.forEach(ref.collapse(), function(row, col, cell) {
16892
- cell.left = rectangle.left;
16893
- cell.top = rectangle.top;
16894
- cell.width = rectangle.width;
16895
- cell.height = rectangle.height;
16896
-
16897
- let btnClass = "k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-spreadsheet-editor-button";
16898
- let isLastColumn = col === columnCount - 1 || self._buttonOutOfVisiblePane(row, col, scroller);
16899
- if (isLastColumn) {
16900
- btnClass += " k-spreadsheet-last-column";
16901
- }
16902
- self._editorInLastColumn = isLastColumn;
16903
- let btn = dom.element("div", {
16904
- className: btnClass,
16905
- style: {
16906
- left : (cell.left + (isLastColumn ? 0 : cell.width)) + "px",
16907
- top : cell.top + "px",
16908
- height : cell.height + "px"
16909
- }
16910
- });
16911
-
16912
- if (ed.icon) {
16913
- btn.children.push(self.icon(ed.icon));
16728
+ if (ed) {
16729
+ let btnClass = "k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-spreadsheet-editor-button";
16730
+ let btn = dom.element("div", {
16731
+ className: btnClass,
16732
+ style: {
16733
+ left : (cell.left + cell.width - EDIT_BUTTON_WIDTH) + "px",
16734
+ top : (cell.top + 1) + "px",
16735
+ height : (cell.height - 2) + "px",
16736
+ width : EDIT_BUTTON_WIDTH + "px",
16914
16737
  }
16915
-
16916
- collection.push(btn);
16917
16738
  });
16739
+ if (ed.icon) {
16740
+ btn.children.push(self.icon(ed.icon));
16741
+ }
16742
+ collection.push(btn);
16743
+ return true;
16918
16744
  }
16919
16745
  }
16920
16746
 
@@ -16986,13 +16812,6 @@
16986
16812
  });
16987
16813
  }
16988
16814
 
16989
- /* eslint-disable no-unused-vars */
16990
- /* eslint-disable no-param-reassign */
16991
- /* eslint-disable no-else-return */
16992
- /* eslint-disable no-multi-spaces */
16993
- /* eslint-disable no-nested-ternary */
16994
-
16995
-
16996
16815
  let styles = [
16997
16816
  "font-family",
16998
16817
  "font-size",
@@ -17852,15 +17671,6 @@
17852
17671
  }
17853
17672
  }
17854
17673
 
17855
- /* eslint-disable complexity */
17856
- /* eslint-disable consistent-return */
17857
- /* eslint-disable default-case */
17858
- /* eslint-disable no-implicit-coercion */
17859
- /* eslint-disable no-nested-ternary */
17860
- /* eslint-disable key-spacing */
17861
- /* eslint-disable no-param-reassign */
17862
-
17863
-
17864
17674
  function selectElementContents(el) {
17865
17675
  let sel = window.getSelection();
17866
17676
  sel.removeAllRanges();
@@ -18332,15 +18142,12 @@
18332
18142
  return Math.abs(rectangle.right - x) < 8 && Math.abs(rectangle.bottom - y) < 8;
18333
18143
  }
18334
18144
 
18335
- isEditButton(x, y, pane) {
18145
+ isEditButton(x, y) {
18336
18146
  let ed = this._sheet.activeCellCustomEditor();
18337
18147
  if (ed) {
18338
18148
  let r = this.activeCellRectangle();
18339
- // XXX: hard-coded button width (20)
18340
-
18341
18149
  if (y >= r.top && y <= r.bottom) {
18342
- return pane._editorInLastColumn ? x < r.left && x >= r.left - EDIT_BUTTON_WIDTH
18343
- : x > r.right && x <= r.right + EDIT_BUTTON_WIDTH;
18150
+ return x < r.right && x >= r.right - EDIT_BUTTON_WIDTH;
18344
18151
  }
18345
18152
  }
18346
18153
  }
@@ -18428,7 +18235,7 @@
18428
18235
  ref = new CellRef(-Infinity, column);
18429
18236
  type = "columnresizehandle";
18430
18237
  }
18431
- } else if (this.isEditButton(x, y, pane)) {
18238
+ } else if (this.isEditButton(x, y)) {
18432
18239
  type = "editor";
18433
18240
  }
18434
18241
 
@@ -18856,7 +18663,7 @@
18856
18663
 
18857
18664
  View.classNames = viewClassNames;
18858
18665
 
18859
- const reTable = /<table[^>]+>/gmi;
18666
+ const reTable = /<table [^>]*>/gmi;
18860
18667
  const tables = contentStr => ((contentStr || '').match(reTable) || []);
18861
18668
 
18862
18669
  class Clipboard {
@@ -19247,12 +19054,6 @@
19247
19054
  return state;
19248
19055
  }
19249
19056
 
19250
- /* eslint-disable no-else-return */
19251
- /* eslint-disable consistent-return */
19252
- /* eslint-disable space-before-blocks */
19253
- /* eslint-disable no-implicit-coercion */
19254
-
19255
-
19256
19057
  let COMMAND_TYPES = {
19257
19058
  AUTO_FILL: "autoFill",
19258
19059
  CLEAR: "clear",
@@ -20702,7 +20503,6 @@
20702
20503
  }
20703
20504
  }
20704
20505
 
20705
- /* eslint-disable no-param-reassign */
20706
20506
  // SAX-style XML parser ====================================================
20707
20507
  let STRING = String.fromCharCode;
20708
20508
 
@@ -21072,13 +20872,7 @@
21072
20872
  }
21073
20873
 
21074
20874
  /* eslint-disable complexity */
21075
- /* eslint-disable camelcase */
21076
- /* eslint-disable key-spacing */
21077
- /* eslint-disable no-nested-ternary */
21078
- /* eslint-disable brace-style */
21079
- /* eslint-disable no-implicit-coercion */
21080
- /* eslint-disable no-loop-func */
21081
- /* eslint-disable no-param-reassign */
20875
+
21082
20876
 
21083
20877
  // WARNING: removing the following jshint declaration and turning
21084
20878
  // == into === to make JSHint happy will break functionality.
@@ -21376,6 +21170,7 @@
21376
21170
  let valueFilterValues;
21377
21171
  let filters = [];
21378
21172
  let deferredStyles = [];
21173
+ let applyProtection = Boolean(sheet._workbook?.options?.excel?.applyProtection);
21379
21174
 
21380
21175
  ERROR_LOG = sheet._workbook.excelImportErrors;
21381
21176
 
@@ -21484,7 +21279,7 @@
21484
21279
  if (target) {
21485
21280
  sheet.range(attrs.ref).link(target);
21486
21281
  }
21487
- } else if (this.is(SEL_PROTECTION)) {
21282
+ } else if (applyProtection && this.is(SEL_PROTECTION)) {
21488
21283
  if (attrs.sheet) {
21489
21284
  sheet.range(SHEETREF).enable(false);
21490
21285
  }
@@ -21962,6 +21757,7 @@
21962
21757
 
21963
21758
  function applyStyle(sheet, ref, styles, styleIndex) {
21964
21759
  let range = sheet.range(ref);
21760
+ let applyProtection = Boolean(sheet._workbook?.options?.excel?.applyProtection);
21965
21761
  let xf = styles.inlineStyles[styleIndex], base, value;
21966
21762
  if (xf.xfId) {
21967
21763
  base = styles.namedStyles[xf.xfId];
@@ -21991,7 +21787,7 @@
21991
21787
  if (shouldSet("applyNumberFormat", "numFmtId")) {
21992
21788
  setFormat(styles.numFmts[value] || DEFAULT_FORMATS[value]);
21993
21789
  }
21994
- if (shouldSet("applyProtection", "protection")) {
21790
+ if (applyProtection && shouldSet("applyProtection", "protection")) {
21995
21791
  range.enable(!xf.protection.locked);
21996
21792
  }
21997
21793
 
@@ -22447,13 +22243,6 @@
22447
22243
  return val / 9525;
22448
22244
  }
22449
22245
 
22450
- /* eslint-disable no-undef */
22451
- /* eslint-disable no-nested-ternary */
22452
- /* eslint-disable key-spacing */
22453
- /* eslint-disable consistent-return */
22454
- /* eslint-disable no-param-reassign */
22455
-
22456
-
22457
22246
  const events$1 = [
22458
22247
  "cut",
22459
22248
  "copy",
@@ -23136,6 +22925,12 @@
23136
22925
  options = deepExtend({}, self.options.excel, options);
23137
22926
  let data = self.toJSON();
23138
22927
 
22928
+ if (!options.applyProtection) {
22929
+ data.sheets.forEach(({ rows }) =>
22930
+ rows.forEach(({ cells }) =>
22931
+ cells.forEach(cell => delete cell.enable)));
22932
+ }
22933
+
23139
22934
  if (self.trigger("excelExport", { workbook: data })) {
23140
22935
  return;
23141
22936
  }
@@ -23449,8 +23244,6 @@
23449
23244
  // };
23450
23245
  // }
23451
23246
 
23452
- /* eslint-disable no-param-reassign */
23453
-
23454
23247
  const events = [
23455
23248
  "cut",
23456
23249
  "copy",