@toolbox-web/grid 0.4.1 → 0.4.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.
Files changed (157) hide show
  1. package/README.md +10 -13
  2. package/all.js +1101 -1048
  3. package/all.js.map +1 -1
  4. package/index.js +245 -137
  5. package/index.js.map +1 -1
  6. package/lib/core/grid.d.ts +10 -0
  7. package/lib/core/grid.d.ts.map +1 -1
  8. package/lib/core/internal/config-manager.d.ts +1 -0
  9. package/lib/core/internal/config-manager.d.ts.map +1 -1
  10. package/lib/core/internal/keyboard.d.ts.map +1 -1
  11. package/lib/core/internal/utils.d.ts +1 -0
  12. package/lib/core/internal/utils.d.ts.map +1 -1
  13. package/lib/core/plugin/base-plugin.d.ts +57 -1
  14. package/lib/core/plugin/base-plugin.d.ts.map +1 -1
  15. package/lib/core/plugin/expander-column.d.ts +51 -0
  16. package/lib/core/plugin/expander-column.d.ts.map +1 -0
  17. package/lib/core/plugin/types.d.ts +117 -1
  18. package/lib/core/plugin/types.d.ts.map +1 -1
  19. package/lib/core/types.d.ts +4 -2
  20. package/lib/core/types.d.ts.map +1 -1
  21. package/lib/plugins/clipboard/ClipboardPlugin.d.ts +5 -4
  22. package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +1 -1
  23. package/lib/plugins/clipboard/index.d.ts +1 -1
  24. package/lib/plugins/clipboard/index.d.ts.map +1 -1
  25. package/lib/plugins/clipboard/index.js +282 -188
  26. package/lib/plugins/clipboard/index.js.map +1 -1
  27. package/lib/plugins/clipboard/types.d.ts +72 -2
  28. package/lib/plugins/clipboard/types.d.ts.map +1 -1
  29. package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts +0 -1
  30. package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts.map +1 -1
  31. package/lib/plugins/column-virtualization/index.js +102 -26
  32. package/lib/plugins/column-virtualization/index.js.map +1 -1
  33. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts +0 -1
  34. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts.map +1 -1
  35. package/lib/plugins/context-menu/index.js +154 -78
  36. package/lib/plugins/context-menu/index.js.map +1 -1
  37. package/lib/plugins/editing/EditingPlugin.d.ts +1 -7
  38. package/lib/plugins/editing/EditingPlugin.d.ts.map +1 -1
  39. package/lib/plugins/editing/index.js +200 -136
  40. package/lib/plugins/editing/index.js.map +1 -1
  41. package/lib/plugins/export/ExportPlugin.d.ts +0 -1
  42. package/lib/plugins/export/ExportPlugin.d.ts.map +1 -1
  43. package/lib/plugins/export/index.js +175 -99
  44. package/lib/plugins/export/index.js.map +1 -1
  45. package/lib/plugins/filtering/FilteringPlugin.d.ts +5 -2
  46. package/lib/plugins/filtering/FilteringPlugin.d.ts.map +1 -1
  47. package/lib/plugins/filtering/index.js +129 -43
  48. package/lib/plugins/filtering/index.js.map +1 -1
  49. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts +1 -2
  50. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts.map +1 -1
  51. package/lib/plugins/grouping-columns/grouping-columns.d.ts +1 -1
  52. package/lib/plugins/grouping-columns/grouping-columns.d.ts.map +1 -1
  53. package/lib/plugins/grouping-columns/index.js +144 -66
  54. package/lib/plugins/grouping-columns/index.js.map +1 -1
  55. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts +14 -2
  56. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts.map +1 -1
  57. package/lib/plugins/grouping-rows/index.js +230 -138
  58. package/lib/plugins/grouping-rows/index.js.map +1 -1
  59. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts +13 -11
  60. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts.map +1 -1
  61. package/lib/plugins/master-detail/index.js +265 -196
  62. package/lib/plugins/master-detail/index.js.map +1 -1
  63. package/lib/plugins/master-detail/types.d.ts +0 -10
  64. package/lib/plugins/master-detail/types.d.ts.map +1 -1
  65. package/lib/plugins/multi-sort/MultiSortPlugin.d.ts +1 -2
  66. package/lib/plugins/multi-sort/MultiSortPlugin.d.ts.map +1 -1
  67. package/lib/plugins/multi-sort/index.js +105 -31
  68. package/lib/plugins/multi-sort/index.js.map +1 -1
  69. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +0 -1
  70. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts.map +1 -1
  71. package/lib/plugins/pinned-columns/index.js +128 -52
  72. package/lib/plugins/pinned-columns/index.js.map +1 -1
  73. package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts +1 -2
  74. package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts.map +1 -1
  75. package/lib/plugins/pinned-rows/index.js +162 -88
  76. package/lib/plugins/pinned-rows/index.js.map +1 -1
  77. package/lib/plugins/pivot/PivotPlugin.d.ts +26 -4
  78. package/lib/plugins/pivot/PivotPlugin.d.ts.map +1 -1
  79. package/lib/plugins/pivot/index.js +398 -310
  80. package/lib/plugins/pivot/index.js.map +1 -1
  81. package/lib/plugins/pivot/pivot-rows.d.ts +2 -1
  82. package/lib/plugins/pivot/pivot-rows.d.ts.map +1 -1
  83. package/lib/plugins/reorder/ReorderPlugin.d.ts +13 -10
  84. package/lib/plugins/reorder/ReorderPlugin.d.ts.map +1 -1
  85. package/lib/plugins/reorder/index.js +288 -226
  86. package/lib/plugins/reorder/index.js.map +1 -1
  87. package/lib/plugins/selection/SelectionPlugin.d.ts +21 -3
  88. package/lib/plugins/selection/SelectionPlugin.d.ts.map +1 -1
  89. package/lib/plugins/selection/index.d.ts +2 -2
  90. package/lib/plugins/selection/index.d.ts.map +1 -1
  91. package/lib/plugins/selection/index.js +276 -145
  92. package/lib/plugins/selection/index.js.map +1 -1
  93. package/lib/plugins/selection/types.d.ts +24 -0
  94. package/lib/plugins/selection/types.d.ts.map +1 -1
  95. package/lib/plugins/server-side/ServerSidePlugin.d.ts +0 -1
  96. package/lib/plugins/server-side/ServerSidePlugin.d.ts.map +1 -1
  97. package/lib/plugins/server-side/index.js +83 -7
  98. package/lib/plugins/server-side/index.js.map +1 -1
  99. package/lib/plugins/tree/TreePlugin.d.ts +5 -1
  100. package/lib/plugins/tree/TreePlugin.d.ts.map +1 -1
  101. package/lib/plugins/tree/index.js +197 -112
  102. package/lib/plugins/tree/index.js.map +1 -1
  103. package/lib/plugins/tree/types.d.ts +0 -10
  104. package/lib/plugins/tree/types.d.ts.map +1 -1
  105. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +0 -1
  106. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +1 -1
  107. package/lib/plugins/undo-redo/index.js +93 -17
  108. package/lib/plugins/undo-redo/index.js.map +1 -1
  109. package/lib/plugins/visibility/VisibilityPlugin.d.ts +7 -4
  110. package/lib/plugins/visibility/VisibilityPlugin.d.ts.map +1 -1
  111. package/lib/plugins/visibility/index.js +144 -65
  112. package/lib/plugins/visibility/index.js.map +1 -1
  113. package/package.json +1 -1
  114. package/umd/grid.all.umd.js +17 -19
  115. package/umd/grid.all.umd.js.map +1 -1
  116. package/umd/grid.umd.js +7 -7
  117. package/umd/grid.umd.js.map +1 -1
  118. package/umd/plugins/clipboard.umd.js +5 -7
  119. package/umd/plugins/clipboard.umd.js.map +1 -1
  120. package/umd/plugins/column-virtualization.umd.js +1 -1
  121. package/umd/plugins/column-virtualization.umd.js.map +1 -1
  122. package/umd/plugins/context-menu.umd.js +1 -1
  123. package/umd/plugins/context-menu.umd.js.map +1 -1
  124. package/umd/plugins/editing.umd.js +1 -1
  125. package/umd/plugins/editing.umd.js.map +1 -1
  126. package/umd/plugins/export.umd.js +1 -1
  127. package/umd/plugins/export.umd.js.map +1 -1
  128. package/umd/plugins/filtering.umd.js +1 -1
  129. package/umd/plugins/filtering.umd.js.map +1 -1
  130. package/umd/plugins/grouping-columns.umd.js +1 -1
  131. package/umd/plugins/grouping-columns.umd.js.map +1 -1
  132. package/umd/plugins/grouping-rows.umd.js +1 -1
  133. package/umd/plugins/grouping-rows.umd.js.map +1 -1
  134. package/umd/plugins/master-detail.umd.js +1 -1
  135. package/umd/plugins/master-detail.umd.js.map +1 -1
  136. package/umd/plugins/multi-sort.umd.js +1 -1
  137. package/umd/plugins/multi-sort.umd.js.map +1 -1
  138. package/umd/plugins/pinned-columns.umd.js +1 -1
  139. package/umd/plugins/pinned-columns.umd.js.map +1 -1
  140. package/umd/plugins/pinned-rows.umd.js +1 -1
  141. package/umd/plugins/pinned-rows.umd.js.map +1 -1
  142. package/umd/plugins/pivot.umd.js +1 -1
  143. package/umd/plugins/pivot.umd.js.map +1 -1
  144. package/umd/plugins/reorder.umd.js +1 -1
  145. package/umd/plugins/reorder.umd.js.map +1 -1
  146. package/umd/plugins/selection.umd.js +1 -1
  147. package/umd/plugins/selection.umd.js.map +1 -1
  148. package/umd/plugins/server-side.umd.js +1 -1
  149. package/umd/plugins/server-side.umd.js.map +1 -1
  150. package/umd/plugins/tree.umd.js +1 -1
  151. package/umd/plugins/tree.umd.js.map +1 -1
  152. package/umd/plugins/undo-redo.umd.js +1 -1
  153. package/umd/plugins/undo-redo.umd.js.map +1 -1
  154. package/umd/plugins/visibility.umd.js +1 -1
  155. package/umd/plugins/visibility.umd.js.map +1 -1
  156. package/lib/core/internal/editing.d.ts +0 -76
  157. package/lib/core/internal/editing.d.ts.map +0 -1
@@ -11,7 +11,7 @@ const g = {
11
11
  /** Ask if a column can be moved. Context: ColumnConfig. Response: boolean | undefined */
12
12
  CAN_MOVE_COLUMN: "canMoveColumn"
13
13
  };
14
- class k {
14
+ class m {
15
15
  /**
16
16
  * Plugin dependencies - declare other plugins this one requires.
17
17
  *
@@ -28,8 +28,11 @@ class k {
28
28
  * ```
29
29
  */
30
30
  static dependencies;
31
- /** Plugin version - override in subclass if needed */
32
- version = "1.0.0";
31
+ /**
32
+ * Plugin version - defaults to grid version for built-in plugins.
33
+ * Third-party plugins can override with their own semver.
34
+ */
35
+ version = typeof __GRID_VERSION__ < "u" ? __GRID_VERSION__ : "dev";
33
36
  /** CSS styles to inject into the grid's shadow DOM */
34
37
  styles;
35
38
  /** Custom cell renderers keyed by type name */
@@ -113,8 +116,16 @@ class k {
113
116
  /**
114
117
  * Emit a custom event from the grid.
115
118
  */
116
- emit(t, s) {
117
- this.grid?.dispatchEvent?.(new CustomEvent(t, { detail: s, bubbles: !0 }));
119
+ emit(t, e) {
120
+ this.grid?.dispatchEvent?.(new CustomEvent(t, { detail: e, bubbles: !0 }));
121
+ }
122
+ /**
123
+ * Emit a cancelable custom event from the grid.
124
+ * @returns `true` if the event was cancelled (preventDefault called), `false` otherwise
125
+ */
126
+ emitCancelable(t, e) {
127
+ const s = new CustomEvent(t, { detail: e, bubbles: !0, cancelable: !0 });
128
+ return this.grid?.dispatchEvent?.(s), s.defaultPrevented;
118
129
  }
119
130
  /**
120
131
  * Request a re-render of the grid.
@@ -122,6 +133,14 @@ class k {
122
133
  requestRender() {
123
134
  this.grid?.requestRender?.();
124
135
  }
136
+ /**
137
+ * Request a re-render and restore focus styling afterward.
138
+ * Use this when a plugin action (like expand/collapse) triggers a render
139
+ * but needs to maintain keyboard navigation focus.
140
+ */
141
+ requestRenderWithFocus() {
142
+ this.grid?.requestRenderWithFocus?.();
143
+ }
125
144
  /**
126
145
  * Request a lightweight style update without rebuilding DOM.
127
146
  * Use this instead of requestRender() when only CSS classes need updating.
@@ -155,6 +174,19 @@ class k {
155
174
  get visibleColumns() {
156
175
  return this.grid?._visibleColumns ?? [];
157
176
  }
177
+ /**
178
+ * Get the grid as an HTMLElement for direct DOM operations.
179
+ * Use sparingly - prefer the typed GridElementRef API when possible.
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * const width = this.gridElement.clientWidth;
184
+ * this.gridElement.classList.add('my-plugin-active');
185
+ * ```
186
+ */
187
+ get gridElement() {
188
+ return this.grid;
189
+ }
158
190
  /**
159
191
  * Get the shadow root of the grid.
160
192
  */
@@ -189,6 +221,51 @@ class k {
189
221
  const t = this.grid?.gridConfig?.icons ?? {};
190
222
  return { ...g, ...t };
191
223
  }
224
+ // #region Animation Helpers
225
+ /**
226
+ * Check if animations are enabled at the grid level.
227
+ * Respects gridConfig.animation.mode and the CSS variable set by the grid.
228
+ *
229
+ * Plugins should use this to skip animations when:
230
+ * - Animation mode is 'off' or `false`
231
+ * - User prefers reduced motion and mode is 'reduced-motion' (default)
232
+ *
233
+ * @example
234
+ * ```ts
235
+ * private get animationStyle(): 'slide' | 'fade' | false {
236
+ * if (!this.isAnimationEnabled) return false;
237
+ * return this.config.animation ?? 'slide';
238
+ * }
239
+ * ```
240
+ */
241
+ get isAnimationEnabled() {
242
+ const t = this.grid?.effectiveConfig?.animation?.mode ?? "reduced-motion";
243
+ if (t === !1 || t === "off") return !1;
244
+ if (t === !0 || t === "on") return !0;
245
+ const e = this.shadowRoot?.host;
246
+ return e ? getComputedStyle(e).getPropertyValue("--tbw-animation-enabled").trim() !== "0" : !0;
247
+ }
248
+ /**
249
+ * Get the animation duration in milliseconds from CSS variable.
250
+ * Falls back to 200ms if not set.
251
+ *
252
+ * Plugins can use this for their animation timing to stay consistent
253
+ * with the grid-level animation.duration setting.
254
+ *
255
+ * @example
256
+ * ```ts
257
+ * element.animate(keyframes, { duration: this.animationDuration });
258
+ * ```
259
+ */
260
+ get animationDuration() {
261
+ const t = this.shadowRoot?.host;
262
+ if (t) {
263
+ const e = getComputedStyle(t).getPropertyValue("--tbw-animation-duration").trim(), s = parseInt(e, 10);
264
+ if (!isNaN(s)) return s;
265
+ }
266
+ return 200;
267
+ }
268
+ // #endregion
192
269
  /**
193
270
  * Resolve an icon value to string or HTMLElement.
194
271
  * Checks plugin config first, then grid-level icons, then defaults.
@@ -197,8 +274,8 @@ class k {
197
274
  * @param pluginOverride - Optional plugin-level override
198
275
  * @returns The resolved icon value
199
276
  */
200
- resolveIcon(t, s) {
201
- return s !== void 0 ? s : this.gridIcons[t];
277
+ resolveIcon(t, e) {
278
+ return e !== void 0 ? e : this.gridIcons[t];
202
279
  }
203
280
  /**
204
281
  * Set an icon value on an element.
@@ -207,8 +284,8 @@ class k {
207
284
  * @param element - The element to set the icon on
208
285
  * @param icon - The icon value (string or HTMLElement)
209
286
  */
210
- setIcon(t, s) {
211
- typeof s == "string" ? t.innerHTML = s : s instanceof HTMLElement && (t.innerHTML = "", t.appendChild(s.cloneNode(!0)));
287
+ setIcon(t, e) {
288
+ typeof e == "string" ? t.innerHTML = e : e instanceof HTMLElement && (t.innerHTML = "", t.appendChild(e.cloneNode(!0)));
212
289
  }
213
290
  /**
214
291
  * Log a warning message.
@@ -221,48 +298,47 @@ class k {
221
298
  function p(n) {
222
299
  return n.filter((t) => t.sticky === "left");
223
300
  }
224
- function C(n) {
301
+ function k(n) {
225
302
  return n.filter((t) => t.sticky === "right");
226
303
  }
227
304
  function a(n) {
228
305
  return n.some((t) => t.sticky === "left" || t.sticky === "right");
229
306
  }
230
- function h(n, t) {
231
- const s = n.shadowRoot;
232
- if (!s) return;
233
- const e = Array.from(s.querySelectorAll(".header-row .cell"));
234
- if (!e.length) return;
307
+ function u(n, t) {
308
+ const e = n.shadowRoot;
309
+ if (!e) return;
310
+ const s = Array.from(e.querySelectorAll(".header-row .cell"));
311
+ if (!s.length) return;
235
312
  const c = /* @__PURE__ */ new Map();
236
313
  t.forEach((r, o) => {
237
314
  r.field && c.set(r.field, o);
238
315
  });
239
- let d = 0;
316
+ let f = 0;
240
317
  for (const r of t)
241
318
  if (r.sticky === "left") {
242
- const o = c.get(r.field), i = e.find((l) => l.getAttribute("data-field") === r.field);
243
- i && (i.classList.add("sticky-left"), i.style.position = "sticky", i.style.left = d + "px", o !== void 0 && s.querySelectorAll(`.data-grid-row .cell[data-col="${o}"]`).forEach((l) => {
244
- l.classList.add("sticky-left"), l.style.position = "sticky", l.style.left = d + "px";
245
- }), d += i.offsetWidth);
319
+ const o = c.get(r.field), i = s.find((l) => l.getAttribute("data-field") === r.field);
320
+ i && (i.classList.add("sticky-left"), i.style.position = "sticky", i.style.left = f + "px", o !== void 0 && e.querySelectorAll(`.data-grid-row .cell[data-col="${o}"]`).forEach((l) => {
321
+ l.classList.add("sticky-left"), l.style.position = "sticky", l.style.left = f + "px";
322
+ }), f += i.offsetWidth);
246
323
  }
247
- let f = 0;
324
+ let d = 0;
248
325
  for (const r of [...t].reverse())
249
326
  if (r.sticky === "right") {
250
- const o = c.get(r.field), i = e.find((l) => l.getAttribute("data-field") === r.field);
251
- i && (i.classList.add("sticky-right"), i.style.position = "sticky", i.style.right = f + "px", o !== void 0 && s.querySelectorAll(`.data-grid-row .cell[data-col="${o}"]`).forEach((l) => {
252
- l.classList.add("sticky-right"), l.style.position = "sticky", l.style.right = f + "px";
253
- }), f += i.offsetWidth);
327
+ const o = c.get(r.field), i = s.find((l) => l.getAttribute("data-field") === r.field);
328
+ i && (i.classList.add("sticky-right"), i.style.position = "sticky", i.style.right = d + "px", o !== void 0 && e.querySelectorAll(`.data-grid-row .cell[data-col="${o}"]`).forEach((l) => {
329
+ l.classList.add("sticky-right"), l.style.position = "sticky", l.style.right = d + "px";
330
+ }), d += i.offsetWidth);
254
331
  }
255
332
  }
256
- function u(n) {
333
+ function h(n) {
257
334
  const t = n.shadowRoot;
258
335
  if (!t) return;
259
- t.querySelectorAll(".sticky-left, .sticky-right").forEach((e) => {
260
- e.classList.remove("sticky-left", "sticky-right"), e.style.position = "", e.style.left = "", e.style.right = "";
336
+ t.querySelectorAll(".sticky-left, .sticky-right").forEach((s) => {
337
+ s.classList.remove("sticky-left", "sticky-right"), s.style.position = "", s.style.left = "", s.style.right = "";
261
338
  });
262
339
  }
263
- class m extends k {
340
+ class C extends m {
264
341
  name = "pinnedColumns";
265
- version = "1.0.0";
266
342
  get defaultConfig() {
267
343
  return {};
268
344
  }
@@ -280,9 +356,9 @@ class m extends k {
280
356
  /**
281
357
  * Auto-detect sticky columns from column configuration.
282
358
  */
283
- static detect(t, s) {
284
- const e = s?.columns;
285
- return Array.isArray(e) ? a(e) : !1;
359
+ static detect(t, e) {
360
+ const s = e?.columns;
361
+ return Array.isArray(s) ? a(s) : !1;
286
362
  }
287
363
  // #endregion
288
364
  // #region Hooks
@@ -292,13 +368,13 @@ class m extends k {
292
368
  afterRender() {
293
369
  if (!this.isApplied)
294
370
  return;
295
- const t = this.grid, s = [...this.columns];
296
- if (!a(s)) {
297
- u(t), this.isApplied = !1;
371
+ const t = this.grid, e = [...this.columns];
372
+ if (!a(e)) {
373
+ h(t), this.isApplied = !1;
298
374
  return;
299
375
  }
300
376
  queueMicrotask(() => {
301
- h(t, s);
377
+ u(t, e);
302
378
  });
303
379
  }
304
380
  /**
@@ -307,10 +383,10 @@ class m extends k {
307
383
  onPluginQuery(t) {
308
384
  switch (t.type) {
309
385
  case y.CAN_MOVE_COLUMN: {
310
- const s = t.context, e = s.sticky;
311
- if (e === "left" || e === "right")
386
+ const e = t.context, s = e.sticky;
387
+ if (s === "left" || s === "right")
312
388
  return !1;
313
- const c = s.meta?.sticky;
389
+ const c = e.meta?.sticky;
314
390
  return c === "left" || c === "right" ? !1 : void 0;
315
391
  }
316
392
  default:
@@ -324,7 +400,7 @@ class m extends k {
324
400
  */
325
401
  refreshStickyOffsets() {
326
402
  const t = [...this.columns];
327
- h(this.grid, t);
403
+ u(this.grid, t);
328
404
  }
329
405
  /**
330
406
  * Get columns pinned to the left.
@@ -338,41 +414,41 @@ class m extends k {
338
414
  */
339
415
  getRightPinnedColumns() {
340
416
  const t = [...this.columns];
341
- return C(t);
417
+ return k(t);
342
418
  }
343
419
  /**
344
420
  * Clear all sticky positioning.
345
421
  */
346
422
  clearStickyPositions() {
347
- u(this.grid);
423
+ h(this.grid);
348
424
  }
349
425
  /**
350
426
  * Report horizontal scroll boundary offsets for pinned columns.
351
427
  * Used by keyboard navigation to ensure focused cells aren't hidden behind sticky columns.
352
428
  */
353
- getHorizontalScrollOffsets(t, s) {
429
+ getHorizontalScrollOffsets(t, e) {
354
430
  if (!this.isApplied)
355
431
  return;
356
- let e = 0, c = 0;
432
+ let s = 0, c = 0;
357
433
  if (t) {
358
- const f = t.querySelectorAll(".sticky-left"), r = t.querySelectorAll(".sticky-right");
359
- f.forEach((o) => {
360
- e += o.offsetWidth;
434
+ const d = t.querySelectorAll(".sticky-left"), r = t.querySelectorAll(".sticky-right");
435
+ d.forEach((o) => {
436
+ s += o.offsetWidth;
361
437
  }), r.forEach((o) => {
362
438
  c += o.offsetWidth;
363
439
  });
364
440
  } else {
365
441
  const r = this.grid.shadowRoot;
366
442
  r && r.querySelectorAll(".header-row .cell").forEach((i) => {
367
- i.classList.contains("sticky-left") ? e += i.offsetWidth : i.classList.contains("sticky-right") && (c += i.offsetWidth);
443
+ i.classList.contains("sticky-left") ? s += i.offsetWidth : i.classList.contains("sticky-right") && (c += i.offsetWidth);
368
444
  });
369
445
  }
370
- const d = s?.classList.contains("sticky-left") || s?.classList.contains("sticky-right");
371
- return { left: e, right: c, skipScroll: d };
446
+ const f = e?.classList.contains("sticky-left") || e?.classList.contains("sticky-right");
447
+ return { left: s, right: c, skipScroll: f };
372
448
  }
373
449
  // #endregion
374
450
  }
375
451
  export {
376
- m as PinnedColumnsPlugin
452
+ C as PinnedColumnsPlugin
377
453
  };
378
454
  //# sourceMappingURL=index.js.map