cax-design-system 2.7.12 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +46 -46
  2. package/esm2022/accordion/accordion.mjs +3 -3
  3. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  4. package/esm2022/avatar/avatar.mjs +3 -3
  5. package/esm2022/avatargroup/avatargroup.mjs +3 -3
  6. package/esm2022/badge/badge.mjs +3 -3
  7. package/esm2022/breadcrumb/breadcrumb.mjs +3 -3
  8. package/esm2022/button/button.mjs +3 -3
  9. package/esm2022/calendar/calendar.mjs +3 -3
  10. package/esm2022/card/card.mjs +3 -3
  11. package/esm2022/cascadeselect/cascadeselect.mjs +5 -5
  12. package/esm2022/checkbox/checkbox.mjs +3 -3
  13. package/esm2022/chip/chip.mjs +3 -3
  14. package/esm2022/chips/chips.mjs +3 -3
  15. package/esm2022/colorpicker/colorpicker.mjs +3 -3
  16. package/esm2022/commentbox/commentbox.mjs +3 -3
  17. package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
  18. package/esm2022/dialog/dialog.mjs +3 -3
  19. package/esm2022/divider/divider.mjs +3 -3
  20. package/esm2022/dropdown/dropdown-item.mjs +3 -3
  21. package/esm2022/dropdown/dropdown.mjs +3 -3
  22. package/esm2022/editor/editor.mjs +3 -3
  23. package/esm2022/image/image.mjs +3 -3
  24. package/esm2022/inputgroup/inputgroup.mjs +3 -3
  25. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +3 -3
  26. package/esm2022/inputmask/inputmask.mjs +3 -3
  27. package/esm2022/inputnumber/inputnumber.mjs +3 -3
  28. package/esm2022/inputtext/inputtext.component.mjs +3 -3
  29. package/esm2022/inputtextarea/inputtextarea.component.mjs +3 -3
  30. package/esm2022/logo/logo.mjs +3 -3
  31. package/esm2022/menu/menu.mjs +5 -5
  32. package/esm2022/messages/messages.mjs +3 -3
  33. package/esm2022/multiselect/multiselect.mjs +5 -5
  34. package/esm2022/navigation/navigation.mjs +3 -3
  35. package/esm2022/overlay/overlay.mjs +3 -3
  36. package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
  37. package/esm2022/paginator/paginator.mjs +3 -3
  38. package/esm2022/progressbar/progressbar.mjs +3 -3
  39. package/esm2022/progressspinner/progressspinner.mjs +3 -3
  40. package/esm2022/radiobutton/radiobutton.mjs +3 -3
  41. package/esm2022/scroller/scroller.mjs +3 -3
  42. package/esm2022/selectbutton/selectbutton.mjs +3 -3
  43. package/esm2022/sidebar/sidebar.mjs +3 -3
  44. package/esm2022/skeleton/skeleton.mjs +3 -3
  45. package/esm2022/speeddial/speeddial.mjs +3 -3
  46. package/esm2022/splitbutton/splitbutton.mjs +3 -3
  47. package/esm2022/splitter/splitter.mjs +3 -3
  48. package/esm2022/steps/steps.mjs +3 -3
  49. package/esm2022/table/components/cell-editor/cell-editor.mjs +3 -3
  50. package/esm2022/table/components/column-filter/column-filter.mjs +3 -3
  51. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +3 -3
  52. package/esm2022/table/components/sort-icon/sort-icon.mjs +3 -3
  53. package/esm2022/table/components/table-body/table-body.mjs +3 -3
  54. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +3 -3
  55. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +3 -3
  56. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +3 -3
  57. package/esm2022/table/table.mjs +3 -3
  58. package/esm2022/tableconfiguration/tableconfiguration.mjs +3 -3
  59. package/esm2022/tabview/tabview.mjs +5 -5
  60. package/esm2022/tag/tag.mjs +3 -3
  61. package/esm2022/timeline/timeline.mjs +3 -3
  62. package/esm2022/toast/toast.mjs +3 -3
  63. package/esm2022/toast/toastitem.mjs +3 -3
  64. package/esm2022/toggleswitch/toggleswitch.mjs +3 -3
  65. package/esm2022/tree/tree.mjs +5 -5
  66. package/esm2022/treeselect/treeselect.mjs +3 -3
  67. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +3 -3
  68. package/esm2022/upload/upload.component.mjs +3 -3
  69. package/fesm2022/cax-design-system-accordion.mjs +2 -2
  70. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  71. package/fesm2022/cax-design-system-autocomplete.mjs +2 -2
  72. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  73. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  74. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  75. package/fesm2022/cax-design-system-avatargroup.mjs +2 -2
  76. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  77. package/fesm2022/cax-design-system-badge.mjs +2 -2
  78. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  79. package/fesm2022/cax-design-system-breadcrumb.mjs +2 -2
  80. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  81. package/fesm2022/cax-design-system-button.mjs +2 -2
  82. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  83. package/fesm2022/cax-design-system-calendar.mjs +2 -2
  84. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  85. package/fesm2022/cax-design-system-card.mjs +2 -2
  86. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  87. package/fesm2022/cax-design-system-cascadeselect.mjs +4 -4
  88. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  89. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  90. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  91. package/fesm2022/cax-design-system-chip.mjs +2 -2
  92. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  93. package/fesm2022/cax-design-system-chips.mjs +2 -2
  94. package/fesm2022/cax-design-system-chips.mjs.map +1 -1
  95. package/fesm2022/cax-design-system-colorpicker.mjs +2 -2
  96. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  97. package/fesm2022/cax-design-system-commentbox.mjs +2 -2
  98. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  99. package/fesm2022/cax-design-system-confirmdialog.mjs +2 -2
  100. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  101. package/fesm2022/cax-design-system-dialog.mjs +2 -2
  102. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  103. package/fesm2022/cax-design-system-divider.mjs +2 -2
  104. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  105. package/fesm2022/cax-design-system-dropdown.mjs +4 -4
  106. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  107. package/fesm2022/cax-design-system-editor.mjs +2 -2
  108. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  109. package/fesm2022/cax-design-system-image.mjs +2 -2
  110. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  111. package/fesm2022/cax-design-system-inputgroup.mjs +2 -2
  112. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  113. package/fesm2022/cax-design-system-inputgroupaddon.mjs +2 -2
  114. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  115. package/fesm2022/cax-design-system-inputmask.mjs +2 -2
  116. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  117. package/fesm2022/cax-design-system-inputnumber.mjs +2 -2
  118. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  119. package/fesm2022/cax-design-system-inputtext.mjs +2 -2
  120. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  121. package/fesm2022/cax-design-system-inputtextarea.mjs +2 -2
  122. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  123. package/fesm2022/cax-design-system-logo.mjs +2 -2
  124. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  125. package/fesm2022/cax-design-system-menu.mjs +4 -4
  126. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  127. package/fesm2022/cax-design-system-messages.mjs +2 -2
  128. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  129. package/fesm2022/cax-design-system-multiselect.mjs +4 -4
  130. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  131. package/fesm2022/cax-design-system-navigation.mjs +2 -2
  132. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  133. package/fesm2022/cax-design-system-overlay.mjs +2 -2
  134. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  135. package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
  136. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  137. package/fesm2022/cax-design-system-paginator.mjs +2 -2
  138. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  139. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  140. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  141. package/fesm2022/cax-design-system-progressspinner.mjs +2 -2
  142. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  143. package/fesm2022/cax-design-system-radiobutton.mjs +2 -2
  144. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  145. package/fesm2022/cax-design-system-scroller.mjs +2 -2
  146. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  147. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  148. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  149. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  150. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  151. package/fesm2022/cax-design-system-skeleton.mjs +2 -2
  152. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  153. package/fesm2022/cax-design-system-speeddial.mjs +2 -2
  154. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  155. package/fesm2022/cax-design-system-splitbutton.mjs +2 -2
  156. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  157. package/fesm2022/cax-design-system-splitter.mjs +2 -2
  158. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  159. package/fesm2022/cax-design-system-steps.mjs +2 -2
  160. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  161. package/fesm2022/cax-design-system-table.mjs +18 -18
  162. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  163. package/fesm2022/cax-design-system-tableconfiguration.mjs +2 -2
  164. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  165. package/fesm2022/cax-design-system-tabview.mjs +4 -4
  166. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  167. package/fesm2022/cax-design-system-tag.mjs +2 -2
  168. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  169. package/fesm2022/cax-design-system-timeline.mjs +2 -2
  170. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  171. package/fesm2022/cax-design-system-toast.mjs +4 -4
  172. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  173. package/fesm2022/cax-design-system-toggleswitch.mjs +2 -2
  174. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  175. package/fesm2022/cax-design-system-tree.mjs +4 -4
  176. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  177. package/fesm2022/cax-design-system-treeselect.mjs +2 -2
  178. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  179. package/fesm2022/cax-design-system-tristatecheckbox.mjs +2 -2
  180. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  181. package/fesm2022/cax-design-system-upload.mjs +2 -2
  182. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  183. package/package.json +138 -138
  184. package/resources/cax.min.scss +1 -1
  185. package/resources/cax.scss +12518 -12488
  186. package/resources/components/accordion/accordion.scss +46 -46
  187. package/resources/components/autocomplete/autocomplete.scss +183 -183
  188. package/resources/components/avatar/avatar.scss +34 -34
  189. package/resources/components/avatargroup/avatargroup.scss +10 -10
  190. package/resources/components/badge/badge.scss +67 -67
  191. package/resources/components/blockui/blockui.css +26 -26
  192. package/resources/components/breadcrumb/breadcrumb.scss +33 -33
  193. package/resources/components/button/button.scss +163 -163
  194. package/resources/components/calendar/calendar.scss +235 -235
  195. package/resources/components/card/card.scss +50 -50
  196. package/resources/components/carousel/carousel.css +71 -71
  197. package/resources/components/cascadeselect/cascadeselect.scss +105 -105
  198. package/resources/components/checkbox/checkbox.scss +30 -30
  199. package/resources/components/chip/chip.scss +6 -6
  200. package/resources/components/chips/chips.scss +205 -205
  201. package/resources/components/colorpicker/colorpicker-images.scss +6 -6
  202. package/resources/components/colorpicker/colorpicker.scss +82 -82
  203. package/resources/components/commentbox/commentbox.scss +611 -611
  204. package/resources/components/common/common.scss +183 -183
  205. package/resources/components/confirmpopup/confirmpopup.css +53 -53
  206. package/resources/components/contextmenu/contextmenu.css +42 -42
  207. package/resources/components/dataview/dataview.css +13 -13
  208. package/resources/components/dialog/dialog.scss +171 -171
  209. package/resources/components/divider/divider.scss +86 -86
  210. package/resources/components/dock/dock.css +107 -107
  211. package/resources/components/dropdown/dropdown.scss +94 -94
  212. package/resources/components/editor/editor.scss +3 -3
  213. package/resources/components/fieldset/fieldset.css +30 -30
  214. package/resources/components/fileupload/fileupload.css +47 -47
  215. package/resources/components/galleria/galleria.css +281 -281
  216. package/resources/components/iconfield/iconfield.css +5 -5
  217. package/resources/components/image/image.scss +92 -92
  218. package/resources/components/inplace/inplace.css +19 -19
  219. package/resources/components/inputicon/inputicon.css +6 -6
  220. package/resources/components/inputmask/inputmask.scss +12 -12
  221. package/resources/components/inputnumber/inputnumber.scss +109 -109
  222. package/resources/components/inputotp/inputotp.css +2 -2
  223. package/resources/components/inputswitch/inputswitch.css +23 -23
  224. package/resources/components/inputtext/inputtext.scss +145 -145
  225. package/resources/components/inputtextarea/inputtextarea.scss +10 -10
  226. package/resources/components/knob/knob.css +20 -20
  227. package/resources/components/listbox/listbox.css +40 -40
  228. package/resources/components/megamenu/megamenu.css +108 -108
  229. package/resources/components/menu/menu.scss +30 -30
  230. package/resources/components/menubar/menubar.css +81 -81
  231. package/resources/components/message/message.css +17 -17
  232. package/resources/components/messages/messages.scss +55 -55
  233. package/resources/components/multiselect/multiselect.scss +132 -132
  234. package/resources/components/navigation/navigation.scss +196 -196
  235. package/resources/components/orderlist/orderlist.css +78 -78
  236. package/resources/components/organizationchart/organizationchart.css +62 -62
  237. package/resources/components/overlay/overlay.scss +80 -80
  238. package/resources/components/overlaypanel/overlaypanel.scss +66 -66
  239. package/resources/components/paginator/paginator.scss +41 -41
  240. package/resources/components/panel/panel.css +29 -29
  241. package/resources/components/panelmenu/panelmenu.css +45 -45
  242. package/resources/components/password/password.css +54 -54
  243. package/resources/components/picklist/picklist.css +60 -60
  244. package/resources/components/progressbar/progressbar.scss +107 -107
  245. package/resources/components/progressspinner/progressspinner.scss +94 -94
  246. package/resources/components/radiobutton/radiobutton.scss +34 -34
  247. package/resources/components/rating/rating.css +15 -15
  248. package/resources/components/ripple/ripple.scss +29 -29
  249. package/resources/components/scroller/scroller.scss +58 -58
  250. package/resources/components/scrollpanel/scrollpanel.css +50 -50
  251. package/resources/components/scrolltop/scrolltop.css +18 -18
  252. package/resources/components/sidebar/sidebar.scss +117 -117
  253. package/resources/components/skeleton/skeleton.scss +24 -24
  254. package/resources/components/slidemenu/slidemenu.css +100 -100
  255. package/resources/components/slider/slider.css +41 -41
  256. package/resources/components/speeddial/speeddial.scss +122 -122
  257. package/resources/components/spinner/spinner.css +63 -63
  258. package/resources/components/splitbutton/splitbutton.scss +53 -53
  259. package/resources/components/splitter/splitter.scss +73 -73
  260. package/resources/components/stepper/stepper.css +9 -9
  261. package/resources/components/steps/steps.scss +50 -50
  262. package/resources/components/table/table.scss +451 -451
  263. package/resources/components/tableconfiguration/tableconfiguration.scss +115 -115
  264. package/resources/components/tabmenu/tabmenu.css +80 -80
  265. package/resources/components/tabview/tabview.scss +198 -198
  266. package/resources/components/tag/tag.scss +23 -23
  267. package/resources/components/terminal/terminal.css +24 -24
  268. package/resources/components/tieredmenu/tieredmenu.scss +55 -55
  269. package/resources/components/timeline/timeline.scss +128 -128
  270. package/resources/components/toast/toast.scss +87 -87
  271. package/resources/components/toggleswitch/toggleswitch.scss +36 -36
  272. package/resources/components/toolbar/toolbar.css +19 -19
  273. package/resources/components/tooltip/tooltip.scss +124 -124
  274. package/resources/components/tree/tree.scss +154 -154
  275. package/resources/components/treeselect/treeselect.scss +114 -114
  276. package/resources/components/treetable/treetable.css +205 -205
  277. package/resources/components/upload/upload.component.scss +145 -145
  278. package/resources/logo/dataX-dark.svg +12 -12
  279. package/resources/logo/dataX-icon-dark.svg +5 -5
  280. package/resources/logo/dataX-icon.svg +5 -5
  281. package/resources/logo/dataX.svg +12 -12
  282. package/resources/styles/colors.scss +397 -397
  283. package/resources/styles/shadow-blur.scss +21 -21
  284. package/resources/styles/space-radius-border.scss +49 -49
  285. package/resources/styles/typography.scss +116 -135
@@ -198,13 +198,13 @@ class TableBody {
198
198
  return getItemOptions ? getItemOptions(index).index : index;
199
199
  }
200
200
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableBody, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
201
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableBody, isStandalone: true, selector: "[caxTableBody]", inputs: { columns: ["caxTableBody", "columns"], template: ["caxTableBodyTemplate", "template"], value: "value", frozen: ["frozen", "frozen", booleanAttribute], frozenRows: ["frozenRows", "frozenRows", booleanAttribute], scrollerOptions: "scrollerOptions" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"!dt.expandedRowTemplate\">\r\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\r\n <ng-container *ngIf=\"dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\r\n <ng-container *ngTemplateOutlet=\"dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.rowGroupMode !== 'rowspan'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.rowGroupMode === 'rowspan'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n rowData ? template : dt.loadingBodyTemplate;\r\n context: {\r\n $implicit: rowData,\r\n rowIndex: getRowIndex(rowIndex),\r\n columns: columns,\r\n editing: dt.editMode === 'row' && dt.isRowEditing(rowData),\r\n frozen: frozen,\r\n rowgroup: shouldRenderRowspan(value, rowData, rowIndex),\r\n rowspan: calculateRowGroupSize(value, rowData, rowIndex)\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)\" role=\"row\">\r\n <ng-container *ngTemplateOutlet=\"dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)\">\r\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\r\n <ng-container *ngIf=\"!dt.groupHeaderTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dt.groupHeaderTemplate;\r\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\r\n <ng-container *ngTemplateOutlet=\"dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\r\n <ng-container *ngIf=\"dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dt.groupFooterTemplate;\r\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.frozenExpandedRowTemplate && frozen\">\r\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\r\n ></ng-container>\r\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\r\n <ng-container *ngTemplateOutlet=\"dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.loading\">\r\n <ng-container *ngTemplateOutlet=\"dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.isEmpty() && !dt.loading\">\r\n <ng-container *ngTemplateOutlet=\"dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
201
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableBody, isStandalone: true, selector: "[caxTableBody]", inputs: { columns: ["caxTableBody", "columns"], template: ["caxTableBodyTemplate", "template"], value: "value", frozen: ["frozen", "frozen", booleanAttribute], frozenRows: ["frozenRows", "frozenRows", booleanAttribute], scrollerOptions: "scrollerOptions" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"!dt.expandedRowTemplate\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngIf=\"dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\n <ng-container *ngTemplateOutlet=\"dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.rowGroupMode !== 'rowspan'\">\n <ng-container\n *ngTemplateOutlet=\"rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.rowGroupMode === 'rowspan'\">\n <ng-container\n *ngTemplateOutlet=\"\n rowData ? template : dt.loadingBodyTemplate;\n context: {\n $implicit: rowData,\n rowIndex: getRowIndex(rowIndex),\n columns: columns,\n editing: dt.editMode === 'row' && dt.isRowEditing(rowData),\n frozen: frozen,\n rowgroup: shouldRenderRowspan(value, rowData, rowIndex),\n rowspan: calculateRowGroupSize(value, rowData, rowIndex)\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)\" role=\"row\">\n <ng-container *ngTemplateOutlet=\"dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngIf=\"!dt.groupHeaderTemplate\">\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\n <ng-container\n *ngTemplateOutlet=\"\n dt.groupHeaderTemplate;\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\n <ng-container *ngIf=\"dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\n <ng-container\n *ngTemplateOutlet=\"\n dt.groupFooterTemplate;\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"dt.frozenExpandedRowTemplate && frozen\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\n ></ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"dt.isEmpty() && !dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
202
202
  }
203
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableBody, decorators: [{
204
204
  type: Component,
205
205
  args: [{ selector: '[caxTableBody]', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
206
206
  class: 'cax-element'
207
- }, template: "<ng-container *ngIf=\"!dt.expandedRowTemplate\">\r\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\r\n <ng-container *ngIf=\"dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\r\n <ng-container *ngTemplateOutlet=\"dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.rowGroupMode !== 'rowspan'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.rowGroupMode === 'rowspan'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n rowData ? template : dt.loadingBodyTemplate;\r\n context: {\r\n $implicit: rowData,\r\n rowIndex: getRowIndex(rowIndex),\r\n columns: columns,\r\n editing: dt.editMode === 'row' && dt.isRowEditing(rowData),\r\n frozen: frozen,\r\n rowgroup: shouldRenderRowspan(value, rowData, rowIndex),\r\n rowspan: calculateRowGroupSize(value, rowData, rowIndex)\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)\" role=\"row\">\r\n <ng-container *ngTemplateOutlet=\"dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)\">\r\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\r\n <ng-container *ngIf=\"!dt.groupHeaderTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dt.groupHeaderTemplate;\r\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\r\n <ng-container *ngTemplateOutlet=\"dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\r\n <ng-container *ngIf=\"dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dt.groupFooterTemplate;\r\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.frozenExpandedRowTemplate && frozen\">\r\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\r\n ></ng-container>\r\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\r\n <ng-container *ngTemplateOutlet=\"dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.loading\">\r\n <ng-container *ngTemplateOutlet=\"dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\r\n</ng-container>\r\n<ng-container *ngIf=\"dt.isEmpty() && !dt.loading\">\r\n <ng-container *ngTemplateOutlet=\"dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\r\n</ng-container>\r\n" }]
207
+ }, template: "<ng-container *ngIf=\"!dt.expandedRowTemplate\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngIf=\"dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\n <ng-container *ngTemplateOutlet=\"dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.rowGroupMode !== 'rowspan'\">\n <ng-container\n *ngTemplateOutlet=\"rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.rowGroupMode === 'rowspan'\">\n <ng-container\n *ngTemplateOutlet=\"\n rowData ? template : dt.loadingBodyTemplate;\n context: {\n $implicit: rowData,\n rowIndex: getRowIndex(rowIndex),\n columns: columns,\n editing: dt.editMode === 'row' && dt.isRowEditing(rowData),\n frozen: frozen,\n rowgroup: shouldRenderRowspan(value, rowData, rowIndex),\n rowspan: calculateRowGroupSize(value, rowData, rowIndex)\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)\" role=\"row\">\n <ng-container *ngTemplateOutlet=\"dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngIf=\"!dt.groupHeaderTemplate\">\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\n <ng-container\n *ngTemplateOutlet=\"\n dt.groupHeaderTemplate;\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\n <ng-container *ngIf=\"dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))\" role=\"row\">\n <ng-container\n *ngTemplateOutlet=\"\n dt.groupFooterTemplate;\n context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"dt.frozenExpandedRowTemplate && frozen\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"value\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }\"\n ></ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }\"></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"dt.isEmpty() && !dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\n</ng-container>\n" }]
208
208
  }], ctorParameters: () => [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { columns: [{
209
209
  type: Input,
210
210
  args: ['caxTableBody']
@@ -2705,13 +2705,13 @@ class Table {
2705
2705
  .trim();
2706
2706
  }
2707
2707
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Table, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i2.FilterService }, { token: i2.OverlayService }, { token: i2.caxConfig }, { token: i3$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2708
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Table, isStandalone: true, selector: "cax-table", inputs: { fontSize: "fontSize", rowSize: "rowSize", frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: ["paginator", "paginator", booleanAttribute], pageLinks: ["pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: ["alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: ["showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: ["showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showJumpToPageInput: ["showJumpToPageInput", "showJumpToPageInput", booleanAttribute], showFirstLastIcon: ["showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: ["showPageLinks", "showPageLinks", booleanAttribute], defaultSortOrder: ["defaultSortOrder", "defaultSortOrder", numberAttribute], filterType: "filterType", sortType: "sortType", sortMode: "sortMode", resetPageOnSort: ["resetPageOnSort", "resetPageOnSort", booleanAttribute], selectionMode: "selectionMode", selectionPageOnly: ["selectionPageOnly", "selectionPageOnly", booleanAttribute], contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: ["lazy", "lazy", booleanAttribute], lazyLoadOnInit: ["lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: ["filterDelay", "filterDelay", numberAttribute], filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: ["scrollable", "scrollable", booleanAttribute], scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: ["virtualScrollDelay", "virtualScrollDelay", numberAttribute], frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: ["resizableColumns", "resizableColumns", booleanAttribute], columnResizeMode: "columnResizeMode", reorderableColumns: ["reorderableColumns", "reorderableColumns", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", showLoader: ["showLoader", "showLoader", booleanAttribute], rowHover: ["rowHover", "rowHover", booleanAttribute], customSort: ["customSort", "customSort", booleanAttribute], showInitialSortBadge: ["showInitialSortBadge", "showInitialSortBadge", booleanAttribute], autoLayout: ["autoLayout", "autoLayout", booleanAttribute], exportFunction: "exportFunction", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: ["groupRowsByOrder", "groupRowsByOrder", numberAttribute], responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", paginatorLocale: "paginatorLocale", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll", virtualRowHeight: "virtualRowHeight" }, outputs: { contextMenuSelectionChange: "contextMenuSelectionChange", selectAllChange: "selectAllChange", selectionChange: "selectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["thead"], descendants: true }, { propertyName: "tableFooterViewChild", first: true, predicate: ["tfoot"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"getTableClasses()\" [attr.id]=\"id\">\r\n <div class=\"cax-datatable-loading-overlay cax-component-overlay\" *ngIf=\"loading && showLoader\">\r\n <i *ngIf=\"loadingIcon\" [class]=\"'cax-datatable-loading-icon ' + loadingIcon\"></i>\r\n <ng-container *ngIf=\"!loadingIcon\">\r\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [spin]=\"true\" [styleClass]=\"'cax-datatable-loading-icon'\" />\r\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-datatable-loading-icon\">\r\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"captionTemplate\" class=\"cax-datatable-header\">\r\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\r\n </div>\r\n <cax-paginator\r\n [rows]=\"rows\"\r\n [first]=\"first\"\r\n [totalRecords]=\"totalRecords\"\r\n [pageLinkSize]=\"pageLinks\"\r\n [alwaysShow]=\"alwaysShowPaginator\"\r\n (onPageChange)=\"onPageChange($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\r\n [templateLeft]=\"paginatorLeftTemplate\"\r\n [templateRight]=\"paginatorRightTemplate\"\r\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\r\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\r\n [showCurrentPageReport]=\"showCurrentPageReport\"\r\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\r\n [showJumpToPageInput]=\"showJumpToPageInput\"\r\n [showPageLinks]=\"showPageLinks\"\r\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-top')\"\r\n [locale]=\"paginatorLocale\"\r\n >\r\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n </cax-paginator>\r\n\r\n <div #wrapper class=\"cax-datatable-wrapper\" [ngStyle]=\"{ maxHeight: virtualScroll ? '' : scrollHeight }\">\r\n <cax-scroller\r\n #scroller\r\n *ngIf=\"virtualScroll\"\r\n [items]=\"processedData\"\r\n [columns]=\"columns\"\r\n [style]=\"{ height: scrollHeight !== 'flex' ? scrollHeight : undefined }\"\r\n [scrollHeight]=\"scrollHeight !== 'flex' ? undefined : '100%'\"\r\n [itemSize]=\"virtualScrollItemSize || _virtualRowHeight\"\r\n [step]=\"rows\"\r\n [delay]=\"lazy ? virtualScrollDelay : 0\"\r\n [inline]=\"true\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyItemLoad($event)\"\r\n [loaderDisabled]=\"true\"\r\n [showSpacer]=\"false\"\r\n [showLoader]=\"loadingBodyTemplate\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template caxTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </cax-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: processedData, options: { columns } }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInTable let-items let-scrollerOptions=\"options\">\r\n <table\r\n #table\r\n role=\"table\"\r\n [ngClass]=\"{ 'cax-datatable-table': true, 'cax-datatable-scrollable-table': scrollable, 'cax-datatable-resizable-table': resizableColumns, 'cax-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }\"\r\n [class]=\"tableStyleClass\"\r\n [ngStyle]=\"tableStyle\"\r\n [attr.id]=\"id + '-table'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\r\n <thead role=\"rowgroup\" #thead class=\"cax-datatable-thead\">\r\n <ng-container *ngTemplateOutlet=\"headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\r\n </thead>\r\n <tbody\r\n role=\"rowgroup\"\r\n class=\"cax-datatable-tbody cax-datatable-frozen-tbody\"\r\n *ngIf=\"frozenValue || frozenBodyTemplate\"\r\n [value]=\"frozenValue\"\r\n [frozenRows]=\"true\"\r\n [caxTableBody]=\"scrollerOptions.columns\"\r\n [caxTableBodyTemplate]=\"frozenBodyTemplate\"\r\n [frozen]=\"true\"\r\n ></tbody>\r\n <tbody\r\n role=\"rowgroup\"\r\n class=\"cax-datatable-tbody\"\r\n [ngClass]=\"scrollerOptions.contentStyleClass\"\r\n [ngStyle]=\"scrollerOptions.contentStyle\"\r\n [value]=\"dataToRender(scrollerOptions.rows)\"\r\n [caxTableBody]=\"scrollerOptions.columns\"\r\n [caxTableBodyTemplate]=\"bodyTemplate\"\r\n [scrollerOptions]=\"scrollerOptions\"\r\n ></tbody>\r\n <tbody\r\n role=\"rowgroup\"\r\n *ngIf=\"scrollerOptions.spacerStyle\"\r\n [ngStyle]=\"{ height: 'calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px)' }\"\r\n class=\"cax-datatable-scroller-spacer\"\r\n ></tbody>\r\n <tfoot role=\"rowgroup\" *ngIf=\"footerGroupedTemplate || footerTemplate\" #tfoot class=\"cax-datatable-tfoot\">\r\n <ng-container *ngTemplateOutlet=\"footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\r\n </tfoot>\r\n </table>\r\n </ng-template>\r\n </div>\r\n\r\n <cax-paginator\r\n [rows]=\"rows\"\r\n [first]=\"first\"\r\n [totalRecords]=\"totalRecords\"\r\n [pageLinkSize]=\"pageLinks\"\r\n [alwaysShow]=\"alwaysShowPaginator\"\r\n (onPageChange)=\"onPageChange($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\r\n [templateLeft]=\"paginatorLeftTemplate\"\r\n [templateRight]=\"paginatorRightTemplate\"\r\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\r\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\r\n [showCurrentPageReport]=\"showCurrentPageReport\"\r\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\r\n [showJumpToPageInput]=\"showJumpToPageInput\"\r\n [showPageLinks]=\"showPageLinks\"\r\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-bottom')\"\r\n [locale]=\"paginatorLocale\"\r\n >\r\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n </cax-paginator>\r\n\r\n <div *ngIf=\"summaryTemplate\" class=\"cax-datatable-footer\">\r\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\r\n </div>\r\n\r\n <div\r\n #resizeHelper\r\n class=\"cax-column-resizer-helper\"\r\n [ngStyle]=\"{\r\n display: 'none'\r\n }\"\r\n *ngIf=\"resizableColumns\"\r\n ></div>\r\n <span\r\n #reorderIndicatorUp\r\n class=\"cax-datatable-reorder-indicator-up\"\r\n [ngStyle]=\"{\r\n display: 'none'\r\n }\"\r\n *ngIf=\"reorderableColumns\"\r\n >\r\n <ArrowDownIcon *ngIf=\"!reorderIndicatorUpIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"reorderIndicatorUpIconTemplate\"></ng-template>\r\n </span>\r\n <span\r\n #reorderIndicatorDown\r\n class=\"cax-datatable-reorder-indicator-down\"\r\n [ngStyle]=\"{\r\n display: 'none'\r\n }\"\r\n *ngIf=\"reorderableColumns\"\r\n >\r\n <ArrowUpIcon *ngIf=\"!reorderIndicatorDownIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"reorderIndicatorDownIconTemplate\"></ng-template>\r\n </span>\r\n</div>\r\n", styles: ["@layer cax{.cax-datatable{position:relative}.cax-datatable>.cax-datatable-wrapper{overflow:auto;border-radius:12px}.cax-datatable-wrapper::-webkit-scrollbar{width:8px;height:8px}.cax-datatable-wrapper::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.cax-datatable-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.cax-datatable-table{border-spacing:0px;width:100%}.cax-datatable .cax-sortable-column{-webkit-user-select:none;user-select:none}.cax-datatable .cax-sortable-column .cax-column-title,.cax-datatable .cax-sortable-column .cax-sortable-column-icon,.cax-datatable .cax-sortable-column .cax-sortable-column-badge{vertical-align:middle}.cax-datatable .cax-sortable-column .cax-icon-wrapper{display:inline}.cax-datatable .cax-sortable-column .cax-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.cax-datatable-hoverable-rows .cax-selectable-row{cursor:pointer}.cax-datatable-scrollable>.cax-datatable-wrapper{position:relative}.cax-datatable-scrollable-table>.cax-datatable-thead{position:sticky;top:0;z-index:2}.cax-datatable-scrollable-table>.cax-datatable-frozen-tbody{position:sticky;z-index:1}.cax-datatable-scrollable-table>.cax-datatable-tfoot{position:sticky;bottom:0;z-index:1}.cax-datatable-scrollable .cax-frozen-column{position:sticky;z-index:1}.cax-datatable-scrollable th.cax-frozen-column{z-index:2;background:var(--neutral-75)}.cax-datatable-scrollable td.cax-frozen-column{z-index:1;background:transparent;-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px)}.cax-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.cax-datatable-flex-scrollable>.cax-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.cax-datatable-scrollable-table>.cax-datatable-tbody>.cax-rowgroucax-header{position:sticky;z-index:2}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th,.cax-datatable-resizable-table>.cax-datatable-tfoot>tr>td,.cax-datatable-resizable-table>.cax-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th.cax-resizable-column:not(.cax-frozen-column){background-clip:padding-box;position:relative}.cax-datatable-resizable-table-fit>.cax-datatable-thead>tr>th.cax-resizable-column:last-child .cax-column-resizer{display:none}.cax-datatable .cax-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.cax-datatable .cax-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.cax-datatable .cax-row-editor-init,.cax-datatable .cax-row-editor-save,.cax-datatable .cax-row-editor-cancel,.cax-datatable .cax-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cax-datatable-reorder-indicator-up,.cax-datatable-reorder-indicator-down{position:absolute}.cax-datatable-reorderablerow-handle,[caxReorderableColumn]{cursor:move}.cax-datatable .cax-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.cax-column-filter-row{display:flex;align-items:center;width:100%}.cax-column-filter-row i{font-size:20px}.cax-column-filter-menu,.cax-column-filter-custom{display:inline-flex;position:relative;float:right;margin-left:4px}.cax-column-filter-menu i,.cax-column-filter-custom i{font-size:20px}.cax-column-filter-custom-container{padding:16px;display:flex;gap:16px;flex-direction:column}.cax-column-filter-custom-container .cax-column-filter-custom-buttons{display:flex;gap:12px}.cax-column-filter-custom-container .cax-column-filter-custom-buttons cax-button{flex:1}.cax-column-filter-overlay-custom{width:248px}.cax-column-filter-row cax-columnfilterformelement{flex:1 1 auto;width:1%}.cax-column-filter-menu-button,.cax-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.cax-column-filter-menu-button:disabled{opacity:.5}.cax-column-filter-overlay{position:absolute;top:0;left:0}.cax-column-filter-row-items{margin:0;padding:0;list-style:none}.cax-column-filter-row-item{cursor:pointer}.cax-column-filter-add-button,.cax-column-filter-remove-button{justify-content:center}.cax-column-filter-add-button .cax-button-label,.cax-column-filter-remove-button .cax-button-label{flex-grow:0}.cax-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cax-column-filter-buttonbar .cax-button{width:auto}.cax-datatable-tbody>tr>td>.cax-column-title{display:none}.cax-datatable-scroller-spacer{display:flex}.cax-datatable .cax-scroller .cax-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}.cax-datatable .cax-editable-column .cax-inputtext{width:100%;box-shadow:none;border:0;padding:0;line-height:normal}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td .cax-inputtext{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:16px;height:16px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td .cax-inputtext{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:18px;height:18px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td .cax-inputtext{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:20px;height:20px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td .cax-inputtext{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:22px;height:22px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:42px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:72px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:88px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:44px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:78px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:96px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:54px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:66px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:86px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:108px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:70px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:94px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:116px}.cax-cell-highlight-default{border:1px solid var(--primary-500)!important}.cax-cell-highlight-error{border:1px solid var(--error-600)!important}.cax-cell-background-error{background:var(--error-50)}.cax-sort-icon-button{border:0;width:28px;height:28px!important;display:flex;background:transparent;cursor:pointer;padding:0!important;align-items:center;justify-content:center}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}cax-sorticon{position:absolute;margin-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i5.Paginator, selector: "cax-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "rightAligned"], outputs: ["onPageChange"] }, { kind: "directive", type: i2.CaxTemplate, selector: "[caxTemplate]", inputs: ["type", "caxTemplate"] }, { kind: "component", type: i6.Scroller, selector: "cax-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "ngmodule", type: ScrollerModule }, { kind: "component", type: ArrowDownIcon, selector: "ArrowDownIcon" }, { kind: "component", type: ArrowUpIcon, selector: "ArrowUpIcon" }, { kind: "component", type: SpinnerIcon, selector: "SpinnerIcon" }, { kind: "component", type: TableBody, selector: "[caxTableBody]", inputs: ["caxTableBody", "caxTableBodyTemplate", "value", "frozen", "frozenRows", "scrollerOptions"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
2708
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Table, isStandalone: true, selector: "cax-table", inputs: { fontSize: "fontSize", rowSize: "rowSize", frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: ["paginator", "paginator", booleanAttribute], pageLinks: ["pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: ["alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: ["showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: ["showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showJumpToPageInput: ["showJumpToPageInput", "showJumpToPageInput", booleanAttribute], showFirstLastIcon: ["showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: ["showPageLinks", "showPageLinks", booleanAttribute], defaultSortOrder: ["defaultSortOrder", "defaultSortOrder", numberAttribute], filterType: "filterType", sortType: "sortType", sortMode: "sortMode", resetPageOnSort: ["resetPageOnSort", "resetPageOnSort", booleanAttribute], selectionMode: "selectionMode", selectionPageOnly: ["selectionPageOnly", "selectionPageOnly", booleanAttribute], contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: ["lazy", "lazy", booleanAttribute], lazyLoadOnInit: ["lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: ["filterDelay", "filterDelay", numberAttribute], filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: ["scrollable", "scrollable", booleanAttribute], scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: ["virtualScrollDelay", "virtualScrollDelay", numberAttribute], frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: ["resizableColumns", "resizableColumns", booleanAttribute], columnResizeMode: "columnResizeMode", reorderableColumns: ["reorderableColumns", "reorderableColumns", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", showLoader: ["showLoader", "showLoader", booleanAttribute], rowHover: ["rowHover", "rowHover", booleanAttribute], customSort: ["customSort", "customSort", booleanAttribute], showInitialSortBadge: ["showInitialSortBadge", "showInitialSortBadge", booleanAttribute], autoLayout: ["autoLayout", "autoLayout", booleanAttribute], exportFunction: "exportFunction", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: ["groupRowsByOrder", "groupRowsByOrder", numberAttribute], responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", paginatorLocale: "paginatorLocale", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll", virtualRowHeight: "virtualRowHeight" }, outputs: { contextMenuSelectionChange: "contextMenuSelectionChange", selectAllChange: "selectAllChange", selectionChange: "selectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["thead"], descendants: true }, { propertyName: "tableFooterViewChild", first: true, predicate: ["tfoot"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"getTableClasses()\" [attr.id]=\"id\">\n <div class=\"cax-datatable-loading-overlay cax-component-overlay\" *ngIf=\"loading && showLoader\">\n <i *ngIf=\"loadingIcon\" [class]=\"'cax-datatable-loading-icon ' + loadingIcon\"></i>\n <ng-container *ngIf=\"!loadingIcon\">\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [spin]=\"true\" [styleClass]=\"'cax-datatable-loading-icon'\" />\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-datatable-loading-icon\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n <div *ngIf=\"captionTemplate\" class=\"cax-datatable-header\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </div>\n <cax-paginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [pageLinkSize]=\"pageLinks\"\n [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\n [templateLeft]=\"paginatorLeftTemplate\"\n [templateRight]=\"paginatorRightTemplate\"\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showJumpToPageInput]=\"showJumpToPageInput\"\n [showPageLinks]=\"showPageLinks\"\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-top')\"\n [locale]=\"paginatorLocale\"\n >\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\n </ng-template>\n </cax-paginator>\n\n <div #wrapper class=\"cax-datatable-wrapper\" [ngStyle]=\"{ maxHeight: virtualScroll ? '' : scrollHeight }\">\n <cax-scroller\n #scroller\n *ngIf=\"virtualScroll\"\n [items]=\"processedData\"\n [columns]=\"columns\"\n [style]=\"{ height: scrollHeight !== 'flex' ? scrollHeight : undefined }\"\n [scrollHeight]=\"scrollHeight !== 'flex' ? undefined : '100%'\"\n [itemSize]=\"virtualScrollItemSize || _virtualRowHeight\"\n [step]=\"rows\"\n [delay]=\"lazy ? virtualScrollDelay : 0\"\n [inline]=\"true\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyItemLoad($event)\"\n [loaderDisabled]=\"true\"\n [showSpacer]=\"false\"\n [showLoader]=\"loadingBodyTemplate\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template caxTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n </cax-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: processedData, options: { columns } }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInTable let-items let-scrollerOptions=\"options\">\n <table\n #table\n role=\"table\"\n [ngClass]=\"{ 'cax-datatable-table': true, 'cax-datatable-scrollable-table': scrollable, 'cax-datatable-resizable-table': resizableColumns, 'cax-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }\"\n [class]=\"tableStyleClass\"\n [ngStyle]=\"tableStyle\"\n [attr.id]=\"id + '-table'\"\n >\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\n <thead role=\"rowgroup\" #thead class=\"cax-datatable-thead\">\n <ng-container *ngTemplateOutlet=\"headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\n </thead>\n <tbody\n role=\"rowgroup\"\n class=\"cax-datatable-tbody cax-datatable-frozen-tbody\"\n *ngIf=\"frozenValue || frozenBodyTemplate\"\n [value]=\"frozenValue\"\n [frozenRows]=\"true\"\n [caxTableBody]=\"scrollerOptions.columns\"\n [caxTableBodyTemplate]=\"frozenBodyTemplate\"\n [frozen]=\"true\"\n ></tbody>\n <tbody\n role=\"rowgroup\"\n class=\"cax-datatable-tbody\"\n [ngClass]=\"scrollerOptions.contentStyleClass\"\n [ngStyle]=\"scrollerOptions.contentStyle\"\n [value]=\"dataToRender(scrollerOptions.rows)\"\n [caxTableBody]=\"scrollerOptions.columns\"\n [caxTableBodyTemplate]=\"bodyTemplate\"\n [scrollerOptions]=\"scrollerOptions\"\n ></tbody>\n <tbody\n role=\"rowgroup\"\n *ngIf=\"scrollerOptions.spacerStyle\"\n [ngStyle]=\"{ height: 'calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px)' }\"\n class=\"cax-datatable-scroller-spacer\"\n ></tbody>\n <tfoot role=\"rowgroup\" *ngIf=\"footerGroupedTemplate || footerTemplate\" #tfoot class=\"cax-datatable-tfoot\">\n <ng-container *ngTemplateOutlet=\"footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\n </tfoot>\n </table>\n </ng-template>\n </div>\n\n <cax-paginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [pageLinkSize]=\"pageLinks\"\n [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\n [templateLeft]=\"paginatorLeftTemplate\"\n [templateRight]=\"paginatorRightTemplate\"\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showJumpToPageInput]=\"showJumpToPageInput\"\n [showPageLinks]=\"showPageLinks\"\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-bottom')\"\n [locale]=\"paginatorLocale\"\n >\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\n </ng-template>\n </cax-paginator>\n\n <div *ngIf=\"summaryTemplate\" class=\"cax-datatable-footer\">\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\n </div>\n\n <div\n #resizeHelper\n class=\"cax-column-resizer-helper\"\n [ngStyle]=\"{\n display: 'none'\n }\"\n *ngIf=\"resizableColumns\"\n ></div>\n <span\n #reorderIndicatorUp\n class=\"cax-datatable-reorder-indicator-up\"\n [ngStyle]=\"{\n display: 'none'\n }\"\n *ngIf=\"reorderableColumns\"\n >\n <ArrowDownIcon *ngIf=\"!reorderIndicatorUpIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"reorderIndicatorUpIconTemplate\"></ng-template>\n </span>\n <span\n #reorderIndicatorDown\n class=\"cax-datatable-reorder-indicator-down\"\n [ngStyle]=\"{\n display: 'none'\n }\"\n *ngIf=\"reorderableColumns\"\n >\n <ArrowUpIcon *ngIf=\"!reorderIndicatorDownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"reorderIndicatorDownIconTemplate\"></ng-template>\n </span>\n</div>\n", styles: ["@layer cax{.cax-datatable{position:relative}.cax-datatable>.cax-datatable-wrapper{overflow:auto;border-radius:12px}.cax-datatable-wrapper::-webkit-scrollbar{width:8px;height:8px}.cax-datatable-wrapper::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.cax-datatable-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.cax-datatable-table{border-spacing:0px;width:100%}.cax-datatable .cax-sortable-column{-webkit-user-select:none;user-select:none}.cax-datatable .cax-sortable-column .cax-column-title,.cax-datatable .cax-sortable-column .cax-sortable-column-icon,.cax-datatable .cax-sortable-column .cax-sortable-column-badge{vertical-align:middle}.cax-datatable .cax-sortable-column .cax-icon-wrapper{display:inline}.cax-datatable .cax-sortable-column .cax-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.cax-datatable-hoverable-rows .cax-selectable-row{cursor:pointer}.cax-datatable-scrollable>.cax-datatable-wrapper{position:relative}.cax-datatable-scrollable-table>.cax-datatable-thead{position:sticky;top:0;z-index:2}.cax-datatable-scrollable-table>.cax-datatable-frozen-tbody{position:sticky;z-index:1}.cax-datatable-scrollable-table>.cax-datatable-tfoot{position:sticky;bottom:0;z-index:1}.cax-datatable-scrollable .cax-frozen-column{position:sticky;z-index:1}.cax-datatable-scrollable th.cax-frozen-column{z-index:2;background:var(--neutral-75)}.cax-datatable-scrollable td.cax-frozen-column{z-index:1;background:transparent;-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px)}.cax-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.cax-datatable-flex-scrollable>.cax-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.cax-datatable-scrollable-table>.cax-datatable-tbody>.cax-rowgroucax-header{position:sticky;z-index:2}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th,.cax-datatable-resizable-table>.cax-datatable-tfoot>tr>td,.cax-datatable-resizable-table>.cax-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th.cax-resizable-column:not(.cax-frozen-column){background-clip:padding-box;position:relative}.cax-datatable-resizable-table-fit>.cax-datatable-thead>tr>th.cax-resizable-column:last-child .cax-column-resizer{display:none}.cax-datatable .cax-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.cax-datatable .cax-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.cax-datatable .cax-row-editor-init,.cax-datatable .cax-row-editor-save,.cax-datatable .cax-row-editor-cancel,.cax-datatable .cax-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cax-datatable-reorder-indicator-up,.cax-datatable-reorder-indicator-down{position:absolute}.cax-datatable-reorderablerow-handle,[caxReorderableColumn]{cursor:move}.cax-datatable .cax-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.cax-column-filter-row{display:flex;align-items:center;width:100%}.cax-column-filter-row i{font-size:20px}.cax-column-filter-menu,.cax-column-filter-custom{display:inline-flex;position:relative;float:right;margin-left:4px}.cax-column-filter-menu i,.cax-column-filter-custom i{font-size:20px}.cax-column-filter-custom-container{padding:16px;display:flex;gap:16px;flex-direction:column}.cax-column-filter-custom-container .cax-column-filter-custom-buttons{display:flex;gap:12px}.cax-column-filter-custom-container .cax-column-filter-custom-buttons cax-button{flex:1}.cax-column-filter-overlay-custom{width:248px}.cax-column-filter-row cax-columnfilterformelement{flex:1 1 auto;width:1%}.cax-column-filter-menu-button,.cax-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.cax-column-filter-menu-button:disabled{opacity:.5}.cax-column-filter-overlay{position:absolute;top:0;left:0}.cax-column-filter-row-items{margin:0;padding:0;list-style:none}.cax-column-filter-row-item{cursor:pointer}.cax-column-filter-add-button,.cax-column-filter-remove-button{justify-content:center}.cax-column-filter-add-button .cax-button-label,.cax-column-filter-remove-button .cax-button-label{flex-grow:0}.cax-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cax-column-filter-buttonbar .cax-button{width:auto}.cax-datatable-tbody>tr>td>.cax-column-title{display:none}.cax-datatable-scroller-spacer{display:flex}.cax-datatable .cax-scroller .cax-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}.cax-datatable .cax-editable-column .cax-inputtext{width:100%;box-shadow:none;border:0;padding:0;line-height:normal}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td .cax-inputtext{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:16px;height:16px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td .cax-inputtext{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:18px;height:18px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td .cax-inputtext{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:20px;height:20px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td .cax-inputtext{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:22px;height:22px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:42px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:72px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:88px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:44px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:78px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:96px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:54px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:66px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:86px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:108px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:70px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:94px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:116px}.cax-cell-highlight-default{border:1px solid var(--primary-500)!important}.cax-cell-highlight-error{border:1px solid var(--error-600)!important}.cax-cell-background-error{background:var(--error-50)}.cax-sort-icon-button{border:0;width:28px;height:28px!important;display:flex;background:transparent;cursor:pointer;padding:0!important;align-items:center;justify-content:center}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}cax-sorticon{position:absolute;margin-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i5.Paginator, selector: "cax-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "rightAligned"], outputs: ["onPageChange"] }, { kind: "directive", type: i2.CaxTemplate, selector: "[caxTemplate]", inputs: ["type", "caxTemplate"] }, { kind: "component", type: i6.Scroller, selector: "cax-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "ngmodule", type: ScrollerModule }, { kind: "component", type: ArrowDownIcon, selector: "ArrowDownIcon" }, { kind: "component", type: ArrowUpIcon, selector: "ArrowUpIcon" }, { kind: "component", type: SpinnerIcon, selector: "SpinnerIcon" }, { kind: "component", type: TableBody, selector: "[caxTableBody]", inputs: ["caxTableBody", "caxTableBodyTemplate", "value", "frozen", "frozenRows", "scrollerOptions"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
2709
2709
  }
2710
2710
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Table, decorators: [{
2711
2711
  type: Component,
2712
2712
  args: [{ selector: 'cax-table', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, PaginatorModule, ScrollerModule, ArrowDownIcon, ArrowUpIcon, SpinnerIcon, TableBody], host: {
2713
2713
  class: 'cax-element'
2714
- }, template: "<div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"getTableClasses()\" [attr.id]=\"id\">\r\n <div class=\"cax-datatable-loading-overlay cax-component-overlay\" *ngIf=\"loading && showLoader\">\r\n <i *ngIf=\"loadingIcon\" [class]=\"'cax-datatable-loading-icon ' + loadingIcon\"></i>\r\n <ng-container *ngIf=\"!loadingIcon\">\r\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [spin]=\"true\" [styleClass]=\"'cax-datatable-loading-icon'\" />\r\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-datatable-loading-icon\">\r\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"captionTemplate\" class=\"cax-datatable-header\">\r\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\r\n </div>\r\n <cax-paginator\r\n [rows]=\"rows\"\r\n [first]=\"first\"\r\n [totalRecords]=\"totalRecords\"\r\n [pageLinkSize]=\"pageLinks\"\r\n [alwaysShow]=\"alwaysShowPaginator\"\r\n (onPageChange)=\"onPageChange($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\r\n [templateLeft]=\"paginatorLeftTemplate\"\r\n [templateRight]=\"paginatorRightTemplate\"\r\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\r\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\r\n [showCurrentPageReport]=\"showCurrentPageReport\"\r\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\r\n [showJumpToPageInput]=\"showJumpToPageInput\"\r\n [showPageLinks]=\"showPageLinks\"\r\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-top')\"\r\n [locale]=\"paginatorLocale\"\r\n >\r\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n </cax-paginator>\r\n\r\n <div #wrapper class=\"cax-datatable-wrapper\" [ngStyle]=\"{ maxHeight: virtualScroll ? '' : scrollHeight }\">\r\n <cax-scroller\r\n #scroller\r\n *ngIf=\"virtualScroll\"\r\n [items]=\"processedData\"\r\n [columns]=\"columns\"\r\n [style]=\"{ height: scrollHeight !== 'flex' ? scrollHeight : undefined }\"\r\n [scrollHeight]=\"scrollHeight !== 'flex' ? undefined : '100%'\"\r\n [itemSize]=\"virtualScrollItemSize || _virtualRowHeight\"\r\n [step]=\"rows\"\r\n [delay]=\"lazy ? virtualScrollDelay : 0\"\r\n [inline]=\"true\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyItemLoad($event)\"\r\n [loaderDisabled]=\"true\"\r\n [showSpacer]=\"false\"\r\n [showLoader]=\"loadingBodyTemplate\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template caxTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </cax-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: processedData, options: { columns } }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInTable let-items let-scrollerOptions=\"options\">\r\n <table\r\n #table\r\n role=\"table\"\r\n [ngClass]=\"{ 'cax-datatable-table': true, 'cax-datatable-scrollable-table': scrollable, 'cax-datatable-resizable-table': resizableColumns, 'cax-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }\"\r\n [class]=\"tableStyleClass\"\r\n [ngStyle]=\"tableStyle\"\r\n [attr.id]=\"id + '-table'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\r\n <thead role=\"rowgroup\" #thead class=\"cax-datatable-thead\">\r\n <ng-container *ngTemplateOutlet=\"headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\r\n </thead>\r\n <tbody\r\n role=\"rowgroup\"\r\n class=\"cax-datatable-tbody cax-datatable-frozen-tbody\"\r\n *ngIf=\"frozenValue || frozenBodyTemplate\"\r\n [value]=\"frozenValue\"\r\n [frozenRows]=\"true\"\r\n [caxTableBody]=\"scrollerOptions.columns\"\r\n [caxTableBodyTemplate]=\"frozenBodyTemplate\"\r\n [frozen]=\"true\"\r\n ></tbody>\r\n <tbody\r\n role=\"rowgroup\"\r\n class=\"cax-datatable-tbody\"\r\n [ngClass]=\"scrollerOptions.contentStyleClass\"\r\n [ngStyle]=\"scrollerOptions.contentStyle\"\r\n [value]=\"dataToRender(scrollerOptions.rows)\"\r\n [caxTableBody]=\"scrollerOptions.columns\"\r\n [caxTableBodyTemplate]=\"bodyTemplate\"\r\n [scrollerOptions]=\"scrollerOptions\"\r\n ></tbody>\r\n <tbody\r\n role=\"rowgroup\"\r\n *ngIf=\"scrollerOptions.spacerStyle\"\r\n [ngStyle]=\"{ height: 'calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px)' }\"\r\n class=\"cax-datatable-scroller-spacer\"\r\n ></tbody>\r\n <tfoot role=\"rowgroup\" *ngIf=\"footerGroupedTemplate || footerTemplate\" #tfoot class=\"cax-datatable-tfoot\">\r\n <ng-container *ngTemplateOutlet=\"footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\r\n </tfoot>\r\n </table>\r\n </ng-template>\r\n </div>\r\n\r\n <cax-paginator\r\n [rows]=\"rows\"\r\n [first]=\"first\"\r\n [totalRecords]=\"totalRecords\"\r\n [pageLinkSize]=\"pageLinks\"\r\n [alwaysShow]=\"alwaysShowPaginator\"\r\n (onPageChange)=\"onPageChange($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\r\n [templateLeft]=\"paginatorLeftTemplate\"\r\n [templateRight]=\"paginatorRightTemplate\"\r\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\r\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\r\n [showCurrentPageReport]=\"showCurrentPageReport\"\r\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\r\n [showJumpToPageInput]=\"showJumpToPageInput\"\r\n [showPageLinks]=\"showPageLinks\"\r\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-bottom')\"\r\n [locale]=\"paginatorLocale\"\r\n >\r\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\r\n </ng-template>\r\n </cax-paginator>\r\n\r\n <div *ngIf=\"summaryTemplate\" class=\"cax-datatable-footer\">\r\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\r\n </div>\r\n\r\n <div\r\n #resizeHelper\r\n class=\"cax-column-resizer-helper\"\r\n [ngStyle]=\"{\r\n display: 'none'\r\n }\"\r\n *ngIf=\"resizableColumns\"\r\n ></div>\r\n <span\r\n #reorderIndicatorUp\r\n class=\"cax-datatable-reorder-indicator-up\"\r\n [ngStyle]=\"{\r\n display: 'none'\r\n }\"\r\n *ngIf=\"reorderableColumns\"\r\n >\r\n <ArrowDownIcon *ngIf=\"!reorderIndicatorUpIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"reorderIndicatorUpIconTemplate\"></ng-template>\r\n </span>\r\n <span\r\n #reorderIndicatorDown\r\n class=\"cax-datatable-reorder-indicator-down\"\r\n [ngStyle]=\"{\r\n display: 'none'\r\n }\"\r\n *ngIf=\"reorderableColumns\"\r\n >\r\n <ArrowUpIcon *ngIf=\"!reorderIndicatorDownIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"reorderIndicatorDownIconTemplate\"></ng-template>\r\n </span>\r\n</div>\r\n", styles: ["@layer cax{.cax-datatable{position:relative}.cax-datatable>.cax-datatable-wrapper{overflow:auto;border-radius:12px}.cax-datatable-wrapper::-webkit-scrollbar{width:8px;height:8px}.cax-datatable-wrapper::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.cax-datatable-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.cax-datatable-table{border-spacing:0px;width:100%}.cax-datatable .cax-sortable-column{-webkit-user-select:none;user-select:none}.cax-datatable .cax-sortable-column .cax-column-title,.cax-datatable .cax-sortable-column .cax-sortable-column-icon,.cax-datatable .cax-sortable-column .cax-sortable-column-badge{vertical-align:middle}.cax-datatable .cax-sortable-column .cax-icon-wrapper{display:inline}.cax-datatable .cax-sortable-column .cax-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.cax-datatable-hoverable-rows .cax-selectable-row{cursor:pointer}.cax-datatable-scrollable>.cax-datatable-wrapper{position:relative}.cax-datatable-scrollable-table>.cax-datatable-thead{position:sticky;top:0;z-index:2}.cax-datatable-scrollable-table>.cax-datatable-frozen-tbody{position:sticky;z-index:1}.cax-datatable-scrollable-table>.cax-datatable-tfoot{position:sticky;bottom:0;z-index:1}.cax-datatable-scrollable .cax-frozen-column{position:sticky;z-index:1}.cax-datatable-scrollable th.cax-frozen-column{z-index:2;background:var(--neutral-75)}.cax-datatable-scrollable td.cax-frozen-column{z-index:1;background:transparent;-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px)}.cax-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.cax-datatable-flex-scrollable>.cax-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.cax-datatable-scrollable-table>.cax-datatable-tbody>.cax-rowgroucax-header{position:sticky;z-index:2}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th,.cax-datatable-resizable-table>.cax-datatable-tfoot>tr>td,.cax-datatable-resizable-table>.cax-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th.cax-resizable-column:not(.cax-frozen-column){background-clip:padding-box;position:relative}.cax-datatable-resizable-table-fit>.cax-datatable-thead>tr>th.cax-resizable-column:last-child .cax-column-resizer{display:none}.cax-datatable .cax-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.cax-datatable .cax-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.cax-datatable .cax-row-editor-init,.cax-datatable .cax-row-editor-save,.cax-datatable .cax-row-editor-cancel,.cax-datatable .cax-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cax-datatable-reorder-indicator-up,.cax-datatable-reorder-indicator-down{position:absolute}.cax-datatable-reorderablerow-handle,[caxReorderableColumn]{cursor:move}.cax-datatable .cax-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.cax-column-filter-row{display:flex;align-items:center;width:100%}.cax-column-filter-row i{font-size:20px}.cax-column-filter-menu,.cax-column-filter-custom{display:inline-flex;position:relative;float:right;margin-left:4px}.cax-column-filter-menu i,.cax-column-filter-custom i{font-size:20px}.cax-column-filter-custom-container{padding:16px;display:flex;gap:16px;flex-direction:column}.cax-column-filter-custom-container .cax-column-filter-custom-buttons{display:flex;gap:12px}.cax-column-filter-custom-container .cax-column-filter-custom-buttons cax-button{flex:1}.cax-column-filter-overlay-custom{width:248px}.cax-column-filter-row cax-columnfilterformelement{flex:1 1 auto;width:1%}.cax-column-filter-menu-button,.cax-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.cax-column-filter-menu-button:disabled{opacity:.5}.cax-column-filter-overlay{position:absolute;top:0;left:0}.cax-column-filter-row-items{margin:0;padding:0;list-style:none}.cax-column-filter-row-item{cursor:pointer}.cax-column-filter-add-button,.cax-column-filter-remove-button{justify-content:center}.cax-column-filter-add-button .cax-button-label,.cax-column-filter-remove-button .cax-button-label{flex-grow:0}.cax-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cax-column-filter-buttonbar .cax-button{width:auto}.cax-datatable-tbody>tr>td>.cax-column-title{display:none}.cax-datatable-scroller-spacer{display:flex}.cax-datatable .cax-scroller .cax-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}.cax-datatable .cax-editable-column .cax-inputtext{width:100%;box-shadow:none;border:0;padding:0;line-height:normal}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td .cax-inputtext{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:16px;height:16px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td .cax-inputtext{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:18px;height:18px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td .cax-inputtext{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:20px;height:20px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td .cax-inputtext{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:22px;height:22px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:42px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:72px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:88px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:44px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:78px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:96px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:54px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:66px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:86px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:108px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:70px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:94px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:116px}.cax-cell-highlight-default{border:1px solid var(--primary-500)!important}.cax-cell-highlight-error{border:1px solid var(--error-600)!important}.cax-cell-background-error{background:var(--error-50)}.cax-sort-icon-button{border:0;width:28px;height:28px!important;display:flex;background:transparent;cursor:pointer;padding:0!important;align-items:center;justify-content:center}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}cax-sorticon{position:absolute;margin-left:4px}\n"] }]
2714
+ }, template: "<div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"getTableClasses()\" [attr.id]=\"id\">\n <div class=\"cax-datatable-loading-overlay cax-component-overlay\" *ngIf=\"loading && showLoader\">\n <i *ngIf=\"loadingIcon\" [class]=\"'cax-datatable-loading-icon ' + loadingIcon\"></i>\n <ng-container *ngIf=\"!loadingIcon\">\n <SpinnerIcon *ngIf=\"!loadingIconTemplate\" [spin]=\"true\" [styleClass]=\"'cax-datatable-loading-icon'\" />\n <span *ngIf=\"loadingIconTemplate\" class=\"cax-datatable-loading-icon\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n <div *ngIf=\"captionTemplate\" class=\"cax-datatable-header\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </div>\n <cax-paginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [pageLinkSize]=\"pageLinks\"\n [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\n [templateLeft]=\"paginatorLeftTemplate\"\n [templateRight]=\"paginatorRightTemplate\"\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showJumpToPageInput]=\"showJumpToPageInput\"\n [showPageLinks]=\"showPageLinks\"\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-top')\"\n [locale]=\"paginatorLocale\"\n >\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\n </ng-template>\n </cax-paginator>\n\n <div #wrapper class=\"cax-datatable-wrapper\" [ngStyle]=\"{ maxHeight: virtualScroll ? '' : scrollHeight }\">\n <cax-scroller\n #scroller\n *ngIf=\"virtualScroll\"\n [items]=\"processedData\"\n [columns]=\"columns\"\n [style]=\"{ height: scrollHeight !== 'flex' ? scrollHeight : undefined }\"\n [scrollHeight]=\"scrollHeight !== 'flex' ? undefined : '100%'\"\n [itemSize]=\"virtualScrollItemSize || _virtualRowHeight\"\n [step]=\"rows\"\n [delay]=\"lazy ? virtualScrollDelay : 0\"\n [inline]=\"true\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyItemLoad($event)\"\n [loaderDisabled]=\"true\"\n [showSpacer]=\"false\"\n [showLoader]=\"loadingBodyTemplate\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template caxTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n </cax-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInTable; context: { $implicit: processedData, options: { columns } }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInTable let-items let-scrollerOptions=\"options\">\n <table\n #table\n role=\"table\"\n [ngClass]=\"{ 'cax-datatable-table': true, 'cax-datatable-scrollable-table': scrollable, 'cax-datatable-resizable-table': resizableColumns, 'cax-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }\"\n [class]=\"tableStyleClass\"\n [ngStyle]=\"tableStyle\"\n [attr.id]=\"id + '-table'\"\n >\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\n <thead role=\"rowgroup\" #thead class=\"cax-datatable-thead\">\n <ng-container *ngTemplateOutlet=\"headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\n </thead>\n <tbody\n role=\"rowgroup\"\n class=\"cax-datatable-tbody cax-datatable-frozen-tbody\"\n *ngIf=\"frozenValue || frozenBodyTemplate\"\n [value]=\"frozenValue\"\n [frozenRows]=\"true\"\n [caxTableBody]=\"scrollerOptions.columns\"\n [caxTableBodyTemplate]=\"frozenBodyTemplate\"\n [frozen]=\"true\"\n ></tbody>\n <tbody\n role=\"rowgroup\"\n class=\"cax-datatable-tbody\"\n [ngClass]=\"scrollerOptions.contentStyleClass\"\n [ngStyle]=\"scrollerOptions.contentStyle\"\n [value]=\"dataToRender(scrollerOptions.rows)\"\n [caxTableBody]=\"scrollerOptions.columns\"\n [caxTableBodyTemplate]=\"bodyTemplate\"\n [scrollerOptions]=\"scrollerOptions\"\n ></tbody>\n <tbody\n role=\"rowgroup\"\n *ngIf=\"scrollerOptions.spacerStyle\"\n [ngStyle]=\"{ height: 'calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px)' }\"\n class=\"cax-datatable-scroller-spacer\"\n ></tbody>\n <tfoot role=\"rowgroup\" *ngIf=\"footerGroupedTemplate || footerTemplate\" #tfoot class=\"cax-datatable-tfoot\">\n <ng-container *ngTemplateOutlet=\"footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }\"></ng-container>\n </tfoot>\n </table>\n </ng-template>\n </div>\n\n <cax-paginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [pageLinkSize]=\"pageLinks\"\n [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\n [templateLeft]=\"paginatorLeftTemplate\"\n [templateRight]=\"paginatorRightTemplate\"\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [dropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showJumpToPageInput]=\"showJumpToPageInput\"\n [showPageLinks]=\"showPageLinks\"\n [styleClass]=\"getPaginatorStyleClasses('cax-paginator-bottom')\"\n [locale]=\"paginatorLocale\"\n >\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"paginatorDropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorDropdownIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template caxTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate\"></ng-container>\n </ng-template>\n </cax-paginator>\n\n <div *ngIf=\"summaryTemplate\" class=\"cax-datatable-footer\">\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\n </div>\n\n <div\n #resizeHelper\n class=\"cax-column-resizer-helper\"\n [ngStyle]=\"{\n display: 'none'\n }\"\n *ngIf=\"resizableColumns\"\n ></div>\n <span\n #reorderIndicatorUp\n class=\"cax-datatable-reorder-indicator-up\"\n [ngStyle]=\"{\n display: 'none'\n }\"\n *ngIf=\"reorderableColumns\"\n >\n <ArrowDownIcon *ngIf=\"!reorderIndicatorUpIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"reorderIndicatorUpIconTemplate\"></ng-template>\n </span>\n <span\n #reorderIndicatorDown\n class=\"cax-datatable-reorder-indicator-down\"\n [ngStyle]=\"{\n display: 'none'\n }\"\n *ngIf=\"reorderableColumns\"\n >\n <ArrowUpIcon *ngIf=\"!reorderIndicatorDownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"reorderIndicatorDownIconTemplate\"></ng-template>\n </span>\n</div>\n", styles: ["@layer cax{.cax-datatable{position:relative}.cax-datatable>.cax-datatable-wrapper{overflow:auto;border-radius:12px}.cax-datatable-wrapper::-webkit-scrollbar{width:8px;height:8px}.cax-datatable-wrapper::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.cax-datatable-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.cax-datatable-table{border-spacing:0px;width:100%}.cax-datatable .cax-sortable-column{-webkit-user-select:none;user-select:none}.cax-datatable .cax-sortable-column .cax-column-title,.cax-datatable .cax-sortable-column .cax-sortable-column-icon,.cax-datatable .cax-sortable-column .cax-sortable-column-badge{vertical-align:middle}.cax-datatable .cax-sortable-column .cax-icon-wrapper{display:inline}.cax-datatable .cax-sortable-column .cax-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.cax-datatable-hoverable-rows .cax-selectable-row{cursor:pointer}.cax-datatable-scrollable>.cax-datatable-wrapper{position:relative}.cax-datatable-scrollable-table>.cax-datatable-thead{position:sticky;top:0;z-index:2}.cax-datatable-scrollable-table>.cax-datatable-frozen-tbody{position:sticky;z-index:1}.cax-datatable-scrollable-table>.cax-datatable-tfoot{position:sticky;bottom:0;z-index:1}.cax-datatable-scrollable .cax-frozen-column{position:sticky;z-index:1}.cax-datatable-scrollable th.cax-frozen-column{z-index:2;background:var(--neutral-75)}.cax-datatable-scrollable td.cax-frozen-column{z-index:1;background:transparent;-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px)}.cax-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.cax-datatable-flex-scrollable>.cax-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.cax-datatable-scrollable-table>.cax-datatable-tbody>.cax-rowgroucax-header{position:sticky;z-index:2}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th,.cax-datatable-resizable-table>.cax-datatable-tfoot>tr>td,.cax-datatable-resizable-table>.cax-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.cax-datatable-resizable-table>.cax-datatable-thead>tr>th.cax-resizable-column:not(.cax-frozen-column){background-clip:padding-box;position:relative}.cax-datatable-resizable-table-fit>.cax-datatable-thead>tr>th.cax-resizable-column:last-child .cax-column-resizer{display:none}.cax-datatable .cax-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.cax-datatable .cax-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.cax-datatable .cax-row-editor-init,.cax-datatable .cax-row-editor-save,.cax-datatable .cax-row-editor-cancel,.cax-datatable .cax-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cax-datatable-reorder-indicator-up,.cax-datatable-reorder-indicator-down{position:absolute}.cax-datatable-reorderablerow-handle,[caxReorderableColumn]{cursor:move}.cax-datatable .cax-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.cax-column-filter-row{display:flex;align-items:center;width:100%}.cax-column-filter-row i{font-size:20px}.cax-column-filter-menu,.cax-column-filter-custom{display:inline-flex;position:relative;float:right;margin-left:4px}.cax-column-filter-menu i,.cax-column-filter-custom i{font-size:20px}.cax-column-filter-custom-container{padding:16px;display:flex;gap:16px;flex-direction:column}.cax-column-filter-custom-container .cax-column-filter-custom-buttons{display:flex;gap:12px}.cax-column-filter-custom-container .cax-column-filter-custom-buttons cax-button{flex:1}.cax-column-filter-overlay-custom{width:248px}.cax-column-filter-row cax-columnfilterformelement{flex:1 1 auto;width:1%}.cax-column-filter-menu-button,.cax-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.cax-column-filter-menu-button:disabled{opacity:.5}.cax-column-filter-overlay{position:absolute;top:0;left:0}.cax-column-filter-row-items{margin:0;padding:0;list-style:none}.cax-column-filter-row-item{cursor:pointer}.cax-column-filter-add-button,.cax-column-filter-remove-button{justify-content:center}.cax-column-filter-add-button .cax-button-label,.cax-column-filter-remove-button .cax-button-label{flex-grow:0}.cax-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cax-column-filter-buttonbar .cax-button{width:auto}.cax-datatable-tbody>tr>td>.cax-column-title{display:none}.cax-datatable-scroller-spacer{display:flex}.cax-datatable .cax-scroller .cax-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}.cax-datatable .cax-editable-column .cax-inputtext{width:100%;box-shadow:none;border:0;padding:0;line-height:normal}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td .cax-inputtext{font-size:12px}.cax-datatable.cax-datatable-font-sm .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:16px;height:16px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td .cax-inputtext{font-size:14px}.cax-datatable.cax-datatable-font-md .cax-datatable-tbody>tr>td cax-tablecheckbox .cax-checkbox .cax-checkbox-box{width:18px;height:18px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td .cax-inputtext{font-size:16px}.cax-datatable.cax-datatable-font-lg .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:20px;height:20px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td .cax-inputtext{font-size:18px}.cax-datatable.cax-datatable-font-xl .cax-datatable-tbody>tr>td cax-tablecheckbox.cax-checkbox .cax-checkbox-box{width:22px;height:22px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:42px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:72px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:88px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:44px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:78px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:96px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:54px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:66px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:86px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:108px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:56px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:70px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:94px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:116px}.cax-cell-highlight-default{border:1px solid var(--primary-500)!important}.cax-cell-highlight-error{border:1px solid var(--error-600)!important}.cax-cell-background-error{background:var(--error-50)}.cax-sort-icon-button{border:0;width:28px;height:28px!important;display:flex;background:transparent;cursor:pointer;padding:0!important;align-items:center;justify-content:center}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}cax-sorticon{position:absolute;margin-left:4px}\n"] }]
2715
2715
  }], ctorParameters: () => [{ type: Document, decorators: [{
2716
2716
  type: Inject,
2717
2717
  args: [DOCUMENT]
@@ -3402,13 +3402,13 @@ class CellEditor {
3402
3402
  return (this.dt.editingCell && this.editableColumn && this.dt.editingCell === this.editableColumn.el.nativeElement) || (this.editableRow && this.dt.editMode === 'row' && this.dt.isRowEditing(this.editableRow.data));
3403
3403
  }
3404
3404
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CellEditor, deps: [{ token: Table }, { token: EditableColumn, optional: true }, { token: EditableRow, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3405
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CellEditor, isStandalone: true, selector: "cax-cellEditor", host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<ng-container *ngIf=\"editing\">\r\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\r\n</ng-container>\r\n<ng-container *ngIf=\"!editing\">\r\n <ng-container *ngTemplateOutlet=\"outputTemplate\"></ng-container>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
3405
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CellEditor, isStandalone: true, selector: "cax-cellEditor", host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<ng-container *ngIf=\"editing\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!editing\">\n <ng-container *ngTemplateOutlet=\"outputTemplate\"></ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
3406
3406
  }
3407
3407
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CellEditor, decorators: [{
3408
3408
  type: Component,
3409
3409
  args: [{ selector: 'cax-cellEditor', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
3410
3410
  class: 'cax-element'
3411
- }, template: "<ng-container *ngIf=\"editing\">\r\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\r\n</ng-container>\r\n<ng-container *ngIf=\"!editing\">\r\n <ng-container *ngTemplateOutlet=\"outputTemplate\"></ng-container>\r\n</ng-container>\r\n" }]
3411
+ }, template: "<ng-container *ngIf=\"editing\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!editing\">\n <ng-container *ngTemplateOutlet=\"outputTemplate\"></ng-container>\n</ng-container>\n" }]
3412
3412
  }], ctorParameters: () => [{ type: Table }, { type: EditableColumn, decorators: [{
3413
3413
  type: Optional
3414
3414
  }] }, { type: EditableRow, decorators: [{
@@ -3467,13 +3467,13 @@ class ColumnFilterFormElement {
3467
3467
  }
3468
3468
  }
3469
3469
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
3470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilterFormElement, isStandalone: true, selector: "cax-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"filterTemplate; else builtInElement\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n filterTemplate;\r\n context: {\r\n $implicit: filterConstraint.value,\r\n filterCallback: filterCallback,\r\n type: type,\r\n field: field,\r\n filterConstraint: filterConstraint,\r\n placeholder: placeholder,\r\n minFractionDigits: minFractionDigits,\r\n maxFractionDigits: maxFractionDigits,\r\n prefix: prefix,\r\n suffix: suffix,\r\n locale: locale,\r\n localeMatcher: localeMatcher,\r\n currency: currency,\r\n currencyDisplay: currencyDisplay,\r\n useGrouping: useGrouping,\r\n showButtons: showButtons\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #builtInElement>\r\n <ng-container [ngSwitch]=\"type\">\r\n <input\r\n *ngSwitchCase=\"'text'\"\r\n type=\"text\"\r\n [ariaLabel]=\"ariaLabel\"\r\n caxInputText\r\n [value]=\"filterConstraint?.value\"\r\n (input)=\"onModelChange($event.target.value)\"\r\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n />\r\n <cax-inputNumber\r\n *ngSwitchCase=\"'numeric'\"\r\n [ngModel]=\"filterConstraint?.value\"\r\n (ngModelChange)=\"onModelChange($event)\"\r\n (onKeyDown)=\"onNumericInputKeyDown($event)\"\r\n [showButtons]=\"showButtons\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"currency ? 'currency' : 'decimal'\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-inputNumber>\r\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></cax-triStateCheckbox>\r\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\"></cax-calendar>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "labelText", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TriStateCheckboxModule }, { kind: "component", type: i8.TriStateCheckbox, selector: "cax-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "variant", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon", "autofocus"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
3470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilterFormElement, isStandalone: true, selector: "cax-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"filterTemplate; else builtInElement\">\n <ng-container\n *ngTemplateOutlet=\"\n filterTemplate;\n context: {\n $implicit: filterConstraint.value,\n filterCallback: filterCallback,\n type: type,\n field: field,\n filterConstraint: filterConstraint,\n placeholder: placeholder,\n minFractionDigits: minFractionDigits,\n maxFractionDigits: maxFractionDigits,\n prefix: prefix,\n suffix: suffix,\n locale: locale,\n localeMatcher: localeMatcher,\n currency: currency,\n currencyDisplay: currencyDisplay,\n useGrouping: useGrouping,\n showButtons: showButtons\n }\n \"\n ></ng-container>\n</ng-container>\n<ng-template #builtInElement>\n <ng-container [ngSwitch]=\"type\">\n <input\n *ngSwitchCase=\"'text'\"\n type=\"text\"\n [ariaLabel]=\"ariaLabel\"\n caxInputText\n [value]=\"filterConstraint?.value\"\n (input)=\"onModelChange($event.target.value)\"\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\"\n [attr.placeholder]=\"placeholder\"\n />\n <cax-inputNumber\n *ngSwitchCase=\"'numeric'\"\n [ngModel]=\"filterConstraint?.value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onKeyDown)=\"onNumericInputKeyDown($event)\"\n [showButtons]=\"showButtons\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [ariaLabel]=\"ariaLabel\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [placeholder]=\"placeholder\"\n [mode]=\"currency ? 'currency' : 'decimal'\"\n [locale]=\"locale\"\n [localeMatcher]=\"localeMatcher\"\n [currency]=\"currency\"\n [currencyDisplay]=\"currencyDisplay\"\n [useGrouping]=\"useGrouping\"\n ></cax-inputNumber>\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></cax-triStateCheckbox>\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\"></cax-calendar>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "labelText", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TriStateCheckboxModule }, { kind: "component", type: i8.TriStateCheckbox, selector: "cax-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "variant", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon", "autofocus"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
3471
3471
  }
3472
3472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3473
3473
  type: Component,
3474
3474
  args: [{ selector: 'cax-columnFilterFormElement', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, InputTextModule, FormsModule, CalendarModule, InputNumberModule, TriStateCheckboxModule], host: {
3475
3475
  class: 'cax-element'
3476
- }, template: "<ng-container *ngIf=\"filterTemplate; else builtInElement\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n filterTemplate;\r\n context: {\r\n $implicit: filterConstraint.value,\r\n filterCallback: filterCallback,\r\n type: type,\r\n field: field,\r\n filterConstraint: filterConstraint,\r\n placeholder: placeholder,\r\n minFractionDigits: minFractionDigits,\r\n maxFractionDigits: maxFractionDigits,\r\n prefix: prefix,\r\n suffix: suffix,\r\n locale: locale,\r\n localeMatcher: localeMatcher,\r\n currency: currency,\r\n currencyDisplay: currencyDisplay,\r\n useGrouping: useGrouping,\r\n showButtons: showButtons\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #builtInElement>\r\n <ng-container [ngSwitch]=\"type\">\r\n <input\r\n *ngSwitchCase=\"'text'\"\r\n type=\"text\"\r\n [ariaLabel]=\"ariaLabel\"\r\n caxInputText\r\n [value]=\"filterConstraint?.value\"\r\n (input)=\"onModelChange($event.target.value)\"\r\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n />\r\n <cax-inputNumber\r\n *ngSwitchCase=\"'numeric'\"\r\n [ngModel]=\"filterConstraint?.value\"\r\n (ngModelChange)=\"onModelChange($event)\"\r\n (onKeyDown)=\"onNumericInputKeyDown($event)\"\r\n [showButtons]=\"showButtons\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"currency ? 'currency' : 'decimal'\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-inputNumber>\r\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></cax-triStateCheckbox>\r\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\"></cax-calendar>\r\n </ng-container>\r\n</ng-template>\r\n" }]
3476
+ }, template: "<ng-container *ngIf=\"filterTemplate; else builtInElement\">\n <ng-container\n *ngTemplateOutlet=\"\n filterTemplate;\n context: {\n $implicit: filterConstraint.value,\n filterCallback: filterCallback,\n type: type,\n field: field,\n filterConstraint: filterConstraint,\n placeholder: placeholder,\n minFractionDigits: minFractionDigits,\n maxFractionDigits: maxFractionDigits,\n prefix: prefix,\n suffix: suffix,\n locale: locale,\n localeMatcher: localeMatcher,\n currency: currency,\n currencyDisplay: currencyDisplay,\n useGrouping: useGrouping,\n showButtons: showButtons\n }\n \"\n ></ng-container>\n</ng-container>\n<ng-template #builtInElement>\n <ng-container [ngSwitch]=\"type\">\n <input\n *ngSwitchCase=\"'text'\"\n type=\"text\"\n [ariaLabel]=\"ariaLabel\"\n caxInputText\n [value]=\"filterConstraint?.value\"\n (input)=\"onModelChange($event.target.value)\"\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\"\n [attr.placeholder]=\"placeholder\"\n />\n <cax-inputNumber\n *ngSwitchCase=\"'numeric'\"\n [ngModel]=\"filterConstraint?.value\"\n (ngModelChange)=\"onModelChange($event)\"\n (onKeyDown)=\"onNumericInputKeyDown($event)\"\n [showButtons]=\"showButtons\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [ariaLabel]=\"ariaLabel\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [placeholder]=\"placeholder\"\n [mode]=\"currency ? 'currency' : 'decimal'\"\n [locale]=\"locale\"\n [localeMatcher]=\"localeMatcher\"\n [currency]=\"currency\"\n [currencyDisplay]=\"currencyDisplay\"\n [useGrouping]=\"useGrouping\"\n ></cax-inputNumber>\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></cax-triStateCheckbox>\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\"></cax-calendar>\n </ng-container>\n</ng-template>\n" }]
3477
3477
  }], ctorParameters: () => [{ type: Table }, { type: ColumnFilter }], propDecorators: { field: [{
3478
3478
  type: Input
3479
3479
  }], type: [{
@@ -4254,13 +4254,13 @@ class ColumnFilter {
4254
4254
  this.hide();
4255
4255
  }
4256
4256
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilter, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: Table }, { token: i0.Renderer2 }, { token: i2.caxConfig }, { token: i2.OverlayService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4257
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilter, isStandalone: true, selector: "cax-columnFilter", inputs: { field: "field", type: "type", disabled: "disabled", display: "display", showMenu: ["showMenu", "showMenu", booleanAttribute], matchMode: "matchMode", operator: "operator", showOperator: ["showOperator", "showOperator", booleanAttribute], showClearButton: ["showClearButton", "showClearButton", booleanAttribute], showApplyButton: ["showApplyButton", "showApplyButton", booleanAttribute], showMatchModes: ["showMatchModes", "showMatchModes", booleanAttribute], showAddButton: ["showAddButton", "showAddButton", booleanAttribute], hideOnClear: ["hideOnClear", "hideOnClear", booleanAttribute], placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: ["maxConstraints", "maxConstraints", numberAttribute], minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], showButtons: ["showButtons", "showButtons", booleanAttribute], ariaLabel: "ariaLabel" }, outputs: { onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }, { propertyName: "clearButtonViewChild", first: true, predicate: ["clearBtn"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"cax-column-filter\"\r\n [ngClass]=\"{ 'cax-column-filter-row': display === 'row' && dt.filterType === 'default', 'cax-column-filter-menu': display === 'menu' && dt.filterType === 'default', 'cax-column-filter-custom': dt.filterType === 'custom' }\"\r\n>\r\n <cax-columnFilterFormElement\r\n *ngIf=\"display === 'row' && dt.filterType === 'default'\"\r\n class=\"cax-fluid\"\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [filterConstraint]=\"dt.filters[field]\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n [showButtons]=\"showButtons\"\r\n ></cax-columnFilterFormElement>\r\n <button\r\n #icon\r\n *ngIf=\"showMenuButton\"\r\n type=\"button\"\r\n class=\"cax-column-filter-menu-button cax-link\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-label]=\"filterMenuButtonAriaLabel\"\r\n [attr.aria-controls]=\"overlayVisible ? overlayId : null\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{ 'cax-column-filter-menu-button-open': overlayVisible, 'cax-column-filter-menu-button-active': hasFilter() }\"\r\n (click)=\"toggleMenu()\"\r\n (keydown)=\"onToggleButtonKeyDown($event)\"\r\n >\r\n <i *ngIf=\"!filterIconTemplate\" [styleClass]=\"'pi-filter-icon'\" class=\"cax cax-filter\"></i>\r\n <span class=\"pi-filter-icon\" *ngIf=\"filterIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <button\r\n #icon\r\n *ngIf=\"showClearButton && display === 'row' && dt.filterType === 'default'\"\r\n [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\"\r\n type=\"button\"\r\n class=\"cax-column-filter-clear-button cax-link\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n >\r\n <FilterSlashIcon *ngIf=\"!clearFilterIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"clearFilterIconTemplate\"></ng-template>\r\n </button>\r\n <div\r\n *ngIf=\"showMenu && overlayVisible\"\r\n [ngClass]=\"{ 'cax-column-filter-overlay cax-component cax-fluid': true, 'cax-column-filter-overlay-menu': display === 'menu' && dt.filterType === 'default' , 'cax-column-filter-overlay-custom': dt.filterType === 'custom' }\"\r\n [id]=\"overlayId\"\r\n [attr.aria-modal]=\"true\"\r\n role=\"dialog\"\r\n (click)=\"onContentClick()\"\r\n [@overlayAnimation]=\"'visible'\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n (keydown.escape)=\"onEscape()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: field }\"></ng-container>\r\n <ul *ngIf=\"display === 'row' && dt.filterType === 'default'; else menu\" class=\"cax-column-filter-row-items\">\r\n <li\r\n class=\"cax-column-filter-row-item\"\r\n *ngFor=\"let matchMode of matchModes; let i = index\"\r\n (click)=\"onRowMatchModeChange(matchMode.value)\"\r\n (keydown)=\"onRowMatchModeKeyDown($event)\"\r\n (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\r\n [ngClass]=\"{ 'cax-highlight': isRowMatchModeSelected(matchMode.value) }\"\r\n [attr.tabindex]=\"i === 0 ? '0' : null\"\r\n >\r\n {{ matchMode.label }}\r\n </li>\r\n <li class=\"cax-column-filter-separator\"></li>\r\n <li class=\"cax-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{ noFilterLabel }}</li>\r\n </ul>\r\n <ng-template #menu>\r\n <ng-container *ngIf=\"display === 'menu' && dt.filterType === 'default'; else custom\">\r\n <div class=\"cax-column-filter-operator\" *ngIf=\"isShowOperator\">\r\n <cax-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown\"></cax-dropdown>\r\n </div>\r\n <div class=\"cax-column-filter-constraints\">\r\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"cax-column-filter-constraint\">\r\n <cax-dropdown\r\n *ngIf=\"showMatchModes && matchModes\"\r\n [options]=\"matchModes\"\r\n [ngModel]=\"fieldConstraint.matchMode\"\r\n (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\"\r\n styleClass=\"cax-column-filter-matchmode-dropdown\"\r\n ></cax-dropdown>\r\n <cax-columnFilterFormElement\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [filterConstraint]=\"fieldConstraint\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-columnFilterFormElement>\r\n <div>\r\n <button\r\n *ngIf=\"showRemoveIcon\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-column-filter-remove-button cax-button-text cax-button-danger cax-button-sm\"\r\n (click)=\"removeConstraint(fieldConstraint)\"\r\n pRipple\r\n [attr.aria-label]=\"removeRuleButtonLabel\"\r\n [label]=\"removeRuleButtonLabel\"\r\n >\r\n <TrashIcon *ngIf=\"!removeRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"removeRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"cax-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\r\n <button type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" pRipple>\r\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-column-filter-buttonbar\" *ngIf=\"showButtons\">\r\n <button\r\n #clearBtn\r\n *ngIf=\"showClearButton\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-button-outlined cax-button-danger cax-button-sm\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n [label]=\"clearButtonLabel\"\r\n pRipple\r\n ></button>\r\n <button *ngIf=\"showApplyButton\" type=\"button\" caxButton (click)=\"applyFilter()\" class=\"cax-button-sm\" [label]=\"applyButtonLabel\" pRipple [attr.aria-label]=\"applyButtonLabel\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #custom>\r\n <div class=\"cax-column-filter-custom-container\">\r\n <div>\r\n <div class=\"cax-column-filter-custom-list-header\" (click)=\"toggleCustomFilterList()\">\r\n <span *ngIf=\"!selectedCustomFilter?.label?.length\">Select a condition</span>\r\n <div *ngIf=\"selectedCustomFilter\">{{ selectedCustomFilter.label }}</div>\r\n <i class=\"cax cax-alt-arrow-down\"></i>\r\n </div>\r\n <div class=\"cax-column-filter-custom-list\" *ngIf=\"customFilterListVisible\">\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of commonFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of stringFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of numberFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of dateFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isCustomStringFilterSelected\">\r\n <cax-inputtext [(ngModel)]=\"customInputFilter\" [clearIcon]=\"false\"></cax-inputtext>\r\n </div>\r\n <div *ngIf=\"isCustomNumberFilterSelected\" style=\"display: flex; gap: 12px\">\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter1\"></cax-inputNumber>\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter2\" *ngIf=\"selectedCustomFilter.key === 'gtlt'\"></cax-inputNumber>\r\n </div>\r\n <div *ngIf=\"isCustomDateFilterSelected && selectedCustomFilter.key !== 'today'\">\r\n <cax-calendar [(ngModel)]=\"customDateFilter\" [showIcon]=\"true\" iconDisplay=\"input\"></cax-calendar>\r\n </div>\r\n <div class=\"cax-column-filter-custom-buttons\">\r\n <cax-button (click)=\"onClearCustomFilters()\" [disabled]=\"!selectedCustomFilter\" [label]=\"'Clear'\" [severity]=\"'danger'\" outlined=\"true\"></cax-button>\r\n <cax-button (click)=\"onApplyCustomFilters()\" [label]=\"'Apply'\"></cax-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4$1.Dropdown, selector: "cax-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "labelText", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "component", type: i6$2.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: FilterSlashIcon, selector: "FilterSlashIcon" }, { kind: "component", type: PlusIcon, selector: "PlusIcon" }, { kind: "component", type: TrashIcon, selector: "TrashIcon" }, { kind: "component", type: ColumnFilterFormElement, selector: "cax-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "ariaLabel"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i7$1.Divider, selector: "cax-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: i4.InputTextComponent, selector: "cax-inputtext", inputs: ["value", "placeholder", "disabled", "maxlength", "successText", "errorText", "showLabel", "leftIcon", "rightIcon", "rightIconClickable", "clearIcon", "label", "iconPath", "disabledIcon", "showIcon", "iconClass", "leftIconClass", "rightIconClass", "invalid", "required", "style", "size", "styleClass"], outputs: ["valueChange", "rightIconClick"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "labelText", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: i0.ViewEncapsulation.None });
4257
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilter, isStandalone: true, selector: "cax-columnFilter", inputs: { field: "field", type: "type", disabled: "disabled", display: "display", showMenu: ["showMenu", "showMenu", booleanAttribute], matchMode: "matchMode", operator: "operator", showOperator: ["showOperator", "showOperator", booleanAttribute], showClearButton: ["showClearButton", "showClearButton", booleanAttribute], showApplyButton: ["showApplyButton", "showApplyButton", booleanAttribute], showMatchModes: ["showMatchModes", "showMatchModes", booleanAttribute], showAddButton: ["showAddButton", "showAddButton", booleanAttribute], hideOnClear: ["hideOnClear", "hideOnClear", booleanAttribute], placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: ["maxConstraints", "maxConstraints", numberAttribute], minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], showButtons: ["showButtons", "showButtons", booleanAttribute], ariaLabel: "ariaLabel" }, outputs: { onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }, { propertyName: "clearButtonViewChild", first: true, predicate: ["clearBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"cax-column-filter\"\n [ngClass]=\"{ 'cax-column-filter-row': display === 'row' && dt.filterType === 'default', 'cax-column-filter-menu': display === 'menu' && dt.filterType === 'default', 'cax-column-filter-custom': dt.filterType === 'custom' }\"\n>\n <cax-columnFilterFormElement\n *ngIf=\"display === 'row' && dt.filterType === 'default'\"\n class=\"cax-fluid\"\n [type]=\"type\"\n [field]=\"field\"\n [ariaLabel]=\"ariaLabel\"\n [filterConstraint]=\"dt.filters[field]\"\n [filterTemplate]=\"filterTemplate\"\n [placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [locale]=\"locale\"\n [localeMatcher]=\"localeMatcher\"\n [currency]=\"currency\"\n [currencyDisplay]=\"currencyDisplay\"\n [useGrouping]=\"useGrouping\"\n [showButtons]=\"showButtons\"\n ></cax-columnFilterFormElement>\n <button\n #icon\n *ngIf=\"showMenuButton\"\n type=\"button\"\n class=\"cax-column-filter-menu-button cax-link\"\n aria-haspopup=\"true\"\n [attr.aria-label]=\"filterMenuButtonAriaLabel\"\n [attr.aria-controls]=\"overlayVisible ? overlayId : null\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'cax-column-filter-menu-button-open': overlayVisible, 'cax-column-filter-menu-button-active': hasFilter() }\"\n (click)=\"toggleMenu()\"\n (keydown)=\"onToggleButtonKeyDown($event)\"\n >\n <i *ngIf=\"!filterIconTemplate\" [styleClass]=\"'pi-filter-icon'\" class=\"cax cax-filter\"></i>\n <span class=\"pi-filter-icon\" *ngIf=\"filterIconTemplate\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n #icon\n *ngIf=\"showClearButton && display === 'row' && dt.filterType === 'default'\"\n [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\"\n type=\"button\"\n class=\"cax-column-filter-clear-button cax-link\"\n (click)=\"clearFilter()\"\n [attr.aria-label]=\"clearButtonLabel\"\n >\n <FilterSlashIcon *ngIf=\"!clearFilterIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"clearFilterIconTemplate\"></ng-template>\n </button>\n <div\n *ngIf=\"showMenu && overlayVisible\"\n [ngClass]=\"{ 'cax-column-filter-overlay cax-component cax-fluid': true, 'cax-column-filter-overlay-menu': display === 'menu' && dt.filterType === 'default' , 'cax-column-filter-overlay-custom': dt.filterType === 'custom' }\"\n [id]=\"overlayId\"\n [attr.aria-modal]=\"true\"\n role=\"dialog\"\n (click)=\"onContentClick()\"\n [@overlayAnimation]=\"'visible'\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n (keydown.escape)=\"onEscape()\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: field }\"></ng-container>\n <ul *ngIf=\"display === 'row' && dt.filterType === 'default'; else menu\" class=\"cax-column-filter-row-items\">\n <li\n class=\"cax-column-filter-row-item\"\n *ngFor=\"let matchMode of matchModes; let i = index\"\n (click)=\"onRowMatchModeChange(matchMode.value)\"\n (keydown)=\"onRowMatchModeKeyDown($event)\"\n (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\n [ngClass]=\"{ 'cax-highlight': isRowMatchModeSelected(matchMode.value) }\"\n [attr.tabindex]=\"i === 0 ? '0' : null\"\n >\n {{ matchMode.label }}\n </li>\n <li class=\"cax-column-filter-separator\"></li>\n <li class=\"cax-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{ noFilterLabel }}</li>\n </ul>\n <ng-template #menu>\n <ng-container *ngIf=\"display === 'menu' && dt.filterType === 'default'; else custom\">\n <div class=\"cax-column-filter-operator\" *ngIf=\"isShowOperator\">\n <cax-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown\"></cax-dropdown>\n </div>\n <div class=\"cax-column-filter-constraints\">\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"cax-column-filter-constraint\">\n <cax-dropdown\n *ngIf=\"showMatchModes && matchModes\"\n [options]=\"matchModes\"\n [ngModel]=\"fieldConstraint.matchMode\"\n (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\"\n styleClass=\"cax-column-filter-matchmode-dropdown\"\n ></cax-dropdown>\n <cax-columnFilterFormElement\n [type]=\"type\"\n [field]=\"field\"\n [filterConstraint]=\"fieldConstraint\"\n [filterTemplate]=\"filterTemplate\"\n [placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [locale]=\"locale\"\n [localeMatcher]=\"localeMatcher\"\n [currency]=\"currency\"\n [currencyDisplay]=\"currencyDisplay\"\n [useGrouping]=\"useGrouping\"\n ></cax-columnFilterFormElement>\n <div>\n <button\n *ngIf=\"showRemoveIcon\"\n type=\"button\"\n caxButton\n class=\"cax-column-filter-remove-button cax-button-text cax-button-danger cax-button-sm\"\n (click)=\"removeConstraint(fieldConstraint)\"\n pRipple\n [attr.aria-label]=\"removeRuleButtonLabel\"\n [label]=\"removeRuleButtonLabel\"\n >\n <TrashIcon *ngIf=\"!removeRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\n <ng-template *ngTemplateOutlet=\"removeRuleIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n </div>\n <div class=\"cax-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\n <button type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" pRipple>\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\n </button>\n </div>\n <div class=\"cax-column-filter-buttonbar\" *ngIf=\"showButtons\">\n <button\n #clearBtn\n *ngIf=\"showClearButton\"\n type=\"button\"\n caxButton\n class=\"cax-button-outlined cax-button-danger cax-button-sm\"\n (click)=\"clearFilter()\"\n [attr.aria-label]=\"clearButtonLabel\"\n [label]=\"clearButtonLabel\"\n pRipple\n ></button>\n <button *ngIf=\"showApplyButton\" type=\"button\" caxButton (click)=\"applyFilter()\" class=\"cax-button-sm\" [label]=\"applyButtonLabel\" pRipple [attr.aria-label]=\"applyButtonLabel\"></button>\n </div>\n </ng-container>\n </ng-template>\n <ng-template #custom>\n <div class=\"cax-column-filter-custom-container\">\n <div>\n <div class=\"cax-column-filter-custom-list-header\" (click)=\"toggleCustomFilterList()\">\n <span *ngIf=\"!selectedCustomFilter?.label?.length\">Select a condition</span>\n <div *ngIf=\"selectedCustomFilter\">{{ selectedCustomFilter.label }}</div>\n <i class=\"cax cax-alt-arrow-down\"></i>\n </div>\n <div class=\"cax-column-filter-custom-list\" *ngIf=\"customFilterListVisible\">\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of commonFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of stringFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of numberFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of dateFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n </div>\n </div>\n <div *ngIf=\"isCustomStringFilterSelected\">\n <cax-inputtext [(ngModel)]=\"customInputFilter\" [clearIcon]=\"false\"></cax-inputtext>\n </div>\n <div *ngIf=\"isCustomNumberFilterSelected\" style=\"display: flex; gap: 12px\">\n <cax-inputNumber [(ngModel)]=\"customNumberFilter1\"></cax-inputNumber>\n <cax-inputNumber [(ngModel)]=\"customNumberFilter2\" *ngIf=\"selectedCustomFilter.key === 'gtlt'\"></cax-inputNumber>\n </div>\n <div *ngIf=\"isCustomDateFilterSelected && selectedCustomFilter.key !== 'today'\">\n <cax-calendar [(ngModel)]=\"customDateFilter\" [showIcon]=\"true\" iconDisplay=\"input\"></cax-calendar>\n </div>\n <div class=\"cax-column-filter-custom-buttons\">\n <cax-button (click)=\"onClearCustomFilters()\" [disabled]=\"!selectedCustomFilter\" [label]=\"'Clear'\" [severity]=\"'danger'\" outlined=\"true\"></cax-button>\n <cax-button (click)=\"onApplyCustomFilters()\" [label]=\"'Apply'\"></cax-button>\n </div>\n </div>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4$1.Dropdown, selector: "cax-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "labelText", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "component", type: i6$2.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: FilterSlashIcon, selector: "FilterSlashIcon" }, { kind: "component", type: PlusIcon, selector: "PlusIcon" }, { kind: "component", type: TrashIcon, selector: "TrashIcon" }, { kind: "component", type: ColumnFilterFormElement, selector: "cax-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "ariaLabel"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i7$1.Divider, selector: "cax-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: i4.InputTextComponent, selector: "cax-inputtext", inputs: ["value", "placeholder", "disabled", "maxlength", "successText", "errorText", "showLabel", "leftIcon", "rightIcon", "rightIconClickable", "clearIcon", "label", "iconPath", "disabledIcon", "showIcon", "iconClass", "leftIconClass", "rightIconClass", "invalid", "required", "style", "size", "styleClass"], outputs: ["valueChange", "rightIconClick"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "labelText", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: i0.ViewEncapsulation.None });
4258
4258
  }
4259
4259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilter, decorators: [{
4260
4260
  type: Component,
4261
4261
  args: [{ selector: 'cax-columnFilter', animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, DropdownModule, FormsModule, ButtonModule, FilterSlashIcon, PlusIcon, TrashIcon, ColumnFilterFormElement, RadioButtonModule, DividerModule, InputTextModule, InputNumberModule, CalendarModule], host: {
4262
4262
  class: 'cax-element'
4263
- }, template: "<div\r\n class=\"cax-column-filter\"\r\n [ngClass]=\"{ 'cax-column-filter-row': display === 'row' && dt.filterType === 'default', 'cax-column-filter-menu': display === 'menu' && dt.filterType === 'default', 'cax-column-filter-custom': dt.filterType === 'custom' }\"\r\n>\r\n <cax-columnFilterFormElement\r\n *ngIf=\"display === 'row' && dt.filterType === 'default'\"\r\n class=\"cax-fluid\"\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [filterConstraint]=\"dt.filters[field]\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n [showButtons]=\"showButtons\"\r\n ></cax-columnFilterFormElement>\r\n <button\r\n #icon\r\n *ngIf=\"showMenuButton\"\r\n type=\"button\"\r\n class=\"cax-column-filter-menu-button cax-link\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-label]=\"filterMenuButtonAriaLabel\"\r\n [attr.aria-controls]=\"overlayVisible ? overlayId : null\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{ 'cax-column-filter-menu-button-open': overlayVisible, 'cax-column-filter-menu-button-active': hasFilter() }\"\r\n (click)=\"toggleMenu()\"\r\n (keydown)=\"onToggleButtonKeyDown($event)\"\r\n >\r\n <i *ngIf=\"!filterIconTemplate\" [styleClass]=\"'pi-filter-icon'\" class=\"cax cax-filter\"></i>\r\n <span class=\"pi-filter-icon\" *ngIf=\"filterIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <button\r\n #icon\r\n *ngIf=\"showClearButton && display === 'row' && dt.filterType === 'default'\"\r\n [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\"\r\n type=\"button\"\r\n class=\"cax-column-filter-clear-button cax-link\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n >\r\n <FilterSlashIcon *ngIf=\"!clearFilterIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"clearFilterIconTemplate\"></ng-template>\r\n </button>\r\n <div\r\n *ngIf=\"showMenu && overlayVisible\"\r\n [ngClass]=\"{ 'cax-column-filter-overlay cax-component cax-fluid': true, 'cax-column-filter-overlay-menu': display === 'menu' && dt.filterType === 'default' , 'cax-column-filter-overlay-custom': dt.filterType === 'custom' }\"\r\n [id]=\"overlayId\"\r\n [attr.aria-modal]=\"true\"\r\n role=\"dialog\"\r\n (click)=\"onContentClick()\"\r\n [@overlayAnimation]=\"'visible'\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n (keydown.escape)=\"onEscape()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: field }\"></ng-container>\r\n <ul *ngIf=\"display === 'row' && dt.filterType === 'default'; else menu\" class=\"cax-column-filter-row-items\">\r\n <li\r\n class=\"cax-column-filter-row-item\"\r\n *ngFor=\"let matchMode of matchModes; let i = index\"\r\n (click)=\"onRowMatchModeChange(matchMode.value)\"\r\n (keydown)=\"onRowMatchModeKeyDown($event)\"\r\n (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\r\n [ngClass]=\"{ 'cax-highlight': isRowMatchModeSelected(matchMode.value) }\"\r\n [attr.tabindex]=\"i === 0 ? '0' : null\"\r\n >\r\n {{ matchMode.label }}\r\n </li>\r\n <li class=\"cax-column-filter-separator\"></li>\r\n <li class=\"cax-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{ noFilterLabel }}</li>\r\n </ul>\r\n <ng-template #menu>\r\n <ng-container *ngIf=\"display === 'menu' && dt.filterType === 'default'; else custom\">\r\n <div class=\"cax-column-filter-operator\" *ngIf=\"isShowOperator\">\r\n <cax-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown\"></cax-dropdown>\r\n </div>\r\n <div class=\"cax-column-filter-constraints\">\r\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"cax-column-filter-constraint\">\r\n <cax-dropdown\r\n *ngIf=\"showMatchModes && matchModes\"\r\n [options]=\"matchModes\"\r\n [ngModel]=\"fieldConstraint.matchMode\"\r\n (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\"\r\n styleClass=\"cax-column-filter-matchmode-dropdown\"\r\n ></cax-dropdown>\r\n <cax-columnFilterFormElement\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [filterConstraint]=\"fieldConstraint\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-columnFilterFormElement>\r\n <div>\r\n <button\r\n *ngIf=\"showRemoveIcon\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-column-filter-remove-button cax-button-text cax-button-danger cax-button-sm\"\r\n (click)=\"removeConstraint(fieldConstraint)\"\r\n pRipple\r\n [attr.aria-label]=\"removeRuleButtonLabel\"\r\n [label]=\"removeRuleButtonLabel\"\r\n >\r\n <TrashIcon *ngIf=\"!removeRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"removeRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"cax-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\r\n <button type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" pRipple>\r\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-column-filter-buttonbar\" *ngIf=\"showButtons\">\r\n <button\r\n #clearBtn\r\n *ngIf=\"showClearButton\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-button-outlined cax-button-danger cax-button-sm\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n [label]=\"clearButtonLabel\"\r\n pRipple\r\n ></button>\r\n <button *ngIf=\"showApplyButton\" type=\"button\" caxButton (click)=\"applyFilter()\" class=\"cax-button-sm\" [label]=\"applyButtonLabel\" pRipple [attr.aria-label]=\"applyButtonLabel\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #custom>\r\n <div class=\"cax-column-filter-custom-container\">\r\n <div>\r\n <div class=\"cax-column-filter-custom-list-header\" (click)=\"toggleCustomFilterList()\">\r\n <span *ngIf=\"!selectedCustomFilter?.label?.length\">Select a condition</span>\r\n <div *ngIf=\"selectedCustomFilter\">{{ selectedCustomFilter.label }}</div>\r\n <i class=\"cax cax-alt-arrow-down\"></i>\r\n </div>\r\n <div class=\"cax-column-filter-custom-list\" *ngIf=\"customFilterListVisible\">\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of commonFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of stringFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of numberFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of dateFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isCustomStringFilterSelected\">\r\n <cax-inputtext [(ngModel)]=\"customInputFilter\" [clearIcon]=\"false\"></cax-inputtext>\r\n </div>\r\n <div *ngIf=\"isCustomNumberFilterSelected\" style=\"display: flex; gap: 12px\">\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter1\"></cax-inputNumber>\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter2\" *ngIf=\"selectedCustomFilter.key === 'gtlt'\"></cax-inputNumber>\r\n </div>\r\n <div *ngIf=\"isCustomDateFilterSelected && selectedCustomFilter.key !== 'today'\">\r\n <cax-calendar [(ngModel)]=\"customDateFilter\" [showIcon]=\"true\" iconDisplay=\"input\"></cax-calendar>\r\n </div>\r\n <div class=\"cax-column-filter-custom-buttons\">\r\n <cax-button (click)=\"onClearCustomFilters()\" [disabled]=\"!selectedCustomFilter\" [label]=\"'Clear'\" [severity]=\"'danger'\" outlined=\"true\"></cax-button>\r\n <cax-button (click)=\"onApplyCustomFilters()\" [label]=\"'Apply'\"></cax-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\r\n </div>\r\n</div>\r\n" }]
4263
+ }, template: "<div\n class=\"cax-column-filter\"\n [ngClass]=\"{ 'cax-column-filter-row': display === 'row' && dt.filterType === 'default', 'cax-column-filter-menu': display === 'menu' && dt.filterType === 'default', 'cax-column-filter-custom': dt.filterType === 'custom' }\"\n>\n <cax-columnFilterFormElement\n *ngIf=\"display === 'row' && dt.filterType === 'default'\"\n class=\"cax-fluid\"\n [type]=\"type\"\n [field]=\"field\"\n [ariaLabel]=\"ariaLabel\"\n [filterConstraint]=\"dt.filters[field]\"\n [filterTemplate]=\"filterTemplate\"\n [placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [locale]=\"locale\"\n [localeMatcher]=\"localeMatcher\"\n [currency]=\"currency\"\n [currencyDisplay]=\"currencyDisplay\"\n [useGrouping]=\"useGrouping\"\n [showButtons]=\"showButtons\"\n ></cax-columnFilterFormElement>\n <button\n #icon\n *ngIf=\"showMenuButton\"\n type=\"button\"\n class=\"cax-column-filter-menu-button cax-link\"\n aria-haspopup=\"true\"\n [attr.aria-label]=\"filterMenuButtonAriaLabel\"\n [attr.aria-controls]=\"overlayVisible ? overlayId : null\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'cax-column-filter-menu-button-open': overlayVisible, 'cax-column-filter-menu-button-active': hasFilter() }\"\n (click)=\"toggleMenu()\"\n (keydown)=\"onToggleButtonKeyDown($event)\"\n >\n <i *ngIf=\"!filterIconTemplate\" [styleClass]=\"'pi-filter-icon'\" class=\"cax cax-filter\"></i>\n <span class=\"pi-filter-icon\" *ngIf=\"filterIconTemplate\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n #icon\n *ngIf=\"showClearButton && display === 'row' && dt.filterType === 'default'\"\n [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\"\n type=\"button\"\n class=\"cax-column-filter-clear-button cax-link\"\n (click)=\"clearFilter()\"\n [attr.aria-label]=\"clearButtonLabel\"\n >\n <FilterSlashIcon *ngIf=\"!clearFilterIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"clearFilterIconTemplate\"></ng-template>\n </button>\n <div\n *ngIf=\"showMenu && overlayVisible\"\n [ngClass]=\"{ 'cax-column-filter-overlay cax-component cax-fluid': true, 'cax-column-filter-overlay-menu': display === 'menu' && dt.filterType === 'default' , 'cax-column-filter-overlay-custom': dt.filterType === 'custom' }\"\n [id]=\"overlayId\"\n [attr.aria-modal]=\"true\"\n role=\"dialog\"\n (click)=\"onContentClick()\"\n [@overlayAnimation]=\"'visible'\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n (keydown.escape)=\"onEscape()\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: field }\"></ng-container>\n <ul *ngIf=\"display === 'row' && dt.filterType === 'default'; else menu\" class=\"cax-column-filter-row-items\">\n <li\n class=\"cax-column-filter-row-item\"\n *ngFor=\"let matchMode of matchModes; let i = index\"\n (click)=\"onRowMatchModeChange(matchMode.value)\"\n (keydown)=\"onRowMatchModeKeyDown($event)\"\n (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\n [ngClass]=\"{ 'cax-highlight': isRowMatchModeSelected(matchMode.value) }\"\n [attr.tabindex]=\"i === 0 ? '0' : null\"\n >\n {{ matchMode.label }}\n </li>\n <li class=\"cax-column-filter-separator\"></li>\n <li class=\"cax-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{ noFilterLabel }}</li>\n </ul>\n <ng-template #menu>\n <ng-container *ngIf=\"display === 'menu' && dt.filterType === 'default'; else custom\">\n <div class=\"cax-column-filter-operator\" *ngIf=\"isShowOperator\">\n <cax-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown\"></cax-dropdown>\n </div>\n <div class=\"cax-column-filter-constraints\">\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"cax-column-filter-constraint\">\n <cax-dropdown\n *ngIf=\"showMatchModes && matchModes\"\n [options]=\"matchModes\"\n [ngModel]=\"fieldConstraint.matchMode\"\n (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\"\n styleClass=\"cax-column-filter-matchmode-dropdown\"\n ></cax-dropdown>\n <cax-columnFilterFormElement\n [type]=\"type\"\n [field]=\"field\"\n [filterConstraint]=\"fieldConstraint\"\n [filterTemplate]=\"filterTemplate\"\n [placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [prefix]=\"prefix\"\n [suffix]=\"suffix\"\n [locale]=\"locale\"\n [localeMatcher]=\"localeMatcher\"\n [currency]=\"currency\"\n [currencyDisplay]=\"currencyDisplay\"\n [useGrouping]=\"useGrouping\"\n ></cax-columnFilterFormElement>\n <div>\n <button\n *ngIf=\"showRemoveIcon\"\n type=\"button\"\n caxButton\n class=\"cax-column-filter-remove-button cax-button-text cax-button-danger cax-button-sm\"\n (click)=\"removeConstraint(fieldConstraint)\"\n pRipple\n [attr.aria-label]=\"removeRuleButtonLabel\"\n [label]=\"removeRuleButtonLabel\"\n >\n <TrashIcon *ngIf=\"!removeRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\n <ng-template *ngTemplateOutlet=\"removeRuleIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n </div>\n <div class=\"cax-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\n <button type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" pRipple>\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\n </button>\n </div>\n <div class=\"cax-column-filter-buttonbar\" *ngIf=\"showButtons\">\n <button\n #clearBtn\n *ngIf=\"showClearButton\"\n type=\"button\"\n caxButton\n class=\"cax-button-outlined cax-button-danger cax-button-sm\"\n (click)=\"clearFilter()\"\n [attr.aria-label]=\"clearButtonLabel\"\n [label]=\"clearButtonLabel\"\n pRipple\n ></button>\n <button *ngIf=\"showApplyButton\" type=\"button\" caxButton (click)=\"applyFilter()\" class=\"cax-button-sm\" [label]=\"applyButtonLabel\" pRipple [attr.aria-label]=\"applyButtonLabel\"></button>\n </div>\n </ng-container>\n </ng-template>\n <ng-template #custom>\n <div class=\"cax-column-filter-custom-container\">\n <div>\n <div class=\"cax-column-filter-custom-list-header\" (click)=\"toggleCustomFilterList()\">\n <span *ngIf=\"!selectedCustomFilter?.label?.length\">Select a condition</span>\n <div *ngIf=\"selectedCustomFilter\">{{ selectedCustomFilter.label }}</div>\n <i class=\"cax cax-alt-arrow-down\"></i>\n </div>\n <div class=\"cax-column-filter-custom-list\" *ngIf=\"customFilterListVisible\">\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of commonFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of stringFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of numberFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of dateFilterOptions\" (click)=\"selectCustomFilter(opt)\">\n <span>{{ opt.label }}</span>\n </div>\n </div>\n </div>\n <div *ngIf=\"isCustomStringFilterSelected\">\n <cax-inputtext [(ngModel)]=\"customInputFilter\" [clearIcon]=\"false\"></cax-inputtext>\n </div>\n <div *ngIf=\"isCustomNumberFilterSelected\" style=\"display: flex; gap: 12px\">\n <cax-inputNumber [(ngModel)]=\"customNumberFilter1\"></cax-inputNumber>\n <cax-inputNumber [(ngModel)]=\"customNumberFilter2\" *ngIf=\"selectedCustomFilter.key === 'gtlt'\"></cax-inputNumber>\n </div>\n <div *ngIf=\"isCustomDateFilterSelected && selectedCustomFilter.key !== 'today'\">\n <cax-calendar [(ngModel)]=\"customDateFilter\" [showIcon]=\"true\" iconDisplay=\"input\"></cax-calendar>\n </div>\n <div class=\"cax-column-filter-custom-buttons\">\n <cax-button (click)=\"onClearCustomFilters()\" [disabled]=\"!selectedCustomFilter\" [label]=\"'Clear'\" [severity]=\"'danger'\" outlined=\"true\"></cax-button>\n <cax-button (click)=\"onApplyCustomFilters()\" [label]=\"'Apply'\"></cax-button>\n </div>\n </div>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\n </div>\n</div>\n" }]
4264
4264
  }], ctorParameters: () => [{ type: Document, decorators: [{
4265
4265
  type: Inject,
4266
4266
  args: [DOCUMENT]
@@ -4402,13 +4402,13 @@ class SortIcon {
4402
4402
  }
4403
4403
  }
4404
4404
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4405
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: SortIcon, isStandalone: true, selector: "cax-sortIcon", inputs: { field: "field", disabled: "disabled" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"!dt.sortIconTemplate\">\r\n <ng-container *ngIf=\"isMultiSorted(); else noBadge\">\r\n <button [disabled]=\"disabled\" caxBadge [badgeSize]=\"'xs'\" [value]=\"getBadgeValue()\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\r\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\r\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\r\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-template #noBadge>\r\n <button [disabled]=\"disabled\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\r\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\r\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\r\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\r\n </button>\r\n </ng-template>\r\n</ng-container>\r\n<span *ngIf=\"dt.sortIconTemplate\" class=\"cax-sortable-column-icon\">\r\n <ng-template *ngTemplateOutlet=\"dt.sortIconTemplate; context: { $implicit: sortOrder }\"></ng-template>\r\n</span>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3$2.BadgeDirective, selector: "[caxBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "caxBadge", "value", "badgeSeverity", "severity", "badgeStyle", "badgeStyleClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4405
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: SortIcon, isStandalone: true, selector: "cax-sortIcon", inputs: { field: "field", disabled: "disabled" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"!dt.sortIconTemplate\">\n <ng-container *ngIf=\"isMultiSorted(); else noBadge\">\n <button [disabled]=\"disabled\" caxBadge [badgeSize]=\"'xs'\" [value]=\"getBadgeValue()\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\n </button>\n </ng-container>\n <ng-template #noBadge>\n <button [disabled]=\"disabled\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\n </button>\n </ng-template>\n</ng-container>\n<span *ngIf=\"dt.sortIconTemplate\" class=\"cax-sortable-column-icon\">\n <ng-template *ngTemplateOutlet=\"dt.sortIconTemplate; context: { $implicit: sortOrder }\"></ng-template>\n</span>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3$2.BadgeDirective, selector: "[caxBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "caxBadge", "value", "badgeSeverity", "severity", "badgeStyle", "badgeStyleClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4406
4406
  }
4407
4407
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SortIcon, decorators: [{
4408
4408
  type: Component,
4409
4409
  args: [{ selector: 'cax-sortIcon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, ButtonModule, BadgeModule], host: {
4410
4410
  class: 'cax-element'
4411
- }, template: "<ng-container *ngIf=\"!dt.sortIconTemplate\">\r\n <ng-container *ngIf=\"isMultiSorted(); else noBadge\">\r\n <button [disabled]=\"disabled\" caxBadge [badgeSize]=\"'xs'\" [value]=\"getBadgeValue()\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\r\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\r\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\r\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-template #noBadge>\r\n <button [disabled]=\"disabled\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\r\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\r\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\r\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\r\n </button>\r\n </ng-template>\r\n</ng-container>\r\n<span *ngIf=\"dt.sortIconTemplate\" class=\"cax-sortable-column-icon\">\r\n <ng-template *ngTemplateOutlet=\"dt.sortIconTemplate; context: { $implicit: sortOrder }\"></ng-template>\r\n</span>\r\n" }]
4411
+ }, template: "<ng-container *ngIf=\"!dt.sortIconTemplate\">\n <ng-container *ngIf=\"isMultiSorted(); else noBadge\">\n <button [disabled]=\"disabled\" caxBadge [badgeSize]=\"'xs'\" [value]=\"getBadgeValue()\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\n </button>\n </ng-container>\n <ng-template #noBadge>\n <button [disabled]=\"disabled\" class=\"cax-sort-icon-button\" [ngClass]=\"{ 'cax-sort-icon-button-active': sortOrder !== 0 }\">\n <i class=\"cax cax-sort-vertical\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-color)\" [styleClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === -1\"></i>\n </button>\n </ng-template>\n</ng-container>\n<span *ngIf=\"dt.sortIconTemplate\" class=\"cax-sortable-column-icon\">\n <ng-template *ngTemplateOutlet=\"dt.sortIconTemplate; context: { $implicit: sortOrder }\"></ng-template>\n</span>\n" }]
4412
4412
  }], ctorParameters: () => [{ type: Table }, { type: i0.ChangeDetectorRef }], propDecorators: { field: [{
4413
4413
  type: Input
4414
4414
  }], disabled: [{
@@ -4464,13 +4464,13 @@ class TableCheckbox {
4464
4464
  }
4465
4465
  }
4466
4466
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4467
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableCheckbox, isStandalone: true, selector: "cax-tableCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], value: "value", index: ["index", "index", numberAttribute], inputId: "inputId", name: "name", required: ["required", "required", booleanAttribute], ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div style=\"display: flex; align-items: center; justify-content: center\" (mouseenter)=\"isHovered = true\" (mouseleave)=\"isHovered = false\">\r\n <div *ngIf=\"index < 0 || isHovered || checked\" class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': disabled }\" (click)=\"onClick($event)\">\r\n <div class=\"cax-hidden-accessible\">\r\n <input type=\"checkbox\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\r\n </div>\r\n <div #box [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\r\n <ng-container *ngIf=\"!dt.checkboxIconTemplate\">\r\n <CheckIcon [styleClass]=\"'cax-checkbox-icon'\" *ngIf=\"checked\" />\r\n </ng-container>\r\n <span *ngIf=\"dt.checkboxIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"dt.checkboxIconTemplate; context: { $implicit: checked }\"></ng-template>\r\n </span>\r\n </div>\r\n </div>\r\n <span *ngIf=\"index > -1 && !isHovered && !checked\">{{ index + 1 }}</span>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckIcon, selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4467
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableCheckbox, isStandalone: true, selector: "cax-tableCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], value: "value", index: ["index", "index", numberAttribute], inputId: "inputId", name: "name", required: ["required", "required", booleanAttribute], ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div style=\"display: flex; align-items: center; justify-content: center\" (mouseenter)=\"isHovered = true\" (mouseleave)=\"isHovered = false\">\n <div *ngIf=\"index < 0 || isHovered || checked\" class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': disabled }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input type=\"checkbox\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\n </div>\n <div #box [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\n <ng-container *ngIf=\"!dt.checkboxIconTemplate\">\n <CheckIcon [styleClass]=\"'cax-checkbox-icon'\" *ngIf=\"checked\" />\n </ng-container>\n <span *ngIf=\"dt.checkboxIconTemplate\">\n <ng-template *ngTemplateOutlet=\"dt.checkboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </span>\n </div>\n </div>\n <span *ngIf=\"index > -1 && !isHovered && !checked\">{{ index + 1 }}</span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckIcon, selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4468
4468
  }
4469
4469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableCheckbox, decorators: [{
4470
4470
  type: Component,
4471
4471
  args: [{ selector: 'cax-tableCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, CheckIcon], host: {
4472
4472
  class: 'cax-element'
4473
- }, template: "<div style=\"display: flex; align-items: center; justify-content: center\" (mouseenter)=\"isHovered = true\" (mouseleave)=\"isHovered = false\">\r\n <div *ngIf=\"index < 0 || isHovered || checked\" class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': disabled }\" (click)=\"onClick($event)\">\r\n <div class=\"cax-hidden-accessible\">\r\n <input type=\"checkbox\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\r\n </div>\r\n <div #box [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\r\n <ng-container *ngIf=\"!dt.checkboxIconTemplate\">\r\n <CheckIcon [styleClass]=\"'cax-checkbox-icon'\" *ngIf=\"checked\" />\r\n </ng-container>\r\n <span *ngIf=\"dt.checkboxIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"dt.checkboxIconTemplate; context: { $implicit: checked }\"></ng-template>\r\n </span>\r\n </div>\r\n </div>\r\n <span *ngIf=\"index > -1 && !isHovered && !checked\">{{ index + 1 }}</span>\r\n</div>\r\n" }]
4473
+ }, template: "<div style=\"display: flex; align-items: center; justify-content: center\" (mouseenter)=\"isHovered = true\" (mouseleave)=\"isHovered = false\">\n <div *ngIf=\"index < 0 || isHovered || checked\" class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': disabled }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input type=\"checkbox\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\n </div>\n <div #box [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\n <ng-container *ngIf=\"!dt.checkboxIconTemplate\">\n <CheckIcon [styleClass]=\"'cax-checkbox-icon'\" *ngIf=\"checked\" />\n </ng-container>\n <span *ngIf=\"dt.checkboxIconTemplate\">\n <ng-template *ngTemplateOutlet=\"dt.checkboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </span>\n </div>\n </div>\n <span *ngIf=\"index > -1 && !isHovered && !checked\">{{ index + 1 }}</span>\n</div>\n" }]
4474
4474
  }], ctorParameters: () => [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
4475
4475
  type: Input,
4476
4476
  args: [{ transform: booleanAttribute }]
@@ -4555,13 +4555,13 @@ class TableHeaderCheckbox {
4555
4555
  }
4556
4556
  }
4557
4557
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableHeaderCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4558
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableHeaderCheckbox, isStandalone: true, selector: "cax-tableHeaderCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div style=\"display: flex; align-items: center; justify-content: center\">\r\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': isDisabled() }\" (click)=\"onClick($event)\">\r\n <div class=\"cax-hidden-accessible\">\r\n <input #cb type=\"checkbox\" [tabindex]=\"disabled ? null : '0'\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\" [attr.aria-label]=\"ariaLabel\" />\r\n </div>\r\n <div #box [ngClass]=\"{ 'cax-checkbox-box': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': isDisabled() }\">\r\n <ng-container *ngIf=\"!dt.headerCheckboxIconTemplate\">\r\n <CheckIcon *ngIf=\"checked\" [styleClass]=\"'cax-checkbox-icon'\" />\r\n </ng-container>\r\n <span class=\"cax-checkbox-icon\" *ngIf=\"dt.headerCheckboxIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"dt.headerCheckboxIconTemplate; context: { $implicit: checked }\"></ng-template>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckIcon, selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4558
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableHeaderCheckbox, isStandalone: true, selector: "cax-tableHeaderCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div style=\"display: flex; align-items: center; justify-content: center\">\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': isDisabled() }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input #cb type=\"checkbox\" [tabindex]=\"disabled ? null : '0'\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\" [attr.aria-label]=\"ariaLabel\" />\n </div>\n <div #box [ngClass]=\"{ 'cax-checkbox-box': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': isDisabled() }\">\n <ng-container *ngIf=\"!dt.headerCheckboxIconTemplate\">\n <CheckIcon *ngIf=\"checked\" [styleClass]=\"'cax-checkbox-icon'\" />\n </ng-container>\n <span class=\"cax-checkbox-icon\" *ngIf=\"dt.headerCheckboxIconTemplate\">\n <ng-template *ngTemplateOutlet=\"dt.headerCheckboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckIcon, selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4559
4559
  }
4560
4560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableHeaderCheckbox, decorators: [{
4561
4561
  type: Component,
4562
4562
  args: [{ selector: 'cax-tableHeaderCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, CheckIcon], host: {
4563
4563
  class: 'cax-element'
4564
- }, template: "<div style=\"display: flex; align-items: center; justify-content: center\">\r\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': isDisabled() }\" (click)=\"onClick($event)\">\r\n <div class=\"cax-hidden-accessible\">\r\n <input #cb type=\"checkbox\" [tabindex]=\"disabled ? null : '0'\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\" [attr.aria-label]=\"ariaLabel\" />\r\n </div>\r\n <div #box [ngClass]=\"{ 'cax-checkbox-box': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': isDisabled() }\">\r\n <ng-container *ngIf=\"!dt.headerCheckboxIconTemplate\">\r\n <CheckIcon *ngIf=\"checked\" [styleClass]=\"'cax-checkbox-icon'\" />\r\n </ng-container>\r\n <span class=\"cax-checkbox-icon\" *ngIf=\"dt.headerCheckboxIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"dt.headerCheckboxIconTemplate; context: { $implicit: checked }\"></ng-template>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
4564
+ }, template: "<div style=\"display: flex; align-items: center; justify-content: center\">\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': isDisabled() }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input #cb type=\"checkbox\" [tabindex]=\"disabled ? null : '0'\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\" [attr.aria-label]=\"ariaLabel\" />\n </div>\n <div #box [ngClass]=\"{ 'cax-checkbox-box': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': isDisabled() }\">\n <ng-container *ngIf=\"!dt.headerCheckboxIconTemplate\">\n <CheckIcon *ngIf=\"checked\" [styleClass]=\"'cax-checkbox-icon'\" />\n </ng-container>\n <span class=\"cax-checkbox-icon\" *ngIf=\"dt.headerCheckboxIconTemplate\">\n <ng-template *ngTemplateOutlet=\"dt.headerCheckboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </span>\n </div>\n </div>\n</div>\n" }]
4565
4565
  }], ctorParameters: () => [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
4566
4566
  type: Input,
4567
4567
  args: [{ transform: booleanAttribute }]
@@ -4620,13 +4620,13 @@ class TableRadioButton {
4620
4620
  }
4621
4621
  }
4622
4622
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4623
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableRadioButton, isStandalone: true, selector: "cax-tableRadioButton", inputs: { disabled: ["disabled", "disabled", booleanAttribute], value: "value", index: ["index", "index", numberAttribute], inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["rb"], descendants: true }], ngImport: i0, template: "<div class=\"cax-radiobutton cax-component\" [ngClass]=\"{ 'cax-radiobutton-focused': focused, 'cax-radiobutton-checked': checked, 'cax-radiobutton-disabled': disabled }\" (click)=\"onClick($event)\">\r\n <div class=\"cax-hidden-accessible\">\r\n <input #rb type=\"radio\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\r\n </div>\r\n <div #box [ngClass]=\"{ 'cax-radiobutton-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\r\n <div class=\"cax-radiobutton-icon\"></div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4623
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TableRadioButton, isStandalone: true, selector: "cax-tableRadioButton", inputs: { disabled: ["disabled", "disabled", booleanAttribute], value: "value", index: ["index", "index", numberAttribute], inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["rb"], descendants: true }], ngImport: i0, template: "<div class=\"cax-radiobutton cax-component\" [ngClass]=\"{ 'cax-radiobutton-focused': focused, 'cax-radiobutton-checked': checked, 'cax-radiobutton-disabled': disabled }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input #rb type=\"radio\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\n </div>\n <div #box [ngClass]=\"{ 'cax-radiobutton-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\n <div class=\"cax-radiobutton-icon\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4624
4624
  }
4625
4625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TableRadioButton, decorators: [{
4626
4626
  type: Component,
4627
4627
  args: [{ selector: 'cax-tableRadioButton', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
4628
4628
  class: 'cax-element'
4629
- }, template: "<div class=\"cax-radiobutton cax-component\" [ngClass]=\"{ 'cax-radiobutton-focused': focused, 'cax-radiobutton-checked': checked, 'cax-radiobutton-disabled': disabled }\" (click)=\"onClick($event)\">\r\n <div class=\"cax-hidden-accessible\">\r\n <input #rb type=\"radio\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\r\n </div>\r\n <div #box [ngClass]=\"{ 'cax-radiobutton-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\r\n <div class=\"cax-radiobutton-icon\"></div>\r\n </div>\r\n</div>\r\n" }]
4629
+ }, template: "<div class=\"cax-radiobutton cax-component\" [ngClass]=\"{ 'cax-radiobutton-focused': focused, 'cax-radiobutton-checked': checked, 'cax-radiobutton-disabled': disabled }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input #rb type=\"radio\" [attr.id]=\"inputId\" [attr.name]=\"name\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\" [tabindex]=\"disabled ? null : '0'\" />\n </div>\n <div #box [ngClass]=\"{ 'cax-radiobutton-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled }\">\n <div class=\"cax-radiobutton-icon\"></div>\n </div>\n</div>\n" }]
4630
4630
  }], ctorParameters: () => [{ type: Table }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
4631
4631
  type: Input,
4632
4632
  args: [{ transform: booleanAttribute }]