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
@@ -32,12 +32,16 @@ class RadioControlRegistry {
32
32
  if (!controlPair[0].control) {
33
33
  return false;
34
34
  }
35
- return controlPair[0].control.root === accessor.control.control.root && controlPair[1].name === accessor.name;
35
+ const accessorControl = accessor.control;
36
+ if (!accessorControl || !accessorControl.control) {
37
+ return false;
38
+ }
39
+ return controlPair[0].control.root === accessorControl.control.root && controlPair[1].name === accessor.name;
36
40
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
39
43
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioControlRegistry, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioControlRegistry, decorators: [{
41
45
  type: Injectable,
42
46
  args: [{
43
47
  providedIn: 'root'
@@ -150,6 +154,7 @@ class RadioButton {
150
154
  onModelTouched = () => { };
151
155
  checked;
152
156
  focused;
157
+ isFocusVisible = true;
153
158
  control;
154
159
  constructor(cd, injector, registry, config) {
155
160
  this.cd = cd;
@@ -158,9 +163,11 @@ class RadioButton {
158
163
  this.config = config;
159
164
  }
160
165
  ngOnInit() {
161
- this.control = this.injector.get(NgControl);
166
+ this.control = this.injector.get(NgControl, null);
162
167
  this.checkName();
163
- this.registry.add(this.control, this);
168
+ if (this.control) {
169
+ this.registry.add(this.control, this);
170
+ }
164
171
  }
165
172
  handleClick(event, radioButton, focus) {
166
173
  event.preventDefault();
@@ -169,6 +176,8 @@ class RadioButton {
169
176
  }
170
177
  this.select(event);
171
178
  if (focus) {
179
+ this.focused = false;
180
+ this.isFocusVisible = false;
172
181
  radioButton.focus();
173
182
  }
174
183
  }
@@ -199,11 +208,14 @@ class RadioButton {
199
208
  this.cd.markForCheck();
200
209
  }
201
210
  onInputFocus(event) {
202
- this.focused = true;
211
+ if (this.isFocusVisible) {
212
+ this.focused = true;
213
+ }
203
214
  this.onFocus.emit(event);
204
215
  }
205
216
  onInputBlur(event) {
206
217
  this.focused = false;
218
+ this.isFocusVisible = true;
207
219
  this.onModelTouched();
208
220
  this.onBlur.emit(event);
209
221
  }
@@ -231,14 +243,14 @@ class RadioButton {
231
243
  must match. Ex: <cax-radioButton formControlName="food" name="food"></cax-radioButton>
232
244
  `);
233
245
  }
234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: RadioControlRegistry }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.16", type: RadioButton, isStandalone: true, selector: "cax-radioButton", inputs: { value: "value", size: "size", formControlName: "formControlName", name: "name", disabled: ["disabled", "disabled", booleanAttribute], label: "label", variant: "variant", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-radiobutton cax-component': true,\r\n 'cax-radiobutton-checked': checked,\r\n 'cax-radiobutton-disabled': disabled,\r\n 'cax-radiobutton-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\r\n 'cax-radiobutton-sm': size === 'sm',\r\n 'cax-radiobutton-md': size === 'md' || !size,\r\n 'cax-radiobutton-lg': size === 'lg'\r\n }\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'radiobutton'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (click)=\"handleClick($event, input, true)\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"radio\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [value]=\"value\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-checked]=\"checked\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\r\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"select($event)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\r\n 'cax-radiobutton-label-md': size === 'md' || !size,\r\n 'cax-radiobutton-label-lg': size === 'lg' }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >{{ label }}</label\r\n>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AutoFocusModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: RadioControlRegistry }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
247
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: RadioButton, isStandalone: true, selector: "cax-radioButton", inputs: { value: "value", size: "size", formControlName: "formControlName", name: "name", disabled: ["disabled", "disabled", booleanAttribute], label: "label", variant: "variant", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-radiobutton cax-component': true,\n 'cax-radiobutton-checked': checked,\n 'cax-radiobutton-disabled': disabled,\n 'cax-radiobutton-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\n 'cax-radiobutton-sm': size === 'sm',\n 'cax-radiobutton-md': size === 'md' || !size,\n 'cax-radiobutton-lg': size === 'lg'\n }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'radiobutton'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"handleClick($event, input, true)\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"radio\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-checked]=\"checked\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\n </div>\n</div>\n<label\n (click)=\"select($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm cax-text-action-sm-semibold': size === 'sm',\n 'cax-radiobutton-label-md cax-text-action-md-semibold': size === 'md' || !size,\n 'cax-radiobutton-label-lg cax-text-action-lg-semibold': size === 'lg' }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >{{ label }}</label\n>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AutoFocusModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
236
248
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioButton, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioButton, decorators: [{
238
250
  type: Component,
239
251
  args: [{ selector: 'cax-radioButton', providers: [RADIO_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, AutoFocusModule], host: {
240
252
  class: 'cax-element'
241
- }, template: "<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-radiobutton cax-component': true,\r\n 'cax-radiobutton-checked': checked,\r\n 'cax-radiobutton-disabled': disabled,\r\n 'cax-radiobutton-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\r\n 'cax-radiobutton-sm': size === 'sm',\r\n 'cax-radiobutton-md': size === 'md' || !size,\r\n 'cax-radiobutton-lg': size === 'lg'\r\n }\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'radiobutton'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (click)=\"handleClick($event, input, true)\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"radio\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [value]=\"value\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-checked]=\"checked\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\r\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"select($event)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\r\n 'cax-radiobutton-label-md': size === 'md' || !size,\r\n 'cax-radiobutton-label-lg': size === 'lg' }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >{{ label }}</label\r\n>\r\n" }]
253
+ }, template: "<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-radiobutton cax-component': true,\n 'cax-radiobutton-checked': checked,\n 'cax-radiobutton-disabled': disabled,\n 'cax-radiobutton-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\n 'cax-radiobutton-sm': size === 'sm',\n 'cax-radiobutton-md': size === 'md' || !size,\n 'cax-radiobutton-lg': size === 'lg'\n }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'radiobutton'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"handleClick($event, input, true)\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"radio\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-checked]=\"checked\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\n </div>\n</div>\n<label\n (click)=\"select($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm cax-text-action-sm-semibold': size === 'sm',\n 'cax-radiobutton-label-md cax-text-action-md-semibold': size === 'md' || !size,\n 'cax-radiobutton-label-lg cax-text-action-lg-semibold': size === 'lg' }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >{{ label }}</label\n>\n" }]
242
254
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: RadioControlRegistry }, { type: i1.caxConfig }], propDecorators: { value: [{
243
255
  type: Input
244
256
  }], size: [{
@@ -284,11 +296,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
284
296
  }] } });
285
297
 
286
298
  class RadioButtonModule {
287
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
288
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: RadioButtonModule, imports: [RadioButton], exports: [RadioButton] });
289
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioButtonModule, imports: [RadioButton] });
299
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
300
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: RadioButtonModule, imports: [RadioButton], exports: [RadioButton] });
301
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioButtonModule, imports: [RadioButton] });
290
302
  }
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RadioButtonModule, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RadioButtonModule, decorators: [{
292
304
  type: NgModule,
293
305
  args: [{
294
306
  imports: [RadioButton],
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-radiobutton.mjs","sources":["../../src/app/components/radiobutton/radiobutton.ts","../../src/app/components/radiobutton/radiobutton.html","../../src/app/components/radiobutton/radiobutton.module.ts","../../src/app/components/radiobutton/cax-design-system-radiobutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injectable, Injector, Input, NgModule, OnDestroy, OnInit, Output, ViewChild, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\n\nimport { RadioButtonClickEvent } from './radiobutton.interface';\nimport { caxConfig } from 'cax-design-system/api';\n\nexport const RADIO_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButton),\n multi: true\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadioControlRegistry {\n private accessors: any[] = [];\n\n add(control: NgControl, accessor: RadioButton) {\n this.accessors.push([control, accessor]);\n }\n\n remove(accessor: RadioButton) {\n this.accessors = this.accessors.filter((c) => {\n return c[1] !== accessor;\n });\n }\n\n select(accessor: RadioButton) {\n this.accessors.forEach((c) => {\n if (this.isSameGroup(c, accessor) && c[1] !== accessor) {\n c[1].writeValue(accessor.value);\n }\n });\n }\n\n private isSameGroup(controlPair: [NgControl, RadioButton], accessor: RadioButton): boolean {\n if (!controlPair[0].control) {\n return false;\n }\n\n return controlPair[0].control.root === (accessor as any).control.control.root && controlPair[1].name === accessor.name;\n }\n}\n/**\n * RadioButton is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n selector: 'cax-radioButton',\n templateUrl: './radiobutton.html',\n providers: [RADIO_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, AutoFocusModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class RadioButton implements ControlValueAccessor, OnInit, OnDestroy {\n /**\n * Value of the radiobutton.\n * @group Props\n */\n @Input() value: any;\n /**\n * Size of the radiobutton.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * The name of the form control.\n * @group Props\n */\n @Input() formControlName: string | undefined;\n /**\n * Name of the radiobutton group.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Label of the radiobutton.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Callback to invoke on radio button click.\n * @param {RadioButtonClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<RadioButtonClickEvent> = new EventEmitter<RadioButtonClickEvent>();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild!: ElementRef;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public checked: Nullable<boolean>;\n\n public focused: Nullable<boolean>;\n\n control: Nullable<NgControl>;\n\n constructor(\n public cd: ChangeDetectorRef,\n private injector: Injector,\n private registry: RadioControlRegistry,\n public config: caxConfig\n ) {}\n\n ngOnInit() {\n this.control = this.injector.get(NgControl);\n this.checkName();\n this.registry.add(this.control, this);\n }\n\n handleClick(event: Event, radioButton: HTMLElement, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n this.select(event);\n\n if (focus) {\n radioButton.focus();\n }\n }\n\n select(event: Event) {\n if (!this.disabled) {\n this.inputViewChild.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.registry.select(this);\n this.onClick.emit({ originalEvent: event, value: this.value });\n }\n }\n\n writeValue(value: any): void {\n this.checked = value == this.value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n this.inputViewChild.nativeElement.checked = this.checked;\n }\n\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n /**\n * Applies focus to input field.\n * @group Method\n */\n public focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n\n private checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this.throwNameError();\n }\n if (!this.name && this.formControlName) {\n this.name = this.formControlName;\n }\n }\n\n private throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <cax-radioButton formControlName=\"food\" name=\"food\"></cax-radioButton>\n `);\n }\n}\n","<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-radiobutton cax-component': true,\r\n 'cax-radiobutton-checked': checked,\r\n 'cax-radiobutton-disabled': disabled,\r\n 'cax-radiobutton-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\r\n 'cax-radiobutton-sm': size === 'sm',\r\n 'cax-radiobutton-md': size === 'md' || !size,\r\n 'cax-radiobutton-lg': size === 'lg'\r\n }\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'radiobutton'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (click)=\"handleClick($event, input, true)\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"radio\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [value]=\"value\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-checked]=\"checked\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\r\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"select($event)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\r\n 'cax-radiobutton-label-md': size === 'md' || !size,\r\n 'cax-radiobutton-label-lg': size === 'lg' }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >{{ label }}</label\r\n>\r\n","import { NgModule } from '@angular/core';\nimport { RadioButton } from './radiobutton';\n\n@NgModule({\n imports: [RadioButton],\n exports: [RadioButton]\n})\nexport class RadioButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-radiobutton.mjs","sources":["../../src/app/components/radiobutton/radiobutton.ts","../../src/app/components/radiobutton/radiobutton.html","../../src/app/components/radiobutton/radiobutton.module.ts","../../src/app/components/radiobutton/cax-design-system-radiobutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injectable, Injector, Input, NgModule, OnDestroy, OnInit, Output, ViewChild, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\n\nimport { RadioButtonClickEvent } from './radiobutton.interface';\nimport { caxConfig } from 'cax-design-system/api';\n\nexport const RADIO_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButton),\n multi: true\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadioControlRegistry {\n private accessors: any[] = [];\n\n add(control: NgControl, accessor: RadioButton) {\n this.accessors.push([control, accessor]);\n }\n\n remove(accessor: RadioButton) {\n this.accessors = this.accessors.filter((c) => {\n return c[1] !== accessor;\n });\n }\n\n select(accessor: RadioButton) {\n this.accessors.forEach((c) => {\n if (this.isSameGroup(c, accessor) && c[1] !== accessor) {\n c[1].writeValue(accessor.value);\n }\n });\n }\n\n private isSameGroup(controlPair: [NgControl, RadioButton], accessor: RadioButton): boolean {\n if (!controlPair[0].control) {\n return false;\n }\n\n const accessorControl = (accessor as any).control;\n if (!accessorControl || !accessorControl.control) {\n return false;\n }\n\n return controlPair[0].control.root === accessorControl.control.root && controlPair[1].name === accessor.name;\n }\n}\n/**\n * RadioButton is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n selector: 'cax-radioButton',\n templateUrl: './radiobutton.html',\n providers: [RADIO_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, AutoFocusModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class RadioButton implements ControlValueAccessor, OnInit, OnDestroy {\n /**\n * Value of the radiobutton.\n * @group Props\n */\n @Input() value: any;\n /**\n * Size of the radiobutton.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * The name of the form control.\n * @group Props\n */\n @Input() formControlName: string | undefined;\n /**\n * Name of the radiobutton group.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Label of the radiobutton.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Callback to invoke on radio button click.\n * @param {RadioButtonClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<RadioButtonClickEvent> = new EventEmitter<RadioButtonClickEvent>();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild!: ElementRef;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public checked: Nullable<boolean>;\n\n public focused: Nullable<boolean>;\n\n public isFocusVisible: boolean = true;\n\n control: Nullable<NgControl>;\n\n constructor(\n public cd: ChangeDetectorRef,\n private injector: Injector,\n private registry: RadioControlRegistry,\n public config: caxConfig\n ) {}\n\n ngOnInit() {\n this.control = this.injector.get(NgControl, null);\n this.checkName();\n if (this.control) {\n this.registry.add(this.control, this);\n }\n }\n\n handleClick(event: Event, radioButton: HTMLElement, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n this.select(event);\n\n if (focus) {\n this.focused = false;\n this.isFocusVisible = false;\n radioButton.focus();\n }\n }\n\n select(event: Event) {\n if (!this.disabled) {\n this.inputViewChild.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.registry.select(this);\n this.onClick.emit({ originalEvent: event, value: this.value });\n }\n }\n\n writeValue(value: any): void {\n this.checked = value == this.value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n this.inputViewChild.nativeElement.checked = this.checked;\n }\n\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onInputFocus(event: Event) {\n if (this.isFocusVisible) {\n this.focused = true;\n }\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.isFocusVisible = true;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n /**\n * Applies focus to input field.\n * @group Method\n */\n public focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n\n private checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this.throwNameError();\n }\n if (!this.name && this.formControlName) {\n this.name = this.formControlName;\n }\n }\n\n private throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <cax-radioButton formControlName=\"food\" name=\"food\"></cax-radioButton>\n `);\n }\n}\n","<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-radiobutton cax-component': true,\n 'cax-radiobutton-checked': checked,\n 'cax-radiobutton-disabled': disabled,\n 'cax-radiobutton-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\n 'cax-radiobutton-sm': size === 'sm',\n 'cax-radiobutton-md': size === 'md' || !size,\n 'cax-radiobutton-lg': size === 'lg'\n }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'radiobutton'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"handleClick($event, input, true)\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"radio\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-checked]=\"checked\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\n </div>\n</div>\n<label\n (click)=\"select($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm cax-text-action-sm-semibold': size === 'sm',\n 'cax-radiobutton-label-md cax-text-action-md-semibold': size === 'md' || !size,\n 'cax-radiobutton-label-lg cax-text-action-lg-semibold': size === 'lg' }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >{{ label }}</label\n>\n","import { NgModule } from '@angular/core';\nimport { RadioButton } from './radiobutton';\n\n@NgModule({\n imports: [RadioButton],\n exports: [RadioButton]\n})\nexport class RadioButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -204,8 +204,8 @@ class Rating {
204
204
  get isCustomIcon() {
205
205
  return this.templates && this.templates.length > 0;
206
206
  }
207
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Rating, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
208
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.16", type: Rating, isStandalone: false, selector: "p-rating", inputs: { disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], stars: ["stars", "stars", numberAttribute], cancel: ["cancel", "cancel", booleanAttribute], iconOnClass: "iconOnClass", iconOnStyle: "iconOnStyle", iconOffClass: "iconOffClass", iconOffStyle: "iconOffStyle", iconCancelClass: "iconCancelClass", iconCancelStyle: "iconCancelStyle", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onRate: "onRate", onCancel: "onCancel", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [RATING_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: `
207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Rating, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
208
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: Rating, isStandalone: false, selector: "p-rating", inputs: { disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], stars: ["stars", "stars", numberAttribute], cancel: ["cancel", "cancel", booleanAttribute], iconOnClass: "iconOnClass", iconOnStyle: "iconOnStyle", iconOffClass: "iconOffClass", iconOffStyle: "iconOffStyle", iconCancelClass: "iconCancelClass", iconCancelStyle: "iconCancelStyle", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onRate: "onRate", onCancel: "onCancel", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [RATING_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: `
209
209
  <div class="p-rating" [ngClass]="{ 'p-readonly': readonly, 'p-disabled': disabled }" [attr.data-pc-name]="'rating'" [attr.data-pc-section]="'root'">
210
210
  <ng-container *ngIf="!isCustomIcon; else customTemplate">
211
211
  <div *ngIf="cancel" [attr.data-pc-section]="'cancelItem'" (click)="onOptionClick($event, 0)" [ngClass]="{ 'p-focus': focusedOptionIndex() === 0 && isFocusVisibleItem }" class="p-rating-item p-rating-cancel-item">
@@ -268,7 +268,7 @@ class Rating {
268
268
  </div>
269
269
  `, isInline: true, styles: ["@layer cax{.p-rating{display:inline-flex;position:relative;align-items:center}.p-rating-icon{cursor:pointer}.p-rating.p-rating-readonly .p-rating-icon{cursor:default}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => StarFillIcon), selector: "StarFillIcon" }, { kind: "component", type: i0.forwardRef(() => StarIcon), selector: "StarIcon" }, { kind: "component", type: i0.forwardRef(() => BanIcon), selector: "BanIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
270
270
  }
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Rating, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Rating, decorators: [{
272
272
  type: Component,
273
273
  args: [{ selector: 'p-rating', template: `
274
274
  <div class="p-rating" [ngClass]="{ 'p-readonly': readonly, 'p-disabled': disabled }" [attr.data-pc-name]="'rating'" [attr.data-pc-section]="'root'">
@@ -374,11 +374,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
374
374
  args: [CaxTemplate]
375
375
  }] } });
376
376
  class RatingModule {
377
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
378
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: RatingModule, declarations: [Rating], imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon], exports: [Rating, SharedModule] });
379
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RatingModule, imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon, SharedModule] });
377
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
378
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: RatingModule, declarations: [Rating], imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon], exports: [Rating, SharedModule] });
379
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RatingModule, imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon, SharedModule] });
380
380
  }
381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RatingModule, decorators: [{
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RatingModule, decorators: [{
382
382
  type: NgModule,
383
383
  args: [{
384
384
  imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon],
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-rating.mjs","sources":["../../src/app/components/rating/rating.ts","../../src/app/components/rating/cax-design-system-rating.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, forwardRef, Input, NgModule, numberAttribute, OnInit, Output, QueryList, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { BanIcon } from 'cax-design-system/icons/ban';\nimport { StarIcon } from 'cax-design-system/icons/star';\nimport { StarFillIcon } from 'cax-design-system/icons/starfill';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { RatingRateEvent } from './rating.interface';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { UniqueComponentId } from 'cax-design-system/utils';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\n\nexport const RATING_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Rating),\n multi: true\n};\n/**\n * Rating is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n selector: 'p-rating',\n template: `\n <div class=\"p-rating\" [ngClass]=\"{ 'p-readonly': readonly, 'p-disabled': disabled }\" [attr.data-pc-name]=\"'rating'\" [attr.data-pc-section]=\"'root'\">\n <ng-container *ngIf=\"!isCustomIcon; else customTemplate\">\n <div *ngIf=\"cancel\" [attr.data-pc-section]=\"'cancelItem'\" (click)=\"onOptionClick($event, 0)\" [ngClass]=\"{ 'p-focus': focusedOptionIndex() === 0 && isFocusVisibleItem }\" class=\"p-rating-item p-rating-cancel-item\">\n <span class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n type=\"radio\"\n value=\"0\"\n [name]=\"name\"\n [checked]=\"value === 0\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"cancelAriaLabel()\"\n (focus)=\"onInputFocus($event, 0)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onChange($event, 0)\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </span>\n <span *ngIf=\"iconCancelClass\" class=\"p-rating-icon p-rating-cancel\" [ngClass]=\"iconCancelClass\" [ngStyle]=\"iconCancelStyle\"></span>\n <BanIcon *ngIf=\"!iconCancelClass\" [styleClass]=\"'p-rating-icon p-rating-cancel'\" [ngStyle]=\"iconCancelStyle\" [attr.data-pc-section]=\"'cancelIcon'\" />\n </div>\n <ng-template ngFor [ngForOf]=\"starsArray\" let-star let-i=\"index\">\n <div class=\"p-rating-item\" [ngClass]=\"{ 'p-rating-item-active': star + 1 <= value, 'p-focus': star + 1 === focusedOptionIndex() && isFocusVisibleItem }\" (click)=\"onOptionClick($event, star + 1)\">\n <span class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n type=\"radio\"\n value=\"0\"\n [name]=\"name\"\n [checked]=\"value === 0\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"starAriaLabel(star + 1)\"\n (focus)=\"onInputFocus($event, star + 1)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onChange($event, star + 1)\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </span>\n <ng-container *ngIf=\"!value || i >= value\">\n <span class=\"p-rating-icon\" *ngIf=\"iconOffClass\" [ngStyle]=\"iconOffStyle\" [ngClass]=\"iconOffClass\" [attr.data-pc-section]=\"'offIcon'\"></span>\n <StarIcon *ngIf=\"!iconOffClass\" [ngStyle]=\"iconOffStyle\" [styleClass]=\"'p-rating-icon'\" [attr.data-pc-section]=\"'offIcon'\" />\n </ng-container>\n <ng-container *ngIf=\"value && i < value\">\n <span class=\"p-rating-icon p-rating-icon-active\" *ngIf=\"iconOnClass\" [ngStyle]=\"iconOnStyle\" [ngClass]=\"iconOnClass\" [attr.data-pc-section]=\"'onIcon'\"></span>\n <StarFillIcon *ngIf=\"!iconOnClass\" [ngStyle]=\"iconOnStyle\" [styleClass]=\"'p-rating-icon p-rating-icon-active'\" [attr.data-pc-section]=\"'onIcon'\" />\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #customTemplate>\n <span *ngIf=\"cancel\" (click)=\"onOptionClick($event, 0)\" class=\"p-rating-icon p-rating-cancel\" [ngStyle]=\"iconCancelStyle\" [attr.data-pc-section]=\"'cancelIcon'\">\n <ng-container *ngTemplateOutlet=\"cancelIconTemplate\"></ng-container>\n </span>\n <span *ngFor=\"let star of starsArray; let i = index\" class=\"p-rating-icon\" (click)=\"onOptionClick($event, star + 1)\" [attr.data-pc-section]=\"'onIcon'\">\n <ng-container *ngTemplateOutlet=\"getIconTemplate(i)\"></ng-container>\n </span>\n </ng-template>\n </div>\n `,\n providers: [RATING_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./rating.css'],\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class Rating implements OnInit, ControlValueAccessor {\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, changing the value is not possible.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Number of stars.\n * @group Props\n */\n @Input({ transform: numberAttribute }) stars: number = 5;\n /**\n * When specified a cancel icon is displayed to allow removing the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) cancel: boolean = true;\n /**\n * Style class of the on icon.\n * @group Props\n */\n @Input() iconOnClass: string | undefined;\n /**\n * Inline style of the on icon.\n * @group Props\n */\n @Input() iconOnStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the off icon.\n * @group Props\n */\n @Input() iconOffClass: string | undefined;\n /**\n * Inline style of the off icon.\n * @group Props\n */\n @Input() iconOffStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the cancel icon.\n * @group Props\n */\n @Input() iconCancelClass: string | undefined;\n /**\n * Inline style of the cancel icon.\n * @group Props\n */\n @Input() iconCancelStyle: { [klass: string]: any } | null | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Emitted on value change.\n * @param {RatingRateEvent} value - Custom rate event.\n * @group Emits\n */\n @Output() onRate: EventEmitter<RatingRateEvent> = new EventEmitter<RatingRateEvent>();\n /**\n * Emitted when the rating is cancelled.\n * @param {Event} value - Browser event.\n * @group Emits\n */\n @Output() onCancel: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Emitted when the rating receives focus.\n * @param {Event} value - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Emitted when the rating loses focus.\n * @param {Event} value - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n @ContentChildren(CaxTemplate) templates!: QueryList<CaxTemplate>;\n\n onIconTemplate: Nullable<TemplateRef<any>>;\n\n offIconTemplate: Nullable<TemplateRef<any>>;\n\n cancelIconTemplate: Nullable<TemplateRef<any>>;\n\n value: Nullable<number>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n public starsArray: Nullable<number[]>;\n\n isFocusVisibleItem: boolean = true;\n\n focusedOptionIndex = signal<number>(-1);\n\n name: string | undefined;\n\n constructor(\n private cd: ChangeDetectorRef,\n private config: caxConfig\n ) {}\n\n ngOnInit() {\n this.name = this.name || UniqueComponentId();\n this.starsArray = [];\n for (let i = 0; i < this.stars; i++) {\n this.starsArray[i] = i;\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'onicon':\n this.onIconTemplate = item.template;\n break;\n\n case 'officon':\n this.offIconTemplate = item.template;\n break;\n\n case 'cancelicon':\n this.cancelIconTemplate = item.template;\n break;\n }\n });\n }\n\n onOptionClick(event, value) {\n if (!this.readonly && !this.disabled) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = false;\n const firstFocusableEl = DomHandler.getFirstFocusableElement(event.currentTarget, '');\n\n firstFocusableEl && DomHandler.focus(firstFocusableEl);\n }\n }\n\n onOptionSelect(event, value) {\n this.focusedOptionIndex.set(value);\n this.updateModel(event, value || null);\n }\n\n onChange(event, value) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = true;\n }\n\n onInputBlur(event) {\n this.focusedOptionIndex.set(-1);\n this.onBlur.emit(event);\n }\n\n onInputFocus(event, value) {\n this.focusedOptionIndex.set(value);\n this.onFocus.emit(event);\n }\n\n updateModel(event, value) {\n this.value = value;\n this.onModelChange(this.value);\n this.onModelTouched();\n\n if (!value) {\n this.onCancel.emit();\n } else {\n this.onRate.emit({\n originalEvent: event,\n value\n });\n }\n }\n\n cancelAriaLabel() {\n return this.config.translation.clear;\n }\n\n starAriaLabel(value) {\n return value === 1 ? this.config.translation.aria.star : this.config.translation.aria.stars.replace(/{star}/g, value);\n }\n\n getIconTemplate(i: number): Nullable<TemplateRef<any>> {\n return !this.value || i >= this.value ? this.offIconTemplate : this.onIconTemplate;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.detectChanges();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get isCustomIcon(): boolean {\n return this.templates && this.templates.length > 0;\n }\n}\n\n@NgModule({\n imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon],\n exports: [Rating, SharedModule],\n declarations: [Rating]\n})\nexport class RatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-rating.mjs","sources":["../../src/app/components/rating/rating.ts","../../src/app/components/rating/cax-design-system-rating.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, forwardRef, Input, NgModule, numberAttribute, OnInit, Output, QueryList, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { BanIcon } from 'cax-design-system/icons/ban';\nimport { StarIcon } from 'cax-design-system/icons/star';\nimport { StarFillIcon } from 'cax-design-system/icons/starfill';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { RatingRateEvent } from './rating.interface';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { UniqueComponentId } from 'cax-design-system/utils';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\n\nexport const RATING_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Rating),\n multi: true\n};\n/**\n * Rating is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n selector: 'p-rating',\n template: `\n <div class=\"p-rating\" [ngClass]=\"{ 'p-readonly': readonly, 'p-disabled': disabled }\" [attr.data-pc-name]=\"'rating'\" [attr.data-pc-section]=\"'root'\">\n <ng-container *ngIf=\"!isCustomIcon; else customTemplate\">\n <div *ngIf=\"cancel\" [attr.data-pc-section]=\"'cancelItem'\" (click)=\"onOptionClick($event, 0)\" [ngClass]=\"{ 'p-focus': focusedOptionIndex() === 0 && isFocusVisibleItem }\" class=\"p-rating-item p-rating-cancel-item\">\n <span class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n type=\"radio\"\n value=\"0\"\n [name]=\"name\"\n [checked]=\"value === 0\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"cancelAriaLabel()\"\n (focus)=\"onInputFocus($event, 0)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onChange($event, 0)\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </span>\n <span *ngIf=\"iconCancelClass\" class=\"p-rating-icon p-rating-cancel\" [ngClass]=\"iconCancelClass\" [ngStyle]=\"iconCancelStyle\"></span>\n <BanIcon *ngIf=\"!iconCancelClass\" [styleClass]=\"'p-rating-icon p-rating-cancel'\" [ngStyle]=\"iconCancelStyle\" [attr.data-pc-section]=\"'cancelIcon'\" />\n </div>\n <ng-template ngFor [ngForOf]=\"starsArray\" let-star let-i=\"index\">\n <div class=\"p-rating-item\" [ngClass]=\"{ 'p-rating-item-active': star + 1 <= value, 'p-focus': star + 1 === focusedOptionIndex() && isFocusVisibleItem }\" (click)=\"onOptionClick($event, star + 1)\">\n <span class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n type=\"radio\"\n value=\"0\"\n [name]=\"name\"\n [checked]=\"value === 0\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"starAriaLabel(star + 1)\"\n (focus)=\"onInputFocus($event, star + 1)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onChange($event, star + 1)\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </span>\n <ng-container *ngIf=\"!value || i >= value\">\n <span class=\"p-rating-icon\" *ngIf=\"iconOffClass\" [ngStyle]=\"iconOffStyle\" [ngClass]=\"iconOffClass\" [attr.data-pc-section]=\"'offIcon'\"></span>\n <StarIcon *ngIf=\"!iconOffClass\" [ngStyle]=\"iconOffStyle\" [styleClass]=\"'p-rating-icon'\" [attr.data-pc-section]=\"'offIcon'\" />\n </ng-container>\n <ng-container *ngIf=\"value && i < value\">\n <span class=\"p-rating-icon p-rating-icon-active\" *ngIf=\"iconOnClass\" [ngStyle]=\"iconOnStyle\" [ngClass]=\"iconOnClass\" [attr.data-pc-section]=\"'onIcon'\"></span>\n <StarFillIcon *ngIf=\"!iconOnClass\" [ngStyle]=\"iconOnStyle\" [styleClass]=\"'p-rating-icon p-rating-icon-active'\" [attr.data-pc-section]=\"'onIcon'\" />\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #customTemplate>\n <span *ngIf=\"cancel\" (click)=\"onOptionClick($event, 0)\" class=\"p-rating-icon p-rating-cancel\" [ngStyle]=\"iconCancelStyle\" [attr.data-pc-section]=\"'cancelIcon'\">\n <ng-container *ngTemplateOutlet=\"cancelIconTemplate\"></ng-container>\n </span>\n <span *ngFor=\"let star of starsArray; let i = index\" class=\"p-rating-icon\" (click)=\"onOptionClick($event, star + 1)\" [attr.data-pc-section]=\"'onIcon'\">\n <ng-container *ngTemplateOutlet=\"getIconTemplate(i)\"></ng-container>\n </span>\n </ng-template>\n </div>\n `,\n providers: [RATING_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./rating.css'],\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class Rating implements OnInit, ControlValueAccessor {\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, changing the value is not possible.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Number of stars.\n * @group Props\n */\n @Input({ transform: numberAttribute }) stars: number = 5;\n /**\n * When specified a cancel icon is displayed to allow removing the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) cancel: boolean = true;\n /**\n * Style class of the on icon.\n * @group Props\n */\n @Input() iconOnClass: string | undefined;\n /**\n * Inline style of the on icon.\n * @group Props\n */\n @Input() iconOnStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the off icon.\n * @group Props\n */\n @Input() iconOffClass: string | undefined;\n /**\n * Inline style of the off icon.\n * @group Props\n */\n @Input() iconOffStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the cancel icon.\n * @group Props\n */\n @Input() iconCancelClass: string | undefined;\n /**\n * Inline style of the cancel icon.\n * @group Props\n */\n @Input() iconCancelStyle: { [klass: string]: any } | null | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Emitted on value change.\n * @param {RatingRateEvent} value - Custom rate event.\n * @group Emits\n */\n @Output() onRate: EventEmitter<RatingRateEvent> = new EventEmitter<RatingRateEvent>();\n /**\n * Emitted when the rating is cancelled.\n * @param {Event} value - Browser event.\n * @group Emits\n */\n @Output() onCancel: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Emitted when the rating receives focus.\n * @param {Event} value - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Emitted when the rating loses focus.\n * @param {Event} value - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n @ContentChildren(CaxTemplate) templates!: QueryList<CaxTemplate>;\n\n onIconTemplate: Nullable<TemplateRef<any>>;\n\n offIconTemplate: Nullable<TemplateRef<any>>;\n\n cancelIconTemplate: Nullable<TemplateRef<any>>;\n\n value: Nullable<number>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n public starsArray: Nullable<number[]>;\n\n isFocusVisibleItem: boolean = true;\n\n focusedOptionIndex = signal<number>(-1);\n\n name: string | undefined;\n\n constructor(\n private cd: ChangeDetectorRef,\n private config: caxConfig\n ) {}\n\n ngOnInit() {\n this.name = this.name || UniqueComponentId();\n this.starsArray = [];\n for (let i = 0; i < this.stars; i++) {\n this.starsArray[i] = i;\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'onicon':\n this.onIconTemplate = item.template;\n break;\n\n case 'officon':\n this.offIconTemplate = item.template;\n break;\n\n case 'cancelicon':\n this.cancelIconTemplate = item.template;\n break;\n }\n });\n }\n\n onOptionClick(event, value) {\n if (!this.readonly && !this.disabled) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = false;\n const firstFocusableEl = DomHandler.getFirstFocusableElement(event.currentTarget, '');\n\n firstFocusableEl && DomHandler.focus(firstFocusableEl);\n }\n }\n\n onOptionSelect(event, value) {\n this.focusedOptionIndex.set(value);\n this.updateModel(event, value || null);\n }\n\n onChange(event, value) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = true;\n }\n\n onInputBlur(event) {\n this.focusedOptionIndex.set(-1);\n this.onBlur.emit(event);\n }\n\n onInputFocus(event, value) {\n this.focusedOptionIndex.set(value);\n this.onFocus.emit(event);\n }\n\n updateModel(event, value) {\n this.value = value;\n this.onModelChange(this.value);\n this.onModelTouched();\n\n if (!value) {\n this.onCancel.emit();\n } else {\n this.onRate.emit({\n originalEvent: event,\n value\n });\n }\n }\n\n cancelAriaLabel() {\n return this.config.translation.clear;\n }\n\n starAriaLabel(value) {\n return value === 1 ? this.config.translation.aria.star : this.config.translation.aria.stars.replace(/{star}/g, value);\n }\n\n getIconTemplate(i: number): Nullable<TemplateRef<any>> {\n return !this.value || i >= this.value ? this.offIconTemplate : this.onIconTemplate;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.detectChanges();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get isCustomIcon(): boolean {\n return this.templates && this.templates.length > 0;\n }\n}\n\n@NgModule({\n imports: [CommonModule, AutoFocusModule, StarFillIcon, StarIcon, BanIcon],\n exports: [Rating, SharedModule],\n declarations: [Rating]\n})\nexport class RatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -106,10 +106,10 @@ class Ripple {
106
106
  this.remove();
107
107
  }
108
108
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Ripple, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.caxConfig, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
110
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: Ripple, isStandalone: true, selector: "[caxRipple]", host: { classAttribute: "cax-ripple cax-element" }, ngImport: i0 });
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Ripple, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.caxConfig, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
110
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: Ripple, isStandalone: true, selector: "[caxRipple]", host: { classAttribute: "cax-ripple cax-element" }, ngImport: i0 });
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Ripple, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Ripple, decorators: [{
113
113
  type: Directive,
114
114
  args: [{
115
115
  selector: '[caxRipple]',
@@ -129,11 +129,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
129
129
  }] }] });
130
130
 
131
131
  class RippleModule {
132
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
133
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: RippleModule, imports: [Ripple], exports: [Ripple] });
134
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RippleModule });
132
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
133
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: RippleModule, imports: [Ripple], exports: [Ripple] });
134
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RippleModule });
135
135
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RippleModule, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RippleModule, decorators: [{
137
137
  type: NgModule,
138
138
  args: [{
139
139
  imports: [Ripple],
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-ripple.mjs","sources":["../../src/app/components/ripple/ripple.ts","../../src/app/components/ripple/ripple.module.ts","../../src/app/components/ripple/cax-design-system-ripple.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, Inject, NgModule, NgZone, OnDestroy, Optional, PLATFORM_ID, Renderer2 } from '@angular/core';\nimport { caxConfig } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { VoidListener } from 'cax-design-system/ts-helpers';\n/**\n * Ripple directive adds ripple effect to the host element.\n * @group Components\n */\n@Directive({\n selector: '[caxRipple]',\n standalone: true,\n host: {\n class: 'cax-ripple cax-element'\n }\n})\nexport class Ripple implements AfterViewInit, OnDestroy {\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n public el: ElementRef,\n public zone: NgZone,\n @Optional() public config: caxConfig\n ) {}\n\n animationListener: VoidListener;\n\n mouseDownListener: VoidListener;\n\n timeout: any;\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.config && this.config.ripple) {\n this.zone.runOutsideAngular(() => {\n this.create();\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.onMouseDown.bind(this));\n });\n }\n }\n }\n\n onMouseDown(event: MouseEvent) {\n let ink = this.getInk();\n if (!ink || this.document.defaultView?.getComputedStyle(ink, null).display === 'none') {\n return;\n }\n\n DomHandler.removeClass(ink, 'cax-ink-active');\n if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {\n let d = Math.max(DomHandler.getOuterWidth(this.el.nativeElement), DomHandler.getOuterHeight(this.el.nativeElement));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n let offset = DomHandler.getOffset(this.el.nativeElement);\n let x = event.pageX - offset.left + this.document.body.scrollTop - DomHandler.getWidth(ink) / 2;\n let y = event.pageY - offset.top + this.document.body.scrollLeft - DomHandler.getHeight(ink) / 2;\n\n this.renderer.setStyle(ink, 'top', y + 'px');\n this.renderer.setStyle(ink, 'left', x + 'px');\n DomHandler.addClass(ink, 'cax-ink-active');\n\n this.timeout = setTimeout(() => {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'cax-ink-active');\n }\n }, 401);\n }\n\n getInk() {\n const children = this.el.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n if (typeof children[i].className === 'string' && children[i].className.indexOf('cax-ink') !== -1) {\n return children[i];\n }\n }\n return null;\n }\n\n resetInk() {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'cax-ink-active');\n }\n }\n\n onAnimationEnd(event: Event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n DomHandler.removeClass(event.currentTarget, 'cax-ink-active');\n }\n\n create() {\n let ink = this.renderer.createElement('span');\n this.renderer.addClass(ink, 'cax-ink');\n this.renderer.appendChild(this.el.nativeElement, ink);\n this.renderer.setAttribute(ink, 'aria-hidden', 'true');\n this.renderer.setAttribute(ink, 'role', 'presentation');\n\n if (!this.animationListener) {\n this.animationListener = this.renderer.listen(ink, 'animationend', this.onAnimationEnd.bind(this));\n }\n }\n\n remove() {\n let ink = this.getInk();\n if (ink) {\n this.mouseDownListener && this.mouseDownListener();\n this.animationListener && this.animationListener();\n this.mouseDownListener = null;\n this.animationListener = null;\n\n DomHandler.removeElement(ink);\n }\n }\n\n ngOnDestroy() {\n if (this.config && this.config.ripple) {\n this.remove();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Ripple } from './ripple';\n\n@NgModule({\n imports: [Ripple],\n exports: [Ripple]\n})\nexport class RippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-ripple.mjs","sources":["../../src/app/components/ripple/ripple.ts","../../src/app/components/ripple/ripple.module.ts","../../src/app/components/ripple/cax-design-system-ripple.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, Inject, NgModule, NgZone, OnDestroy, Optional, PLATFORM_ID, Renderer2 } from '@angular/core';\nimport { caxConfig } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { VoidListener } from 'cax-design-system/ts-helpers';\n/**\n * Ripple directive adds ripple effect to the host element.\n * @group Components\n */\n@Directive({\n selector: '[caxRipple]',\n standalone: true,\n host: {\n class: 'cax-ripple cax-element'\n }\n})\nexport class Ripple implements AfterViewInit, OnDestroy {\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n public el: ElementRef,\n public zone: NgZone,\n @Optional() public config: caxConfig\n ) {}\n\n animationListener: VoidListener;\n\n mouseDownListener: VoidListener;\n\n timeout: any;\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.config && this.config.ripple) {\n this.zone.runOutsideAngular(() => {\n this.create();\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.onMouseDown.bind(this));\n });\n }\n }\n }\n\n onMouseDown(event: MouseEvent) {\n let ink = this.getInk();\n if (!ink || this.document.defaultView?.getComputedStyle(ink, null).display === 'none') {\n return;\n }\n\n DomHandler.removeClass(ink, 'cax-ink-active');\n if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {\n let d = Math.max(DomHandler.getOuterWidth(this.el.nativeElement), DomHandler.getOuterHeight(this.el.nativeElement));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n let offset = DomHandler.getOffset(this.el.nativeElement);\n let x = event.pageX - offset.left + this.document.body.scrollTop - DomHandler.getWidth(ink) / 2;\n let y = event.pageY - offset.top + this.document.body.scrollLeft - DomHandler.getHeight(ink) / 2;\n\n this.renderer.setStyle(ink, 'top', y + 'px');\n this.renderer.setStyle(ink, 'left', x + 'px');\n DomHandler.addClass(ink, 'cax-ink-active');\n\n this.timeout = setTimeout(() => {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'cax-ink-active');\n }\n }, 401);\n }\n\n getInk() {\n const children = this.el.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n if (typeof children[i].className === 'string' && children[i].className.indexOf('cax-ink') !== -1) {\n return children[i];\n }\n }\n return null;\n }\n\n resetInk() {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'cax-ink-active');\n }\n }\n\n onAnimationEnd(event: Event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n DomHandler.removeClass(event.currentTarget, 'cax-ink-active');\n }\n\n create() {\n let ink = this.renderer.createElement('span');\n this.renderer.addClass(ink, 'cax-ink');\n this.renderer.appendChild(this.el.nativeElement, ink);\n this.renderer.setAttribute(ink, 'aria-hidden', 'true');\n this.renderer.setAttribute(ink, 'role', 'presentation');\n\n if (!this.animationListener) {\n this.animationListener = this.renderer.listen(ink, 'animationend', this.onAnimationEnd.bind(this));\n }\n }\n\n remove() {\n let ink = this.getInk();\n if (ink) {\n this.mouseDownListener && this.mouseDownListener();\n this.animationListener && this.animationListener();\n this.mouseDownListener = null;\n this.animationListener = null;\n\n DomHandler.removeElement(ink);\n }\n }\n\n ngOnDestroy() {\n if (this.config && this.config.ripple) {\n this.remove();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Ripple } from './ripple';\n\n@NgModule({\n imports: [Ripple],\n exports: [Ripple]\n})\nexport class RippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -899,14 +899,14 @@ class Scroller {
899
899
  ...extOptions
900
900
  };
901
901
  }
902
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Scroller, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
903
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: Scroller, isStandalone: true, selector: "cax-scroller", inputs: { id: "id", style: "style", styleClass: "styleClass", tabindex: "tabindex", items: "items", itemSize: "itemSize", scrollHeight: "scrollHeight", scrollWidth: "scrollWidth", orientation: "orientation", step: "step", delay: "delay", resizeDelay: "resizeDelay", appendOnly: "appendOnly", inline: "inline", lazy: "lazy", disabled: "disabled", loaderDisabled: "loaderDisabled", columns: "columns", showSpacer: "showSpacer", showLoader: "showLoader", numToleratedItems: "numToleratedItems", loading: "loading", autoSize: "autoSize", trackBy: "trackBy", options: "options" }, outputs: { onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange" }, host: { classAttribute: "cax-scroller-viewport cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "elementViewChild", first: true, predicate: ["element"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!_disabled; else disabledContainer\">\r\n <div\r\n #element\r\n [attr.id]=\"_id\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ngStyle]=\"_style\"\r\n [class]=\"_styleClass\"\r\n [ngClass]=\"{ 'cax-scroller': true, 'cax-scroller-inline': inline, 'cax-both-scroll': both, 'cax-horizontal-scroll': horizontal }\"\r\n (scroll)=\"onContainerScroll($event)\"\r\n [attr.data-pc-name]=\"'scroller'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n >\r\n <ng-container *ngIf=\"contentTemplate; else buildInContent\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }\"></ng-container>\r\n </ng-container>\r\n <ng-template #buildInContent>\r\n <div #content class=\"cax-scroller-content\" [ngClass]=\"{ 'cax-scroller-loading': d_loading }\" [ngStyle]=\"contentStyle\" [attr.data-pc-section]=\"'content'\">\r\n <ng-container *ngFor=\"let item of loadedItems; let index = index; trackBy: _trackBy || index\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, options: getOptions(index) }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n <div *ngIf=\"_showSpacer\" class=\"cax-scroller-spacer\" [ngStyle]=\"spacerStyle\" [attr.data-pc-section]=\"'spacer'\"></div>\r\n <div *ngIf=\"!loaderDisabled && _showLoader && d_loading\" class=\"cax-scroller-loader\" [ngClass]=\"{ 'cax-component-overlay': !loaderTemplate }\" [attr.data-pc-section]=\"'loader'\">\r\n <ng-container *ngIf=\"loaderTemplate; else buildInLoader\">\r\n <ng-container *ngFor=\"let item of loaderArr; let index = index\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: getLoaderOptions(index, both && { numCols: _numItemsInViewport.cols }) }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #buildInLoader>\r\n <ng-container *ngIf=\"loaderIconTemplate; else buildInLoaderIcon\">\r\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate; context: { options: { styleClass: 'cax-scroller-loading-icon' } }\"></ng-container>\r\n </ng-container>\r\n <ng-template #buildInLoaderIcon>\r\n <SpinnerIcon [styleClass]=\"'cax-scroller-loading-icon pi-spin'\" [attr.data-pc-section]=\"'loadingIcon'\" />\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-template #disabledContainer>\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"contentTemplate\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", styles: ["@layer cax{cax-scroller{flex:1;outline:0 none}.cax-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.cax-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.cax-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.cax-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.cax-scroller-loader.cax-component-overlay{display:flex;align-items:center;justify-content:center}.cax-scroller-loading-icon{scale:2}.cax-scroller-inline .cax-scroller-content{position:static}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: SpinnerIcon, selector: "SpinnerIcon" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
902
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Scroller, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
903
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", type: Scroller, isStandalone: true, selector: "cax-scroller", inputs: { id: "id", style: "style", styleClass: "styleClass", tabindex: "tabindex", items: "items", itemSize: "itemSize", scrollHeight: "scrollHeight", scrollWidth: "scrollWidth", orientation: "orientation", step: "step", delay: "delay", resizeDelay: "resizeDelay", appendOnly: "appendOnly", inline: "inline", lazy: "lazy", disabled: "disabled", loaderDisabled: "loaderDisabled", columns: "columns", showSpacer: "showSpacer", showLoader: "showLoader", numToleratedItems: "numToleratedItems", loading: "loading", autoSize: "autoSize", trackBy: "trackBy", options: "options" }, outputs: { onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange" }, host: { classAttribute: "cax-scroller-viewport cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "elementViewChild", first: true, predicate: ["element"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!_disabled; else disabledContainer\">\n <div\n #element\n [attr.id]=\"_id\"\n [attr.tabindex]=\"tabindex\"\n [ngStyle]=\"_style\"\n [class]=\"_styleClass\"\n [ngClass]=\"{ 'cax-scroller': true, 'cax-scroller-inline': inline, 'cax-both-scroll': both, 'cax-horizontal-scroll': horizontal }\"\n (scroll)=\"onContainerScroll($event)\"\n [attr.data-pc-name]=\"'scroller'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ng-container *ngIf=\"contentTemplate; else buildInContent\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }\"></ng-container>\n </ng-container>\n <ng-template #buildInContent>\n <div #content class=\"cax-scroller-content\" [ngClass]=\"{ 'cax-scroller-loading': d_loading }\" [ngStyle]=\"contentStyle\" [attr.data-pc-section]=\"'content'\">\n <ng-container *ngFor=\"let item of loadedItems; let index = index; trackBy: _trackBy || index\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, options: getOptions(index) }\"></ng-container>\n </ng-container>\n </div>\n </ng-template>\n <div *ngIf=\"_showSpacer\" class=\"cax-scroller-spacer\" [ngStyle]=\"spacerStyle\" [attr.data-pc-section]=\"'spacer'\"></div>\n <div *ngIf=\"!loaderDisabled && _showLoader && d_loading\" class=\"cax-scroller-loader\" [ngClass]=\"{ 'cax-component-overlay': !loaderTemplate }\" [attr.data-pc-section]=\"'loader'\">\n <ng-container *ngIf=\"loaderTemplate; else buildInLoader\">\n <ng-container *ngFor=\"let item of loaderArr; let index = index\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: getLoaderOptions(index, both && { numCols: _numItemsInViewport.cols }) }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #buildInLoader>\n <ng-container *ngIf=\"loaderIconTemplate; else buildInLoaderIcon\">\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate; context: { options: { styleClass: 'cax-scroller-loading-icon' } }\"></ng-container>\n </ng-container>\n <ng-template #buildInLoaderIcon>\n <SpinnerIcon [styleClass]=\"'cax-scroller-loading-icon pi-spin'\" [attr.data-pc-section]=\"'loadingIcon'\" />\n </ng-template>\n </ng-template>\n </div>\n </div>\n</ng-container>\n<ng-template #disabledContainer>\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }\"></ng-container>\n </ng-container>\n</ng-template>\n", styles: ["@layer cax{cax-scroller{flex:1;outline:0 none}.cax-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.cax-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.cax-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.cax-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.cax-scroller-loader.cax-component-overlay{display:flex;align-items:center;justify-content:center}.cax-scroller-loading-icon{scale:2}.cax-scroller-inline .cax-scroller-content{position:static}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: SpinnerIcon, selector: "SpinnerIcon" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
904
904
  }
905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Scroller, decorators: [{
905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Scroller, decorators: [{
906
906
  type: Component,
907
907
  args: [{ selector: 'cax-scroller', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, SharedModule, SpinnerIcon], host: {
908
908
  class: 'cax-scroller-viewport cax-element'
909
- }, template: "<ng-container *ngIf=\"!_disabled; else disabledContainer\">\r\n <div\r\n #element\r\n [attr.id]=\"_id\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ngStyle]=\"_style\"\r\n [class]=\"_styleClass\"\r\n [ngClass]=\"{ 'cax-scroller': true, 'cax-scroller-inline': inline, 'cax-both-scroll': both, 'cax-horizontal-scroll': horizontal }\"\r\n (scroll)=\"onContainerScroll($event)\"\r\n [attr.data-pc-name]=\"'scroller'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n >\r\n <ng-container *ngIf=\"contentTemplate; else buildInContent\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }\"></ng-container>\r\n </ng-container>\r\n <ng-template #buildInContent>\r\n <div #content class=\"cax-scroller-content\" [ngClass]=\"{ 'cax-scroller-loading': d_loading }\" [ngStyle]=\"contentStyle\" [attr.data-pc-section]=\"'content'\">\r\n <ng-container *ngFor=\"let item of loadedItems; let index = index; trackBy: _trackBy || index\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, options: getOptions(index) }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n <div *ngIf=\"_showSpacer\" class=\"cax-scroller-spacer\" [ngStyle]=\"spacerStyle\" [attr.data-pc-section]=\"'spacer'\"></div>\r\n <div *ngIf=\"!loaderDisabled && _showLoader && d_loading\" class=\"cax-scroller-loader\" [ngClass]=\"{ 'cax-component-overlay': !loaderTemplate }\" [attr.data-pc-section]=\"'loader'\">\r\n <ng-container *ngIf=\"loaderTemplate; else buildInLoader\">\r\n <ng-container *ngFor=\"let item of loaderArr; let index = index\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: getLoaderOptions(index, both && { numCols: _numItemsInViewport.cols }) }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #buildInLoader>\r\n <ng-container *ngIf=\"loaderIconTemplate; else buildInLoaderIcon\">\r\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate; context: { options: { styleClass: 'cax-scroller-loading-icon' } }\"></ng-container>\r\n </ng-container>\r\n <ng-template #buildInLoaderIcon>\r\n <SpinnerIcon [styleClass]=\"'cax-scroller-loading-icon pi-spin'\" [attr.data-pc-section]=\"'loadingIcon'\" />\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-template #disabledContainer>\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"contentTemplate\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", styles: ["@layer cax{cax-scroller{flex:1;outline:0 none}.cax-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.cax-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.cax-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.cax-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.cax-scroller-loader.cax-component-overlay{display:flex;align-items:center;justify-content:center}.cax-scroller-loading-icon{scale:2}.cax-scroller-inline .cax-scroller-content{position:static}}\n"] }]
909
+ }, template: "<ng-container *ngIf=\"!_disabled; else disabledContainer\">\n <div\n #element\n [attr.id]=\"_id\"\n [attr.tabindex]=\"tabindex\"\n [ngStyle]=\"_style\"\n [class]=\"_styleClass\"\n [ngClass]=\"{ 'cax-scroller': true, 'cax-scroller-inline': inline, 'cax-both-scroll': both, 'cax-horizontal-scroll': horizontal }\"\n (scroll)=\"onContainerScroll($event)\"\n [attr.data-pc-name]=\"'scroller'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ng-container *ngIf=\"contentTemplate; else buildInContent\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: loadedItems, options: getContentOptions() }\"></ng-container>\n </ng-container>\n <ng-template #buildInContent>\n <div #content class=\"cax-scroller-content\" [ngClass]=\"{ 'cax-scroller-loading': d_loading }\" [ngStyle]=\"contentStyle\" [attr.data-pc-section]=\"'content'\">\n <ng-container *ngFor=\"let item of loadedItems; let index = index; trackBy: _trackBy || index\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, options: getOptions(index) }\"></ng-container>\n </ng-container>\n </div>\n </ng-template>\n <div *ngIf=\"_showSpacer\" class=\"cax-scroller-spacer\" [ngStyle]=\"spacerStyle\" [attr.data-pc-section]=\"'spacer'\"></div>\n <div *ngIf=\"!loaderDisabled && _showLoader && d_loading\" class=\"cax-scroller-loader\" [ngClass]=\"{ 'cax-component-overlay': !loaderTemplate }\" [attr.data-pc-section]=\"'loader'\">\n <ng-container *ngIf=\"loaderTemplate; else buildInLoader\">\n <ng-container *ngFor=\"let item of loaderArr; let index = index\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: getLoaderOptions(index, both && { numCols: _numItemsInViewport.cols }) }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #buildInLoader>\n <ng-container *ngIf=\"loaderIconTemplate; else buildInLoaderIcon\">\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate; context: { options: { styleClass: 'cax-scroller-loading-icon' } }\"></ng-container>\n </ng-container>\n <ng-template #buildInLoaderIcon>\n <SpinnerIcon [styleClass]=\"'cax-scroller-loading-icon pi-spin'\" [attr.data-pc-section]=\"'loadingIcon'\" />\n </ng-template>\n </ng-template>\n </div>\n </div>\n</ng-container>\n<ng-template #disabledContainer>\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: items, options: { rows: _items, columns: loadedColumns } }\"></ng-container>\n </ng-container>\n</ng-template>\n", styles: ["@layer cax{cax-scroller{flex:1;outline:0 none}.cax-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.cax-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.cax-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.cax-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.cax-scroller-loader.cax-component-overlay{display:flex;align-items:center;justify-content:center}.cax-scroller-loading-icon{scale:2}.cax-scroller-inline .cax-scroller-content{position:static}}\n"] }]
910
910
  }], ctorParameters: () => [{ type: Document, decorators: [{
911
911
  type: Inject,
912
912
  args: [DOCUMENT]
@@ -981,11 +981,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
981
981
  }] } });
982
982
 
983
983
  class ScrollerModule {
984
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
985
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ScrollerModule, imports: [Scroller, SharedModule], exports: [Scroller, SharedModule] });
986
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ScrollerModule, imports: [Scroller, SharedModule, SharedModule] });
984
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
985
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: ScrollerModule, imports: [Scroller, SharedModule], exports: [Scroller, SharedModule] });
986
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ScrollerModule, imports: [Scroller, SharedModule, SharedModule] });
987
987
  }
988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ScrollerModule, decorators: [{
988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ScrollerModule, decorators: [{
989
989
  type: NgModule,
990
990
  args: [{
991
991
  imports: [Scroller, SharedModule],