handsontable 0.0.0-next-9e7a0e1-20241015 → 0.0.0-next-b0eaa90-20241016

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

Potentially problematic release.


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

Files changed (79) hide show
  1. package/3rdparty/walkontable/src/calculator/viewportRows.js +5 -1
  2. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +5 -2
  3. package/3rdparty/walkontable/src/core/clone.js +1 -0
  4. package/3rdparty/walkontable/src/core/clone.mjs +1 -0
  5. package/3rdparty/walkontable/src/core/core.js +2 -0
  6. package/3rdparty/walkontable/src/core/core.mjs +2 -0
  7. package/3rdparty/walkontable/src/overlay/_base.js +3 -1
  8. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -1
  9. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  10. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  11. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  12. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  13. package/3rdparty/walkontable/src/settings.js +0 -2
  14. package/3rdparty/walkontable/src/settings.mjs +0 -2
  15. package/3rdparty/walkontable/src/table.js +6 -5
  16. package/3rdparty/walkontable/src/table.mjs +6 -5
  17. package/3rdparty/walkontable/src/utils/column.js +1 -1
  18. package/3rdparty/walkontable/src/utils/column.mjs +1 -1
  19. package/3rdparty/walkontable/src/utils/stylesHandler.js +185 -0
  20. package/3rdparty/walkontable/src/utils/stylesHandler.mjs +181 -0
  21. package/3rdparty/walkontable/src/viewport.js +1 -0
  22. package/3rdparty/walkontable/src/viewport.mjs +1 -0
  23. package/base.js +2 -2
  24. package/base.mjs +2 -2
  25. package/core.js +11 -0
  26. package/core.mjs +11 -0
  27. package/dataMap/metaManager/metaSchema.js +17 -0
  28. package/dataMap/metaManager/metaSchema.mjs +17 -0
  29. package/dist/handsontable.css +236 -5
  30. package/dist/handsontable.full.css +3 -3
  31. package/dist/handsontable.full.js +3892 -3806
  32. package/dist/handsontable.full.min.css +4 -3
  33. package/dist/handsontable.full.min.js +26 -26
  34. package/dist/handsontable.js +3599 -3507
  35. package/dist/handsontable.min.css +9 -4
  36. package/dist/handsontable.min.js +24 -24
  37. package/editors/autocompleteEditor/autocompleteEditor.js +1 -1
  38. package/editors/autocompleteEditor/autocompleteEditor.mjs +1 -1
  39. package/editors/baseEditor/baseEditor.js +1 -1
  40. package/editors/baseEditor/baseEditor.mjs +1 -1
  41. package/editors/dateEditor/dateEditor.js +2 -0
  42. package/editors/dateEditor/dateEditor.mjs +2 -0
  43. package/editors/handsontableEditor/handsontableEditor.js +1 -1
  44. package/editors/handsontableEditor/handsontableEditor.mjs +1 -1
  45. package/editors/passwordEditor/passwordEditor.js +4 -0
  46. package/editors/passwordEditor/passwordEditor.mjs +5 -1
  47. package/editors/selectEditor/selectEditor.js +20 -9
  48. package/editors/selectEditor/selectEditor.mjs +20 -9
  49. package/editors/textEditor/textEditor.js +7 -11
  50. package/editors/textEditor/textEditor.mjs +8 -12
  51. package/helpers/mixed.js +2 -2
  52. package/helpers/mixed.mjs +2 -2
  53. package/helpers/themes.js +17 -0
  54. package/helpers/themes.mjs +13 -0
  55. package/package.json +10 -3
  56. package/plugins/comments/commentEditor.js +8 -1
  57. package/plugins/comments/commentEditor.mjs +8 -1
  58. package/plugins/comments/comments.js +1 -1
  59. package/plugins/comments/comments.mjs +1 -1
  60. package/plugins/contextMenu/menu/menu.js +4 -4
  61. package/plugins/contextMenu/menu/menu.mjs +4 -4
  62. package/plugins/manualRowMove/manualRowMove.js +1 -1
  63. package/plugins/manualRowMove/manualRowMove.mjs +1 -1
  64. package/plugins/mergeCells/mergeCells.js +1 -1
  65. package/plugins/mergeCells/mergeCells.mjs +1 -1
  66. package/plugins/nestedRows/ui/headers.js +3 -1
  67. package/plugins/nestedRows/ui/headers.mjs +3 -1
  68. package/styles/handsontable.css +1920 -0
  69. package/styles/handsontable.min.css +30 -0
  70. package/styles/ht-theme-gemini.css +690 -0
  71. package/styles/ht-theme-gemini.min.css +30 -0
  72. package/styles/ht-theme-main.css +712 -0
  73. package/styles/ht-theme-main.min.css +30 -0
  74. package/tableView.js +33 -0
  75. package/tableView.mjs +33 -0
  76. package/utils/autoResize.js +4 -1
  77. package/utils/autoResize.mjs +4 -1
  78. package/utils/ghostTable.js +1 -1
  79. package/utils/ghostTable.mjs +1 -1
@@ -0,0 +1,181 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
3
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
4
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
5
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
6
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
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
+ var _rootElement = /*#__PURE__*/new WeakMap();
9
+ var _rootComputedStyle = /*#__PURE__*/new WeakMap();
10
+ var _rootDocument = /*#__PURE__*/new WeakMap();
11
+ var _isClassicTheme = /*#__PURE__*/new WeakMap();
12
+ var _cssVars = /*#__PURE__*/new WeakMap();
13
+ var _computedStyles = /*#__PURE__*/new WeakMap();
14
+ var _StylesHandler_brand = /*#__PURE__*/new WeakSet();
15
+ /**
16
+ * Handles the theme-related style operations.
17
+ */
18
+ export class StylesHandler {
19
+ /**
20
+ * Initializes a new instance of the `StylesHandler` class.
21
+ *
22
+ * @param {object} domBindings - The DOM bindings for the instance.
23
+ */
24
+ constructor(domBindings) {
25
+ var _classPrivateFieldGet2;
26
+ /**
27
+ * Retrieves and processes the computed styles for a `td` element.
28
+ *
29
+ * This method creates a temporary table structure, appends it to the root element,
30
+ * retrieves the computed styles for the `td` element, and then removes the table
31
+ * from the DOM. The computed styles are passed to the provided callback function.
32
+ *
33
+ * @param {Function} getterCallback - A callback function that processes the computed styles.
34
+ * It receives a `CSSStyleDeclaration` object as its argument.
35
+ * @private
36
+ */
37
+ _classPrivateMethodInitSpec(this, _StylesHandler_brand);
38
+ /**
39
+ * The instance's root element.
40
+ *
41
+ * @type {HTMLElement}
42
+ */
43
+ _classPrivateFieldInitSpec(this, _rootElement, void 0);
44
+ /**
45
+ * The computed style of the root element.
46
+ *
47
+ * @type {CSSStyleDeclaration}
48
+ * @private
49
+ */
50
+ _classPrivateFieldInitSpec(this, _rootComputedStyle, void 0);
51
+ /**
52
+ * The root document of the instance.
53
+ *
54
+ * @type {Document}
55
+ * @private
56
+ */
57
+ _classPrivateFieldInitSpec(this, _rootDocument, void 0);
58
+ /**
59
+ * `true` if the classic theme is enabled, `false` otherwise.
60
+ *
61
+ * @type {boolean}
62
+ */
63
+ _classPrivateFieldInitSpec(this, _isClassicTheme, false);
64
+ /**
65
+ * An object to store CSS variable values.
66
+ *
67
+ * @type {object}
68
+ * @private
69
+ */
70
+ _classPrivateFieldInitSpec(this, _cssVars, {});
71
+ /**
72
+ * Stores the computed styles for various elements.
73
+ *
74
+ * @type {object} - An object containing the computed styles if a nested structore of `element: { [element type]: {property: value} }`.
75
+ * @private
76
+ */
77
+ _classPrivateFieldInitSpec(this, _computedStyles, {});
78
+ _classPrivateFieldSet(_rootElement, this, domBindings.rootTable.parentElement);
79
+ _classPrivateFieldSet(_rootComputedStyle, this, getComputedStyle(_classPrivateFieldGet(_rootElement, this)));
80
+ _classPrivateFieldSet(_rootDocument, this, domBindings.rootDocument);
81
+ if (((_classPrivateFieldGet2 = _classPrivateFieldGet(_rootComputedStyle, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.getPropertyValue('--ht-line-height')) === '') {
82
+ _classPrivateFieldSet(_isClassicTheme, this, true);
83
+ }
84
+
85
+ // Some of the properties are not stored in the CSS variables, so we need to get them from the computed style.
86
+ _assertClassBrand(_StylesHandler_brand, this, _getStylesForTD).call(this, computedStyle => {
87
+ _classPrivateFieldSet(_computedStyles, this, {
88
+ ..._classPrivateFieldGet(_computedStyles, this),
89
+ ...{
90
+ td: {
91
+ 'box-sizing': computedStyle['box-sizing'],
92
+ 'border-top-width': parseInt(computedStyle['border-top-width'], 10),
93
+ 'border-bottom-width': parseInt(computedStyle['border-bottom-width'], 10)
94
+ }
95
+ }
96
+ });
97
+ });
98
+ }
99
+
100
+ /**
101
+ * Gets the value indicating whether the classic theme is enabled.
102
+ *
103
+ * @returns {boolean} `true` if the classic theme is enabled, `false` otherwise.
104
+ */
105
+ isClassicTheme() {
106
+ return _classPrivateFieldGet(_isClassicTheme, this);
107
+ }
108
+
109
+ /**
110
+ * Retrieves the value of a specified CSS variable.
111
+ *
112
+ * @param {string} variableName - The name of the CSS variable to retrieve.
113
+ * @returns {number|string|undefined} The value of the specified CSS variable, or `undefined` if not found.
114
+ */
115
+ getCSSVariableValue(variableName) {
116
+ if (_classPrivateFieldGet(_cssVars, this)[`--ht-${variableName}`]) {
117
+ return _classPrivateFieldGet(_cssVars, this)[`--ht-${variableName}`];
118
+ }
119
+ const acquiredValue = _assertClassBrand(_StylesHandler_brand, this, _getParsedCSSValue).call(this, `--ht-${variableName}`);
120
+ if (acquiredValue && acquiredValue !== '') {
121
+ _classPrivateFieldSet(_cssVars, this, {
122
+ ..._classPrivateFieldGet(_cssVars, this),
123
+ ...{
124
+ [variableName]: acquiredValue
125
+ }
126
+ });
127
+ return acquiredValue;
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Retrieves the computed style value for a specified CSS property of a `td` element.
133
+ *
134
+ * @param {string} cssProperty - The CSS property to retrieve the value for.
135
+ * @returns {number|string|undefined} The value of the specified CSS property, or `undefined` if not found.
136
+ */
137
+ getStyleForTD(cssProperty) {
138
+ var _classPrivateFieldGet3;
139
+ const value = (_classPrivateFieldGet3 = _classPrivateFieldGet(_computedStyles, this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.td[cssProperty];
140
+ if (value !== undefined && value !== '') {
141
+ return value;
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Calculates the row height based on the current theme and CSS variables.
147
+ *
148
+ * @returns {number} The calculated row height.
149
+ */
150
+ getDefaultRowHeight() {
151
+ if (_classPrivateFieldGet(_isClassicTheme, this)) {
152
+ return 23;
153
+ }
154
+ return this.getStyleForTD('border-top-width') + this.getCSSVariableValue('cell-vertical-padding') * 2 + this.getCSSVariableValue('line-height') + this.getStyleForTD('border-bottom-width');
155
+ }
156
+ }
157
+ function _getStylesForTD(getterCallback) {
158
+ const table = _classPrivateFieldGet(_rootDocument, this).createElement('table');
159
+ const tbody = _classPrivateFieldGet(_rootDocument, this).createElement('tbody');
160
+ const tr = _classPrivateFieldGet(_rootDocument, this).createElement('tr');
161
+ // This needs not to be the first row in order to get "regular" vaules.
162
+ const tr2 = _classPrivateFieldGet(_rootDocument, this).createElement('tr');
163
+ const td = _classPrivateFieldGet(_rootDocument, this).createElement('td');
164
+ tr2.appendChild(td);
165
+ tbody.appendChild(tr);
166
+ tbody.appendChild(tr2);
167
+ table.appendChild(tbody);
168
+ _classPrivateFieldGet(_rootElement, this).appendChild(table);
169
+ getterCallback(getComputedStyle(td));
170
+ _classPrivateFieldGet(_rootElement, this).removeChild(table);
171
+ }
172
+ /**
173
+ * Parses the value of a specified CSS property from the root element's computed style.
174
+ *
175
+ * @param {string} property - The CSS property to retrieve and parse.
176
+ * @returns {number|string} The parsed value of the CSS property.
177
+ */
178
+ function _getParsedCSSValue(property) {
179
+ var _classPrivateFieldGet4;
180
+ return parseInt((_classPrivateFieldGet4 = _classPrivateFieldGet(_rootComputedStyle, this)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.getPropertyValue(property), 10);
181
+ }
@@ -284,6 +284,7 @@ class Viewport {
284
284
  viewportHeight: height,
285
285
  scrollOffset: pos,
286
286
  totalRows: wtSettings.getSetting('totalRows'),
287
+ defaultRowHeight: this.wot.stylesHandler.getDefaultRowHeight(),
287
288
  rowHeightFn: sourceRow => wtTable.getRowHeight(sourceRow),
288
289
  overrideFn: wtSettings.getSettingPure('viewportRowCalculatorOverride'),
289
290
  horizontalScrollbarHeight: scrollbarHeight
@@ -281,6 +281,7 @@ class Viewport {
281
281
  viewportHeight: height,
282
282
  scrollOffset: pos,
283
283
  totalRows: wtSettings.getSetting('totalRows'),
284
+ defaultRowHeight: this.wot.stylesHandler.getDefaultRowHeight(),
284
285
  rowHeightFn: sourceRow => wtTable.getRowHeight(sourceRow),
285
286
  overrideFn: wtSettings.getSettingPure('viewportRowCalculatorOverride'),
286
287
  horizontalScrollbarHeight: scrollbarHeight
package/base.js CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
45
45
  Handsontable.CellCoords = _src.CellCoords;
46
46
  Handsontable.CellRange = _src.CellRange;
47
47
  Handsontable.packageName = 'handsontable';
48
- Handsontable.buildDate = "15/10/2024 06:13:10";
49
- Handsontable.version = "0.0.0-next-9e7a0e1-20241015";
48
+ Handsontable.buildDate = "16/10/2024 13:47:33";
49
+ Handsontable.version = "0.0.0-next-b0eaa90-20241016";
50
50
  Handsontable.languages = {
51
51
  dictionaryKeys: _registry.dictionaryKeys,
52
52
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
35
35
  Handsontable.CellCoords = CellCoords;
36
36
  Handsontable.CellRange = CellRange;
37
37
  Handsontable.packageName = 'handsontable';
38
- Handsontable.buildDate = "15/10/2024 06:13:16";
39
- Handsontable.version = "0.0.0-next-9e7a0e1-20241015";
38
+ Handsontable.buildDate = "16/10/2024 13:47:39";
39
+ Handsontable.version = "0.0.0-next-b0eaa90-20241016";
40
40
  Handsontable.languages = {
41
41
  dictionaryKeys,
42
42
  getLanguageDictionary,
package/core.js CHANGED
@@ -43,6 +43,7 @@ var _index3 = require("./core/index");
43
43
  var _uniqueMap = require("./utils/dataStructures/uniqueMap");
44
44
  var _shortcuts = require("./shortcuts");
45
45
  var _shortcutContexts = require("./shortcutContexts");
46
+ var _themes = require("./helpers/themes");
46
47
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
47
48
  let activeGuid = null;
48
49
 
@@ -229,7 +230,17 @@ function Core(rootElement, userSettings) {
229
230
  this.renderCall = false;
230
231
  rootElement.insertBefore(this.container, rootElement.firstChild);
231
232
  if ((0, _rootInstance.isRootInstance)(this)) {
233
+ var _rootElement$parentNo;
232
234
  (0, _mixed._injectProductInfo)(userSettings.licenseKey, rootElement);
235
+ const rootThemeClassName = (0, _themes.getThemeClassName)(rootElement.className);
236
+ if (rootThemeClassName) {
237
+ tableMeta.themeName = rootThemeClassName;
238
+ }
239
+ (0, _element.addClass)(rootElement, tableMeta.themeName);
240
+ const licenseInfo = (_rootElement$parentNo = rootElement.parentNode) === null || _rootElement$parentNo === void 0 ? void 0 : _rootElement$parentNo.querySelector('.hot-display-license-info');
241
+ if (licenseInfo) {
242
+ (0, _element.addClass)(licenseInfo, tableMeta.themeName);
243
+ }
233
244
  }
234
245
  this.guid = `ht_${(0, _string.randomString)()}`; // this is the namespace for global events
235
246
 
package/core.mjs CHANGED
@@ -39,6 +39,7 @@ import { installFocusCatcher, createViewportScroller } from "./core/index.mjs";
39
39
  import { createUniqueMap } from "./utils/dataStructures/uniqueMap.mjs";
40
40
  import { createShortcutManager } from "./shortcuts/index.mjs";
41
41
  import { registerAllShortcutContexts } from "./shortcutContexts/index.mjs";
42
+ import { getThemeClassName } from "./helpers/themes.mjs";
42
43
  let activeGuid = null;
43
44
 
44
45
  /**
@@ -224,7 +225,17 @@ export default function Core(rootElement, userSettings) {
224
225
  this.renderCall = false;
225
226
  rootElement.insertBefore(this.container, rootElement.firstChild);
226
227
  if (isRootInstance(this)) {
228
+ var _rootElement$parentNo;
227
229
  _injectProductInfo(userSettings.licenseKey, rootElement);
230
+ const rootThemeClassName = getThemeClassName(rootElement.className);
231
+ if (rootThemeClassName) {
232
+ tableMeta.themeName = rootThemeClassName;
233
+ }
234
+ addClass(rootElement, tableMeta.themeName);
235
+ const licenseInfo = (_rootElement$parentNo = rootElement.parentNode) === null || _rootElement$parentNo === void 0 ? void 0 : _rootElement$parentNo.querySelector('.hot-display-license-info');
236
+ if (licenseInfo) {
237
+ addClass(licenseInfo, tableMeta.themeName);
238
+ }
228
239
  }
229
240
  this.guid = `ht_${randomString()}`; // this is the namespace for global events
230
241
 
@@ -4313,6 +4313,23 @@ var _default = () => {
4313
4313
  * ```
4314
4314
  */
4315
4315
  tableClassName: undefined,
4316
+ // TODO: add themeName description
4317
+ /**
4318
+ * The `themeName` option lets you add CSS class names
4319
+ *
4320
+ * @memberof Options#
4321
+ * @type {string|string[]}
4322
+ * @default undefined
4323
+ * @category Core
4324
+ *
4325
+ * @example
4326
+ * ```js
4327
+ * // add a `ht-theme-name` CSS class name
4328
+ * // to every Handsontable instance inside the `container` element
4329
+ * themeName: 'ht-theme-name',
4330
+ * ```
4331
+ */
4332
+ themeName: 'ht-theme-main',
4316
4333
  /**
4317
4334
  * The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
4318
4335
  *
@@ -4310,6 +4310,23 @@ export default () => {
4310
4310
  * ```
4311
4311
  */
4312
4312
  tableClassName: undefined,
4313
+ // TODO: add themeName description
4314
+ /**
4315
+ * The `themeName` option lets you add CSS class names
4316
+ *
4317
+ * @memberof Options#
4318
+ * @type {string|string[]}
4319
+ * @default undefined
4320
+ * @category Core
4321
+ *
4322
+ * @example
4323
+ * ```js
4324
+ * // add a `ht-theme-name` CSS class name
4325
+ * // to every Handsontable instance inside the `container` element
4326
+ * themeName: 'ht-theme-name',
4327
+ * ```
4328
+ */
4329
+ themeName: 'ht-theme-main',
4313
4330
  /**
4314
4331
  * The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
4315
4332
  *
@@ -25,13 +25,13 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-9e7a0e1-20241015
29
- * Release date: 01/10/2024 (built at 15/10/2024 06:13:21)
28
+ * Version: 0.0.0-next-b0eaa90-20241016
29
+ * Release date: 01/10/2024 (built at 16/10/2024 13:48:35)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
33
33
  */
34
- .handsontable .table th, .handsontable .table td {
34
+ .handsontable .table th, .handsontable .table td {
35
35
  border-top: none;
36
36
  }
37
37
 
@@ -792,6 +792,239 @@ TextRenderer placeholder value
792
792
  animation-fill-mode: forwards;
793
793
  -webkit-animation-fill-mode: forwards;
794
794
  }
795
+ @charset "UTF-8";
796
+ /*!
797
+ * Pikaday
798
+ * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/
799
+ */
800
+ .pika-single {
801
+ z-index: 9999;
802
+ display: block;
803
+ position: relative;
804
+ color: #333;
805
+ background: #fff;
806
+ border: 1px solid #ccc;
807
+ border-bottom-color: #bbb;
808
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
809
+ }
810
+
811
+ /*
812
+ clear child float (pika-lendar), using the famous micro clearfix hack
813
+ http://nicolasgallagher.com/micro-clearfix-hack/
814
+ */
815
+ .pika-single:before,
816
+ .pika-single:after {
817
+ content: " ";
818
+ display: table;
819
+ }
820
+
821
+ .pika-single:after {
822
+ clear: both;
823
+ }
824
+
825
+ .pika-single.is-hidden {
826
+ display: none;
827
+ }
828
+
829
+ .pika-single.is-bound {
830
+ position: absolute;
831
+ box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5);
832
+ }
833
+
834
+ .pika-lendar {
835
+ float: left;
836
+ width: 240px;
837
+ margin: 8px;
838
+ }
839
+
840
+ .pika-title {
841
+ position: relative;
842
+ text-align: center;
843
+ }
844
+
845
+ .pika-label {
846
+ display: inline-block;
847
+ position: relative;
848
+ z-index: 9999;
849
+ overflow: hidden;
850
+ margin: 0;
851
+ padding: 5px 3px;
852
+ font-size: 14px;
853
+ line-height: 20px;
854
+ font-weight: bold;
855
+ background-color: #fff;
856
+ }
857
+
858
+ .pika-title select {
859
+ cursor: pointer;
860
+ position: absolute;
861
+ z-index: 9998;
862
+ margin: 0;
863
+ left: 0;
864
+ top: 5px;
865
+ opacity: 0;
866
+ }
867
+
868
+ .pika-prev,
869
+ .pika-next {
870
+ display: block;
871
+ cursor: pointer;
872
+ position: relative;
873
+ outline: none;
874
+ border: 0;
875
+ padding: 0;
876
+ width: 20px;
877
+ height: 30px;
878
+ /* hide text using text-indent trick, using width value (it's enough) */
879
+ text-indent: 20px;
880
+ white-space: nowrap;
881
+ overflow: hidden;
882
+ background-color: transparent;
883
+ background-position: center center;
884
+ background-repeat: no-repeat;
885
+ background-size: 75% 75%;
886
+ opacity: 0.5;
887
+ }
888
+
889
+ .pika-prev:hover,
890
+ .pika-next:hover {
891
+ opacity: 1;
892
+ }
893
+
894
+ .pika-prev,
895
+ .is-rtl .pika-next {
896
+ float: left;
897
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==);
898
+ }
899
+
900
+ .pika-next,
901
+ .is-rtl .pika-prev {
902
+ float: right;
903
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=);
904
+ }
905
+
906
+ .pika-prev.is-disabled,
907
+ .pika-next.is-disabled {
908
+ cursor: default;
909
+ opacity: 0.2;
910
+ }
911
+
912
+ .pika-select {
913
+ display: inline-block;
914
+ }
915
+
916
+ .pika-table {
917
+ width: 100%;
918
+ border-collapse: collapse;
919
+ border-spacing: 0;
920
+ border: 0;
921
+ }
922
+
923
+ .pika-table th,
924
+ .pika-table td {
925
+ width: 14.2857142857%;
926
+ padding: 0;
927
+ }
928
+
929
+ .pika-table th {
930
+ color: #999;
931
+ font-size: 12px;
932
+ line-height: 25px;
933
+ font-weight: bold;
934
+ text-align: center;
935
+ }
936
+
937
+ .pika-button {
938
+ cursor: pointer;
939
+ display: block;
940
+ box-sizing: border-box;
941
+ -moz-box-sizing: border-box;
942
+ outline: none;
943
+ border: 0;
944
+ margin: 0;
945
+ width: 100%;
946
+ padding: 5px;
947
+ color: #666;
948
+ font-size: 12px;
949
+ line-height: 15px;
950
+ text-align: center;
951
+ background: #f5f5f5;
952
+ height: initial;
953
+ }
954
+
955
+ .pika-week {
956
+ font-size: 11px;
957
+ color: #999;
958
+ }
959
+
960
+ .is-today .pika-button {
961
+ color: #33aaff;
962
+ font-weight: bold;
963
+ }
964
+
965
+ .is-selected .pika-button,
966
+ .has-event .pika-button {
967
+ color: #fff;
968
+ font-weight: bold;
969
+ background: #33aaff;
970
+ box-shadow: inset 0 1px 3px #178fe5;
971
+ border-radius: 3px;
972
+ }
973
+
974
+ .has-event .pika-button {
975
+ background: #005da9;
976
+ box-shadow: inset 0 1px 3px #0076c9;
977
+ }
978
+
979
+ .is-disabled .pika-button,
980
+ .is-inrange .pika-button {
981
+ background: #D5E9F7;
982
+ }
983
+
984
+ .is-startrange .pika-button {
985
+ color: #fff;
986
+ background: #6CB31D;
987
+ box-shadow: none;
988
+ border-radius: 3px;
989
+ }
990
+
991
+ .is-endrange .pika-button {
992
+ color: #fff;
993
+ background: #33aaff;
994
+ box-shadow: none;
995
+ border-radius: 3px;
996
+ }
997
+
998
+ .is-disabled .pika-button {
999
+ pointer-events: none;
1000
+ cursor: default;
1001
+ color: #999;
1002
+ opacity: 0.3;
1003
+ }
1004
+
1005
+ .is-outside-current-month .pika-button {
1006
+ color: #999;
1007
+ opacity: 0.3;
1008
+ }
1009
+
1010
+ .is-selection-disabled {
1011
+ pointer-events: none;
1012
+ cursor: default;
1013
+ }
1014
+
1015
+ .pika-button:hover,
1016
+ .pika-row.pick-whole-week:hover .pika-button {
1017
+ color: #fff;
1018
+ background: #ff8000;
1019
+ box-shadow: none;
1020
+ border-radius: 3px;
1021
+ }
1022
+
1023
+ /* styling for abbr */
1024
+ .pika-table abbr {
1025
+ border-bottom: none;
1026
+ cursor: help;
1027
+ }
795
1028
  /*
796
1029
  AutocompleteRenderer down arrow
797
1030
  */
@@ -2056,5 +2289,3 @@ textarea.HandsontableCopyPaste {
2056
2289
  left: 0;
2057
2290
  right: unset;
2058
2291
  }
2059
-
2060
- /*# sourceMappingURL=handsontable.css.map*/
@@ -25,13 +25,13 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-9e7a0e1-20241015
29
- * Release date: 01/10/2024 (built at 15/10/2024 06:13:21)
28
+ * Version: 0.0.0-next-b0eaa90-20241016
29
+ * Release date: 01/10/2024 (built at 16/10/2024 13:48:35)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
33
33
  */
34
- .handsontable .table th, .handsontable .table td {
34
+ .handsontable .table th, .handsontable .table td {
35
35
  border-top: none;
36
36
  }
37
37