cax-design-system 2.8.5 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1307) hide show
  1. package/README.md +46 -46
  2. package/accordion/index.d.ts +286 -3
  3. package/animate/index.d.ts +41 -3
  4. package/animateonscroll/index.d.ts +75 -3
  5. package/api/index.d.ts +1849 -3
  6. package/autocomplete/index.d.ts +817 -3
  7. package/autofocus/index.d.ts +29 -3
  8. package/avatar/index.d.ts +102 -3
  9. package/avatargroup/index.d.ts +30 -3
  10. package/badge/index.d.ts +71 -5
  11. package/baseicon/index.d.ts +18 -5
  12. package/blockui/index.d.ts +77 -3
  13. package/breadcrumb/index.d.ts +105 -3
  14. package/button/index.d.ts +179 -3
  15. package/buttongroup/index.d.ts +14 -5
  16. package/calendar/index.d.ts +957 -3
  17. package/card/index.d.ts +88 -3
  18. package/carousel/index.d.ts +290 -3
  19. package/cascadeselect/index.d.ts +594 -3
  20. package/categorycard/index.d.ts +20 -0
  21. package/chart/index.d.ts +88 -3
  22. package/checkbox/index.d.ts +204 -3
  23. package/chip/index.d.ts +63 -3
  24. package/colorpicker/index.d.ts +265 -3
  25. package/commentbox/index.d.ts +138 -5
  26. package/comments/index.d.ts +91 -0
  27. package/comparecard/index.d.ts +57 -0
  28. package/confirmdialog/index.d.ts +327 -3
  29. package/confirmpopup/index.d.ts +148 -3
  30. package/contextmenu/index.d.ts +261 -3
  31. package/dataview/index.d.ts +457 -3
  32. package/defer/index.d.ts +40 -3
  33. package/dialog/index.d.ts +411 -3
  34. package/divider/index.d.ts +64 -3
  35. package/dock/index.d.ts +136 -3
  36. package/dom/index.d.ts +105 -3
  37. package/dragdrop/index.d.ts +120 -3
  38. package/dropdown/index.d.ts +841 -3
  39. package/dynamicdialog/index.d.ts +490 -3
  40. package/editor/index.d.ts +182 -3
  41. package/fesm2022/cax-design-system-accordion.mjs +22 -17
  42. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  43. package/fesm2022/cax-design-system-animate.mjs +7 -7
  44. package/fesm2022/cax-design-system-animate.mjs.map +1 -1
  45. package/fesm2022/cax-design-system-animateonscroll.mjs +7 -7
  46. package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
  47. package/fesm2022/cax-design-system-api.mjs +39 -39
  48. package/fesm2022/cax-design-system-api.mjs.map +1 -1
  49. package/fesm2022/cax-design-system-autocomplete.mjs +107 -53
  50. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  51. package/fesm2022/cax-design-system-autofocus.mjs +7 -7
  52. package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
  53. package/fesm2022/cax-design-system-avatar.mjs +39 -8
  54. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  55. package/fesm2022/cax-design-system-avatargroup.mjs +8 -8
  56. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  57. package/fesm2022/cax-design-system-badge.mjs +16 -12
  58. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  59. package/fesm2022/cax-design-system-baseicon.mjs +3 -3
  60. package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
  61. package/fesm2022/cax-design-system-blockui.mjs +7 -7
  62. package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
  63. package/fesm2022/cax-design-system-breadcrumb.mjs +10 -11
  64. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  65. package/fesm2022/cax-design-system-button.mjs +93 -39
  66. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  67. package/fesm2022/cax-design-system-buttongroup.mjs +7 -7
  68. package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
  69. package/fesm2022/cax-design-system-calendar.mjs +388 -100
  70. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  71. package/fesm2022/cax-design-system-card.mjs +13 -26
  72. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  73. package/fesm2022/cax-design-system-carousel.mjs +7 -7
  74. package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
  75. package/fesm2022/cax-design-system-cascadeselect.mjs +95 -35
  76. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  77. package/fesm2022/cax-design-system-categorycard.mjs +57 -0
  78. package/fesm2022/cax-design-system-categorycard.mjs.map +1 -0
  79. package/fesm2022/cax-design-system-chart.mjs +7 -7
  80. package/fesm2022/cax-design-system-chart.mjs.map +1 -1
  81. package/fesm2022/cax-design-system-checkbox.mjs +15 -14
  82. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  83. package/fesm2022/cax-design-system-chip.mjs +14 -12
  84. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  85. package/fesm2022/cax-design-system-colorpicker.mjs +8 -8
  86. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  87. package/fesm2022/cax-design-system-commentbox.mjs +8 -8
  88. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  89. package/fesm2022/cax-design-system-comments.mjs +385 -0
  90. package/fesm2022/cax-design-system-comments.mjs.map +1 -0
  91. package/fesm2022/cax-design-system-comparecard.mjs +143 -0
  92. package/fesm2022/cax-design-system-comparecard.mjs.map +1 -0
  93. package/fesm2022/cax-design-system-confirmdialog.mjs +54 -50
  94. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  95. package/fesm2022/cax-design-system-confirmpopup.mjs +8 -8
  96. package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
  97. package/fesm2022/cax-design-system-contextmenu.mjs +14 -14
  98. package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
  99. package/fesm2022/cax-design-system-dataview.mjs +10 -10
  100. package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
  101. package/fesm2022/cax-design-system-defer.mjs +7 -7
  102. package/fesm2022/cax-design-system-defer.mjs.map +1 -1
  103. package/fesm2022/cax-design-system-dialog.mjs +12 -13
  104. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  105. package/fesm2022/cax-design-system-divider.mjs +21 -11
  106. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  107. package/fesm2022/cax-design-system-dock.mjs +7 -7
  108. package/fesm2022/cax-design-system-dock.mjs.map +1 -1
  109. package/fesm2022/cax-design-system-dom.mjs +16 -6
  110. package/fesm2022/cax-design-system-dom.mjs.map +1 -1
  111. package/fesm2022/cax-design-system-dragdrop.mjs +10 -10
  112. package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
  113. package/fesm2022/cax-design-system-dropdown.mjs +67 -32
  114. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  115. package/fesm2022/cax-design-system-dynamicdialog.mjs +15 -15
  116. package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
  117. package/fesm2022/cax-design-system-editor.mjs +55 -15
  118. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  119. package/fesm2022/cax-design-system-fieldset.mjs +8 -8
  120. package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
  121. package/fesm2022/cax-design-system-fileupload.mjs +7 -7
  122. package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
  123. package/fesm2022/cax-design-system-floatlabel.mjs +7 -7
  124. package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
  125. package/fesm2022/cax-design-system-focustrap.mjs +7 -7
  126. package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
  127. package/fesm2022/cax-design-system-galleria.mjs +19 -19
  128. package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
  129. package/fesm2022/cax-design-system-iconfield.mjs +7 -7
  130. package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
  131. package/fesm2022/cax-design-system-icons-angledoubledown.mjs +3 -3
  132. package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
  133. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs +3 -3
  134. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
  135. package/fesm2022/cax-design-system-icons-angledoubleright.mjs +3 -3
  136. package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
  137. package/fesm2022/cax-design-system-icons-angledoubleup.mjs +3 -3
  138. package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
  139. package/fesm2022/cax-design-system-icons-angledown.mjs +4 -4
  140. package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
  141. package/fesm2022/cax-design-system-icons-angleleft.mjs +3 -3
  142. package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
  143. package/fesm2022/cax-design-system-icons-angleright.mjs +3 -3
  144. package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
  145. package/fesm2022/cax-design-system-icons-angleup.mjs +4 -4
  146. package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
  147. package/fesm2022/cax-design-system-icons-arrowdown.mjs +4 -4
  148. package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
  149. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs +3 -3
  150. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
  151. package/fesm2022/cax-design-system-icons-arrowdownright.mjs +3 -3
  152. package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
  153. package/fesm2022/cax-design-system-icons-arrowleft.mjs +3 -3
  154. package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
  155. package/fesm2022/cax-design-system-icons-arrowright.mjs +3 -3
  156. package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
  157. package/fesm2022/cax-design-system-icons-arrowup.mjs +4 -4
  158. package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
  159. package/fesm2022/cax-design-system-icons-ban.mjs +3 -3
  160. package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
  161. package/fesm2022/cax-design-system-icons-bars.mjs +3 -3
  162. package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
  163. package/fesm2022/cax-design-system-icons-blank.mjs +4 -4
  164. package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
  165. package/fesm2022/cax-design-system-icons-calendar.mjs +4 -4
  166. package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
  167. package/fesm2022/cax-design-system-icons-caretleft.mjs +3 -3
  168. package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
  169. package/fesm2022/cax-design-system-icons-caretright.mjs +3 -3
  170. package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
  171. package/fesm2022/cax-design-system-icons-check.mjs +4 -4
  172. package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
  173. package/fesm2022/cax-design-system-icons-chevrondown.mjs +4 -4
  174. package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
  175. package/fesm2022/cax-design-system-icons-chevronleft.mjs +3 -3
  176. package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
  177. package/fesm2022/cax-design-system-icons-chevronright.mjs +4 -4
  178. package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
  179. package/fesm2022/cax-design-system-icons-chevronup.mjs +4 -4
  180. package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
  181. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs +3 -3
  182. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
  183. package/fesm2022/cax-design-system-icons-eye.mjs +4 -4
  184. package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
  185. package/fesm2022/cax-design-system-icons-eyeslash.mjs +3 -3
  186. package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
  187. package/fesm2022/cax-design-system-icons-filter.mjs +3 -3
  188. package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
  189. package/fesm2022/cax-design-system-icons-filterslash.mjs +4 -4
  190. package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
  191. package/fesm2022/cax-design-system-icons-home.mjs +3 -3
  192. package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
  193. package/fesm2022/cax-design-system-icons-infocircle.mjs +3 -3
  194. package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
  195. package/fesm2022/cax-design-system-icons-minus.mjs +3 -3
  196. package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
  197. package/fesm2022/cax-design-system-icons-pencil.mjs +3 -3
  198. package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
  199. package/fesm2022/cax-design-system-icons-plus.mjs +4 -4
  200. package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
  201. package/fesm2022/cax-design-system-icons-refresh.mjs +4 -4
  202. package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
  203. package/fesm2022/cax-design-system-icons-search.mjs +4 -4
  204. package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
  205. package/fesm2022/cax-design-system-icons-searchminus.mjs +4 -4
  206. package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
  207. package/fesm2022/cax-design-system-icons-searchplus.mjs +4 -4
  208. package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
  209. package/fesm2022/cax-design-system-icons-sortalt.mjs +3 -3
  210. package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
  211. package/fesm2022/cax-design-system-icons-sortamountdown.mjs +3 -3
  212. package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
  213. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs +3 -3
  214. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
  215. package/fesm2022/cax-design-system-icons-spinner.mjs +4 -4
  216. package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
  217. package/fesm2022/cax-design-system-icons-star.mjs +3 -3
  218. package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
  219. package/fesm2022/cax-design-system-icons-starfill.mjs +3 -3
  220. package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
  221. package/fesm2022/cax-design-system-icons-thlarge.mjs +3 -3
  222. package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
  223. package/fesm2022/cax-design-system-icons-times.mjs +4 -4
  224. package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
  225. package/fesm2022/cax-design-system-icons-timescircle.mjs +4 -4
  226. package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
  227. package/fesm2022/cax-design-system-icons-trash.mjs +4 -4
  228. package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
  229. package/fesm2022/cax-design-system-icons-undo.mjs +4 -4
  230. package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
  231. package/fesm2022/cax-design-system-icons-upload.mjs +3 -3
  232. package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
  233. package/fesm2022/cax-design-system-icons-windowmaximize.mjs +3 -3
  234. package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
  235. package/fesm2022/cax-design-system-icons-windowminimize.mjs +3 -3
  236. package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
  237. package/fesm2022/cax-design-system-image.mjs +8 -8
  238. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  239. package/fesm2022/cax-design-system-inplace.mjs +13 -13
  240. package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
  241. package/fesm2022/{cax-design-system-chips.mjs → cax-design-system-inputchips.mjs} +66 -27
  242. package/fesm2022/cax-design-system-inputchips.mjs.map +1 -0
  243. package/fesm2022/cax-design-system-inputgroup.mjs +54 -10
  244. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  245. package/fesm2022/cax-design-system-inputgroupaddon.mjs +8 -8
  246. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  247. package/fesm2022/cax-design-system-inputicon.mjs +7 -7
  248. package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
  249. package/fesm2022/cax-design-system-inputmask.mjs +33 -20
  250. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  251. package/fesm2022/cax-design-system-inputnumber.mjs +64 -30
  252. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  253. package/fesm2022/cax-design-system-inputotp.mjs +7 -7
  254. package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
  255. package/fesm2022/cax-design-system-inputswitch.mjs +7 -7
  256. package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
  257. package/fesm2022/cax-design-system-inputtext.mjs +30 -14
  258. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  259. package/fesm2022/cax-design-system-inputtextarea.mjs +49 -18
  260. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  261. package/fesm2022/cax-design-system-keyfilter.mjs +7 -7
  262. package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
  263. package/fesm2022/cax-design-system-knob.mjs +7 -7
  264. package/fesm2022/cax-design-system-knob.mjs.map +1 -1
  265. package/fesm2022/cax-design-system-listbox.mjs +45 -375
  266. package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
  267. package/fesm2022/cax-design-system-logo.mjs +8 -8
  268. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  269. package/fesm2022/cax-design-system-logocard.mjs +37 -0
  270. package/fesm2022/cax-design-system-logocard.mjs.map +1 -0
  271. package/fesm2022/cax-design-system-megamenu.mjs +12 -12
  272. package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
  273. package/fesm2022/cax-design-system-menu.mjs +18 -18
  274. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  275. package/fesm2022/cax-design-system-menubar.mjs +16 -16
  276. package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
  277. package/fesm2022/cax-design-system-message.mjs +7 -7
  278. package/fesm2022/cax-design-system-message.mjs.map +1 -1
  279. package/fesm2022/cax-design-system-messages.mjs +17 -44
  280. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  281. package/fesm2022/cax-design-system-metergroup.mjs +10 -10
  282. package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
  283. package/fesm2022/cax-design-system-multiselect.mjs +67 -33
  284. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  285. package/fesm2022/cax-design-system-navigation.mjs +206 -106
  286. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  287. package/fesm2022/cax-design-system-orderlist.mjs +8 -8
  288. package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
  289. package/fesm2022/cax-design-system-organizationchart.mjs +11 -11
  290. package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
  291. package/fesm2022/cax-design-system-overlay.mjs +8 -8
  292. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  293. package/fesm2022/cax-design-system-overlaypanel.mjs +17 -11
  294. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  295. package/fesm2022/cax-design-system-paginator.mjs +8 -8
  296. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  297. package/fesm2022/cax-design-system-panel.mjs +8 -8
  298. package/fesm2022/cax-design-system-panel.mjs.map +1 -1
  299. package/fesm2022/cax-design-system-panelmenu.mjs +19 -19
  300. package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
  301. package/fesm2022/cax-design-system-password.mjs +14 -14
  302. package/fesm2022/cax-design-system-password.mjs.map +1 -1
  303. package/fesm2022/cax-design-system-picklist.mjs +8 -8
  304. package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
  305. package/fesm2022/cax-design-system-productcard.mjs +90 -0
  306. package/fesm2022/cax-design-system-productcard.mjs.map +1 -0
  307. package/fesm2022/cax-design-system-progressbar.mjs +31 -9
  308. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  309. package/fesm2022/cax-design-system-progressspinner.mjs +17 -15
  310. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  311. package/fesm2022/cax-design-system-radiobutton.mjs +27 -15
  312. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  313. package/fesm2022/cax-design-system-rating.mjs +8 -8
  314. package/fesm2022/cax-design-system-rating.mjs.map +1 -1
  315. package/fesm2022/cax-design-system-ripple.mjs +7 -7
  316. package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
  317. package/fesm2022/cax-design-system-scroller.mjs +8 -8
  318. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  319. package/fesm2022/cax-design-system-scrollpanel.mjs +7 -7
  320. package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
  321. package/fesm2022/cax-design-system-scrolltop.mjs +8 -8
  322. package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
  323. package/fesm2022/cax-design-system-selectbutton.mjs +79 -9
  324. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  325. package/fesm2022/cax-design-system-sidebar.mjs +10 -10
  326. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  327. package/fesm2022/cax-design-system-skeleton.mjs +11 -10
  328. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  329. package/fesm2022/cax-design-system-slidemenu.mjs +13 -13
  330. package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
  331. package/fesm2022/cax-design-system-slider.mjs +14 -199
  332. package/fesm2022/cax-design-system-slider.mjs.map +1 -1
  333. package/fesm2022/cax-design-system-speeddial.mjs +17 -10
  334. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  335. package/fesm2022/cax-design-system-spinner.mjs +7 -7
  336. package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
  337. package/fesm2022/cax-design-system-splitbutton.mjs +11 -14
  338. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  339. package/fesm2022/cax-design-system-splitter.mjs +8 -8
  340. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  341. package/fesm2022/cax-design-system-stepper.mjs +20 -20
  342. package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
  343. package/fesm2022/cax-design-system-steps.mjs +30 -11
  344. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  345. package/fesm2022/cax-design-system-styleclass.mjs +7 -7
  346. package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
  347. package/fesm2022/cax-design-system-subscriptioncard.mjs +97 -0
  348. package/fesm2022/cax-design-system-subscriptioncard.mjs.map +1 -0
  349. package/fesm2022/cax-design-system-table-paginator.mjs +128 -0
  350. package/fesm2022/cax-design-system-table-paginator.mjs.map +1 -0
  351. package/fesm2022/cax-design-system-table.mjs +284 -400
  352. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  353. package/fesm2022/cax-design-system-tableconfiguration.mjs +19 -10
  354. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  355. package/fesm2022/cax-design-system-tabmenu.mjs +8 -8
  356. package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
  357. package/fesm2022/cax-design-system-tabview.mjs +168 -95
  358. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  359. package/fesm2022/cax-design-system-tag.mjs +71 -15
  360. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  361. package/fesm2022/cax-design-system-terminal.mjs +14 -14
  362. package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
  363. package/fesm2022/cax-design-system-tieredmenu.mjs +26 -19
  364. package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
  365. package/fesm2022/cax-design-system-timeline.mjs +8 -8
  366. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  367. package/fesm2022/cax-design-system-toast.mjs +13 -25
  368. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  369. package/fesm2022/cax-design-system-togglebutton.mjs +9 -9
  370. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  371. package/fesm2022/cax-design-system-toggleswitch.mjs +26 -8
  372. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  373. package/fesm2022/cax-design-system-toolbar.mjs +7 -7
  374. package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
  375. package/fesm2022/cax-design-system-tooltip.mjs +40 -20
  376. package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
  377. package/fesm2022/cax-design-system-tree.mjs +12 -12
  378. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  379. package/fesm2022/cax-design-system-treeselect.mjs +8 -8
  380. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  381. package/fesm2022/cax-design-system-treetable.mjs +55 -55
  382. package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
  383. package/fesm2022/cax-design-system-tristatecheckbox.mjs +8 -8
  384. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  385. package/fesm2022/cax-design-system-upload.mjs +209 -96
  386. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  387. package/fesm2022/cax-design-system-utils.mjs.map +1 -1
  388. package/fesm2022/cax-design-system-virtualscroller.mjs +7 -7
  389. package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
  390. package/fieldset/index.d.ts +140 -3
  391. package/fileupload/index.d.ts +606 -3
  392. package/floatlabel/index.d.ts +19 -3
  393. package/focustrap/index.d.ts +35 -3
  394. package/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  395. package/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  396. package/fonts/Inter/OFL.txt +93 -0
  397. package/fonts/Inter/README.txt +118 -0
  398. package/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
  399. package/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
  400. package/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
  401. package/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
  402. package/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
  403. package/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  404. package/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
  405. package/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
  406. package/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
  407. package/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
  408. package/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
  409. package/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
  410. package/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
  411. package/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
  412. package/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
  413. package/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
  414. package/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
  415. package/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
  416. package/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
  417. package/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
  418. package/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
  419. package/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
  420. package/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
  421. package/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  422. package/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
  423. package/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
  424. package/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
  425. package/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
  426. package/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
  427. package/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
  428. package/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
  429. package/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
  430. package/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
  431. package/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
  432. package/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
  433. package/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
  434. package/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
  435. package/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
  436. package/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
  437. package/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
  438. package/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
  439. package/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  440. package/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
  441. package/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
  442. package/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
  443. package/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
  444. package/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
  445. package/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
  446. package/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
  447. package/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
  448. package/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
  449. package/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
  450. package/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
  451. package/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
  452. package/galleria/index.d.ts +502 -3
  453. package/iconfield/index.d.ts +26 -3
  454. package/icons/angledoubledown/index.d.ts +9 -5
  455. package/icons/angledoubleleft/index.d.ts +9 -5
  456. package/icons/angledoubleright/index.d.ts +9 -5
  457. package/icons/angledoubleup/index.d.ts +9 -5
  458. package/icons/angledown/index.d.ts +9 -5
  459. package/icons/angleleft/index.d.ts +9 -5
  460. package/icons/angleright/index.d.ts +9 -5
  461. package/icons/angleup/index.d.ts +9 -5
  462. package/icons/arrowdown/index.d.ts +12 -5
  463. package/icons/arrowdownleft/index.d.ts +9 -5
  464. package/icons/arrowdownright/index.d.ts +9 -5
  465. package/icons/arrowleft/index.d.ts +11 -5
  466. package/icons/arrowright/index.d.ts +9 -5
  467. package/icons/arrowup/index.d.ts +11 -5
  468. package/icons/ban/index.d.ts +11 -5
  469. package/icons/bars/index.d.ts +9 -5
  470. package/icons/blank/index.d.ts +9 -5
  471. package/icons/calendar/index.d.ts +9 -5
  472. package/icons/caretleft/index.d.ts +9 -5
  473. package/icons/caretright/index.d.ts +9 -5
  474. package/icons/check/index.d.ts +9 -5
  475. package/icons/chevrondown/index.d.ts +9 -5
  476. package/icons/chevronleft/index.d.ts +9 -5
  477. package/icons/chevronright/index.d.ts +9 -5
  478. package/icons/chevronup/index.d.ts +9 -5
  479. package/icons/exclamationtriangle/index.d.ts +12 -5
  480. package/icons/eye/index.d.ts +9 -5
  481. package/icons/eyeslash/index.d.ts +11 -5
  482. package/icons/filter/index.d.ts +11 -5
  483. package/icons/filterslash/index.d.ts +11 -5
  484. package/icons/home/index.d.ts +11 -5
  485. package/icons/infocircle/index.d.ts +11 -5
  486. package/icons/minus/index.d.ts +9 -5
  487. package/icons/pencil/index.d.ts +11 -5
  488. package/icons/plus/index.d.ts +11 -5
  489. package/icons/refresh/index.d.ts +11 -5
  490. package/icons/search/index.d.ts +11 -5
  491. package/icons/searchminus/index.d.ts +11 -5
  492. package/icons/searchplus/index.d.ts +11 -5
  493. package/icons/sortalt/index.d.ts +11 -5
  494. package/icons/sortamountdown/index.d.ts +11 -5
  495. package/icons/sortamountupalt/index.d.ts +11 -5
  496. package/icons/spinner/index.d.ts +11 -5
  497. package/icons/star/index.d.ts +11 -5
  498. package/icons/starfill/index.d.ts +11 -5
  499. package/icons/thlarge/index.d.ts +11 -5
  500. package/icons/times/index.d.ts +9 -5
  501. package/icons/timescircle/index.d.ts +11 -5
  502. package/icons/trash/index.d.ts +11 -5
  503. package/icons/undo/index.d.ts +11 -5
  504. package/icons/upload/index.d.ts +11 -5
  505. package/icons/windowmaximize/index.d.ts +11 -5
  506. package/icons/windowminimize/index.d.ts +11 -5
  507. package/image/index.d.ts +228 -3
  508. package/index.d.ts +2 -5
  509. package/inplace/index.d.ts +130 -3
  510. package/{chips/chips.d.ts → inputchips/index.d.ts} +101 -9
  511. package/inputgroup/index.d.ts +79 -3
  512. package/inputgroupaddon/index.d.ts +35 -3
  513. package/inputicon/index.d.ts +22 -3
  514. package/inputmask/index.d.ts +310 -3
  515. package/inputnumber/index.d.ts +469 -3
  516. package/inputotp/index.d.ts +189 -3
  517. package/inputswitch/index.d.ts +123 -3
  518. package/inputtext/index.d.ts +79 -5
  519. package/inputtextarea/index.d.ts +130 -3
  520. package/keyfilter/index.d.ts +65 -3
  521. package/knob/index.d.ts +179 -3
  522. package/listbox/index.d.ts +631 -3
  523. package/logo/index.d.ts +20 -5
  524. package/logocard/index.d.ts +15 -0
  525. package/megamenu/index.d.ts +230 -3
  526. package/menu/index.d.ts +222 -3
  527. package/menubar/index.d.ts +290 -3
  528. package/message/index.d.ts +53 -3
  529. package/messages/index.d.ts +129 -3
  530. package/metergroup/index.d.ts +224 -3
  531. package/multiselect/index.d.ts +1000 -3
  532. package/navigation/index.d.ts +110 -5
  533. package/orderlist/index.d.ts +381 -3
  534. package/organizationchart/index.d.ts +192 -3
  535. package/overlay/index.d.ts +246 -3
  536. package/overlaypanel/index.d.ts +175 -3
  537. package/package.json +255 -235
  538. package/paginator/index.d.ts +249 -3
  539. package/panel/index.d.ts +185 -3
  540. package/panelmenu/index.d.ts +249 -3
  541. package/password/index.d.ts +342 -3
  542. package/picklist/index.d.ts +696 -3
  543. package/productcard/index.d.ts +28 -0
  544. package/progressbar/index.d.ts +76 -3
  545. package/progressspinner/index.d.ts +58 -3
  546. package/radiobutton/index.d.ts +174 -3
  547. package/rating/index.d.ts +181 -3
  548. package/resources/cax.min.scss +6351 -1
  549. package/resources/cax.scss +11281 -12539
  550. package/resources/components/accordion/accordion.scss +0 -46
  551. package/resources/components/autocomplete/autocomplete.scss +249 -184
  552. package/resources/components/avatar/avatar.scss +30 -34
  553. package/resources/components/avatargroup/avatargroup.scss +10 -10
  554. package/resources/components/badge/badge.scss +68 -67
  555. package/resources/components/blockui/blockui.css +26 -26
  556. package/resources/components/breadcrumb/breadcrumb.scss +36 -33
  557. package/resources/components/button/button.scss +160 -163
  558. package/resources/components/calendar/calendar.scss +368 -231
  559. package/resources/components/card/card.scss +9 -50
  560. package/resources/components/carousel/carousel.css +71 -71
  561. package/resources/components/cascadeselect/cascadeselect.scss +104 -105
  562. package/resources/components/categorycard/categorycard.scss +46 -0
  563. package/resources/components/checkbox/checkbox.scss +30 -30
  564. package/resources/components/chip/chip.scss +6 -6
  565. package/resources/components/colorpicker/colorpicker-images.scss +7 -7
  566. package/resources/components/colorpicker/colorpicker.scss +82 -82
  567. package/resources/components/commentbox/commentbox.scss +621 -611
  568. package/resources/components/comments/comments.scss +0 -0
  569. package/resources/components/common/common.scss +183 -183
  570. package/resources/components/comparecard/comparecard.component.scss +50 -0
  571. package/resources/components/confirmpopup/confirmpopup.css +53 -53
  572. package/resources/components/contextmenu/contextmenu.css +42 -42
  573. package/resources/components/dataview/dataview.css +13 -13
  574. package/resources/components/dialog/dialog.scss +193 -171
  575. package/resources/components/divider/divider.scss +0 -86
  576. package/resources/components/dock/dock.css +107 -107
  577. package/resources/components/dropdown/dropdown.scss +93 -94
  578. package/resources/components/editor/editor.scss +97 -4
  579. package/resources/components/fieldset/fieldset.css +30 -30
  580. package/resources/components/fileupload/fileupload.css +47 -47
  581. package/resources/components/galleria/galleria.css +281 -281
  582. package/resources/components/iconfield/iconfield.css +5 -5
  583. package/resources/components/image/image.scss +97 -92
  584. package/resources/components/inplace/inplace.css +19 -19
  585. package/resources/components/{chips/chips.scss → inputchips/inputchips.scss} +181 -205
  586. package/resources/components/inputicon/inputicon.css +6 -6
  587. package/resources/components/inputmask/inputmask.scss +48 -12
  588. package/resources/components/inputnumber/inputnumber.scss +109 -109
  589. package/resources/components/inputotp/inputotp.css +2 -2
  590. package/resources/components/inputswitch/inputswitch.css +23 -23
  591. package/resources/components/inputtext/inputtext.scss +138 -145
  592. package/resources/components/inputtextarea/inputtextarea.scss +15 -10
  593. package/resources/components/knob/knob.css +20 -20
  594. package/resources/components/listbox/listbox.scss +49 -0
  595. package/resources/components/logocard/logocard.scss +6 -0
  596. package/resources/components/megamenu/megamenu.css +108 -108
  597. package/resources/components/menu/menu.scss +31 -31
  598. package/resources/components/menubar/menubar.css +81 -81
  599. package/resources/components/message/message.css +17 -17
  600. package/resources/components/messages/messages.scss +53 -55
  601. package/resources/components/multiselect/multiselect.scss +132 -132
  602. package/resources/components/navigation/navigation.scss +236 -197
  603. package/resources/components/orderlist/orderlist.css +78 -78
  604. package/resources/components/organizationchart/organizationchart.css +62 -62
  605. package/resources/components/overlay/overlay.scss +80 -80
  606. package/resources/components/overlaypanel/overlaypanel.scss +84 -66
  607. package/resources/components/paginator/paginator.scss +41 -41
  608. package/resources/components/panel/panel.css +29 -29
  609. package/resources/components/panelmenu/panelmenu.css +45 -45
  610. package/resources/components/password/password.css +54 -54
  611. package/resources/components/picklist/picklist.css +60 -60
  612. package/resources/components/productcard/productcard.scss +95 -0
  613. package/resources/components/progressbar/progressbar.scss +107 -107
  614. package/resources/components/progressspinner/progressspinner.scss +0 -94
  615. package/resources/components/radiobutton/radiobutton.scss +34 -34
  616. package/resources/components/rating/rating.css +15 -15
  617. package/resources/components/ripple/ripple.scss +29 -29
  618. package/resources/components/scroller/scroller.scss +58 -58
  619. package/resources/components/scrollpanel/scrollpanel.css +50 -50
  620. package/resources/components/scrolltop/scrolltop.css +18 -18
  621. package/resources/components/sidebar/sidebar.scss +117 -117
  622. package/resources/components/skeleton/skeleton.scss +24 -25
  623. package/resources/components/slidemenu/slidemenu.css +100 -100
  624. package/resources/components/slider/{slider.css → slider.scss} +41 -41
  625. package/resources/components/speeddial/speeddial.scss +131 -122
  626. package/resources/components/spinner/spinner.css +63 -63
  627. package/resources/components/splitbutton/splitbutton.scss +57 -53
  628. package/resources/components/splitter/splitter.scss +73 -73
  629. package/resources/components/stepper/stepper.css +9 -9
  630. package/resources/components/steps/steps.scss +49 -50
  631. package/resources/components/subscriptioncard/subscriptioncard.component.scss +65 -0
  632. package/resources/components/table/table.scss +511 -458
  633. package/resources/components/table-paginator/table-paginator.component.scss +72 -0
  634. package/resources/components/tableconfiguration/tableconfiguration.scss +3 -125
  635. package/resources/components/tabmenu/tabmenu.css +80 -80
  636. package/resources/components/tabview/tabview.scss +206 -198
  637. package/resources/components/tag/tag.scss +7 -23
  638. package/resources/components/terminal/terminal.css +24 -24
  639. package/resources/components/tieredmenu/tieredmenu.scss +55 -55
  640. package/resources/components/timeline/timeline.scss +128 -128
  641. package/resources/components/toast/toast.scss +78 -87
  642. package/resources/components/toggleswitch/toggleswitch.scss +45 -36
  643. package/resources/components/toolbar/toolbar.css +19 -19
  644. package/resources/components/tooltip/tooltip.scss +124 -124
  645. package/resources/components/tree/tree.scss +154 -154
  646. package/resources/components/treeselect/treeselect.scss +114 -114
  647. package/resources/components/treetable/treetable.css +205 -205
  648. package/resources/components/upload/upload.component.scss +84 -145
  649. package/resources/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  650. package/resources/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  651. package/resources/fonts/Inter/OFL.txt +93 -0
  652. package/resources/fonts/Inter/README.txt +118 -0
  653. package/resources/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
  654. package/resources/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
  655. package/resources/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
  656. package/resources/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
  657. package/resources/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
  658. package/resources/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  659. package/resources/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
  660. package/resources/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
  661. package/resources/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
  662. package/resources/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
  663. package/resources/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
  664. package/resources/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
  665. package/resources/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
  666. package/resources/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
  667. package/resources/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
  668. package/resources/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
  669. package/resources/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
  670. package/resources/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
  671. package/resources/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
  672. package/resources/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
  673. package/resources/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
  674. package/resources/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
  675. package/resources/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
  676. package/resources/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  677. package/resources/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
  678. package/resources/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
  679. package/resources/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
  680. package/resources/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
  681. package/resources/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
  682. package/resources/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
  683. package/resources/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
  684. package/resources/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
  685. package/resources/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
  686. package/resources/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
  687. package/resources/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
  688. package/resources/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
  689. package/resources/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
  690. package/resources/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
  691. package/resources/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
  692. package/resources/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
  693. package/resources/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
  694. package/resources/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  695. package/resources/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
  696. package/resources/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
  697. package/resources/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
  698. package/resources/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
  699. package/resources/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
  700. package/resources/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
  701. package/resources/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
  702. package/resources/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
  703. package/resources/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
  704. package/resources/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
  705. package/resources/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
  706. package/resources/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
  707. package/resources/logo/cax-intro-logo.svg +75 -0
  708. package/resources/logo/cax-sidebar-logo.svg +6 -0
  709. package/resources/logo/dataX-dark.svg +12 -12
  710. package/resources/logo/dataX-icon-dark.svg +5 -5
  711. package/resources/logo/dataX-icon.svg +5 -5
  712. package/resources/logo/dataX.svg +12 -12
  713. package/resources/styles/colors.scss +568 -397
  714. package/resources/styles/fonts.scss +15 -0
  715. package/resources/styles/transitions.scss +23 -0
  716. package/resources/styles/typography.scss +555 -116
  717. package/resources/styles/variables.scss +85 -0
  718. package/ripple/index.d.ts +37 -3
  719. package/scroller/index.d.ts +528 -3
  720. package/scrollpanel/index.d.ts +116 -3
  721. package/scrolltop/index.d.ts +117 -3
  722. package/selectbutton/index.d.ts +233 -3
  723. package/sidebar/index.d.ts +213 -3
  724. package/skeleton/index.d.ts +69 -3
  725. package/slidemenu/index.d.ts +339 -3
  726. package/slider/index.d.ts +215 -3
  727. package/speeddial/index.d.ts +324 -3
  728. package/spinner/index.d.ts +93 -5
  729. package/splitbutton/index.d.ts +264 -3
  730. package/splitter/index.d.ts +201 -3
  731. package/stepper/index.d.ts +145 -3
  732. package/steps/index.d.ts +95 -3
  733. package/styleclass/index.d.ts +109 -3
  734. package/subscriptioncard/index.d.ts +46 -0
  735. package/table/index.d.ts +2530 -3
  736. package/table-paginator/index.d.ts +61 -0
  737. package/tableconfiguration/index.d.ts +27 -5
  738. package/tabmenu/index.d.ts +160 -3
  739. package/tabview/index.d.ts +360 -3
  740. package/tag/index.d.ts +120 -3
  741. package/terminal/index.d.ts +68 -3
  742. package/tieredmenu/index.d.ts +312 -3
  743. package/timeline/index.d.ts +100 -3
  744. package/toast/index.d.ts +194 -3
  745. package/togglebutton/index.d.ts +150 -3
  746. package/toggleswitch/index.d.ts +30 -5
  747. package/toolbar/index.d.ts +64 -3
  748. package/tooltip/index.d.ts +218 -3
  749. package/tree/index.d.ts +673 -3
  750. package/treeselect/index.d.ts +517 -3
  751. package/treetable/index.d.ts +1461 -3
  752. package/tristatecheckbox/index.d.ts +155 -3
  753. package/ts-helpers/index.d.ts +6 -5
  754. package/upload/index.d.ts +113 -5
  755. package/utils/index.d.ts +35 -5
  756. package/virtualscroller/index.d.ts +161 -3
  757. package/accordion/accordion.d.ts +0 -224
  758. package/accordion/accordion.interface.d.ts +0 -49
  759. package/accordion/accordion.module.d.ts +0 -13
  760. package/accordion/public_api.d.ts +0 -3
  761. package/animate/animate.d.ts +0 -40
  762. package/animate/public_api.d.ts +0 -1
  763. package/animateonscroll/animateonscroll.d.ts +0 -75
  764. package/animateonscroll/public_api.d.ts +0 -1
  765. package/api/blockableui.d.ts +0 -10
  766. package/api/caxconfig.d.ts +0 -24
  767. package/api/confirmaeventtype.d.ts +0 -8
  768. package/api/confirmation.d.ts +0 -96
  769. package/api/confirmationservice.d.ts +0 -30
  770. package/api/contextmenuservice.d.ts +0 -11
  771. package/api/filtermatchmode.d.ts +0 -22
  772. package/api/filtermetadata.d.ts +0 -18
  773. package/api/filteroperator.d.ts +0 -4
  774. package/api/filterservice.d.ts +0 -10
  775. package/api/lazyloadevent.d.ts +0 -47
  776. package/api/lazyloadmeta.d.ts +0 -19
  777. package/api/megamenuitem.d.ts +0 -130
  778. package/api/menuitem.d.ts +0 -176
  779. package/api/message.d.ts +0 -30
  780. package/api/messageservice.d.ts +0 -32
  781. package/api/overlayoptions.d.ts +0 -188
  782. package/api/overlayservice.d.ts +0 -9
  783. package/api/primeicons.d.ts +0 -313
  784. package/api/public_api.d.ts +0 -34
  785. package/api/scrolleroptions.d.ts +0 -116
  786. package/api/selectitem.d.ts +0 -12
  787. package/api/selectitemgroup.d.ts +0 -10
  788. package/api/shared.d.ts +0 -24
  789. package/api/sortevent.d.ts +0 -12
  790. package/api/sortmeta.d.ts +0 -8
  791. package/api/tablestate.d.ts +0 -60
  792. package/api/themegeneratorservice.d.ts +0 -12
  793. package/api/tooltipoptions.d.ts +0 -69
  794. package/api/translation.d.ts +0 -135
  795. package/api/translationkeys.d.ts +0 -50
  796. package/api/treedragdropservice.d.ts +0 -12
  797. package/api/treenode.d.ts +0 -91
  798. package/api/treenodedragevent.d.ts +0 -27
  799. package/api/treetablenode.d.ts +0 -36
  800. package/autocomplete/autocomplete.d.ts +0 -616
  801. package/autocomplete/autocomplete.interface.d.ts +0 -164
  802. package/autocomplete/autocomplete.module.d.ts +0 -20
  803. package/autocomplete/public_api.d.ts +0 -3
  804. package/autofocus/autofocus.d.ts +0 -28
  805. package/autofocus/public_api.d.ts +0 -1
  806. package/avatar/avatar.d.ts +0 -73
  807. package/avatar/avatar.module.d.ts +0 -7
  808. package/avatar/public_api.d.ts +0 -2
  809. package/avatargroup/avatargroup.d.ts +0 -21
  810. package/avatargroup/avatargroup.module.d.ts +0 -9
  811. package/avatargroup/public_api.d.ts +0 -2
  812. package/badge/badge.d.ts +0 -21
  813. package/badge/badge.directive.d.ts +0 -35
  814. package/badge/badge.module.d.ts +0 -10
  815. package/badge/public_api.d.ts +0 -3
  816. package/baseicon/baseicon.d.ts +0 -15
  817. package/baseicon/public_api.d.ts +0 -1
  818. package/blockui/blockui.d.ts +0 -64
  819. package/blockui/blockui.interface.d.ts +0 -11
  820. package/blockui/public_api.d.ts +0 -2
  821. package/breadcrumb/breadcrumb.d.ts +0 -55
  822. package/breadcrumb/breadcrumb.interface.d.ts +0 -38
  823. package/breadcrumb/breadcrumb.module.d.ts +0 -13
  824. package/breadcrumb/public_api.d.ts +0 -3
  825. package/button/button.d.ts +0 -85
  826. package/button/button.directive.d.ts +0 -49
  827. package/button/button.interface.d.ts +0 -30
  828. package/button/button.module.d.ts +0 -9
  829. package/button/public_api.d.ts +0 -4
  830. package/buttongroup/buttongroup.d.ts +0 -11
  831. package/buttongroup/public_api.d.ts +0 -1
  832. package/calendar/calendar.d.ts +0 -722
  833. package/calendar/calendar.interface.d.ts +0 -204
  834. package/calendar/calendar.module.d.ts +0 -9
  835. package/calendar/public_api.d.ts +0 -3
  836. package/card/card.d.ts +0 -53
  837. package/card/card.interface.d.ts +0 -27
  838. package/card/card.module.d.ts +0 -11
  839. package/card/public_api.d.ts +0 -3
  840. package/carousel/carousel.d.ts +0 -227
  841. package/carousel/carousel.interface.d.ts +0 -63
  842. package/carousel/public_api.d.ts +0 -2
  843. package/cascadeselect/cascadeselect.d.ts +0 -435
  844. package/cascadeselect/cascadeselect.interface.d.ts +0 -115
  845. package/cascadeselect/cascadeselect.module.d.ts +0 -15
  846. package/cascadeselect/public_api.d.ts +0 -3
  847. package/chart/chart.d.ts +0 -87
  848. package/chart/public_api.d.ts +0 -1
  849. package/checkbox/checkbox.d.ts +0 -168
  850. package/checkbox/checkbox.interface.d.ts +0 -26
  851. package/checkbox/checkbox.module.d.ts +0 -10
  852. package/checkbox/public_api.d.ts +0 -3
  853. package/chip/chip.d.ts +0 -38
  854. package/chip/chip.interface.d.ts +0 -15
  855. package/chip/chip.module.d.ts +0 -10
  856. package/chip/public_api.d.ts +0 -3
  857. package/chips/chips.interface.d.ts +0 -58
  858. package/chips/chips.module.d.ts +0 -14
  859. package/chips/index.d.ts +0 -5
  860. package/chips/public_api.d.ts +0 -3
  861. package/colorpicker/colorpicker.d.ts +0 -240
  862. package/colorpicker/colorpicker.interface.d.ts +0 -15
  863. package/colorpicker/colorpicker.module.d.ts +0 -9
  864. package/colorpicker/public_api.d.ts +0 -3
  865. package/commentbox/commentbox.d.ts +0 -120
  866. package/commentbox/commentbox.module.d.ts +0 -17
  867. package/commentbox/public_api.d.ts +0 -2
  868. package/confirmdialog/confirmdialog.d.ts +0 -281
  869. package/confirmdialog/confirmdialog.interface.d.ts +0 -39
  870. package/confirmdialog/confirmdialog.module.d.ts +0 -15
  871. package/confirmdialog/public_api.d.ts +0 -3
  872. package/confirmpopup/confirmpopup.d.ts +0 -119
  873. package/confirmpopup/confirmpopup.interface.d.ts +0 -27
  874. package/confirmpopup/public_api.d.ts +0 -2
  875. package/contextmenu/contextmenu.d.ts +0 -260
  876. package/contextmenu/public_api.d.ts +0 -1
  877. package/dataview/dataview.d.ts +0 -274
  878. package/dataview/dataview.interface.d.ts +0 -183
  879. package/dataview/public_api.d.ts +0 -2
  880. package/defer/defer.d.ts +0 -39
  881. package/defer/public_api.d.ts +0 -1
  882. package/dialog/dialog.d.ts +0 -364
  883. package/dialog/dialog.interface.d.ts +0 -31
  884. package/dialog/dialog.module.d.ts +0 -15
  885. package/dialog/public_api.d.ts +0 -3
  886. package/divider/divider.d.ts +0 -49
  887. package/divider/divider.module.d.ts +0 -7
  888. package/divider/public_api.d.ts +0 -2
  889. package/dock/dock.d.ts +0 -115
  890. package/dock/dock.interface.d.ts +0 -19
  891. package/dock/public_api.d.ts +0 -2
  892. package/dom/connectedoverlayscrollhandler.d.ts +0 -9
  893. package/dom/domhandler.d.ts +0 -95
  894. package/dom/public_api.d.ts +0 -2
  895. package/dragdrop/dragdrop.d.ts +0 -112
  896. package/dragdrop/dragdrop.module.d.ts +0 -8
  897. package/dragdrop/public_api.d.ts +0 -2
  898. package/dropdown/dropdown-item.d.ts +0 -30
  899. package/dropdown/dropdown.d.ts +0 -628
  900. package/dropdown/dropdown.interface.d.ts +0 -154
  901. package/dropdown/dropdown.module.d.ts +0 -11
  902. package/dropdown/public_api.d.ts +0 -4
  903. package/dynamicdialog/dialogservice.d.ts +0 -35
  904. package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
  905. package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
  906. package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
  907. package/dynamicdialog/dynamicdialog.d.ts +0 -124
  908. package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
  909. package/dynamicdialog/public_api.d.ts +0 -6
  910. package/editor/editor.d.ts +0 -104
  911. package/editor/editor.interface.d.ts +0 -64
  912. package/editor/editor.module.d.ts +0 -9
  913. package/editor/public_api.d.ts +0 -3
  914. package/fesm2022/cax-design-system-chips.mjs.map +0 -1
  915. package/fieldset/fieldset.d.ts +0 -93
  916. package/fieldset/fieldset.interface.d.ts +0 -46
  917. package/fieldset/public_api.d.ts +0 -2
  918. package/fileupload/fileupload.d.ts +0 -380
  919. package/fileupload/fileupload.interface.d.ts +0 -226
  920. package/fileupload/public_api.d.ts +0 -2
  921. package/floatlabel/floatlabel.d.ts +0 -9
  922. package/floatlabel/floatlabel.module.d.ts +0 -10
  923. package/floatlabel/public_api.d.ts +0 -2
  924. package/focustrap/focustrap.d.ts +0 -34
  925. package/focustrap/public_api.d.ts +0 -1
  926. package/galleria/galleria.d.ts +0 -404
  927. package/galleria/galleria.interface.d.ts +0 -97
  928. package/galleria/public_api.d.ts +0 -2
  929. package/iconfield/iconfield.d.ts +0 -25
  930. package/iconfield/public_api.d.ts +0 -1
  931. package/icons/angledoubledown/angledoubledown.d.ts +0 -6
  932. package/icons/angledoubledown/public_api.d.ts +0 -1
  933. package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
  934. package/icons/angledoubleleft/public_api.d.ts +0 -1
  935. package/icons/angledoubleright/angledoubleright.d.ts +0 -6
  936. package/icons/angledoubleright/public_api.d.ts +0 -1
  937. package/icons/angledoubleup/angledoubleup.d.ts +0 -6
  938. package/icons/angledoubleup/public_api.d.ts +0 -1
  939. package/icons/angledown/angledown.d.ts +0 -6
  940. package/icons/angledown/public_api.d.ts +0 -1
  941. package/icons/angleleft/angleleft.d.ts +0 -6
  942. package/icons/angleleft/public_api.d.ts +0 -1
  943. package/icons/angleright/angleright.d.ts +0 -6
  944. package/icons/angleright/public_api.d.ts +0 -1
  945. package/icons/angleup/angleup.d.ts +0 -6
  946. package/icons/angleup/public_api.d.ts +0 -1
  947. package/icons/arrowdown/arrowdown.d.ts +0 -9
  948. package/icons/arrowdown/public_api.d.ts +0 -1
  949. package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
  950. package/icons/arrowdownleft/public_api.d.ts +0 -1
  951. package/icons/arrowdownright/arrowdownright.d.ts +0 -6
  952. package/icons/arrowdownright/public_api.d.ts +0 -1
  953. package/icons/arrowleft/arrowleft.d.ts +0 -8
  954. package/icons/arrowleft/public_api.d.ts +0 -1
  955. package/icons/arrowright/arrowright.d.ts +0 -6
  956. package/icons/arrowright/public_api.d.ts +0 -1
  957. package/icons/arrowup/arrowup.d.ts +0 -8
  958. package/icons/arrowup/public_api.d.ts +0 -1
  959. package/icons/ban/ban.d.ts +0 -8
  960. package/icons/ban/public_api.d.ts +0 -1
  961. package/icons/bars/bars.d.ts +0 -6
  962. package/icons/bars/public_api.d.ts +0 -1
  963. package/icons/blank/blank.d.ts +0 -6
  964. package/icons/blank/public_api.d.ts +0 -1
  965. package/icons/calendar/calendar.d.ts +0 -6
  966. package/icons/calendar/public_api.d.ts +0 -1
  967. package/icons/caretleft/caretleft.d.ts +0 -6
  968. package/icons/caretleft/public_api.d.ts +0 -1
  969. package/icons/caretright/caretright.d.ts +0 -6
  970. package/icons/caretright/public_api.d.ts +0 -1
  971. package/icons/check/check.d.ts +0 -6
  972. package/icons/check/public_api.d.ts +0 -1
  973. package/icons/chevrondown/chevrondown.d.ts +0 -6
  974. package/icons/chevrondown/public_api.d.ts +0 -1
  975. package/icons/chevronleft/chevronleft.d.ts +0 -6
  976. package/icons/chevronleft/public_api.d.ts +0 -1
  977. package/icons/chevronright/chevronright.d.ts +0 -6
  978. package/icons/chevronright/public_api.d.ts +0 -1
  979. package/icons/chevronup/chevronup.d.ts +0 -6
  980. package/icons/chevronup/public_api.d.ts +0 -1
  981. package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
  982. package/icons/exclamationtriangle/public_api.d.ts +0 -1
  983. package/icons/eye/eye.d.ts +0 -6
  984. package/icons/eye/public_api.d.ts +0 -1
  985. package/icons/eyeslash/eyeslash.d.ts +0 -8
  986. package/icons/eyeslash/public_api.d.ts +0 -1
  987. package/icons/filter/filter.d.ts +0 -8
  988. package/icons/filter/public_api.d.ts +0 -1
  989. package/icons/filterslash/filterslash.d.ts +0 -8
  990. package/icons/filterslash/public_api.d.ts +0 -1
  991. package/icons/home/home.d.ts +0 -8
  992. package/icons/home/public_api.d.ts +0 -1
  993. package/icons/infocircle/infocircle.d.ts +0 -8
  994. package/icons/infocircle/public_api.d.ts +0 -1
  995. package/icons/minus/minus.d.ts +0 -6
  996. package/icons/minus/public_api.d.ts +0 -1
  997. package/icons/pencil/pencil.d.ts +0 -8
  998. package/icons/pencil/public_api.d.ts +0 -1
  999. package/icons/plus/plus.d.ts +0 -8
  1000. package/icons/plus/public_api.d.ts +0 -1
  1001. package/icons/refresh/public_api.d.ts +0 -1
  1002. package/icons/refresh/refresh.d.ts +0 -8
  1003. package/icons/search/public_api.d.ts +0 -1
  1004. package/icons/search/search.d.ts +0 -8
  1005. package/icons/searchminus/public_api.d.ts +0 -1
  1006. package/icons/searchminus/searchminus.d.ts +0 -8
  1007. package/icons/searchplus/public_api.d.ts +0 -1
  1008. package/icons/searchplus/searchplus.d.ts +0 -8
  1009. package/icons/sortalt/public_api.d.ts +0 -1
  1010. package/icons/sortalt/sortalt.d.ts +0 -8
  1011. package/icons/sortamountdown/public_api.d.ts +0 -1
  1012. package/icons/sortamountdown/sortamountdown.d.ts +0 -8
  1013. package/icons/sortamountupalt/public_api.d.ts +0 -1
  1014. package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
  1015. package/icons/spinner/public_api.d.ts +0 -1
  1016. package/icons/spinner/spinner.d.ts +0 -8
  1017. package/icons/star/public_api.d.ts +0 -1
  1018. package/icons/star/star.d.ts +0 -8
  1019. package/icons/starfill/public_api.d.ts +0 -1
  1020. package/icons/starfill/starfill.d.ts +0 -8
  1021. package/icons/thlarge/public_api.d.ts +0 -1
  1022. package/icons/thlarge/thlarge.d.ts +0 -8
  1023. package/icons/times/public_api.d.ts +0 -1
  1024. package/icons/times/times.d.ts +0 -6
  1025. package/icons/timescircle/public_api.d.ts +0 -1
  1026. package/icons/timescircle/timescircle.d.ts +0 -8
  1027. package/icons/trash/public_api.d.ts +0 -1
  1028. package/icons/trash/trash.d.ts +0 -8
  1029. package/icons/undo/public_api.d.ts +0 -1
  1030. package/icons/undo/undo.d.ts +0 -8
  1031. package/icons/upload/public_api.d.ts +0 -1
  1032. package/icons/upload/upload.d.ts +0 -8
  1033. package/icons/windowmaximize/public_api.d.ts +0 -1
  1034. package/icons/windowmaximize/windowmaximize.d.ts +0 -8
  1035. package/icons/windowminimize/public_api.d.ts +0 -1
  1036. package/icons/windowminimize/windowminimize.d.ts +0 -8
  1037. package/image/image.d.ts +0 -188
  1038. package/image/image.interface.d.ts +0 -31
  1039. package/image/image.module.d.ts +0 -8
  1040. package/image/public_api.d.ts +0 -3
  1041. package/inplace/inplace.d.ts +0 -109
  1042. package/inplace/inplace.interface.d.ts +0 -19
  1043. package/inplace/public_api.d.ts +0 -2
  1044. package/inputgroup/inputgroup.d.ts +0 -33
  1045. package/inputgroup/inputgroup.module.d.ts +0 -15
  1046. package/inputgroup/public_api.d.ts +0 -2
  1047. package/inputgroupaddon/inputgroupaddon.d.ts +0 -21
  1048. package/inputgroupaddon/inputgroupaddon.module.d.ts +0 -14
  1049. package/inputgroupaddon/public_api.d.ts +0 -2
  1050. package/inputicon/inputicon.d.ts +0 -21
  1051. package/inputicon/public_api.d.ts +0 -1
  1052. package/inputmask/inputmask.d.ts +0 -273
  1053. package/inputmask/inputmask.interface.d.ts +0 -19
  1054. package/inputmask/inputmask.module.d.ts +0 -12
  1055. package/inputmask/public_api.d.ts +0 -3
  1056. package/inputnumber/inputnumber.d.ts +0 -397
  1057. package/inputnumber/inputnumber.interface.d.ts +0 -38
  1058. package/inputnumber/inputnumber.module.d.ts +0 -8
  1059. package/inputnumber/public_api.d.ts +0 -3
  1060. package/inputotp/inputotp.d.ts +0 -123
  1061. package/inputotp/inputotp.interface.d.ts +0 -65
  1062. package/inputotp/public_api.d.ts +0 -2
  1063. package/inputswitch/inputswitch.d.ts +0 -106
  1064. package/inputswitch/inputswitch.interface.d.ts +0 -15
  1065. package/inputswitch/public_api.d.ts +0 -2
  1066. package/inputtext/inputtext.component.d.ts +0 -43
  1067. package/inputtext/inputtext.directive.d.ts +0 -25
  1068. package/inputtext/inputtext.module.d.ts +0 -10
  1069. package/inputtext/public_api.d.ts +0 -3
  1070. package/inputtextarea/inputtextarea.component.d.ts +0 -57
  1071. package/inputtextarea/inputtextarea.directive.d.ts +0 -47
  1072. package/inputtextarea/inputtextarea.module.d.ts +0 -10
  1073. package/inputtextarea/public_api.d.ts +0 -3
  1074. package/keyfilter/keyfilter.d.ts +0 -58
  1075. package/keyfilter/keyfilter.interface.d.ts +0 -5
  1076. package/keyfilter/public_api.d.ts +0 -2
  1077. package/knob/knob.d.ts +0 -178
  1078. package/knob/public_api.d.ts +0 -1
  1079. package/listbox/listbox.d.ts +0 -463
  1080. package/listbox/listbox.interface.d.ts +0 -156
  1081. package/listbox/public_api.d.ts +0 -2
  1082. package/logo/logo.d.ts +0 -11
  1083. package/logo/logo.module.d.ts +0 -7
  1084. package/logo/public_api.d.ts +0 -2
  1085. package/megamenu/megamenu.d.ts +0 -198
  1086. package/megamenu/megamenu.interface.d.ts +0 -31
  1087. package/megamenu/public_api.d.ts +0 -2
  1088. package/menu/menu.d.ts +0 -210
  1089. package/menu/menu.module.d.ts +0 -12
  1090. package/menu/public_api.d.ts +0 -2
  1091. package/menubar/menubar.d.ts +0 -248
  1092. package/menubar/menubar.interface.d.ts +0 -40
  1093. package/menubar/public_api.d.ts +0 -2
  1094. package/message/message.d.ts +0 -52
  1095. package/message/public_api.d.ts +0 -1
  1096. package/messages/messages.d.ts +0 -115
  1097. package/messages/messages.interface.d.ts +0 -18
  1098. package/messages/messages.module.d.ts +0 -8
  1099. package/messages/public_api.d.ts +0 -3
  1100. package/metergroup/metergroup.d.ts +0 -101
  1101. package/metergroup/metergroup.interface.d.ts +0 -122
  1102. package/metergroup/public_api.d.ts +0 -2
  1103. package/multiselect/multiselect.d.ts +0 -710
  1104. package/multiselect/multiselect.interface.d.ts +0 -247
  1105. package/multiselect/multiselect.module.d.ts +0 -20
  1106. package/multiselect/public_api.d.ts +0 -3
  1107. package/navigation/navigation.d.ts +0 -70
  1108. package/navigation/navigation.interface.d.ts +0 -26
  1109. package/navigation/navigation.module.d.ts +0 -7
  1110. package/navigation/public_api.d.ts +0 -2
  1111. package/orderlist/orderlist.d.ts +0 -270
  1112. package/orderlist/orderlist.interface.d.ts +0 -110
  1113. package/orderlist/public_api.d.ts +0 -2
  1114. package/organizationchart/organizationchart.d.ts +0 -132
  1115. package/organizationchart/organizationchart.interface.d.ts +0 -59
  1116. package/organizationchart/public_api.d.ts +0 -2
  1117. package/overlay/overlay.d.ts +0 -238
  1118. package/overlay/overlay.module.d.ts +0 -8
  1119. package/overlay/public_api.d.ts +0 -2
  1120. package/overlaypanel/overlaypanel.d.ts +0 -162
  1121. package/overlaypanel/overlaypanel.module.d.ts +0 -8
  1122. package/overlaypanel/public_api.d.ts +0 -2
  1123. package/paginator/paginator.d.ts +0 -195
  1124. package/paginator/paginator.interface.d.ts +0 -37
  1125. package/paginator/paginator.module.d.ts +0 -17
  1126. package/paginator/public_api.d.ts +0 -3
  1127. package/panel/panel.d.ts +0 -126
  1128. package/panel/panel.interface.d.ts +0 -58
  1129. package/panel/public_api.d.ts +0 -2
  1130. package/panelmenu/panelmenu.d.ts +0 -225
  1131. package/panelmenu/panelmenu.interface.d.ts +0 -23
  1132. package/panelmenu/public_api.d.ts +0 -2
  1133. package/password/password.d.ts +0 -342
  1134. package/password/public_api.d.ts +0 -1
  1135. package/picklist/picklist.d.ts +0 -453
  1136. package/picklist/picklist.interface.d.ts +0 -242
  1137. package/picklist/public_api.d.ts +0 -2
  1138. package/progressbar/progressbar.d.ts +0 -54
  1139. package/progressbar/progressbar.module.d.ts +0 -8
  1140. package/progressbar/public_api.d.ts +0 -2
  1141. package/progressspinner/progressspinner.d.ts +0 -50
  1142. package/progressspinner/progressspinner.module.d.ts +0 -8
  1143. package/progressspinner/public_api.d.ts +0 -2
  1144. package/public_api.d.ts +0 -2
  1145. package/radiobutton/public_api.d.ts +0 -3
  1146. package/radiobutton/radiobutton.d.ts +0 -150
  1147. package/radiobutton/radiobutton.interface.d.ts +0 -15
  1148. package/radiobutton/radiobutton.module.d.ts +0 -7
  1149. package/rating/public_api.d.ts +0 -2
  1150. package/rating/rating.d.ts +0 -146
  1151. package/rating/rating.interface.d.ts +0 -34
  1152. package/resources/components/listbox/listbox.css +0 -40
  1153. package/resources/styles/shadow-blur.scss +0 -22
  1154. package/resources/styles/space-radius-border.scss +0 -49
  1155. package/ripple/public_api.d.ts +0 -2
  1156. package/ripple/ripple.d.ts +0 -30
  1157. package/ripple/ripple.module.d.ts +0 -7
  1158. package/scroller/public_api.d.ts +0 -3
  1159. package/scroller/scroller.d.ts +0 -343
  1160. package/scroller/scroller.interface.d.ts +0 -177
  1161. package/scroller/scroller.module.d.ts +0 -8
  1162. package/scrollpanel/public_api.d.ts +0 -2
  1163. package/scrollpanel/scrollpanel.d.ts +0 -103
  1164. package/scrollpanel/scrollpanel.interface.d.ts +0 -11
  1165. package/scrolltop/public_api.d.ts +0 -2
  1166. package/scrolltop/scrolltop.d.ts +0 -97
  1167. package/scrolltop/scrolltop.interface.d.ts +0 -18
  1168. package/selectbutton/public_api.d.ts +0 -3
  1169. package/selectbutton/selectbutton.d.ts +0 -128
  1170. package/selectbutton/selectbutton.interface.d.ts +0 -45
  1171. package/selectbutton/selectbutton.module.d.ts +0 -11
  1172. package/sidebar/public_api.d.ts +0 -3
  1173. package/sidebar/sidebar.d.ts +0 -173
  1174. package/sidebar/sidebar.interface.d.ts +0 -27
  1175. package/sidebar/sidebar.module.d.ts +0 -12
  1176. package/skeleton/public_api.d.ts +0 -2
  1177. package/skeleton/skeleton.d.ts +0 -61
  1178. package/skeleton/skeleton.module.d.ts +0 -8
  1179. package/slidemenu/public_api.d.ts +0 -2
  1180. package/slidemenu/slidemenu.d.ts +0 -322
  1181. package/slidemenu/slidemenu.interface.d.ts +0 -15
  1182. package/slider/public_api.d.ts +0 -2
  1183. package/slider/slider.d.ts +0 -174
  1184. package/slider/slider.interface.d.ts +0 -38
  1185. package/speeddial/public_api.d.ts +0 -3
  1186. package/speeddial/speeddial.d.ts +0 -277
  1187. package/speeddial/speeddial.interface.d.ts +0 -28
  1188. package/speeddial/speeddial.module.d.ts +0 -14
  1189. package/spinner/public_api.d.ts +0 -1
  1190. package/spinner/spinner.d.ts +0 -90
  1191. package/splitbutton/public_api.d.ts +0 -3
  1192. package/splitbutton/splitbutton.d.ts +0 -222
  1193. package/splitbutton/splitbutton.interface.d.ts +0 -30
  1194. package/splitbutton/splitbutton.module.d.ts +0 -13
  1195. package/splitter/public_api.d.ts +0 -3
  1196. package/splitter/splitter.d.ts +0 -158
  1197. package/splitter/splitter.interface.d.ts +0 -34
  1198. package/splitter/splitter.module.d.ts +0 -9
  1199. package/stepper/public_api.d.ts +0 -2
  1200. package/stepper/stepper.d.ts +0 -117
  1201. package/stepper/stepper.interface.d.ts +0 -26
  1202. package/steps/public_api.d.ts +0 -2
  1203. package/steps/steps.d.ts +0 -77
  1204. package/steps/steps.module.d.ts +0 -10
  1205. package/styleclass/public_api.d.ts +0 -1
  1206. package/styleclass/styleclass.d.ts +0 -108
  1207. package/table/columnfilter.interface.d.ts +0 -247
  1208. package/table/components/cell-editor/cell-editor.d.ts +0 -20
  1209. package/table/components/column-filter/column-filter.d.ts +0 -291
  1210. package/table/components/column-filter-form-element/column-filter-form-element.d.ts +0 -37
  1211. package/table/components/sort-icon/sort-icon.d.ts +0 -22
  1212. package/table/components/table-body/table-body.d.ts +0 -36
  1213. package/table/components/table-checkbox/table-checkbox.d.ts +0 -32
  1214. package/table/components/table-header-checkbox/table-header-checkbox.d.ts +0 -29
  1215. package/table/components/table-radio-button/table-radio-button.d.ts +0 -29
  1216. package/table/directives/cancel-editable-row.directive.d.ts +0 -11
  1217. package/table/directives/cell-highlight.directive.d.ts +0 -14
  1218. package/table/directives/content-menu-row.directive.d.ts +0 -22
  1219. package/table/directives/dynamic-column-width.directive.d.ts +0 -12
  1220. package/table/directives/editable-column.directive.d.ts +0 -40
  1221. package/table/directives/editable-row.directive.d.ts +0 -12
  1222. package/table/directives/frozen-column.directive.d.ts +0 -16
  1223. package/table/directives/init-editable-row.directive.d.ts +0 -11
  1224. package/table/directives/reorderable-column.directive.d.ts +0 -32
  1225. package/table/directives/reorderable-row-handle.directive.d.ts +0 -9
  1226. package/table/directives/reorderable-row.directive.d.ts +0 -34
  1227. package/table/directives/resizable-column.directive.d.ts +0 -35
  1228. package/table/directives/row-group-header.directive.d.ts +0 -9
  1229. package/table/directives/row-toggler.directive.d.ts +0 -13
  1230. package/table/directives/save-editable-row.directive.d.ts +0 -11
  1231. package/table/directives/selectable-row-double-click.directive.d.ts +0 -22
  1232. package/table/directives/selectable-row.directive.d.ts +0 -37
  1233. package/table/directives/sortable-column.directive.d.ts +0 -24
  1234. package/table/public_api.d.ts +0 -30
  1235. package/table/table.d.ts +0 -871
  1236. package/table/table.interface.d.ts +0 -623
  1237. package/table/table.module.d.ts +0 -34
  1238. package/table/table.service.d.ts +0 -24
  1239. package/tableconfiguration/public_api.d.ts +0 -2
  1240. package/tableconfiguration/tableconfiguration.d.ts +0 -16
  1241. package/tableconfiguration/tableconfiguration.module.d.ts +0 -7
  1242. package/tabmenu/public_api.d.ts +0 -2
  1243. package/tabmenu/tabmenu.d.ts +0 -126
  1244. package/tabmenu/tabmenu.interface.d.ts +0 -32
  1245. package/tabview/public_api.d.ts +0 -3
  1246. package/tabview/tabview.d.ts +0 -293
  1247. package/tabview/tabview.interface.d.ts +0 -49
  1248. package/tabview/tabview.module.d.ts +0 -15
  1249. package/tag/public_api.d.ts +0 -3
  1250. package/tag/tag.d.ts +0 -61
  1251. package/tag/tag.interface.d.ts +0 -11
  1252. package/tag/tag.module.d.ts +0 -9
  1253. package/terminal/public_api.d.ts +0 -2
  1254. package/terminal/terminal.d.ts +0 -56
  1255. package/terminal/terminalservice.d.ts +0 -11
  1256. package/tieredmenu/public_api.d.ts +0 -3
  1257. package/tieredmenu/tieredmenu.d.ts +0 -266
  1258. package/tieredmenu/tieredmenu.interface.d.ts +0 -27
  1259. package/tieredmenu/tiredmenu.module.d.ts +0 -13
  1260. package/timeline/public_api.d.ts +0 -3
  1261. package/timeline/timeline.d.ts +0 -47
  1262. package/timeline/timeline.interface.d.ts +0 -43
  1263. package/timeline/timeline.module.d.ts +0 -9
  1264. package/toast/public_api.d.ts +0 -3
  1265. package/toast/toast.d.ts +0 -142
  1266. package/toast/toast.interface.d.ts +0 -52
  1267. package/toast/toast.module.d.ts +0 -9
  1268. package/toast/toastitem.d.ts +0 -37
  1269. package/togglebutton/public_api.d.ts +0 -2
  1270. package/togglebutton/togglebutton.d.ts +0 -115
  1271. package/togglebutton/togglebutton.interface.d.ts +0 -34
  1272. package/toggleswitch/public_api.d.ts +0 -2
  1273. package/toggleswitch/toggleswitch.d.ts +0 -14
  1274. package/toggleswitch/toggleswitch.module.d.ts +0 -9
  1275. package/toolbar/public_api.d.ts +0 -2
  1276. package/toolbar/toolbar.d.ts +0 -43
  1277. package/toolbar/toolbar.interface.d.ts +0 -19
  1278. package/tooltip/public_api.d.ts +0 -2
  1279. package/tooltip/tooltip.d.ts +0 -208
  1280. package/tooltip/tooltip.module.d.ts +0 -10
  1281. package/tree/public_api.d.ts +0 -3
  1282. package/tree/tree.d.ts +0 -461
  1283. package/tree/tree.interface.d.ts +0 -193
  1284. package/tree/tree.module.d.ts +0 -21
  1285. package/treeselect/public_api.d.ts +0 -3
  1286. package/treeselect/treeselect.d.ts +0 -394
  1287. package/treeselect/treeselect.interface.d.ts +0 -108
  1288. package/treeselect/treeselect.module.d.ts +0 -16
  1289. package/treetable/public_api.d.ts +0 -2
  1290. package/treetable/treetable.d.ts +0 -988
  1291. package/treetable/treetable.interface.d.ts +0 -472
  1292. package/tristatecheckbox/public_api.d.ts +0 -3
  1293. package/tristatecheckbox/tristatecheckbox.d.ts +0 -117
  1294. package/tristatecheckbox/tristatecheckbox.interface.d.ts +0 -30
  1295. package/tristatecheckbox/tristatecheckbox.module.d.ts +0 -8
  1296. package/ts-helpers/public_api.d.ts +0 -1
  1297. package/ts-helpers/ts-helpers.d.ts +0 -4
  1298. package/upload/public_api.d.ts +0 -2
  1299. package/upload/upload.component.d.ts +0 -67
  1300. package/upload/upload.component.module.d.ts +0 -11
  1301. package/utils/objectutils.d.ts +0 -24
  1302. package/utils/public_api.d.ts +0 -4
  1303. package/utils/uniquecomponentid.d.ts +0 -2
  1304. package/utils/zindexutils.d.ts +0 -7
  1305. package/virtualscroller/public_api.d.ts +0 -2
  1306. package/virtualscroller/virtualscroller.d.ts +0 -89
  1307. package/virtualscroller/virtualscroller.interface.d.ts +0 -72
@@ -0,0 +1,385 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, ViewChild, Output, Input, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i5 from '@angular/forms';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { Avatar } from 'cax-design-system/avatar';
8
+ import * as i2 from 'cax-design-system/button';
9
+ import { ButtonModule } from 'cax-design-system/button';
10
+ import * as i4 from 'cax-design-system/editor';
11
+ import { EditorModule } from 'cax-design-system/editor';
12
+ import * as i6 from 'cax-design-system/overlaypanel';
13
+ import { OverlayPanelModule } from 'cax-design-system/overlaypanel';
14
+ import { ListboxModule } from 'cax-design-system/listbox';
15
+ import * as i3 from 'cax-design-system/api';
16
+ import { SharedModule } from 'cax-design-system/api';
17
+ import { ChipModule } from 'cax-design-system/chip';
18
+
19
+ class CommentsComponent {
20
+ cdr;
21
+ scrollContainer;
22
+ suggestionOverlay;
23
+ visibilityObserver;
24
+ _comments = [];
25
+ groupedComments = [];
26
+ isRichText = false;
27
+ commentValue = '';
28
+ // Suggestion state
29
+ isSuggestionVisible = false;
30
+ suggestionType = null;
31
+ filteredSuggestions = [];
32
+ triggerIndex = -1;
33
+ attachedFiles = [];
34
+ lastBounds = null;
35
+ constructor(cdr) {
36
+ this.cdr = cdr;
37
+ }
38
+ ngAfterViewInit() {
39
+ this.scrollToBottom();
40
+ this.setupVisibilityObserver();
41
+ }
42
+ ngOnDestroy() {
43
+ if (this.visibilityObserver) {
44
+ this.visibilityObserver.disconnect();
45
+ }
46
+ }
47
+ set comments(value) {
48
+ this._comments = value || [];
49
+ this.recomputeGroups();
50
+ this.scrollToBottom();
51
+ }
52
+ get comments() {
53
+ return this._comments;
54
+ }
55
+ commentPlaceholder = 'Add your comments here...';
56
+ _mentionSuggestions = [];
57
+ _hashTagSuggestions = [];
58
+ set mentionSuggestions(value) {
59
+ this._mentionSuggestions = value || [];
60
+ this.recomputeGroups();
61
+ }
62
+ get mentionSuggestions() {
63
+ return this._mentionSuggestions;
64
+ }
65
+ set hashTagSuggestions(value) {
66
+ this._hashTagSuggestions = value || [];
67
+ this.recomputeGroups();
68
+ }
69
+ get hashTagSuggestions() {
70
+ return this._hashTagSuggestions;
71
+ }
72
+ acceptedFiles = [];
73
+ get acceptFileTypes() {
74
+ if (!this.acceptedFiles || this.acceptedFiles.length === 0)
75
+ return '';
76
+ return this.acceptedFiles.map((type) => (type.startsWith('.') ? type : `.${type}`)).join(',');
77
+ }
78
+ onSendComment = new EventEmitter();
79
+ onFileSelect = new EventEmitter();
80
+ onDownloadFile = new EventEmitter();
81
+ editor;
82
+ recomputeGroups() {
83
+ const groups = this._comments.reduce((acc, comment) => {
84
+ const date = new Date(comment.timestamp);
85
+ const dateOnly = new Date(date.getFullYear(), date.getMonth(), date.getDate());
86
+ let group = acc.find((g) => g.date.getTime() === dateOnly.getTime());
87
+ if (!group) {
88
+ group = { date: dateOnly, comments: [] };
89
+ acc.push(group);
90
+ }
91
+ group.comments.push(comment);
92
+ return acc;
93
+ }, []);
94
+ groups.sort((a, b) => a.date.getTime() - b.date.getTime());
95
+ groups.forEach((group) => {
96
+ group.comments.forEach((comment) => {
97
+ comment.message = this.enrichMessage(comment.message);
98
+ });
99
+ group.comments.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
100
+ });
101
+ this.groupedComments = groups;
102
+ }
103
+ enrichMessage(message) {
104
+ if (!message)
105
+ return '';
106
+ let processedMessage = message;
107
+ // Replace empty paragraphs with line breaks for cleaner spacing
108
+ processedMessage = processedMessage.replace(/<p><br><\/p>/g, '<br/>');
109
+ processedMessage = processedMessage.replace(/<p><\/p>/g, '<br/>');
110
+ processedMessage = processedMessage.replace(/<p>&nbsp;<\/p>/g, '<br/>');
111
+ // Extract and validate mentions
112
+ this._mentionSuggestions?.forEach((suggestion) => {
113
+ const username = suggestion.userName;
114
+ // Only wrap if not already wrapped in the mention span
115
+ // This regex checks for @username NOT preceded by the mention span start tag
116
+ const regex = new RegExp(`(?<!class="cax-comment-mention">)@${username}\\b`, 'g');
117
+ processedMessage = processedMessage.replace(regex, `<span class="cax-comment-mention">@${username}</span>`);
118
+ });
119
+ // Extract and validate hashtags
120
+ this._hashTagSuggestions?.forEach((tag) => {
121
+ // Only wrap if not already wrapped in the hashtag span
122
+ const regex = new RegExp(`(?<!class="cax-comment-hashtag">)#${tag}\\b`, 'g');
123
+ processedMessage = processedMessage.replace(regex, `<span class="cax-comment-hashtag">#${tag}</span>`);
124
+ });
125
+ // Trim trailing empty paragraphs or line breaks
126
+ processedMessage = processedMessage.replace(/(<p><br><\/p>|<p><\/p>|<br\s*\/?>)+$/, '');
127
+ return processedMessage;
128
+ }
129
+ getInitials(author) {
130
+ if (!author)
131
+ return '?';
132
+ return ((author.firstName?.[0] || '') + (author.lastName?.[0] || '')).toUpperCase();
133
+ }
134
+ isLastInGroup(groupComments, index) {
135
+ const current = groupComments[index];
136
+ const next = groupComments[index + 1];
137
+ if (current.currentUser)
138
+ return false;
139
+ if (!next)
140
+ return true;
141
+ const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;
142
+ const nextAuthor = `${next.author?.firstName} ${next.author?.lastName}`;
143
+ return next.currentUser || currentAuthor !== nextAuthor;
144
+ }
145
+ isConsecutive(groupComments, index) {
146
+ if (index === 0)
147
+ return false;
148
+ const current = groupComments[index];
149
+ const prev = groupComments[index - 1];
150
+ const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;
151
+ const prevAuthor = `${prev.author?.firstName} ${prev.author?.lastName}`;
152
+ return current.currentUser === prev.currentUser && currentAuthor === prevAuthor;
153
+ }
154
+ toggleRichText() {
155
+ this.isRichText = !this.isRichText;
156
+ }
157
+ onFileSelected(event) {
158
+ const input = event.target;
159
+ if (input.files && input.files.length > 0) {
160
+ this.attachedFiles.push(...Array.from(input.files));
161
+ this.onFileSelect.emit(this.attachedFiles);
162
+ }
163
+ if (input) {
164
+ input.value = '';
165
+ }
166
+ }
167
+ removeAttachedFile(index) {
168
+ this.attachedFiles.splice(index, 1);
169
+ this.onFileSelect.emit(this.attachedFiles);
170
+ }
171
+ onSendMessage() {
172
+ if (this.commentValue || this.attachedFiles.length > 0) {
173
+ const processedMessage = this.enrichMessage(this.commentValue);
174
+ this.onSendComment.emit({
175
+ message: processedMessage,
176
+ attachments: [...this.attachedFiles]
177
+ });
178
+ this.commentValue = '';
179
+ this.attachedFiles = [];
180
+ this.hideSuggestions();
181
+ this.scrollToBottom();
182
+ }
183
+ }
184
+ onDownload(file) {
185
+ this.onDownloadFile.emit(file);
186
+ }
187
+ // Suggestion implementation
188
+ showSuggestions(type, index, bounds) {
189
+ this.suggestionType = type;
190
+ this.triggerIndex = index;
191
+ this.lastBounds = bounds;
192
+ this.filterSuggestions('');
193
+ const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');
194
+ if (!target)
195
+ return;
196
+ this.suggestionOverlay.show(null, target);
197
+ this.updateOverlayPosition();
198
+ }
199
+ updateOverlayPosition() {
200
+ setTimeout(() => {
201
+ const panel = this.suggestionOverlay.container;
202
+ const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');
203
+ if (panel && this.lastBounds && target) {
204
+ const panelHeight = panel.offsetHeight;
205
+ const rect = target.getBoundingClientRect();
206
+ panel.style.position = 'fixed';
207
+ panel.style.zIndex = '9999';
208
+ panel.style.left = `${rect.left + this.lastBounds.left}px`;
209
+ panel.style.top = `${rect.top + this.lastBounds.top - panelHeight - 10}px`;
210
+ this.cdr.detectChanges();
211
+ }
212
+ }, 0);
213
+ }
214
+ hideSuggestions() {
215
+ if (this.suggestionType === null)
216
+ return;
217
+ this.suggestionOverlay?.hide();
218
+ this.suggestionType = null;
219
+ this.filteredSuggestions = [];
220
+ this.triggerIndex = -1;
221
+ this.cdr.detectChanges();
222
+ }
223
+ onEditorTextChange(event) {
224
+ const quill = this.editor.getQuill();
225
+ if (!quill)
226
+ return;
227
+ // 20ms delay to ensure Quill and DOM are synchronized
228
+ setTimeout(() => {
229
+ const range = quill.getSelection();
230
+ if (!range)
231
+ return;
232
+ const text = quill.getText(0, range.index);
233
+ const token = this.getTokenAtCursor(text, range.index);
234
+ if (token) {
235
+ const type = token.charAt(0);
236
+ const hasSuggestions = type === '@' ? this.mentionSuggestions?.length > 0 : this.hashTagSuggestions?.length > 0;
237
+ if (hasSuggestions) {
238
+ // If trigger type changed while open, reset first
239
+ if (this.suggestionType && this.suggestionType !== type) {
240
+ this.hideSuggestions();
241
+ }
242
+ if (!this.suggestionType) {
243
+ const bounds = quill.getBounds(range.index);
244
+ this.showSuggestions(type, range.index, bounds);
245
+ }
246
+ else {
247
+ this.filterSuggestions(token.slice(1));
248
+ this.updateOverlayPosition();
249
+ }
250
+ }
251
+ else if (this.suggestionType) {
252
+ this.hideSuggestions();
253
+ }
254
+ }
255
+ else if (this.suggestionType) {
256
+ this.hideSuggestions();
257
+ }
258
+ }, 20);
259
+ }
260
+ filterSuggestions(searchTerm) {
261
+ const term = searchTerm.toLowerCase();
262
+ // Fast-path: if search term is empty, just return the full list
263
+ if (term === '') {
264
+ this.filteredSuggestions = this.suggestionType === '@' ? [...this._mentionSuggestions] : [...this._hashTagSuggestions];
265
+ }
266
+ else if (this.suggestionType === '@') {
267
+ this.filteredSuggestions = this._mentionSuggestions?.filter((s) => s.firstName.toLowerCase().includes(term) || s.lastName.toLowerCase().includes(term) || s.userName.toLowerCase().includes(term));
268
+ }
269
+ else {
270
+ this.filteredSuggestions = this._hashTagSuggestions?.filter((s) => s.toLowerCase().includes(term));
271
+ }
272
+ if (this.filteredSuggestions.length === 0 && searchTerm !== '') {
273
+ this.hideSuggestions();
274
+ }
275
+ this.cdr.detectChanges();
276
+ }
277
+ onSuggestionSelect(item) {
278
+ const selectedValue = this.suggestionType === '@' ? `@${item.userName}` : `#${item}`;
279
+ const quill = this.editor.getQuill();
280
+ const range = quill.getSelection();
281
+ if (range) {
282
+ const textBefore = quill.getText(0, range.index);
283
+ const token = this.getTokenAtCursor(textBefore, range.index);
284
+ const start = range.index - (token ? token.length : 0);
285
+ quill.deleteText(start, token ? token.length : 0);
286
+ quill.insertText(start, selectedValue + ' ');
287
+ quill.setSelection(start + selectedValue.length + 1);
288
+ quill.focus();
289
+ }
290
+ this.hideSuggestions();
291
+ }
292
+ getTokenAtCursor(text, cursorPos) {
293
+ const beforeCursor = text.slice(0, cursorPos);
294
+ const match = beforeCursor.match(/[@#][^\s]*$/);
295
+ return match ? match[0] : null;
296
+ }
297
+ onEditorKeyDown(event) {
298
+ if (!this.isRichText && event.key === 'Enter' && !event.shiftKey) {
299
+ event.preventDefault();
300
+ event.stopPropagation();
301
+ this.onSendMessage();
302
+ }
303
+ }
304
+ formatBytes(bytes, decimals = 2) {
305
+ if (!+bytes)
306
+ return '0 Bytes';
307
+ const k = 1024;
308
+ const dm = decimals < 0 ? 0 : decimals;
309
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
310
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
311
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
312
+ }
313
+ scrollToBottom() {
314
+ setTimeout(() => {
315
+ if (this.scrollContainer) {
316
+ const element = this.scrollContainer.nativeElement;
317
+ element.scrollTop = element.scrollHeight;
318
+ this.cdr.detectChanges();
319
+ }
320
+ }, 100);
321
+ }
322
+ setupVisibilityObserver() {
323
+ if (typeof IntersectionObserver !== 'undefined' && this.scrollContainer) {
324
+ this.visibilityObserver = new IntersectionObserver((entries) => {
325
+ entries.forEach((entry) => {
326
+ if (entry.isIntersecting) {
327
+ this.scrollToBottom();
328
+ }
329
+ });
330
+ });
331
+ this.visibilityObserver.observe(this.scrollContainer.nativeElement);
332
+ }
333
+ }
334
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommentsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
335
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: CommentsComponent, isStandalone: true, selector: "cax-comments", inputs: { comments: "comments", commentPlaceholder: "commentPlaceholder", mentionSuggestions: "mentionSuggestions", hashTagSuggestions: "hashTagSuggestions", acceptedFiles: "acceptedFiles" }, outputs: { onSendComment: "onSendComment", onFileSelect: "onFileSelect", onDownloadFile: "onDownloadFile" }, viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "suggestionOverlay", first: true, predicate: ["suggestionOverlay"], descendants: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<div class=\"cax-comments\">\n <div class=\"cax-comments-container\" #scrollContainer>\n <div class=\"cax-comments-empty\" *ngIf=\"groupedComments.length === 0\">\n <i class=\"cax cax-chat-line-bold\"></i>\n <div>\n <span class=\"cax-text-action-md-medium\">No comments yet</span>\n <span class=\"cax-text-action-sm-regular\">You can post a comment here to start the conversation. All feedback and discussions will appear here.</span>\n </div>\n </div>\n <div class=\"cax-comments-group\" *ngFor=\"let group of groupedComments\">\n <div class=\"cax-comments-date\">\n <span class=\"cax-text-action-xsm-semibold\">{{ group.date | date: 'MMM d, y' }}</span>\n </div>\n <div class=\"cax-comment-row\" *ngFor=\"let comment of group.comments; let i = index\" [class.current-user]=\"comment.currentUser\" [class.consecutive]=\"isConsecutive(group.comments, i)\">\n <div class=\"cax-avatar-container\" *ngIf=\"!comment.currentUser\">\n <cax-avatar *ngIf=\"isLastInGroup(group.comments, i); else avatarSpacer\" [label]=\"getInitials(comment.author)\" shape=\"square\" avatarSize=\"sm\"></cax-avatar>\n <ng-template #avatarSpacer>\n <div class=\"avatar-spacer\"></div>\n </ng-template>\n </div>\n <div class=\"cax-comment-bubble\">\n <div class=\"cax-comment-message-container\">\n <span class=\"cax-comment-username cax-text-body-sm-semibold\" *ngIf=\"!comment.currentUser\">{{ comment.author?.firstName }} {{ comment.author?.lastName }}</span>\n <div class=\"cax-comment-attachments\" *ngIf=\"comment.attachments?.length\">\n <div *ngFor=\"let file of comment.attachments\" class=\"cax-comment-file-preview\">\n <span class=\"cax-comment-file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <span class=\"cax-comment-file-size cax-text-action-sm-medium\">{{ formatBytes(file.size) }}</span>\n <span class=\"cax cax-download cax-comment-file-download\" (click)=\"onDownload(file)\"></span>\n </div>\n </div>\n <span class=\"cax-comment-message cax-text-body-md-regular\" [innerHTML]=\"comment.message\"></span>\n <span class=\"cax-comment-time cax-text-action-sm-medium\">{{ comment.timestamp | date: 'shortTime' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar\">\n <div class=\"cax-comment-input-wrapper\" [class.toolbar-hidden]=\"!isRichText\" (keydown)=\"onEditorKeyDown($event)\">\n <cax-editor #editor [placeholder]=\"commentPlaceholder\" [style]=\"{ maxHeight: '300px' }\" [(ngModel)]=\"commentValue\" (onTextChange)=\"onEditorTextChange($event)\">\n <ng-template caxTemplate=\"header\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" aria-label=\"Bullet List\"></button>\n <button type=\"button\" class=\"ql-link\" aria-label=\"Insert Link\"></button>\n <button type=\"button\" class=\"ql-image\" aria-label=\"Insert Image\"></button>\n <button type=\"button\" class=\"ql-code-block\" aria-label=\"Code Block\"></button>\n </span>\n </ng-template>\n </cax-editor>\n <div class=\"cax-comment-input-footer\">\n <div class=\"cax-comment-attached-files\">\n <div class=\"cax-comment-attached-file\" *ngFor=\"let file of attachedFiles; let i = index\">\n <span class=\"file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <i class=\"cax cax-close\" (click)=\"removeAttachedFile(i)\"></i>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <div (click)=\"toggleRichText()\" [class.active]=\"isRichText\">\n <i class=\"cax cax-text-icon\"></i>\n </div>\n <div (click)=\"fileInput.click()\">\n <i class=\"cax cax-paperclip\"></i>\n <input type=\"file\" #fileInput [accept]=\"acceptFileTypes\" style=\"display: none\" (change)=\"onFileSelected($event)\" multiple />\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <cax-button [icon]=\"'cax cax-plain'\" [rounded]=\"true\" [size]=\"'lg'\" [disabled]=\"!commentValue && attachedFiles.length === 0\" (click)=\"onSendMessage()\"></cax-button>\n </div>\n </div>\n\n <cax-overlayPanel styleClass=\"cax-comments-suggestion-overlay\" #suggestionOverlay [style]=\"{ width: '250px', 'max-height': '300px' }\" (onHide)=\"hideSuggestions()\">\n <div class=\"cax-comments-suggestion-list\">\n <div class=\"cax-comments-suggestion-item\" *ngFor=\"let item of filteredSuggestions\" (mousedown)=\"$event.preventDefault(); onSuggestionSelect(item)\">\n <ng-container *ngIf=\"suggestionType === '@'\">\n <cax-avatar [label]=\"getInitials(item)\" shape=\"circle\" avatarSize=\"sm\"></cax-avatar>\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item.firstName }} {{ item.lastName }}</span>\n <span class=\"cax-comments-suggestion-subtext\">&#64;{{ item.userName }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"suggestionType === '#'\">\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item }}</span>\n </div>\n </ng-container>\n </div>\n </div>\n </cax-overlayPanel>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: Avatar, selector: "cax-avatar", inputs: ["label", "icon", "image", "avatarSize", "shape", "style", "styleClass", "textColor", "backgroundColor", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.CaxTemplate, selector: "[caxTemplate]", inputs: ["type", "caxTemplate"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i4.Editor, selector: "cax-editor", inputs: ["style", "styleClass", "placeholder", "disabled", "formats", "modules", "bounds", "scrollingContainer", "debug", "readonly"], outputs: ["onInit", "onTextChange", "onSelectionChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i6.OverlayPanel, selector: "cax-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "variant", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ListboxModule }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: ChipModule }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
336
+ }
337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommentsComponent, decorators: [{
338
+ type: Component,
339
+ args: [{ selector: 'cax-comments', standalone: true, imports: [CommonModule, Avatar, ButtonModule, EditorModule, FormsModule, OverlayPanelModule, ListboxModule, SharedModule, ChipModule], template: "<div class=\"cax-comments\">\n <div class=\"cax-comments-container\" #scrollContainer>\n <div class=\"cax-comments-empty\" *ngIf=\"groupedComments.length === 0\">\n <i class=\"cax cax-chat-line-bold\"></i>\n <div>\n <span class=\"cax-text-action-md-medium\">No comments yet</span>\n <span class=\"cax-text-action-sm-regular\">You can post a comment here to start the conversation. All feedback and discussions will appear here.</span>\n </div>\n </div>\n <div class=\"cax-comments-group\" *ngFor=\"let group of groupedComments\">\n <div class=\"cax-comments-date\">\n <span class=\"cax-text-action-xsm-semibold\">{{ group.date | date: 'MMM d, y' }}</span>\n </div>\n <div class=\"cax-comment-row\" *ngFor=\"let comment of group.comments; let i = index\" [class.current-user]=\"comment.currentUser\" [class.consecutive]=\"isConsecutive(group.comments, i)\">\n <div class=\"cax-avatar-container\" *ngIf=\"!comment.currentUser\">\n <cax-avatar *ngIf=\"isLastInGroup(group.comments, i); else avatarSpacer\" [label]=\"getInitials(comment.author)\" shape=\"square\" avatarSize=\"sm\"></cax-avatar>\n <ng-template #avatarSpacer>\n <div class=\"avatar-spacer\"></div>\n </ng-template>\n </div>\n <div class=\"cax-comment-bubble\">\n <div class=\"cax-comment-message-container\">\n <span class=\"cax-comment-username cax-text-body-sm-semibold\" *ngIf=\"!comment.currentUser\">{{ comment.author?.firstName }} {{ comment.author?.lastName }}</span>\n <div class=\"cax-comment-attachments\" *ngIf=\"comment.attachments?.length\">\n <div *ngFor=\"let file of comment.attachments\" class=\"cax-comment-file-preview\">\n <span class=\"cax-comment-file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <span class=\"cax-comment-file-size cax-text-action-sm-medium\">{{ formatBytes(file.size) }}</span>\n <span class=\"cax cax-download cax-comment-file-download\" (click)=\"onDownload(file)\"></span>\n </div>\n </div>\n <span class=\"cax-comment-message cax-text-body-md-regular\" [innerHTML]=\"comment.message\"></span>\n <span class=\"cax-comment-time cax-text-action-sm-medium\">{{ comment.timestamp | date: 'shortTime' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar\">\n <div class=\"cax-comment-input-wrapper\" [class.toolbar-hidden]=\"!isRichText\" (keydown)=\"onEditorKeyDown($event)\">\n <cax-editor #editor [placeholder]=\"commentPlaceholder\" [style]=\"{ maxHeight: '300px' }\" [(ngModel)]=\"commentValue\" (onTextChange)=\"onEditorTextChange($event)\">\n <ng-template caxTemplate=\"header\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" aria-label=\"Bullet List\"></button>\n <button type=\"button\" class=\"ql-link\" aria-label=\"Insert Link\"></button>\n <button type=\"button\" class=\"ql-image\" aria-label=\"Insert Image\"></button>\n <button type=\"button\" class=\"ql-code-block\" aria-label=\"Code Block\"></button>\n </span>\n </ng-template>\n </cax-editor>\n <div class=\"cax-comment-input-footer\">\n <div class=\"cax-comment-attached-files\">\n <div class=\"cax-comment-attached-file\" *ngFor=\"let file of attachedFiles; let i = index\">\n <span class=\"file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <i class=\"cax cax-close\" (click)=\"removeAttachedFile(i)\"></i>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <div (click)=\"toggleRichText()\" [class.active]=\"isRichText\">\n <i class=\"cax cax-text-icon\"></i>\n </div>\n <div (click)=\"fileInput.click()\">\n <i class=\"cax cax-paperclip\"></i>\n <input type=\"file\" #fileInput [accept]=\"acceptFileTypes\" style=\"display: none\" (change)=\"onFileSelected($event)\" multiple />\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <cax-button [icon]=\"'cax cax-plain'\" [rounded]=\"true\" [size]=\"'lg'\" [disabled]=\"!commentValue && attachedFiles.length === 0\" (click)=\"onSendMessage()\"></cax-button>\n </div>\n </div>\n\n <cax-overlayPanel styleClass=\"cax-comments-suggestion-overlay\" #suggestionOverlay [style]=\"{ width: '250px', 'max-height': '300px' }\" (onHide)=\"hideSuggestions()\">\n <div class=\"cax-comments-suggestion-list\">\n <div class=\"cax-comments-suggestion-item\" *ngFor=\"let item of filteredSuggestions\" (mousedown)=\"$event.preventDefault(); onSuggestionSelect(item)\">\n <ng-container *ngIf=\"suggestionType === '@'\">\n <cax-avatar [label]=\"getInitials(item)\" shape=\"circle\" avatarSize=\"sm\"></cax-avatar>\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item.firstName }} {{ item.lastName }}</span>\n <span class=\"cax-comments-suggestion-subtext\">&#64;{{ item.userName }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"suggestionType === '#'\">\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item }}</span>\n </div>\n </ng-container>\n </div>\n </div>\n </cax-overlayPanel>\n</div>\n" }]
340
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { scrollContainer: [{
341
+ type: ViewChild,
342
+ args: ['scrollContainer']
343
+ }], suggestionOverlay: [{
344
+ type: ViewChild,
345
+ args: ['suggestionOverlay']
346
+ }], comments: [{
347
+ type: Input
348
+ }], commentPlaceholder: [{
349
+ type: Input
350
+ }], mentionSuggestions: [{
351
+ type: Input
352
+ }], hashTagSuggestions: [{
353
+ type: Input
354
+ }], acceptedFiles: [{
355
+ type: Input
356
+ }], onSendComment: [{
357
+ type: Output
358
+ }], onFileSelect: [{
359
+ type: Output
360
+ }], onDownloadFile: [{
361
+ type: Output
362
+ }], editor: [{
363
+ type: ViewChild,
364
+ args: ['editor']
365
+ }] } });
366
+
367
+ class CommentsModule {
368
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
369
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: CommentsModule, imports: [CommentsComponent], exports: [CommentsComponent] });
370
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommentsModule, imports: [CommentsComponent] });
371
+ }
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommentsModule, decorators: [{
373
+ type: NgModule,
374
+ args: [{
375
+ imports: [CommentsComponent],
376
+ exports: [CommentsComponent]
377
+ }]
378
+ }] });
379
+
380
+ /**
381
+ * Generated bundle index. Do not edit.
382
+ */
383
+
384
+ export { CommentsComponent, CommentsModule };
385
+ //# sourceMappingURL=cax-design-system-comments.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cax-design-system-comments.mjs","sources":["../../src/app/components/comments/comments.ts","../../src/app/components/comments/comments.html","../../src/app/components/comments/comments.module.ts","../../src/app/components/comments/cax-design-system-comments.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild, ElementRef, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Avatar } from 'cax-design-system/avatar';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { EditorModule } from 'cax-design-system/editor';\nimport { OverlayPanelModule, OverlayPanel } from 'cax-design-system/overlaypanel';\nimport { ListboxModule } from 'cax-design-system/listbox';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ChipModule } from 'cax-design-system/chip';\n\ninterface MentionUser {\n firstName: string;\n lastName: string;\n userName: string;\n}\n\ninterface Comment {\n message: string;\n timestamp: string;\n currentUser?: boolean;\n author?: MentionUser;\n attachments?: File[];\n}\n\ninterface GroupedComments {\n date: Date;\n comments: Comment[];\n}\n\n@Component({\n selector: 'cax-comments',\n templateUrl: './comments.html',\n styleUrls: ['./comments.scss'],\n standalone: true,\n imports: [CommonModule, Avatar, ButtonModule, EditorModule, FormsModule, OverlayPanelModule, ListboxModule, SharedModule, ChipModule]\n})\nexport class CommentsComponent implements AfterViewInit, OnDestroy {\n @ViewChild('scrollContainer') private scrollContainer!: ElementRef;\n @ViewChild('suggestionOverlay') suggestionOverlay!: OverlayPanel;\n private visibilityObserver?: IntersectionObserver;\n\n private _comments: Comment[] = [];\n groupedComments: GroupedComments[] = [];\n isRichText: boolean = false;\n commentValue: string = '';\n\n // Suggestion state\n isSuggestionVisible: boolean = false;\n suggestionType: '@' | '#' | null = null;\n filteredSuggestions: any[] = [];\n triggerIndex: number = -1;\n attachedFiles: File[] = [];\n private lastBounds: any = null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.scrollToBottom();\n this.setupVisibilityObserver();\n }\n\n ngOnDestroy(): void {\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n }\n }\n\n @Input()\n set comments(value: Comment[]) {\n this._comments = value || [];\n this.recomputeGroups();\n this.scrollToBottom();\n }\n\n get comments(): Comment[] {\n return this._comments;\n }\n\n @Input() commentPlaceholder: string = 'Add your comments here...';\n private _mentionSuggestions: MentionUser[] = [];\n private _hashTagSuggestions: string[] = [];\n\n @Input()\n set mentionSuggestions(value: MentionUser[]) {\n this._mentionSuggestions = value || [];\n this.recomputeGroups();\n }\n\n get mentionSuggestions(): MentionUser[] {\n return this._mentionSuggestions;\n }\n\n @Input()\n set hashTagSuggestions(value: string[]) {\n this._hashTagSuggestions = value || [];\n this.recomputeGroups();\n }\n\n get hashTagSuggestions(): string[] {\n return this._hashTagSuggestions;\n }\n\n @Input() acceptedFiles: string[] = [];\n\n get acceptFileTypes(): string {\n if (!this.acceptedFiles || this.acceptedFiles.length === 0) return '';\n return this.acceptedFiles.map((type) => (type.startsWith('.') ? type : `.${type}`)).join(',');\n }\n\n @Output() onSendComment = new EventEmitter<{ message: string; attachments: File[] }>();\n @Output() onFileSelect = new EventEmitter<File[]>();\n @Output() onDownloadFile = new EventEmitter<any>();\n @ViewChild('editor') editor!: any;\n\n private recomputeGroups(): void {\n const groups = this._comments.reduce((acc: GroupedComments[], comment) => {\n const date = new Date(comment.timestamp);\n const dateOnly = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n let group = acc.find((g) => g.date.getTime() === dateOnly.getTime());\n if (!group) {\n group = { date: dateOnly, comments: [] };\n acc.push(group);\n }\n group.comments.push(comment);\n return acc;\n }, []);\n\n groups.sort((a, b) => a.date.getTime() - b.date.getTime());\n\n groups.forEach((group) => {\n group.comments.forEach((comment) => {\n comment.message = this.enrichMessage(comment.message);\n });\n group.comments.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());\n });\n\n this.groupedComments = groups;\n }\n\n private enrichMessage(message: string): string {\n if (!message) return '';\n let processedMessage = message;\n\n // Replace empty paragraphs with line breaks for cleaner spacing\n processedMessage = processedMessage.replace(/<p><br><\\/p>/g, '<br/>');\n processedMessage = processedMessage.replace(/<p><\\/p>/g, '<br/>');\n processedMessage = processedMessage.replace(/<p>&nbsp;<\\/p>/g, '<br/>');\n\n // Extract and validate mentions\n this._mentionSuggestions?.forEach((suggestion) => {\n const username = suggestion.userName;\n // Only wrap if not already wrapped in the mention span\n // This regex checks for @username NOT preceded by the mention span start tag\n const regex = new RegExp(`(?<!class=\"cax-comment-mention\">)@${username}\\\\b`, 'g');\n processedMessage = processedMessage.replace(regex, `<span class=\"cax-comment-mention\">@${username}</span>`);\n });\n\n // Extract and validate hashtags\n this._hashTagSuggestions?.forEach((tag) => {\n // Only wrap if not already wrapped in the hashtag span\n const regex = new RegExp(`(?<!class=\"cax-comment-hashtag\">)#${tag}\\\\b`, 'g');\n processedMessage = processedMessage.replace(regex, `<span class=\"cax-comment-hashtag\">#${tag}</span>`);\n });\n\n // Trim trailing empty paragraphs or line breaks\n processedMessage = processedMessage.replace(/(<p><br><\\/p>|<p><\\/p>|<br\\s*\\/?>)+$/, '');\n\n return processedMessage;\n }\n\n getInitials(author?: { firstName: string; lastName: string }): string {\n if (!author) return '?';\n return ((author.firstName?.[0] || '') + (author.lastName?.[0] || '')).toUpperCase();\n }\n\n isLastInGroup(groupComments: Comment[], index: number): boolean {\n const current = groupComments[index];\n const next = groupComments[index + 1];\n\n if (current.currentUser) return false;\n if (!next) return true;\n\n const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;\n const nextAuthor = `${next.author?.firstName} ${next.author?.lastName}`;\n\n return next.currentUser || currentAuthor !== nextAuthor;\n }\n\n isConsecutive(groupComments: Comment[], index: number): boolean {\n if (index === 0) return false;\n const current = groupComments[index];\n const prev = groupComments[index - 1];\n\n const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;\n const prevAuthor = `${prev.author?.firstName} ${prev.author?.lastName}`;\n\n return current.currentUser === prev.currentUser && currentAuthor === prevAuthor;\n }\n\n toggleRichText(): void {\n this.isRichText = !this.isRichText;\n }\n\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n this.attachedFiles.push(...Array.from(input.files));\n this.onFileSelect.emit(this.attachedFiles);\n }\n if (input) {\n input.value = '';\n }\n }\n\n removeAttachedFile(index: number): void {\n this.attachedFiles.splice(index, 1);\n this.onFileSelect.emit(this.attachedFiles);\n }\n\n onSendMessage(): void {\n if (this.commentValue || this.attachedFiles.length > 0) {\n const processedMessage = this.enrichMessage(this.commentValue);\n\n this.onSendComment.emit({\n message: processedMessage,\n attachments: [...this.attachedFiles]\n });\n\n this.commentValue = '';\n this.attachedFiles = [];\n this.hideSuggestions();\n this.scrollToBottom();\n }\n }\n\n onDownload(file: any): void {\n this.onDownloadFile.emit(file);\n }\n\n // Suggestion implementation\n private showSuggestions(type: '@' | '#', index: number, bounds?: any): void {\n this.suggestionType = type;\n this.triggerIndex = index;\n this.lastBounds = bounds;\n this.filterSuggestions('');\n\n const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');\n if (!target) return;\n\n this.suggestionOverlay.show(null, target);\n this.updateOverlayPosition();\n }\n\n private updateOverlayPosition(): void {\n setTimeout(() => {\n const panel = (this.suggestionOverlay as any).container;\n const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');\n if (panel && this.lastBounds && target) {\n const panelHeight = panel.offsetHeight;\n const rect = target.getBoundingClientRect();\n\n panel.style.position = 'fixed';\n panel.style.zIndex = '9999';\n panel.style.left = `${rect.left + this.lastBounds.left}px`;\n panel.style.top = `${rect.top + this.lastBounds.top - panelHeight - 10}px`;\n this.cdr.detectChanges();\n }\n }, 0);\n }\n\n hideSuggestions(): void {\n if (this.suggestionType === null) return;\n this.suggestionOverlay?.hide();\n this.suggestionType = null;\n this.filteredSuggestions = [];\n this.triggerIndex = -1;\n this.cdr.detectChanges();\n }\n\n onEditorTextChange(event: any): void {\n const quill = this.editor.getQuill();\n if (!quill) return;\n\n // 20ms delay to ensure Quill and DOM are synchronized\n setTimeout(() => {\n const range = quill.getSelection();\n if (!range) return;\n\n const text = quill.getText(0, range.index);\n const token = this.getTokenAtCursor(text, range.index);\n\n if (token) {\n const type = token.charAt(0) as '@' | '#';\n const hasSuggestions = type === '@' ? this.mentionSuggestions?.length > 0 : this.hashTagSuggestions?.length > 0;\n\n if (hasSuggestions) {\n // If trigger type changed while open, reset first\n if (this.suggestionType && this.suggestionType !== type) {\n this.hideSuggestions();\n }\n\n if (!this.suggestionType) {\n const bounds = quill.getBounds(range.index);\n this.showSuggestions(type, range.index, bounds);\n } else {\n this.filterSuggestions(token.slice(1));\n this.updateOverlayPosition();\n }\n } else if (this.suggestionType) {\n this.hideSuggestions();\n }\n } else if (this.suggestionType) {\n this.hideSuggestions();\n }\n }, 20);\n }\n\n private filterSuggestions(searchTerm: string): void {\n const term = searchTerm.toLowerCase();\n\n // Fast-path: if search term is empty, just return the full list\n if (term === '') {\n this.filteredSuggestions = this.suggestionType === '@' ? [...this._mentionSuggestions] : [...this._hashTagSuggestions];\n } else if (this.suggestionType === '@') {\n this.filteredSuggestions = this._mentionSuggestions?.filter((s) => s.firstName.toLowerCase().includes(term) || s.lastName.toLowerCase().includes(term) || s.userName.toLowerCase().includes(term));\n } else {\n this.filteredSuggestions = this._hashTagSuggestions?.filter((s) => s.toLowerCase().includes(term));\n }\n\n if (this.filteredSuggestions.length === 0 && searchTerm !== '') {\n this.hideSuggestions();\n }\n\n this.cdr.detectChanges();\n }\n\n onSuggestionSelect(item: any): void {\n const selectedValue = this.suggestionType === '@' ? `@${item.userName}` : `#${item}`;\n\n const quill = (this.editor as any).getQuill();\n const range = quill.getSelection();\n if (range) {\n const textBefore = quill.getText(0, range.index);\n const token = this.getTokenAtCursor(textBefore, range.index);\n const start = range.index - (token ? token.length : 0);\n quill.deleteText(start, token ? token.length : 0);\n quill.insertText(start, selectedValue + ' ');\n quill.setSelection(start + selectedValue.length + 1);\n quill.focus();\n }\n\n this.hideSuggestions();\n }\n\n private getTokenAtCursor(text: string, cursorPos: number): string | null {\n const beforeCursor = text.slice(0, cursorPos);\n const match = beforeCursor.match(/[@#][^\\s]*$/);\n return match ? match[0] : null;\n }\n\n onEditorKeyDown(event: KeyboardEvent): void {\n if (!this.isRichText && event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n this.onSendMessage();\n }\n }\n\n formatBytes(bytes: number, decimals: number = 2): string {\n if (!+bytes) return '0 Bytes';\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n }\n\n private scrollToBottom(): void {\n setTimeout(() => {\n if (this.scrollContainer) {\n const element = this.scrollContainer.nativeElement;\n element.scrollTop = element.scrollHeight;\n this.cdr.detectChanges();\n }\n }, 100);\n }\n\n private setupVisibilityObserver(): void {\n if (typeof IntersectionObserver !== 'undefined' && this.scrollContainer) {\n this.visibilityObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.scrollToBottom();\n }\n });\n });\n this.visibilityObserver.observe(this.scrollContainer.nativeElement);\n }\n }\n}\n","<div class=\"cax-comments\">\n <div class=\"cax-comments-container\" #scrollContainer>\n <div class=\"cax-comments-empty\" *ngIf=\"groupedComments.length === 0\">\n <i class=\"cax cax-chat-line-bold\"></i>\n <div>\n <span class=\"cax-text-action-md-medium\">No comments yet</span>\n <span class=\"cax-text-action-sm-regular\">You can post a comment here to start the conversation. All feedback and discussions will appear here.</span>\n </div>\n </div>\n <div class=\"cax-comments-group\" *ngFor=\"let group of groupedComments\">\n <div class=\"cax-comments-date\">\n <span class=\"cax-text-action-xsm-semibold\">{{ group.date | date: 'MMM d, y' }}</span>\n </div>\n <div class=\"cax-comment-row\" *ngFor=\"let comment of group.comments; let i = index\" [class.current-user]=\"comment.currentUser\" [class.consecutive]=\"isConsecutive(group.comments, i)\">\n <div class=\"cax-avatar-container\" *ngIf=\"!comment.currentUser\">\n <cax-avatar *ngIf=\"isLastInGroup(group.comments, i); else avatarSpacer\" [label]=\"getInitials(comment.author)\" shape=\"square\" avatarSize=\"sm\"></cax-avatar>\n <ng-template #avatarSpacer>\n <div class=\"avatar-spacer\"></div>\n </ng-template>\n </div>\n <div class=\"cax-comment-bubble\">\n <div class=\"cax-comment-message-container\">\n <span class=\"cax-comment-username cax-text-body-sm-semibold\" *ngIf=\"!comment.currentUser\">{{ comment.author?.firstName }} {{ comment.author?.lastName }}</span>\n <div class=\"cax-comment-attachments\" *ngIf=\"comment.attachments?.length\">\n <div *ngFor=\"let file of comment.attachments\" class=\"cax-comment-file-preview\">\n <span class=\"cax-comment-file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <span class=\"cax-comment-file-size cax-text-action-sm-medium\">{{ formatBytes(file.size) }}</span>\n <span class=\"cax cax-download cax-comment-file-download\" (click)=\"onDownload(file)\"></span>\n </div>\n </div>\n <span class=\"cax-comment-message cax-text-body-md-regular\" [innerHTML]=\"comment.message\"></span>\n <span class=\"cax-comment-time cax-text-action-sm-medium\">{{ comment.timestamp | date: 'shortTime' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar\">\n <div class=\"cax-comment-input-wrapper\" [class.toolbar-hidden]=\"!isRichText\" (keydown)=\"onEditorKeyDown($event)\">\n <cax-editor #editor [placeholder]=\"commentPlaceholder\" [style]=\"{ maxHeight: '300px' }\" [(ngModel)]=\"commentValue\" (onTextChange)=\"onEditorTextChange($event)\">\n <ng-template caxTemplate=\"header\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" aria-label=\"Bullet List\"></button>\n <button type=\"button\" class=\"ql-link\" aria-label=\"Insert Link\"></button>\n <button type=\"button\" class=\"ql-image\" aria-label=\"Insert Image\"></button>\n <button type=\"button\" class=\"ql-code-block\" aria-label=\"Code Block\"></button>\n </span>\n </ng-template>\n </cax-editor>\n <div class=\"cax-comment-input-footer\">\n <div class=\"cax-comment-attached-files\">\n <div class=\"cax-comment-attached-file\" *ngFor=\"let file of attachedFiles; let i = index\">\n <span class=\"file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <i class=\"cax cax-close\" (click)=\"removeAttachedFile(i)\"></i>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <div (click)=\"toggleRichText()\" [class.active]=\"isRichText\">\n <i class=\"cax cax-text-icon\"></i>\n </div>\n <div (click)=\"fileInput.click()\">\n <i class=\"cax cax-paperclip\"></i>\n <input type=\"file\" #fileInput [accept]=\"acceptFileTypes\" style=\"display: none\" (change)=\"onFileSelected($event)\" multiple />\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <cax-button [icon]=\"'cax cax-plain'\" [rounded]=\"true\" [size]=\"'lg'\" [disabled]=\"!commentValue && attachedFiles.length === 0\" (click)=\"onSendMessage()\"></cax-button>\n </div>\n </div>\n\n <cax-overlayPanel styleClass=\"cax-comments-suggestion-overlay\" #suggestionOverlay [style]=\"{ width: '250px', 'max-height': '300px' }\" (onHide)=\"hideSuggestions()\">\n <div class=\"cax-comments-suggestion-list\">\n <div class=\"cax-comments-suggestion-item\" *ngFor=\"let item of filteredSuggestions\" (mousedown)=\"$event.preventDefault(); onSuggestionSelect(item)\">\n <ng-container *ngIf=\"suggestionType === '@'\">\n <cax-avatar [label]=\"getInitials(item)\" shape=\"circle\" avatarSize=\"sm\"></cax-avatar>\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item.firstName }} {{ item.lastName }}</span>\n <span class=\"cax-comments-suggestion-subtext\">&#64;{{ item.userName }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"suggestionType === '#'\">\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item }}</span>\n </div>\n </ng-container>\n </div>\n </div>\n </cax-overlayPanel>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommentsComponent } from './comments';\n\n@NgModule({\n imports: [CommentsComponent],\n exports: [CommentsComponent]\n})\nexport class CommentsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}