apex-grid 1.0.1 → 2.0.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 (453) hide show
  1. package/LICENSE +76 -5
  2. package/README.md +520 -10
  3. package/components/cell.d.ts +74 -0
  4. package/components/cell.js +376 -0
  5. package/components/cell.js.map +1 -0
  6. package/{dist/src/components → components}/filter-row.d.ts +13 -12
  7. package/components/filter-row.js +396 -0
  8. package/components/filter-row.js.map +1 -0
  9. package/components/grid.d.ts +1173 -0
  10. package/components/grid.js +620 -0
  11. package/components/grid.js.map +1 -0
  12. package/components/header-row.d.ts +43 -0
  13. package/components/header-row.js +205 -0
  14. package/components/header-row.js.map +1 -0
  15. package/{dist/src/components → components}/header.d.ts +11 -5
  16. package/components/header.js +263 -0
  17. package/components/header.js.map +1 -0
  18. package/components/paginator.d.ts +56 -0
  19. package/components/paginator.js +148 -0
  20. package/components/paginator.js.map +1 -0
  21. package/components/row.d.ts +43 -0
  22. package/components/row.js +239 -0
  23. package/components/row.js.map +1 -0
  24. package/components/toolbar.d.ts +60 -0
  25. package/components/toolbar.js +275 -0
  26. package/components/toolbar.js.map +1 -0
  27. package/{dist/src/components → components}/virtualizer.d.ts +2 -3
  28. package/{dist/src/components → components}/virtualizer.js +3 -3
  29. package/components/virtualizer.js.map +1 -0
  30. package/controllers/data-operation.d.ts +31 -0
  31. package/controllers/data-operation.js +53 -0
  32. package/controllers/data-operation.js.map +1 -0
  33. package/controllers/dom.d.ts +55 -0
  34. package/controllers/dom.js +221 -0
  35. package/controllers/dom.js.map +1 -0
  36. package/controllers/editing.d.ts +130 -0
  37. package/controllers/editing.js +197 -0
  38. package/controllers/editing.js.map +1 -0
  39. package/controllers/expansion.d.ts +68 -0
  40. package/controllers/expansion.js +126 -0
  41. package/controllers/expansion.js.map +1 -0
  42. package/{dist/src/controllers → controllers}/filter.d.ts +2 -3
  43. package/controllers/filter.js +105 -0
  44. package/controllers/filter.js.map +1 -0
  45. package/{dist/src/controllers → controllers}/navigation.d.ts +18 -8
  46. package/{dist/src/controllers → controllers}/navigation.js +31 -20
  47. package/controllers/navigation.js.map +1 -0
  48. package/controllers/pagination.d.ts +102 -0
  49. package/controllers/pagination.js +106 -0
  50. package/controllers/pagination.js.map +1 -0
  51. package/controllers/reorder.d.ts +78 -0
  52. package/controllers/reorder.js +124 -0
  53. package/controllers/reorder.js.map +1 -0
  54. package/{dist/src/controllers → controllers}/resize.d.ts +2 -3
  55. package/controllers/resize.js +52 -0
  56. package/controllers/resize.js.map +1 -0
  57. package/controllers/selection.d.ts +109 -0
  58. package/controllers/selection.js +168 -0
  59. package/controllers/selection.js.map +1 -0
  60. package/{dist/src/controllers → controllers}/sort.d.ts +1 -2
  61. package/controllers/sort.js +122 -0
  62. package/controllers/sort.js.map +1 -0
  63. package/controllers/state.d.ts +56 -0
  64. package/controllers/state.js +74 -0
  65. package/controllers/state.js.map +1 -0
  66. package/controllers/tree.d.ts +87 -0
  67. package/controllers/tree.js +0 -0
  68. package/controllers/tree.js.map +1 -0
  69. package/custom-elements.json +6901 -1554
  70. package/{dist/src/define.d.ts → define.d.ts} +0 -1
  71. package/define.js.map +1 -0
  72. package/docs/assets/hierarchy.js +1 -0
  73. package/docs/assets/highlight.css +127 -0
  74. package/docs/assets/icons.js +18 -0
  75. package/docs/assets/icons.svg +1 -0
  76. package/docs/assets/main.js +60 -0
  77. package/docs/assets/navigation.js +1 -0
  78. package/docs/assets/search.js +1 -0
  79. package/docs/assets/style.css +1633 -0
  80. package/docs/classes/ApexGrid.html +371 -0
  81. package/docs/functions/setup.html +22 -0
  82. package/docs/hierarchy.html +1 -0
  83. package/docs/index.html +504 -0
  84. package/docs/interfaces/ApexCellValueChangedEvent.html +11 -0
  85. package/docs/interfaces/ApexCellValueChangingEvent.html +13 -0
  86. package/docs/interfaces/ApexColumnMovedEvent.html +8 -0
  87. package/docs/interfaces/ApexColumnMovingEvent.html +11 -0
  88. package/docs/interfaces/ApexColumnPinnedEvent.html +6 -0
  89. package/docs/interfaces/ApexColumnPinningEvent.html +8 -0
  90. package/docs/interfaces/ApexDetailContext.html +8 -0
  91. package/docs/interfaces/ApexFilteredEvent.html +6 -0
  92. package/docs/interfaces/ApexFilteringEvent.html +12 -0
  93. package/docs/interfaces/ApexGridEventMap.html +68 -0
  94. package/docs/interfaces/ApexHeaderContext.html +6 -0
  95. package/docs/interfaces/ApexPageChangedEvent.html +10 -0
  96. package/docs/interfaces/ApexPageChangingEvent.html +10 -0
  97. package/docs/interfaces/ApexQuickFilterChangedEvent.html +4 -0
  98. package/docs/interfaces/ApexQuickFilterChangingEvent.html +6 -0
  99. package/docs/interfaces/ApexRowEditEndedEvent.html +6 -0
  100. package/docs/interfaces/ApexRowEditStartedEvent.html +4 -0
  101. package/docs/interfaces/ApexRowExpandedEvent.html +8 -0
  102. package/docs/interfaces/ApexRowExpandingEvent.html +11 -0
  103. package/docs/interfaces/ApexRowSelectedEvent.html +8 -0
  104. package/docs/interfaces/ApexRowSelectingEvent.html +11 -0
  105. package/docs/interfaces/ApexTreeRowExpandedEvent.html +8 -0
  106. package/docs/interfaces/ApexTreeRowExpandingEvent.html +10 -0
  107. package/docs/interfaces/BaseApexCellContext.html +16 -0
  108. package/docs/interfaces/BaseApexEditorContext.html +19 -0
  109. package/docs/interfaces/BaseColumnConfiguration.html +83 -0
  110. package/docs/interfaces/BaseColumnSortConfiguration.html +6 -0
  111. package/docs/interfaces/BaseFilterExpression.html +15 -0
  112. package/docs/interfaces/BaseSortExpression.html +12 -0
  113. package/docs/interfaces/CSVExportOptions.html +22 -0
  114. package/docs/interfaces/ColumnFilterConfiguration.html +4 -0
  115. package/docs/interfaces/DataPipelineConfiguration.html +15 -0
  116. package/docs/interfaces/ExportOptions.html +15 -0
  117. package/docs/interfaces/GridEditingConfiguration.html +10 -0
  118. package/docs/interfaces/GridExpansionConfiguration.html +15 -0
  119. package/docs/interfaces/GridSelectionConfiguration.html +11 -0
  120. package/docs/interfaces/GridSortConfiguration.html +6 -0
  121. package/docs/interfaces/GridTreeConfiguration.html +33 -0
  122. package/docs/interfaces/PaginationConfiguration.html +18 -0
  123. package/docs/interfaces/PaginationState.html +10 -0
  124. package/docs/interfaces/XLSXExportOptions.html +17 -0
  125. package/docs/media/package.json +83 -0
  126. package/docs/media/publish.yml +111 -0
  127. package/docs/modules.html +1 -0
  128. package/docs/types/ApexCellContext.html +2 -0
  129. package/docs/types/ApexEditorContext.html +2 -0
  130. package/docs/types/BasePropertyType.html +2 -0
  131. package/docs/types/BaseSortComparer.html +2 -0
  132. package/docs/types/ColumnConfiguration.html +2 -0
  133. package/docs/types/ColumnDropPosition.html +2 -0
  134. package/docs/types/ColumnSortConfiguration.html +2 -0
  135. package/docs/types/DataPipelineHook.html +2 -0
  136. package/docs/types/DataPipelineParams.html +8 -0
  137. package/docs/types/DataType.html +30 -0
  138. package/docs/types/EditMode.html +6 -0
  139. package/docs/types/EditTrigger.html +4 -0
  140. package/docs/types/ExportCellValue.html +5 -0
  141. package/docs/types/ExportSource.html +8 -0
  142. package/docs/types/FilterCriteria.html +6 -0
  143. package/docs/types/FilterExpression.html +2 -0
  144. package/docs/types/Keys.html +2 -0
  145. package/docs/types/PaginationMode.html +6 -0
  146. package/docs/types/PinPosition.html +5 -0
  147. package/docs/types/PropertyType.html +2 -0
  148. package/docs/types/SelectionMode.html +7 -0
  149. package/docs/types/SortComparer.html +2 -0
  150. package/docs/types/SortExpression.html +2 -0
  151. package/docs/types/SortState.html +2 -0
  152. package/docs/types/SortingDirection.html +3 -0
  153. package/index.d.ts +11 -0
  154. package/{dist/src/index.js → index.js} +1 -0
  155. package/index.js.map +1 -0
  156. package/internal/column-types.d.ts +94 -0
  157. package/internal/column-types.js +268 -0
  158. package/internal/column-types.js.map +1 -0
  159. package/{dist/src/internal → internal}/constants.d.ts +0 -1
  160. package/internal/constants.js.map +1 -0
  161. package/internal/export.d.ts +106 -0
  162. package/internal/export.js +122 -0
  163. package/internal/export.js.map +1 -0
  164. package/internal/flip.d.ts +80 -0
  165. package/internal/flip.js +52 -0
  166. package/internal/flip.js.map +1 -0
  167. package/internal/icons.d.ts +24 -0
  168. package/internal/icons.js +134 -0
  169. package/internal/icons.js.map +1 -0
  170. package/{dist/src/internal → internal}/is-defined.d.ts +0 -1
  171. package/internal/is-defined.js.map +1 -0
  172. package/{dist/src/internal → internal}/mixins/event-emitter.d.ts +0 -1
  173. package/internal/mixins/event-emitter.js.map +1 -0
  174. package/{dist/src/internal → internal}/normalize-case.d.ts +0 -1
  175. package/internal/normalize-case.js.map +1 -0
  176. package/{dist/src/internal → internal}/part-map.d.ts +0 -1
  177. package/{dist/src/internal → internal}/part-map.js +1 -1
  178. package/internal/part-map.js.map +1 -0
  179. package/{dist/src/internal → internal}/register.d.ts +3 -4
  180. package/internal/register.js +9 -0
  181. package/internal/register.js.map +1 -0
  182. package/{dist/src/internal → internal}/tags.d.ts +2 -1
  183. package/{dist/src/internal → internal}/tags.js +2 -0
  184. package/internal/tags.js.map +1 -0
  185. package/internal/theming.d.ts +34 -0
  186. package/internal/theming.js +123 -0
  187. package/internal/theming.js.map +1 -0
  188. package/internal/types.d.ts +619 -0
  189. package/internal/types.js.map +1 -0
  190. package/internal/utils.d.ts +29 -0
  191. package/internal/utils.js +75 -0
  192. package/internal/utils.js.map +1 -0
  193. package/{dist/src/internal → internal}/watch.d.ts +0 -1
  194. package/{dist/src/internal → internal}/watch.js +2 -2
  195. package/internal/watch.js.map +1 -0
  196. package/internal/xlsx.d.ts +22 -0
  197. package/internal/xlsx.js +228 -0
  198. package/internal/xlsx.js.map +1 -0
  199. package/{dist/src/operations → operations}/base.d.ts +0 -1
  200. package/operations/base.js.map +1 -0
  201. package/{dist/src/operations → operations}/filter/operands/boolean.d.ts +0 -1
  202. package/{dist/src/operations → operations}/filter/operands/boolean.js +5 -5
  203. package/operations/filter/operands/boolean.js.map +1 -0
  204. package/{dist/src/operations → operations}/filter/operands/number.d.ts +0 -1
  205. package/{dist/src/operations → operations}/filter/operands/number.js +2 -2
  206. package/operations/filter/operands/number.js.map +1 -0
  207. package/{dist/src/operations → operations}/filter/operands/string.d.ts +0 -1
  208. package/{dist/src/operations → operations}/filter/operands/string.js +2 -2
  209. package/operations/filter/operands/string.js.map +1 -0
  210. package/{dist/src/operations → operations}/filter/state.d.ts +1 -2
  211. package/{dist/src/operations → operations}/filter/state.js +3 -4
  212. package/operations/filter/state.js.map +1 -0
  213. package/{dist/src/operations → operations}/filter/tree.d.ts +1 -2
  214. package/{dist/src/operations → operations}/filter/tree.js +5 -6
  215. package/operations/filter/tree.js.map +1 -0
  216. package/{dist/src/operations → operations}/filter/types.d.ts +0 -1
  217. package/operations/filter/types.js.map +1 -0
  218. package/{dist/src/operations → operations}/filter.d.ts +0 -1
  219. package/{dist/src/operations → operations}/filter.js +4 -7
  220. package/operations/filter.js.map +1 -0
  221. package/operations/pagination.d.ts +19 -0
  222. package/operations/pagination.js +12 -0
  223. package/operations/pagination.js.map +1 -0
  224. package/operations/quick-filter.d.ts +21 -0
  225. package/operations/quick-filter.js +26 -0
  226. package/operations/quick-filter.js.map +1 -0
  227. package/{dist/src/operations → operations}/sort/types.d.ts +0 -1
  228. package/operations/sort/types.js.map +1 -0
  229. package/{dist/src/operations → operations}/sort.d.ts +0 -1
  230. package/{dist/src/operations → operations}/sort.js +5 -5
  231. package/operations/sort.js.map +1 -0
  232. package/package.json +25 -83
  233. package/setup.d.ts +58 -0
  234. package/setup.js +29 -0
  235. package/setup.js.map +1 -0
  236. package/{dist/src/styles/body-row/body-row-styles.css.d.ts → styles/_common.css.d.ts} +0 -1
  237. package/styles/_common.css.js +3 -0
  238. package/styles/_common.css.js.map +1 -0
  239. package/{dist/src/styles/body-cell/body-cell-styles.css.d.ts → styles/body-cell/body-cell.css.d.ts} +0 -1
  240. package/styles/body-cell/body-cell.css.js +3 -0
  241. package/styles/body-cell/body-cell.css.js.map +1 -0
  242. package/{dist/src/styles/filter-row/filter-row-styles.css.d.ts → styles/body-row/body-row.css.d.ts} +0 -1
  243. package/styles/body-row/body-row.css.js +3 -0
  244. package/styles/body-row/body-row.css.js.map +1 -0
  245. package/{dist/src/styles/grid/themes/light/grid.fluent-styles.css.d.ts → styles/filter-row/filter-row.css.d.ts} +0 -1
  246. package/styles/filter-row/filter-row.css.js +3 -0
  247. package/styles/filter-row/filter-row.css.js.map +1 -0
  248. package/styles/grid/_grid.base.css.d.ts +1 -0
  249. package/styles/grid/_grid.base.css.js +3 -0
  250. package/styles/grid/_grid.base.css.js.map +1 -0
  251. package/styles/grid/themes/light/grid.bootstrap.css.d.ts +1 -0
  252. package/styles/grid/themes/light/grid.bootstrap.css.js +3 -0
  253. package/styles/grid/themes/light/grid.bootstrap.css.js.map +1 -0
  254. package/styles/grid/themes/light/grid.fluent.css.d.ts +1 -0
  255. package/styles/grid/themes/light/grid.fluent.css.js +3 -0
  256. package/styles/grid/themes/light/grid.fluent.css.js.map +1 -0
  257. package/styles/grid/themes/light/grid.indigo.css.d.ts +1 -0
  258. package/styles/grid/themes/light/grid.indigo.css.js +3 -0
  259. package/styles/grid/themes/light/grid.indigo.css.js.map +1 -0
  260. package/styles/grid/themes/light/grid.material.css.d.ts +1 -0
  261. package/styles/grid/themes/light/grid.material.css.js +3 -0
  262. package/styles/grid/themes/light/grid.material.css.js.map +1 -0
  263. package/styles/header-cell/header-cell.css.d.ts +1 -0
  264. package/styles/header-cell/header-cell.css.js +3 -0
  265. package/styles/header-cell/header-cell.css.js.map +1 -0
  266. package/styles/header-row/header-row.base.css.d.ts +1 -0
  267. package/styles/header-row/header-row.base.css.js +3 -0
  268. package/styles/header-row/header-row.base.css.js.map +1 -0
  269. package/styles/paginator/paginator.css.d.ts +1 -0
  270. package/styles/paginator/paginator.css.js +3 -0
  271. package/styles/paginator/paginator.css.js.map +1 -0
  272. package/styles/toolbar/toolbar.css.d.ts +1 -0
  273. package/styles/toolbar/toolbar.css.js +3 -0
  274. package/styles/toolbar/toolbar.css.js.map +1 -0
  275. package/styles.css +17 -0
  276. package/dist/bundle.js +0 -2194
  277. package/dist/docs/assets/highlight.css +0 -43
  278. package/dist/docs/assets/main.js +0 -58
  279. package/dist/docs/assets/search.js +0 -1
  280. package/dist/docs/assets/style.css +0 -1365
  281. package/dist/docs/classes/ApexGrid.html +0 -327
  282. package/dist/docs/index.html +0 -82
  283. package/dist/docs/interfaces/ApexFilteredEvent.html +0 -104
  284. package/dist/docs/interfaces/ApexFilteringEvent.html +0 -116
  285. package/dist/docs/interfaces/ApexGridEventMap.html +0 -127
  286. package/dist/docs/interfaces/ApexHeaderContext.html +0 -104
  287. package/dist/docs/interfaces/BaseApexCellContext.html +0 -120
  288. package/dist/docs/interfaces/BaseColumnConfiguration.html +0 -196
  289. package/dist/docs/interfaces/BaseColumnSortConfiguration.html +0 -106
  290. package/dist/docs/interfaces/BaseFilterExpression.html +0 -132
  291. package/dist/docs/interfaces/BaseSortExpression.html +0 -124
  292. package/dist/docs/interfaces/ColumnFilterConfiguration.html +0 -92
  293. package/dist/docs/interfaces/DataPipelineConfiguration.html +0 -104
  294. package/dist/docs/interfaces/GridSortConfiguration.html +0 -99
  295. package/dist/docs/modules.html +0 -102
  296. package/dist/docs/types/ApexCellContext.html +0 -74
  297. package/dist/docs/types/BasePropertyType.html +0 -74
  298. package/dist/docs/types/BaseSortComparer.html +0 -89
  299. package/dist/docs/types/ColumnConfiguration.html +0 -74
  300. package/dist/docs/types/ColumnSortConfiguration.html +0 -74
  301. package/dist/docs/types/DataPipelineHook.html +0 -85
  302. package/dist/docs/types/DataPipelineParams.html +0 -87
  303. package/dist/docs/types/DataType.html +0 -67
  304. package/dist/docs/types/FilterCriteria.html +0 -71
  305. package/dist/docs/types/FilterExpression.html +0 -74
  306. package/dist/docs/types/Keys.html +0 -72
  307. package/dist/docs/types/PropertyType.html +0 -74
  308. package/dist/docs/types/SortComparer.html +0 -74
  309. package/dist/docs/types/SortExpression.html +0 -74
  310. package/dist/docs/types/SortState.html +0 -72
  311. package/dist/docs/types/SortingDirection.html +0 -69
  312. package/dist/src/components/cell.d.ts +0 -36
  313. package/dist/src/components/cell.d.ts.map +0 -1
  314. package/dist/src/components/cell.js +0 -55
  315. package/dist/src/components/cell.js.map +0 -1
  316. package/dist/src/components/filter-row.d.ts.map +0 -1
  317. package/dist/src/components/filter-row.js +0 -316
  318. package/dist/src/components/filter-row.js.map +0 -1
  319. package/dist/src/components/grid.d.ts +0 -226
  320. package/dist/src/components/grid.d.ts.map +0 -1
  321. package/dist/src/components/grid.js +0 -309
  322. package/dist/src/components/grid.js.map +0 -1
  323. package/dist/src/components/header-row.d.ts +0 -24
  324. package/dist/src/components/header-row.d.ts.map +0 -1
  325. package/dist/src/components/header-row.js +0 -78
  326. package/dist/src/components/header-row.js.map +0 -1
  327. package/dist/src/components/header.d.ts.map +0 -1
  328. package/dist/src/components/header.js +0 -144
  329. package/dist/src/components/header.js.map +0 -1
  330. package/dist/src/components/row.d.ts +0 -25
  331. package/dist/src/components/row.d.ts.map +0 -1
  332. package/dist/src/components/row.js +0 -68
  333. package/dist/src/components/row.js.map +0 -1
  334. package/dist/src/components/virtualizer.d.ts.map +0 -1
  335. package/dist/src/components/virtualizer.js.map +0 -1
  336. package/dist/src/controllers/data-operation.d.ts +0 -18
  337. package/dist/src/controllers/data-operation.d.ts.map +0 -1
  338. package/dist/src/controllers/data-operation.js +0 -37
  339. package/dist/src/controllers/data-operation.js.map +0 -1
  340. package/dist/src/controllers/dom.d.ts +0 -20
  341. package/dist/src/controllers/dom.d.ts.map +0 -1
  342. package/dist/src/controllers/dom.js +0 -60
  343. package/dist/src/controllers/dom.js.map +0 -1
  344. package/dist/src/controllers/filter.d.ts.map +0 -1
  345. package/dist/src/controllers/filter.js +0 -119
  346. package/dist/src/controllers/filter.js.map +0 -1
  347. package/dist/src/controllers/navigation.d.ts.map +0 -1
  348. package/dist/src/controllers/navigation.js.map +0 -1
  349. package/dist/src/controllers/resize.d.ts.map +0 -1
  350. package/dist/src/controllers/resize.js +0 -70
  351. package/dist/src/controllers/resize.js.map +0 -1
  352. package/dist/src/controllers/sort.d.ts.map +0 -1
  353. package/dist/src/controllers/sort.js +0 -94
  354. package/dist/src/controllers/sort.js.map +0 -1
  355. package/dist/src/controllers/state.d.ts +0 -25
  356. package/dist/src/controllers/state.d.ts.map +0 -1
  357. package/dist/src/controllers/state.js +0 -40
  358. package/dist/src/controllers/state.js.map +0 -1
  359. package/dist/src/define.d.ts.map +0 -1
  360. package/dist/src/define.js.map +0 -1
  361. package/dist/src/index.d.ts +0 -9
  362. package/dist/src/index.d.ts.map +0 -1
  363. package/dist/src/index.js.map +0 -1
  364. package/dist/src/internal/constants.d.ts.map +0 -1
  365. package/dist/src/internal/constants.js.map +0 -1
  366. package/dist/src/internal/icon-registry.d.ts +0 -2
  367. package/dist/src/internal/icon-registry.d.ts.map +0 -1
  368. package/dist/src/internal/icon-registry.js +0 -29
  369. package/dist/src/internal/icon-registry.js.map +0 -1
  370. package/dist/src/internal/is-defined.d.ts.map +0 -1
  371. package/dist/src/internal/is-defined.js.map +0 -1
  372. package/dist/src/internal/mixins/event-emitter.d.ts.map +0 -1
  373. package/dist/src/internal/mixins/event-emitter.js.map +0 -1
  374. package/dist/src/internal/normalize-case.d.ts.map +0 -1
  375. package/dist/src/internal/normalize-case.js.map +0 -1
  376. package/dist/src/internal/part-map.d.ts.map +0 -1
  377. package/dist/src/internal/part-map.js.map +0 -1
  378. package/dist/src/internal/register.d.ts.map +0 -1
  379. package/dist/src/internal/register.js +0 -9
  380. package/dist/src/internal/register.js.map +0 -1
  381. package/dist/src/internal/tags.d.ts.map +0 -1
  382. package/dist/src/internal/tags.js.map +0 -1
  383. package/dist/src/internal/types.d.ts +0 -199
  384. package/dist/src/internal/types.d.ts.map +0 -1
  385. package/dist/src/internal/types.js.map +0 -1
  386. package/dist/src/internal/utils.d.ts +0 -7
  387. package/dist/src/internal/utils.d.ts.map +0 -1
  388. package/dist/src/internal/utils.js +0 -37
  389. package/dist/src/internal/utils.js.map +0 -1
  390. package/dist/src/internal/watch.d.ts.map +0 -1
  391. package/dist/src/internal/watch.js.map +0 -1
  392. package/dist/src/operations/base.d.ts.map +0 -1
  393. package/dist/src/operations/base.js.map +0 -1
  394. package/dist/src/operations/filter/operands/boolean.d.ts.map +0 -1
  395. package/dist/src/operations/filter/operands/boolean.js.map +0 -1
  396. package/dist/src/operations/filter/operands/number.d.ts.map +0 -1
  397. package/dist/src/operations/filter/operands/number.js.map +0 -1
  398. package/dist/src/operations/filter/operands/string.d.ts.map +0 -1
  399. package/dist/src/operations/filter/operands/string.js.map +0 -1
  400. package/dist/src/operations/filter/state.d.ts.map +0 -1
  401. package/dist/src/operations/filter/state.js.map +0 -1
  402. package/dist/src/operations/filter/tree.d.ts.map +0 -1
  403. package/dist/src/operations/filter/tree.js.map +0 -1
  404. package/dist/src/operations/filter/types.d.ts.map +0 -1
  405. package/dist/src/operations/filter/types.js.map +0 -1
  406. package/dist/src/operations/filter.d.ts.map +0 -1
  407. package/dist/src/operations/filter.js.map +0 -1
  408. package/dist/src/operations/sort/types.d.ts.map +0 -1
  409. package/dist/src/operations/sort/types.js.map +0 -1
  410. package/dist/src/operations/sort.d.ts.map +0 -1
  411. package/dist/src/operations/sort.js.map +0 -1
  412. package/dist/src/styles/body-cell/body-cell-styles.css.d.ts.map +0 -1
  413. package/dist/src/styles/body-cell/body-cell-styles.css.js +0 -71
  414. package/dist/src/styles/body-cell/body-cell-styles.css.js.map +0 -1
  415. package/dist/src/styles/body-row/body-row-styles.css.d.ts.map +0 -1
  416. package/dist/src/styles/body-row/body-row-styles.css.js +0 -38
  417. package/dist/src/styles/body-row/body-row-styles.css.js.map +0 -1
  418. package/dist/src/styles/filter-row/filter-row-styles.css.d.ts.map +0 -1
  419. package/dist/src/styles/filter-row/filter-row-styles.css.js +0 -96
  420. package/dist/src/styles/filter-row/filter-row-styles.css.js.map +0 -1
  421. package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.d.ts +0 -2
  422. package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.d.ts.map +0 -1
  423. package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.js +0 -83
  424. package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.js.map +0 -1
  425. package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.d.ts.map +0 -1
  426. package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.js +0 -83
  427. package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.js.map +0 -1
  428. package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.d.ts +0 -2
  429. package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.d.ts.map +0 -1
  430. package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.js +0 -83
  431. package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.js.map +0 -1
  432. package/dist/src/styles/grid/themes/light/grid.material-styles.css.d.ts +0 -2
  433. package/dist/src/styles/grid/themes/light/grid.material-styles.css.d.ts.map +0 -1
  434. package/dist/src/styles/grid/themes/light/grid.material-styles.css.js +0 -83
  435. package/dist/src/styles/grid/themes/light/grid.material-styles.css.js.map +0 -1
  436. package/dist/src/styles/header-cell/header-cell-styles.css.d.ts +0 -2
  437. package/dist/src/styles/header-cell/header-cell-styles.css.d.ts.map +0 -1
  438. package/dist/src/styles/header-cell/header-cell-styles.css.js +0 -141
  439. package/dist/src/styles/header-cell/header-cell-styles.css.js.map +0 -1
  440. package/dist/src/styles/header-row/header-row.base-styles.css.d.ts +0 -2
  441. package/dist/src/styles/header-row/header-row.base-styles.css.d.ts.map +0 -1
  442. package/dist/src/styles/header-row/header-row.base-styles.css.js +0 -35
  443. package/dist/src/styles/header-row/header-row.base-styles.css.js.map +0 -1
  444. /package/{dist/src/define.js → define.js} +0 -0
  445. /package/{dist/docs → docs}/.nojekyll +0 -0
  446. /package/{dist/src/internal → internal}/constants.js +0 -0
  447. /package/{dist/src/internal → internal}/is-defined.js +0 -0
  448. /package/{dist/src/internal → internal}/mixins/event-emitter.js +0 -0
  449. /package/{dist/src/internal → internal}/normalize-case.js +0 -0
  450. /package/{dist/src/internal → internal}/types.js +0 -0
  451. /package/{dist/src/operations → operations}/base.js +0 -0
  452. /package/{dist/src/operations → operations}/filter/types.js +0 -0
  453. /package/{dist/src/operations → operations}/sort/types.js +0 -0
@@ -0,0 +1,1173 @@
1
+ import { ContextProvider } from '@lit/context';
2
+ import { nothing } from 'lit';
3
+ import { DataOperationsController } from '../controllers/data-operation.js';
4
+ import { GridDOMController } from '../controllers/dom.js';
5
+ import { StateController } from '../controllers/state.js';
6
+ import { type CSVExportOptions, type XLSXExportOptions } from '../internal/export.js';
7
+ import { EventEmitterBase } from '../internal/mixins/event-emitter.js';
8
+ import type { ColumnConfiguration, DataPipelineConfiguration, GridEditingConfiguration, GridExpansionConfiguration, GridSelectionConfiguration, GridSortConfiguration, GridTreeConfiguration, Keys, PaginationConfiguration, PaginationState, PinPosition } from '../internal/types.js';
9
+ import type { FilterExpression } from '../operations/filter/types.js';
10
+ import type { SortExpression } from '../operations/sort/types.js';
11
+ import ApexFilterRow from './filter-row.js';
12
+ import ApexGridHeaderRow from './header-row.js';
13
+ import ApexGridPaginator from './paginator.js';
14
+ import ApexGridRow from './row.js';
15
+ import ApexGridToolbar from './toolbar.js';
16
+ import ApexVirtualizer from './virtualizer.js';
17
+ /**
18
+ * Event object for the filtering event of the grid.
19
+ */
20
+ export interface ApexFilteringEvent<T extends object> {
21
+ /**
22
+ * The target column for the filter operation.
23
+ */
24
+ key: Keys<T>;
25
+ /**
26
+ * The filter expression(s) to apply.
27
+ */
28
+ expressions: FilterExpression<T>[];
29
+ /**
30
+ * The type of modification which will be applied to the filter
31
+ * state of the column.
32
+ *
33
+ * @remarks
34
+ * `add` - a new filter expression will be added to the state of the column.
35
+ * `modify` - an existing filter expression will be modified.
36
+ * `remove` - the expression(s) will be removed from the state of the column.
37
+ */
38
+ type: 'add' | 'modify' | 'remove';
39
+ }
40
+ /**
41
+ * Event object for the filtered event of the grid.
42
+ */
43
+ export interface ApexFilteredEvent<T extends object> {
44
+ /**
45
+ * The target column for the filter operation.
46
+ */
47
+ key: Keys<T>;
48
+ /**
49
+ * The filter state of the column after the operation.
50
+ */
51
+ state: FilterExpression<T>[];
52
+ }
53
+ /**
54
+ * Event payload for the cancellable `pageChanging` event.
55
+ */
56
+ export interface ApexPageChangingEvent {
57
+ /**
58
+ * The current page (zero-based) before the change.
59
+ */
60
+ page: number;
61
+ /**
62
+ * The current page size before the change.
63
+ */
64
+ pageSize: number;
65
+ /**
66
+ * The proposed page (zero-based) the grid will navigate to.
67
+ */
68
+ nextPage: number;
69
+ /**
70
+ * The proposed page size after the change.
71
+ */
72
+ nextPageSize: number;
73
+ }
74
+ /**
75
+ * Event payload for the `pageChanged` event. Mirrors {@link PaginationState}.
76
+ */
77
+ export interface ApexPageChangedEvent extends PaginationState {
78
+ }
79
+ /**
80
+ * Event payload for the cancellable `quickFilterChanging` event.
81
+ */
82
+ export interface ApexQuickFilterChangingEvent {
83
+ /**
84
+ * The current quick-filter value before the change.
85
+ */
86
+ value: string;
87
+ /**
88
+ * The proposed quick-filter value.
89
+ */
90
+ nextValue: string;
91
+ }
92
+ /**
93
+ * Event payload for the `quickFilterChanged` event.
94
+ */
95
+ export interface ApexQuickFilterChangedEvent {
96
+ /**
97
+ * The resolved quick-filter value after the change.
98
+ */
99
+ value: string;
100
+ }
101
+ /**
102
+ * Drop position relative to a target column when reordering.
103
+ */
104
+ export type ColumnDropPosition = 'before' | 'after';
105
+ /**
106
+ * Event payload for the cancellable `cellValueChanging` event.
107
+ */
108
+ export interface ApexCellValueChangingEvent<T extends object> {
109
+ /**
110
+ * The column key of the edited cell.
111
+ */
112
+ key: Keys<T>;
113
+ /**
114
+ * The view-relative row index (matches {@link ApexGrid.pageItems}).
115
+ */
116
+ rowIndex: number;
117
+ /**
118
+ * The data record being edited (a live reference to the row in
119
+ * {@link ApexGrid.data}).
120
+ */
121
+ data: T;
122
+ /**
123
+ * The value before the edit.
124
+ */
125
+ oldValue: unknown;
126
+ /**
127
+ * The candidate new value.
128
+ */
129
+ newValue: unknown;
130
+ }
131
+ /**
132
+ * Event payload for the `cellValueChanged` event.
133
+ */
134
+ export interface ApexCellValueChangedEvent<T extends object> {
135
+ /**
136
+ * The column key of the edited cell.
137
+ */
138
+ key: Keys<T>;
139
+ /**
140
+ * The view-relative row index after the change.
141
+ */
142
+ rowIndex: number;
143
+ /**
144
+ * The data record after the change (a live reference to the row in
145
+ * {@link ApexGrid.data}).
146
+ */
147
+ data: T;
148
+ /**
149
+ * The applied value.
150
+ */
151
+ value: unknown;
152
+ }
153
+ /**
154
+ * Event payload for the `rowEditStarted` event.
155
+ */
156
+ export interface ApexRowEditStartedEvent {
157
+ /**
158
+ * The view-relative row index entering edit mode.
159
+ */
160
+ rowIndex: number;
161
+ }
162
+ /**
163
+ * Event payload for the `rowEditEnded` event.
164
+ */
165
+ export interface ApexRowEditEndedEvent {
166
+ /**
167
+ * The view-relative row index that left edit mode.
168
+ */
169
+ rowIndex: number;
170
+ /**
171
+ * `true` when pending edits were applied, `false` when discarded.
172
+ */
173
+ committed: boolean;
174
+ }
175
+ /**
176
+ * Event payload for the cancellable `columnMoving` event.
177
+ */
178
+ export interface ApexColumnMovingEvent<T extends object> {
179
+ /**
180
+ * The column being moved.
181
+ */
182
+ key: Keys<T>;
183
+ /**
184
+ * The current index of the moving column in {@link ApexGrid.columns}.
185
+ */
186
+ fromIndex: number;
187
+ /**
188
+ * The target column key. The dragged column will be placed `position`
189
+ * (before/after) this column.
190
+ */
191
+ toKey: Keys<T>;
192
+ /**
193
+ * Whether the dragged column is being placed before or after `toKey`.
194
+ */
195
+ position: ColumnDropPosition;
196
+ }
197
+ /**
198
+ * Event payload for the `columnMoved` event.
199
+ */
200
+ export interface ApexColumnMovedEvent<T extends object> {
201
+ /**
202
+ * The column that was moved.
203
+ */
204
+ key: Keys<T>;
205
+ /**
206
+ * The original index in {@link ApexGrid.columns}.
207
+ */
208
+ fromIndex: number;
209
+ /**
210
+ * The resolved index in {@link ApexGrid.columns} after the move.
211
+ */
212
+ toIndex: number;
213
+ }
214
+ /**
215
+ * Event payload for the cancellable `rowSelecting` event.
216
+ */
217
+ export interface ApexRowSelectingEvent<T extends object> {
218
+ /**
219
+ * The rows that will become selected by this change.
220
+ */
221
+ added: T[];
222
+ /**
223
+ * The rows that will become deselected by this change.
224
+ */
225
+ removed: T[];
226
+ /**
227
+ * The full current selection before this change is applied.
228
+ */
229
+ current: T[];
230
+ /**
231
+ * The full selection after this change would be applied. Listeners can
232
+ * inspect this to decide whether to cancel.
233
+ */
234
+ next: T[];
235
+ }
236
+ /**
237
+ * Event payload for the `rowSelected` event.
238
+ */
239
+ export interface ApexRowSelectedEvent<T extends object> {
240
+ /**
241
+ * The rows that became selected in this change.
242
+ */
243
+ added: T[];
244
+ /**
245
+ * The rows that became deselected in this change.
246
+ */
247
+ removed: T[];
248
+ /**
249
+ * The full current selection after the change has been applied.
250
+ */
251
+ selected: T[];
252
+ }
253
+ /**
254
+ * Event payload for the cancellable `treeRowExpanding` event.
255
+ */
256
+ export interface ApexTreeRowExpandingEvent<T extends object> {
257
+ /** Rows that will become expanded by this change. */
258
+ added: T[];
259
+ /** Rows that will become collapsed by this change. */
260
+ removed: T[];
261
+ /** The full current tree-expansion set before this change is applied. */
262
+ current: T[];
263
+ /** The full set after this change would be applied. */
264
+ next: T[];
265
+ }
266
+ /**
267
+ * Event payload for the `treeRowExpanded` event.
268
+ */
269
+ export interface ApexTreeRowExpandedEvent<T extends object> {
270
+ /** Rows that became expanded in this change. */
271
+ added: T[];
272
+ /** Rows that became collapsed in this change. */
273
+ removed: T[];
274
+ /** The full tree-expansion set after the change has been applied. */
275
+ expanded: T[];
276
+ }
277
+ /**
278
+ * Event payload for the cancellable `rowExpanding` event.
279
+ */
280
+ export interface ApexRowExpandingEvent<T extends object> {
281
+ /** The rows that will become expanded by this change. */
282
+ added: T[];
283
+ /** The rows that will become collapsed by this change. */
284
+ removed: T[];
285
+ /** The full current expansion set before this change is applied. */
286
+ current: T[];
287
+ /**
288
+ * The full expansion set after this change would be applied. Listeners can
289
+ * inspect this to decide whether to cancel.
290
+ */
291
+ next: T[];
292
+ }
293
+ /**
294
+ * Event payload for the `rowExpanded` event.
295
+ */
296
+ export interface ApexRowExpandedEvent<T extends object> {
297
+ /** The rows that became expanded in this change. */
298
+ added: T[];
299
+ /** The rows that became collapsed in this change. */
300
+ removed: T[];
301
+ /** The full expansion set after the change has been applied. */
302
+ expanded: T[];
303
+ }
304
+ /**
305
+ * Event payload for the cancellable `columnPinning` event.
306
+ */
307
+ export interface ApexColumnPinningEvent<T extends object> {
308
+ /**
309
+ * The target column key.
310
+ */
311
+ key: Keys<T>;
312
+ /**
313
+ * The current pin position before the change (`null` if unpinned).
314
+ */
315
+ previous: PinPosition;
316
+ /**
317
+ * The proposed pin position (`null` to unpin).
318
+ */
319
+ next: PinPosition;
320
+ }
321
+ /**
322
+ * Event payload for the `columnPinned` event.
323
+ */
324
+ export interface ApexColumnPinnedEvent<T extends object> {
325
+ /**
326
+ * The target column key.
327
+ */
328
+ key: Keys<T>;
329
+ /**
330
+ * The resolved pin position after the change.
331
+ */
332
+ pinned: PinPosition;
333
+ }
334
+ /**
335
+ * Events for the apex-grid.
336
+ */
337
+ export interface ApexGridEventMap<T extends object> {
338
+ /**
339
+ * Emitted when sorting is initiated through the UI.
340
+ * Returns the sort expression which will be used for the operation.
341
+ *
342
+ * @remarks
343
+ * The event is cancellable which prevents the operation from being applied.
344
+ * The expression can be modified prior to the operation running.
345
+ *
346
+ * @event
347
+ */
348
+ sorting: CustomEvent<SortExpression<T>>;
349
+ /**
350
+ * Emitted when a sort operation initiated through the UI has completed.
351
+ * Returns the sort expression used for the operation.
352
+ *
353
+ * @event
354
+ */
355
+ sorted: CustomEvent<SortExpression<T>>;
356
+ /**
357
+ * Emitted when filtering is initiated through the UI.
358
+ *
359
+ * @remarks
360
+ * The event is cancellable which prevents the operation from being applied.
361
+ * The expression can be modified prior to the operation running.
362
+ *
363
+ * @event
364
+ */
365
+ filtering: CustomEvent<ApexFilteringEvent<T>>;
366
+ /**
367
+ * Emitted when a filter operation initiated through the UI has completed.
368
+ * Returns the filter state for the affected column.
369
+ *
370
+ * @event
371
+ */
372
+ filtered: CustomEvent<ApexFilteredEvent<T>>;
373
+ /**
374
+ * Emitted before the grid navigates to a new page or applies a new page size.
375
+ *
376
+ * @remarks
377
+ * Cancellable — calling `preventDefault()` (or returning a falsy result from
378
+ * `addEventListener` synchronously) aborts the page change.
379
+ *
380
+ * @event
381
+ */
382
+ pageChanging: CustomEvent<ApexPageChangingEvent>;
383
+ /**
384
+ * Emitted after a page or page-size change has been applied and the pipeline has run.
385
+ *
386
+ * @event
387
+ */
388
+ pageChanged: CustomEvent<ApexPageChangedEvent>;
389
+ /**
390
+ * Emitted before the quick-filter value is applied.
391
+ *
392
+ * @remarks
393
+ * Cancellable — calling `preventDefault()` aborts the change. The value can
394
+ * be replaced inside the listener by reassigning {@link ApexGrid.quickFilter}.
395
+ *
396
+ * @event
397
+ */
398
+ quickFilterChanging: CustomEvent<ApexQuickFilterChangingEvent>;
399
+ /**
400
+ * Emitted after a quick-filter change has been applied and the pipeline has run.
401
+ *
402
+ * @event
403
+ */
404
+ quickFilterChanged: CustomEvent<ApexQuickFilterChangedEvent>;
405
+ /**
406
+ * Emitted before a column's pin position changes.
407
+ *
408
+ * @remarks
409
+ * Cancellable — calling `preventDefault()` aborts the change.
410
+ *
411
+ * @event
412
+ */
413
+ columnPinning: CustomEvent<ApexColumnPinningEvent<T>>;
414
+ /**
415
+ * Emitted after a column's pin position change has been applied.
416
+ *
417
+ * @event
418
+ */
419
+ columnPinned: CustomEvent<ApexColumnPinnedEvent<T>>;
420
+ /**
421
+ * Emitted before a column is moved through the UI or {@link ApexGrid.moveColumn}.
422
+ *
423
+ * @remarks
424
+ * Cancellable — calling `preventDefault()` aborts the move. The event detail
425
+ * carries the source column key, its current array index, the target column
426
+ * key and the drop position.
427
+ *
428
+ * @event
429
+ */
430
+ columnMoving: CustomEvent<ApexColumnMovingEvent<T>>;
431
+ /**
432
+ * Emitted after a column has been moved.
433
+ *
434
+ * @event
435
+ */
436
+ columnMoved: CustomEvent<ApexColumnMovedEvent<T>>;
437
+ /**
438
+ * Emitted before a cell value is committed.
439
+ *
440
+ * @remarks
441
+ * Cancellable — `preventDefault()` rolls back the candidate value. In row
442
+ * edit mode the event still fires per-cell at commit time.
443
+ *
444
+ * @event
445
+ */
446
+ cellValueChanging: CustomEvent<ApexCellValueChangingEvent<T>>;
447
+ /**
448
+ * Emitted after a cell value has been committed.
449
+ *
450
+ * @event
451
+ */
452
+ cellValueChanged: CustomEvent<ApexCellValueChangedEvent<T>>;
453
+ /**
454
+ * Emitted when a row enters edit mode (row edit mode only).
455
+ *
456
+ * @event
457
+ */
458
+ rowEditStarted: CustomEvent<ApexRowEditStartedEvent>;
459
+ /**
460
+ * Emitted when a row leaves edit mode, with `committed` reporting whether
461
+ * pending edits were applied (row edit mode only).
462
+ *
463
+ * @event
464
+ */
465
+ rowEditEnded: CustomEvent<ApexRowEditEndedEvent>;
466
+ /**
467
+ * Emitted before the row selection set changes.
468
+ *
469
+ * @remarks
470
+ * Cancellable — calling `preventDefault()` aborts the selection change.
471
+ * Fires for every selection-mutating call (toggle, range select, select-all,
472
+ * programmatic `selectedRows = ...`).
473
+ *
474
+ * @event
475
+ */
476
+ /**
477
+ * Emitted before the tree-row expansion set changes.
478
+ *
479
+ * @remarks
480
+ * Fires only when {@link ApexGrid.tree} is enabled and a row's tree
481
+ * expansion is toggled (via the chevron, the public API, or
482
+ * `expand-all/collapse-all`). Cancellable.
483
+ *
484
+ * @event
485
+ */
486
+ treeRowExpanding: CustomEvent<ApexTreeRowExpandingEvent<T>>;
487
+ /**
488
+ * Emitted after a tree-row expansion change has been applied.
489
+ *
490
+ * @event
491
+ */
492
+ treeRowExpanded: CustomEvent<ApexTreeRowExpandedEvent<T>>;
493
+ /**
494
+ * Emitted before the row expansion set changes.
495
+ *
496
+ * @remarks
497
+ * Cancellable — calling `preventDefault()` aborts the change. Fires for
498
+ * every expansion-mutating call (toggle, expand-all, programmatic
499
+ * `expandedRows = ...`).
500
+ *
501
+ * @event
502
+ */
503
+ rowExpanding: CustomEvent<ApexRowExpandingEvent<T>>;
504
+ /**
505
+ * Emitted after a row-expansion change has been applied.
506
+ *
507
+ * @event
508
+ */
509
+ rowExpanded: CustomEvent<ApexRowExpandedEvent<T>>;
510
+ rowSelecting: CustomEvent<ApexRowSelectingEvent<T>>;
511
+ /**
512
+ * Emitted after a row-selection change has been applied.
513
+ *
514
+ * @event
515
+ */
516
+ rowSelected: CustomEvent<ApexRowSelectedEvent<T>>;
517
+ }
518
+ /**
519
+ * Apex grid is a web component for displaying data in a tabular format quick and easy.
520
+ *
521
+ * Out of the box it provides row virtualization, sort and filter operations (client and server side),
522
+ * the ability to template cells and headers and column hiding.
523
+ *
524
+ * @remarks
525
+ * A working, styled grid requires four setup steps:
526
+ * 1. Register the element: `import 'apex-grid/define'` (or `ApexGrid.register()`).
527
+ * 2. Configure an Ignite UI theme + import the matching CSS, e.g.
528
+ * `import { configureTheme } from 'igniteui-webcomponents';`
529
+ * `import 'igniteui-webcomponents/themes/light/bootstrap.css';`
530
+ * `configureTheme('bootstrap');`
531
+ * 3. Give the host element a bounded height, e.g. `apex-grid { height: 480px }` —
532
+ * the virtualizer collapses without one.
533
+ * 4. Do NOT set `display` on the host — the component declares `:host { display: grid }`
534
+ * internally and any override breaks the track layout.
535
+ *
536
+ * See the README "Getting Started" section for the full example.
537
+ *
538
+ * @element apex-grid
539
+ *
540
+ * @fires sorting - Emitted when sorting is initiated through the UI.
541
+ * @fires sorted - Emitted when a sort operation initiated through the UI has completed.
542
+ * @fires filtering - Emitted when filtering is initiated through the UI.
543
+ * @fires filtered - Emitted when a filter operation initiated through the UI has completed.
544
+ * @fires pageChanging - Cancellable. Emitted before page/page-size changes are applied.
545
+ * @fires pageChanged - Emitted after a page/page-size change has been applied.
546
+ * @fires quickFilterChanging - Cancellable. Emitted before a quick-filter value is applied.
547
+ * @fires quickFilterChanged - Emitted after a quick-filter change has been applied.
548
+ * @fires columnPinning - Cancellable. Emitted before a column's pin position changes.
549
+ * @fires columnPinned - Emitted after a column's pin position has changed.
550
+ * @fires columnMoving - Cancellable. Emitted before a column is moved.
551
+ * @fires columnMoved - Emitted after a column has been moved.
552
+ * @fires cellValueChanging - Cancellable. Emitted before a cell value is committed.
553
+ * @fires cellValueChanged - Emitted after a cell value has been committed.
554
+ * @fires rowEditStarted - Emitted when a row enters edit mode (row mode only).
555
+ * @fires rowEditEnded - Emitted when a row leaves edit mode (row mode only).
556
+ * @fires rowSelecting - Cancellable. Emitted before a selection-set change is applied.
557
+ * @fires rowSelected - Emitted after a selection-set change has been applied.
558
+ *
559
+ */
560
+ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGridEventMap<T>> {
561
+ static get tagName(): "apex-grid";
562
+ static styles: import("lit").CSSResult;
563
+ /**
564
+ * Registers `<apex-grid>` and its internal dependencies with the custom-element
565
+ * registry. Idempotent — safe to call more than once.
566
+ *
567
+ * @remarks
568
+ * Registering the element is only step one of four required for a visible, styled
569
+ * grid. You must also configure an Ignite UI theme + CSS, give the host a bounded
570
+ * height, and avoid overriding `display` on the host. See the README
571
+ * "Getting Started" section for the full setup.
572
+ */
573
+ static register(): void;
574
+ protected stateController: StateController<T>;
575
+ protected DOM: GridDOMController<T>;
576
+ protected dataController: DataOperationsController<T>;
577
+ protected stateProvider: ContextProvider<{
578
+ __context__: StateController<any>;
579
+ }, this>;
580
+ protected scrollContainer: ApexVirtualizer;
581
+ protected headerRow: ApexGridHeaderRow<T>;
582
+ protected filterRow: ApexFilterRow<T>;
583
+ protected paginator: ApexGridPaginator<T>;
584
+ protected toolbar: ApexGridToolbar<T>;
585
+ protected dataState: Array<T>;
586
+ protected _rows: NodeListOf<ApexGridRow<T>>;
587
+ /** Column configuration for the grid. */
588
+ columns: Array<ColumnConfiguration<T>>;
589
+ /** The data source for the grid. */
590
+ data: Array<T>;
591
+ /**
592
+ * Whether the grid will try to "resolve" its column configuration based on the passed
593
+ * data source.
594
+ *
595
+ * @remarks
596
+ * This is usually executed on initial rendering in the DOM. It depends on having an existing data source
597
+ * to infer the column configuration for the grid.
598
+ * Passing an empty data source or having a late bound data source (such as a HTTP request) will usually
599
+ * result in empty column configuration for the grid.
600
+ *
601
+ * This property is ignored if any existing column configuration already exists in the grid.
602
+ *
603
+ * In a scenario where you want to bind a new data source and still keep the auto-generation behavior,
604
+ * make sure to reset the column collection of the grid before passing in the new data source.
605
+ *
606
+ * @example
607
+ * ```typescript
608
+ * // assuming autoGenerate is set to true
609
+ * grid.columns = [];
610
+ * grid.data = [...];
611
+ * ```
612
+ *
613
+ * @attr auto-generate
614
+ */
615
+ autoGenerate: boolean;
616
+ /** Sort configuration property for the grid. */
617
+ sortConfiguration: GridSortConfiguration;
618
+ /**
619
+ * Configuration object which controls remote data operations for the grid.
620
+ */
621
+ dataPipelineConfiguration: DataPipelineConfiguration<T>;
622
+ /**
623
+ * Pagination configuration for the grid.
624
+ *
625
+ * @remarks
626
+ * Pagination is disabled by default. Set `enabled: true` and (optionally) `pageSize`
627
+ * to render the built-in `<apex-grid-paginator>` and slice the dataView. For
628
+ * server-side pagination set `mode: 'remote'` and supply `totalItems`. The grid
629
+ * emits the cancellable `pageChanging` event before applying a change and the
630
+ * `pageChanged` event after the pipeline has run.
631
+ *
632
+ * @example
633
+ * ```ts
634
+ * grid.pagination = { enabled: true, pageSize: 25 };
635
+ * grid.addEventListener('pageChanged', (event) => {
636
+ * console.log('Now on page', event.detail.page, 'of', event.detail.pageCount);
637
+ * });
638
+ * ```
639
+ */
640
+ pagination?: PaginationConfiguration;
641
+ /**
642
+ * The quick-filter (global search) value applied to the dataView.
643
+ *
644
+ * @remarks
645
+ * When non-empty, the grid filters records whose visible-column values contain
646
+ * the term (case-insensitive substring match). Customise by providing
647
+ * {@link DataPipelineConfiguration.quickFilter}.
648
+ *
649
+ * @attr quick-filter
650
+ */
651
+ quickFilter: string;
652
+ /**
653
+ * Whether the built-in quick-filter input is rendered in the toolbar.
654
+ *
655
+ * @remarks
656
+ * The {@link ApexGrid.quickFilter} value can be controlled programmatically
657
+ * regardless of this flag; this only controls the toolbar input UI.
658
+ *
659
+ * @attr show-quick-filter
660
+ */
661
+ showQuickFilter: boolean;
662
+ /**
663
+ * Whether the built-in export menu is rendered in the toolbar.
664
+ *
665
+ * @remarks
666
+ * When `true`, the toolbar shows a download button on the trailing side;
667
+ * clicking it opens a menu with "Export CSV" and "Export XLSX" entries
668
+ * that call {@link ApexGrid.exportToCSV} and {@link ApexGrid.exportToXLSX}
669
+ * respectively. Both methods remain callable programmatically regardless
670
+ * of this flag.
671
+ *
672
+ * @attr show-export
673
+ */
674
+ showExport: boolean;
675
+ /**
676
+ * Enables drag-and-drop column reordering on the column headers.
677
+ *
678
+ * @remarks
679
+ * Per-column opt-out is available through {@link BaseColumnConfiguration.reorderable}.
680
+ * Reordering is constrained to a column's own pinning group — start-pinned
681
+ * columns can only swap with start-pinned, unpinned with unpinned, and
682
+ * end-pinned with end-pinned.
683
+ *
684
+ * @attr column-reordering
685
+ */
686
+ columnReordering: boolean;
687
+ /**
688
+ * Inline editing configuration for the grid.
689
+ *
690
+ * @remarks
691
+ * Editing is disabled by default. Set `enabled: true` and (optionally) `mode`
692
+ * (`'cell' | 'row'`) and `trigger` (`'click' | 'doubleClick'`) to opt in.
693
+ * Per-column opt-in is required via {@link BaseColumnConfiguration.editable}.
694
+ *
695
+ * @example
696
+ * ```ts
697
+ * grid.editing = { enabled: true, mode: 'cell', trigger: 'doubleClick' };
698
+ * ```
699
+ */
700
+ editing?: GridEditingConfiguration;
701
+ /**
702
+ * Row selection configuration for the grid.
703
+ *
704
+ * @remarks
705
+ * Selection is disabled by default. Set `enabled: true` and (optionally)
706
+ * `mode` (`'single' | 'multiple'`) and `showCheckboxColumn` to opt in.
707
+ *
708
+ * @example
709
+ * ```ts
710
+ * grid.selection = { enabled: true, mode: 'multiple', showCheckboxColumn: true };
711
+ * ```
712
+ */
713
+ selection?: GridSelectionConfiguration;
714
+ /**
715
+ * The currently selected rows, in insertion order.
716
+ *
717
+ * @remarks
718
+ * Returned as a plain array snapshot — mutating the returned array does
719
+ * not change the grid's selection. Set this property to replace the
720
+ * selection programmatically (goes through the cancellable
721
+ * `rowSelecting` event).
722
+ */
723
+ get selectedRows(): T[];
724
+ set selectedRows(rows: ReadonlyArray<T>);
725
+ /**
726
+ * Selects `row`, replacing the existing selection in `'single'` mode or
727
+ * adding to it in `'multiple'` mode.
728
+ *
729
+ * @returns `true` if the selection changed, `false` if the change was
730
+ * rejected by a `rowSelecting` listener or selection is disabled.
731
+ */
732
+ selectRow(row: T): Promise<boolean>;
733
+ /**
734
+ * Deselects `row`. No-op if `row` is not currently selected.
735
+ */
736
+ deselectRow(row: T): Promise<boolean>;
737
+ /**
738
+ * Toggles selection of `row`.
739
+ */
740
+ toggleRowSelection(row: T): Promise<boolean>;
741
+ /**
742
+ * Selects every row in the current view ({@link dataView}). No-op in
743
+ * `'single'` selection mode.
744
+ */
745
+ selectAllRows(): Promise<boolean>;
746
+ /**
747
+ * Clears the row selection.
748
+ */
749
+ clearSelection(): Promise<boolean>;
750
+ /**
751
+ * Whether `row` is currently selected.
752
+ */
753
+ isRowSelected(row: T): boolean;
754
+ /**
755
+ * Row-expansion (master-detail) configuration for the grid.
756
+ *
757
+ * @remarks
758
+ * Expansion is disabled by default. Set `enabled: true` and supply a
759
+ * `detailTemplate` to opt in. The default UX renders a chevron toggle in a
760
+ * dedicated leading column; set `showToggleColumn: false` to drive
761
+ * expansion entirely through the public API or a custom cell template.
762
+ *
763
+ * @example
764
+ * ```ts
765
+ * grid.expansion = {
766
+ * enabled: true,
767
+ * detailTemplate: ({ data }) => html`<order-summary .order=${data}></order-summary>`,
768
+ * };
769
+ * ```
770
+ */
771
+ expansion?: GridExpansionConfiguration<T>;
772
+ /**
773
+ * The currently expanded rows, in insertion order.
774
+ *
775
+ * @remarks
776
+ * Returned as a plain array snapshot — mutating the returned array does
777
+ * not change the grid's expansion state. Set this property to replace the
778
+ * expansion set programmatically (goes through the cancellable
779
+ * `rowExpanding` event).
780
+ */
781
+ get expandedRows(): T[];
782
+ set expandedRows(rows: ReadonlyArray<T>);
783
+ /**
784
+ * Expands `row`. No-op when the row is already expanded, expansion is
785
+ * disabled, or the optional `isExpandable` predicate rejects it.
786
+ */
787
+ expandRow(row: T): Promise<boolean>;
788
+ /**
789
+ * Collapses `row`. No-op when the row is not currently expanded.
790
+ */
791
+ collapseRow(row: T): Promise<boolean>;
792
+ /**
793
+ * Toggles expansion of `row`.
794
+ */
795
+ toggleRowExpansion(row: T): Promise<boolean>;
796
+ /**
797
+ * Expands every row in {@link ApexGrid.dataView} that passes the optional
798
+ * `isExpandable` predicate.
799
+ */
800
+ expandAllRows(): Promise<boolean>;
801
+ /**
802
+ * Collapses every currently expanded row.
803
+ */
804
+ collapseAllRows(): Promise<boolean>;
805
+ /**
806
+ * Whether `row` is currently expanded.
807
+ */
808
+ isRowExpanded(row: T): boolean;
809
+ /**
810
+ * Tree-data (nested rows) configuration for the grid.
811
+ *
812
+ * @remarks
813
+ * Tree mode keeps {@link ApexGrid.data} flat; the grid derives the
814
+ * hierarchy from a user-supplied `getDataPath(row)` callback (AG Grid's
815
+ * "tree data" pattern). When enabled, the first visible data column (or
816
+ * the column referenced by `groupColumnKey`) renders a chevron toggle
817
+ * and depth-based indentation.
818
+ *
819
+ * @example
820
+ * ```ts
821
+ * grid.tree = {
822
+ * enabled: true,
823
+ * getDataPath: (row) => row.path, // e.g., ['Adrian'], ['Adrian', 'Bryan']
824
+ * defaultExpanded: true,
825
+ * };
826
+ * ```
827
+ */
828
+ tree?: GridTreeConfiguration<T>;
829
+ /**
830
+ * Toggles tree-expansion of `row`. No-op when tree mode is disabled or
831
+ * the row has no children.
832
+ */
833
+ toggleTreeRow(row: T): Promise<boolean>;
834
+ /**
835
+ * Expands a tree row. No-op when the row is already expanded, has no
836
+ * children, or tree mode is disabled.
837
+ */
838
+ expandTreeRow(row: T): Promise<boolean>;
839
+ /**
840
+ * Collapses a tree row. No-op when the row is not currently expanded.
841
+ */
842
+ collapseTreeRow(row: T): Promise<boolean>;
843
+ /** Expands every parent row in the current tree. */
844
+ expandAllTreeRows(): Promise<boolean>;
845
+ /** Collapses every currently-expanded tree row. */
846
+ collapseAllTreeRows(): Promise<boolean>;
847
+ /** Whether `row` is currently expanded in the tree. */
848
+ isTreeRowExpanded(row: T): boolean;
849
+ /**
850
+ * Set the sort state for the grid.
851
+ */
852
+ set sortExpressions(expressions: SortExpression<T>[]);
853
+ /**
854
+ * Get the sort state for the grid.
855
+ */
856
+ get sortExpressions(): SortExpression<T>[];
857
+ /**
858
+ * Set the filter state for the grid.
859
+ */
860
+ set filterExpressions(expressions: FilterExpression<T>[]);
861
+ /**
862
+ * Get the filter state for the grid.
863
+ */
864
+ get filterExpressions(): FilterExpression<T>[];
865
+ /**
866
+ * Returns the collection of rendered row elements in the grid.
867
+ *
868
+ * @remarks
869
+ * Since the grid has virtualization, this property returns only the currently rendered
870
+ * chunk of elements in the DOM.
871
+ */
872
+ get rows(): ApexGridRow<T>[];
873
+ /**
874
+ * Returns the state of the data source after sort/filter operations
875
+ * have been applied.
876
+ */
877
+ get dataView(): ReadonlyArray<T>;
878
+ /**
879
+ * The columns in visual render order: `'start'`-pinned columns first, then
880
+ * unpinned columns, then `'end'`-pinned columns.
881
+ *
882
+ * @remarks
883
+ * Use this when you need to iterate the columns in the same order the grid
884
+ * actually displays them (for example to build a column chooser). Public APIs
885
+ * like {@link ApexGrid.getColumn} continue to operate on the user-supplied
886
+ * {@link ApexGrid.columns} array.
887
+ */
888
+ get displayColumns(): ReadonlyArray<ColumnConfiguration<T>>;
889
+ /**
890
+ * The total number of items in the {@link ApexGrid.dataView} collection.
891
+ *
892
+ * @remarks
893
+ * This is always the post-filter, post-sort row count — pagination does not change it.
894
+ * Use {@link ApexGrid.pageItems} to read the rows currently rendered into the body.
895
+ */
896
+ get totalItems(): number;
897
+ /**
898
+ * The records currently rendered into the virtualized body.
899
+ *
900
+ * @remarks
901
+ * Equal to {@link ApexGrid.dataView} when pagination is disabled. With pagination
902
+ * enabled (`'local'` mode) this is the active page slice.
903
+ */
904
+ get pageItems(): ReadonlyArray<T>;
905
+ /**
906
+ * The current zero-based page index.
907
+ */
908
+ get page(): number;
909
+ set page(value: number);
910
+ /**
911
+ * The current page size.
912
+ */
913
+ get pageSize(): number;
914
+ set pageSize(value: number);
915
+ /**
916
+ * The total number of pages computed from {@link ApexGrid.totalItems} and {@link ApexGrid.pageSize}.
917
+ */
918
+ get pageCount(): number;
919
+ protected watchColumns(_: ColumnConfiguration<T>[], newConfig?: ColumnConfiguration<T>[]): void;
920
+ protected dataChanged(): void;
921
+ protected pipeline(): Promise<void>;
922
+ protected paginationChanged(): void;
923
+ protected quickFilterChanged(): void;
924
+ constructor();
925
+ protected updated(): void;
926
+ protected firstUpdated(): void;
927
+ /**
928
+ * Performs a filter operation in the grid based on the passed expression(s).
929
+ */
930
+ filter(config: FilterExpression<T> | FilterExpression<T>[]): void;
931
+ /**
932
+ * Performs a sort operation in the grid based on the passed expression(s).
933
+ */
934
+ sort(expressions: SortExpression<T> | SortExpression<T>[]): void;
935
+ /**
936
+ * Resets the current sort state of the control.
937
+ */
938
+ clearSort(key?: Keys<T>): void;
939
+ /**
940
+ * Resets the current filter state of the control.
941
+ */
942
+ clearFilter(key?: Keys<T>): void;
943
+ /**
944
+ * Navigates the grid to the given zero-based `page` index.
945
+ *
946
+ * @remarks
947
+ * Emits the cancellable `pageChanging` event before applying the change and the
948
+ * `pageChanged` event after. Out-of-range values are clamped into `[0, pageCount - 1]`.
949
+ *
950
+ * @param page - The target zero-based page index.
951
+ * @returns `true` if the change was applied, `false` if cancelled or a no-op.
952
+ *
953
+ * @example
954
+ * ```ts
955
+ * await grid.gotoPage(2);
956
+ * ```
957
+ */
958
+ gotoPage(page: number): Promise<boolean>;
959
+ /**
960
+ * Updates the grid's page size and returns to the first page.
961
+ *
962
+ * @remarks
963
+ * Emits the cancellable `pageChanging` event before applying the change and the
964
+ * `pageChanged` event after.
965
+ *
966
+ * @param size - The new page size (must be a positive integer).
967
+ * @returns `true` if the change was applied, `false` if cancelled or a no-op.
968
+ */
969
+ setPageSize(size: number): Promise<boolean>;
970
+ /**
971
+ * Navigates to the next page. No-op if already on the last page.
972
+ */
973
+ nextPage(): Promise<boolean>;
974
+ /**
975
+ * Navigates to the previous page. No-op if already on the first page.
976
+ */
977
+ previousPage(): Promise<boolean>;
978
+ /**
979
+ * Navigates to the first page.
980
+ */
981
+ firstPage(): Promise<boolean>;
982
+ /**
983
+ * Navigates to the last page.
984
+ */
985
+ lastPage(): Promise<boolean>;
986
+ /**
987
+ * Applies a new quick-filter (global search) value, emitting the cancellable
988
+ * `quickFilterChanging` event first and the `quickFilterChanged` event after the
989
+ * pipeline has run.
990
+ *
991
+ * @param value - The new quick-filter value. Pass `''` to clear.
992
+ * @returns `true` if the change was applied, `false` if cancelled or a no-op.
993
+ *
994
+ * @example
995
+ * ```ts
996
+ * await grid.setQuickFilter('john');
997
+ * ```
998
+ */
999
+ setQuickFilter(value: string): Promise<boolean>;
1000
+ /**
1001
+ * Returns a {@link ColumnConfiguration} for a given column.
1002
+ */
1003
+ getColumn(id: Keys<T> | number): ColumnConfiguration<T> | undefined;
1004
+ /**
1005
+ * Updates the column configuration of the grid.
1006
+ *
1007
+ * @remarks
1008
+ * Each updated column is replaced with a fresh object reference so that cells
1009
+ * and headers re-render with the new template / configuration. The
1010
+ * user-supplied `columns` array is also reassigned for Lit reactivity.
1011
+ */
1012
+ updateColumns(columns: ColumnConfiguration<T> | ColumnConfiguration<T>[]): void;
1013
+ /**
1014
+ * Pins a column to one of the grid's edges, or unpins it when `position` is `null`.
1015
+ *
1016
+ * @remarks
1017
+ * Emits the cancellable `columnPinning` event first and the `columnPinned`
1018
+ * event after the update is applied. The user-supplied {@link ApexGrid.columns}
1019
+ * array is not reordered — only the visual render order changes.
1020
+ *
1021
+ * @param key - The target column key.
1022
+ * @param position - `'start'`, `'end'`, or `null` to unpin.
1023
+ * @returns `true` if the change was applied, `false` if cancelled or a no-op.
1024
+ *
1025
+ * @example
1026
+ * ```ts
1027
+ * await grid.pinColumn('name', 'start');
1028
+ * await grid.pinColumn('actions', 'end');
1029
+ * ```
1030
+ */
1031
+ pinColumn(key: Keys<T>, position: PinPosition): Promise<boolean>;
1032
+ /**
1033
+ * Unpins a column. Equivalent to {@link ApexGrid.pinColumn}(`key`, `null`).
1034
+ *
1035
+ * @param key - The target column key.
1036
+ * @returns `true` if the change was applied, `false` if the column was already
1037
+ * unpinned or the operation was cancelled.
1038
+ */
1039
+ unpinColumn(key: Keys<T>): Promise<boolean>;
1040
+ /**
1041
+ * The cell currently in edit mode, or `null`.
1042
+ */
1043
+ get editingCell(): {
1044
+ rowIndex: number;
1045
+ columnKey: Keys<T>;
1046
+ } | null;
1047
+ /**
1048
+ * The view-relative index of the row currently in edit mode (row edit mode
1049
+ * only), or `null`.
1050
+ */
1051
+ get editingRow(): number | null;
1052
+ /**
1053
+ * Begins editing the cell at `(rowIndex, columnKey)`.
1054
+ *
1055
+ * @remarks
1056
+ * `rowIndex` is the view-relative index (matches {@link ApexGrid.pageItems}).
1057
+ * Returns `false` when the column isn't editable, the row index is out of
1058
+ * range, or the request was rejected (for example in row mode with pending
1059
+ * changes that couldn't be committed).
1060
+ */
1061
+ editCell(rowIndex: number, columnKey: Keys<T>): Promise<boolean>;
1062
+ /**
1063
+ * Begins editing the entire row at `rowIndex` (row edit mode only).
1064
+ *
1065
+ * @returns `false` when editing is disabled, the grid is in cell mode, or
1066
+ * the row index is out of range.
1067
+ */
1068
+ editRow(rowIndex: number): Promise<boolean>;
1069
+ /**
1070
+ * Commits the current edit.
1071
+ *
1072
+ * @remarks
1073
+ * In cell mode this writes the active cell's pending value. In row mode it
1074
+ * flushes all pending values for the active row. Emits `cellValueChanging`
1075
+ * per changed cell (cancellable) and `cellValueChanged` after, followed by
1076
+ * `rowEditEnded` in row mode.
1077
+ */
1078
+ commitEdit(): Promise<boolean>;
1079
+ /**
1080
+ * Discards the current edit without writing back to {@link ApexGrid.data}.
1081
+ */
1082
+ cancelEdit(): void;
1083
+ /**
1084
+ * Exports the current grid contents as a CSV string and (in a browser
1085
+ * context) triggers a download.
1086
+ *
1087
+ * @remarks
1088
+ * By default the export uses the post-filter/post-sort `dataView`, includes
1089
+ * every visible column with `exportable !== false`, and prepends a UTF-8 BOM
1090
+ * so Excel opens the file with the right encoding. Pass `source: 'page'` to
1091
+ * export only the current page, `source: 'selected'` to export the current
1092
+ * row selection, or `source: 'all'` to export the raw `data` array. The
1093
+ * returned string is the same content written to the file — useful for
1094
+ * tests or routing the bytes elsewhere.
1095
+ *
1096
+ * @example
1097
+ * ```ts
1098
+ * grid.exportToCSV(); // download data.csv
1099
+ * grid.exportToCSV({ filename: 'users', source: 'selected' });
1100
+ * const text = grid.exportToCSV({ filename: '' }); // string only, no download
1101
+ * ```
1102
+ */
1103
+ exportToCSV(options?: CSVExportOptions<T>): string;
1104
+ /**
1105
+ * Exports the current grid contents as an `.xlsx` workbook and (in a browser
1106
+ * context) triggers a download.
1107
+ *
1108
+ * @remarks
1109
+ * Produces a single-sheet workbook with a bold header row. Numbers, booleans
1110
+ * and `Date` values keep their native cell type in Excel; everything else is
1111
+ * written as inline strings. Sharing the same `source` / `columns` /
1112
+ * `formatter` options as {@link ApexGrid.exportToCSV}, plus an optional
1113
+ * `sheetName`. Pass `filename: ''` to skip the download and only receive
1114
+ * the bytes back.
1115
+ *
1116
+ * @example
1117
+ * ```ts
1118
+ * grid.exportToXLSX();
1119
+ * grid.exportToXLSX({ filename: 'users', sheetName: 'Users' });
1120
+ * ```
1121
+ */
1122
+ exportToXLSX(options?: XLSXExportOptions<T>): Uint8Array;
1123
+ /**
1124
+ * Moves a column relative to another column.
1125
+ *
1126
+ * @remarks
1127
+ * Emits the cancellable `columnMoving` event first and `columnMoved` after.
1128
+ * Reordering only succeeds when the source and target columns share the same
1129
+ * pinning group (start / unpinned / end) — cross-group moves return `false`.
1130
+ * Use {@link ApexGrid.pinColumn} to change a column's pinning group first.
1131
+ *
1132
+ * @param fromKey - The column to move.
1133
+ * @param toKey - The reference column.
1134
+ * @param position - Whether to place `fromKey` before or after `toKey`. Defaults to `'before'`.
1135
+ * @returns `true` if the move was applied, `false` if cancelled or a no-op.
1136
+ *
1137
+ * @example
1138
+ * ```ts
1139
+ * await grid.moveColumn('email', 'name', 'after');
1140
+ * ```
1141
+ */
1142
+ moveColumn(fromKey: Keys<T>, toKey: Keys<T>, position?: ColumnDropPosition): Promise<boolean>;
1143
+ protected bodyClickHandler(event: MouseEvent): void;
1144
+ protected bodyKeydownHandler(event: KeyboardEvent): void;
1145
+ protected renderHeaderRow(): import("lit-html").TemplateResult<1>;
1146
+ protected renderBody(): import("lit-html").TemplateResult<1>;
1147
+ protected renderFilterRow(): typeof nothing | import("lit-html").TemplateResult<1>;
1148
+ protected renderToolbar(): typeof nothing | import("lit-html").TemplateResult<1>;
1149
+ protected renderPaginator(): typeof nothing | import("lit-html").TemplateResult<1>;
1150
+ /**
1151
+ * Renders a visually-hidden polite live region. Status messages set via
1152
+ * {@link announce} land here; screen readers will read them aloud without
1153
+ * stealing focus. We intentionally keep this in the shadow root so we
1154
+ * don't have to coordinate consumer DOM placement.
1155
+ */
1156
+ protected renderLiveRegion(): import("lit-html").TemplateResult<1>;
1157
+ protected render(): import("lit-html").TemplateResult<1>;
1158
+ /**
1159
+ * Sets the live region's announcement text. Screen readers configured to
1160
+ * read polite live updates will read the new value aloud.
1161
+ *
1162
+ * @remarks
1163
+ * Use this from custom UI affordances (e.g. an "Apply filter" button) so
1164
+ * the change is announced. Built-in operations (sort / filter / page /
1165
+ * select / expand) call this internally already.
1166
+ */
1167
+ announce(message: string): void;
1168
+ }
1169
+ declare global {
1170
+ interface HTMLElementTagNameMap {
1171
+ [ApexGrid.tagName]: ApexGrid<object>;
1172
+ }
1173
+ }