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
package/dist/bundle.js DELETED
@@ -1,2194 +0,0 @@
1
- import { css as b, LitElement as $, html as n, nothing as g } from "lit";
2
- import { createContext as Ne, consume as ne, ContextProvider as Pe } from "@lit-labs/context";
3
- import { property as o, queryAll as oe, query as S, state as He, eventOptions as We } from "lit/decorators.js";
4
- import { styleMap as N } from "lit/directives/style-map.js";
5
- import { map as be } from "lit/directives/map.js";
6
- import { registerIconFromText as Fe, IgcInputComponent as ye, IgcDropdownComponent as xe, defineComponents as Ue, IgcButtonComponent as Be, IgcChipComponent as je, IgcIconComponent as Ge } from "igniteui-webcomponents";
7
- import { LitVirtualizer as Ve } from "@lit-labs/virtualizer/LitVirtualizer.js";
8
- import { ifDefined as fe } from "lit/directives/if-defined.js";
9
- import { themes as Ze } from "igniteui-webcomponents/theming/theming-decorator.js";
10
- const Qe = "apex-grid", Ke = "apex-virtualizer", Xe = "apex-grid-header-row", Ye = "apex-grid-header", Je = "apex-grid-row", et = "apex-grid-cell", tt = "apex-filter-row", it = Symbol(), _ = "pipeline", ue = "arrow-upward", rt = "arrow-downward", we = 80, I = Object.freeze({ column: "", row: -1 }), G = Object.freeze({
11
- key: it,
12
- type: "string",
13
- resizable: !1,
14
- hidden: !1,
15
- sort: !1,
16
- filter: !1
17
- }), ve = /* @__PURE__ */ new Map([
18
- ["previous", I],
19
- ["current", I]
20
- ]);
21
- function x(t) {
22
- return t != null;
23
- }
24
- const at = Object.freeze({
25
- all: {
26
- name: "all",
27
- label: "All",
28
- unary: !0,
29
- logic: (t) => !0
30
- },
31
- true: {
32
- name: "true",
33
- label: "True",
34
- unary: !0,
35
- logic: (t) => t === !0
36
- },
37
- false: {
38
- name: "false",
39
- label: "False",
40
- unary: !0,
41
- logic: (t) => t === !1
42
- },
43
- empty: {
44
- name: "empty",
45
- label: "Empty",
46
- unary: !0,
47
- logic: (t) => !x(t)
48
- },
49
- notEmpty: {
50
- name: "notEmpty",
51
- label: "Not empty",
52
- unary: !0,
53
- logic: (t) => x(t)
54
- }
55
- }), st = Object.freeze({
56
- equals: {
57
- name: "equals",
58
- label: "Equals",
59
- unary: !1,
60
- logic: (t, e) => t === e
61
- },
62
- doesNotEqual: {
63
- name: "doesNotEqual",
64
- label: "Does not equal",
65
- unary: !1,
66
- logic: (t, e) => t !== e
67
- },
68
- greaterThan: {
69
- name: "greaterThan",
70
- label: "Greater than",
71
- unary: !1,
72
- logic: (t, e) => t > e
73
- },
74
- lessThan: {
75
- name: "lessThan",
76
- label: "Less than",
77
- unary: !1,
78
- logic: (t, e) => t < e
79
- },
80
- greaterThanOrEqual: {
81
- name: "greaterThanOrEqual",
82
- label: "Greater than or equal",
83
- unary: !1,
84
- logic: (t, e) => t >= e
85
- },
86
- lessThanOrEqual: {
87
- name: "lessThanOrEqual",
88
- label: "Less than or equal",
89
- unary: !1,
90
- logic: (t, e) => t <= e
91
- },
92
- empty: {
93
- name: "empty",
94
- label: "Empty",
95
- unary: !0,
96
- logic: (t) => !x(t) || isNaN(t)
97
- },
98
- notEmpty: {
99
- name: "notEmpty",
100
- label: "Not empty",
101
- unary: !0,
102
- logic: (t) => x(t) && !isNaN(t)
103
- }
104
- });
105
- function m(t, e) {
106
- return e ? t : t.toLowerCase();
107
- }
108
- const lt = Object.freeze({
109
- contains: {
110
- name: "contains",
111
- label: "Contains",
112
- unary: !1,
113
- logic: (t, e, i) => m(t, i).includes(m(e, i))
114
- },
115
- doesNotContain: {
116
- name: "doesNotContain",
117
- label: "Does not contain",
118
- unary: !1,
119
- logic: (t, e, i) => !m(t, i).includes(m(e, i))
120
- },
121
- startsWith: {
122
- name: "startsWith",
123
- label: "Starts with",
124
- unary: !1,
125
- logic: (t, e, i) => m(t, i).startsWith(m(e, i))
126
- },
127
- endsWith: {
128
- name: "endsWith",
129
- label: "Ends with",
130
- unary: !1,
131
- logic: (t, e, i) => m(t, i).endsWith(m(e, i))
132
- },
133
- equals: {
134
- name: "equals",
135
- label: "Equals",
136
- unary: !1,
137
- logic: (t, e, i) => m(t, i) === m(e, i)
138
- },
139
- doesNotEqual: {
140
- name: "doesNotEqual",
141
- label: "Does not equal",
142
- unary: !1,
143
- logic: (t, e, i) => m(t, i) !== m(e, i)
144
- },
145
- empty: {
146
- name: "empty",
147
- label: "Empty",
148
- unary: !0,
149
- logic: (t) => !x(t) || t.length < 1
150
- },
151
- notEmpty: {
152
- name: "notEmpty",
153
- label: "Not empty",
154
- unary: !0,
155
- logic: (t) => x(t) && t.length > 0
156
- }
157
- });
158
- function nt(t) {
159
- return {
160
- "grid-template-columns": t.filter((e) => !e.hidden).map(({ width: e }) => e ?? "minmax(136px, 1fr)").join(" ")
161
- };
162
- }
163
- function ot(t) {
164
- if (t.autoGenerate && t.columns.length < 1) {
165
- const e = t.data[0] ?? {};
166
- t.columns = Object.entries(e).map(([i, r]) => ({ key: i, type: typeof r == "boolean" ? "boolean" : typeof r == "number" ? "number" : "string" }));
167
- }
168
- }
169
- function E(t) {
170
- return Array.isArray(t) ? t : [t];
171
- }
172
- function W(t) {
173
- switch (t.type) {
174
- case "boolean":
175
- return at;
176
- case "number":
177
- return st;
178
- default:
179
- return lt;
180
- }
181
- }
182
- class dt {
183
- constructor(e) {
184
- this.key = e, this.operands = [];
185
- }
186
- get empty() {
187
- return this.operands.length < 1;
188
- }
189
- get length() {
190
- return this.operands.length;
191
- }
192
- get all() {
193
- return Array.from(this.iterator());
194
- }
195
- get ands() {
196
- return this.operands.filter((e) => e.criteria === "and");
197
- }
198
- get ors() {
199
- return this.operands.filter((e) => e.criteria === "or");
200
- }
201
- has(e) {
202
- return this.operands.includes(e);
203
- }
204
- add(e) {
205
- return e.criteria || (e.criteria = "and"), this.operands.includes(e) ? this : (this.operands.push(e), this);
206
- }
207
- remove(e) {
208
- return this.operands = this.operands.filter((i) => i !== e), this;
209
- }
210
- *iterator() {
211
- for (const e of this.operands)
212
- yield e;
213
- }
214
- [Symbol.iterator]() {
215
- return this.iterator();
216
- }
217
- }
218
- class ht {
219
- constructor() {
220
- this.state = /* @__PURE__ */ new Map();
221
- }
222
- get empty() {
223
- return this.state.size < 1;
224
- }
225
- get keys() {
226
- return Array.from(this.state.keys());
227
- }
228
- get values() {
229
- return Array.from(this.state.values());
230
- }
231
- get ands() {
232
- return this.values.map((e) => e.ands).flat();
233
- }
234
- get ors() {
235
- return this.values.map((e) => e.ors).flat();
236
- }
237
- has(e) {
238
- return this.state.has(e);
239
- }
240
- get(e) {
241
- return this.state.get(e);
242
- }
243
- delete(e) {
244
- return this.state.delete(e);
245
- }
246
- clear() {
247
- this.state.clear();
248
- }
249
- set(e) {
250
- if (this.has(e.key)) {
251
- this.get(e.key)?.add(e);
252
- return;
253
- }
254
- this.state.set(e.key, new dt(e.key).add(e));
255
- }
256
- }
257
- class ct {
258
- constructor(e) {
259
- this.host = e, this.state = new ht(), this.host.addController(this);
260
- }
261
- get filterRow() {
262
- return this.host.filterRow;
263
- }
264
- get #e() {
265
- return this.host.scrollContainer;
266
- }
267
- #r(e, i) {
268
- return this.host.emitEvent("filtering", {
269
- detail: {
270
- key: e.key,
271
- expressions: [e],
272
- type: i
273
- },
274
- cancelable: !0
275
- });
276
- }
277
- #i(e) {
278
- return this.host.emitEvent("filtered", { detail: e });
279
- }
280
- #t(e) {
281
- E(e).forEach((i) => this.state.set(i)), this.#e?.scrollTo({ top: 0 }), this.host.requestUpdate(_);
282
- }
283
- hostConnected() {
284
- }
285
- hostUpdate() {
286
- this.filterRow?.requestUpdate();
287
- }
288
- get(e) {
289
- return this.state.get(e);
290
- }
291
- reset(e) {
292
- e ? this.state.delete(e) : this.state.clear();
293
- }
294
- setActiveColumn(e) {
295
- e?.filter && this.filterRow?.active && (this.filterRow.column = e, this.filterRow.expression = this.getDefaultExpression(e), this.host.requestUpdate());
296
- }
297
- getDefaultExpression(e) {
298
- const i = typeof e.filter == "boolean" ? !1 : !!e.filter?.caseSensitive, r = W(e), a = Object.keys(r);
299
- return {
300
- key: e.key,
301
- condition: r[a[0]],
302
- caseSensitive: i
303
- };
304
- }
305
- async removeAllExpressions(e) {
306
- const i = this.get(e)?.all ?? [];
307
- this.host.emitEvent("filtering", {
308
- detail: {
309
- key: e,
310
- expressions: i,
311
- type: "remove"
312
- },
313
- cancelable: !0
314
- }) && (this.reset(e), this.#t([]), await this.host.updateComplete, this.#i({ key: e, state: this.get(e)?.all ?? [] }));
315
- }
316
- async removeExpression(e) {
317
- const i = this.get(e.key);
318
- this.#r(e, "remove") && (i?.remove(e), i?.empty && this.reset(i.key), this.#t([]), await this.host.updateComplete, this.#i({ key: e.key, state: i?.all ?? [] }));
319
- }
320
- async filterWithEvent(e, i) {
321
- this.#r(e, i) && (this.#t(e), await this.host.updateComplete, this.#i({ key: e.key, state: this.get(e.key)?.all ?? [] }));
322
- }
323
- filter(e) {
324
- this.#t(
325
- E(e).map(
326
- (i) => Object.assign(this.getDefaultExpression(this.host.getColumn(i.key)), i)
327
- )
328
- );
329
- }
330
- }
331
- function w(t, e = []) {
332
- for (const i of e)
333
- i.register();
334
- customElements.get(t.is) || customElements.define(t.is, t);
335
- }
336
- const gt = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
337
- :host {
338
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
339
- --is-medium:
340
- min(
341
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
342
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
343
- );
344
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
345
- --component-size: 3;
346
- }
347
-
348
- :host {
349
- position: relative;
350
- display: -webkit-inline-box;
351
- display: -ms-inline-flexbox;
352
- display: inline-flex;
353
- -webkit-box-flex: 1;
354
- -ms-flex: 1 0 0px;
355
- flex: 1 0 0;
356
- -webkit-box-align: center;
357
- -ms-flex-align: center;
358
- align-items: center;
359
- padding: 0 max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
360
- color: inherit;
361
- border-right: var(--igx-row-border-width, var(--row-border-width)) solid transparent;
362
- font-size: 0.8125rem;
363
- overflow-wrap: anywhere;
364
- }
365
- :host:last-of-type {
366
- border-right: 0;
367
- }
368
-
369
- :host([active]) {
370
- outline: none;
371
- -webkit-box-shadow: inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color));
372
- box-shadow: inset 0 0 0 0.0625rem var(--igx-cell-active-border-color, var(--cell-active-border-color));
373
- }
374
-
375
- :host(:last-child) {
376
- -webkit-border-end: none;
377
- border-inline-end: none;
378
- }
379
-
380
- igc-input {
381
- position: absolute;
382
- left: 0;
383
- height: calc(100% - 0.0625rem * 2);
384
- width: 100%;
385
- }
386
- igc-input::part(container), igc-input::part(input) {
387
- border-color: transparent;
388
- -webkit-box-shadow: none;
389
- box-shadow: none;
390
- height: 100%;
391
- }
392
-
393
- igc-input::part(container), igc-input::part(input),
394
- igc-select::part(container),
395
- igc-select::part(input) {
396
- background: inherit;
397
- color: inherit;
398
- font-size: 0.8125rem;
399
- }
400
- igc-input::part(helper-text)::after, igc-input::part(container)::after,
401
- igc-select::part(helper-text)::after,
402
- igc-select::part(container)::after {
403
- display: none;
404
- }`;
405
- var mt = Object.defineProperty, pt = Object.getOwnPropertyDescriptor, de = (t, e, i, r) => {
406
- for (var a = r > 1 ? void 0 : r ? pt(e, i) : e, s = t.length - 1, l; s >= 0; s--)
407
- (l = t[s]) && (a = (r ? l(e, i, a) : l(a)) || a);
408
- return r && a && mt(e, i, a), a;
409
- };
410
- class z extends $ {
411
- constructor() {
412
- super(...arguments), this.active = !1;
413
- }
414
- static get is() {
415
- return et;
416
- }
417
- static register() {
418
- w(this);
419
- }
420
- get context() {
421
- return {
422
- parent: this,
423
- row: this.row,
424
- column: this.column,
425
- value: this.value
426
- };
427
- }
428
- render() {
429
- return this.column.cellTemplate ? this.column.cellTemplate(this.context) : n`${this.value}`;
430
- }
431
- }
432
- z.styles = gt;
433
- de([
434
- o({ attribute: !1 })
435
- ], z.prototype, "value", 2);
436
- de([
437
- o({ attribute: !1 })
438
- ], z.prototype, "column", 2);
439
- de([
440
- o({ type: Boolean, reflect: !0 })
441
- ], z.prototype, "active", 2);
442
- const ut = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
443
- :host {
444
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
445
- --is-medium:
446
- min(
447
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
448
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
449
- );
450
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
451
- --component-size: 3;
452
- }
453
-
454
- :host {
455
- display: grid;
456
- width: 100%;
457
- min-height: max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.125rem, -1 * 2.125rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem));
458
- -webkit-border-after: var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color));
459
- border-block-end: var(--igx-row-border-width, var(--header-border-width)) var(--igx-row-border-style, var(--header-border-style)) var(--igx-row-border-color, var(--header-border-color));
460
- background: var(--igx-row-odd-background, var(--row-odd-background));
461
- color: var(--igx-row-odd-text-color, var(--row-odd-text-color));
462
- z-index: var(--z-index-base);
463
- }
464
-
465
- :host(:last-of-type) {
466
- border-bottom: 0;
467
- }
468
-
469
- :host(:nth-of-type(even)) {
470
- background: var(--igx-row-even-background, var(--row-even-background));
471
- color: var(--igx-row-even-text-color, var(--row-even-text-color));
472
- }
473
-
474
- :host(:hover) {
475
- background: var(--igx-row-hover-background, var(--row-hover-background));
476
- color: var(--igx-row-hover-text-color, var(--row-hover-text-color));
477
- }`;
478
- var vt = Object.defineProperty, bt = Object.getOwnPropertyDescriptor, M = (t, e, i, r) => {
479
- for (var a = r > 1 ? void 0 : r ? bt(e, i) : e, s = t.length - 1, l; s >= 0; s--)
480
- (l = t[s]) && (a = (r ? l(e, i, a) : l(a)) || a);
481
- return r && a && vt(e, i, a), a;
482
- };
483
- class y extends $ {
484
- constructor() {
485
- super(...arguments), this.columns = [], this.index = -1;
486
- }
487
- static get is() {
488
- return Je;
489
- }
490
- static register() {
491
- w(this, [z]);
492
- }
493
- get cells() {
494
- return Array.from(this._cells);
495
- }
496
- connectedCallback() {
497
- super.connectedCallback(), this.setAttribute("exportparts", "cell");
498
- }
499
- render() {
500
- const { column: e, row: i } = this.activeNode;
501
- return n`
502
- ${be(
503
- this.columns,
504
- (r) => r.hidden ? g : n`<apex-grid-cell
505
- part="cell"
506
- .active=${e === r.key && i === this.index}
507
- .column=${r}
508
- .row=${this}
509
- .value=${this.data[r.key]}
510
- ></apex-grid-cell>`
511
- )}
512
- `;
513
- }
514
- }
515
- y.styles = ut;
516
- M([
517
- oe(z.is)
518
- ], y.prototype, "_cells", 2);
519
- M([
520
- o({ attribute: !1 })
521
- ], y.prototype, "data", 2);
522
- M([
523
- o({ attribute: !1 })
524
- ], y.prototype, "columns", 2);
525
- M([
526
- o({ attribute: !1 })
527
- ], y.prototype, "activeNode", 2);
528
- M([
529
- o({ attribute: !1, type: Number })
530
- ], y.prototype, "index", 2);
531
- class yt {
532
- constructor(e) {
533
- this.host = e, this.handlers = new Map(
534
- Object.entries({
535
- ArrowDown: this.arrowDown,
536
- ArrowUp: this.arrowUp,
537
- ArrowLeft: this.arrowLeft,
538
- ArrowRight: this.arrowRight,
539
- Home: this.home,
540
- End: this.end
541
- })
542
- ), this.state = ve, this._active = I, this.host.addController(this);
543
- }
544
- get virtualizer() {
545
- return this.host.scrollContainer;
546
- }
547
- get nextNode() {
548
- const e = this.state.get("current");
549
- return e === I ? { column: this.firstColumn, row: 0 } : { ...e };
550
- }
551
- get columns() {
552
- return this.host.columns;
553
- }
554
- get firstColumn() {
555
- return this.host.getColumn(0).key ?? "";
556
- }
557
- getPreviousColumn(e) {
558
- return this.columns[Math.max(this.columns.indexOf(this.host.getColumn(e)) - 1, 0)].key;
559
- }
560
- getNextColumn(e) {
561
- return this.columns[Math.min(this.columns.indexOf(this.host.getColumn(e)) + 1, this.columns.length - 1)].key;
562
- }
563
- scrollToCell(e) {
564
- const i = Array.from(this.virtualizer.querySelectorAll(y.is)).find(
565
- (r) => r.index === e.row
566
- );
567
- i && i.cells.find((r) => r.column.key === e.column)?.scrollIntoView({ block: "nearest" });
568
- }
569
- get active() {
570
- return this._active;
571
- }
572
- set active(e) {
573
- this._active = e, this.state.set("previous", this._active), this.state.set("current", e), this.host.requestUpdate();
574
- }
575
- home() {
576
- this.active = Object.assign(this.nextNode, { row: 0 }), this.virtualizer.element(this.active.row)?.scrollIntoView({ block: "nearest" });
577
- }
578
- end() {
579
- this.active = Object.assign(this.nextNode, { row: this.host.totalItems - 1 }), this.virtualizer.element(this.active.row)?.scrollIntoView({ block: "nearest" });
580
- }
581
- arrowDown() {
582
- const e = this.nextNode;
583
- this.active = Object.assign(e, {
584
- row: Math.min(e.row + 1, this.host.totalItems - 1)
585
- }), this.virtualizer.element(e.row)?.scrollIntoView({ block: "nearest" });
586
- }
587
- arrowUp() {
588
- const e = this.nextNode;
589
- this.active = Object.assign(e, { row: Math.max(0, e.row - 1) }), this.virtualizer.element(e.row)?.scrollIntoView({ block: "nearest" });
590
- }
591
- arrowLeft() {
592
- const e = this.nextNode;
593
- this.active = Object.assign(e, { column: this.getPreviousColumn(e.column) }), this.scrollToCell(this.active);
594
- }
595
- arrowRight() {
596
- const e = this.nextNode;
597
- this.active = Object.assign(e, { column: this.getNextColumn(e.column) }), this.scrollToCell(this.active);
598
- }
599
- hostConnected() {
600
- }
601
- hostDisconnected() {
602
- this.active = I, this.state = ve;
603
- }
604
- navigate(e) {
605
- this.handlers.has(e.key) && (e.preventDefault(), this.handlers.get(e.key).call(this));
606
- }
607
- }
608
- class xt {
609
- constructor(e) {
610
- this.host = e, this.state = /* @__PURE__ */ new Map(), this.host.addController(this);
611
- }
612
- get #e() {
613
- return this.host.sortConfiguration.multiple;
614
- }
615
- get #r() {
616
- return this.host.sortConfiguration.triState;
617
- }
618
- #i(e) {
619
- const i = {
620
- caseSensitive: !1,
621
- comparer: void 0
622
- };
623
- return !e || typeof e == "boolean" ? i : Object.assign(i, {
624
- caseSensitive: e.caseSensitive,
625
- comparer: e.comparer
626
- });
627
- }
628
- #t(e) {
629
- const i = this.host.getColumn(e)?.sort;
630
- return {
631
- key: e,
632
- direction: "ascending",
633
- ...this.#i(i)
634
- };
635
- }
636
- #a(e) {
637
- return this.#r ? e === "ascending" ? "descending" : e === "descending" ? "none" : "ascending" : e === "ascending" ? "descending" : "ascending";
638
- }
639
- #s(e) {
640
- return this.host.emitEvent("sorting", { detail: e, cancelable: !0 });
641
- }
642
- #l(e) {
643
- return this.host.emitEvent("sorted", { detail: e });
644
- }
645
- #n(e) {
646
- e.direction === "none" ? this.reset(e.key) : this.state.set(e.key, { ...e });
647
- }
648
- async sortFromHeaderClick(e) {
649
- const i = this.prepareExpression(e);
650
- this.#s(i) && (this.#e || this.reset(), this._sort(i), await this.host.updateComplete, this.#l(i));
651
- }
652
- prepareExpression({ key: e, sort: i }) {
653
- if (this.state.has(e)) {
654
- const r = this.state.get(e);
655
- return Object.assign(r, {
656
- direction: this.#a(r.direction),
657
- ...this.#i(i)
658
- });
659
- }
660
- return this.#t(e);
661
- }
662
- reset(e) {
663
- e ? this.state.delete(e) : this.state.clear();
664
- }
665
- _sort(e) {
666
- E(e).forEach((i) => this.#n(i)), this.host.requestUpdate(_);
667
- }
668
- sort(e) {
669
- this._sort(
670
- E(e).map(
671
- (i) => Object.assign(this.state.get(i.key) ?? this.#t(i.key), i)
672
- )
673
- );
674
- }
675
- hostConnected() {
676
- }
677
- }
678
- class ft {
679
- constructor(e) {
680
- this.host = e, this.indicatorActive = !1, this.indicatorOffset = 0, this.host.addController(this);
681
- }
682
- #e(e, i) {
683
- const r = this.host.rows.map((a) => a.cells.find((s) => s.column.key === e)).reduce((a, s) => s.offsetWidth > a ? s.offsetWidth : a, 0);
684
- return Math.max(we, r, i);
685
- }
686
- /**
687
- * Begins resizing a column by showing and positioning the resize indicator in relation to the column.
688
- *
689
- * @param header the
690
- */
691
- start(e) {
692
- this.indicatorActive = !0, this.indicatorOffset = e.offsetLeft + e.offsetWidth, this.host.requestUpdate();
693
- }
694
- /**
695
- * Stops and resets the resizing state.
696
- */
697
- stop() {
698
- this.indicatorActive = !1, this.host.requestUpdate();
699
- }
700
- resize(e, i, r) {
701
- r && (this.indicatorOffset = r), e.width = `${i}px`, this.host.requestUpdate();
702
- }
703
- async autosize(e, i) {
704
- e.width = "max-content", this.host.requestUpdate(), await this.host.updateComplete, e.width = `${this.#e(e.key, i.offsetWidth)}px`, this.host.requestUpdate();
705
- }
706
- hostConnected() {
707
- }
708
- /**
709
- * Renders the resize indicator in the grid.
710
- */
711
- renderIndicator() {
712
- return this.indicatorActive ? n`<div
713
- part="resize-indicator"
714
- style=${N({
715
- transform: `translateX(${this.indicatorOffset}px)`
716
- })}
717
- ></div>` : g;
718
- }
719
- }
720
- class wt {
721
- constructor(e) {
722
- this.host = e, this.host.addController(this), this.init();
723
- }
724
- get active() {
725
- return this.navigation.active;
726
- }
727
- set active(e) {
728
- this.navigation.active = e;
729
- }
730
- get headerRow() {
731
- return this.host.headerRow;
732
- }
733
- get scrollContainer() {
734
- return this.host.scrollContainer;
735
- }
736
- init() {
737
- this.sorting = new xt(this.host), this.filtering = new ct(this.host), this.navigation = new yt(this.host), this.resizing = new ft(this.host);
738
- }
739
- hostConnected() {
740
- }
741
- hostUpdate() {
742
- this.headerRow?.requestUpdate(), this.scrollContainer?.requestUpdate();
743
- }
744
- }
745
- const F = Ne("gridStateController");
746
- class ze {
747
- resolveValue(e, i) {
748
- return e[i];
749
- }
750
- resolveCase(e, i) {
751
- return typeof e == "string" && !i ? e.toLowerCase() : e;
752
- }
753
- }
754
- class zt extends ze {
755
- constructor() {
756
- super(...arguments), this.orderBy = new Map(
757
- Object.entries({
758
- ascending: 1,
759
- descending: -1
760
- })
761
- );
762
- }
763
- compareValues(e, i) {
764
- return typeof e == "string" && typeof i == "string" ? e.localeCompare(i) : e > i ? 1 : e < i ? -1 : 0;
765
- }
766
- compareObjects(e, i, r) {
767
- const { direction: a, key: s, caseSensitive: l, comparer: v } = r, C = this.resolveCase(this.resolveValue(e, s), l), pe = this.resolveCase(this.resolveValue(i, s), l);
768
- return this.orderBy.get(a) * (v?.(C, pe) ?? this.compareValues(C, pe));
769
- }
770
- apply(e, i) {
771
- const r = Array.from(i.values()), a = r.length;
772
- return e.sort((s, l) => {
773
- let v = 0, C = 0;
774
- for (; v < a && !C; )
775
- C = this.compareObjects(s, l, r[v]), v++;
776
- return C;
777
- }), e;
778
- }
779
- }
780
- class Ct extends ze {
781
- resolveFilter(e, i) {
782
- return i.condition.logic(
783
- // XXX: Types
784
- // @ts-expect-error - resolve
785
- this.resolveValue(e, i.key),
786
- i.searchTerm,
787
- i.caseSensitive
788
- );
789
- }
790
- match(e, i, r) {
791
- for (const a of r)
792
- if (this.resolveFilter(e, a))
793
- return this.match(
794
- e,
795
- i.filter((s) => s.key !== a.key),
796
- []
797
- );
798
- return i.every((a) => this.resolveFilter(e, a));
799
- }
800
- apply(e, i) {
801
- if (i.empty)
802
- return e;
803
- const { ands: r, ors: a } = i;
804
- return e.filter((s) => this.match(s, r, a));
805
- }
806
- }
807
- class kt {
808
- constructor(e) {
809
- this.host = e, this.sorting = new zt(), this.filtering = new Ct(), this.host.addController(this);
810
- }
811
- hostConnected() {
812
- }
813
- get hasCustomSort() {
814
- return x(this.host.dataPipelineConfiguration?.sort);
815
- }
816
- get hasCustomFilter() {
817
- return x(this.host.dataPipelineConfiguration?.filter);
818
- }
819
- get customFilter() {
820
- return this.host.dataPipelineConfiguration.filter;
821
- }
822
- get customSort() {
823
- return this.host.dataPipelineConfiguration.sort;
824
- }
825
- async apply(e, i) {
826
- const { filtering: r, sorting: a } = i;
827
- return e = this.hasCustomFilter ? await this.customFilter({ data: e, grid: this.host, type: "filter" }) : this.filtering.apply(e, r.state), e = this.hasCustomSort ? await this.customSort({ data: e, grid: this.host, type: "sort" }) : this.sorting.apply(e, a.state), e;
828
- }
829
- }
830
- const _t = {
831
- "arrow-upward": '<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="arrow-downward" role="img" viewBox="0 0 45 45"><path d="M22.5 40V13.7L10.1 26.1 8 24 24 8l16 16-2.1 2.1-12.4-12.4V40Z"/></svg>',
832
- "arrow-downward": '<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="arrow-downward" role="img" viewBox="0 0 45 45"><path fill="currentColor" d="M24 40 8 24l2.1-2.1 12.4 12.4V8h3v26.3l12.4-12.4L40 24Z"/></svg>',
833
- all: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="agall-desc agall-title"><title id="agall-title">Select All Icon</title><desc id="agall-desc">A picture showing tree lines and a check mark.</desc><path d="M2 14h8v2H2zm0-8h12v2H2zm14 11l-3-3-1.5 1.5L16 20l7-7-1.5-1.5L16 17zM2 10h12v2H2z"/></svg>',
834
- contains: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="czcontains-desc czcontains-title"><title id="czcontains-title">Contains Icon</title><desc id="czcontains-desc">A picture showing the lowercase letter A in a square box.</desc><path d="M3 3v18h18V3zm16 16H5V5h14z"/><path d="M12 11.3a4.39 4.39 0 00-2.54.63 2.07 2.07 0 00-.9 1.78 2.29 2.29 0 00.66 1.74 2.63 2.63 0 001.89.63 2.39 2.39 0 001.32-.37 3.05 3.05 0 001-.93 3.72 3.72 0 00.08.57c0 .19.1.38.16.58h1.79a4.51 4.51 0 01-.21-.88 5.57 5.57 0 01-.07-.93v-3.5a2.44 2.44 0 00-.84-2 3.34 3.34 0 00-2.22-.7 3.54 3.54 0 00-2.3.72A1.93 1.93 0 009 10.29h1.71a.93.93 0 01.29-.71 1.5 1.5 0 011-.29 1.45 1.45 0 011 .35 1.3 1.3 0 01.37 1v.69zm1.4 1.08v1.17a1.61 1.61 0 01-.71.77 2.27 2.27 0 01-1.21.34 1.18 1.18 0 01-.84-.27.92.92 0 01-.3-.72 1.16 1.16 0 01.44-.9 1.76 1.76 0 011.22-.39z"/></svg>',
835
- doesNotContain: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="eadoes-not-contain-desc eadoes-not-contain-title"><title id="eadoes-not-contain-title">Does-Not-Contain Icon</title><desc id="eadoes-not-contain-desc">A picture showing the lowercase letter A in a crossed-out square box.</desc><path d="M21 19.74V3H4.26L2.89 1.63 1.63 2.92 3 4.29V21h16.73l1.37 1.37 1.27-1.26zM5 19V6.28l5.28 5.27a3.19 3.19 0 00-.81.38 2.07 2.07 0 00-.9 1.78 2.29 2.29 0 00.66 1.74 2.63 2.63 0 001.89.63 2.39 2.39 0 001.32-.37 3.05 3.05 0 001-.93 3.72 3.72 0 00.08.57c0 .19.1.38.16.58h1L17.73 19zm5.79-6.23a1.31 1.31 0 01.45-.25l1.37 1.36.28.29a1.57 1.57 0 01-.19.15 2.27 2.27 0 01-1.21.34 1.18 1.18 0 01-.84-.27.92.92 0 01-.3-.72 1.16 1.16 0 01.44-.9zm2.6-1.47h-.83l-1.62-1.62.08-.1a1.5 1.5 0 011-.29 1.45 1.45 0 011 .35 1.3 1.3 0 01.37 1zM19 17.74l-3.85-3.85v-3.27a2.44 2.44 0 00-.84-2 3.34 3.34 0 00-2.22-.7 3.64 3.64 0 00-2.24.67L6.26 5H19z"/></svg>',
836
- greaterThan: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="fygreater-than-desc fygreater-than-title"><title id="fygreater-than-title">Greater Than Icon</title><desc id="fygreater-than-desc">A picture showing the greater-than symbol.</desc><path d="M6 7.11L15.09 12 6 16.89V19l12-6.46v-1.08L6 5v2.11z"/></svg>',
837
- greaterThanOrEqual: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="fzgreater-than-or-equal-desc fzgreater-than-or-equal-title"><title id="fzgreater-than-or-equal-title">Greater Than or Equal Icon</title><desc id="fzgreater-than-or-equal-desc">A picture showing the grater-than or equal symbol.</desc><path d="M5.99 19h12.02v2H5.99zM18 9.47L6 3v2.11L15.09 10 6 14.9v2.11l12-6.47V9.47z"/></svg>',
838
- empty: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="gsis-empty-desc gsis-empty-title"><title id="gsis-empty-title">Is Empty Icon</title><desc id="gsis-empty-desc">A picture showing a dotted square.</desc><path d="M5 17h2v2H5zm8 0h2v2h-2zm-8-4h2v2H5zm12 4h2v2h-2zM13 5h2v2h-2zM9 17h2v2H9zm8-8h2v2h-2zm0 4h2v2h-2zm0-8h2v2h-2zM5 9h2v2H5zm0-4h2v2H5zm4 0h2v2H9z"/></svg>',
839
- endsWith: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="enends-with-desc enends-with-title"><title id="enends-with-title">Ends With Icon</title><desc id="enends-with-desc">A picture showing three dots followed by lowercase a.</desc><path d="M3 14.5h2v2H3zm8 0h2v2h-2zm-4 0h2v2H7zm13.8.3v-3A2.1 2.1 0 0020 10a3 3 0 00-2-.6 3 3 0 00-2 .6 1.7 1.7 0 00-.7 1.5h1.5a.8.8 0 01.3-.7 1.3 1.3 0 01.9-.3 1.3 1.3 0 01.9.4 1.1 1.1 0 01.3.8v.6H18a3.8 3.8 0 00-2.2.6 1.8 1.8 0 00-.8 1.5 2 2 0 00.6 1.6 2.3 2.3 0 001.6.6 2.1 2.1 0 001.2-.4 2.8 2.8 0 00.8-.8 4.3 4.3 0 00.1.5l.1.5H21a4.1 4.1 0 01-.2-.7 5.4 5.4 0 010-1zm-1.6-.5a1.5 1.5 0 01-.6.7 2 2 0 01-1 .2 1.1 1.1 0 01-.8-.2.8.8 0 01-.2-.6 1 1 0 01.3-.8 1.5 1.5 0 011.1-.3h1.2z"/></svg>',
840
- equals: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="eoequals-desc eoequals-title"><title id="eoequals-title">Equals Icon</title><desc id="eoequals-desc">A picture showing the equals sign.</desc><path d="M5 13.5h14v2H5zm0-5h14v2H5z"/></svg>',
841
- false: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="gtis-false-desc gtis-false-title"><title id="gtis-false-title">Is False Icon</title><desc id="gtis-false-desc">A picture showing an encircled X symbol.</desc><path d="M8 5a7 7 0 107 7 7 7 0 00-7-7zm4.31 9.79l-1.52 1.52L8 13.52l-2.79 2.79-1.52-1.52L6.48 12 3.69 9.21l1.52-1.52L8 10.48l2.79-2.79 1.52 1.52L9.52 12zM18 7a5 5 0 00-3 1.06 7.48 7.48 0 01.49 1 3.89 3.89 0 110 5.82 8.08 8.08 0 01-.49 1A5 5 0 1018 7z"/><path d="M17.52 13.85l2.91-2.92-.78-.78-2.13 2.12-1.17-1.15-.38.37-.41.41.42.42L17 13.34l.52.51z"/></svg>',
842
- lessThan: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="hhless-than-desc hhless-than-title"><title id="hhless-than-title">Less Than Icon</title><desc id="hhless-than-desc">A picture showing the less-than symbol.</desc><path d="M6 12.54L18 19v-2.11L8.91 12 18 7.11V5L6 11.46v1.08z"/></svg>',
843
- lessThanOrEqual: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="hiless-than-or-equal-desc hiless-than-or-equal-title"><title id="hiless-than-or-equal-title">Less Than or Equal Icon</title><desc id="hiless-than-or-equal-desc">A picture showing the lass-than or equal symbol.</desc><path d="M5.99 19h12.02v2H5.99zM18 14.9L8.91 10 18 5.11V3L6 9.47v1.07l12 6.47V14.9z"/></svg>',
844
- notEmpty: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="ionot-empty-desc ionot-empty-title"><title id="ionot-empty-title">Not Empty Icon</title><desc id="ionot-empty-desc">A picture showing a crossed-out dotted square.</desc><path d="M5 9h2v2H5zm4 8h2v2H9zm4 0h2v2h-2zm4-8h2v2h-2zm0-4h2v2h-2zM5 17h2v2H5zm8-12h2v2h-2zm-8 8h2v2H5zm14 2v-2h-2v.47L18.53 15H19zm-8-8V5H9v.46L10.54 7H11zM2.76 1.76L1.5 3.06 20.97 22.5l1.26-1.26-8.89-8.89L2.76 1.76z"/></svg>',
845
- doesNotEqual: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="ipnot-equal-desc ipnot-equal-title"><title id="ipnot-equal-title">Not Equal Icon</title><desc id="ipnot-equal-desc">A picture showing a crossed-out equals symbol.</desc><path d="M17.37 4.71l-1.74-1-2.76 4.79H5v2h6.71l-1.73 3H5v2h3.82l-2.19 3.79 1.74 1 2.76-4.79H19v-2h-6.71l1.73-3H19v-2h-3.82l2.19-3.79z"/></svg>',
846
- startsWith: '<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="512" height="512" aria-labelledby="lqstarts-with-desc lqstarts-with-title"><title id="lqstarts-with-title">Starts With Icon</title><desc id="lqstarts-with-desc">A picture showing the uppercase letter A followed by three dots.</desc><path d="M5.9 7.5l-3.9 9h1.7l.7-1.8h4.1l.7 1.8H11l-3.9-9H5.9zM5 13.2l1.5-4.1L8 13.2H5zm7 1.3h2v2h-2v-2zm8 0h2v2h-2v-2zm-4 0h2v2h-2v-2z"/></svg>',
847
- true: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="512" height="512" aria-labelledby="gwis-true-desc gwis-true-title"><title id="gwis-true-title">is True Icon</title><desc id="gwis-true-desc">A picture showing an encircled check mark symbol.</desc><path d="M19.44 14.22zm-2.88 0zm0 0L18 12.79l1.44 1.43.78-.78L18.79 12l1.43-1.44-.78-.78L18 11.21l-1.44-1.43-.78.78L17.21 12l-1.43 1.44.78.78z"/><path d="M18 7a5 5 0 00-3 1.06 7.48 7.48 0 01.49 1 3.89 3.89 0 110 5.82 8.08 8.08 0 01-.49 1A5 5 0 1018 7zM8 5a7 7 0 107 7 7 7 0 00-7-7zm-.93 10.18l-3.38-3.37 1.13-1.12 2.25 2.25 4.11-4.12 1.13 1.12z"/></svg>',
848
- filter: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45"><path d="M20 36v-3h8v3Zm-8-10.5v-3h24v3ZM6 15v-3h36v3Z"/></svg>',
849
- close: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="m12.45 37.65-2.1-2.1L21.9 24 10.35 12.45l2.1-2.1L24 21.9l11.55-11.55 2.1 2.1L26.1 24l11.55 11.55-2.1 2.1L24 26.1Z"/></svg>',
850
- refresh: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 40q-6.65 0-11.325-4.675Q8 30.65 8 24q0-6.65 4.675-11.325Q17.35 8 24 8q4.25 0 7.45 1.725T37 14.45V8h3v12.7H27.3v-3h8.4q-1.9-3-4.85-4.85Q27.9 11 24 11q-5.45 0-9.225 3.775Q11 18.55 11 24q0 5.45 3.775 9.225Q18.55 37 24 37q4.15 0 7.6-2.375 3.45-2.375 4.8-6.275h3.1q-1.45 5.25-5.75 8.45Q29.45 40 24 40Z"/></svg>'
851
- };
852
- function Et() {
853
- for (const [t, e] of Object.entries(_t))
854
- Fe(t, e, "internal");
855
- }
856
- class $t {
857
- constructor(e, i) {
858
- this.host = e, this.state = i, this.#e = () => {
859
- setTimeout(() => this.setScrollOffset());
860
- }, this.columnSizes = {}, this.rowRenderer = (r, a) => n`<apex-grid-row
861
- part="row"
862
- style=${N({ ...this.columnSizes, ...this.getActiveRowStyles(a) })}
863
- .index=${a}
864
- .activeNode=${this.state.active}
865
- .data=${r}
866
- .columns=${this.host.columns}
867
- ></apex-grid-row>`, this.host.addController(this);
868
- }
869
- #e;
870
- get container() {
871
- return this.host.scrollContainer;
872
- }
873
- async hostConnected() {
874
- Et(), this.setGridColumnSizes(), await this.host.updateComplete, this.container.addEventListener("visibilityChanged", this.#e, { once: !0 });
875
- }
876
- hostUpdate() {
877
- this.setScrollOffset(), this.setGridColumnSizes();
878
- }
879
- setScrollOffset() {
880
- const e = this.container ? this.container.offsetWidth - this.container.clientWidth : 0;
881
- this.host.style.setProperty("--scrollbar-offset", `${e}px`);
882
- }
883
- setGridColumnSizes() {
884
- this.columnSizes = nt(this.host.columns);
885
- }
886
- getActiveRowStyles(e) {
887
- const { row: i } = this.state.active;
888
- return i === e ? { "z-index": "3" } : {};
889
- }
890
- }
891
- class St extends $ {
892
- addEventListener(e, i, r) {
893
- super.addEventListener(e, i, r);
894
- }
895
- removeEventListener(e, i, r) {
896
- super.removeEventListener(e, i, r);
897
- }
898
- emitEvent(e, i) {
899
- return this.dispatchEvent(
900
- new CustomEvent(
901
- e,
902
- Object.assign(
903
- {
904
- bubbles: !0,
905
- cancelable: !1,
906
- composed: !0,
907
- detail: {}
908
- },
909
- i
910
- )
911
- )
912
- );
913
- }
914
- }
915
- function U(t, e) {
916
- return (i, r) => {
917
- const { willUpdate: a } = i;
918
- e = Object.assign({ waitUntilFirstUpdate: !1 }, e), i.willUpdate = function(s) {
919
- if (a.call(this, s), s.has(t)) {
920
- const l = s.get(t), v = this[t];
921
- l !== v && (!e?.waitUntilFirstUpdate || this.hasUpdated) && this[r].call(this, l, v);
922
- }
923
- };
924
- };
925
- }
926
- const Ce = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
927
- :host {
928
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
929
- --is-medium:
930
- min(
931
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
932
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
933
- );
934
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
935
- --component-size: 3;
936
- }
937
-
938
- :host {
939
- display: grid;
940
- height: 100%;
941
- position: relative;
942
- font-family: var(--ig-font-family);
943
- -webkit-box-shadow: var(--ig-elevation-2);
944
- box-shadow: var(--ig-elevation-2);
945
- overflow: auto hidden;
946
- grid-template-rows: [header-row] -webkit-max-content [filter-row] -webkit-max-content [virtualized-container] auto;
947
- grid-template-rows: [header-row] max-content [filter-row] max-content [virtualized-container] auto;
948
- --scrollbar-offset: 0;
949
- --z-index-base: 1;
950
- }
951
-
952
- apex-virtualizer {
953
- grid-row: virtualized-container;
954
- display: -webkit-box;
955
- display: -ms-flexbox;
956
- display: flex;
957
- -webkit-box-orient: vertical;
958
- -webkit-box-direction: normal;
959
- -ms-flex-flow: column;
960
- flex-flow: column;
961
- -webkit-box-flex: 1;
962
- -ms-flex: 1;
963
- flex: 1;
964
- background: var(--igx-content-background, var(--content-background));
965
- color: var(--igx-content-text-color, var(--content-text-color));
966
- overflow: hidden auto !important;
967
- }
968
- apex-virtualizer:focus {
969
- outline: none;
970
- }
971
-
972
- [part~=resize-indicator] {
973
- position: absolute;
974
- height: 100%;
975
- background-color: var(--igx-grid-resize-line-color, var(--grid-resize-line-color));
976
- width: 0.125rem;
977
- inset-inline-start: 0;
978
- top: 0;
979
- z-index: calc(var(--z-index-base) + 1);
980
- }
981
-
982
- :host {
983
- --content-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
984
- --content-text-color: var(--ig-gray-50-contrast);
985
- --header-background: hsla(var(--ig-surface-500), var(--ig-surface-a));
986
- --header-text-color: var(--ig-surface-500-contrast);
987
- --header-border-width: 0.0625rem;
988
- --header-border-style: solid;
989
- --header-border-color: hsla(var(--ig-gray-400), 0.38);
990
- --filtering-header-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
991
- --filtering-row-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
992
- --filtering-row-text-color: var(--ig-gray-50-contrast);
993
- --sorted-header-icon-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
994
- --icon-color: "currentColor";
995
- --row-hover-background: hsla(var(--ig-gray-200), var(--ig-gray-a));
996
- --row-hover-text-color: var(--ig-gray-200-contrast);
997
- --row-even-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
998
- --row-even-text-color: var(--ig-gray-50-contrast);
999
- --row-odd-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1000
- --row-odd-text-color: var(--ig-gray-50-contrast);
1001
- --row-border-color: hsla(var(--ig-gray-300), 0.38);
1002
- --row-border-style: solid;
1003
- --row-border-width: 0.0625rem;
1004
- --cell-active-border-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1005
- --grid-resize-line-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1006
- }`, At = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
1007
- :host {
1008
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
1009
- --is-medium:
1010
- min(
1011
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
1012
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
1013
- );
1014
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
1015
- --component-size: 3;
1016
- }
1017
-
1018
- :host {
1019
- display: grid;
1020
- height: 100%;
1021
- position: relative;
1022
- font-family: var(--ig-font-family);
1023
- -webkit-box-shadow: var(--ig-elevation-2);
1024
- box-shadow: var(--ig-elevation-2);
1025
- overflow: auto hidden;
1026
- grid-template-rows: [header-row] -webkit-max-content [filter-row] -webkit-max-content [virtualized-container] auto;
1027
- grid-template-rows: [header-row] max-content [filter-row] max-content [virtualized-container] auto;
1028
- --scrollbar-offset: 0;
1029
- --z-index-base: 1;
1030
- }
1031
-
1032
- apex-virtualizer {
1033
- grid-row: virtualized-container;
1034
- display: -webkit-box;
1035
- display: -ms-flexbox;
1036
- display: flex;
1037
- -webkit-box-orient: vertical;
1038
- -webkit-box-direction: normal;
1039
- -ms-flex-flow: column;
1040
- flex-flow: column;
1041
- -webkit-box-flex: 1;
1042
- -ms-flex: 1;
1043
- flex: 1;
1044
- background: var(--igx-content-background, var(--content-background));
1045
- color: var(--igx-content-text-color, var(--content-text-color));
1046
- overflow: hidden auto !important;
1047
- }
1048
- apex-virtualizer:focus {
1049
- outline: none;
1050
- }
1051
-
1052
- [part~=resize-indicator] {
1053
- position: absolute;
1054
- height: 100%;
1055
- background-color: var(--igx-grid-resize-line-color, var(--grid-resize-line-color));
1056
- width: 0.125rem;
1057
- inset-inline-start: 0;
1058
- top: 0;
1059
- z-index: calc(var(--z-index-base) + 1);
1060
- }
1061
-
1062
- :host {
1063
- --content-background: var(hsla(var(--ig-gray-50), var(--ig-gray-a)));
1064
- --content-text-color: var(var(--ig-gray-50-contrast));
1065
- --header-background: hsla(var(--ig-surface-500), var(--ig-surface-a));
1066
- --header-text-color: var(--ig-surface-500-contrast);
1067
- --header-border-width: 0.0625rem;
1068
- --header-border-style: solid;
1069
- --header-border-color: hsla(var(--ig-gray-100), var(--ig-gray-a));
1070
- --filtering-header-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1071
- --filtering-row-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1072
- --filtering-row-text-color: var(--ig-gray-50-contrast);
1073
- --sorted-header-icon-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));
1074
- --icon-color: "currentColor";
1075
- --row-hover-background: hsla(var(--ig-gray-200), var(--ig-gray-a));
1076
- --row-hover-text-color: var(--ig-gray-200-contrast);
1077
- --row-even-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1078
- --row-even-text-color: var(--ig-gray-50-contrast);
1079
- --row-odd-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1080
- --row-odd-text-color: var(--ig-gray-50-contrast);
1081
- --row-border-color: hsla(var(--ig-gray-100), var(--ig-gray-a));
1082
- --row-border-style: var(--header-border-style);
1083
- --row-border-width: var(--header-border-width);
1084
- --cell-active-border-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1085
- --grid-resize-line-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1086
- }`, Ot = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
1087
- :host {
1088
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
1089
- --is-medium:
1090
- min(
1091
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
1092
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
1093
- );
1094
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
1095
- --component-size: 3;
1096
- }
1097
-
1098
- :host {
1099
- display: grid;
1100
- height: 100%;
1101
- position: relative;
1102
- font-family: var(--ig-font-family);
1103
- -webkit-box-shadow: var(--ig-elevation-2);
1104
- box-shadow: var(--ig-elevation-2);
1105
- overflow: auto hidden;
1106
- grid-template-rows: [header-row] -webkit-max-content [filter-row] -webkit-max-content [virtualized-container] auto;
1107
- grid-template-rows: [header-row] max-content [filter-row] max-content [virtualized-container] auto;
1108
- --scrollbar-offset: 0;
1109
- --z-index-base: 1;
1110
- }
1111
-
1112
- apex-virtualizer {
1113
- grid-row: virtualized-container;
1114
- display: -webkit-box;
1115
- display: -ms-flexbox;
1116
- display: flex;
1117
- -webkit-box-orient: vertical;
1118
- -webkit-box-direction: normal;
1119
- -ms-flex-flow: column;
1120
- flex-flow: column;
1121
- -webkit-box-flex: 1;
1122
- -ms-flex: 1;
1123
- flex: 1;
1124
- background: var(--igx-content-background, var(--content-background));
1125
- color: var(--igx-content-text-color, var(--content-text-color));
1126
- overflow: hidden auto !important;
1127
- }
1128
- apex-virtualizer:focus {
1129
- outline: none;
1130
- }
1131
-
1132
- [part~=resize-indicator] {
1133
- position: absolute;
1134
- height: 100%;
1135
- background-color: var(--igx-grid-resize-line-color, var(--grid-resize-line-color));
1136
- width: 0.125rem;
1137
- inset-inline-start: 0;
1138
- top: 0;
1139
- z-index: calc(var(--z-index-base) + 1);
1140
- }
1141
-
1142
- :host {
1143
- --content-background: var(hsla(var(--ig-gray-50), var(--ig-gray-a)));
1144
- --content-text-color: var(var(--ig-gray-50-contrast));
1145
- --header-background: hsla(var(--ig-gray-100), var(--ig-gray-a));
1146
- --header-text-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1147
- --header-border-width: 0.0625rem;
1148
- --header-border-style: solid;
1149
- --header-border-color: hsla(var(--ig-primary-500), 0.24);
1150
- --filtering-header-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1151
- --filtering-row-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1152
- --filtering-row-text-color: var(--ig-gray-50-contrast);
1153
- --sorted-header-icon-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1154
- --icon-color: "currentColor";
1155
- --row-hover-background: hsla(var(--ig-primary-50), var(--ig-primary-a));
1156
- --row-hover-text-color: var(--ig-gray-200-contrast);
1157
- --row-even-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1158
- --row-even-text-color: var(--ig-gray-50-contrast);
1159
- --row-odd-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1160
- --row-odd-text-color: var(--ig-gray-50-contrast);
1161
- --row-border-color: hsla(var(--ig-primary-50), var(--ig-primary-a));
1162
- --row-border-style: var(--header-border-style);
1163
- --row-border-width: var(--header-border-width);
1164
- --cell-active-border-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1165
- --grid-resize-line-color: hsla(var(--ig-primary-500), var(--ig-primary-a));
1166
- }`, qt = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
1167
- :host {
1168
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
1169
- --is-medium:
1170
- min(
1171
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
1172
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
1173
- );
1174
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
1175
- --component-size: 3;
1176
- }
1177
-
1178
- :host {
1179
- display: grid;
1180
- height: 100%;
1181
- position: relative;
1182
- font-family: var(--ig-font-family);
1183
- -webkit-box-shadow: var(--ig-elevation-2);
1184
- box-shadow: var(--ig-elevation-2);
1185
- overflow: auto hidden;
1186
- grid-template-rows: [header-row] -webkit-max-content [filter-row] -webkit-max-content [virtualized-container] auto;
1187
- grid-template-rows: [header-row] max-content [filter-row] max-content [virtualized-container] auto;
1188
- --scrollbar-offset: 0;
1189
- --z-index-base: 1;
1190
- }
1191
-
1192
- apex-virtualizer {
1193
- grid-row: virtualized-container;
1194
- display: -webkit-box;
1195
- display: -ms-flexbox;
1196
- display: flex;
1197
- -webkit-box-orient: vertical;
1198
- -webkit-box-direction: normal;
1199
- -ms-flex-flow: column;
1200
- flex-flow: column;
1201
- -webkit-box-flex: 1;
1202
- -ms-flex: 1;
1203
- flex: 1;
1204
- background: var(--igx-content-background, var(--content-background));
1205
- color: var(--igx-content-text-color, var(--content-text-color));
1206
- overflow: hidden auto !important;
1207
- }
1208
- apex-virtualizer:focus {
1209
- outline: none;
1210
- }
1211
-
1212
- [part~=resize-indicator] {
1213
- position: absolute;
1214
- height: 100%;
1215
- background-color: var(--igx-grid-resize-line-color, var(--grid-resize-line-color));
1216
- width: 0.125rem;
1217
- inset-inline-start: 0;
1218
- top: 0;
1219
- z-index: calc(var(--z-index-base) + 1);
1220
- }
1221
-
1222
- :host {
1223
- --content-background: var(hsla(var(--ig-gray-50), var(--ig-gray-a)));
1224
- --content-text-color: var(var(--ig-gray-50-contrast));
1225
- --header-background: hsla(var(--ig-gray-100), var(--ig-gray-a));
1226
- --header-text-color: hsla(var(--ig-gray-800), 0.7);
1227
- --header-border-width: 0.0625rem;
1228
- --header-border-style: solid;
1229
- --header-border-color: hsla(var(--ig-gray-400), 0.38);
1230
- --filtering-header-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1231
- --filtering-row-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1232
- --filtering-row-text-color: var(--ig-gray-50-contrast);
1233
- --sorted-header-icon-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));
1234
- --icon-color: "currentColor";
1235
- --row-hover-background: hsla(var(--ig-gray-200), var(--ig-gray-a));
1236
- --row-hover-text-color: var(--ig-gray-200-contrast);
1237
- --row-even-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1238
- --row-even-text-color: hsla(var(--ig-gray-800), var(--ig-gray-a));
1239
- --row-odd-background: hsla(var(--ig-gray-50), var(--ig-gray-a));
1240
- --row-odd-text-color: hsla(var(--ig-gray-800), var(--ig-gray-a));
1241
- --row-border-color: hsla(var(--ig-gray-300), 0.38);
1242
- --row-border-style: var(--header-border-style);
1243
- --row-border-width: var(--header-border-width);
1244
- --cell-active-border-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));
1245
- --grid-resize-line-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));
1246
- }`;
1247
- class ke extends Ve {
1248
- constructor() {
1249
- super(...arguments), this.scroller = !0;
1250
- }
1251
- static get is() {
1252
- return Ke;
1253
- }
1254
- static register() {
1255
- w(this);
1256
- }
1257
- async connectedCallback() {
1258
- await super.layoutComplete, super.connectedCallback(), this.setAttribute("tabindex", "0");
1259
- }
1260
- }
1261
- function D(t) {
1262
- return Object.keys(t).filter((e) => t[e]).join(" ");
1263
- }
1264
- const It = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
1265
- :host {
1266
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
1267
- --is-medium:
1268
- min(
1269
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
1270
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
1271
- );
1272
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
1273
- --component-size: 3;
1274
- }
1275
-
1276
- :host {
1277
- display: -webkit-box;
1278
- display: -ms-flexbox;
1279
- display: flex;
1280
- -webkit-box-align: center;
1281
- -ms-flex-align: center;
1282
- align-items: center;
1283
- position: relative;
1284
- -webkit-border-end: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1285
- border-inline-end: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1286
- font-weight: 600;
1287
- font-size: 0.75rem;
1288
- }
1289
-
1290
- :host(:last-of-type) {
1291
- -webkit-border-end: none;
1292
- border-inline-end: none;
1293
- }
1294
-
1295
- [part~=content] {
1296
- display: -webkit-box;
1297
- display: -ms-flexbox;
1298
- display: flex;
1299
- -webkit-box-align: center;
1300
- -ms-flex-align: center;
1301
- align-items: center;
1302
- -webkit-box-pack: justify;
1303
- -ms-flex-pack: justify;
1304
- justify-content: space-between;
1305
- width: 100%;
1306
- height: 100%;
1307
- padding: 0 max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
1308
- font-weight: 500;
1309
- overflow: hidden;
1310
- -webkit-user-select: none;
1311
- -moz-user-select: none;
1312
- -ms-user-select: none;
1313
- user-select: none;
1314
- }
1315
-
1316
- [part~=title] {
1317
- display: block;
1318
- position: relative;
1319
- cursor: initial;
1320
- white-space: nowrap;
1321
- -o-text-overflow: ellipsis;
1322
- text-overflow: ellipsis;
1323
- overflow: hidden;
1324
- min-width: 3ch;
1325
- }
1326
-
1327
- [part~=actions] {
1328
- display: -webkit-box;
1329
- display: -ms-flexbox;
1330
- display: flex;
1331
- gap: 0.25rem;
1332
- -webkit-box-align: center;
1333
- -ms-flex-align: center;
1334
- align-items: center;
1335
- }
1336
-
1337
- [part~=action] {
1338
- cursor: pointer;
1339
- opacity: 0.7;
1340
- -webkit-transition: opacity 0.25s ease-in-out;
1341
- -o-transition: opacity 0.25s ease-in-out;
1342
- transition: opacity 0.25s ease-in-out;
1343
- }
1344
- [part~=action]:hover, [part~=action]:focus {
1345
- opacity: 1;
1346
- }
1347
- [part~=action] igc-icon {
1348
- --size: 0.9375rem;
1349
- color: var(--igx-icon-color, var(--icon-color));
1350
- }
1351
- [part~=action] igc-icon::after {
1352
- content: attr(data-sortIndex);
1353
- position: absolute;
1354
- top: -5px;
1355
- inset-inline-end: -1px;
1356
- font-size: 0.625rem;
1357
- text-align: end;
1358
- font-family: sans-serif;
1359
- line-height: 0.625rem;
1360
- color: var(--igx-sorted-header-icon-color, var(--sorted-header-icon-color));
1361
- }
1362
-
1363
- [part~=sorted],
1364
- [part~=filtered] {
1365
- color: var(--igx-sorted-header-icon-color, var(--sorted-header-icon-color));
1366
- }
1367
- [part~=sorted] igc-icon,
1368
- [part~=filtered] igc-icon {
1369
- color: var(--igx-sorted-header-icon-color, var(--sorted-header-icon-color));
1370
- }
1371
-
1372
- [part~=filtered] {
1373
- background: var(--igx-filtering-header-background, var(--filtering-header-background));
1374
- }
1375
-
1376
- [part~=action]:empty {
1377
- display: none;
1378
- }
1379
-
1380
- [part~=resizable] {
1381
- width: 0.25rem;
1382
- height: 100%;
1383
- position: absolute;
1384
- inset-inline-end: -0.125rem;
1385
- z-index: var(--z-index-base);
1386
- cursor: col-resize;
1387
- }
1388
-
1389
- [part~=filter] {
1390
- position: relative;
1391
- }
1392
-
1393
- [part~=filter-count] {
1394
- position: absolute;
1395
- top: -5px;
1396
- inset-inline-end: -1px;
1397
- font-size: 0.625rem;
1398
- text-align: end;
1399
- font-family: sans-serif;
1400
- line-height: 0.625rem;
1401
- color: currentcolor;
1402
- }`;
1403
- var Lt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, _e = (t, e, i, r) => {
1404
- for (var a = r > 1 ? void 0 : r ? Mt(e, i) : e, s = t.length - 1, l; s >= 0; s--)
1405
- (l = t[s]) && (a = (r ? l(e, i, a) : l(a)) || a);
1406
- return r && a && Lt(e, i, a), a;
1407
- }, Ee = (t, e, i) => {
1408
- if (!e.has(t))
1409
- throw TypeError("Cannot " + i);
1410
- }, P = (t, e, i) => (Ee(t, e, "read from private field"), i ? i.call(t) : e.get(t)), k = (t, e, i) => {
1411
- if (e.has(t))
1412
- throw TypeError("Cannot add the same private member more than once");
1413
- e instanceof WeakSet ? e.add(t) : e.set(t, i);
1414
- }, V = (t, e, i) => (Ee(t, e, "access private method"), i), he, $e, Z, Se, H, Q, Ae, ce, K;
1415
- class A extends $ {
1416
- constructor() {
1417
- super(...arguments), k(this, he), k(this, Z), k(this, Q), k(this, H, ({ clientX: e }) => {
1418
- const { left: i } = this.getBoundingClientRect(), r = Math.max(e - i, we), a = this.offsetLeft + r;
1419
- this.resizeController.resize(this.column, r, a);
1420
- }), k(this, ce, () => {
1421
- this.resizeController.indicatorActive = !1, this.removeEventListener("pointermove", P(this, H)), this.resizeController.stop();
1422
- }), k(this, K, () => this.resizeController.autosize(this.column, this));
1423
- }
1424
- static get is() {
1425
- return Ye;
1426
- }
1427
- static register() {
1428
- w(this);
1429
- }
1430
- get context() {
1431
- return {
1432
- parent: this,
1433
- column: this.column
1434
- };
1435
- }
1436
- get isSortable() {
1437
- return !!this.column.sort;
1438
- }
1439
- get resizeController() {
1440
- return this.state.resizing;
1441
- }
1442
- renderSortPart() {
1443
- const e = this.state.sorting.state.get(this.column.key), i = Array.from(this.state.sorting.state.values()).indexOf(e), r = this.state.host.sortConfiguration.multiple ? i > -1 ? i + 1 : g : g, a = e ? e.direction === "ascending" ? ue : rt : ue;
1444
- return e || this.isSortable ? n`<span
1445
- part=${D({ action: !0, sorted: !!e?.direction })}
1446
- @click=${this.isSortable ? V(this, Z, Se) : g}
1447
- >
1448
- <igc-icon
1449
- part=${D({ "sorting-action": !!e })}
1450
- data-sortIndex=${r}
1451
- name=${a}
1452
- collection="internal"
1453
- ></igc-icon>
1454
- </span>` : g;
1455
- }
1456
- renderContentPart() {
1457
- const e = this.column.headerText ?? this.column.key, i = this.column.headerTemplate;
1458
- return n`
1459
- <span part="title">
1460
- <span>${i ? i(this.context) : n`${e}`}</span>
1461
- </span>
1462
- `;
1463
- }
1464
- renderResizePart() {
1465
- return this.column.resizable ? n`<span
1466
- part="resizable"
1467
- @dblclick=${P(this, K)}
1468
- @pointerdown=${V(this, Q, Ae)}
1469
- ></span>` : g;
1470
- }
1471
- render() {
1472
- return n`
1473
- <div
1474
- part=${D({
1475
- content: !0,
1476
- sortable: this.isSortable,
1477
- resizing: this.resizeController.indicatorActive
1478
- })}
1479
- >
1480
- ${this.renderContentPart()}
1481
- <div part="actions">${this.renderSortPart()}</div>
1482
- </div>
1483
- ${this.renderResizePart()}
1484
- `;
1485
- }
1486
- }
1487
- he = /* @__PURE__ */ new WeakSet();
1488
- $e = function() {
1489
- const t = { once: !0 };
1490
- this.addEventListener(
1491
- "gotpointercapture",
1492
- () => this.resizeController.indicatorActive = !0,
1493
- t
1494
- ), this.addEventListener("lostpointercapture", P(this, ce), t), this.addEventListener("pointerup", (e) => this.releasePointerCapture(e.pointerId), t), this.addEventListener("pointermove", P(this, H));
1495
- };
1496
- Z = /* @__PURE__ */ new WeakSet();
1497
- Se = function(t) {
1498
- t.stopPropagation(), this.state.sorting.sortFromHeaderClick(this.column);
1499
- };
1500
- H = /* @__PURE__ */ new WeakMap();
1501
- Q = /* @__PURE__ */ new WeakSet();
1502
- Ae = function(t) {
1503
- const { target: e, pointerId: i } = t;
1504
- t.preventDefault(), V(this, he, $e).call(this), this.resizeController.start(this), e.setPointerCapture(i);
1505
- };
1506
- ce = /* @__PURE__ */ new WeakMap();
1507
- K = /* @__PURE__ */ new WeakMap();
1508
- A.styles = It;
1509
- _e([
1510
- ne({ context: F, subscribe: !0 }),
1511
- o({ attribute: !1 })
1512
- ], A.prototype, "state", 2);
1513
- _e([
1514
- o({ attribute: !1 })
1515
- ], A.prototype, "column", 2);
1516
- const Dt = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
1517
- :host {
1518
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
1519
- --is-medium:
1520
- min(
1521
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
1522
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
1523
- );
1524
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
1525
- --component-size: 3;
1526
- }
1527
-
1528
- :host {
1529
- display: grid;
1530
- grid-row: header-row;
1531
- min-height: max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.125rem, -1 * 2.125rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem));
1532
- background: var(--igx-header-background, var(--header-background));
1533
- color: var(--igx-header-text-color, var(--header-text-color));
1534
- contain: content;
1535
- -webkit-border-after: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1536
- border-block-end: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1537
- z-index: var(--z-index-base);
1538
- -webkit-padding-end: var(--scrollbar-offset);
1539
- padding-inline-end: var(--scrollbar-offset);
1540
- }
1541
-
1542
- :host(:focus) {
1543
- outline: none;
1544
- }
1545
-
1546
- [part=filtered] {
1547
- background: var(--igx-filtering-header-background, var(--filtering-header-background));
1548
- }`;
1549
- var Rt = Object.defineProperty, Tt = Object.getOwnPropertyDescriptor, ge = (t, e, i, r) => {
1550
- for (var a = r > 1 ? void 0 : r ? Tt(e, i) : e, s = t.length - 1, l; s >= 0; s--)
1551
- (l = t[s]) && (a = (r ? l(e, i, a) : l(a)) || a);
1552
- return r && a && Rt(e, i, a), a;
1553
- }, Nt = (t, e, i) => {
1554
- if (!e.has(t))
1555
- throw TypeError("Cannot " + i);
1556
- }, Pt = (t, e, i) => {
1557
- if (e.has(t))
1558
- throw TypeError("Cannot add the same private member more than once");
1559
- e instanceof WeakSet ? e.add(t) : e.set(t, i);
1560
- }, Ht = (t, e, i) => (Nt(t, e, "access private method"), i), X, Oe;
1561
- class O extends $ {
1562
- constructor() {
1563
- super(), Pt(this, X), this.columns = [], this.addEventListener("click", Ht(this, X, Oe));
1564
- }
1565
- static get is() {
1566
- return Xe;
1567
- }
1568
- static register() {
1569
- w(this, [A]);
1570
- }
1571
- get headers() {
1572
- return Array.from(this._headers);
1573
- }
1574
- connectedCallback() {
1575
- super.connectedCallback(), this.setAttribute("tabindex", "0");
1576
- }
1577
- shouldUpdate(e) {
1578
- return this.headers.forEach((i) => i.requestUpdate()), super.shouldUpdate(e);
1579
- }
1580
- render() {
1581
- const e = this.state.filtering.filterRow;
1582
- return n`${be(
1583
- this.columns,
1584
- (i) => i.hidden ? g : n`<apex-grid-header
1585
- part=${D({
1586
- filtered: i === e?.column
1587
- })}
1588
- .column=${i}
1589
- ></apex-grid-header>`
1590
- )}`;
1591
- }
1592
- }
1593
- X = /* @__PURE__ */ new WeakSet();
1594
- Oe = function(t) {
1595
- const e = t.composedPath().filter((i) => i instanceof A).at(0);
1596
- this.state.filtering.setActiveColumn(e?.column);
1597
- };
1598
- O.styles = Dt;
1599
- ge([
1600
- oe(A.is)
1601
- ], O.prototype, "_headers", 2);
1602
- ge([
1603
- ne({ context: F, subscribe: !0 }),
1604
- o({ attribute: !1 })
1605
- ], O.prototype, "state", 2);
1606
- ge([
1607
- o({ attribute: !1 })
1608
- ], O.prototype, "columns", 2);
1609
- const Wt = b`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
1610
- :host {
1611
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
1612
- --is-medium:
1613
- min(
1614
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
1615
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
1616
- );
1617
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
1618
- --component-size: 3;
1619
- }
1620
-
1621
- :host {
1622
- --ig-size: 1;
1623
- display: grid;
1624
- grid-row: filter-row;
1625
- min-height: max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.125rem, -1 * 2.125rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem));
1626
- background: var(--igx-header-background, var(--header-background));
1627
- color: var(--igx-header-text-color, var(--header-text-color));
1628
- -webkit-border-after: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1629
- border-block-end: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1630
- z-index: var(--z-index-base);
1631
- -webkit-padding-end: var(--scrollbar-offset);
1632
- padding-inline-end: var(--scrollbar-offset);
1633
- }
1634
-
1635
- [part=filter-row-preview] {
1636
- display: -webkit-box;
1637
- display: -ms-flexbox;
1638
- display: flex;
1639
- -webkit-box-align: center;
1640
- -ms-flex-align: center;
1641
- align-items: center;
1642
- overflow: hidden;
1643
- padding: 0 max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
1644
- background: var(--igx-filtering-row-background, var(--filtering-row-background));
1645
- color: var(--igx-filtering-row-text-color, var(--filtering-row-text-color));
1646
- -webkit-border-end: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1647
- border-inline-end: var(--igx-header-border-width, var(--header-border-width)) var(--igx-header-border-style, var(--header-border-style)) var(--igx-header-border-color, var(--header-border-color));
1648
- }
1649
-
1650
- [part~=active-state] {
1651
- background: var(--igx-filtering-row-background, var(--filtering-row-background));
1652
- color: var(--igx-filtering-row-text-color, var(--filtering-row-text-color));
1653
- min-height: max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.125rem, -1 * 2.125rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem));
1654
- min-width: 100%;
1655
- display: -webkit-box;
1656
- display: -ms-flexbox;
1657
- display: flex;
1658
- -webkit-box-align: center;
1659
- -ms-flex-align: center;
1660
- align-items: center;
1661
- gap: 0.5rem;
1662
- position: relative;
1663
- inset-block-start: -0.0625rem;
1664
- }
1665
-
1666
- [part=filter-row-preview]:last-of-type {
1667
- -webkit-border-end: none;
1668
- border-inline-end: none;
1669
- }
1670
-
1671
- [part~=filter-row-input] {
1672
- -webkit-padding-start: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
1673
- padding-inline-start: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
1674
- }
1675
-
1676
- [part~=filter-row-actions] {
1677
- -webkit-padding-end: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
1678
- padding-inline-end: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.5rem, -1 * 0.5rem));
1679
- }
1680
-
1681
- [part~=filter-row-input],
1682
- [part~=filter-row-filters],
1683
- [part~=filter-row-actions] {
1684
- display: -webkit-box;
1685
- display: -ms-flexbox;
1686
- display: flex;
1687
- -webkit-box-align: center;
1688
- -ms-flex-align: center;
1689
- align-items: center;
1690
- }
1691
-
1692
- [part~=filter-row-filters] {
1693
- -webkit-box-flex: 1;
1694
- -ms-flex: 1;
1695
- flex: 1;
1696
- overflow: hidden;
1697
- }
1698
-
1699
- igc-input::part(container), igc-input::part(input) {
1700
- background: inherit;
1701
- color: inherit;
1702
- }`;
1703
- var Ft = Object.defineProperty, Ut = Object.getOwnPropertyDescriptor, f = (t, e, i, r) => {
1704
- for (var a = r > 1 ? void 0 : r ? Ut(e, i) : e, s = t.length - 1, l; s >= 0; s--)
1705
- (l = t[s]) && (a = (r ? l(e, i, a) : l(a)) || a);
1706
- return r && a && Ft(e, i, a), a;
1707
- }, Bt = (t, e, i) => {
1708
- if (!e.has(t))
1709
- throw TypeError("Cannot " + i);
1710
- }, p = (t, e, i) => {
1711
- if (e.has(t))
1712
- throw TypeError("Cannot add the same private member more than once");
1713
- e instanceof WeakSet ? e.add(t) : e.set(t, i);
1714
- }, c = (t, e, i) => (Bt(t, e, "access private method"), i), L, B, j, me, R, Y, J, qe, ee, Ie, te, Le, ie, Me, re, De, ae, Re, se, Te, T, le;
1715
- function q(t) {
1716
- return n`<igc-icon
1717
- slot="prefix"
1718
- name=${fe(t)}
1719
- collection="internal"
1720
- ></igc-icon>`;
1721
- }
1722
- class u extends $ {
1723
- constructor() {
1724
- super(...arguments), p(this, L), p(this, j), p(this, R), p(this, J), p(this, ee), p(this, te), p(this, ie), p(this, re), p(this, ae), p(this, se), p(this, T), this.active = !1, this.column = G;
1725
- }
1726
- static get is() {
1727
- return tt;
1728
- }
1729
- static register() {
1730
- w(this);
1731
- }
1732
- get isNumeric() {
1733
- return this.column.type === "number";
1734
- }
1735
- get filterController() {
1736
- return this.state.filtering;
1737
- }
1738
- get condition() {
1739
- return this.expression.condition;
1740
- }
1741
- activeChanged() {
1742
- this.style.display = this.active ? "flex" : "", this.active || (this.column = G), this.state.host.requestUpdate();
1743
- }
1744
- renderCriteriaButton(e, i) {
1745
- return i ? n`<igc-button
1746
- variant="flat"
1747
- @click=${c(this, ae, Re).call(this, e)}
1748
- >
1749
- ${e.criteria}
1750
- </igc-button>` : g;
1751
- }
1752
- renderExpressionChip(e) {
1753
- const { name: i, unary: r } = e.expression.condition, { searchTerm: a } = e.expression, s = n`<span slot="select"></span>${q(i)}`;
1754
- return n`<igc-chip
1755
- selectable
1756
- removable
1757
- ?selected=${e.selected}
1758
- @igcRemove=${e.onRemove}
1759
- @igcSelect=${e.onSelect}
1760
- >
1761
- ${s}${r ? i : a}
1762
- </igc-chip>`;
1763
- }
1764
- renderActiveChips() {
1765
- const e = this.filterController.get(this.column.key);
1766
- return e ? Array.from(e).map((i, r) => {
1767
- const a = {
1768
- expression: i,
1769
- selected: this.expression === i,
1770
- onRemove: c(this, T, le).call(this, i),
1771
- onSelect: c(this, se, Te).call(this, i)
1772
- };
1773
- return n`${this.renderCriteriaButton(i, r)}${this.renderExpressionChip(
1774
- a
1775
- )}`;
1776
- }) : g;
1777
- }
1778
- renderFilterActions() {
1779
- return n`
1780
- <igc-button
1781
- id="reset"
1782
- variant="flat"
1783
- @click=${c(this, ie, Me)}
1784
- >
1785
- ${q("refresh")} Reset
1786
- </igc-button>
1787
- <igc-button
1788
- id="close"
1789
- variant="flat"
1790
- @click=${() => this.active = !1}
1791
- >
1792
- ${q("close")} Close
1793
- </igc-button>
1794
- `;
1795
- }
1796
- renderDropdown() {
1797
- return n`<igc-dropdown
1798
- flip
1799
- same-width
1800
- @igcChange=${c(this, J, qe)}
1801
- >
1802
- ${Object.entries(W(this.column)).map(
1803
- ([e, i]) => n`
1804
- <igc-dropdown-item
1805
- .value=${e}
1806
- ?selected=${this.condition.name === e}
1807
- >
1808
- ${q(e)}${i?.label ?? e}
1809
- </igc-dropdown-item>
1810
- `
1811
- )}
1812
- </igc-dropdown>`;
1813
- }
1814
- renderDropdownTarget() {
1815
- return n`<igc-icon
1816
- id="condition"
1817
- slot="prefix"
1818
- collection="internal"
1819
- .name=${this.condition.name}
1820
- @click=${c(this, re, De)}
1821
- >
1822
- </igc-icon>`;
1823
- }
1824
- renderInputArea() {
1825
- return n`<igc-input
1826
- outlined
1827
- value=${fe(this.expression.searchTerm)}
1828
- placeholder="Add filter value"
1829
- ?readonly=${this.condition.unary}
1830
- @igcInput=${c(this, ee, Ie)}
1831
- @keydown=${c(this, te, Le)}
1832
- >
1833
- ${this.renderDropdownTarget()}
1834
- </igc-input>
1835
- ${this.renderDropdown()}`;
1836
- }
1837
- renderActiveState() {
1838
- return n`<div part="active-state">
1839
- <div part="filter-row-input">${this.renderInputArea()}</div>
1840
- <div part="filter-row-filters">${this.renderActiveChips()}</div>
1841
- <div part="filter-row-actions">${this.renderFilterActions()}</div>
1842
- </div> `;
1843
- }
1844
- renderInactiveChips(e, i) {
1845
- return Array.from(i).map((r, a) => {
1846
- const s = {
1847
- expression: r,
1848
- selected: !1,
1849
- onRemove: c(this, T, le).call(this, r),
1850
- onSelect: (l) => {
1851
- l.stopPropagation(), this.column = e, this.expression = r, c(this, R, Y).call(this);
1852
- }
1853
- };
1854
- return n`${this.renderCriteriaButton(r, a)}${this.renderExpressionChip(s)}`;
1855
- });
1856
- }
1857
- renderFilterState(e) {
1858
- const i = this.filterController.get(e.key), r = i && i.length < 3, a = i && i.length >= 3, s = () => {
1859
- this.column = e, c(this, L, B).call(this), c(this, R, Y).call(this);
1860
- }, l = a ? n`<span slot="suffix">${i.length}</span>` : g, v = n`<igc-chip
1861
- data-column=${e.key}
1862
- @click=${s}
1863
- >${q("filter")}Filter${l}</igc-chip
1864
- >`;
1865
- return r ? this.renderInactiveChips(e, i) : v;
1866
- }
1867
- renderInactiveState() {
1868
- return this.state.host.columns.map(
1869
- (e) => e.hidden ? g : n`<div part="filter-row-preview">
1870
- ${e.filter ? this.renderFilterState(e) : g}
1871
- </div>`
1872
- );
1873
- }
1874
- render() {
1875
- return n`${this.active ? this.renderActiveState() : this.renderInactiveState()}`;
1876
- }
1877
- }
1878
- L = /* @__PURE__ */ new WeakSet();
1879
- B = function() {
1880
- this.expression = this.filterController.getDefaultExpression(this.column);
1881
- };
1882
- j = /* @__PURE__ */ new WeakSet();
1883
- me = function(t) {
1884
- this.filterController.removeExpression(t);
1885
- };
1886
- R = /* @__PURE__ */ new WeakSet();
1887
- Y = async function() {
1888
- this.active = !0, await this.updateComplete, this.input?.select();
1889
- };
1890
- J = /* @__PURE__ */ new WeakSet();
1891
- qe = function(t) {
1892
- t.stopPropagation();
1893
- const e = t.detail.value;
1894
- this.expression.condition = W(this.column)[e], (this.input.value || this.expression.condition.unary) && this.filterController.filterWithEvent(this.expression, "modify"), this.requestUpdate();
1895
- };
1896
- ee = /* @__PURE__ */ new WeakSet();
1897
- Ie = function(t) {
1898
- t.stopPropagation();
1899
- const e = this.isNumeric ? parseFloat(t.detail) : t.detail, i = this.isNumeric ? !isNaN(e) : !!e, r = this.filterController.get(this.expression.key)?.has(this.expression) ? "modify" : "add";
1900
- i ? (this.expression.searchTerm = e, this.filterController.filterWithEvent(this.expression, r)) : c(this, j, me).call(this, this.expression), this.requestUpdate();
1901
- };
1902
- te = /* @__PURE__ */ new WeakSet();
1903
- Le = function(t) {
1904
- switch (t.stopPropagation(), t.key) {
1905
- case "Enter":
1906
- this.input.value = "", c(this, L, B).call(this);
1907
- return;
1908
- case "Escape":
1909
- this.active = !1;
1910
- return;
1911
- default:
1912
- return;
1913
- }
1914
- };
1915
- ie = /* @__PURE__ */ new WeakSet();
1916
- Me = function() {
1917
- this.filterController.removeAllExpressions(this.column.key), this.requestUpdate();
1918
- };
1919
- re = /* @__PURE__ */ new WeakSet();
1920
- De = function() {
1921
- this.dropdown.toggle(this.input);
1922
- };
1923
- ae = /* @__PURE__ */ new WeakSet();
1924
- Re = function(t) {
1925
- return async (e) => {
1926
- e.stopPropagation(), t.criteria = t.criteria === "and" ? "or" : "and", this.filterController.filterWithEvent(t, "modify"), this.requestUpdate();
1927
- };
1928
- };
1929
- se = /* @__PURE__ */ new WeakSet();
1930
- Te = function(t) {
1931
- return async (e) => {
1932
- e.stopPropagation(), this.expression = t, await this.updateComplete, this.input?.select();
1933
- };
1934
- };
1935
- T = /* @__PURE__ */ new WeakSet();
1936
- le = function(t) {
1937
- return async (e) => {
1938
- e.stopPropagation(), c(this, j, me).call(this, t), this.active && this.expression === t && (c(this, L, B).call(this), await this.updateComplete, this.input.focus()), this.requestUpdate();
1939
- };
1940
- };
1941
- u.styles = Wt;
1942
- f([
1943
- ne({ context: F, subscribe: !0 }),
1944
- o({ attribute: !1 })
1945
- ], u.prototype, "state", 2);
1946
- f([
1947
- o({ attribute: !1 })
1948
- ], u.prototype, "active", 2);
1949
- f([
1950
- S(ye.tagName)
1951
- ], u.prototype, "input", 2);
1952
- f([
1953
- S("#condition")
1954
- ], u.prototype, "conditionElement", 2);
1955
- f([
1956
- S(xe.tagName)
1957
- ], u.prototype, "dropdown", 2);
1958
- f([
1959
- o({ attribute: !1 })
1960
- ], u.prototype, "column", 2);
1961
- f([
1962
- o({ attribute: !1 })
1963
- ], u.prototype, "expression", 2);
1964
- f([
1965
- U("active", { waitUntilFirstUpdate: !0 })
1966
- ], u.prototype, "activeChanged", 1);
1967
- var jt = Object.defineProperty, Gt = Object.getOwnPropertyDescriptor, h = (t, e, i, r) => {
1968
- for (var a = r > 1 ? void 0 : r ? Gt(e, i) : e, s = t.length - 1, l; s >= 0; s--)
1969
- (l = t[s]) && (a = (r ? l(e, i, a) : l(a)) || a);
1970
- return r && a && jt(e, i, a), a;
1971
- };
1972
- let d = class extends St {
1973
- constructor() {
1974
- super(...arguments), this.stateController = new wt(this), this.DOM = new $t(this, this.stateController), this.dataController = new kt(this), this.stateProvider = new Pe(this, {
1975
- context: F,
1976
- initialValue: this.stateController
1977
- }), this.dataState = [], this.columns = [], this.data = [], this.autoGenerate = !1, this.sortConfiguration = {
1978
- multiple: !0,
1979
- triState: !0
1980
- };
1981
- }
1982
- static get is() {
1983
- return Qe;
1984
- }
1985
- static register() {
1986
- w(this, [ke, y, O, u]), Ue(
1987
- Be,
1988
- je,
1989
- ye,
1990
- xe,
1991
- Ge
1992
- );
1993
- }
1994
- /**
1995
- * Set the sort state for the grid.
1996
- */
1997
- set sortExpressions(t) {
1998
- t.length && this.sort(t);
1999
- }
2000
- get sortExpressions() {
2001
- return Array.from(this.stateController.sorting.state.values());
2002
- }
2003
- /**
2004
- * Set the filter state for the grid.
2005
- */
2006
- set filterExpressions(t) {
2007
- t.length && this.filter(t);
2008
- }
2009
- get filterExpressions() {
2010
- return this.stateController.filtering.state.values.reduce(
2011
- (t, e) => [...t, ...e.all],
2012
- []
2013
- );
2014
- }
2015
- /**
2016
- * Returns the collection of rendered row elements in the grid.
2017
- *
2018
- * @remarks
2019
- * Since the grid has virtualization, this property returns only the currently rendered
2020
- * chunk of elements in the DOM.
2021
- */
2022
- get rows() {
2023
- return Array.from(this._rows);
2024
- }
2025
- /**
2026
- * Returns the state of the data source after sort/filter operations
2027
- * have been applied.
2028
- */
2029
- get dataView() {
2030
- return this.dataState;
2031
- }
2032
- /**
2033
- * The total number of items in the {@link ApexGrid.dataView} collection.
2034
- */
2035
- get totalItems() {
2036
- return this.dataState.length;
2037
- }
2038
- watchColumns(t, e = []) {
2039
- this.columns = e.map((i) => ({ ...G, ...i }));
2040
- }
2041
- dataChanged() {
2042
- this.dataState = structuredClone(this.data), ot(this), this.hasUpdated && this.pipeline();
2043
- }
2044
- async pipeline() {
2045
- this.dataState = await this.dataController.apply(
2046
- structuredClone(this.data),
2047
- this.stateController
2048
- );
2049
- }
2050
- /**
2051
- * Performs a filter operation in the grid based on the passed expression(s).
2052
- */
2053
- filter(t) {
2054
- this.stateController.filtering.filter(
2055
- E(t).map(
2056
- (e) => typeof e.condition == "string" ? (
2057
- // XXX: Types
2058
- Object.assign(e, {
2059
- condition: W(this.getColumn(e.key))[e.condition]
2060
- })
2061
- ) : e
2062
- )
2063
- );
2064
- }
2065
- /**
2066
- * Performs a sort operation in the grid based on the passed expression(s).
2067
- */
2068
- sort(t) {
2069
- this.stateController.sorting.sort(t);
2070
- }
2071
- /**
2072
- * Resets the current sort state of the control.
2073
- */
2074
- clearSort(t) {
2075
- this.stateController.sorting.reset(t), this.requestUpdate(_);
2076
- }
2077
- /**
2078
- * Resets the current filter state of the control.
2079
- */
2080
- clearFilter(t) {
2081
- this.stateController.filtering.reset(t), this.requestUpdate(_);
2082
- }
2083
- /**
2084
- * Returns a {@link ColumnConfiguration} for a given column.
2085
- */
2086
- getColumn(t) {
2087
- return typeof t == "number" ? this.columns.at(t) : this.columns.find(({ key: e }) => e === t);
2088
- }
2089
- /**
2090
- * Updates the column configuration of the grid.
2091
- */
2092
- updateColumns(t) {
2093
- E(t).forEach((e) => {
2094
- const i = this.columns.findIndex((r) => r.key === e.key);
2095
- this.columns[i] = { ...this.columns[i], ...e };
2096
- }), this.requestUpdate(_);
2097
- }
2098
- bodyClickHandler(t) {
2099
- const e = t.composedPath().find((i) => i instanceof z);
2100
- e && (this.stateController.active = {
2101
- column: e.column.key,
2102
- row: e.row.index
2103
- });
2104
- }
2105
- bodyKeydownHandler(t) {
2106
- this.scrollContainer.isSameNode(t.target) && this.stateController.navigation.navigate(t);
2107
- }
2108
- renderHeaderRow() {
2109
- return n`<apex-grid-header-row
2110
- style=${N(this.DOM.columnSizes)}
2111
- .columns=${this.columns}
2112
- ></apex-grid-header-row>`;
2113
- }
2114
- renderBody() {
2115
- return n`
2116
- <apex-virtualizer
2117
- .items=${this.dataState}
2118
- .renderItem=${this.DOM.rowRenderer}
2119
- @click=${this.bodyClickHandler}
2120
- @keydown=${this.bodyKeydownHandler}
2121
- ></apex-virtualizer>
2122
- `;
2123
- }
2124
- renderFilterRow() {
2125
- return this.columns.some((t) => t.filter) ? n`<apex-filter-row style=${N(this.DOM.columnSizes)}></apex-filter-row>` : g;
2126
- }
2127
- render() {
2128
- return n` ${this.stateController.resizing.renderIndicator()} ${this.renderHeaderRow()}
2129
- ${this.renderFilterRow()} ${this.renderBody()}`;
2130
- }
2131
- };
2132
- d.styles = Ce;
2133
- h([
2134
- S(ke.is)
2135
- ], d.prototype, "scrollContainer", 2);
2136
- h([
2137
- S(O.is)
2138
- ], d.prototype, "headerRow", 2);
2139
- h([
2140
- S(u.is)
2141
- ], d.prototype, "filterRow", 2);
2142
- h([
2143
- He()
2144
- ], d.prototype, "dataState", 2);
2145
- h([
2146
- oe(y.is)
2147
- ], d.prototype, "_rows", 2);
2148
- h([
2149
- o({ attribute: !1 })
2150
- ], d.prototype, "columns", 2);
2151
- h([
2152
- o({ attribute: !1 })
2153
- ], d.prototype, "data", 2);
2154
- h([
2155
- o({ type: Boolean, attribute: "auto-generate" })
2156
- ], d.prototype, "autoGenerate", 2);
2157
- h([
2158
- o({ attribute: !1 })
2159
- ], d.prototype, "sortConfiguration", 2);
2160
- h([
2161
- o({ attribute: !1 })
2162
- ], d.prototype, "dataPipelineConfiguration", 2);
2163
- h([
2164
- o({ attribute: !1 })
2165
- ], d.prototype, "sortExpressions", 1);
2166
- h([
2167
- o({ attribute: !1 })
2168
- ], d.prototype, "filterExpressions", 1);
2169
- h([
2170
- U("columns")
2171
- ], d.prototype, "watchColumns", 1);
2172
- h([
2173
- U("data")
2174
- ], d.prototype, "dataChanged", 1);
2175
- h([
2176
- U(_)
2177
- ], d.prototype, "pipeline", 1);
2178
- h([
2179
- We({ capture: !0 })
2180
- ], d.prototype, "bodyClickHandler", 1);
2181
- d = h([
2182
- Ze({
2183
- bootstrap: Ce,
2184
- fluent: At,
2185
- indigo: Ot,
2186
- material: qt
2187
- })
2188
- ], d);
2189
- export {
2190
- d as ApexGrid,
2191
- at as BooleanOperands,
2192
- st as NumberOperands,
2193
- lt as StringOperands
2194
- };