handsontable 0.0.0-next-2cb2d27-20240709 → 0.0.0-next-96d7219-20240710

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

Potentially problematic release.


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

@@ -3,6 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.addClass = addClass;
5
5
  exports.addEvent = addEvent;
6
+ exports.clearClasses = clearClasses;
6
7
  exports.clearTextSelection = clearTextSelection;
7
8
  exports.closest = closest;
8
9
  exports.closestDown = closestDown;
@@ -358,6 +359,15 @@ function removeClass(element, className) {
358
359
  });
359
360
  }
360
361
 
362
+ /**
363
+ * Clear all the class names from the provided element.
364
+ *
365
+ * @param {HTMLElement} element The element to process.
366
+ */
367
+ function clearClasses(element) {
368
+ element.className = '';
369
+ }
370
+
361
371
  /**
362
372
  * Set a single attribute or multiple attributes at once.
363
373
  *
@@ -298,6 +298,15 @@ export function removeClass(element, className) {
298
298
  });
299
299
  }
300
300
 
301
+ /**
302
+ * Clear all the class names from the provided element.
303
+ *
304
+ * @param {HTMLElement} element The element to process.
305
+ */
306
+ export function clearClasses(element) {
307
+ element.className = '';
308
+ }
309
+
301
310
  /**
302
311
  * Set a single attribute or multiple attributes at once.
303
312
  *
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 = "0.0.0-next-2cb2d27-20240709";
137
+ const hotVersion = "0.0.0-next-96d7219-20240710";
138
138
  let keyValidityDate;
139
139
  let consoleMessageState = 'invalid';
140
140
  let domMessageState = 'invalid';
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 = "0.0.0-next-2cb2d27-20240709";
127
+ const hotVersion = "0.0.0-next-96d7219-20240710";
128
128
  let keyValidityDate;
129
129
  let consoleMessageState = 'invalid';
130
130
  let domMessageState = 'invalid';
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "0.0.0-next-2cb2d27-20240709",
13
+ "version": "0.0.0-next-96d7219-20240710",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
package/tableView.js CHANGED
@@ -1140,10 +1140,16 @@ class TableView {
1140
1140
  appendColHeader(visualColumnIndex, TH) {
1141
1141
  let label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.hot.getColHeader;
1142
1142
  let headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
1143
+ const getColumnHeaderClassNames = () => {
1144
+ const metaHeaderClassNames = visualColumnIndex >= 0 ? this.hot.getColumnMeta(visualColumnIndex).headerClassName : null;
1145
+ return metaHeaderClassNames ? metaHeaderClassNames.split(' ') : [];
1146
+ };
1143
1147
  if (TH.firstChild) {
1144
1148
  const container = TH.firstChild;
1145
1149
  if ((0, _element.hasClass)(container, 'relative')) {
1146
1150
  this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, label, headerLevel);
1151
+ (0, _element.clearClasses)(container);
1152
+ (0, _element.addClass)(container, ['relative', ...getColumnHeaderClassNames()]);
1147
1153
  } else {
1148
1154
  (0, _element.empty)(TH);
1149
1155
  this.appendColHeader(visualColumnIndex, TH, label, headerLevel);
@@ -1154,8 +1160,7 @@ class TableView {
1154
1160
  } = this.hot;
1155
1161
  const div = rootDocument.createElement('div');
1156
1162
  const span = rootDocument.createElement('span');
1157
- const metaHeaderClassNames = visualColumnIndex >= 0 ? this.hot.getColumnMeta(visualColumnIndex).headerClassName : null;
1158
- const classNames = metaHeaderClassNames ? metaHeaderClassNames.split(' ') : [];
1163
+ const classNames = getColumnHeaderClassNames();
1159
1164
  div.classList.add('relative', ...classNames);
1160
1165
  span.className = 'colHeader';
1161
1166
  if (this.settings.ariaTags) {
package/tableView.mjs CHANGED
@@ -9,7 +9,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
9
9
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
10
10
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
11
11
  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"); }
12
- import { addClass, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput, isVisible, setAttribute, getParentWindow } from "./helpers/dom/element.mjs";
12
+ import { addClass, clearClasses, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput, isVisible, setAttribute, getParentWindow } from "./helpers/dom/element.mjs";
13
13
  import EventManager from "./eventManager.mjs";
14
14
  import { isImmediatePropagationStopped, isRightClick, isLeftClick } from "./helpers/dom/event.mjs";
15
15
  import Walkontable from "./3rdparty/walkontable/src/index.mjs";
@@ -1136,10 +1136,16 @@ class TableView {
1136
1136
  appendColHeader(visualColumnIndex, TH) {
1137
1137
  let label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.hot.getColHeader;
1138
1138
  let headerLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
1139
+ const getColumnHeaderClassNames = () => {
1140
+ const metaHeaderClassNames = visualColumnIndex >= 0 ? this.hot.getColumnMeta(visualColumnIndex).headerClassName : null;
1141
+ return metaHeaderClassNames ? metaHeaderClassNames.split(' ') : [];
1142
+ };
1139
1143
  if (TH.firstChild) {
1140
1144
  const container = TH.firstChild;
1141
1145
  if (hasClass(container, 'relative')) {
1142
1146
  this.updateCellHeader(container.querySelector('.colHeader'), visualColumnIndex, label, headerLevel);
1147
+ clearClasses(container);
1148
+ addClass(container, ['relative', ...getColumnHeaderClassNames()]);
1143
1149
  } else {
1144
1150
  empty(TH);
1145
1151
  this.appendColHeader(visualColumnIndex, TH, label, headerLevel);
@@ -1150,8 +1156,7 @@ class TableView {
1150
1156
  } = this.hot;
1151
1157
  const div = rootDocument.createElement('div');
1152
1158
  const span = rootDocument.createElement('span');
1153
- const metaHeaderClassNames = visualColumnIndex >= 0 ? this.hot.getColumnMeta(visualColumnIndex).headerClassName : null;
1154
- const classNames = metaHeaderClassNames ? metaHeaderClassNames.split(' ') : [];
1159
+ const classNames = getColumnHeaderClassNames();
1155
1160
  div.classList.add('relative', ...classNames);
1156
1161
  span.className = 'colHeader';
1157
1162
  if (this.settings.ariaTags) {