@toolbox-web/grid 1.24.1 → 1.25.0

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 (422) hide show
  1. package/all.d.ts +0 -1
  2. package/all.js +2 -2
  3. package/all.js.map +1 -1
  4. package/index.d.ts +0 -1
  5. package/index.js +1 -1
  6. package/index.js.map +1 -1
  7. package/lib/core/constants.d.ts +0 -1
  8. package/lib/core/grid.d.ts +145 -33
  9. package/lib/core/internal/aggregators.d.ts +0 -1
  10. package/lib/core/internal/aria.d.ts +8 -1
  11. package/lib/core/internal/columns.d.ts +3 -4
  12. package/lib/core/internal/config-manager.d.ts +2 -54
  13. package/lib/core/internal/dom-builder.d.ts +0 -1
  14. package/lib/core/internal/event-delegation.d.ts +3 -4
  15. package/lib/core/internal/feature-hook.d.ts +0 -1
  16. package/lib/core/internal/focus-manager.d.ts +49 -0
  17. package/lib/core/internal/header.d.ts +2 -3
  18. package/lib/core/internal/idle-scheduler.d.ts +0 -1
  19. package/lib/core/internal/inference.d.ts +0 -1
  20. package/lib/core/internal/keyboard.d.ts +3 -4
  21. package/lib/core/internal/loading.d.ts +0 -1
  22. package/lib/core/internal/render-scheduler.d.ts +3 -66
  23. package/lib/core/internal/resize.d.ts +2 -3
  24. package/lib/core/internal/row-animation.d.ts +0 -1
  25. package/lib/core/internal/row-manager.d.ts +31 -0
  26. package/lib/core/internal/rows.d.ts +4 -5
  27. package/lib/core/internal/sanitize.d.ts +0 -1
  28. package/lib/core/internal/shell.d.ts +7 -25
  29. package/lib/core/internal/sorting.d.ts +3 -4
  30. package/lib/core/internal/style-injector.d.ts +0 -1
  31. package/lib/core/internal/touch-scroll.d.ts +31 -12
  32. package/lib/core/internal/utils.d.ts +8 -1
  33. package/lib/core/internal/validate-config.d.ts +4 -5
  34. package/lib/core/internal/virtualization-manager.d.ts +48 -0
  35. package/lib/core/internal/virtualization.d.ts +0 -1
  36. package/lib/core/plugin/base-plugin.d.ts +2 -3
  37. package/lib/core/plugin/expander-column.d.ts +0 -1
  38. package/lib/core/plugin/index.d.ts +0 -1
  39. package/lib/core/plugin/plugin-manager.d.ts +2 -1
  40. package/lib/core/plugin/types.d.ts +7 -2
  41. package/lib/core/styles/index.d.ts +0 -1
  42. package/lib/core/types.d.ts +364 -54
  43. package/lib/features/clipboard.d.ts +0 -1
  44. package/lib/features/column-virtualization.d.ts +0 -1
  45. package/lib/features/context-menu.d.ts +0 -1
  46. package/lib/features/editing.d.ts +0 -1
  47. package/lib/features/export.d.ts +0 -1
  48. package/lib/features/filtering.d.ts +0 -1
  49. package/lib/features/grouping-columns.d.ts +0 -1
  50. package/lib/features/grouping-rows.d.ts +0 -1
  51. package/lib/features/master-detail.d.ts +0 -1
  52. package/lib/features/multi-sort.d.ts +1 -2
  53. package/lib/features/multi-sort.js.map +1 -1
  54. package/lib/features/pinned-columns.d.ts +0 -1
  55. package/lib/features/pinned-rows.d.ts +0 -1
  56. package/lib/features/pivot.d.ts +0 -1
  57. package/lib/features/print.d.ts +0 -1
  58. package/lib/features/registry.d.ts +0 -1
  59. package/lib/features/reorder-columns.d.ts +1 -2
  60. package/lib/features/reorder-columns.js.map +1 -1
  61. package/lib/features/reorder-rows.d.ts +1 -2
  62. package/lib/features/reorder-rows.js.map +1 -1
  63. package/lib/features/responsive.d.ts +0 -1
  64. package/lib/features/selection.d.ts +0 -1
  65. package/lib/features/server-side.d.ts +0 -1
  66. package/lib/features/tree.d.ts +0 -1
  67. package/lib/features/undo-redo.d.ts +0 -1
  68. package/lib/features/visibility.d.ts +0 -1
  69. package/lib/plugins/clipboard/ClipboardPlugin.d.ts +0 -1
  70. package/lib/plugins/clipboard/copy.d.ts +0 -1
  71. package/lib/plugins/clipboard/index.d.ts +0 -1
  72. package/lib/plugins/clipboard/index.js +1 -1
  73. package/lib/plugins/clipboard/index.js.map +1 -1
  74. package/lib/plugins/clipboard/paste.d.ts +0 -1
  75. package/lib/plugins/clipboard/types.d.ts +6 -1
  76. package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts +0 -1
  77. package/lib/plugins/column-virtualization/column-virtualization.d.ts +0 -1
  78. package/lib/plugins/column-virtualization/index.d.ts +0 -1
  79. package/lib/plugins/column-virtualization/index.js +1 -1
  80. package/lib/plugins/column-virtualization/index.js.map +1 -1
  81. package/lib/plugins/column-virtualization/types.d.ts +0 -1
  82. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts +16 -1
  83. package/lib/plugins/context-menu/index.d.ts +1 -2
  84. package/lib/plugins/context-menu/index.js +1 -1
  85. package/lib/plugins/context-menu/index.js.map +1 -1
  86. package/lib/plugins/context-menu/menu.d.ts +14 -1
  87. package/lib/plugins/context-menu/types.d.ts +13 -3
  88. package/lib/plugins/editing/EditingPlugin.d.ts +4 -6
  89. package/lib/plugins/editing/editors.d.ts +0 -1
  90. package/lib/plugins/editing/index.d.ts +0 -1
  91. package/lib/plugins/editing/index.js +1 -1
  92. package/lib/plugins/editing/index.js.map +1 -1
  93. package/lib/plugins/editing/internal/cell-validation.d.ts +0 -1
  94. package/lib/plugins/editing/internal/dirty-tracking-manager.d.ts +0 -1
  95. package/lib/plugins/editing/internal/dirty-tracking.d.ts +2 -2
  96. package/lib/plugins/editing/internal/editor-injection.d.ts +3 -4
  97. package/lib/plugins/editing/internal/helpers.d.ts +0 -1
  98. package/lib/plugins/editing/types.d.ts +15 -14
  99. package/lib/plugins/export/ExportPlugin.d.ts +0 -1
  100. package/lib/plugins/export/csv.d.ts +0 -1
  101. package/lib/plugins/export/excel.d.ts +0 -1
  102. package/lib/plugins/export/index.d.ts +0 -1
  103. package/lib/plugins/export/index.js +1 -1
  104. package/lib/plugins/export/index.js.map +1 -1
  105. package/lib/plugins/export/types.d.ts +4 -1
  106. package/lib/plugins/filtering/FilteringPlugin.d.ts +0 -1
  107. package/lib/plugins/filtering/filter-model.d.ts +0 -1
  108. package/lib/plugins/filtering/filter-panel-date.d.ts +0 -1
  109. package/lib/plugins/filtering/filter-panel-default.d.ts +0 -1
  110. package/lib/plugins/filtering/filter-panel-number.d.ts +0 -1
  111. package/lib/plugins/filtering/index.d.ts +0 -1
  112. package/lib/plugins/filtering/index.js +1 -1
  113. package/lib/plugins/filtering/index.js.map +1 -1
  114. package/lib/plugins/filtering/types.d.ts +4 -1
  115. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts +0 -1
  116. package/lib/plugins/grouping-columns/grouping-columns.d.ts +2 -3
  117. package/lib/plugins/grouping-columns/index.d.ts +1 -2
  118. package/lib/plugins/grouping-columns/index.js +1 -1
  119. package/lib/plugins/grouping-columns/index.js.map +1 -1
  120. package/lib/plugins/grouping-columns/types.d.ts +33 -7
  121. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts +0 -1
  122. package/lib/plugins/grouping-rows/grouping-rows.d.ts +0 -1
  123. package/lib/plugins/grouping-rows/index.d.ts +0 -1
  124. package/lib/plugins/grouping-rows/index.js +1 -1
  125. package/lib/plugins/grouping-rows/index.js.map +1 -1
  126. package/lib/plugins/grouping-rows/types.d.ts +4 -1
  127. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts +0 -1
  128. package/lib/plugins/master-detail/index.d.ts +0 -1
  129. package/lib/plugins/master-detail/index.js +1 -1
  130. package/lib/plugins/master-detail/index.js.map +1 -1
  131. package/lib/plugins/master-detail/master-detail.d.ts +0 -1
  132. package/lib/plugins/master-detail/types.d.ts +4 -1
  133. package/lib/plugins/multi-sort/MultiSortPlugin.d.ts +3 -3
  134. package/lib/plugins/multi-sort/index.d.ts +1 -2
  135. package/lib/plugins/multi-sort/index.js +1 -1
  136. package/lib/plugins/multi-sort/index.js.map +1 -1
  137. package/lib/plugins/multi-sort/multi-sort.d.ts +0 -1
  138. package/lib/plugins/multi-sort/types.d.ts +5 -1
  139. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +0 -1
  140. package/lib/plugins/pinned-columns/index.d.ts +0 -1
  141. package/lib/plugins/pinned-columns/index.js +1 -1
  142. package/lib/plugins/pinned-columns/index.js.map +1 -1
  143. package/lib/plugins/pinned-columns/pinned-columns.d.ts +0 -1
  144. package/lib/plugins/pinned-columns/types.d.ts +0 -1
  145. package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts +0 -1
  146. package/lib/plugins/pinned-rows/index.d.ts +0 -1
  147. package/lib/plugins/pinned-rows/index.js +1 -1
  148. package/lib/plugins/pinned-rows/index.js.map +1 -1
  149. package/lib/plugins/pinned-rows/pinned-rows.d.ts +0 -1
  150. package/lib/plugins/pinned-rows/types.d.ts +0 -1
  151. package/lib/plugins/pivot/PivotPlugin.d.ts +0 -1
  152. package/lib/plugins/pivot/index.d.ts +0 -1
  153. package/lib/plugins/pivot/index.js +1 -1
  154. package/lib/plugins/pivot/index.js.map +1 -1
  155. package/lib/plugins/pivot/pivot-engine.d.ts +0 -1
  156. package/lib/plugins/pivot/pivot-model.d.ts +0 -1
  157. package/lib/plugins/pivot/pivot-panel.d.ts +0 -1
  158. package/lib/plugins/pivot/pivot-rows.d.ts +0 -1
  159. package/lib/plugins/pivot/types.d.ts +0 -1
  160. package/lib/plugins/print/PrintPlugin.d.ts +0 -1
  161. package/lib/plugins/print/index.d.ts +0 -1
  162. package/lib/plugins/print/index.js +1 -1
  163. package/lib/plugins/print/index.js.map +1 -1
  164. package/lib/plugins/print/print-isolated.d.ts +0 -1
  165. package/lib/plugins/print/types.d.ts +6 -1
  166. package/lib/plugins/reorder-columns/ReorderPlugin.d.ts +5 -5
  167. package/lib/plugins/reorder-columns/column-drag.d.ts +3 -2
  168. package/lib/plugins/reorder-columns/index.d.ts +0 -1
  169. package/lib/plugins/reorder-columns/index.js +1 -1
  170. package/lib/plugins/reorder-columns/index.js.map +1 -1
  171. package/lib/plugins/reorder-columns/types.d.ts +4 -1
  172. package/lib/plugins/reorder-rows/RowReorderPlugin.d.ts +3 -3
  173. package/lib/plugins/reorder-rows/index.d.ts +0 -1
  174. package/lib/plugins/reorder-rows/index.js +1 -1
  175. package/lib/plugins/reorder-rows/index.js.map +1 -1
  176. package/lib/plugins/reorder-rows/types.d.ts +4 -1
  177. package/lib/plugins/responsive/ResponsivePlugin.d.ts +0 -1
  178. package/lib/plugins/responsive/index.d.ts +0 -1
  179. package/lib/plugins/responsive/index.js +1 -1
  180. package/lib/plugins/responsive/index.js.map +1 -1
  181. package/lib/plugins/responsive/types.d.ts +4 -1
  182. package/lib/plugins/selection/SelectionPlugin.d.ts +1 -3
  183. package/lib/plugins/selection/index.d.ts +0 -1
  184. package/lib/plugins/selection/index.js +1 -1
  185. package/lib/plugins/selection/index.js.map +1 -1
  186. package/lib/plugins/selection/range-selection.d.ts +0 -1
  187. package/lib/plugins/selection/row-selection.d.ts +0 -1
  188. package/lib/plugins/selection/types.d.ts +4 -1
  189. package/lib/plugins/server-side/ServerSidePlugin.d.ts +0 -1
  190. package/lib/plugins/server-side/cache.d.ts +0 -1
  191. package/lib/plugins/server-side/datasource.d.ts +0 -1
  192. package/lib/plugins/server-side/index.d.ts +0 -1
  193. package/lib/plugins/server-side/index.js +1 -1
  194. package/lib/plugins/server-side/index.js.map +1 -1
  195. package/lib/plugins/server-side/types.d.ts +0 -1
  196. package/lib/plugins/shared/data-collection.d.ts +0 -1
  197. package/lib/plugins/tree/TreePlugin.d.ts +0 -1
  198. package/lib/plugins/tree/index.d.ts +0 -1
  199. package/lib/plugins/tree/index.js +1 -1
  200. package/lib/plugins/tree/index.js.map +1 -1
  201. package/lib/plugins/tree/tree-data.d.ts +0 -1
  202. package/lib/plugins/tree/tree-detect.d.ts +0 -1
  203. package/lib/plugins/tree/types.d.ts +4 -1
  204. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +1 -2
  205. package/lib/plugins/undo-redo/history.d.ts +0 -1
  206. package/lib/plugins/undo-redo/index.d.ts +0 -1
  207. package/lib/plugins/undo-redo/index.js +1 -1
  208. package/lib/plugins/undo-redo/index.js.map +1 -1
  209. package/lib/plugins/undo-redo/types.d.ts +6 -1
  210. package/lib/plugins/visibility/VisibilityPlugin.d.ts +0 -1
  211. package/lib/plugins/visibility/index.d.ts +0 -1
  212. package/lib/plugins/visibility/index.js +1 -1
  213. package/lib/plugins/visibility/index.js.map +1 -1
  214. package/lib/plugins/visibility/types.d.ts +0 -1
  215. package/lib/plugins/visibility/visibility.d.ts +0 -1
  216. package/package.json +1 -1
  217. package/public.d.ts +31 -12
  218. package/umd/grid.all.umd.js +1 -1
  219. package/umd/grid.all.umd.js.map +1 -1
  220. package/umd/grid.umd.js +1 -1
  221. package/umd/grid.umd.js.map +1 -1
  222. package/umd/plugins/clipboard.umd.js +1 -1
  223. package/umd/plugins/clipboard.umd.js.map +1 -1
  224. package/umd/plugins/column-virtualization.umd.js +1 -1
  225. package/umd/plugins/column-virtualization.umd.js.map +1 -1
  226. package/umd/plugins/context-menu.umd.js +1 -1
  227. package/umd/plugins/context-menu.umd.js.map +1 -1
  228. package/umd/plugins/editing.umd.js +1 -1
  229. package/umd/plugins/editing.umd.js.map +1 -1
  230. package/umd/plugins/filtering.umd.js +1 -1
  231. package/umd/plugins/filtering.umd.js.map +1 -1
  232. package/umd/plugins/grouping-columns.umd.js +1 -1
  233. package/umd/plugins/grouping-columns.umd.js.map +1 -1
  234. package/umd/plugins/master-detail.umd.js +1 -1
  235. package/umd/plugins/master-detail.umd.js.map +1 -1
  236. package/umd/plugins/multi-sort.umd.js +1 -1
  237. package/umd/plugins/multi-sort.umd.js.map +1 -1
  238. package/umd/plugins/pinned-columns.umd.js +1 -1
  239. package/umd/plugins/pinned-columns.umd.js.map +1 -1
  240. package/umd/plugins/pinned-rows.umd.js +1 -1
  241. package/umd/plugins/pinned-rows.umd.js.map +1 -1
  242. package/umd/plugins/print.umd.js +1 -1
  243. package/umd/plugins/print.umd.js.map +1 -1
  244. package/umd/plugins/reorder-columns.umd.js +1 -1
  245. package/umd/plugins/reorder-columns.umd.js.map +1 -1
  246. package/umd/plugins/reorder-rows.umd.js +1 -1
  247. package/umd/plugins/reorder-rows.umd.js.map +1 -1
  248. package/umd/plugins/responsive.umd.js +1 -1
  249. package/umd/plugins/responsive.umd.js.map +1 -1
  250. package/umd/plugins/selection.umd.js +1 -1
  251. package/umd/plugins/selection.umd.js.map +1 -1
  252. package/umd/plugins/server-side.umd.js.map +1 -1
  253. package/umd/plugins/tree.umd.js +1 -1
  254. package/umd/plugins/tree.umd.js.map +1 -1
  255. package/umd/plugins/undo-redo.umd.js.map +1 -1
  256. package/umd/plugins/visibility.umd.js +1 -1
  257. package/umd/plugins/visibility.umd.js.map +1 -1
  258. package/all.d.ts.map +0 -1
  259. package/index.d.ts.map +0 -1
  260. package/lib/core/constants.d.ts.map +0 -1
  261. package/lib/core/grid.d.ts.map +0 -1
  262. package/lib/core/internal/aggregators.d.ts.map +0 -1
  263. package/lib/core/internal/aria.d.ts.map +0 -1
  264. package/lib/core/internal/columns.d.ts.map +0 -1
  265. package/lib/core/internal/config-manager.d.ts.map +0 -1
  266. package/lib/core/internal/dom-builder.d.ts.map +0 -1
  267. package/lib/core/internal/event-delegation.d.ts.map +0 -1
  268. package/lib/core/internal/feature-hook.d.ts.map +0 -1
  269. package/lib/core/internal/header.d.ts.map +0 -1
  270. package/lib/core/internal/idle-scheduler.d.ts.map +0 -1
  271. package/lib/core/internal/inference.d.ts.map +0 -1
  272. package/lib/core/internal/keyboard.d.ts.map +0 -1
  273. package/lib/core/internal/loading.d.ts.map +0 -1
  274. package/lib/core/internal/render-scheduler.d.ts.map +0 -1
  275. package/lib/core/internal/resize.d.ts.map +0 -1
  276. package/lib/core/internal/row-animation.d.ts.map +0 -1
  277. package/lib/core/internal/rows.d.ts.map +0 -1
  278. package/lib/core/internal/sanitize.d.ts.map +0 -1
  279. package/lib/core/internal/shell.d.ts.map +0 -1
  280. package/lib/core/internal/sorting.d.ts.map +0 -1
  281. package/lib/core/internal/style-injector.d.ts.map +0 -1
  282. package/lib/core/internal/touch-scroll.d.ts.map +0 -1
  283. package/lib/core/internal/utils.d.ts.map +0 -1
  284. package/lib/core/internal/validate-config.d.ts.map +0 -1
  285. package/lib/core/internal/virtualization.d.ts.map +0 -1
  286. package/lib/core/plugin/base-plugin.d.ts.map +0 -1
  287. package/lib/core/plugin/expander-column.d.ts.map +0 -1
  288. package/lib/core/plugin/index.d.ts.map +0 -1
  289. package/lib/core/plugin/plugin-manager.d.ts.map +0 -1
  290. package/lib/core/plugin/types.d.ts.map +0 -1
  291. package/lib/core/styles/index.d.ts.map +0 -1
  292. package/lib/core/types.d.ts.map +0 -1
  293. package/lib/features/clipboard.d.ts.map +0 -1
  294. package/lib/features/column-virtualization.d.ts.map +0 -1
  295. package/lib/features/context-menu.d.ts.map +0 -1
  296. package/lib/features/editing.d.ts.map +0 -1
  297. package/lib/features/export.d.ts.map +0 -1
  298. package/lib/features/filtering.d.ts.map +0 -1
  299. package/lib/features/grouping-columns.d.ts.map +0 -1
  300. package/lib/features/grouping-rows.d.ts.map +0 -1
  301. package/lib/features/magic-string.es-CkyDP9Ir.mjs.map +0 -1
  302. package/lib/features/master-detail.d.ts.map +0 -1
  303. package/lib/features/multi-sort.d.ts.map +0 -1
  304. package/lib/features/pinned-columns.d.ts.map +0 -1
  305. package/lib/features/pinned-rows.d.ts.map +0 -1
  306. package/lib/features/pivot.d.ts.map +0 -1
  307. package/lib/features/print.d.ts.map +0 -1
  308. package/lib/features/registry.d.ts.map +0 -1
  309. package/lib/features/registry.spec.js +0 -5
  310. package/lib/features/registry.spec.js.map +0 -1
  311. package/lib/features/reorder-columns.d.ts.map +0 -1
  312. package/lib/features/reorder-rows.d.ts.map +0 -1
  313. package/lib/features/responsive.d.ts.map +0 -1
  314. package/lib/features/selection.d.ts.map +0 -1
  315. package/lib/features/server-side.d.ts.map +0 -1
  316. package/lib/features/tree.d.ts.map +0 -1
  317. package/lib/features/undo-redo.d.ts.map +0 -1
  318. package/lib/features/visibility.d.ts.map +0 -1
  319. package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +0 -1
  320. package/lib/plugins/clipboard/copy.d.ts.map +0 -1
  321. package/lib/plugins/clipboard/index.d.ts.map +0 -1
  322. package/lib/plugins/clipboard/paste.d.ts.map +0 -1
  323. package/lib/plugins/clipboard/types.d.ts.map +0 -1
  324. package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts.map +0 -1
  325. package/lib/plugins/column-virtualization/column-virtualization.d.ts.map +0 -1
  326. package/lib/plugins/column-virtualization/index.d.ts.map +0 -1
  327. package/lib/plugins/column-virtualization/types.d.ts.map +0 -1
  328. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts.map +0 -1
  329. package/lib/plugins/context-menu/index.d.ts.map +0 -1
  330. package/lib/plugins/context-menu/menu.d.ts.map +0 -1
  331. package/lib/plugins/context-menu/types.d.ts.map +0 -1
  332. package/lib/plugins/editing/EditingPlugin.d.ts.map +0 -1
  333. package/lib/plugins/editing/editors.d.ts.map +0 -1
  334. package/lib/plugins/editing/index.d.ts.map +0 -1
  335. package/lib/plugins/editing/internal/cell-validation.d.ts.map +0 -1
  336. package/lib/plugins/editing/internal/dirty-tracking-manager.d.ts.map +0 -1
  337. package/lib/plugins/editing/internal/dirty-tracking.d.ts.map +0 -1
  338. package/lib/plugins/editing/internal/editor-injection.d.ts.map +0 -1
  339. package/lib/plugins/editing/internal/helpers.d.ts.map +0 -1
  340. package/lib/plugins/editing/types.d.ts.map +0 -1
  341. package/lib/plugins/export/ExportPlugin.d.ts.map +0 -1
  342. package/lib/plugins/export/csv.d.ts.map +0 -1
  343. package/lib/plugins/export/excel.d.ts.map +0 -1
  344. package/lib/plugins/export/index.d.ts.map +0 -1
  345. package/lib/plugins/export/types.d.ts.map +0 -1
  346. package/lib/plugins/filtering/FilteringPlugin.d.ts.map +0 -1
  347. package/lib/plugins/filtering/filter-model.d.ts.map +0 -1
  348. package/lib/plugins/filtering/filter-panel-date.d.ts.map +0 -1
  349. package/lib/plugins/filtering/filter-panel-default.d.ts.map +0 -1
  350. package/lib/plugins/filtering/filter-panel-number.d.ts.map +0 -1
  351. package/lib/plugins/filtering/index.d.ts.map +0 -1
  352. package/lib/plugins/filtering/types.d.ts.map +0 -1
  353. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts.map +0 -1
  354. package/lib/plugins/grouping-columns/grouping-columns.d.ts.map +0 -1
  355. package/lib/plugins/grouping-columns/index.d.ts.map +0 -1
  356. package/lib/plugins/grouping-columns/types.d.ts.map +0 -1
  357. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts.map +0 -1
  358. package/lib/plugins/grouping-rows/grouping-rows.d.ts.map +0 -1
  359. package/lib/plugins/grouping-rows/index.d.ts.map +0 -1
  360. package/lib/plugins/grouping-rows/types.d.ts.map +0 -1
  361. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts.map +0 -1
  362. package/lib/plugins/master-detail/index.d.ts.map +0 -1
  363. package/lib/plugins/master-detail/master-detail.d.ts.map +0 -1
  364. package/lib/plugins/master-detail/types.d.ts.map +0 -1
  365. package/lib/plugins/multi-sort/MultiSortPlugin.d.ts.map +0 -1
  366. package/lib/plugins/multi-sort/index.d.ts.map +0 -1
  367. package/lib/plugins/multi-sort/multi-sort.d.ts.map +0 -1
  368. package/lib/plugins/multi-sort/types.d.ts.map +0 -1
  369. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts.map +0 -1
  370. package/lib/plugins/pinned-columns/index.d.ts.map +0 -1
  371. package/lib/plugins/pinned-columns/pinned-columns.d.ts.map +0 -1
  372. package/lib/plugins/pinned-columns/types.d.ts.map +0 -1
  373. package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts.map +0 -1
  374. package/lib/plugins/pinned-rows/index.d.ts.map +0 -1
  375. package/lib/plugins/pinned-rows/pinned-rows.d.ts.map +0 -1
  376. package/lib/plugins/pinned-rows/types.d.ts.map +0 -1
  377. package/lib/plugins/pivot/PivotPlugin.d.ts.map +0 -1
  378. package/lib/plugins/pivot/index.d.ts.map +0 -1
  379. package/lib/plugins/pivot/pivot-engine.d.ts.map +0 -1
  380. package/lib/plugins/pivot/pivot-model.d.ts.map +0 -1
  381. package/lib/plugins/pivot/pivot-panel.d.ts.map +0 -1
  382. package/lib/plugins/pivot/pivot-rows.d.ts.map +0 -1
  383. package/lib/plugins/pivot/types.d.ts.map +0 -1
  384. package/lib/plugins/print/PrintPlugin.d.ts.map +0 -1
  385. package/lib/plugins/print/index.d.ts.map +0 -1
  386. package/lib/plugins/print/print-isolated.d.ts.map +0 -1
  387. package/lib/plugins/print/types.d.ts.map +0 -1
  388. package/lib/plugins/reorder-columns/ReorderPlugin.d.ts.map +0 -1
  389. package/lib/plugins/reorder-columns/column-drag.d.ts.map +0 -1
  390. package/lib/plugins/reorder-columns/index.d.ts.map +0 -1
  391. package/lib/plugins/reorder-columns/types.d.ts.map +0 -1
  392. package/lib/plugins/reorder-rows/RowReorderPlugin.d.ts.map +0 -1
  393. package/lib/plugins/reorder-rows/index.d.ts.map +0 -1
  394. package/lib/plugins/reorder-rows/types.d.ts.map +0 -1
  395. package/lib/plugins/responsive/ResponsivePlugin.d.ts.map +0 -1
  396. package/lib/plugins/responsive/index.d.ts.map +0 -1
  397. package/lib/plugins/responsive/types.d.ts.map +0 -1
  398. package/lib/plugins/selection/SelectionPlugin.d.ts.map +0 -1
  399. package/lib/plugins/selection/index.d.ts.map +0 -1
  400. package/lib/plugins/selection/range-selection.d.ts.map +0 -1
  401. package/lib/plugins/selection/row-selection.d.ts.map +0 -1
  402. package/lib/plugins/selection/types.d.ts.map +0 -1
  403. package/lib/plugins/server-side/ServerSidePlugin.d.ts.map +0 -1
  404. package/lib/plugins/server-side/cache.d.ts.map +0 -1
  405. package/lib/plugins/server-side/datasource.d.ts.map +0 -1
  406. package/lib/plugins/server-side/index.d.ts.map +0 -1
  407. package/lib/plugins/server-side/types.d.ts.map +0 -1
  408. package/lib/plugins/shared/data-collection.d.ts.map +0 -1
  409. package/lib/plugins/tree/TreePlugin.d.ts.map +0 -1
  410. package/lib/plugins/tree/index.d.ts.map +0 -1
  411. package/lib/plugins/tree/tree-data.d.ts.map +0 -1
  412. package/lib/plugins/tree/tree-detect.d.ts.map +0 -1
  413. package/lib/plugins/tree/types.d.ts.map +0 -1
  414. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +0 -1
  415. package/lib/plugins/undo-redo/history.d.ts.map +0 -1
  416. package/lib/plugins/undo-redo/index.d.ts.map +0 -1
  417. package/lib/plugins/undo-redo/types.d.ts.map +0 -1
  418. package/lib/plugins/visibility/VisibilityPlugin.d.ts.map +0 -1
  419. package/lib/plugins/visibility/index.d.ts.map +0 -1
  420. package/lib/plugins/visibility/types.d.ts.map +0 -1
  421. package/lib/plugins/visibility/visibility.d.ts.map +0 -1
  422. package/public.d.ts.map +0 -1
@@ -48,4 +48,3 @@ export declare function getSortIndex(sortModel: SortModel[], field: string): num
48
48
  * @returns Sort direction or undefined if not sorted
49
49
  */
50
50
  export declare function getSortDirection(sortModel: SortModel[], field: string): 'asc' | 'desc' | undefined;
51
- //# sourceMappingURL=multi-sort.d.ts.map
@@ -56,9 +56,13 @@ export interface MultiSortState {
56
56
  /** Current sort model - ordered list of sort columns */
57
57
  sortModel: SortModel[];
58
58
  }
59
+ /** Event detail emitted by multi-sort's `sort-change` event. Replaces the core `SortChangeDetail` with the full sort model. */
60
+ export interface MultiSortChangeDetail {
61
+ /** The complete sort model — ordered list of sort columns by precedence. */
62
+ sortModel: SortModel[];
63
+ }
59
64
  declare module '../../core/types' {
60
65
  interface PluginNameMap {
61
66
  multiSort: import('./MultiSortPlugin').MultiSortPlugin;
62
67
  }
63
68
  }
64
- //# sourceMappingURL=types.d.ts.map
@@ -135,4 +135,3 @@ export declare class PinnedColumnsPlugin extends BaseGridPlugin<PinnedColumnsCon
135
135
  skipScroll?: boolean;
136
136
  } | undefined;
137
137
  }
138
- //# sourceMappingURL=PinnedColumnsPlugin.d.ts.map
@@ -6,4 +6,3 @@
6
6
  */
7
7
  export { PinnedColumnsPlugin } from './PinnedColumnsPlugin';
8
8
  export type { PinnedColumnsConfig, PinnedPosition, StickyPosition } from './types';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- function t(t){try{if("rtl"===getComputedStyle(t).direction)return"rtl"}catch{}try{const e=t.closest?.("[dir]")?.getAttribute("dir");if("rtl"===e)return"rtl"}catch{}return"ltr"}const e='<svg viewBox="0 0 16 16" width="12" height="12"><path fill="currentColor" d="M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z"/></svg>',i={expand:"▶",collapse:"▼",sortAsc:"▲",sortDesc:"▼",sortNone:"⇅",submenuArrow:"▶",dragHandle:"⋮⋮",toolPanel:"☰",filter:e,filterActive:e,print:"🖨️"};class r{static dependencies;static manifest;aliases;version="undefined"!=typeof __GRID_VERSION__?__GRID_VERSION__:"dev";styles;cellRenderers;headerRenderers;cellEditors;grid;config;userConfig;#t;get defaultConfig(){return{}}constructor(t={}){this.userConfig=t}attach(t){this.#t?.abort(),this.#t=new AbortController,this.grid=t,this.config={...this.defaultConfig,...this.userConfig}}detach(){this.#t?.abort(),this.#t=void 0}getPlugin(t){return this.grid?.getPlugin(t)}emit(t,e){this.grid?.dispatchEvent?.(new CustomEvent(t,{detail:e,bubbles:!0}))}emitCancelable(t,e){const i=new CustomEvent(t,{detail:e,bubbles:!0,cancelable:!0});return this.grid?.dispatchEvent?.(i),i.defaultPrevented}on(t,e){this.grid?._pluginManager?.subscribe(this,t,e)}off(t){this.grid?._pluginManager?.unsubscribe(this,t)}emitPluginEvent(t,e){this.grid?._pluginManager?.emitPluginEvent(t,e)}requestRender(){this.grid?.requestRender?.()}requestColumnsRender(){this.grid?.requestColumnsRender?.()}requestRenderWithFocus(){this.grid?.requestRenderWithFocus?.()}requestAfterRender(){this.grid?.requestAfterRender?.()}requestVirtualRefresh(){this.grid?.requestVirtualRefresh?.()}get rows(){return this.grid?.rows??[]}get sourceRows(){return this.grid?.sourceRows??[]}get columns(){return this.grid?.columns??[]}get visibleColumns(){return this.grid?._visibleColumns??[]}get gridElement(){return this.grid}get disconnectSignal(){return this.#t?.signal??this.grid?.disconnectSignal}get gridIcons(){const t=this.grid?.gridConfig?.icons??{};return{...i,...t}}get isAnimationEnabled(){const t=this.grid?.effectiveConfig?.animation?.mode??"reduced-motion";if(!1===t||"off"===t)return!1;if(!0===t||"on"===t)return!0;const e=this.gridElement;if(e){return"0"!==getComputedStyle(e).getPropertyValue("--tbw-animation-enabled").trim()}return!0}get animationDuration(){const t=this.gridElement;if(t){const e=getComputedStyle(t).getPropertyValue("--tbw-animation-duration").trim(),i=parseInt(e,10);if(!isNaN(i))return i}return 200}resolveIcon(t,e){return void 0!==e?e:this.gridIcons[t]}setIcon(t,e){"string"==typeof e?t.innerHTML=e:e instanceof HTMLElement&&(t.innerHTML="",t.appendChild(e.cloneNode(!0)))}warn(t){console.warn(`[tbw-grid:${this.name}] ${t}`)}}function n(t){return t.pinned??t.sticky??t.meta?.pinned??t.meta?.sticky}function s(t,e){return function(t,e){return"left"===t||"right"===t?t:"rtl"===e?"start"===t?"right":"left":"start"===t?"left":"right"}(t,e)}function o(t,e){const i=n(t);return!!i&&"left"===s(i,e)}function l(t,e){const i=n(t);return!!i&&"right"===s(i,e)}function c(t){return t.some(t=>null!=n(t))}function d(e,i){const r=Array.from(e.querySelectorAll(".header-row .cell"));if(!r.length)return;const n=t(e);let s=0;for(const t of i)if(o(t,n)){const i=r.find(e=>e.getAttribute("data-field")===t.field);i&&(i.classList.add("sticky-left"),i.style.position="sticky",i.style.left=s+"px",e.querySelectorAll(`.data-grid-row .cell[data-field="${t.field}"]`).forEach(t=>{t.classList.add("sticky-left"),t.style.position="sticky",t.style.left=s+"px"}),s+=i.offsetWidth)}let c=0;for(const t of[...i].reverse())if(l(t,n)){const i=r.find(e=>e.getAttribute("data-field")===t.field);i&&(i.classList.add("sticky-right"),i.style.position="sticky",i.style.right=c+"px",e.querySelectorAll(`.data-grid-row .cell[data-field="${t.field}"]`).forEach(t=>{t.classList.add("sticky-right"),t.style.position="sticky",t.style.right=c+"px"}),c+=i.offsetWidth)}}function u(t){t.querySelectorAll(".sticky-left, .sticky-right").forEach(t=>{t.classList.remove("sticky-left","sticky-right"),t.style.position="",t.style.left="",t.style.right=""})}const f="canMoveColumn";class a extends r{static manifest={ownedProperties:[{property:"pinned",level:"column",description:'the "pinned" column property',isUsed:t=>"left"===t||"right"===t||"start"===t||"end"===t},{property:"sticky",level:"column",description:'the "sticky" column property (deprecated, use "pinned")',isUsed:t=>"left"===t||"right"===t||"start"===t||"end"===t}],incompatibleWith:[{name:"groupingColumns",reason:"Pinning reorders columns to the grid edges, but moving a column out of its column group is not supported. The group header layout cannot accommodate members at different positions."}],queries:[{type:f,description:"Prevents pinned (sticky) columns from being moved/reordered"},{type:"getStickyOffsets",description:"Returns the sticky offsets for left/right pinned columns"},{type:"getContextMenuItems",description:"Contributes pin/unpin items to the header context menu"}]};name="pinnedColumns";get defaultConfig(){return{}}isApplied=!1;leftOffsets=/* @__PURE__ */new Map;rightOffsets=/* @__PURE__ */new Map;#e=[];detach(){this.leftOffsets.clear(),this.rightOffsets.clear(),this.isApplied=!1,this.#e=[]}static detect(t,e){const i=e?.columns;return!!Array.isArray(i)&&c(i)}processColumns(e){const i=[...e];if(this.isApplied=c(i),!this.isApplied)return i;const r=this.gridElement;return function(t,e="ltr"){const i=[],r=[],o=[];for(const l of t){const t=n(l);t?"left"===s(t,e)?i.push(l):o.push(l):r.push(l)}return[...i,...r,...o]}(i,r?t(r):"ltr")}afterRender(){if(!this.isApplied)return;const t=this.grid,e=[...this.columns];if(!c(e))return u(t),void(this.isApplied=!1);queueMicrotask(()=>{d(t,e)})}handleQuery(t){switch(t.type){case f:return null==n(t.context)&&void 0;case"getStickyOffsets":return{left:Object.fromEntries(this.leftOffsets),right:Object.fromEntries(this.rightOffsets)};case"getContextMenuItems":{const e=t.context;if(!e.isHeader)return;const i=e.column;if(!i?.field)return;if(i.meta?.lockPinning)return;const r=this.grid?.getPluginByName("groupingColumns");if(r?.isGroupingActive())return;const s=[];return null!=n(i)?s.push({id:"pinned/unpin",label:"Unpin Column",icon:"📌",order:40,action:()=>this.setPinPosition(i.field,void 0)}):(s.push({id:"pinned/pin-left",label:"Pin Left",icon:"⬅",order:40,action:()=>this.setPinPosition(i.field,"left")}),s.push({id:"pinned/pin-right",label:"Pin Right",icon:"➡",order:41,action:()=>this.setPinPosition(i.field,"right")})),s}default:return}}setPinPosition(t,e){const i=this.columns;if(!i?.length)return;const r=i.findIndex(e=>e.field===t);if(-1===r)return;const s=this.grid;if(e){0===this.#e.length&&(this.#e=i.map(t=>t.field));const r=i.map(i=>{if(i.field!==t)return i;const r={...i};return r.pinned=e,delete r.sticky,r});s.columns=r}else{const e={...i[r]};delete e.pinned,delete e.sticky;const o=[...i];o.splice(r,1);const l=this.#e.indexOf(t);if(l>=0){let t=o.length;for(let e=0;e<o.length;e++){if(n(o[e]))continue;if(this.#e.indexOf(o[e].field)>l){t=e;break}}o.splice(t,0,e)}else o.splice(Math.min(r,o.length),0,e);o.some(t=>null!=n(t))||(this.#e=[]),s.columns=o}}refreshStickyOffsets(){const t=[...this.columns];d(this.grid,t)}getLeftPinnedColumns(){return function(t,e="ltr"){return t.filter(t=>o(t,e))}([...this.columns],t(this.grid))}getRightPinnedColumns(){return function(t,e="ltr"){return t.filter(t=>l(t,e))}([...this.columns],t(this.grid))}clearStickyPositions(){u(this.grid)}getHorizontalScrollOffsets(t,e){if(!this.isApplied)return;let i=0,r=0;if(t){const e=t.querySelectorAll(".sticky-left"),n=t.querySelectorAll(".sticky-right");e.forEach(t=>{i+=t.offsetWidth}),n.forEach(t=>{r+=t.offsetWidth})}else{this.grid.querySelectorAll(".header-row .cell").forEach(t=>{t.classList.contains("sticky-left")?i+=t.offsetWidth:t.classList.contains("sticky-right")&&(r+=t.offsetWidth)})}const n=e?.classList.contains("sticky-left")||e?.classList.contains("sticky-right");return{left:i,right:r,skipScroll:n}}}export{a as PinnedColumnsPlugin};
1
+ function t(t){try{if("rtl"===getComputedStyle(t).direction)return"rtl"}catch{}try{const e=t.closest?.("[dir]")?.getAttribute("dir");if("rtl"===e)return"rtl"}catch{}return"ltr"}const e='<svg viewBox="0 0 16 16" width="12" height="12"><path fill="currentColor" d="M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z"/></svg>',i={expand:"▶",collapse:"▼",sortAsc:"▲",sortDesc:"▼",sortNone:"⇅",submenuArrow:"▶",dragHandle:"⋮⋮",toolPanel:"☰",filter:e,filterActive:e,print:"🖨️"};class n{static dependencies;static manifest;aliases;version="undefined"!=typeof __GRID_VERSION__?__GRID_VERSION__:"dev";styles;cellRenderers;headerRenderers;cellEditors;grid;config;userConfig;#t;get defaultConfig(){return{}}constructor(t={}){this.userConfig=t}attach(t){this.#t?.abort(),this.#t=new AbortController,this.grid=t,this.config={...this.defaultConfig,...this.userConfig}}detach(){this.#t?.abort(),this.#t=void 0}getPlugin(t){return this.grid?.getPlugin(t)}emit(t,e){this.grid?.dispatchEvent?.(new CustomEvent(t,{detail:e,bubbles:!0}))}emitCancelable(t,e){const i=new CustomEvent(t,{detail:e,bubbles:!0,cancelable:!0});return this.grid?.dispatchEvent?.(i),i.defaultPrevented}on(t,e){this.grid?._pluginManager?.subscribe(this,t,e)}off(t){this.grid?._pluginManager?.unsubscribe(this,t)}emitPluginEvent(t,e){this.grid?._pluginManager?.emitPluginEvent(t,e)}requestRender(){this.grid?.requestRender?.()}requestColumnsRender(){this.grid?.requestColumnsRender?.()}requestRenderWithFocus(){this.grid?.requestRenderWithFocus?.()}requestAfterRender(){this.grid?.requestAfterRender?.()}requestVirtualRefresh(){this.grid?.requestVirtualRefresh?.()}get rows(){return this.grid?.rows??[]}get sourceRows(){return this.grid?.sourceRows??[]}get columns(){return this.grid?.columns??[]}get visibleColumns(){return this.grid?._visibleColumns??[]}get gridElement(){return this.grid?._hostElement}get disconnectSignal(){return this.#t?.signal??this.grid?.disconnectSignal}get gridIcons(){const t=this.grid?.gridConfig?.icons??{};return{...i,...t}}get isAnimationEnabled(){const t=this.grid?.effectiveConfig?.animation?.mode??"reduced-motion";if(!1===t||"off"===t)return!1;if(!0===t||"on"===t)return!0;const e=this.gridElement;if(e){return"0"!==getComputedStyle(e).getPropertyValue("--tbw-animation-enabled").trim()}return!0}get animationDuration(){const t=this.gridElement;if(t){const e=getComputedStyle(t).getPropertyValue("--tbw-animation-duration").trim(),i=parseInt(e,10);if(!isNaN(i))return i}return 200}resolveIcon(t,e){return void 0!==e?e:this.gridIcons[t]}setIcon(t,e){"string"==typeof e?t.innerHTML=e:e instanceof HTMLElement&&(t.innerHTML="",t.appendChild(e.cloneNode(!0)))}warn(t){var e,i;console.warn(`${e=this.gridElement.id,i=this.name,`[tbw-grid${e?`#${e}`:""}${i?`:${i}`:""}]`} ${t}`)}}function r(t){return t.pinned??t.sticky??t.meta?.pinned??t.meta?.sticky}function s(t,e){return function(t,e){return"left"===t||"right"===t?t:"rtl"===e?"start"===t?"right":"left":"start"===t?"left":"right"}(t,e)}function o(t,e){const i=r(t);return!!i&&"left"===s(i,e)}function l(t,e){const i=r(t);return!!i&&"right"===s(i,e)}function c(t){return t.some(t=>null!=r(t))}function d(e,i){const n=Array.from(e.querySelectorAll(".header-row .cell"));if(!n.length)return;const r=t(e);let s=0;for(const t of i)if(o(t,r)){const i=n.find(e=>e.getAttribute("data-field")===t.field);i&&(i.classList.add("sticky-left"),i.style.position="sticky",i.style.left=s+"px",e.querySelectorAll(`.data-grid-row .cell[data-field="${t.field}"]`).forEach(t=>{t.classList.add("sticky-left"),t.style.position="sticky",t.style.left=s+"px"}),s+=i.offsetWidth)}let c=0;for(const t of[...i].reverse())if(l(t,r)){const i=n.find(e=>e.getAttribute("data-field")===t.field);i&&(i.classList.add("sticky-right"),i.style.position="sticky",i.style.right=c+"px",e.querySelectorAll(`.data-grid-row .cell[data-field="${t.field}"]`).forEach(t=>{t.classList.add("sticky-right"),t.style.position="sticky",t.style.right=c+"px"}),c+=i.offsetWidth)}}function u(t){t.querySelectorAll(".sticky-left, .sticky-right").forEach(t=>{t.classList.remove("sticky-left","sticky-right"),t.style.position="",t.style.left="",t.style.right=""})}const a="canMoveColumn";class f extends n{static manifest={ownedProperties:[{property:"pinned",level:"column",description:'the "pinned" column property',isUsed:t=>"left"===t||"right"===t||"start"===t||"end"===t},{property:"sticky",level:"column",description:'the "sticky" column property (deprecated, use "pinned")',isUsed:t=>"left"===t||"right"===t||"start"===t||"end"===t}],incompatibleWith:[{name:"groupingColumns",reason:"Pinning reorders columns to the grid edges, but moving a column out of its column group is not supported. The group header layout cannot accommodate members at different positions."}],queries:[{type:a,description:"Prevents pinned (sticky) columns from being moved/reordered"},{type:"getStickyOffsets",description:"Returns the sticky offsets for left/right pinned columns"},{type:"getContextMenuItems",description:"Contributes pin/unpin items to the header context menu"}]};name="pinnedColumns";get defaultConfig(){return{}}isApplied=!1;leftOffsets=/* @__PURE__ */new Map;rightOffsets=/* @__PURE__ */new Map;#e=[];detach(){this.leftOffsets.clear(),this.rightOffsets.clear(),this.isApplied=!1,this.#e=[]}static detect(t,e){const i=e?.columns;return!!Array.isArray(i)&&c(i)}processColumns(e){const i=[...e];if(this.isApplied=c(i),!this.isApplied)return i;const n=this.gridElement;return function(t,e="ltr"){const i=[],n=[],o=[];for(const l of t){const t=r(l);t?"left"===s(t,e)?i.push(l):o.push(l):n.push(l)}return[...i,...n,...o]}(i,n?t(n):"ltr")}afterRender(){if(!this.isApplied)return;const t=this.gridElement,e=[...this.columns];if(!c(e))return u(t),void(this.isApplied=!1);queueMicrotask(()=>{d(t,e)})}handleQuery(t){switch(t.type){case a:return null==r(t.context)&&void 0;case"getStickyOffsets":return{left:Object.fromEntries(this.leftOffsets),right:Object.fromEntries(this.rightOffsets)};case"getContextMenuItems":{const e=t.context;if(!e.isHeader)return;const i=e.column;if(!i?.field)return;if(i.meta?.lockPinning)return;const n=this.grid?.getPluginByName("groupingColumns");if(n?.isGroupingActive())return;const s=[];return null!=r(i)?s.push({id:"pinned/unpin",label:"Unpin Column",icon:"📌",order:40,action:()=>this.setPinPosition(i.field,void 0)}):(s.push({id:"pinned/pin-left",label:"Pin Left",icon:"⬅",order:40,action:()=>this.setPinPosition(i.field,"left")}),s.push({id:"pinned/pin-right",label:"Pin Right",icon:"➡",order:41,action:()=>this.setPinPosition(i.field,"right")})),s}default:return}}setPinPosition(t,e){const i=this.columns;if(!i?.length)return;const n=i.findIndex(e=>e.field===t);if(-1===n)return;const s=this.gridElement;if(e){0===this.#e.length&&(this.#e=i.map(t=>t.field));const n=i.map(i=>{if(i.field!==t)return i;const n={...i};return n.pinned=e,delete n.sticky,n});s.columns=n}else{const e={...i[n]};delete e.pinned,delete e.sticky;const o=[...i];o.splice(n,1);const l=this.#e.indexOf(t);if(l>=0){let t=o.length;for(let e=0;e<o.length;e++){if(r(o[e]))continue;if(this.#e.indexOf(o[e].field)>l){t=e;break}}o.splice(t,0,e)}else o.splice(Math.min(n,o.length),0,e);o.some(t=>null!=r(t))||(this.#e=[]),s.columns=o}}refreshStickyOffsets(){const t=[...this.columns];d(this.gridElement,t)}getLeftPinnedColumns(){return function(t,e="ltr"){return t.filter(t=>o(t,e))}([...this.columns],t(this.gridElement))}getRightPinnedColumns(){return function(t,e="ltr"){return t.filter(t=>l(t,e))}([...this.columns],t(this.gridElement))}clearStickyPositions(){u(this.gridElement)}getHorizontalScrollOffsets(t,e){if(!this.isApplied)return;let i=0,n=0;if(t){const e=t.querySelectorAll(".sticky-left"),r=t.querySelectorAll(".sticky-right");e.forEach(t=>{i+=t.offsetWidth}),r.forEach(t=>{n+=t.offsetWidth})}else{this.gridElement.querySelectorAll(".header-row .cell").forEach(t=>{t.classList.contains("sticky-left")?i+=t.offsetWidth:t.classList.contains("sticky-right")&&(n+=t.offsetWidth)})}const r=e?.classList.contains("sticky-left")||e?.classList.contains("sticky-right");return{left:i,right:n,skipScroll:r}}}export{f as PinnedColumnsPlugin};
2
2
  //# sourceMappingURL=index.js.map