cax-design-system 2.8.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/README.md +46 -46
  2. package/api/confirmation.d.ts +4 -10
  3. package/api/message.d.ts +0 -1
  4. package/autocomplete/autocomplete.d.ts +23 -6
  5. package/autocomplete/autocomplete.module.d.ts +8 -7
  6. package/avatar/avatar.d.ts +23 -1
  7. package/badge/badge.d.ts +4 -0
  8. package/button/button.d.ts +8 -1
  9. package/button/button.directive.d.ts +3 -1
  10. package/calendar/calendar.d.ts +33 -11
  11. package/card/card.d.ts +2 -6
  12. package/cascadeselect/cascadeselect.d.ts +32 -2
  13. package/categorycard/categorycard.d.ts +11 -0
  14. package/categorycard/categorycard.module.d.ts +7 -0
  15. package/categorycard/index.d.ts +5 -0
  16. package/categorycard/public_api.d.ts +2 -0
  17. package/checkbox/checkbox.d.ts +2 -2
  18. package/chip/chip.d.ts +3 -4
  19. package/commentbox/commentbox.d.ts +1 -1
  20. package/comments/comments.d.ts +83 -0
  21. package/comments/comments.module.d.ts +7 -0
  22. package/{chips → comments}/index.d.ts +1 -1
  23. package/comments/public_api.d.ts +2 -0
  24. package/comparecard/comaparecard.module.d.ts +11 -0
  25. package/comparecard/comparecard.component.d.ts +44 -0
  26. package/comparecard/index.d.ts +5 -0
  27. package/comparecard/public_api.d.ts +2 -0
  28. package/confirmdialog/confirmdialog.d.ts +13 -22
  29. package/divider/divider.d.ts +9 -1
  30. package/dom/domhandler.d.ts +2 -2
  31. package/dropdown/dropdown-item.d.ts +2 -1
  32. package/dropdown/dropdown.d.ts +24 -2
  33. package/editor/editor.d.ts +6 -1
  34. package/fesm2022/cax-design-system-accordion.mjs +22 -17
  35. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  36. package/fesm2022/cax-design-system-animate.mjs +7 -7
  37. package/fesm2022/cax-design-system-animate.mjs.map +1 -1
  38. package/fesm2022/cax-design-system-animateonscroll.mjs +7 -7
  39. package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
  40. package/fesm2022/cax-design-system-api.mjs +37 -37
  41. package/fesm2022/cax-design-system-api.mjs.map +1 -1
  42. package/fesm2022/cax-design-system-autocomplete.mjs +101 -47
  43. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  44. package/fesm2022/cax-design-system-autofocus.mjs +7 -7
  45. package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
  46. package/fesm2022/cax-design-system-avatar.mjs +39 -8
  47. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-avatargroup.mjs +8 -8
  49. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-badge.mjs +16 -12
  51. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-baseicon.mjs +3 -3
  53. package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-blockui.mjs +7 -7
  55. package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-breadcrumb.mjs +10 -11
  57. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-button.mjs +93 -39
  59. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-buttongroup.mjs +7 -7
  61. package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-calendar.mjs +388 -100
  63. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-card.mjs +12 -25
  65. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-carousel.mjs +7 -7
  67. package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-cascadeselect.mjs +90 -30
  69. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-categorycard.mjs +57 -0
  71. package/fesm2022/cax-design-system-categorycard.mjs.map +1 -0
  72. package/fesm2022/cax-design-system-chart.mjs +7 -7
  73. package/fesm2022/cax-design-system-chart.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-checkbox.mjs +15 -14
  75. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-chip.mjs +14 -12
  77. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-colorpicker.mjs +8 -8
  79. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-commentbox.mjs +8 -8
  81. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-comments.mjs +385 -0
  83. package/fesm2022/cax-design-system-comments.mjs.map +1 -0
  84. package/fesm2022/cax-design-system-comparecard.mjs +143 -0
  85. package/fesm2022/cax-design-system-comparecard.mjs.map +1 -0
  86. package/fesm2022/cax-design-system-confirmdialog.mjs +54 -50
  87. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-confirmpopup.mjs +8 -8
  89. package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-contextmenu.mjs +10 -10
  91. package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
  92. package/fesm2022/cax-design-system-dataview.mjs +10 -10
  93. package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
  94. package/fesm2022/cax-design-system-defer.mjs +7 -7
  95. package/fesm2022/cax-design-system-defer.mjs.map +1 -1
  96. package/fesm2022/cax-design-system-dialog.mjs +12 -13
  97. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  98. package/fesm2022/cax-design-system-divider.mjs +21 -11
  99. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  100. package/fesm2022/cax-design-system-dock.mjs +7 -7
  101. package/fesm2022/cax-design-system-dock.mjs.map +1 -1
  102. package/fesm2022/cax-design-system-dom.mjs +16 -6
  103. package/fesm2022/cax-design-system-dom.mjs.map +1 -1
  104. package/fesm2022/cax-design-system-dragdrop.mjs +10 -10
  105. package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
  106. package/fesm2022/cax-design-system-dropdown.mjs +57 -22
  107. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  108. package/fesm2022/cax-design-system-dynamicdialog.mjs +15 -15
  109. package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
  110. package/fesm2022/cax-design-system-editor.mjs +55 -15
  111. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  112. package/fesm2022/cax-design-system-fieldset.mjs +8 -8
  113. package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
  114. package/fesm2022/cax-design-system-fileupload.mjs +7 -7
  115. package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
  116. package/fesm2022/cax-design-system-floatlabel.mjs +7 -7
  117. package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
  118. package/fesm2022/cax-design-system-focustrap.mjs +7 -7
  119. package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
  120. package/fesm2022/cax-design-system-galleria.mjs +19 -19
  121. package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
  122. package/fesm2022/cax-design-system-iconfield.mjs +7 -7
  123. package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
  124. package/fesm2022/cax-design-system-icons-angledoubledown.mjs +3 -3
  125. package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
  126. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs +3 -3
  127. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
  128. package/fesm2022/cax-design-system-icons-angledoubleright.mjs +3 -3
  129. package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
  130. package/fesm2022/cax-design-system-icons-angledoubleup.mjs +3 -3
  131. package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
  132. package/fesm2022/cax-design-system-icons-angledown.mjs +4 -4
  133. package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
  134. package/fesm2022/cax-design-system-icons-angleleft.mjs +3 -3
  135. package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
  136. package/fesm2022/cax-design-system-icons-angleright.mjs +3 -3
  137. package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
  138. package/fesm2022/cax-design-system-icons-angleup.mjs +4 -4
  139. package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
  140. package/fesm2022/cax-design-system-icons-arrowdown.mjs +4 -4
  141. package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
  142. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs +3 -3
  143. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
  144. package/fesm2022/cax-design-system-icons-arrowdownright.mjs +3 -3
  145. package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
  146. package/fesm2022/cax-design-system-icons-arrowleft.mjs +3 -3
  147. package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
  148. package/fesm2022/cax-design-system-icons-arrowright.mjs +3 -3
  149. package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
  150. package/fesm2022/cax-design-system-icons-arrowup.mjs +4 -4
  151. package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
  152. package/fesm2022/cax-design-system-icons-ban.mjs +3 -3
  153. package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
  154. package/fesm2022/cax-design-system-icons-bars.mjs +3 -3
  155. package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
  156. package/fesm2022/cax-design-system-icons-blank.mjs +4 -4
  157. package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
  158. package/fesm2022/cax-design-system-icons-calendar.mjs +4 -4
  159. package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
  160. package/fesm2022/cax-design-system-icons-caretleft.mjs +3 -3
  161. package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
  162. package/fesm2022/cax-design-system-icons-caretright.mjs +3 -3
  163. package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
  164. package/fesm2022/cax-design-system-icons-check.mjs +4 -4
  165. package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
  166. package/fesm2022/cax-design-system-icons-chevrondown.mjs +4 -4
  167. package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
  168. package/fesm2022/cax-design-system-icons-chevronleft.mjs +3 -3
  169. package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
  170. package/fesm2022/cax-design-system-icons-chevronright.mjs +4 -4
  171. package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
  172. package/fesm2022/cax-design-system-icons-chevronup.mjs +4 -4
  173. package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
  174. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs +3 -3
  175. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
  176. package/fesm2022/cax-design-system-icons-eye.mjs +4 -4
  177. package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
  178. package/fesm2022/cax-design-system-icons-eyeslash.mjs +3 -3
  179. package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
  180. package/fesm2022/cax-design-system-icons-filter.mjs +3 -3
  181. package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
  182. package/fesm2022/cax-design-system-icons-filterslash.mjs +4 -4
  183. package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
  184. package/fesm2022/cax-design-system-icons-home.mjs +3 -3
  185. package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
  186. package/fesm2022/cax-design-system-icons-infocircle.mjs +3 -3
  187. package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
  188. package/fesm2022/cax-design-system-icons-minus.mjs +3 -3
  189. package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
  190. package/fesm2022/cax-design-system-icons-pencil.mjs +3 -3
  191. package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
  192. package/fesm2022/cax-design-system-icons-plus.mjs +4 -4
  193. package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
  194. package/fesm2022/cax-design-system-icons-refresh.mjs +4 -4
  195. package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
  196. package/fesm2022/cax-design-system-icons-search.mjs +4 -4
  197. package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
  198. package/fesm2022/cax-design-system-icons-searchminus.mjs +4 -4
  199. package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
  200. package/fesm2022/cax-design-system-icons-searchplus.mjs +4 -4
  201. package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
  202. package/fesm2022/cax-design-system-icons-sortalt.mjs +3 -3
  203. package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
  204. package/fesm2022/cax-design-system-icons-sortamountdown.mjs +3 -3
  205. package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
  206. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs +3 -3
  207. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
  208. package/fesm2022/cax-design-system-icons-spinner.mjs +4 -4
  209. package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
  210. package/fesm2022/cax-design-system-icons-star.mjs +3 -3
  211. package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
  212. package/fesm2022/cax-design-system-icons-starfill.mjs +3 -3
  213. package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
  214. package/fesm2022/cax-design-system-icons-thlarge.mjs +3 -3
  215. package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
  216. package/fesm2022/cax-design-system-icons-times.mjs +4 -4
  217. package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
  218. package/fesm2022/cax-design-system-icons-timescircle.mjs +4 -4
  219. package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
  220. package/fesm2022/cax-design-system-icons-trash.mjs +4 -4
  221. package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
  222. package/fesm2022/cax-design-system-icons-undo.mjs +4 -4
  223. package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
  224. package/fesm2022/cax-design-system-icons-upload.mjs +3 -3
  225. package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
  226. package/fesm2022/cax-design-system-icons-windowmaximize.mjs +3 -3
  227. package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
  228. package/fesm2022/cax-design-system-icons-windowminimize.mjs +3 -3
  229. package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
  230. package/fesm2022/cax-design-system-image.mjs +8 -8
  231. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  232. package/fesm2022/cax-design-system-inplace.mjs +13 -13
  233. package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
  234. package/fesm2022/{cax-design-system-chips.mjs → cax-design-system-inputchips.mjs} +66 -27
  235. package/fesm2022/cax-design-system-inputchips.mjs.map +1 -0
  236. package/fesm2022/cax-design-system-inputgroup.mjs +54 -10
  237. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  238. package/fesm2022/cax-design-system-inputgroupaddon.mjs +8 -8
  239. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  240. package/fesm2022/cax-design-system-inputicon.mjs +7 -7
  241. package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
  242. package/fesm2022/cax-design-system-inputmask.mjs +33 -20
  243. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  244. package/fesm2022/cax-design-system-inputnumber.mjs +64 -30
  245. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  246. package/fesm2022/cax-design-system-inputotp.mjs +7 -7
  247. package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
  248. package/fesm2022/cax-design-system-inputswitch.mjs +7 -7
  249. package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
  250. package/fesm2022/cax-design-system-inputtext.mjs +30 -14
  251. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  252. package/fesm2022/cax-design-system-inputtextarea.mjs +49 -18
  253. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  254. package/fesm2022/cax-design-system-keyfilter.mjs +7 -7
  255. package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
  256. package/fesm2022/cax-design-system-knob.mjs +7 -7
  257. package/fesm2022/cax-design-system-knob.mjs.map +1 -1
  258. package/fesm2022/cax-design-system-listbox.mjs +39 -369
  259. package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
  260. package/fesm2022/cax-design-system-logo.mjs +8 -8
  261. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  262. package/fesm2022/cax-design-system-logocard.mjs +37 -0
  263. package/fesm2022/cax-design-system-logocard.mjs.map +1 -0
  264. package/fesm2022/cax-design-system-megamenu.mjs +10 -10
  265. package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
  266. package/fesm2022/cax-design-system-menu.mjs +15 -15
  267. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  268. package/fesm2022/cax-design-system-menubar.mjs +13 -13
  269. package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
  270. package/fesm2022/cax-design-system-message.mjs +7 -7
  271. package/fesm2022/cax-design-system-message.mjs.map +1 -1
  272. package/fesm2022/cax-design-system-messages.mjs +17 -44
  273. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  274. package/fesm2022/cax-design-system-metergroup.mjs +10 -10
  275. package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
  276. package/fesm2022/cax-design-system-multiselect.mjs +58 -24
  277. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  278. package/fesm2022/cax-design-system-navigation.mjs +193 -105
  279. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  280. package/fesm2022/cax-design-system-orderlist.mjs +7 -7
  281. package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
  282. package/fesm2022/cax-design-system-organizationchart.mjs +11 -11
  283. package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
  284. package/fesm2022/cax-design-system-overlay.mjs +8 -8
  285. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  286. package/fesm2022/cax-design-system-overlaypanel.mjs +17 -11
  287. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  288. package/fesm2022/cax-design-system-paginator.mjs +8 -8
  289. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  290. package/fesm2022/cax-design-system-panel.mjs +8 -8
  291. package/fesm2022/cax-design-system-panel.mjs.map +1 -1
  292. package/fesm2022/cax-design-system-panelmenu.mjs +14 -14
  293. package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
  294. package/fesm2022/cax-design-system-password.mjs +14 -14
  295. package/fesm2022/cax-design-system-password.mjs.map +1 -1
  296. package/fesm2022/cax-design-system-picklist.mjs +7 -7
  297. package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
  298. package/fesm2022/cax-design-system-productcard.mjs +90 -0
  299. package/fesm2022/cax-design-system-productcard.mjs.map +1 -0
  300. package/fesm2022/cax-design-system-progressbar.mjs +31 -9
  301. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  302. package/fesm2022/cax-design-system-progressspinner.mjs +17 -15
  303. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  304. package/fesm2022/cax-design-system-radiobutton.mjs +27 -15
  305. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  306. package/fesm2022/cax-design-system-rating.mjs +7 -7
  307. package/fesm2022/cax-design-system-rating.mjs.map +1 -1
  308. package/fesm2022/cax-design-system-ripple.mjs +7 -7
  309. package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
  310. package/fesm2022/cax-design-system-scroller.mjs +8 -8
  311. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  312. package/fesm2022/cax-design-system-scrollpanel.mjs +7 -7
  313. package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
  314. package/fesm2022/cax-design-system-scrolltop.mjs +8 -8
  315. package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
  316. package/fesm2022/cax-design-system-selectbutton.mjs +79 -9
  317. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  318. package/fesm2022/cax-design-system-sidebar.mjs +10 -10
  319. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  320. package/fesm2022/cax-design-system-skeleton.mjs +11 -10
  321. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  322. package/fesm2022/cax-design-system-slidemenu.mjs +10 -10
  323. package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
  324. package/fesm2022/cax-design-system-slider.mjs +14 -199
  325. package/fesm2022/cax-design-system-slider.mjs.map +1 -1
  326. package/fesm2022/cax-design-system-speeddial.mjs +16 -9
  327. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  328. package/fesm2022/cax-design-system-spinner.mjs +7 -7
  329. package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
  330. package/fesm2022/cax-design-system-splitbutton.mjs +10 -13
  331. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  332. package/fesm2022/cax-design-system-splitter.mjs +8 -8
  333. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  334. package/fesm2022/cax-design-system-stepper.mjs +20 -20
  335. package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
  336. package/fesm2022/cax-design-system-steps.mjs +30 -11
  337. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  338. package/fesm2022/cax-design-system-styleclass.mjs +7 -7
  339. package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
  340. package/fesm2022/cax-design-system-subscriptioncard.mjs +97 -0
  341. package/fesm2022/cax-design-system-subscriptioncard.mjs.map +1 -0
  342. package/fesm2022/cax-design-system-table-paginator.mjs +129 -0
  343. package/fesm2022/cax-design-system-table-paginator.mjs.map +1 -0
  344. package/fesm2022/cax-design-system-table.mjs +284 -400
  345. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  346. package/fesm2022/cax-design-system-tableconfiguration.mjs +19 -10
  347. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  348. package/fesm2022/cax-design-system-tabmenu.mjs +7 -7
  349. package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
  350. package/fesm2022/cax-design-system-tabview.mjs +168 -95
  351. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  352. package/fesm2022/cax-design-system-tag.mjs +71 -15
  353. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  354. package/fesm2022/cax-design-system-terminal.mjs +14 -14
  355. package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
  356. package/fesm2022/cax-design-system-tieredmenu.mjs +21 -14
  357. package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
  358. package/fesm2022/cax-design-system-timeline.mjs +8 -8
  359. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  360. package/fesm2022/cax-design-system-toast.mjs +13 -25
  361. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  362. package/fesm2022/cax-design-system-togglebutton.mjs +9 -9
  363. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  364. package/fesm2022/cax-design-system-toggleswitch.mjs +26 -8
  365. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  366. package/fesm2022/cax-design-system-toolbar.mjs +7 -7
  367. package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
  368. package/fesm2022/cax-design-system-tooltip.mjs +40 -20
  369. package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
  370. package/fesm2022/cax-design-system-tree.mjs +12 -12
  371. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  372. package/fesm2022/cax-design-system-treeselect.mjs +8 -8
  373. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  374. package/fesm2022/cax-design-system-treetable.mjs +55 -55
  375. package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
  376. package/fesm2022/cax-design-system-tristatecheckbox.mjs +8 -8
  377. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  378. package/fesm2022/cax-design-system-upload.mjs +209 -96
  379. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  380. package/fesm2022/cax-design-system-utils.mjs.map +1 -1
  381. package/fesm2022/cax-design-system-virtualscroller.mjs +7 -7
  382. package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
  383. package/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  384. package/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  385. package/fonts/Inter/OFL.txt +93 -0
  386. package/fonts/Inter/README.txt +118 -0
  387. package/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
  388. package/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
  389. package/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
  390. package/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
  391. package/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
  392. package/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  393. package/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
  394. package/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
  395. package/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
  396. package/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
  397. package/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
  398. package/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
  399. package/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
  400. package/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
  401. package/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
  402. package/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
  403. package/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
  404. package/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
  405. package/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
  406. package/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
  407. package/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
  408. package/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
  409. package/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
  410. package/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  411. package/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
  412. package/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
  413. package/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
  414. package/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
  415. package/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
  416. package/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
  417. package/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
  418. package/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
  419. package/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
  420. package/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
  421. package/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
  422. package/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
  423. package/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
  424. package/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
  425. package/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
  426. package/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
  427. package/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
  428. package/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  429. package/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
  430. package/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
  431. package/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
  432. package/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
  433. package/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
  434. package/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
  435. package/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
  436. package/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
  437. package/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
  438. package/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
  439. package/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
  440. package/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
  441. package/inputchips/index.d.ts +5 -0
  442. package/{chips/chips.d.ts → inputchips/inputchips.d.ts} +24 -6
  443. package/{chips/chips.interface.d.ts → inputchips/inputchips.interface.d.ts} +1 -1
  444. package/inputchips/inputchips.module.d.ts +14 -0
  445. package/inputchips/public_api.d.ts +3 -0
  446. package/inputgroup/inputgroup.d.ts +32 -1
  447. package/inputmask/inputmask.d.ts +9 -3
  448. package/inputnumber/inputnumber.d.ts +30 -4
  449. package/inputtext/inputtext.component.d.ts +2 -1
  450. package/inputtext/inputtext.directive.d.ts +3 -1
  451. package/inputtextarea/inputtextarea.component.d.ts +8 -1
  452. package/inputtextarea/inputtextarea.directive.d.ts +12 -1
  453. package/listbox/listbox.d.ts +14 -16
  454. package/listbox/listbox.module.d.ts +14 -0
  455. package/listbox/public_api.d.ts +1 -0
  456. package/logocard/index.d.ts +5 -0
  457. package/logocard/logocard.d.ts +6 -0
  458. package/logocard/logocard.module.d.ts +7 -0
  459. package/logocard/public_api.d.ts +2 -0
  460. package/messages/messages.d.ts +2 -11
  461. package/messages/messages.interface.d.ts +0 -2
  462. package/multiselect/multiselect.d.ts +28 -2
  463. package/navigation/navigation.d.ts +17 -12
  464. package/overlaypanel/overlaypanel.d.ts +6 -1
  465. package/package.json +240 -220
  466. package/productcard/index.d.ts +5 -0
  467. package/productcard/productcard.d.ts +19 -0
  468. package/productcard/productcard.module.d.ts +7 -0
  469. package/productcard/public_api.d.ts +2 -0
  470. package/progressbar/progressbar.d.ts +17 -2
  471. package/radiobutton/radiobutton.d.ts +1 -0
  472. package/resources/cax.min.scss +6351 -1
  473. package/resources/cax.scss +11281 -12539
  474. package/resources/components/accordion/accordion.scss +0 -46
  475. package/resources/components/autocomplete/autocomplete.scss +249 -184
  476. package/resources/components/avatar/avatar.scss +30 -34
  477. package/resources/components/avatargroup/avatargroup.scss +10 -10
  478. package/resources/components/badge/badge.scss +68 -67
  479. package/resources/components/blockui/blockui.css +26 -26
  480. package/resources/components/breadcrumb/breadcrumb.scss +36 -33
  481. package/resources/components/button/button.scss +160 -163
  482. package/resources/components/calendar/calendar.scss +368 -231
  483. package/resources/components/card/card.scss +9 -50
  484. package/resources/components/carousel/carousel.css +71 -71
  485. package/resources/components/cascadeselect/cascadeselect.scss +104 -105
  486. package/resources/components/categorycard/categorycard.scss +46 -0
  487. package/resources/components/checkbox/checkbox.scss +30 -30
  488. package/resources/components/chip/chip.scss +6 -6
  489. package/resources/components/colorpicker/colorpicker-images.scss +7 -7
  490. package/resources/components/colorpicker/colorpicker.scss +82 -82
  491. package/resources/components/commentbox/commentbox.scss +621 -611
  492. package/resources/components/comments/comments.scss +0 -0
  493. package/resources/components/common/common.scss +183 -183
  494. package/resources/components/comparecard/comparecard.component.scss +50 -0
  495. package/resources/components/confirmpopup/confirmpopup.css +53 -53
  496. package/resources/components/contextmenu/contextmenu.css +42 -42
  497. package/resources/components/dataview/dataview.css +13 -13
  498. package/resources/components/dialog/dialog.scss +193 -171
  499. package/resources/components/divider/divider.scss +0 -86
  500. package/resources/components/dock/dock.css +107 -107
  501. package/resources/components/dropdown/dropdown.scss +93 -94
  502. package/resources/components/editor/editor.scss +97 -4
  503. package/resources/components/fieldset/fieldset.css +30 -30
  504. package/resources/components/fileupload/fileupload.css +47 -47
  505. package/resources/components/galleria/galleria.css +281 -281
  506. package/resources/components/iconfield/iconfield.css +5 -5
  507. package/resources/components/image/image.scss +97 -92
  508. package/resources/components/inplace/inplace.css +19 -19
  509. package/resources/components/{chips/chips.scss → inputchips/inputchips.scss} +181 -205
  510. package/resources/components/inputicon/inputicon.css +6 -6
  511. package/resources/components/inputmask/inputmask.scss +48 -12
  512. package/resources/components/inputnumber/inputnumber.scss +109 -109
  513. package/resources/components/inputotp/inputotp.css +2 -2
  514. package/resources/components/inputswitch/inputswitch.css +23 -23
  515. package/resources/components/inputtext/inputtext.scss +138 -145
  516. package/resources/components/inputtextarea/inputtextarea.scss +15 -10
  517. package/resources/components/knob/knob.css +20 -20
  518. package/resources/components/listbox/listbox.scss +49 -0
  519. package/resources/components/logocard/logocard.scss +6 -0
  520. package/resources/components/megamenu/megamenu.css +108 -108
  521. package/resources/components/menu/menu.scss +31 -31
  522. package/resources/components/menubar/menubar.css +81 -81
  523. package/resources/components/message/message.css +17 -17
  524. package/resources/components/messages/messages.scss +53 -55
  525. package/resources/components/multiselect/multiselect.scss +132 -132
  526. package/resources/components/navigation/navigation.scss +236 -197
  527. package/resources/components/orderlist/orderlist.css +78 -78
  528. package/resources/components/organizationchart/organizationchart.css +62 -62
  529. package/resources/components/overlay/overlay.scss +80 -80
  530. package/resources/components/overlaypanel/overlaypanel.scss +84 -66
  531. package/resources/components/paginator/paginator.scss +41 -41
  532. package/resources/components/panel/panel.css +29 -29
  533. package/resources/components/panelmenu/panelmenu.css +45 -45
  534. package/resources/components/password/password.css +54 -54
  535. package/resources/components/picklist/picklist.css +60 -60
  536. package/resources/components/productcard/productcard.scss +95 -0
  537. package/resources/components/progressbar/progressbar.scss +107 -107
  538. package/resources/components/progressspinner/progressspinner.scss +0 -94
  539. package/resources/components/radiobutton/radiobutton.scss +34 -34
  540. package/resources/components/rating/rating.css +15 -15
  541. package/resources/components/ripple/ripple.scss +29 -29
  542. package/resources/components/scroller/scroller.scss +58 -58
  543. package/resources/components/scrollpanel/scrollpanel.css +50 -50
  544. package/resources/components/scrolltop/scrolltop.css +18 -18
  545. package/resources/components/sidebar/sidebar.scss +117 -117
  546. package/resources/components/skeleton/skeleton.scss +24 -25
  547. package/resources/components/slidemenu/slidemenu.css +100 -100
  548. package/resources/components/slider/{slider.css → slider.scss} +41 -41
  549. package/resources/components/speeddial/speeddial.scss +131 -122
  550. package/resources/components/spinner/spinner.css +63 -63
  551. package/resources/components/splitbutton/splitbutton.scss +57 -53
  552. package/resources/components/splitter/splitter.scss +73 -73
  553. package/resources/components/stepper/stepper.css +9 -9
  554. package/resources/components/steps/steps.scss +49 -50
  555. package/resources/components/subscriptioncard/subscriptioncard.component.scss +65 -0
  556. package/resources/components/table/table.scss +511 -458
  557. package/resources/components/table-paginator/table-paginator.component.scss +72 -0
  558. package/resources/components/tableconfiguration/tableconfiguration.scss +3 -125
  559. package/resources/components/tabmenu/tabmenu.css +80 -80
  560. package/resources/components/tabview/tabview.scss +206 -198
  561. package/resources/components/tag/tag.scss +7 -23
  562. package/resources/components/terminal/terminal.css +24 -24
  563. package/resources/components/tieredmenu/tieredmenu.scss +55 -55
  564. package/resources/components/timeline/timeline.scss +128 -128
  565. package/resources/components/toast/toast.scss +78 -87
  566. package/resources/components/toggleswitch/toggleswitch.scss +45 -36
  567. package/resources/components/toolbar/toolbar.css +19 -19
  568. package/resources/components/tooltip/tooltip.scss +124 -124
  569. package/resources/components/tree/tree.scss +154 -154
  570. package/resources/components/treeselect/treeselect.scss +114 -114
  571. package/resources/components/treetable/treetable.css +205 -205
  572. package/resources/components/upload/upload.component.scss +84 -145
  573. package/resources/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  574. package/resources/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  575. package/resources/fonts/Inter/OFL.txt +93 -0
  576. package/resources/fonts/Inter/README.txt +118 -0
  577. package/resources/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
  578. package/resources/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
  579. package/resources/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
  580. package/resources/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
  581. package/resources/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
  582. package/resources/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  583. package/resources/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
  584. package/resources/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
  585. package/resources/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
  586. package/resources/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
  587. package/resources/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
  588. package/resources/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
  589. package/resources/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
  590. package/resources/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
  591. package/resources/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
  592. package/resources/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
  593. package/resources/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
  594. package/resources/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
  595. package/resources/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
  596. package/resources/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
  597. package/resources/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
  598. package/resources/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
  599. package/resources/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
  600. package/resources/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  601. package/resources/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
  602. package/resources/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
  603. package/resources/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
  604. package/resources/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
  605. package/resources/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
  606. package/resources/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
  607. package/resources/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
  608. package/resources/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
  609. package/resources/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
  610. package/resources/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
  611. package/resources/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
  612. package/resources/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
  613. package/resources/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
  614. package/resources/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
  615. package/resources/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
  616. package/resources/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
  617. package/resources/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
  618. package/resources/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  619. package/resources/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
  620. package/resources/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
  621. package/resources/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
  622. package/resources/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
  623. package/resources/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
  624. package/resources/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
  625. package/resources/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
  626. package/resources/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
  627. package/resources/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
  628. package/resources/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
  629. package/resources/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
  630. package/resources/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
  631. package/resources/logo/cax-intro-logo.svg +75 -0
  632. package/resources/logo/cax-sidebar-logo.svg +6 -0
  633. package/resources/logo/dataX-dark.svg +12 -12
  634. package/resources/logo/dataX-icon-dark.svg +5 -5
  635. package/resources/logo/dataX-icon.svg +5 -5
  636. package/resources/logo/dataX.svg +12 -12
  637. package/resources/styles/colors.scss +568 -397
  638. package/resources/styles/fonts.scss +15 -0
  639. package/resources/styles/transitions.scss +23 -0
  640. package/resources/styles/typography.scss +555 -116
  641. package/resources/styles/variables.scss +85 -0
  642. package/selectbutton/selectbutton.d.ts +50 -1
  643. package/slider/public_api.d.ts +1 -0
  644. package/slider/slider.d.ts +1 -8
  645. package/slider/slider.module.d.ts +9 -0
  646. package/speeddial/speeddial.d.ts +6 -1
  647. package/splitbutton/splitbutton.d.ts +2 -2
  648. package/steps/steps.d.ts +11 -4
  649. package/steps/steps.module.d.ts +2 -1
  650. package/subscriptioncard/index.d.ts +5 -0
  651. package/subscriptioncard/public_api.d.ts +2 -0
  652. package/subscriptioncard/subscriptioncard.component.d.ts +33 -0
  653. package/subscriptioncard/subscriptioncard.module.d.ts +11 -0
  654. package/table/components/column-filter/column-filter.d.ts +0 -34
  655. package/table/components/table-header-checkbox/table-header-checkbox.d.ts +3 -1
  656. package/table/directives/cell-extend.directive.d.ts +14 -0
  657. package/table/directives/cell-highlight.directive.d.ts +4 -6
  658. package/table/public_api.d.ts +1 -0
  659. package/table/table.d.ts +34 -60
  660. package/table/table.interface.d.ts +21 -0
  661. package/table/table.module.d.ts +4 -3
  662. package/table-paginator/index.d.ts +5 -0
  663. package/table-paginator/public_api.d.ts +3 -0
  664. package/table-paginator/table-paginator.component.d.ts +28 -0
  665. package/table-paginator/table-paginator.interface.d.ts +21 -0
  666. package/table-paginator/table-paginator.module.d.ts +9 -0
  667. package/tableconfiguration/tableconfiguration.d.ts +3 -1
  668. package/tabview/tabview.d.ts +14 -12
  669. package/tabview/tabview.module.d.ts +2 -1
  670. package/tag/tag.d.ts +43 -5
  671. package/terminal/terminal.d.ts +1 -1
  672. package/tieredmenu/tieredmenu.d.ts +6 -1
  673. package/toast/toast.d.ts +1 -9
  674. package/toggleswitch/toggleswitch.d.ts +5 -0
  675. package/upload/upload.component.d.ts +51 -19
  676. package/chips/chips.module.d.ts +0 -14
  677. package/chips/public_api.d.ts +0 -3
  678. package/fesm2022/cax-design-system-chips.mjs.map +0 -1
  679. package/resources/components/listbox/listbox.css +0 -40
  680. package/resources/styles/shadow-blur.scss +0 -22
  681. package/resources/styles/space-radius-border.scss +0 -49
@@ -11,8 +11,8 @@ import { ObjectUtils, UniqueComponentId, ZIndexUtils } from 'cax-design-system/u
11
11
  import { ArrowDownIcon } from 'cax-design-system/icons/arrowdown';
12
12
  import { ArrowUpIcon } from 'cax-design-system/icons/arrowup';
13
13
  import { SpinnerIcon } from 'cax-design-system/icons/spinner';
14
- import * as i5 from 'cax-design-system/paginator';
15
- import { PaginatorModule } from 'cax-design-system/paginator';
14
+ import * as i5 from 'cax-design-system/table-paginator';
15
+ import { TablePaginatorModule } from 'cax-design-system/table-paginator';
16
16
  import { Subject } from 'rxjs';
17
17
  import * as i3$1 from '@angular/platform-browser';
18
18
  import { trigger, transition, style, animate } from '@angular/animations';
@@ -34,11 +34,9 @@ import { ButtonModule } from 'cax-design-system/button';
34
34
  import { TrashIcon } from 'cax-design-system/icons/trash';
35
35
  import { PlusIcon } from 'cax-design-system/icons/plus';
36
36
  import { RadioButtonModule } from 'cax-design-system/radiobutton';
37
- import * as i7$1 from 'cax-design-system/divider';
38
37
  import { DividerModule } from 'cax-design-system/divider';
39
38
  import * as i3$2 from 'cax-design-system/badge';
40
39
  import { BadgeModule } from 'cax-design-system/badge';
41
- import { CheckIcon } from 'cax-design-system/icons/check';
42
40
 
43
41
  class TableService {
44
42
  sortSource = new Subject();
@@ -71,10 +69,10 @@ class TableService {
71
69
  onColumnsChange(columns) {
72
70
  this.columnsSource.next(columns);
73
71
  }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
75
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableService, providedIn: 'root' });
72
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
73
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableService, providedIn: 'root' });
76
74
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableService, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableService, decorators: [{
78
76
  type: Injectable,
79
77
  args: [{ providedIn: 'root' }]
80
78
  }] });
@@ -197,14 +195,14 @@ class TableBody {
197
195
  const getItemOptions = this.getScrollerOption('getItemOptions');
198
196
  return getItemOptions ? getItemOptions(index).index : index;
199
197
  }
200
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", 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: "19.2.16", 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 });
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableBody, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", 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
200
  }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableBody, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableBody, decorators: [{
204
202
  type: Component,
205
203
  args: [{ selector: '[caxTableBody]', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
206
204
  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" }]
205
+ }, 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
206
  }], ctorParameters: () => [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { columns: [{
209
207
  type: Input,
210
208
  args: ['caxTableBody']
@@ -276,71 +274,31 @@ class Table {
276
274
  * @group Props
277
275
  */
278
276
  paginator;
279
- /**
280
- * Number of page links to display in paginator.
281
- * @group Props
282
- */
283
- pageLinks = 5;
284
277
  /**
285
278
  * Array of integer/object values to display inside rows per page dropdown of paginator
286
279
  * @group Props
287
280
  */
288
- rowsPerPageOptions;
289
- /**
290
- * Whether to show it even there is only one page.
291
- * @group Props
292
- */
293
- alwaysShowPaginator = true;
281
+ rowsPerPageOptions = [5, 10, 20];
294
282
  /**
295
283
  * Position of the paginator, options are "top", "bottom" or "both".
296
284
  * @group Props
297
285
  */
298
286
  paginatorPosition = 'bottom';
299
287
  /**
300
- * Custom style class for paginator
301
- * @group Props
302
- */
303
- paginatorStyleClass;
304
- /**
305
- * Target element to attach the paginator dropdown overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
306
- * @group Props
307
- */
308
- paginatorDropdownAppendTo;
309
- /**
310
- * Paginator dropdown height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
311
- * @group Props
312
- */
313
- paginatorDropdownScrollHeight = '200px';
314
- /**
315
- * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}
316
- * @group Props
317
- */
318
- currentPageReportTemplate = '{currentPage} of {totalPages}';
319
- /**
320
- * Whether to display current page report.
288
+ * Whether to show prev and next buttons.
321
289
  * @group Props
322
290
  */
323
- showCurrentPageReport;
291
+ showPrevNext = true;
324
292
  /**
325
- * Whether to display a dropdown to navigate to any page.
293
+ * Whether to show results per page dropdown.
326
294
  * @group Props
327
295
  */
328
- showJumpToPageDropdown;
296
+ showResultsPerPage = true;
329
297
  /**
330
- * Whether to display a input to navigate to any page.
298
+ * Alignment of the paginator.
331
299
  * @group Props
332
300
  */
333
- showJumpToPageInput;
334
- /**
335
- * When enabled, icons are displayed on paginator to go first and last page.
336
- * @group Props
337
- */
338
- showFirstLastIcon = true;
339
- /**
340
- * Whether to show page links.
341
- * @group Props
342
- */
343
- showPageLinks = true;
301
+ paginatorAlignment = 'right';
344
302
  /**
345
303
  * Sort order to use when an unsorted column gets sorted by user interaction.
346
304
  * @group Props
@@ -350,8 +308,8 @@ class Table {
350
308
  * Defines whether sorting works on single column or on multiple columns.
351
309
  * @group Props
352
310
  */
353
- filterType = 'default';
354
- sortType = 'default';
311
+ filterType = 'custom';
312
+ sortType = 'custom';
355
313
  sortMode = 'single';
356
314
  /**
357
315
  * When true, resets paginator to first page after sorting. Available only when sortMode is set to single.
@@ -759,6 +717,24 @@ class Table {
759
717
  * @group Emits
760
718
  */
761
719
  onPage = new EventEmitter();
720
+ /**
721
+ * Callback to invoke when results per page changes.
722
+ * @param {PaginatorState} event - custom per page change event.
723
+ * @group Events
724
+ */
725
+ onPerPageChange = new EventEmitter();
726
+ /**
727
+ * Callback to invoke when previous page button is clicked.
728
+ * @param {PaginatorState} event - custom prev click event.
729
+ * @group Events
730
+ */
731
+ onPrevClick = new EventEmitter();
732
+ /**
733
+ * Callback to invoke when next page button is clicked.
734
+ * @param {PaginatorState} event - custom next click event.
735
+ * @group Events
736
+ */
737
+ onNextClick = new EventEmitter();
762
738
  /**
763
739
  * Callback to invoke when a column gets sorted.
764
740
  * @param {Object} object - sort meta.
@@ -1225,6 +1201,7 @@ class Table {
1225
1201
  first: this.first,
1226
1202
  rows: this.rows
1227
1203
  });
1204
+ this.onPerPageChange.emit(event);
1228
1205
  if (this.lazy) {
1229
1206
  this.onLazyLoad.emit(this.createLazyLoadMetadata());
1230
1207
  }
@@ -1239,6 +1216,12 @@ class Table {
1239
1216
  this.resetScrollTop();
1240
1217
  }
1241
1218
  }
1219
+ onPrevClickChange(event) {
1220
+ this.onPrevClick.emit(event);
1221
+ }
1222
+ onNextClickChange(event) {
1223
+ this.onNextClick.emit(event);
1224
+ }
1242
1225
  nextSortOrder = (current) => {
1243
1226
  switch (current) {
1244
1227
  case 0:
@@ -1447,7 +1430,7 @@ class Table {
1447
1430
  }
1448
1431
  isSorted(field) {
1449
1432
  if (this.sortMode === 'single') {
1450
- return this.sortField && this.sortField === field;
1433
+ return this.sortField && this.sortField === field && this.sortOrder !== 0;
1451
1434
  }
1452
1435
  else if (this.sortMode === 'multiple') {
1453
1436
  let sorted = false;
@@ -1462,7 +1445,7 @@ class Table {
1462
1445
  return sorted;
1463
1446
  }
1464
1447
  else if (this.sortMode === 'custom') {
1465
- return this.sortField && this.sortField === field;
1448
+ return this.sortField && this.sortField === field && this.sortOrder !== 0;
1466
1449
  }
1467
1450
  }
1468
1451
  handleRowClick(event) {
@@ -1830,11 +1813,13 @@ class Table {
1830
1813
  }
1831
1814
  return true;
1832
1815
  }
1833
- _filter() {
1816
+ _filter(emit = true) {
1834
1817
  if (this.filterType === 'custom') {
1835
- this.onFilter.emit({
1836
- filters: Object.fromEntries(Object.entries(this.filters).filter(([_, value]) => value && value?.matchMode !== null))
1837
- });
1818
+ if (emit) {
1819
+ this.onFilter.emit({
1820
+ filters: Object.fromEntries(Object.entries(this.filters).filter(([_, value]) => value && value?.matchMode !== null))
1821
+ });
1822
+ }
1838
1823
  }
1839
1824
  else {
1840
1825
  if (!this.restoringFilter) {
@@ -1916,10 +1901,12 @@ class Table {
1916
1901
  }
1917
1902
  }
1918
1903
  }
1919
- this.onFilter.emit({
1920
- filters: this.filters,
1921
- filteredValue: this.filteredValue || this.value
1922
- });
1904
+ if (emit) {
1905
+ this.onFilter.emit({
1906
+ filters: this.filters,
1907
+ filteredValue: this.filteredValue || this.value
1908
+ });
1909
+ }
1923
1910
  this.tableService.onValueChange(this.value);
1924
1911
  if (this.isStateful() && !this.restoringFilter) {
1925
1912
  this.saveState();
@@ -2631,7 +2618,7 @@ class Table {
2631
2618
  }
2632
2619
  getTableClasses() {
2633
2620
  return {
2634
- 'cax-datatable cax-component': true,
2621
+ 'cax-datatable cax-datatable-gridlines cax-component': true,
2635
2622
  'cax-datatable-hoverable-rows': this.rowHover || this.selectionMode,
2636
2623
  'cax-datatable-scrollable': this.scrollable,
2637
2624
  'cax-datatable-flex-scrollable': this.scrollable && this.scrollHeight === 'flex',
@@ -2698,20 +2685,14 @@ class Table {
2698
2685
  this.destroyStyleElement();
2699
2686
  this.destroyResponsiveStyle();
2700
2687
  }
2701
- getPaginatorStyleClasses(className) {
2702
- return [this.paginatorStyleClass, className]
2703
- .filter((c) => !!c)
2704
- .join(' ')
2705
- .trim();
2706
- }
2707
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", 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: "19.2.16", 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:var(--neutral-25)}.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;top:-3px;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;border-radius:6px}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}.cax-sort-icon-button:hover{background-color:var(--primary-100)}cax-sorticon{display:inline-flex;position:relative;float:right;top:-3px;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 });
2688
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", 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 });
2689
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", 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], rowsPerPageOptions: "rowsPerPageOptions", paginatorPosition: "paginatorPosition", showPrevNext: ["showPrevNext", "showPrevNext", booleanAttribute], showResultsPerPage: ["showResultsPerPage", "showResultsPerPage", booleanAttribute], paginatorAlignment: "paginatorAlignment", 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", onPerPageChange: "onPerPageChange", onPrevClick: "onPrevClick", onNextClick: "onNextClick", 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-tablePaginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [showPrevNext]=\"showPrevNext\"\n [showResultsPerPage]=\"showResultsPerPage\"\n [alignment]=\"paginatorAlignment\"\n (onPerPageChange)=\"onPageChange($event)\"\n (onPrevClick)=\"onPrevClickChange($event)\"\n (onNextClick)=\"onNextClickChange($event)\"\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\n ></cax-tablePaginator>\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-tablePaginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [showPrevNext]=\"showPrevNext\"\n [showResultsPerPage]=\"showResultsPerPage\"\n [alignment]=\"paginatorAlignment\"\n (onPerPageChange)=\"onPageChange($event)\"\n (onPrevClick)=\"onPrevClickChange($event)\"\n (onNextClick)=\"onNextClickChange($event)\"\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\n ></cax-tablePaginator>\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:10px;height:10px}.cax-datatable-wrapper::-webkit-scrollbar-track{background:var(--neutral-25);border-radius:12px}.cax-datatable-wrapper::-webkit-scrollbar-thumb{background:var(--neutral-100);border-radius:12px}.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 thead th>div.flex{width:100%}.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:20}.cax-datatable-scrollable th.cax-frozen-column{z-index:20;background:var(--neutral-75)}.cax-datatable-scrollable td.cax-frozen-column{z-index:20;background:var(--neutral-25)}.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-columnfilter{margin-left:auto;order:3;float:right}.cax-column-filter-menu{display:inline-flex;align-items:center;vertical-align:middle;margin-left:auto;order:3;float:right}.cax-column-filter-menu i{font-size:20px}.cax-column-filter-row cax-columnfilterformelement,cax-columnfilterformelement{flex:1 1 auto;display:contents}.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;padding:16px;display:flex;flex-direction:column;gap:8px}.cax-column-filter-menu-container,.cax-column-filter-constraints,.cax-column-filter-constraint{display:flex;flex-direction:column;gap:8px}.cax-fluid{display:block}.cax-fluid .cax-inputtext,.cax-fluid .cax-dropdown,.cax-fluid .cax-inputnumber,.cax-fluid .cax-calendar,.cax-fluid .cax-dropdown .cax-dropdown-label{width:100%}.cax-fluid .cax-checkbox-icon{width:12px!important;height:12px!important}.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:8px;padding-top:8px;border-top:1px solid var(--neutral-100)}.cax-column-filter-buttonbar .cax-button{width:auto;flex:1}.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-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-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-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-sm.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:32px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:40px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:74px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:36px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:48px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:64px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:80px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:40px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:48px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:72px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:96px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:48px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:88px}.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;border-radius:4px}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}.cax-sort-icon-button:hover{background-color:var(--neutral-150)}.cax-sort-icon-button.cax-sort-icon-button-active{background-color:var(--primary-75)}cax-sorticon,cax-sortIcon{display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px;order:2;float:right}.cax-column-filter-menu~.cax-column-filter-menu,.cax-column-filter-menu~cax-sorticon,.cax-column-filter-menu~cax-sortIcon,cax-sorticon~.cax-column-filter-menu,cax-sorticon~cax-sorticon,cax-sorticon~cax-sortIcon,cax-sortIcon~.cax-column-filter-menu,cax-sortIcon~cax-sorticon,cax-sortIcon~cax-sortIcon{margin-left:8px;float:right}.cax-table-checkbox-container{display:flex;justify-content:center}cax-cellEditor .cax-inputtextarea{height:100%!important}cax-cellEditor textarea:focus{outline:none!important}cax-cellEditor input:focus{outline:none!important}\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: TablePaginatorModule }, { kind: "component", type: i5.TablePaginatorComponent, selector: "cax-tablePaginator", inputs: ["totalRecords", "rows", "rowsPerPageOptions", "first", "showPrevNext", "showResultsPerPage", "alignment"], outputs: ["onPerPageChange", "onPrevClick", "onNextClick"] }, { kind: "ngmodule", type: ScrollerModule }, { 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: "directive", type: i2.CaxTemplate, selector: "[caxTemplate]", inputs: ["type", "caxTemplate"] }, { 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
2690
  }
2710
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Table, decorators: [{
2691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Table, decorators: [{
2711
2692
  type: Component,
2712
- args: [{ selector: 'cax-table', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, PaginatorModule, ScrollerModule, ArrowDownIcon, ArrowUpIcon, SpinnerIcon, TableBody], host: {
2693
+ args: [{ selector: 'cax-table', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, TablePaginatorModule, ScrollerModule, ArrowDownIcon, ArrowUpIcon, SpinnerIcon, TableBody], host: {
2713
2694
  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:var(--neutral-25)}.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;top:-3px;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;border-radius:6px}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}.cax-sort-icon-button:hover{background-color:var(--primary-100)}cax-sorticon{display:inline-flex;position:relative;float:right;top:-3px;margin-left:4px}\n"] }]
2695
+ }, 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-tablePaginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [showPrevNext]=\"showPrevNext\"\n [showResultsPerPage]=\"showResultsPerPage\"\n [alignment]=\"paginatorAlignment\"\n (onPerPageChange)=\"onPageChange($event)\"\n (onPrevClick)=\"onPrevClickChange($event)\"\n (onNextClick)=\"onNextClickChange($event)\"\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\n ></cax-tablePaginator>\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-tablePaginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [showPrevNext]=\"showPrevNext\"\n [showResultsPerPage]=\"showResultsPerPage\"\n [alignment]=\"paginatorAlignment\"\n (onPerPageChange)=\"onPageChange($event)\"\n (onPrevClick)=\"onPrevClickChange($event)\"\n (onNextClick)=\"onNextClickChange($event)\"\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\n ></cax-tablePaginator>\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:10px;height:10px}.cax-datatable-wrapper::-webkit-scrollbar-track{background:var(--neutral-25);border-radius:12px}.cax-datatable-wrapper::-webkit-scrollbar-thumb{background:var(--neutral-100);border-radius:12px}.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 thead th>div.flex{width:100%}.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:20}.cax-datatable-scrollable th.cax-frozen-column{z-index:20;background:var(--neutral-75)}.cax-datatable-scrollable td.cax-frozen-column{z-index:20;background:var(--neutral-25)}.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-columnfilter{margin-left:auto;order:3;float:right}.cax-column-filter-menu{display:inline-flex;align-items:center;vertical-align:middle;margin-left:auto;order:3;float:right}.cax-column-filter-menu i{font-size:20px}.cax-column-filter-row cax-columnfilterformelement,cax-columnfilterformelement{flex:1 1 auto;display:contents}.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;padding:16px;display:flex;flex-direction:column;gap:8px}.cax-column-filter-menu-container,.cax-column-filter-constraints,.cax-column-filter-constraint{display:flex;flex-direction:column;gap:8px}.cax-fluid{display:block}.cax-fluid .cax-inputtext,.cax-fluid .cax-dropdown,.cax-fluid .cax-inputnumber,.cax-fluid .cax-calendar,.cax-fluid .cax-dropdown .cax-dropdown-label{width:100%}.cax-fluid .cax-checkbox-icon{width:12px!important;height:12px!important}.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:8px;padding-top:8px;border-top:1px solid var(--neutral-100)}.cax-column-filter-buttonbar .cax-button{width:auto;flex:1}.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-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-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-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-sm.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:32px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:40px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-sm.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:74px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:36px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:48px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:64px}.cax-datatable.cax-datatable-font-md.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:80px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:40px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:48px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:72px}.cax-datatable.cax-datatable-font-lg.cax-datatable-row-xl .cax-datatable-tbody>tr>td{height:96px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-sm .cax-datatable-tbody>tr>td{height:48px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-md .cax-datatable-tbody>tr>td{height:60px}.cax-datatable.cax-datatable-font-xl.cax-datatable-row-lg .cax-datatable-tbody>tr>td{height:88px}.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;border-radius:4px}.cax-sort-icon-button i{font-size:20px}.cax-sort-icon-button:disabled{opacity:.5;cursor:context-menu}.cax-sort-icon-button:hover{background-color:var(--neutral-150)}.cax-sort-icon-button.cax-sort-icon-button-active{background-color:var(--primary-75)}cax-sorticon,cax-sortIcon{display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px;order:2;float:right}.cax-column-filter-menu~.cax-column-filter-menu,.cax-column-filter-menu~cax-sorticon,.cax-column-filter-menu~cax-sortIcon,cax-sorticon~.cax-column-filter-menu,cax-sorticon~cax-sorticon,cax-sorticon~cax-sortIcon,cax-sortIcon~.cax-column-filter-menu,cax-sortIcon~cax-sorticon,cax-sortIcon~cax-sortIcon{margin-left:8px;float:right}.cax-table-checkbox-container{display:flex;justify-content:center}cax-cellEditor .cax-inputtextarea{height:100%!important}cax-cellEditor textarea:focus{outline:none!important}cax-cellEditor input:focus{outline:none!important}\n"] }]
2715
2696
  }], ctorParameters: () => [{ type: Document, decorators: [{
2716
2697
  type: Inject,
2717
2698
  args: [DOCUMENT]
@@ -2737,39 +2718,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
2737
2718
  }], paginator: [{
2738
2719
  type: Input,
2739
2720
  args: [{ transform: booleanAttribute }]
2740
- }], pageLinks: [{
2741
- type: Input,
2742
- args: [{ transform: numberAttribute }]
2743
2721
  }], rowsPerPageOptions: [{
2744
2722
  type: Input
2745
- }], alwaysShowPaginator: [{
2746
- type: Input,
2747
- args: [{ transform: booleanAttribute }]
2748
2723
  }], paginatorPosition: [{
2749
2724
  type: Input
2750
- }], paginatorStyleClass: [{
2751
- type: Input
2752
- }], paginatorDropdownAppendTo: [{
2753
- type: Input
2754
- }], paginatorDropdownScrollHeight: [{
2755
- type: Input
2756
- }], currentPageReportTemplate: [{
2757
- type: Input
2758
- }], showCurrentPageReport: [{
2725
+ }], showPrevNext: [{
2759
2726
  type: Input,
2760
2727
  args: [{ transform: booleanAttribute }]
2761
- }], showJumpToPageDropdown: [{
2762
- type: Input,
2763
- args: [{ transform: booleanAttribute }]
2764
- }], showJumpToPageInput: [{
2765
- type: Input,
2766
- args: [{ transform: booleanAttribute }]
2767
- }], showFirstLastIcon: [{
2768
- type: Input,
2769
- args: [{ transform: booleanAttribute }]
2770
- }], showPageLinks: [{
2728
+ }], showResultsPerPage: [{
2771
2729
  type: Input,
2772
2730
  args: [{ transform: booleanAttribute }]
2731
+ }], paginatorAlignment: [{
2732
+ type: Input
2773
2733
  }], defaultSortOrder: [{
2774
2734
  type: Input,
2775
2735
  args: [{ transform: numberAttribute }]
@@ -2934,6 +2894,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
2934
2894
  type: Output
2935
2895
  }], onPage: [{
2936
2896
  type: Output
2897
+ }], onPerPageChange: [{
2898
+ type: Output
2899
+ }], onPrevClick: [{
2900
+ type: Output
2901
+ }], onNextClick: [{
2902
+ type: Output
2937
2903
  }], onSort: [{
2938
2904
  type: Output
2939
2905
  }], onFilter: [{
@@ -3283,10 +3249,10 @@ class EditableColumn {
3283
3249
  this.dt.overlaySubscription.unsubscribe();
3284
3250
  }
3285
3251
  }
3286
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: EditableColumn, deps: [{ token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3287
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: EditableColumn, isStandalone: true, selector: "[caxEditableColumn]", inputs: { data: ["caxEditableColumn", "data"], field: ["caxEditableColumnField", "field"], rowIndex: ["caxEditableColumnRowIndex", "rowIndex"], caxEditableColumnDisabled: ["caxEditableColumnDisabled", "caxEditableColumnDisabled", booleanAttribute], pFocusCellSelector: "pFocusCellSelector" }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKeyDown($event)", "keydown.tab": "onShiftKeyDown($event)", "keydown.escape": "onEscapeKeyDown($event)", "keydown.shift.tab": "onShiftKeyDown($event)", "keydown.meta.tab": "onShiftKeyDown($event)", "keydown.arrowdown": "onArrowDown($event)", "keydown.arrowup": "onArrowUp($event)", "keydown.arrowleft": "onArrowLeft($event)", "keydown.arrowright": "onArrowRight($event)" }, classAttribute: "cax-element" }, usesOnChanges: true, ngImport: i0 });
3252
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: EditableColumn, deps: [{ token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3253
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: EditableColumn, isStandalone: true, selector: "[caxEditableColumn]", inputs: { data: ["caxEditableColumn", "data"], field: ["caxEditableColumnField", "field"], rowIndex: ["caxEditableColumnRowIndex", "rowIndex"], caxEditableColumnDisabled: ["caxEditableColumnDisabled", "caxEditableColumnDisabled", booleanAttribute], pFocusCellSelector: "pFocusCellSelector" }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKeyDown($event)", "keydown.tab": "onShiftKeyDown($event)", "keydown.escape": "onEscapeKeyDown($event)", "keydown.shift.tab": "onShiftKeyDown($event)", "keydown.meta.tab": "onShiftKeyDown($event)", "keydown.arrowdown": "onArrowDown($event)", "keydown.arrowup": "onArrowUp($event)", "keydown.arrowleft": "onArrowLeft($event)", "keydown.arrowright": "onArrowRight($event)" }, classAttribute: "cax-element" }, usesOnChanges: true, ngImport: i0 });
3288
3254
  }
3289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: EditableColumn, decorators: [{
3255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: EditableColumn, decorators: [{
3290
3256
  type: Directive,
3291
3257
  args: [{
3292
3258
  selector: '[caxEditableColumn]',
@@ -3354,10 +3320,10 @@ class EditableRow {
3354
3320
  isEnabled() {
3355
3321
  return this.caxEditableRowDisabled !== true;
3356
3322
  }
3357
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: EditableRow, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3358
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: EditableRow, isStandalone: true, selector: "[caxEditableRow]", inputs: { data: ["caxEditableRow", "data"], caxEditableRowDisabled: ["caxEditableRowDisabled", "caxEditableRowDisabled", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0 });
3323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: EditableRow, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3324
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: EditableRow, isStandalone: true, selector: "[caxEditableRow]", inputs: { data: ["caxEditableRow", "data"], caxEditableRowDisabled: ["caxEditableRowDisabled", "caxEditableRowDisabled", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0 });
3359
3325
  }
3360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: EditableRow, decorators: [{
3326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: EditableRow, decorators: [{
3361
3327
  type: Directive,
3362
3328
  args: [{
3363
3329
  selector: '[caxEditableRow]',
@@ -3401,14 +3367,14 @@ class CellEditor {
3401
3367
  get editing() {
3402
3368
  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
3369
  }
3404
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", 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: "19.2.16", 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 });
3370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CellEditor, deps: [{ token: Table }, { token: EditableColumn, optional: true }, { token: EditableRow, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3371
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", 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
3372
  }
3407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: CellEditor, decorators: [{
3373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CellEditor, decorators: [{
3408
3374
  type: Component,
3409
3375
  args: [{ selector: 'cax-cellEditor', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
3410
3376
  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" }]
3377
+ }, 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
3378
  }], ctorParameters: () => [{ type: Table }, { type: EditableColumn, decorators: [{
3413
3379
  type: Optional
3414
3380
  }] }, { type: EditableRow, decorators: [{
@@ -3447,33 +3413,33 @@ class ColumnFilterFormElement {
3447
3413
  ngOnInit() {
3448
3414
  this.filterCallback = (value) => {
3449
3415
  this.filterConstraint.value = value;
3450
- this.dt._filter();
3416
+ this.dt._filter(this.colFilter.display === 'row');
3451
3417
  };
3452
3418
  }
3453
3419
  onModelChange(value) {
3454
3420
  this.filterConstraint.value = value;
3455
3421
  if (this.type === 'date' || this.type === 'boolean' || value === '') {
3456
- this.dt._filter();
3422
+ this.dt._filter(this.colFilter.display === 'row');
3457
3423
  }
3458
3424
  }
3459
3425
  onTextInputEnterKeyDown(event) {
3460
- this.dt._filter();
3426
+ this.dt._filter(true);
3461
3427
  event.preventDefault();
3462
3428
  }
3463
3429
  onNumericInputKeyDown(event) {
3464
3430
  if (event.key === 'Enter') {
3465
- this.dt._filter();
3431
+ this.dt._filter(true);
3466
3432
  event.preventDefault();
3467
3433
  }
3468
3434
  }
3469
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
3470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.16", 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 });
3435
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
3436
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", 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\n *ngIf=\"filterTemplate; else builtInElement\"\n [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{\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></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 class=\"cax-fluid\"\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 class=\"cax-fluid\"\n ></cax-inputNumber>\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" class=\"cax-fluid\"></cax-triStateCheckbox>\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\" class=\"cax-fluid\"></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", "readonly", "variant", "size"], 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", "size", "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", "helperText", "errorText", "invalid", "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", "onDateSaved", "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", "label", "errorText", "successText", "invalid", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "value"], 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
3437
  }
3472
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3473
3439
  type: Component,
3474
3440
  args: [{ selector: 'cax-columnFilterFormElement', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, InputTextModule, FormsModule, CalendarModule, InputNumberModule, TriStateCheckboxModule], host: {
3475
3441
  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" }]
3442
+ }, template: "<ng-container\n *ngIf=\"filterTemplate; else builtInElement\"\n [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{\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></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 class=\"cax-fluid\"\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 class=\"cax-fluid\"\n ></cax-inputNumber>\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" class=\"cax-fluid\"></cax-triStateCheckbox>\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\" class=\"cax-fluid\"></cax-calendar>\n </ng-container>\n</ng-template>\n" }]
3477
3443
  }], ctorParameters: () => [{ type: Table }, { type: ColumnFilter }], propDecorators: { field: [{
3478
3444
  type: Input
3479
3445
  }], type: [{
@@ -3730,72 +3696,6 @@ class ColumnFilter {
3730
3696
  get filterConstraintAriaLabel() {
3731
3697
  return this.config.translation ? this.config.translation.aria.filterConstraint : undefined;
3732
3698
  }
3733
- customFilterListVisible = false;
3734
- selectedCustomFilter;
3735
- commonFilterOptions = [
3736
- {
3737
- label: 'Is empty',
3738
- key: 'empty'
3739
- },
3740
- {
3741
- label: 'Is filled',
3742
- key: 'filled'
3743
- }
3744
- ];
3745
- stringFilterOptions = [
3746
- {
3747
- label: 'Contains',
3748
- key: 'contains'
3749
- },
3750
- {
3751
- label: 'Does not contain',
3752
- key: 'does not contain'
3753
- },
3754
- {
3755
- label: 'Is exactly',
3756
- key: 'exactly'
3757
- }
3758
- ];
3759
- numberFilterOptions = [
3760
- {
3761
- label: 'Greater than',
3762
- key: 'gt'
3763
- },
3764
- {
3765
- label: 'Less than',
3766
- key: 'lt'
3767
- },
3768
- {
3769
- label: 'Greater than or equal to',
3770
- key: 'gte'
3771
- },
3772
- {
3773
- label: 'Less than or equal to',
3774
- key: 'lte'
3775
- },
3776
- {
3777
- label: 'Greater than and less than',
3778
- key: 'gtlt'
3779
- }
3780
- ];
3781
- dateFilterOptions = [
3782
- {
3783
- label: 'Before',
3784
- key: 'before'
3785
- },
3786
- {
3787
- label: 'After',
3788
- key: 'after'
3789
- },
3790
- {
3791
- label: 'Today',
3792
- key: 'today'
3793
- }
3794
- ];
3795
- customInputFilter = '';
3796
- customNumberFilter1;
3797
- customNumberFilter2;
3798
- customDateFilter;
3799
3699
  constructor(document, el, dt, renderer, config, overlayService, cd) {
3800
3700
  this.document = document;
3801
3701
  this.el = el;
@@ -3811,28 +3711,6 @@ class ColumnFilter {
3811
3711
  if (!this.dt.filters[this.field]) {
3812
3712
  this.initFieldFilterConstraint();
3813
3713
  }
3814
- if (this.dt.filters[this.field] && this.dt.filterType === 'custom') {
3815
- let filterData = this.dt.filters[this.field];
3816
- if (!Array.isArray(filterData)) {
3817
- this.selectedCustomFilter = this.getSelectedFilter(filterData.matchMode);
3818
- if (this.isCustomStringFilterSelected)
3819
- this.customInputFilter = filterData.value;
3820
- if (this.isCustomNumberFilterSelected) {
3821
- if (this.selectedCustomFilter.key === 'gtlt') {
3822
- this.customNumberFilter1 = filterData.value.gt;
3823
- this.customNumberFilter2 = filterData.value.lt;
3824
- }
3825
- else {
3826
- this.customNumberFilter1 = filterData.value;
3827
- }
3828
- }
3829
- if (this.isCustomDateFilterSelected) {
3830
- if (this.selectedCustomFilter.key !== 'today') {
3831
- this.customDateFilter = new Date(filterData.value);
3832
- }
3833
- }
3834
- }
3835
- }
3836
3714
  this.translationSubscription = this.config.translationObserver.subscribe(() => {
3837
3715
  this.generateMatchModeOptions();
3838
3716
  this.generateOperatorOptions();
@@ -3840,10 +3718,6 @@ class ColumnFilter {
3840
3718
  this.generateMatchModeOptions();
3841
3719
  this.generateOperatorOptions();
3842
3720
  }
3843
- getSelectedFilter(key) {
3844
- const allOptions = [...this.commonFilterOptions, ...this.stringFilterOptions, ...this.numberFilterOptions, ...this.dateFilterOptions];
3845
- return allOptions.find((option) => option.key === key);
3846
- }
3847
3721
  generateMatchModeOptions() {
3848
3722
  this.matchModes =
3849
3723
  this.matchModeOptions ||
@@ -3889,24 +3763,22 @@ class ColumnFilter {
3889
3763
  }
3890
3764
  initFieldFilterConstraint() {
3891
3765
  let defaultMatchMode = this.getDefaultMatchMode();
3892
- if (this.dt.filterType === 'custom') {
3893
- this.dt.filters[this.field] = { value: null, matchMode: null };
3894
- }
3895
- else {
3896
- this.dt.filters[this.field] = this.display == 'row' ? { value: null, matchMode: defaultMatchMode } : [{ value: null, matchMode: defaultMatchMode, operator: this.operator }];
3897
- }
3766
+ this.dt.filters[this.field] = this.display == 'row' ? { value: null, matchMode: defaultMatchMode } : [{ value: null, matchMode: defaultMatchMode, operator: this.operator }];
3898
3767
  }
3899
3768
  onMenuMatchModeChange(value, filterMeta) {
3900
3769
  filterMeta.matchMode = value;
3901
3770
  if (!this.showApplyButton) {
3902
- this.dt._filter();
3771
+ this.dt._filter(true);
3772
+ }
3773
+ else {
3774
+ this.dt._filter(false);
3903
3775
  }
3904
3776
  }
3905
3777
  onRowMatchModeChange(matchMode) {
3906
3778
  const fieldFilter = this.dt.filters[this.field];
3907
3779
  fieldFilter.matchMode = matchMode;
3908
3780
  if (fieldFilter.value) {
3909
- this.dt._filter();
3781
+ this.dt._filter(true);
3910
3782
  }
3911
3783
  this.hide();
3912
3784
  }
@@ -3947,7 +3819,10 @@ class ColumnFilter {
3947
3819
  removeConstraint(filterMeta) {
3948
3820
  this.dt.filters[this.field] = this.dt.filters[this.field].filter((meta) => meta !== filterMeta);
3949
3821
  if (!this.showApplyButton) {
3950
- this.dt._filter();
3822
+ this.dt._filter(true);
3823
+ }
3824
+ else {
3825
+ this.dt._filter(false);
3951
3826
  }
3952
3827
  DomHandler.focus(this.clearButtonViewChild.nativeElement);
3953
3828
  }
@@ -3957,7 +3832,10 @@ class ColumnFilter {
3957
3832
  this.operator = value;
3958
3833
  });
3959
3834
  if (!this.showApplyButton) {
3960
- this.dt._filter();
3835
+ this.dt._filter(true);
3836
+ }
3837
+ else {
3838
+ this.dt._filter(false);
3961
3839
  }
3962
3840
  }
3963
3841
  toggleMenu() {
@@ -4074,18 +3952,10 @@ class ColumnFilter {
4074
3952
  hasFilter() {
4075
3953
  let fieldFilter = this.dt.filters[this.field];
4076
3954
  if (fieldFilter) {
4077
- if (this.dt.filterType === 'custom') {
4078
- if (Array.isArray(fieldFilter))
4079
- return false;
4080
- else
4081
- return fieldFilter.matchMode != null || undefined ? true : false;
4082
- }
4083
- else {
4084
- if (Array.isArray(fieldFilter))
4085
- return !this.dt.isFilterBlank(fieldFilter[0].value);
4086
- else
4087
- return !this.dt.isFilterBlank(fieldFilter.value);
4088
- }
3955
+ if (Array.isArray(fieldFilter))
3956
+ return !this.dt.isFilterBlank(fieldFilter[0].value);
3957
+ else
3958
+ return !this.dt.isFilterBlank(fieldFilter.value);
4089
3959
  }
4090
3960
  return false;
4091
3961
  }
@@ -4166,12 +4036,12 @@ class ColumnFilter {
4166
4036
  }
4167
4037
  clearFilter() {
4168
4038
  this.initFieldFilterConstraint();
4169
- this.dt._filter();
4039
+ this.dt._filter(true);
4170
4040
  if (this.hideOnClear)
4171
4041
  this.hide();
4172
4042
  }
4173
4043
  applyFilter() {
4174
- this.dt._filter();
4044
+ this.dt._filter(true);
4175
4045
  this.hide();
4176
4046
  }
4177
4047
  ngOnDestroy() {
@@ -4190,77 +4060,14 @@ class ColumnFilter {
4190
4060
  this.overlaySubscription.unsubscribe();
4191
4061
  }
4192
4062
  }
4193
- toggleCustomFilterList() {
4194
- this.customFilterListVisible = !this.customFilterListVisible;
4195
- }
4196
- selectCustomFilter(option) {
4197
- this.customInputFilter = '';
4198
- this.customNumberFilter1 = undefined;
4199
- this.customNumberFilter2 = undefined;
4200
- this.customDateFilter = undefined;
4201
- this.customFilterListVisible = false;
4202
- this.selectedCustomFilter = option;
4203
- }
4204
- get isCustomCommonFilterSelected() {
4205
- return this.commonFilterOptions.some((list) => list.key == this.selectedCustomFilter?.key);
4206
- }
4207
- get isCustomStringFilterSelected() {
4208
- return this.stringFilterOptions.some((list) => list.key == this.selectedCustomFilter?.key);
4209
- }
4210
- get isCustomNumberFilterSelected() {
4211
- return this.numberFilterOptions.some((list) => list.key == this.selectedCustomFilter?.key);
4212
- }
4213
- get isCustomDateFilterSelected() {
4214
- return this.dateFilterOptions.some((list) => list.key == this.selectedCustomFilter?.key);
4215
- }
4216
- onClearCustomFilters() {
4217
- this.selectedCustomFilter = undefined;
4218
- this.customInputFilter = '';
4219
- this.customNumberFilter1 = undefined;
4220
- this.customNumberFilter2 = undefined;
4221
- this.customDateFilter = undefined;
4222
- }
4223
- onApplyCustomFilters() {
4224
- let appliedFilters = undefined;
4225
- if (this.isCustomCommonFilterSelected) {
4226
- appliedFilters = {
4227
- matchMode: this.selectedCustomFilter.key
4228
- };
4229
- }
4230
- else if (this.isCustomStringFilterSelected) {
4231
- appliedFilters = {
4232
- matchMode: this.selectedCustomFilter.key,
4233
- value: this.customInputFilter
4234
- };
4235
- }
4236
- else if (this.isCustomNumberFilterSelected) {
4237
- appliedFilters = {
4238
- matchMode: this.selectedCustomFilter.key
4239
- };
4240
- if (this.selectedCustomFilter.key === 'gtlt')
4241
- appliedFilters.value = { gt: this.customNumberFilter1, lt: this.customNumberFilter2 };
4242
- else
4243
- appliedFilters.value = this.customNumberFilter1;
4244
- }
4245
- else if (this.isCustomDateFilterSelected) {
4246
- appliedFilters = {
4247
- matchMode: this.selectedCustomFilter.key
4248
- };
4249
- if (this.selectedCustomFilter.key !== 'today')
4250
- appliedFilters.value = this.customDateFilter;
4251
- }
4252
- this.dt.filters[this.field] = appliedFilters;
4253
- this.dt._filter();
4254
- this.hide();
4255
- }
4256
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", 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: "19.2.16", 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 });
4063
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", 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 });
4064
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", 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 class=\"cax-column-filter\" [ngClass]=\"{ 'cax-column-filter-row': display === 'row', 'cax-column-filter-menu': display === 'menu' }\">\n <cax-columnFilterFormElement\n *ngIf=\"display === 'row'\"\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\" [ngClass]=\"'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 #icon *ngIf=\"showClearButton && display === 'row'\" [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\" type=\"button\" class=\"cax-column-filter-clear-button cax-link\" (click)=\"clearFilter()\" [attr.aria-label]=\"clearButtonLabel\">\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' }\"\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'; 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 <div *ngIf=\"display === 'menu'\" class=\"cax-column-filter-menu-container\">\n <cax-dropdown *ngIf=\"isShowOperator\" [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown cax-fluid\"></cax-dropdown>\n\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 cax-fluid\"\n ></cax-dropdown>\n <cax-columnFilterFormElement\n class=\"cax-fluid\"\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 <button\n *ngIf=\"showRemoveIcon\"\n type=\"button\"\n caxButton\n severity=\"danger\"\n outlined=\"true\"\n class=\"cax-column-filter-remove-button cax-button-sm\"\n (click)=\"removeConstraint(fieldConstraint)\"\n caxRipple\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\n <button *ngIf=\"isShowAddConstraint\" type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" caxRipple>\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\n </button>\n\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 </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", "size", "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", "invalid", "errorText", "successText", "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: 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: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: InputNumberModule }, { kind: "ngmodule", type: CalendarModule }], 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
4065
  }
4259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ColumnFilter, decorators: [{
4066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ColumnFilter, decorators: [{
4260
4067
  type: Component,
4261
4068
  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
4069
  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" }]
4070
+ }, template: "<div class=\"cax-column-filter\" [ngClass]=\"{ 'cax-column-filter-row': display === 'row', 'cax-column-filter-menu': display === 'menu' }\">\n <cax-columnFilterFormElement\n *ngIf=\"display === 'row'\"\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\" [ngClass]=\"'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 #icon *ngIf=\"showClearButton && display === 'row'\" [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\" type=\"button\" class=\"cax-column-filter-clear-button cax-link\" (click)=\"clearFilter()\" [attr.aria-label]=\"clearButtonLabel\">\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' }\"\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'; 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 <div *ngIf=\"display === 'menu'\" class=\"cax-column-filter-menu-container\">\n <cax-dropdown *ngIf=\"isShowOperator\" [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown cax-fluid\"></cax-dropdown>\n\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 cax-fluid\"\n ></cax-dropdown>\n <cax-columnFilterFormElement\n class=\"cax-fluid\"\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 <button\n *ngIf=\"showRemoveIcon\"\n type=\"button\"\n caxButton\n severity=\"danger\"\n outlined=\"true\"\n class=\"cax-column-filter-remove-button cax-button-sm\"\n (click)=\"removeConstraint(fieldConstraint)\"\n caxRipple\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\n <button *ngIf=\"isShowAddConstraint\" type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" caxRipple>\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\n </button>\n\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 </div>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\n </div>\n</div>\n" }]
4264
4071
  }], ctorParameters: () => [{ type: Document, decorators: [{
4265
4072
  type: Inject,
4266
4073
  args: [DOCUMENT]
@@ -4401,14 +4208,14 @@ class SortIcon {
4401
4208
  this.subscription.unsubscribe();
4402
4209
  }
4403
4210
  }
4404
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4405
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", 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 });
4211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4212
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", 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\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-600)\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-600)\" [ngClass]=\"'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\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-600)\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-600)\" [ngClass]=\"'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
4213
  }
4407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SortIcon, decorators: [{
4214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SortIcon, decorators: [{
4408
4215
  type: Component,
4409
4216
  args: [{ selector: 'cax-sortIcon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, ButtonModule, BadgeModule], host: {
4410
4217
  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" }]
4218
+ }, 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\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-600)\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-600)\" [ngClass]=\"'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\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 0\"></i>\n <i class=\"cax cax-sort-from-bottom-to-top\" style=\"color: var(--primary-600)\" [ngClass]=\"'cax-sortable-column-icon'\" *ngIf=\"sortOrder === 1\"></i>\n <i class=\"cax cax-sort-from-top-to-bottom\" style=\"color: var(--primary-600)\" [ngClass]=\"'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
4219
  }], ctorParameters: () => [{ type: Table }, { type: i0.ChangeDetectorRef }], propDecorators: { field: [{
4413
4220
  type: Input
4414
4221
  }], disabled: [{
@@ -4463,14 +4270,14 @@ class TableCheckbox {
4463
4270
  this.subscription.unsubscribe();
4464
4271
  }
4465
4272
  }
4466
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", 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: "19.2.16", 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 });
4273
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4274
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", 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 class=\"cax-table-checkbox-container\" (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, 'cax-checkbox-checked': checked }\" (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\n #box\n [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled, 'cax-checkbox-sm': dt.fontSize === 'sm', 'cax-checkbox-md': dt.fontSize === 'md', 'cax-checkbox-lg': dt.fontSize === 'lg' || dt.fontSize === 'xl' }\"\n >\n <ng-container *ngIf=\"checked\">\n <ng-container *ngIf=\"!dt.checkboxIconTemplate\">\n <span class=\"cax cax-check cax-checkbox-icon\"></span>\n </ng-container>\n <span class=\"cax-checkbox-icon\" *ngIf=\"dt.checkboxIconTemplate\">\n <ng-template *ngTemplateOutlet=\"dt.checkboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </span>\n </ng-container>\n </div>\n </div>\n <span class=\"cax-table-row-number\" *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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4468
4275
  }
4469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableCheckbox, decorators: [{
4276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableCheckbox, decorators: [{
4470
4277
  type: Component,
4471
- args: [{ selector: 'cax-tableCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, CheckIcon], host: {
4278
+ args: [{ selector: 'cax-tableCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
4472
4279
  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" }]
4280
+ }, template: "<div class=\"cax-table-checkbox-container\" (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, 'cax-checkbox-checked': checked }\" (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\n #box\n [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': disabled, 'cax-checkbox-sm': dt.fontSize === 'sm', 'cax-checkbox-md': dt.fontSize === 'md', 'cax-checkbox-lg': dt.fontSize === 'lg' || dt.fontSize === 'xl' }\"\n >\n <ng-container *ngIf=\"checked\">\n <ng-container *ngIf=\"!dt.checkboxIconTemplate\">\n <span class=\"cax cax-check cax-checkbox-icon\"></span>\n </ng-container>\n <span class=\"cax-checkbox-icon\" *ngIf=\"dt.checkboxIconTemplate\">\n <ng-template *ngTemplateOutlet=\"dt.checkboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </span>\n </ng-container>\n </div>\n </div>\n <span class=\"cax-table-row-number\" *ngIf=\"index > -1 && !isHovered && !checked\">{{ index + 1 }}</span>\n</div>\n" }]
4474
4281
  }], ctorParameters: () => [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
4475
4282
  type: Input,
4476
4283
  args: [{ transform: booleanAttribute }]
@@ -4498,6 +4305,7 @@ class TableHeaderCheckbox {
4498
4305
  inputId;
4499
4306
  name;
4500
4307
  ariaLabel;
4308
+ required;
4501
4309
  checked;
4502
4310
  focused;
4503
4311
  selectionChangeSubscription;
@@ -4554,14 +4362,14 @@ class TableHeaderCheckbox {
4554
4362
  return ObjectUtils.isNotEmpty(selectableVal) && ObjectUtils.isNotEmpty(this.dt.selection) && selectableVal.every((v) => this.dt.selection.some((s) => this.dt.equals(v, s)));
4555
4363
  }
4556
4364
  }
4557
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", 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: "19.2.16", 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 });
4365
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableHeaderCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4366
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: TableHeaderCheckbox, isStandalone: true, selector: "cax-tableHeaderCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], inputId: "inputId", name: "name", ariaLabel: "ariaLabel", required: ["required", "required", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div class=\"cax-table-checkbox-container\">\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': isDisabled(), 'cax-checkbox-checked': checked }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input\n #cb\n type=\"checkbox\"\n [tabindex]=\"isDisabled() ? null : '0'\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"isDisabled()\"\n [attr.required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n />\n </div>\n <div\n #box\n [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': isDisabled(), 'cax-checkbox-sm': dt.fontSize === 'sm', 'cax-checkbox-md': dt.fontSize === 'md', 'cax-checkbox-lg': dt.fontSize === 'lg' || dt.fontSize === 'xl' }\"\n >\n <ng-container *ngIf=\"checked\">\n <ng-container *ngIf=\"!dt.headerCheckboxIconTemplate\">\n <span class=\"cax cax-check cax-checkbox-icon\"></span>\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 </ng-container>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4559
4367
  }
4560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableHeaderCheckbox, decorators: [{
4368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableHeaderCheckbox, decorators: [{
4561
4369
  type: Component,
4562
- args: [{ selector: 'cax-tableHeaderCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, CheckIcon], host: {
4370
+ args: [{ selector: 'cax-tableHeaderCheckbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
4563
4371
  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" }]
4372
+ }, template: "<div class=\"cax-table-checkbox-container\">\n <div class=\"cax-checkbox cax-component\" [ngClass]=\"{ 'cax-checkbox-focused': focused, 'cax-checkbox-disabled': isDisabled(), 'cax-checkbox-checked': checked }\" (click)=\"onClick($event)\">\n <div class=\"cax-hidden-accessible\">\n <input\n #cb\n type=\"checkbox\"\n [tabindex]=\"isDisabled() ? null : '0'\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"isDisabled()\"\n [attr.required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n />\n </div>\n <div\n #box\n [ngClass]=\"{ 'cax-checkbox-box cax-component': true, 'cax-highlight': checked, 'cax-focus': focused, 'cax-disabled': isDisabled(), 'cax-checkbox-sm': dt.fontSize === 'sm', 'cax-checkbox-md': dt.fontSize === 'md', 'cax-checkbox-lg': dt.fontSize === 'lg' || dt.fontSize === 'xl' }\"\n >\n <ng-container *ngIf=\"checked\">\n <ng-container *ngIf=\"!dt.headerCheckboxIconTemplate\">\n <span class=\"cax cax-check cax-checkbox-icon\"></span>\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 </ng-container>\n </div>\n </div>\n</div>\n" }]
4565
4373
  }], ctorParameters: () => [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
4566
4374
  type: Input,
4567
4375
  args: [{ transform: booleanAttribute }]
@@ -4571,6 +4379,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
4571
4379
  type: Input
4572
4380
  }], ariaLabel: [{
4573
4381
  type: Input
4382
+ }], required: [{
4383
+ type: Input,
4384
+ args: [{ transform: booleanAttribute }]
4574
4385
  }] } });
4575
4386
 
4576
4387
  class TableRadioButton {
@@ -4619,14 +4430,14 @@ class TableRadioButton {
4619
4430
  this.subscription.unsubscribe();
4620
4431
  }
4621
4432
  }
4622
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4623
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.16", 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 });
4433
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4434
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", 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
4435
  }
4625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableRadioButton, decorators: [{
4436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableRadioButton, decorators: [{
4626
4437
  type: Component,
4627
4438
  args: [{ selector: 'cax-tableRadioButton', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], host: {
4628
4439
  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" }]
4440
+ }, 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
4441
  }], ctorParameters: () => [{ type: Table }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
4631
4442
  type: Input,
4632
4443
  args: [{ transform: booleanAttribute }]
@@ -4657,10 +4468,10 @@ class CancelEditableRow {
4657
4468
  this.dt.cancelRowEdit(this.editableRow.data);
4658
4469
  event.preventDefault();
4659
4470
  }
4660
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: CancelEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4661
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: CancelEditableRow, isStandalone: true, selector: "[caxCancelEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
4471
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CancelEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4472
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: CancelEditableRow, isStandalone: true, selector: "[caxCancelEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
4662
4473
  }
4663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: CancelEditableRow, decorators: [{
4474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CancelEditableRow, decorators: [{
4664
4475
  type: Directive,
4665
4476
  args: [{
4666
4477
  selector: '[caxCancelEditableRow]',
@@ -4712,10 +4523,10 @@ class ContextMenuRow {
4712
4523
  this.subscription.unsubscribe();
4713
4524
  }
4714
4525
  }
4715
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ContextMenuRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4716
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: ContextMenuRow, isStandalone: true, selector: "[caxContextMenuRow]", inputs: { data: ["caxContextMenuRow", "data"], index: ["caxContextMenuRowIndex", "index"], caxContextMenuRowDisabled: ["caxContextMenuRowDisabled", "caxContextMenuRowDisabled", booleanAttribute] }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.cax-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "cax-element" }, ngImport: i0 });
4526
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ContextMenuRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4527
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: ContextMenuRow, isStandalone: true, selector: "[caxContextMenuRow]", inputs: { data: ["caxContextMenuRow", "data"], index: ["caxContextMenuRowIndex", "index"], caxContextMenuRowDisabled: ["caxContextMenuRowDisabled", "caxContextMenuRowDisabled", booleanAttribute] }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.cax-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "cax-element" }, ngImport: i0 });
4717
4528
  }
4718
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ContextMenuRow, decorators: [{
4529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ContextMenuRow, decorators: [{
4719
4530
  type: Directive,
4720
4531
  args: [{
4721
4532
  selector: '[caxContextMenuRow]',
@@ -4792,10 +4603,10 @@ class FrozenColumn {
4792
4603
  }
4793
4604
  }
4794
4605
  }
4795
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: FrozenColumn, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4796
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: FrozenColumn, isStandalone: true, selector: "[caxFrozenColumn]", inputs: { frozen: "frozen", alignFrozen: "alignFrozen" }, host: { listeners: { "window:resize": "recalculateColumns($event)" }, properties: { "class.cax-frozen-column": "frozen" }, classAttribute: "cax-element" }, ngImport: i0 });
4606
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: FrozenColumn, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4607
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: FrozenColumn, isStandalone: true, selector: "[caxFrozenColumn]", inputs: { frozen: "frozen", alignFrozen: "alignFrozen" }, host: { listeners: { "window:resize": "recalculateColumns($event)" }, properties: { "class.cax-frozen-column": "frozen" }, classAttribute: "cax-element" }, ngImport: i0 });
4797
4608
  }
4798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: FrozenColumn, decorators: [{
4609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: FrozenColumn, decorators: [{
4799
4610
  type: Directive,
4800
4611
  args: [{
4801
4612
  selector: '[caxFrozenColumn]',
@@ -4825,10 +4636,10 @@ class InitEditableRow {
4825
4636
  this.dt.initRowEdit(this.editableRow.data);
4826
4637
  event.preventDefault();
4827
4638
  }
4828
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: InitEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4829
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: InitEditableRow, isStandalone: true, selector: "[caxInitEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
4639
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InitEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4640
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: InitEditableRow, isStandalone: true, selector: "[caxInitEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
4830
4641
  }
4831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: InitEditableRow, decorators: [{
4642
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InitEditableRow, decorators: [{
4832
4643
  type: Directive,
4833
4644
  args: [{
4834
4645
  selector: '[caxInitEditableRow]',
@@ -4928,10 +4739,10 @@ class ReorderableColumn {
4928
4739
  ngOnDestroy() {
4929
4740
  this.unbindEvents();
4930
4741
  }
4931
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ReorderableColumn, deps: [{ token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4932
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: ReorderableColumn, isStandalone: true, selector: "[caxReorderableColumn]", inputs: { caxReorderableColumnDisabled: ["caxReorderableColumnDisabled", "caxReorderableColumnDisabled", booleanAttribute] }, host: { listeners: { "drop": "onDrop($event)" }, properties: { "style.cursor": "isEnabled() ? \"move\" : \"default\"" }, classAttribute: "cax-element" }, ngImport: i0 });
4742
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ReorderableColumn, deps: [{ token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4743
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: ReorderableColumn, isStandalone: true, selector: "[caxReorderableColumn]", inputs: { caxReorderableColumnDisabled: ["caxReorderableColumnDisabled", "caxReorderableColumnDisabled", booleanAttribute] }, host: { listeners: { "drop": "onDrop($event)" }, properties: { "style.cursor": "isEnabled() ? \"move\" : \"default\"" }, classAttribute: "cax-element" }, ngImport: i0 });
4933
4744
  }
4934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ReorderableColumn, decorators: [{
4745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ReorderableColumn, decorators: [{
4935
4746
  type: Directive,
4936
4747
  args: [{
4937
4748
  selector: '[caxReorderableColumn]',
@@ -4960,10 +4771,10 @@ class ReorderableRowHandle {
4960
4771
  ngAfterViewInit() {
4961
4772
  DomHandler.addClass(this.el.nativeElement, 'cax-datatable-reorderablerow-handle');
4962
4773
  }
4963
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ReorderableRowHandle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4964
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ReorderableRowHandle, isStandalone: true, selector: "[caxReorderableRowHandle]", host: { classAttribute: "cax-element" }, ngImport: i0 });
4774
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ReorderableRowHandle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4775
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: ReorderableRowHandle, isStandalone: true, selector: "[caxReorderableRowHandle]", host: { classAttribute: "cax-element" }, ngImport: i0 });
4965
4776
  }
4966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ReorderableRowHandle, decorators: [{
4777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ReorderableRowHandle, decorators: [{
4967
4778
  type: Directive,
4968
4779
  args: [{
4969
4780
  selector: '[caxReorderableRowHandle]',
@@ -5070,10 +4881,10 @@ class ReorderableRow {
5070
4881
  ngOnDestroy() {
5071
4882
  this.unbindEvents();
5072
4883
  }
5073
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ReorderableRow, deps: [{ token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
5074
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: ReorderableRow, isStandalone: true, selector: "[caxReorderableRow]", inputs: { index: ["caxReorderableRow", "index"], caxReorderableRowDisabled: ["caxReorderableRowDisabled", "caxReorderableRowDisabled", booleanAttribute] }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
4884
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ReorderableRow, deps: [{ token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4885
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: ReorderableRow, isStandalone: true, selector: "[caxReorderableRow]", inputs: { index: ["caxReorderableRow", "index"], caxReorderableRowDisabled: ["caxReorderableRowDisabled", "caxReorderableRowDisabled", booleanAttribute] }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
5075
4886
  }
5076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ReorderableRow, decorators: [{
4887
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ReorderableRow, decorators: [{
5077
4888
  type: Directive,
5078
4889
  args: [{
5079
4890
  selector: '[caxReorderableRow]',
@@ -5188,10 +4999,10 @@ class ResizableColumn {
5188
4999
  }
5189
5000
  this.unbindDocumentEvents();
5190
5001
  }
5191
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ResizableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
5192
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: ResizableColumn, isStandalone: true, selector: "[caxResizableColumn]", inputs: { caxResizableColumnDisabled: ["caxResizableColumnDisabled", "caxResizableColumnDisabled", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0 });
5002
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ResizableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
5003
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: ResizableColumn, isStandalone: true, selector: "[caxResizableColumn]", inputs: { caxResizableColumnDisabled: ["caxResizableColumnDisabled", "caxResizableColumnDisabled", booleanAttribute] }, host: { classAttribute: "cax-element" }, ngImport: i0 });
5193
5004
  }
5194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ResizableColumn, decorators: [{
5005
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ResizableColumn, decorators: [{
5195
5006
  type: Directive,
5196
5007
  args: [{
5197
5008
  selector: '[caxResizableColumn]',
@@ -5219,10 +5030,10 @@ class RowGroupHeader {
5219
5030
  get getFrozenRowGroupHeaderStickyPosition() {
5220
5031
  return this.dt.rowGroupHeaderStyleObject ? this.dt.rowGroupHeaderStyleObject.top : '';
5221
5032
  }
5222
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RowGroupHeader, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
5223
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: RowGroupHeader, isStandalone: true, selector: "[caxRowGroupHeader]", host: { properties: { "style.top": "getFrozenRowGroupHeaderStickyPosition" }, classAttribute: "cax-rowgroucax-header cax-element" }, ngImport: i0 });
5033
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RowGroupHeader, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
5034
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: RowGroupHeader, isStandalone: true, selector: "[caxRowGroupHeader]", host: { properties: { "style.top": "getFrozenRowGroupHeaderStickyPosition" }, classAttribute: "cax-rowgroucax-header cax-element" }, ngImport: i0 });
5224
5035
  }
5225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RowGroupHeader, decorators: [{
5036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RowGroupHeader, decorators: [{
5226
5037
  type: Directive,
5227
5038
  args: [{
5228
5039
  selector: '[caxRowGroupHeader]',
@@ -5250,10 +5061,10 @@ class RowToggler {
5250
5061
  isEnabled() {
5251
5062
  return this.caxRowTogglerDisabled !== true;
5252
5063
  }
5253
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RowToggler, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
5254
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: RowToggler, isStandalone: true, selector: "[caxRowToggler]", inputs: { data: ["caxRowToggler", "data"], caxRowTogglerDisabled: ["caxRowTogglerDisabled", "caxRowTogglerDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
5064
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RowToggler, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
5065
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: RowToggler, isStandalone: true, selector: "[caxRowToggler]", inputs: { data: ["caxRowToggler", "data"], caxRowTogglerDisabled: ["caxRowTogglerDisabled", "caxRowTogglerDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
5255
5066
  }
5256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RowToggler, decorators: [{
5067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RowToggler, decorators: [{
5257
5068
  type: Directive,
5258
5069
  args: [{
5259
5070
  selector: '[caxRowToggler]',
@@ -5284,10 +5095,10 @@ class SaveEditableRow {
5284
5095
  this.dt.saveRowEdit(this.editableRow.data, this.editableRow.el.nativeElement);
5285
5096
  event.preventDefault();
5286
5097
  }
5287
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SaveEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
5288
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: SaveEditableRow, isStandalone: true, selector: "[caxSaveEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
5098
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SaveEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
5099
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: SaveEditableRow, isStandalone: true, selector: "[caxSaveEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "cax-element" }, ngImport: i0 });
5289
5100
  }
5290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SaveEditableRow, decorators: [{
5101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SaveEditableRow, decorators: [{
5291
5102
  type: Directive,
5292
5103
  args: [{
5293
5104
  selector: '[caxSaveEditableRow]',
@@ -5340,10 +5151,10 @@ class SelectableRowDblClick {
5340
5151
  this.subscription.unsubscribe();
5341
5152
  }
5342
5153
  }
5343
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SelectableRowDblClick, deps: [{ token: Table }, { token: TableService }], target: i0.ɵɵFactoryTarget.Directive });
5344
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: SelectableRowDblClick, isStandalone: true, selector: "[caxSelectableRowDblClick]", inputs: { data: ["caxSelectableRowDblClick", "data"], index: ["caxSelectableRowIndex", "index"], caxSelectableRowDisabled: ["caxSelectableRowDisabled", "caxSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.cax-selectable-row": "isEnabled()", "class.cax-highlight": "selected" }, classAttribute: "cax-element" }, ngImport: i0 });
5154
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SelectableRowDblClick, deps: [{ token: Table }, { token: TableService }], target: i0.ɵɵFactoryTarget.Directive });
5155
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: SelectableRowDblClick, isStandalone: true, selector: "[caxSelectableRowDblClick]", inputs: { data: ["caxSelectableRowDblClick", "data"], index: ["caxSelectableRowIndex", "index"], caxSelectableRowDisabled: ["caxSelectableRowDisabled", "caxSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.cax-selectable-row": "isEnabled()", "class.cax-highlight": "selected" }, classAttribute: "cax-element" }, ngImport: i0 });
5345
5156
  }
5346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SelectableRowDblClick, decorators: [{
5157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SelectableRowDblClick, decorators: [{
5347
5158
  type: Directive,
5348
5159
  args: [{
5349
5160
  selector: '[caxSelectableRowDblClick]',
@@ -5568,10 +5379,10 @@ class SelectableRow {
5568
5379
  this.subscription.unsubscribe();
5569
5380
  }
5570
5381
  }
5571
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SelectableRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5572
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: SelectableRow, isStandalone: true, selector: "[caxSelectableRow]", inputs: { data: ["caxSelectableRow", "data"], index: ["caxSelectableRowIndex", "index"], caxSelectableRowDisabled: ["caxSelectableRowDisabled", "caxSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "touchend": "onTouchEnd($event)", "keydown": "onKeyDown($event)" }, properties: { "class.cax-selectable-row": "isEnabled()", "class.cax-highlight": "selected", "attr.tabindex": "setRowTabIndex()", "attr.data-cax-highlight": "selected", "attr.data-cax-selectable-row": "true" }, classAttribute: "cax-element" }, ngImport: i0 });
5382
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SelectableRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5383
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: SelectableRow, isStandalone: true, selector: "[caxSelectableRow]", inputs: { data: ["caxSelectableRow", "data"], index: ["caxSelectableRowIndex", "index"], caxSelectableRowDisabled: ["caxSelectableRowDisabled", "caxSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "touchend": "onTouchEnd($event)", "keydown": "onKeyDown($event)" }, properties: { "class.cax-selectable-row": "isEnabled()", "class.cax-highlight": "selected", "attr.tabindex": "setRowTabIndex()", "attr.data-cax-highlight": "selected", "attr.data-cax-selectable-row": "true" }, classAttribute: "cax-element" }, ngImport: i0 });
5573
5384
  }
5574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SelectableRow, decorators: [{
5385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SelectableRow, decorators: [{
5575
5386
  type: Directive,
5576
5387
  args: [{
5577
5388
  selector: '[caxSelectableRow]',
@@ -5657,10 +5468,10 @@ class SortableColumn {
5657
5468
  this.subscription.unsubscribe();
5658
5469
  }
5659
5470
  }
5660
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SortableColumn, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
5661
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: SortableColumn, isStandalone: true, selector: "[caxSortableColumn]", inputs: { field: ["caxSortableColumn", "field"], caxSortableColumnDisabled: ["caxSortableColumnDisabled", "caxSortableColumnDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown.space": "onEnterKey($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class.cax-sortable-column": "isEnabled()", "class.cax-highlight": "sorted", "attr.tabindex": "isEnabled() ? \"0\" : null", "attr.role": "\"columnheader\"", "attr.aria-sort": "sortOrder" }, classAttribute: "cax-element" }, ngImport: i0 });
5471
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SortableColumn, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
5472
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.21", type: SortableColumn, isStandalone: true, selector: "[caxSortableColumn]", inputs: { field: ["caxSortableColumn", "field"], caxSortableColumnDisabled: ["caxSortableColumnDisabled", "caxSortableColumnDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown.space": "onEnterKey($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class.cax-sortable-column": "isEnabled()", "class.cax-highlight": "sorted", "attr.tabindex": "isEnabled() ? \"0\" : null", "attr.role": "\"columnheader\"", "attr.aria-sort": "sortOrder" }, classAttribute: "cax-element" }, ngImport: i0 });
5662
5473
  }
5663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: SortableColumn, decorators: [{
5474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: SortableColumn, decorators: [{
5664
5475
  type: Directive,
5665
5476
  args: [{
5666
5477
  selector: '[caxSortableColumn]',
@@ -5703,15 +5514,17 @@ class DynamicColumnWidth {
5703
5514
  ngOnInit() {
5704
5515
  if (this.minWidth) {
5705
5516
  this.renderer.setStyle(this.el.nativeElement, 'min-width', this.minWidth);
5517
+ this.renderer.setStyle(this.el.nativeElement, '--cax-column-min-width', this.minWidth);
5706
5518
  }
5707
5519
  if (this.maxWidth) {
5708
5520
  this.renderer.setStyle(this.el.nativeElement, 'max-width', this.maxWidth);
5521
+ this.renderer.setStyle(this.el.nativeElement, '--cax-column-max-width', this.maxWidth);
5709
5522
  }
5710
5523
  }
5711
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicColumnWidth, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
5712
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: DynamicColumnWidth, isStandalone: true, selector: "[caxColumnWidth]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, ngImport: i0 });
5524
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: DynamicColumnWidth, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
5525
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: DynamicColumnWidth, isStandalone: true, selector: "[caxColumnWidth]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, ngImport: i0 });
5713
5526
  }
5714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicColumnWidth, decorators: [{
5527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: DynamicColumnWidth, decorators: [{
5715
5528
  type: Directive,
5716
5529
  args: [{
5717
5530
  selector: '[caxColumnWidth]',
@@ -5731,23 +5544,23 @@ class CellHighlightDirective {
5731
5544
  this.el = el;
5732
5545
  this.renderer = renderer;
5733
5546
  }
5734
- ngOnInit() {
5735
- if (this.caxCellHighlight === 'error')
5736
- this.renderer.addClass(this.el.nativeElement, 'cax-cell-background-error');
5737
- }
5738
- onMouseEnter() {
5739
- this.renderer.addClass(this.el.nativeElement, this.getHighlightClass());
5740
- }
5741
- onMouseLeave() {
5742
- this.renderer.removeClass(this.el.nativeElement, this.getHighlightClass());
5547
+ ngOnChanges(changes) {
5548
+ if (changes['caxCellHighlight']) {
5549
+ this.updateClasses(changes['caxCellHighlight'].previousValue, changes['caxCellHighlight'].currentValue);
5550
+ }
5743
5551
  }
5744
- getHighlightClass() {
5745
- return this.caxCellHighlight === 'error' ? 'cax-cell-highlight-error' : 'cax-cell-highlight-default';
5552
+ updateClasses(oldValue, newValue) {
5553
+ if (oldValue === 'error') {
5554
+ this.renderer.removeClass(this.el.nativeElement, 'cax-cell-background-error');
5555
+ }
5556
+ if (newValue === 'error') {
5557
+ this.renderer.addClass(this.el.nativeElement, 'cax-cell-background-error');
5558
+ }
5746
5559
  }
5747
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: CellHighlightDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
5748
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: CellHighlightDirective, isStandalone: true, selector: "[caxCellHighlight]", inputs: { caxCellHighlight: "caxCellHighlight" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
5560
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CellHighlightDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
5561
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: CellHighlightDirective, isStandalone: true, selector: "[caxCellHighlight]", inputs: { caxCellHighlight: "caxCellHighlight" }, usesOnChanges: true, ngImport: i0 });
5749
5562
  }
5750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: CellHighlightDirective, decorators: [{
5563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CellHighlightDirective, decorators: [{
5751
5564
  type: Directive,
5752
5565
  args: [{
5753
5566
  selector: '[caxCellHighlight]',
@@ -5755,17 +5568,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
5755
5568
  }]
5756
5569
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { caxCellHighlight: [{
5757
5570
  type: Input
5758
- }], onMouseEnter: [{
5759
- type: HostListener,
5760
- args: ['mouseenter']
5761
- }], onMouseLeave: [{
5762
- type: HostListener,
5763
- args: ['mouseleave']
5571
+ }] } });
5572
+
5573
+ class CaxCellExtendDirective {
5574
+ el;
5575
+ renderer;
5576
+ lineClamp;
5577
+ constructor(el, renderer) {
5578
+ this.el = el;
5579
+ this.renderer = renderer;
5580
+ }
5581
+ ngOnChanges(changes) {
5582
+ if (changes['lineClamp']) {
5583
+ this.updateLineClamp();
5584
+ }
5585
+ }
5586
+ ngAfterViewInit() {
5587
+ const nativeElement = this.el.nativeElement;
5588
+ const isCell = nativeElement.tagName === 'TD' || nativeElement.tagName === 'TH';
5589
+ // Use setTimeout to ensure the DOM is ready and styles are applied
5590
+ setTimeout(() => {
5591
+ if (isCell) {
5592
+ this.renderer.setStyle(nativeElement, 'white-space', 'normal', 1 /* Important */);
5593
+ this.wrapContent(nativeElement);
5594
+ }
5595
+ else {
5596
+ // If it's not a cell (e.g., a div inside a template),
5597
+ // just apply the class directly to the host element
5598
+ this.renderer.addClass(nativeElement, 'cax-cell-extend-wrapper');
5599
+ }
5600
+ this.updateLineClamp();
5601
+ });
5602
+ }
5603
+ wrapContent(nativeElement) {
5604
+ // Prevent double wrapping
5605
+ if (nativeElement.querySelector('.cax-cell-extend-wrapper')) {
5606
+ return;
5607
+ }
5608
+ const wrapper = this.renderer.createElement('div');
5609
+ this.renderer.addClass(wrapper, 'cax-cell-extend-wrapper');
5610
+ // Move all children of the cell into the wrapper
5611
+ while (nativeElement.firstChild) {
5612
+ this.renderer.appendChild(wrapper, nativeElement.firstChild);
5613
+ }
5614
+ this.renderer.appendChild(nativeElement, wrapper);
5615
+ }
5616
+ updateLineClamp() {
5617
+ const nativeElement = this.el.nativeElement;
5618
+ const wrapper = nativeElement.querySelector('.cax-cell-extend-wrapper');
5619
+ if (wrapper) {
5620
+ // If a specific value is passed to the directive, use it.
5621
+ // Otherwise, it will fall back to the CSS variable defined in the theme.
5622
+ if (this.lineClamp !== undefined && this.lineClamp !== null && this.lineClamp !== '') {
5623
+ this.renderer.setStyle(wrapper, '-webkit-line-clamp', this.lineClamp);
5624
+ this.renderer.setStyle(wrapper, 'line-clamp', this.lineClamp);
5625
+ }
5626
+ else {
5627
+ this.renderer.removeStyle(wrapper, '-webkit-line-clamp');
5628
+ this.renderer.removeStyle(wrapper, 'line-clamp');
5629
+ }
5630
+ }
5631
+ }
5632
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CaxCellExtendDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
5633
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: CaxCellExtendDirective, isStandalone: true, selector: "[caxCellExtend]", inputs: { lineClamp: ["caxCellExtend", "lineClamp"] }, usesOnChanges: true, ngImport: i0 });
5634
+ }
5635
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: CaxCellExtendDirective, decorators: [{
5636
+ type: Directive,
5637
+ args: [{
5638
+ selector: '[caxCellExtend]',
5639
+ standalone: true
5640
+ }]
5641
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { lineClamp: [{
5642
+ type: Input,
5643
+ args: ['caxCellExtend']
5764
5644
  }] } });
5765
5645
 
5766
5646
  class TableModule {
5767
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5768
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: TableModule, imports: [Table,
5647
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5648
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: TableModule, imports: [Table,
5769
5649
  SortableColumn,
5770
5650
  FrozenColumn,
5771
5651
  RowGroupHeader,
@@ -5790,7 +5670,8 @@ class TableModule {
5790
5670
  CancelEditableRow,
5791
5671
  ColumnFilter,
5792
5672
  DynamicColumnWidth,
5793
- CellHighlightDirective], exports: [Table,
5673
+ CellHighlightDirective,
5674
+ CaxCellExtendDirective], exports: [Table,
5794
5675
  SharedModule,
5795
5676
  SortableColumn,
5796
5677
  FrozenColumn,
@@ -5816,8 +5697,9 @@ class TableModule {
5816
5697
  ColumnFilter,
5817
5698
  ScrollerModule,
5818
5699
  DynamicColumnWidth,
5819
- CellHighlightDirective] });
5820
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableModule, imports: [Table,
5700
+ CellHighlightDirective,
5701
+ CaxCellExtendDirective] });
5702
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableModule, imports: [Table,
5821
5703
  CellEditor,
5822
5704
  TableBody,
5823
5705
  SortIcon,
@@ -5827,7 +5709,7 @@ class TableModule {
5827
5709
  ColumnFilter, SharedModule,
5828
5710
  ScrollerModule] });
5829
5711
  }
5830
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TableModule, decorators: [{
5712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TableModule, decorators: [{
5831
5713
  type: NgModule,
5832
5714
  args: [{
5833
5715
  imports: [
@@ -5856,7 +5738,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
5856
5738
  CancelEditableRow,
5857
5739
  ColumnFilter,
5858
5740
  DynamicColumnWidth,
5859
- CellHighlightDirective
5741
+ CellHighlightDirective,
5742
+ CaxCellExtendDirective
5860
5743
  ],
5861
5744
  exports: [
5862
5745
  Table,
@@ -5885,7 +5768,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
5885
5768
  ColumnFilter,
5886
5769
  ScrollerModule,
5887
5770
  DynamicColumnWidth,
5888
- CellHighlightDirective
5771
+ CellHighlightDirective,
5772
+ CaxCellExtendDirective
5889
5773
  ]
5890
5774
  }]
5891
5775
  }] });
@@ -5894,5 +5778,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
5894
5778
  * Generated bundle index. Do not edit.
5895
5779
  */
5896
5780
 
5897
- export { CancelEditableRow, CellEditor, CellHighlightDirective, ColumnFilter, ColumnFilterFormElement, ContextMenuRow, DynamicColumnWidth, EditableColumn, EditableRow, FrozenColumn, InitEditableRow, ReorderableColumn, ReorderableRow, ReorderableRowHandle, ResizableColumn, RowGroupHeader, RowToggler, SaveEditableRow, SelectableRow, SelectableRowDblClick, SortIcon, SortableColumn, Table, TableBody, TableCheckbox, TableHeaderCheckbox, TableModule, TableRadioButton };
5781
+ export { CancelEditableRow, CaxCellExtendDirective, CellEditor, CellHighlightDirective, ColumnFilter, ColumnFilterFormElement, ContextMenuRow, DynamicColumnWidth, EditableColumn, EditableRow, FrozenColumn, InitEditableRow, ReorderableColumn, ReorderableRow, ReorderableRowHandle, ResizableColumn, RowGroupHeader, RowToggler, SaveEditableRow, SelectableRow, SelectableRowDblClick, SortIcon, SortableColumn, Table, TableBody, TableCheckbox, TableHeaderCheckbox, TableModule, TableRadioButton };
5898
5782
  //# sourceMappingURL=cax-design-system-table.mjs.map