@acorex/components 21.0.1-next.0 → 21.0.1-next.1

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 (242) hide show
  1. package/accordion/index.d.ts +1 -0
  2. package/button-group/index.d.ts +4 -6
  3. package/chips/index.d.ts +8 -3
  4. package/collapse/index.d.ts +6 -4
  5. package/data-table/index.d.ts +253 -4
  6. package/dialog/index.d.ts +1 -1
  7. package/fesm2022/acorex-components-accordion.mjs +21 -16
  8. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  9. package/fesm2022/acorex-components-action-sheet.mjs +12 -12
  10. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  11. package/fesm2022/acorex-components-alert.mjs +13 -13
  12. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  13. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  14. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  15. package/fesm2022/acorex-components-audio-wave.mjs +10 -11
  16. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  17. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  18. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  19. package/fesm2022/acorex-components-avatar.mjs +12 -12
  20. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  21. package/fesm2022/acorex-components-badge.mjs +9 -9
  22. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  23. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  24. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  25. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  26. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  27. package/fesm2022/acorex-components-button-group.mjs +19 -23
  28. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  29. package/fesm2022/acorex-components-button.mjs +18 -18
  30. package/fesm2022/acorex-components-button.mjs.map +1 -1
  31. package/fesm2022/acorex-components-calendar.mjs +17 -17
  32. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  33. package/fesm2022/acorex-components-check-box.mjs +10 -10
  34. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  35. package/fesm2022/acorex-components-chips.mjs +14 -12
  36. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  37. package/fesm2022/acorex-components-circular-progress.mjs +10 -12
  38. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  39. package/fesm2022/acorex-components-code-editor.mjs +10 -10
  40. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  41. package/fesm2022/acorex-components-collapse.mjs +19 -22
  42. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  43. package/fesm2022/acorex-components-color-box.mjs +9 -9
  44. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  45. package/fesm2022/acorex-components-color-palette.mjs +30 -30
  46. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  47. package/fesm2022/acorex-components-command.mjs +9 -9
  48. package/fesm2022/acorex-components-command.mjs.map +1 -1
  49. package/fesm2022/acorex-components-comment.mjs +32 -32
  50. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  51. package/fesm2022/acorex-components-conversation.mjs +51 -51
  52. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  53. package/fesm2022/acorex-components-conversation2.mjs +184 -184
  54. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  55. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  56. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-list.mjs +3 -3
  58. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  59. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  60. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  61. package/fesm2022/acorex-components-data-table.mjs +486 -50
  62. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  63. package/fesm2022/acorex-components-datetime-box.mjs +9 -9
  64. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  65. package/fesm2022/acorex-components-datetime-input.mjs +9 -9
  66. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  67. package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
  68. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  69. package/fesm2022/acorex-components-decorators.mjs +36 -43
  70. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  71. package/fesm2022/acorex-components-dialog.mjs +14 -15
  72. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  73. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  74. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  75. package/fesm2022/acorex-components-drawer.mjs +16 -15
  76. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  77. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  78. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  79. package/fesm2022/acorex-components-dropdown.mjs +16 -18
  80. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  81. package/fesm2022/acorex-components-editor.mjs +11 -11
  82. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  83. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  84. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  85. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  86. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  87. package/fesm2022/acorex-components-form.mjs +24 -32
  88. package/fesm2022/acorex-components-form.mjs.map +1 -1
  89. package/fesm2022/acorex-components-grid-layout-builder.mjs +13 -12
  90. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  91. package/fesm2022/acorex-components-image-editor.mjs +44 -44
  92. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  93. package/fesm2022/acorex-components-image.mjs +9 -9
  94. package/fesm2022/acorex-components-image.mjs.map +1 -1
  95. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  96. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  97. package/fesm2022/acorex-components-kanban.mjs +6 -8
  98. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  99. package/fesm2022/acorex-components-kbd.mjs +11 -29
  100. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  101. package/fesm2022/acorex-components-label.mjs +9 -9
  102. package/fesm2022/acorex-components-label.mjs.map +1 -1
  103. package/fesm2022/acorex-components-list.mjs +9 -9
  104. package/fesm2022/acorex-components-list.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
  106. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  107. package/fesm2022/acorex-components-loading.mjs +23 -23
  108. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  109. package/fesm2022/acorex-components-map.mjs +14 -14
  110. package/fesm2022/acorex-components-map.mjs.map +1 -1
  111. package/fesm2022/acorex-components-media-viewer.mjs +39 -39
  112. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  113. package/fesm2022/acorex-components-menu.mjs +43 -22
  114. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  115. package/fesm2022/{acorex-components-modal-acorex-components-modal-BnUdtPke.mjs → acorex-components-modal-acorex-components-modal-BNmjgw73.mjs} +47 -23
  116. package/fesm2022/acorex-components-modal-acorex-components-modal-BNmjgw73.mjs.map +1 -0
  117. package/fesm2022/acorex-components-modal-modal-content.component-B02583hv.mjs +212 -0
  118. package/fesm2022/acorex-components-modal-modal-content.component-B02583hv.mjs.map +1 -0
  119. package/fesm2022/acorex-components-modal.mjs +1 -1
  120. package/fesm2022/acorex-components-navbar.mjs +9 -9
  121. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  122. package/fesm2022/acorex-components-notification.mjs +23 -16
  123. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  124. package/fesm2022/acorex-components-number-box-legacy.mjs +9 -9
  125. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  126. package/fesm2022/acorex-components-number-box.mjs +13 -14
  127. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  128. package/fesm2022/acorex-components-otp.mjs +9 -9
  129. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  130. package/fesm2022/acorex-components-page.mjs +10 -10
  131. package/fesm2022/acorex-components-page.mjs.map +1 -1
  132. package/fesm2022/acorex-components-paint.mjs +39 -34
  133. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  134. package/fesm2022/acorex-components-password-box.mjs +13 -13
  135. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  136. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  137. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  138. package/fesm2022/acorex-components-phone-box.mjs +9 -9
  139. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-picker.mjs +17 -17
  141. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  142. package/fesm2022/acorex-components-popover.mjs +143 -182
  143. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  144. package/fesm2022/acorex-components-popup.mjs +316 -113
  145. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  146. package/fesm2022/acorex-components-progress-bar.mjs +9 -11
  147. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  148. package/fesm2022/acorex-components-qrcode.mjs +9 -9
  149. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  150. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  151. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  152. package/fesm2022/acorex-components-radio.mjs +9 -9
  153. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  154. package/fesm2022/acorex-components-rail-navigation.mjs +36 -38
  155. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  156. package/fesm2022/acorex-components-range-slider.mjs +10 -10
  157. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rate-picker.mjs +35 -20
  159. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  160. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  161. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  162. package/fesm2022/acorex-components-result.mjs +8 -8
  163. package/fesm2022/acorex-components-result.mjs.map +1 -1
  164. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  165. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  166. package/fesm2022/acorex-components-rrule.mjs +9 -9
  167. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  168. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  169. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  170. package/fesm2022/acorex-components-scheduler.mjs +43 -43
  171. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  172. package/fesm2022/acorex-components-scss.mjs +4 -4
  173. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  174. package/fesm2022/acorex-components-search-box.mjs +10 -16
  175. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-select-box.mjs +9 -11
  177. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  178. package/fesm2022/acorex-components-selection-list-2.mjs +11 -11
  179. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  180. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  181. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  182. package/fesm2022/acorex-components-side-menu.mjs +25 -74
  183. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  184. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  185. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  186. package/fesm2022/acorex-components-slider.mjs +12 -12
  187. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  188. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  189. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  190. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  191. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  192. package/fesm2022/acorex-components-switch.mjs +14 -14
  193. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tabs.mjs +15 -15
  195. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  196. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  197. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  198. package/fesm2022/acorex-components-tag.mjs +9 -9
  199. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  200. package/fesm2022/acorex-components-text-area.mjs +9 -9
  201. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  202. package/fesm2022/acorex-components-text-box.mjs +12 -12
  203. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  204. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  205. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  206. package/fesm2022/acorex-components-time-line.mjs +12 -12
  207. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  208. package/fesm2022/acorex-components-toast.mjs +14 -14
  209. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  210. package/fesm2022/acorex-components-toolbar.mjs +8 -8
  211. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  212. package/fesm2022/acorex-components-tooltip.mjs +19 -18
  213. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  214. package/fesm2022/acorex-components-tree-view-legacy.mjs +10 -10
  215. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  216. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  217. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  218. package/fesm2022/acorex-components-uploader.mjs +16 -16
  219. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  220. package/fesm2022/acorex-components-video-player.mjs +8 -8
  221. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  222. package/fesm2022/acorex-components-wysiwyg.mjs +42 -42
  223. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  224. package/fesm2022/acorex-components.mjs.map +1 -1
  225. package/grid-layout-builder/index.d.ts +2 -1
  226. package/kbd/index.d.ts +7 -13
  227. package/loading/index.d.ts +1 -1
  228. package/menu/index.d.ts +4 -0
  229. package/modal/index.d.ts +7 -0
  230. package/notification/index.d.ts +2 -0
  231. package/number-box/index.d.ts +1 -1
  232. package/package.json +3 -3
  233. package/paint/index.d.ts +6 -1
  234. package/popover/index.d.ts +20 -27
  235. package/popup/index.d.ts +103 -27
  236. package/rate-picker/index.d.ts +15 -5
  237. package/side-menu/index.d.ts +2 -9
  238. package/slider/index.d.ts +2 -2
  239. package/tooltip/index.d.ts +1 -0
  240. package/fesm2022/acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map +0 -1
  241. package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs +0 -214
  242. package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { MXBaseComponent, convertArrayToDataSource, AXComponent, AXRippleDirective, AXCommonModule } from '@acorex/cdk/common';
1
+ import { MXBaseComponent, convertArrayToDataSource, AXComponent, AXRippleDirective, AXListDataSource, AXPagedComponent, AXCommonModule } from '@acorex/cdk/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { EventEmitter, signal, Input, Output, Injectable, inject, ElementRef, Renderer2, NgZone, ChangeDetectorRef, DOCUMENT, PLATFORM_ID, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, computed, untracked, ContentChildren, ContentChild, NgModule } from '@angular/core';
4
4
  import { isEqual, cloneDeep } from 'lodash-es';
@@ -23,7 +23,8 @@ import { AXDataPagerComponent, AXDataPagerNumericSelectorComponent, AXDataPagerP
23
23
  import { AXResultModule } from '@acorex/components/result';
24
24
  import { AXSkeletonComponent, AXSkeletonModule } from '@acorex/components/skeleton';
25
25
  import { moveItemInArray, CdkDropList, CdkDrag, CdkDragPlaceholder, CdkDragHandle } from '@angular/cdk/drag-drop';
26
- import { CdkScrollable, ScrollingModule } from '@angular/cdk/scrolling';
26
+ import { CdkScrollable, CdkVirtualScrollableElement, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, ScrollingModule } from '@angular/cdk/scrolling';
27
+ import sum from 'lodash-es/sum';
27
28
 
28
29
  class AXBaseDataTable extends MXBaseComponent {
29
30
  constructor() {
@@ -129,10 +130,10 @@ class AXBaseDataTable extends MXBaseComponent {
129
130
  this.selectedRows = this.selectedRows.filter((c) => !removedRowIds.includes(typeof c === 'object' ? c[key] : c));
130
131
  //this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));
131
132
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXBaseDataTable, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
133
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXBaseDataTable }); }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXBaseDataTable, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
134
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXBaseDataTable }); }
134
135
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXBaseDataTable, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXBaseDataTable, decorators: [{
136
137
  type: Injectable
137
138
  }], propDecorators: { dataSource: [{
138
139
  type: Input
@@ -165,10 +166,10 @@ class AXDataTableColumnComponent {
165
166
  get cssClass() {
166
167
  return null;
167
168
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
169
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableColumnComponent }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
170
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableColumnComponent }); }
170
171
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableColumnComponent, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableColumnComponent, decorators: [{
172
173
  type: Injectable
173
174
  }], propDecorators: { caption: [{
174
175
  type: Input
@@ -250,10 +251,10 @@ class AXDataTableColumnResizableDirective {
250
251
  this.cdr.reattach(); // Reattach the change detector
251
252
  }
252
253
  }
253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
254
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: AXDataTableColumnResizableDirective, isStandalone: true, selector: "[ax-table-column-resizble]", inputs: { column: ["ax-table-column-resizble", "column"] }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 }); }
254
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
255
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: AXDataTableColumnResizableDirective, isStandalone: true, selector: "[ax-table-column-resizble]", inputs: { column: ["ax-table-column-resizble", "column"] }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 }); }
255
256
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableColumnResizableDirective, decorators: [{
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableColumnResizableDirective, decorators: [{
257
258
  type: Directive,
258
259
  args: [{ selector: '[ax-table-column-resizble]' }]
259
260
  }], ctorParameters: () => [], propDecorators: { column: [{
@@ -339,8 +340,8 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
339
340
  const value = rowData[dataField];
340
341
  return !this.format ? value : this.formatService.format(value, this.format, this.formatOptions);
341
342
  }
342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
343
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXDataTableTextColumnComponent, isStandalone: true, selector: "ax-text-column", inputs: { width: "width", caption: "caption", allowSorting: "allowSorting", allowResizing: "allowResizing", fixed: "fixed", customExpandIcon: "customExpandIcon", customCollapseIcon: "customCollapseIcon", dataField: "dataField", expandHandler: "expandHandler", wrapText: "wrapText", cellTemplate: "cellTemplate", footerTemplate: "footerTemplate", headerTemplate: "headerTemplate", format: "format", formatOptions: "formatOptions" }, providers: [
343
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXDataTableTextColumnComponent, isStandalone: true, selector: "ax-text-column", inputs: { width: "width", caption: "caption", allowSorting: "allowSorting", allowResizing: "allowResizing", fixed: "fixed", customExpandIcon: "customExpandIcon", customCollapseIcon: "customCollapseIcon", dataField: "dataField", expandHandler: "expandHandler", wrapText: "wrapText", cellTemplate: "cellTemplate", footerTemplate: "footerTemplate", headerTemplate: "headerTemplate", format: "format", formatOptions: "formatOptions" }, providers: [
344
345
  {
345
346
  provide: AXDataTableColumnComponent,
346
347
  useExisting: AXDataTableTextColumnComponent,
@@ -349,7 +350,7 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
349
350
  ], viewQueries: [{ propertyName: "_contentCellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
350
351
  <ng-template #header>{{ caption }}</ng-template>
351
352
  <ng-template #cell let-row>
352
- <div class="flex items-center gap-2">
353
+ <div class="ax-flex ax-items-center ax-gap-2">
353
354
  @if (expandHandler) {
354
355
  <div
355
356
  (click)="handleExpandRow(row)"
@@ -358,7 +359,7 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
358
359
  [style.padding-inline-start.rem]="row.data?.__meta__?.level * 2"
359
360
  >
360
361
  @if (loadingRow() === row) {
361
- <i class="fas fa-spinner-third animate-twSpin animate-infinite"></i>
362
+ <i class="fas fa-spinner-third ax-animate-twSpin ax-animate-infinite"></i>
362
363
  } @else {
363
364
  @if (row.data?.__meta__?.expanded) {
364
365
  <i [class]="customCollapseIcon || 'fas fa-chevron-down'"></i>
@@ -380,14 +381,14 @@ __decorate([
380
381
  __metadata("design:paramtypes", [Object, String]),
381
382
  __metadata("design:returntype", String)
382
383
  ], AXDataTableTextColumnComponent.prototype, "getDisplayText", null);
383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableTextColumnComponent, decorators: [{
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableTextColumnComponent, decorators: [{
384
385
  type: Component,
385
386
  args: [{
386
387
  selector: 'ax-text-column',
387
388
  template: `
388
389
  <ng-template #header>{{ caption }}</ng-template>
389
390
  <ng-template #cell let-row>
390
- <div class="flex items-center gap-2">
391
+ <div class="ax-flex ax-items-center ax-gap-2">
391
392
  @if (expandHandler) {
392
393
  <div
393
394
  (click)="handleExpandRow(row)"
@@ -396,7 +397,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
396
397
  [style.padding-inline-start.rem]="row.data?.__meta__?.level * 2"
397
398
  >
398
399
  @if (loadingRow() === row) {
399
- <i class="fas fa-spinner-third animate-twSpin animate-infinite"></i>
400
+ <i class="fas fa-spinner-third ax-animate-twSpin ax-animate-infinite"></i>
400
401
  } @else {
401
402
  @if (row.data?.__meta__?.expanded) {
402
403
  <i [class]="customCollapseIcon || 'fas fa-chevron-down'"></i>
@@ -631,8 +632,8 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
631
632
  };
632
633
  this.onItemClick.emit(args);
633
634
  }
634
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
635
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXRowDropdownCommandColumnComponent, isStandalone: true, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", emptyStateTemplate: "emptyStateTemplate", emptyStateText: "emptyStateText", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
635
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
636
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXRowDropdownCommandColumnComponent, isStandalone: true, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", emptyStateTemplate: "emptyStateTemplate", emptyStateText: "emptyStateText", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
636
637
  {
637
638
  provide: AXDataTableColumnComponent,
638
639
  useExisting: AXRowDropdownCommandColumnComponent,
@@ -683,7 +684,7 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
683
684
  <ng-template #footer></ng-template>
684
685
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
685
686
  }
686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
687
688
  type: Component,
688
689
  args: [{
689
690
  selector: 'ax-dropdown-command-column',
@@ -853,8 +854,8 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
853
854
  };
854
855
  this.onItemClick.emit(args);
855
856
  }
856
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
857
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXRowCommandColumnComponent, isStandalone: true, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
857
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
858
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXRowCommandColumnComponent, isStandalone: true, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
858
859
  {
859
860
  provide: AXDataTableColumnComponent,
860
861
  useExisting: AXRowCommandColumnComponent,
@@ -871,7 +872,7 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
871
872
  [disabled]="command.item.disabled || commandLoading()"
872
873
  [class.ax-state-disabled]="command.item.disabled"
873
874
  [axRipple]="!command.item.disabled"
874
- [look]="command.item.look ?? 'blank'"
875
+ [look]="command.item.look ?? 'solid'"
875
876
  (onClick)="handleOnItemClick($event, command.item, row.data)"
876
877
  >
877
878
  <ax-icon [icon]="command.item.icon"></ax-icon>
@@ -884,7 +885,7 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
884
885
  </ng-template>
885
886
  <ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
886
887
  }
887
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
888
889
  type: Component,
889
890
  args: [{
890
891
  selector: 'ax-command-column',
@@ -900,7 +901,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
900
901
  [disabled]="command.item.disabled || commandLoading()"
901
902
  [class.ax-state-disabled]="command.item.disabled"
902
903
  [axRipple]="!command.item.disabled"
903
- [look]="command.item.look ?? 'blank'"
904
+ [look]="command.item.look ?? 'solid'"
904
905
  (onClick)="handleOnItemClick($event, command.item, row.data)"
905
906
  >
906
907
  <ax-icon [icon]="command.item.icon"></ax-icon>
@@ -995,8 +996,8 @@ class AXRowExpandColumnComponent extends AXDataTableColumnComponent {
995
996
  get loadingEnabled() {
996
997
  return false;
997
998
  }
998
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowExpandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
999
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXRowExpandColumnComponent, isStandalone: true, selector: "ax-expand-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [
999
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowExpandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1000
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXRowExpandColumnComponent, isStandalone: true, selector: "ax-expand-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [
1000
1001
  {
1001
1002
  provide: AXDataTableColumnComponent,
1002
1003
  useExisting: AXRowExpandColumnComponent,
@@ -1011,7 +1012,7 @@ class AXRowExpandColumnComponent extends AXDataTableColumnComponent {
1011
1012
  [style.padding-inline-start.rem]="row.data?.__meta__?.level * 1.5"
1012
1013
  >
1013
1014
  @if (loadingRow() === row) {
1014
- <i class="fas fa-spinner-third animate-twSpin animate-infinite"></i>
1015
+ <i class="fas fa-spinner-third ax-animate-twSpin ax-animate-infinite"></i>
1015
1016
  } @else {
1016
1017
  @if (row.data?.__meta__?.expanded) {
1017
1018
  <i class="fas fa-chevron-down"></i>
@@ -1024,7 +1025,7 @@ class AXRowExpandColumnComponent extends AXDataTableColumnComponent {
1024
1025
  <ng-template #footer></ng-template>
1025
1026
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1026
1027
  }
1027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowExpandColumnComponent, decorators: [{
1028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowExpandColumnComponent, decorators: [{
1028
1029
  type: Component,
1029
1030
  args: [{
1030
1031
  selector: 'ax-expand-column',
@@ -1037,7 +1038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
1037
1038
  [style.padding-inline-start.rem]="row.data?.__meta__?.level * 1.5"
1038
1039
  >
1039
1040
  @if (loadingRow() === row) {
1040
- <i class="fas fa-spinner-third animate-twSpin animate-infinite"></i>
1041
+ <i class="fas fa-spinner-third ax-animate-twSpin ax-animate-infinite"></i>
1041
1042
  } @else {
1042
1043
  @if (row.data?.__meta__?.expanded) {
1043
1044
  <i class="fas fa-chevron-down"></i>
@@ -1144,8 +1145,8 @@ class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
1144
1145
  get cssClass() {
1145
1146
  return 'ax-index-column';
1146
1147
  }
1147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AXRowIndexColumnComponent, isStandalone: true, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", padZero: "padZero" }, providers: [
1148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: AXRowIndexColumnComponent, isStandalone: true, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", padZero: "padZero" }, providers: [
1149
1150
  AXUnsubscriber,
1150
1151
  {
1151
1152
  provide: AXDataTableColumnComponent,
@@ -1158,7 +1159,7 @@ class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
1158
1159
  </ng-template>
1159
1160
  <ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1160
1161
  }
1161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
1162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
1162
1163
  type: Component,
1163
1164
  args: [{
1164
1165
  selector: 'ax-index-column',
@@ -1300,8 +1301,8 @@ class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
1300
1301
  get cssClass() {
1301
1302
  return 'ax-select-column';
1302
1303
  }
1303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1304
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AXRowSelectColumnComponent, isStandalone: true, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [
1304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: AXRowSelectColumnComponent, isStandalone: true, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [
1305
1306
  {
1306
1307
  provide: AXDataTableColumnComponent,
1307
1308
  useExisting: AXRowSelectColumnComponent,
@@ -1331,7 +1332,7 @@ class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
1331
1332
  </ng-template>
1332
1333
  <ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i2$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "isLoading", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1333
1334
  }
1334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
1335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
1335
1336
  type: Component,
1336
1337
  args: [{
1337
1338
  selector: 'ax-select-column',
@@ -2146,14 +2147,14 @@ class AXDataTableComponent extends AXBaseDataTable {
2146
2147
  }
2147
2148
  }
2148
2149
  }
2149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXDataTableComponent, isStandalone: true, selector: "ax-data-table", inputs: { dataSource: "dataSource", selectedRows: "selectedRows", parentField: "parentField", rowDetailsTemplate: "rowDetailsTemplate", rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", noDataTemplate: "noDataTemplate", alternative: "alternative", showHeader: "showHeader", fixedHeader: "fixedHeader", showFooter: "showFooter", fixedFooter: "fixedFooter", itemHeight: "itemHeight", allowReordering: "allowReordering", paging: "paging", fetchDataMode: "fetchDataMode", loading: "loading", focusedRow: "focusedRow" }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged", onPageChanged: "onPageChanged" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
2150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXDataTableComponent, isStandalone: true, selector: "ax-data-table", inputs: { dataSource: "dataSource", selectedRows: "selectedRows", parentField: "parentField", rowDetailsTemplate: "rowDetailsTemplate", rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", noDataTemplate: "noDataTemplate", alternative: "alternative", showHeader: "showHeader", fixedHeader: "fixedHeader", showFooter: "showFooter", fixedFooter: "fixedFooter", itemHeight: "itemHeight", allowReordering: "allowReordering", paging: "paging", fetchDataMode: "fetchDataMode", loading: "loading", focusedRow: "focusedRow" }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged", onPageChanged: "onPageChanged" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
2151
2152
  { provide: AXBaseDataTable, useExisting: AXDataTableComponent },
2152
2153
  AXUnsubscriber,
2153
2154
  { provide: AXComponent, useExisting: AXDataTableComponent },
2154
- ], queries: [{ propertyName: "customDataPager", first: true, predicate: AXDataPagerComponent, descendants: true, static: true }, { propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "dataPager", first: true, predicate: ["dataPager"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{ax-data-table{height:100%;min-height:inherit;border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*4);line-height:calc(var(--spacing,.25rem)*4);flex-direction:column;display:flex;position:relative;overflow:hidden}ax-data-table td.ax-data-table-empty-data{height:calc(var(--spacing,.25rem)*32);border-bottom-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*8);text-align:center;vertical-align:middle;border-bottom-width:0;top:50%;transform:translateY(-50%);background-color:#0000!important;position:absolute!important}ax-data-table td.ax-data-table-empty-data span{height:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-surface,rgba(var(--ax-sys-color-surface)));justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper{border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));flex:1;width:100%;overflow:auto}ax-data-table .ax-data-table-wrapper table{table-layout:fixed;width:100%;height:100%;display:table;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{border-start-start-radius:var(--radius-default,var(--ax-sys-border-radius));border-start-end-radius:var(--radius-default,var(--ax-sys-border-radius));overflow:hidden}ax-data-table .ax-data-table-wrapper table thead th{height:calc(var(--spacing,.25rem)*10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);background-color:var(--color-lighter);color:var(--color-on-lighter);border-bottom-width:1px;border-color:var(--color-border-lighter);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;position:relative;overflow:hidden;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)))!important}ax-data-table .ax-data-table-wrapper table thead th:where(.dark,.dark *){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{top:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);height:100%;width:calc(var(--spacing,.25rem)*1);cursor:col-resize;background-color:#0000;position:absolute}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:var(--color-primary-light,rgba(var(--ax-sys-color-primary-light-surface)))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover:where(.dark,.dark *){background-color:var(--color-primary-dark,rgba(var(--ax-sys-color-primary-dark-surface)))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{top:calc(var(--spacing,.25rem)*0);z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:inset 1px 1px 0px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{z-index:2;border-inline-style:var(--tw-border-style);background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)));border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell:where(.dark,.dark *){background-color:var(--color-dark,rgba(var(--ax-sys-color-dark-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:-1;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));opacity:.3;background-color:#0000;width:100%;height:100%;position:absolute}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)));color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td:where(.dark,.dark *){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:calc(var(--spacing,.25rem)*10);max-height:calc(var(--spacing,.25rem)*10)}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-lightest,rgba(var(--ax-sys-color-primary-lightest-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg:where(.dark,.dark *){background-color:var(--color-primary-light,rgba(var(--ax-sys-color-primary-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:var(--color-on-primary-lightest,rgba(var(--ax-sys-color-on-primary-lightest-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column):where(.dark,.dark *){color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:var(--color-on-primary-lightest,rgba(var(--ax-sys-color-on-primary-lightest-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg:where(.dark,.dark *){background-color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-light,rgba(var(--ax-sys-color-primary-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg:where(.dark,.dark *){background-color:var(--color-primary-dark,rgba(var(--ax-sys-color-primary-dark-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)))}ax-data-table .ax-data-table-wrapper table tbody td{min-width:calc(var(--spacing,.25rem)*8);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td:where(.dark,.dark *){background-color:var(--color-darkest,rgba(var(--ax-sys-color-darkest-surface)))}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{cursor:pointer;padding-inline:calc(var(--spacing,.25rem)*1)}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:calc(var(--spacing,.25rem)*6)!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)));text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)));overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column:where(.dark,.dark *){background-color:var(--color-dark,rgba(var(--ax-sys-color-dark-surface)));color:var(--color-on-dark,rgba(var(--ax-sys-color-on-dark-surface)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{cursor:not-allowed!important;opacity:.5!important;position:relative!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{inset-inline-start:calc(var(--spacing,.25rem)*0);justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--spacing:.2;justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-icon{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{cursor:pointer;border-style:var(--tw-border-style);text-overflow:ellipsis;white-space:nowrap;border-width:0;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:calc(var(--spacing,.25rem)*3.5);border-radius:var(--radius-md,.375rem);width:33.3333%}ax-data-table .ax-data-table-wrapper table tfoot tr td{height:calc(var(--spacing,.25rem)*10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));background-color:var(--color-lighter,rgba(var(--ax-sys-color-lighter-surface)));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;color:var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)));text-transform:uppercase;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tfoot tr td:where(.dark,.dark *){background-color:var(--color-darker,rgba(var(--ax-sys-color-darker-surface)));color:var(--color-on-darker,rgba(var(--ax-sys-color-on-darker-surface)))}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)))}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface))),0 -1px 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;bottom:-1px}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}@media (min-width:48rem){ax-data-table ax-data-pager{justify-content:space-between}}ax-data-table .ax-table-footer{border-collapse:collapse;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));padding-inline:calc(var(--spacing,.25rem)*3.5);overflow:hidden}ax-data-table .ax-table-footer .ax-table-info{flex:1;justify-content:space-between;align-items:center;display:flex}ax-data-table .ax-data-table-numeric-paging{display:none}@media (min-width:64rem){ax-data-table .ax-data-table-numeric-paging{display:flex}}ax-data-table .ax-data-table-input-paging{display:flex}@media (min-width:64rem){ax-data-table .ax-data-table-input-paging{display:none}}ax-data-table .ax-data-table-info{justify-content:center;align-items:center;display:none}@media (min-width:48rem){ax-data-table .ax-data-table-info{display:flex}}ax-data-table .ax-data-table-info ax-text{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}.cdk-drag-preview{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)));text-transform:uppercase;--tw-shadow:0 5px 5px -3px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.2)),0 8px 10px 1px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.14)),0 3px 14px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}.ax-dropdown-command-empty-state-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2155
+ ], queries: [{ propertyName: "customDataPager", first: true, predicate: AXDataPagerComponent, descendants: true, static: true }, { propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "dataPager", first: true, predicate: ["dataPager"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit;overflow:hidden}ax-data-table td.ax-data-table-empty-data{background:transparent!important;position:absolute!important;padding:2rem 1rem;text-align:center;vertical-align:middle;height:8rem;border-bottom:none;top:50%;transform:translateY(-50%);width:100%}ax-data-table td.ax-data-table-empty-data span{color:rgb(var(--ax-sys-color-ghost-500));font-size:var(--ax-comp-data-table-font-size);display:flex;height:100%;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--ax-comp-button-font-size: .75rem;--ax-comp-button-padding-x: .25rem;--ax-comp-button-decorator-padding-x: .25rem;--ax-comp-button-icon-only-font-size: .875rem;--ax-sys-size-base: 1.5rem;margin-left:.25rem;margin-right:.25rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-loading .ax-loader{width:.75rem!important;height:.75rem!important;border-width:2px!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:flex;align-items:center}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}.ax-dropdown-command-empty-state-text{color:rgba(var(--ax-sys-color-on-surface-variant-500));font-size:.75rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2155
2156
  }
2156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableComponent, decorators: [{
2157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableComponent, decorators: [{
2157
2158
  type: Component,
2158
2159
  args: [{ selector: 'ax-data-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { ngSkipHydration: 'true' }, inputs: ['dataSource', 'selectedRows', 'parentField', 'rowDetailsTemplate'], outputs: ['selectedRowsChange'], providers: [
2159
2160
  { provide: AXBaseDataTable, useExisting: AXDataTableComponent },
@@ -2178,7 +2179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2178
2179
  AXButtonComponent,
2179
2180
  AsyncPipe,
2180
2181
  AXTranslatorPipe,
2181
- ], template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{ax-data-table{height:100%;min-height:inherit;border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*4);line-height:calc(var(--spacing,.25rem)*4);flex-direction:column;display:flex;position:relative;overflow:hidden}ax-data-table td.ax-data-table-empty-data{height:calc(var(--spacing,.25rem)*32);border-bottom-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*8);text-align:center;vertical-align:middle;border-bottom-width:0;top:50%;transform:translateY(-50%);background-color:#0000!important;position:absolute!important}ax-data-table td.ax-data-table-empty-data span{height:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-surface,rgba(var(--ax-sys-color-surface)));justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper{border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));flex:1;width:100%;overflow:auto}ax-data-table .ax-data-table-wrapper table{table-layout:fixed;width:100%;height:100%;display:table;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{border-start-start-radius:var(--radius-default,var(--ax-sys-border-radius));border-start-end-radius:var(--radius-default,var(--ax-sys-border-radius));overflow:hidden}ax-data-table .ax-data-table-wrapper table thead th{height:calc(var(--spacing,.25rem)*10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);background-color:var(--color-lighter);color:var(--color-on-lighter);border-bottom-width:1px;border-color:var(--color-border-lighter);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;position:relative;overflow:hidden;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)))!important}ax-data-table .ax-data-table-wrapper table thead th:where(.dark,.dark *){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{top:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);height:100%;width:calc(var(--spacing,.25rem)*1);cursor:col-resize;background-color:#0000;position:absolute}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:var(--color-primary-light,rgba(var(--ax-sys-color-primary-light-surface)))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover:where(.dark,.dark *){background-color:var(--color-primary-dark,rgba(var(--ax-sys-color-primary-dark-surface)))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{top:calc(var(--spacing,.25rem)*0);z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:inset 1px 1px 0px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{z-index:2;border-inline-style:var(--tw-border-style);background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)));border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell:where(.dark,.dark *){background-color:var(--color-dark,rgba(var(--ax-sys-color-dark-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:-1;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));opacity:.3;background-color:#0000;width:100%;height:100%;position:absolute}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)));color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td:where(.dark,.dark *){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:calc(var(--spacing,.25rem)*10);max-height:calc(var(--spacing,.25rem)*10)}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-lightest,rgba(var(--ax-sys-color-primary-lightest-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg:where(.dark,.dark *){background-color:var(--color-primary-light,rgba(var(--ax-sys-color-primary-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:var(--color-on-primary-lightest,rgba(var(--ax-sys-color-on-primary-lightest-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column):where(.dark,.dark *){color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:var(--color-on-primary-lightest,rgba(var(--ax-sys-color-on-primary-lightest-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg:where(.dark,.dark *){background-color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-light,rgba(var(--ax-sys-color-primary-light-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg:where(.dark,.dark *){background-color:var(--color-primary-dark,rgba(var(--ax-sys-color-primary-dark-surface)))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)))}ax-data-table .ax-data-table-wrapper table tbody td{min-width:calc(var(--spacing,.25rem)*8);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td:where(.dark,.dark *){background-color:var(--color-darkest,rgba(var(--ax-sys-color-darkest-surface)))}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{cursor:pointer;padding-inline:calc(var(--spacing,.25rem)*1)}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:calc(var(--spacing,.25rem)*6)!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)));text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--color-on-light,rgba(var(--ax-sys-color-on-light-surface)));overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column:where(.dark,.dark *){background-color:var(--color-dark,rgba(var(--ax-sys-color-dark-surface)));color:var(--color-on-dark,rgba(var(--ax-sys-color-on-dark-surface)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{cursor:not-allowed!important;opacity:.5!important;position:relative!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{inset-inline-start:calc(var(--spacing,.25rem)*0);justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--spacing:.2;justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-icon{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{cursor:pointer;border-style:var(--tw-border-style);text-overflow:ellipsis;white-space:nowrap;border-width:0;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:calc(var(--spacing,.25rem)*3.5);border-radius:var(--radius-md,.375rem);width:33.3333%}ax-data-table .ax-data-table-wrapper table tfoot tr td{height:calc(var(--spacing,.25rem)*10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));background-color:var(--color-lighter,rgba(var(--ax-sys-color-lighter-surface)));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;color:var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)));text-transform:uppercase;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tfoot tr td:where(.dark,.dark *){background-color:var(--color-darker,rgba(var(--ax-sys-color-darker-surface)));color:var(--color-on-darker,rgba(var(--ax-sys-color-on-darker-surface)))}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:var(--color-light,rgba(var(--ax-sys-color-light-surface)))}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface))),0 -1px 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;bottom:-1px}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}@media (min-width:48rem){ax-data-table ax-data-pager{justify-content:space-between}}ax-data-table .ax-table-footer{border-collapse:collapse;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));padding-inline:calc(var(--spacing,.25rem)*3.5);overflow:hidden}ax-data-table .ax-table-footer .ax-table-info{flex:1;justify-content:space-between;align-items:center;display:flex}ax-data-table .ax-data-table-numeric-paging{display:none}@media (min-width:64rem){ax-data-table .ax-data-table-numeric-paging{display:flex}}ax-data-table .ax-data-table-input-paging{display:flex}@media (min-width:64rem){ax-data-table .ax-data-table-input-paging{display:none}}ax-data-table .ax-data-table-info{justify-content:center;align-items:center;display:none}@media (min-width:48rem){ax-data-table .ax-data-table-info{display:flex}}ax-data-table .ax-data-table-info ax-text{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))}.cdk-drag-preview{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-surface,rgba(var(--ax-sys-color-border-surface)));background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)));text-transform:uppercase;--tw-shadow:0 5px 5px -3px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.2)),0 8px 10px 1px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.14)),0 3px 14px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}.ax-dropdown-command-empty-state-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
2182
+ ], template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit;overflow:hidden}ax-data-table td.ax-data-table-empty-data{background:transparent!important;position:absolute!important;padding:2rem 1rem;text-align:center;vertical-align:middle;height:8rem;border-bottom:none;top:50%;transform:translateY(-50%);width:100%}ax-data-table td.ax-data-table-empty-data span{color:rgb(var(--ax-sys-color-ghost-500));font-size:var(--ax-comp-data-table-font-size);display:flex;height:100%;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--ax-comp-button-font-size: .75rem;--ax-comp-button-padding-x: .25rem;--ax-comp-button-decorator-padding-x: .25rem;--ax-comp-button-icon-only-font-size: .875rem;--ax-sys-size-base: 1.5rem;margin-left:.25rem;margin-right:.25rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-loading .ax-loader{width:.75rem!important;height:.75rem!important;border-width:2px!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:flex;align-items:center}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}.ax-dropdown-command-empty-state-text{color:rgba(var(--ax-sys-color-on-surface-variant-500));font-size:.75rem}\n"] }]
2182
2183
  }], propDecorators: { dataPager: [{
2183
2184
  type: ViewChild,
2184
2185
  args: ['dataPager']
@@ -2232,7 +2233,439 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2232
2233
  args: [AXDataTableColumnComponent]
2233
2234
  }] } });
2234
2235
 
2236
+ /**
2237
+ * Component for a data table with infinite scrolling capabilities.
2238
+ *
2239
+ * @category Components
2240
+ */
2241
+ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
2242
+ constructor() {
2243
+ super(...arguments);
2244
+ this.document = inject(DOCUMENT);
2245
+ this.platformID = inject(PLATFORM_ID);
2246
+ this.ngZone = inject(NgZone);
2247
+ /**
2248
+ * Emits an event when the page changes.
2249
+ *
2250
+ * @event
2251
+ */
2252
+ this.onPageChanged = new EventEmitter();
2253
+ /**
2254
+ * @ignore
2255
+ */
2256
+ this.clickSubject = new Subject();
2257
+ /**
2258
+ * Emits an event when a row is clicked.
2259
+ *
2260
+ * @event
2261
+ */
2262
+ this.onRowClick = new EventEmitter();
2263
+ /**
2264
+ * Emits an event when a row is double-clicked.
2265
+ *
2266
+ * @event
2267
+ */
2268
+ this.onRowDbClick = new EventEmitter();
2269
+ /**
2270
+ * Controls the visibility of the table header.
2271
+ *
2272
+ * @defaultValue true
2273
+ */
2274
+ this.showHeader = true;
2275
+ /**
2276
+ * Defines the mode for fetching data.
2277
+ *
2278
+ * @defaultValue 'auto'
2279
+ */
2280
+ this.fetchDataMode = 'auto';
2281
+ /**
2282
+ * Configuration for the loading state of the data table.
2283
+ *
2284
+ * @defaultValue { enabled: true, animation: true }
2285
+ */
2286
+ this.loading = {
2287
+ enabled: true,
2288
+ animation: true,
2289
+ };
2290
+ /**
2291
+ * @ignore
2292
+ */
2293
+ this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
2294
+ /**
2295
+ * @ignore
2296
+ */
2297
+ this.hasItems = false;
2298
+ /**
2299
+ * @ignore
2300
+ */
2301
+ this.totalRows = 0;
2302
+ /**
2303
+ * @ignore
2304
+ */
2305
+ this.currentPage = 0;
2306
+ /**
2307
+ * @ignore
2308
+ */
2309
+ this.totalPages = 0;
2310
+ /**
2311
+ * @ignore
2312
+ */
2313
+ this.startRowIndex = 0;
2314
+ /**
2315
+ * @ignore
2316
+ */
2317
+ this.lastIndex = 0;
2318
+ /**
2319
+ * Event emitted when the focused row changes.
2320
+ *
2321
+ * @event
2322
+ */
2323
+ this.focusedRowChange = new EventEmitter();
2324
+ /**
2325
+ * Defines the height of each item in the table.
2326
+ *
2327
+ * @default 40
2328
+ */
2329
+ this.itemHeight = 40;
2330
+ /**
2331
+ * @ignore
2332
+ */
2333
+ this.width = '100%';
2334
+ /**
2335
+ * @ignore
2336
+ */
2337
+ this.height = '100%';
2338
+ /**
2339
+ * Emitted when the scroll index changes in the table.
2340
+ *
2341
+ * @event
2342
+ */
2343
+ this.onScrolledIndexChanged = new EventEmitter();
2344
+ }
2345
+ /**
2346
+ * @ignore
2347
+ */
2348
+ startFixedColumn() {
2349
+ return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];
2350
+ }
2351
+ /**
2352
+ * @ignore
2353
+ */
2354
+ endFixedColumn() {
2355
+ return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];
2356
+ }
2357
+ /**
2358
+ * @ignore
2359
+ */
2360
+ notFixedColumn() {
2361
+ return this.columns?.toArray().filter((c) => !c.fixed) ?? [];
2362
+ }
2363
+ /**
2364
+ * @ignore
2365
+ */
2366
+ notFixedColumnCount() {
2367
+ return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;
2368
+ }
2369
+ /**
2370
+ * @ignore
2371
+ */
2372
+ fixedColumnCount() {
2373
+ return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;
2374
+ }
2375
+ /**
2376
+ * Retrieves the currently focused row.
2377
+ */
2378
+ get focusedRow() {
2379
+ return this._focusedRow;
2380
+ }
2381
+ /**
2382
+ * Sets the currently focused row and emits a change event.
2383
+ *
2384
+ * @param v - The row data to be set as focused.
2385
+ */
2386
+ set focusedRow(v) {
2387
+ this._focusedRow = v;
2388
+ this.focusedRowChange.emit(v);
2389
+ }
2390
+ trackByIdx(i) {
2391
+ return i;
2392
+ }
2393
+ /**
2394
+ * @ignore
2395
+ */
2396
+ ngOnInit() {
2397
+ super.ngOnInit();
2398
+ this.listDataSource = new AXListDataSource({
2399
+ source: this.dataSource,
2400
+ });
2401
+ this.listDataSource.source.onLoadingChanged.subscribe((data) => {
2402
+ this.isLoading.set(data);
2403
+ });
2404
+ this.listDataSource.source.onChanged.subscribe((data) => {
2405
+ this.totalRows = data.totalCount;
2406
+ this.hasItems = data.totalCount > 0;
2407
+ setTimeout(() => {
2408
+ this.render();
2409
+ }, 100);
2410
+ });
2411
+ //
2412
+ this.clickSubject
2413
+ .pipe(buffer(this.clickSubject.pipe(debounceTime(250))), filter((clickArray) => clickArray.length === 2))
2414
+ .subscribe((clickArray) => {
2415
+ this.handleRowDoubleClick(clickArray[0].event, clickArray[0].item);
2416
+ });
2417
+ }
2418
+ /**
2419
+ * @ignore
2420
+ */
2421
+ _handleOnscrolledIndexChange(e) {
2422
+ this.lastIndex = e;
2423
+ this.onScrolledIndexChanged.emit({
2424
+ component: this,
2425
+ index: this.lastIndex,
2426
+ isUserInteraction: true,
2427
+ });
2428
+ }
2429
+ /**
2430
+ * @ignore
2431
+ */
2432
+ ngDoCheck() {
2433
+ //this.copyFixedColumns();
2434
+ this.updateHScroll();
2435
+ //
2436
+ this.updateWidth();
2437
+ this.updateHeight();
2438
+ //
2439
+ this.updateTotalCount();
2440
+ }
2441
+ /**
2442
+ * @ignore
2443
+ */
2444
+ updateTotalCount() {
2445
+ this.startRowIndex = this.lastIndex;
2446
+ if (this.startRowIndex < 1)
2447
+ this.startRowIndex = 1;
2448
+ if (this.startRowIndex > this.totalRows)
2449
+ this.startRowIndex = this.totalRows;
2450
+ }
2451
+ /**
2452
+ * @ignore
2453
+ */
2454
+ updateHeight() {
2455
+ this.height = `calc(100% - ${(this.headerContainer?.nativeElement.clientHeight ?? 0) + (this.footerContainer?.nativeElement.clientHeight ?? 0)}px)`;
2456
+ }
2457
+ /**
2458
+ * @ignore
2459
+ */
2460
+ updateWidth() {
2461
+ if (this.columns && this.columns.length) {
2462
+ const sumPx = sum(this.columns.toArray().map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))));
2463
+ this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;
2464
+ }
2465
+ }
2466
+ /**
2467
+ * @ignore
2468
+ */
2469
+ updateHScroll() {
2470
+ this.ngZone.runOutsideAngular(() => {
2471
+ if (this.headerContainer) {
2472
+ const headerContainer = this.headerContainer.nativeElement;
2473
+ const left = this.scrollableContainer.nativeElement.scrollLeft;
2474
+ headerContainer.style.transform = `translateX(${-left}px)`;
2475
+ }
2476
+ });
2477
+ }
2478
+ /**
2479
+ * @ignore
2480
+ */
2481
+ // Function to copy fixed columns
2482
+ copyFixedColumns() {
2483
+ const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));
2484
+ const fixedColumnTable = this.getHostElement().querySelector('.ax-body-fixed-columns > table > tbody');
2485
+ fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());
2486
+ if (isPlatformBrowser(this.platformID)) {
2487
+ for (const row of originalRows) {
2488
+ const fixedCells = Array.from(row.querySelectorAll('[data-fixed="start"]'));
2489
+ const fixedRow = this.document.createElement('tr');
2490
+ for (const cell of fixedCells) {
2491
+ const clonedCell = cell.cloneNode(true);
2492
+ fixedRow.appendChild(clonedCell);
2493
+ }
2494
+ fixedColumnTable.appendChild(fixedRow);
2495
+ }
2496
+ }
2497
+ const scrollTop = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollTop;
2498
+ fixedColumnTable.style.transform = `translateY(${-scrollTop}px)`;
2499
+ }
2500
+ /**
2501
+ * Updates the viewport by checking its size and scrolling to the last index.
2502
+ * Marks the component for change detection.
2503
+ * @ignore
2504
+ */
2505
+ render() {
2506
+ this.viewport.checkViewportSize();
2507
+ this.viewport.scrollToIndex(this.lastIndex);
2508
+ this.cdr.markForCheck();
2509
+ }
2510
+ /**
2511
+ * Resets the index to zero and refreshes the data source.
2512
+ * @ignore
2513
+ */
2514
+ refresh() {
2515
+ this.lastIndex = 0;
2516
+ this.listDataSource.refresh();
2517
+ }
2518
+ /**
2519
+ * @ignore
2520
+ */
2521
+ handleRowClick(event, item) {
2522
+ this.handleRowSingleClick(event, item);
2523
+ this.clickSubject.next({ event, item });
2524
+ }
2525
+ /**
2526
+ * @ignore
2527
+ */
2528
+ handleRowSingleClick(event, item) {
2529
+ if (this.focusedRow == item) {
2530
+ this.focusedRow = null;
2531
+ }
2532
+ else {
2533
+ this.focusedRow = item;
2534
+ }
2535
+ //
2536
+ this.onRowClick.emit({
2537
+ component: this,
2538
+ data: item,
2539
+ isUserInteraction: true,
2540
+ });
2541
+ }
2542
+ /**
2543
+ * @ignore
2544
+ */
2545
+ handleRowDoubleClick(e, item) {
2546
+ this.focusedRow = item;
2547
+ //
2548
+ this.onRowDbClick.emit({
2549
+ component: this,
2550
+ data: item,
2551
+ isUserInteraction: true,
2552
+ });
2553
+ }
2554
+ /**
2555
+ * Handles column header clicks to toggle sorting on the column.
2556
+ *
2557
+ * @param e - The mouse event triggered by the click.
2558
+ * @param column - The column that was clicked.
2559
+ * @ignore
2560
+ */
2561
+ handleColumnClick(e, column) {
2562
+ if (column instanceof AXDataTableTextColumnComponent) {
2563
+ const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
2564
+ if (!sort) {
2565
+ this.dataSource.query.sort.push({
2566
+ field: column.dataField,
2567
+ dir: 'asc',
2568
+ });
2569
+ }
2570
+ else {
2571
+ if (sort.dir == 'asc') {
2572
+ sort.dir = 'desc';
2573
+ }
2574
+ else {
2575
+ this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);
2576
+ }
2577
+ }
2578
+ this.refresh();
2579
+ }
2580
+ }
2581
+ /**
2582
+ * @ignore
2583
+ */
2584
+ getSort(column) {
2585
+ if (column instanceof AXDataTableTextColumnComponent) {
2586
+ const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
2587
+ return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;
2588
+ }
2589
+ return undefined;
2590
+ }
2591
+ /**
2592
+ * @ignore
2593
+ */
2594
+ _handleOnScroll() {
2595
+ this.updateHScroll();
2596
+ }
2597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXInfiniteScrollDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXInfiniteScrollDataTableComponent, isStandalone: true, selector: "ax-infinite-scroll-data-table", inputs: { dataSource: "dataSource", rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", fetchDataMode: "fetchDataMode", loading: "loading", focusedRow: "focusedRow", itemHeight: "itemHeight" }, outputs: { selectedRowsChange: "selectedRowsChange", onPageChanged: "onPageChanged", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", focusedRowChange: "focusedRowChange", onScrolledIndexChanged: "onScrolledIndexChanged" }, providers: [
2599
+ { provide: AXPagedComponent, useExisting: AXInfiniteScrollDataTableComponent },
2600
+ {
2601
+ provide: AXBaseDataTable,
2602
+ useExisting: AXInfiniteScrollDataTableComponent,
2603
+ },
2604
+ { provide: AXComponent, useExisting: AXInfiniteScrollDataTableComponent },
2605
+ ], queries: [{ propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true, static: true }, { propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true }, { propertyName: "footerContainer", first: true, predicate: ["footerContainer"], descendants: true }, { propertyName: "scrollableContainer", first: true, predicate: ["scrolling"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container [ngTemplateOutlet]=\"c.renderHeaderTemplate\"></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate !== null) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: ["ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-sys-border-radius);border-start-start-radius:var(--ax-sys-border-radius)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-sys-color-secondary-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-secondary-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-sys-color-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-400));color:rgba(var(--ax-sys-color-on-primary))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-sys-color-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-sys-border-radius);border-style:none;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2606
+ }
2607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXInfiniteScrollDataTableComponent, decorators: [{
2608
+ type: Component,
2609
+ args: [{ selector: 'ax-infinite-scroll-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2610
+ { provide: AXPagedComponent, useExisting: AXInfiniteScrollDataTableComponent },
2611
+ {
2612
+ provide: AXBaseDataTable,
2613
+ useExisting: AXInfiniteScrollDataTableComponent,
2614
+ },
2615
+ { provide: AXComponent, useExisting: AXInfiniteScrollDataTableComponent },
2616
+ ], outputs: ['selectedRowsChange'], inputs: ['dataSource'], imports: [
2617
+ NgTemplateOutlet,
2618
+ AXDecoratorIconComponent,
2619
+ CdkVirtualScrollableElement,
2620
+ CdkVirtualScrollViewport,
2621
+ CdkFixedSizeVirtualScroll,
2622
+ CdkVirtualForOf,
2623
+ AXSkeletonComponent,
2624
+ AXButtonComponent,
2625
+ ], template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container [ngTemplateOutlet]=\"c.renderHeaderTemplate\"></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate !== null) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: ["ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-sys-border-radius);border-start-start-radius:var(--ax-sys-border-radius)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-sys-color-secondary-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-secondary-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-sys-color-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-400));color:rgba(var(--ax-sys-color-on-primary))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-sys-color-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-sys-border-radius);border-style:none;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"] }]
2626
+ }], propDecorators: { columns: [{
2627
+ type: ContentChildren,
2628
+ args: [AXDataTableColumnComponent]
2629
+ }], onPageChanged: [{
2630
+ type: Output
2631
+ }], onRowClick: [{
2632
+ type: Output
2633
+ }], onRowDbClick: [{
2634
+ type: Output
2635
+ }], rowTemplate: [{
2636
+ type: Input
2637
+ }], emptyTemplate: [{
2638
+ type: Input
2639
+ }], showHeader: [{
2640
+ type: Input
2641
+ }], fetchDataMode: [{
2642
+ type: Input
2643
+ }], loading: [{
2644
+ type: Input
2645
+ }], focusedRowChange: [{
2646
+ type: Output
2647
+ }], focusedRow: [{
2648
+ type: Input
2649
+ }], itemHeight: [{
2650
+ type: Input
2651
+ }], viewport: [{
2652
+ type: ViewChild,
2653
+ args: [CdkVirtualScrollViewport, { static: true }]
2654
+ }], onScrolledIndexChanged: [{
2655
+ type: Output
2656
+ }], headerContainer: [{
2657
+ type: ViewChild,
2658
+ args: ['headerContainer']
2659
+ }], footerContainer: [{
2660
+ type: ViewChild,
2661
+ args: ['footerContainer']
2662
+ }], scrollableContainer: [{
2663
+ type: ViewChild,
2664
+ args: ['scrolling', { static: true }]
2665
+ }] } });
2666
+
2235
2667
  const COMPONENT = [
2668
+ AXInfiniteScrollDataTableComponent,
2236
2669
  AXDataTableComponent,
2237
2670
  AXDataTableTextColumnComponent,
2238
2671
  AXRowIndexColumnComponent,
@@ -2262,8 +2695,8 @@ const MODULES = [
2262
2695
  CdkDragHandle,
2263
2696
  ];
2264
2697
  class AXDataTableModule {
2265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2266
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
2698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2699
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
2267
2700
  AXCommonModule,
2268
2701
  ScrollingModule,
2269
2702
  AXTranslationModule,
@@ -2279,14 +2712,16 @@ class AXDataTableModule {
2279
2712
  CdkDropList,
2280
2713
  CdkDrag,
2281
2714
  CdkDragPlaceholder,
2282
- CdkDragHandle, AXDataTableComponent,
2715
+ CdkDragHandle, AXInfiniteScrollDataTableComponent,
2716
+ AXDataTableComponent,
2283
2717
  AXDataTableTextColumnComponent,
2284
2718
  AXRowIndexColumnComponent,
2285
2719
  AXRowSelectColumnComponent,
2286
2720
  AXRowExpandColumnComponent,
2287
2721
  AXRowCommandColumnComponent,
2288
2722
  AXRowDropdownCommandColumnComponent,
2289
- AXDataTableColumnResizableDirective], exports: [AXDataTableComponent,
2723
+ AXDataTableColumnResizableDirective], exports: [AXInfiniteScrollDataTableComponent,
2724
+ AXDataTableComponent,
2290
2725
  AXDataTableTextColumnComponent,
2291
2726
  AXRowIndexColumnComponent,
2292
2727
  AXRowSelectColumnComponent,
@@ -2294,7 +2729,7 @@ class AXDataTableModule {
2294
2729
  AXRowCommandColumnComponent,
2295
2730
  AXRowDropdownCommandColumnComponent,
2296
2731
  AXDataTableColumnResizableDirective] }); }
2297
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
2732
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
2298
2733
  AXCommonModule,
2299
2734
  ScrollingModule,
2300
2735
  AXTranslationModule,
@@ -2305,12 +2740,13 @@ class AXDataTableModule {
2305
2740
  AXDecoratorModule,
2306
2741
  AXDropdownModule,
2307
2742
  AXFormatModule,
2308
- AXDataPagerModule, AXDataTableComponent,
2743
+ AXDataPagerModule, AXInfiniteScrollDataTableComponent,
2744
+ AXDataTableComponent,
2309
2745
  AXRowSelectColumnComponent,
2310
2746
  AXRowCommandColumnComponent,
2311
2747
  AXRowDropdownCommandColumnComponent] }); }
2312
2748
  }
2313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXDataTableModule, decorators: [{
2749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXDataTableModule, decorators: [{
2314
2750
  type: NgModule,
2315
2751
  args: [{
2316
2752
  imports: [...MODULES, ...COMPONENT],
@@ -2323,5 +2759,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2323
2759
  * Generated bundle index. Do not edit.
2324
2760
  */
2325
2761
 
2326
- export { AXBaseDataTable, AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowExpandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent };
2762
+ export { AXBaseDataTable, AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXInfiniteScrollDataTableComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowExpandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent };
2327
2763
  //# sourceMappingURL=acorex-components-data-table.mjs.map