@caribeng/ui 22.2.0 → 22.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +311 -231
  2. package/fesm2022/caribeng-ui-accordion.mjs +2 -2
  3. package/fesm2022/caribeng-ui-account-picker.mjs +533 -0
  4. package/fesm2022/caribeng-ui-aging.mjs +488 -0
  5. package/fesm2022/{caribeng-ui-caribe-alert.mjs → caribeng-ui-alert.mjs} +45 -45
  6. package/fesm2022/caribeng-ui-amount.mjs +249 -0
  7. package/fesm2022/caribeng-ui-anchor.mjs +2 -2
  8. package/fesm2022/{caribeng-ui-caribe-animation-lottie.mjs → caribeng-ui-animation-lottie.mjs} +41 -41
  9. package/fesm2022/caribeng-ui-audit-log.mjs +323 -0
  10. package/fesm2022/caribeng-ui-avatar.mjs +4 -4
  11. package/fesm2022/caribeng-ui-badge.mjs +8 -2
  12. package/fesm2022/caribeng-ui-breadcrumb.mjs +26 -9
  13. package/fesm2022/{caribeng-ui-caribe-button-group.mjs → caribeng-ui-button-group.mjs} +15 -15
  14. package/fesm2022/caribeng-ui-button.mjs +2 -2
  15. package/fesm2022/{caribeng-ui-caribe-card-content.mjs → caribeng-ui-card-content.mjs} +39 -39
  16. package/fesm2022/{caribeng-ui-caribe-card-move.mjs → caribeng-ui-card-move.mjs} +65 -65
  17. package/fesm2022/{caribeng-ui-caribe-card-primary.mjs → caribeng-ui-card-primary.mjs} +31 -31
  18. package/fesm2022/{caribeng-ui-caribe-card-select.mjs → caribeng-ui-card-select.mjs} +67 -67
  19. package/fesm2022/caribeng-ui-carousel.mjs +2 -2
  20. package/fesm2022/caribeng-ui-cascadeselect.mjs +45 -9
  21. package/fesm2022/caribeng-ui-chart.mjs +8 -5
  22. package/fesm2022/caribeng-ui-chat.mjs +1303 -0
  23. package/fesm2022/{caribeng-ui-caribe-coachmark.mjs → caribeng-ui-coachmark.mjs} +85 -85
  24. package/fesm2022/caribeng-ui-code-block.mjs +332 -0
  25. package/fesm2022/caribeng-ui-colorpicker.mjs +99 -5
  26. package/fesm2022/caribeng-ui-command-palette.mjs +476 -0
  27. package/fesm2022/caribeng-ui-comments.mjs +864 -0
  28. package/fesm2022/caribeng-ui-confirmdialog.mjs +78 -13
  29. package/fesm2022/caribeng-ui-confirmpopup.mjs +91 -16
  30. package/fesm2022/caribeng-ui-contextmenu.mjs +8 -4
  31. package/fesm2022/caribeng-ui-copy-button.mjs +230 -0
  32. package/fesm2022/caribeng-ui-datagrid.mjs +1635 -0
  33. package/fesm2022/caribeng-ui-dataview.mjs +6 -3
  34. package/fesm2022/caribeng-ui-datepicker.mjs +2 -2
  35. package/fesm2022/caribeng-ui-dock.mjs +52 -12
  36. package/fesm2022/caribeng-ui-document.mjs +495 -0
  37. package/fesm2022/{caribeng-ui-caribe-dots-indicator.mjs → caribeng-ui-dots-indicator.mjs} +41 -41
  38. package/fesm2022/caribeng-ui-drawer.mjs +9 -4
  39. package/fesm2022/caribeng-ui-dynamic-form.mjs +1581 -0
  40. package/fesm2022/caribeng-ui-editor.mjs +2324 -1311
  41. package/fesm2022/{caribeng-ui-caribe-expansion-panel.mjs → caribeng-ui-expansion-panel.mjs} +39 -39
  42. package/fesm2022/{caribeng-ui-caribe-fab-menu.mjs → caribeng-ui-fab-menu.mjs} +75 -75
  43. package/fesm2022/caribeng-ui-fieldset.mjs +2 -2
  44. package/fesm2022/caribeng-ui-file-card.mjs +134 -17
  45. package/fesm2022/{caribeng-ui-caribe-file-download.mjs → caribeng-ui-file-download.mjs} +63 -63
  46. package/fesm2022/caribeng-ui-financial-report.mjs +380 -0
  47. package/fesm2022/{caribeng-ui-caribe-float-menu.mjs → caribeng-ui-float-menu.mjs} +31 -31
  48. package/fesm2022/caribeng-ui-floatlabel.mjs +2 -2
  49. package/fesm2022/caribeng-ui-flow.mjs +1508 -0
  50. package/fesm2022/caribeng-ui-folder-card.mjs +122 -12
  51. package/fesm2022/{caribeng-ui-caribe-footer.mjs → caribeng-ui-footer.mjs} +19 -19
  52. package/fesm2022/caribeng-ui-gantt.mjs +1094 -0
  53. package/fesm2022/{caribeng-ui-caribe-header.mjs → caribeng-ui-header.mjs} +49 -49
  54. package/fesm2022/{caribeng-ui-caribe-icon-button.mjs → caribeng-ui-icon-button.mjs} +23 -23
  55. package/fesm2022/caribeng-ui-image-cropper.mjs +671 -0
  56. package/fesm2022/caribeng-ui-import-wizard.mjs +746 -0
  57. package/fesm2022/caribeng-ui-infinite-scroll.mjs +226 -0
  58. package/fesm2022/caribeng-ui-inlinemessage.mjs +2 -2
  59. package/fesm2022/caribeng-ui-input-number.mjs +22 -6
  60. package/fesm2022/{caribeng-ui-caribe-input-search.mjs → caribeng-ui-input-search.mjs} +65 -65
  61. package/fesm2022/{caribeng-ui-caribe-input-token.mjs → caribeng-ui-input-token.mjs} +59 -59
  62. package/fesm2022/caribeng-ui-inputmask.mjs +8 -2
  63. package/fesm2022/caribeng-ui-inputotp.mjs +2 -2
  64. package/fesm2022/caribeng-ui-journal-entry.mjs +340 -0
  65. package/fesm2022/caribeng-ui-kanban.mjs +4612 -0
  66. package/fesm2022/caribeng-ui-kbd.mjs +122 -0
  67. package/fesm2022/caribeng-ui-kpi.mjs +189 -0
  68. package/fesm2022/{caribeng-ui-caribe-link.mjs → caribeng-ui-link.mjs} +37 -37
  69. package/fesm2022/caribeng-ui-masonry.mjs +93 -0
  70. package/fesm2022/caribeng-ui-media-player.mjs +821 -0
  71. package/fesm2022/caribeng-ui-megamenu.mjs +13 -9
  72. package/fesm2022/caribeng-ui-mentions.mjs +495 -0
  73. package/fesm2022/caribeng-ui-menu.mjs +8 -4
  74. package/fesm2022/caribeng-ui-menubar.mjs +9 -5
  75. package/fesm2022/caribeng-ui-message.mjs +6 -3
  76. package/fesm2022/caribeng-ui-notification-center.mjs +636 -0
  77. package/fesm2022/{caribeng-ui-caribe-off-canvas.mjs → caribeng-ui-off-canvas.mjs} +55 -55
  78. package/fesm2022/{caribeng-ui-caribe-onboarding.mjs → caribeng-ui-onboarding.mjs} +105 -105
  79. package/fesm2022/caribeng-ui-orderlist.mjs +2 -2
  80. package/fesm2022/caribeng-ui-organizationchart.mjs +6 -10
  81. package/fesm2022/caribeng-ui-panel.mjs +6 -6
  82. package/fesm2022/caribeng-ui-panelmenu.mjs +9 -6
  83. package/fesm2022/caribeng-ui-pdfviewer.mjs +1755 -25
  84. package/fesm2022/caribeng-ui-period-picker.mjs +637 -0
  85. package/fesm2022/caribeng-ui-phone-input.mjs +688 -0
  86. package/fesm2022/caribeng-ui-picklist.mjs +2 -2
  87. package/fesm2022/caribeng-ui-pivot.mjs +419 -0
  88. package/fesm2022/caribeng-ui-pricing.mjs +263 -69
  89. package/fesm2022/caribeng-ui-qrcode.mjs +564 -0
  90. package/fesm2022/caribeng-ui-rating.mjs +14 -17
  91. package/fesm2022/caribeng-ui-reconciliation.mjs +386 -0
  92. package/fesm2022/caribeng-ui-ripple.mjs +2 -0
  93. package/fesm2022/caribeng-ui-scheduler.mjs +1027 -0
  94. package/fesm2022/caribeng-ui-scrolltop.mjs +3 -1
  95. package/fesm2022/caribeng-ui-select.mjs +2 -2
  96. package/fesm2022/{caribeng-ui-caribe-shortcut.mjs → caribeng-ui-shortcut.mjs} +29 -29
  97. package/fesm2022/caribeng-ui-sidebar.mjs +573 -0
  98. package/fesm2022/caribeng-ui-signature-pad.mjs +654 -0
  99. package/fesm2022/{caribeng-ui-caribe-status.mjs → caribeng-ui-status.mjs} +11 -11
  100. package/fesm2022/{caribeng-ui-caribe-step-indicator.mjs → caribeng-ui-step-indicator.mjs} +53 -53
  101. package/fesm2022/caribeng-ui-stepper.mjs +12 -5
  102. package/fesm2022/caribeng-ui-steps.mjs +2 -2
  103. package/fesm2022/caribeng-ui-table.mjs +333 -19
  104. package/fesm2022/caribeng-ui-tabmenu.mjs +10 -6
  105. package/fesm2022/caribeng-ui-tabs.mjs +2 -2
  106. package/fesm2022/{caribeng-ui-caribe-tag-button.mjs → caribeng-ui-tag-button.mjs} +25 -25
  107. package/fesm2022/caribeng-ui-tag.mjs +2 -2
  108. package/fesm2022/caribeng-ui-tieredmenu.mjs +111 -21
  109. package/fesm2022/{caribeng-ui-caribe-tracker.mjs → caribeng-ui-tracker.mjs} +29 -29
  110. package/fesm2022/{caribeng-ui-caribe-transaction-status.mjs → caribeng-ui-transaction-status.mjs} +11 -11
  111. package/fesm2022/caribeng-ui-treeselect.mjs +44 -9
  112. package/fesm2022/caribeng-ui-treetable.mjs +236 -17
  113. package/fesm2022/{caribeng-ui-caribe-voucher.mjs → caribeng-ui-voucher.mjs} +45 -45
  114. package/fesm2022/caribeng-ui-xlsx.mjs +486 -0
  115. package/fesm2022/caribeng-ui.mjs +1568 -1
  116. package/package.json +258 -178
  117. package/schematics/collection.json +5 -0
  118. package/schematics/migrate-from-primeng/core-icons.json +1 -0
  119. package/schematics/migrate-from-primeng/icons.js +269 -0
  120. package/schematics/migrate-from-primeng/index.js +290 -0
  121. package/schematics/migrate-from-primeng/mappings/button.js +93 -0
  122. package/schematics/migrate-from-primeng/mappings/card.js +33 -0
  123. package/schematics/migrate-from-primeng/mappings/checkbox.js +44 -0
  124. package/schematics/migrate-from-primeng/mappings/confirm.js +221 -0
  125. package/schematics/migrate-from-primeng/mappings/datepicker.js +121 -0
  126. package/schematics/migrate-from-primeng/mappings/dialog.js +84 -0
  127. package/schematics/migrate-from-primeng/mappings/index.js +88 -0
  128. package/schematics/migrate-from-primeng/mappings/inputnumber.js +62 -0
  129. package/schematics/migrate-from-primeng/mappings/inputtext.js +60 -0
  130. package/schematics/migrate-from-primeng/mappings/menu.js +468 -0
  131. package/schematics/migrate-from-primeng/mappings/multiselect.js +49 -0
  132. package/schematics/migrate-from-primeng/mappings/radiobutton.js +22 -0
  133. package/schematics/migrate-from-primeng/mappings/rules.js +206 -0
  134. package/schematics/migrate-from-primeng/mappings/select.js +97 -0
  135. package/schematics/migrate-from-primeng/mappings/service-calls.js +100 -0
  136. package/schematics/migrate-from-primeng/mappings/table.js +613 -0
  137. package/schematics/migrate-from-primeng/mappings/tabs.js +225 -0
  138. package/schematics/migrate-from-primeng/mappings/tag.js +29 -0
  139. package/schematics/migrate-from-primeng/mappings/textarea.js +44 -0
  140. package/schematics/migrate-from-primeng/mappings/toast.js +173 -0
  141. package/schematics/migrate-from-primeng/mappings/toggleswitch.js +37 -0
  142. package/schematics/migrate-from-primeng/mappings/tooltip.js +44 -0
  143. package/schematics/migrate-from-primeng/mappings/types.js +10 -0
  144. package/schematics/migrate-from-primeng/report.js +79 -0
  145. package/schematics/migrate-from-primeng/schema.js +2 -0
  146. package/schematics/migrate-from-primeng/schema.json +34 -0
  147. package/schematics/migrate-from-primeng/template.js +387 -0
  148. package/schematics/migrate-from-primeng/todo.js +5 -0
  149. package/schematics/migrate-from-primeng/typescript.js +442 -0
  150. package/schematics/migrate-from-primeng/workspace.js +117 -0
  151. package/schematics/ng-add/index.js +16 -1
  152. package/types/caribeng-ui-account-picker.d.ts +142 -0
  153. package/types/caribeng-ui-aging.d.ts +123 -0
  154. package/types/{caribeng-ui-caribe-alert.d.ts → caribeng-ui-alert.d.ts} +2 -2
  155. package/types/caribeng-ui-amount.d.ts +82 -0
  156. package/types/{caribeng-ui-caribe-animation-lottie.d.ts → caribeng-ui-animation-lottie.d.ts} +2 -2
  157. package/types/caribeng-ui-audit-log.d.ts +86 -0
  158. package/types/caribeng-ui-badge.d.ts +3 -1
  159. package/types/caribeng-ui-breadcrumb.d.ts +9 -1
  160. package/types/{caribeng-ui-caribe-button-group.d.ts → caribeng-ui-button-group.d.ts} +2 -2
  161. package/types/{caribeng-ui-caribe-card-content.d.ts → caribeng-ui-card-content.d.ts} +2 -2
  162. package/types/{caribeng-ui-caribe-card-move.d.ts → caribeng-ui-card-move.d.ts} +1 -1
  163. package/types/{caribeng-ui-caribe-card-primary.d.ts → caribeng-ui-card-primary.d.ts} +2 -2
  164. package/types/{caribeng-ui-caribe-card-select.d.ts → caribeng-ui-card-select.d.ts} +2 -2
  165. package/types/caribeng-ui-cascadeselect.d.ts +6 -0
  166. package/types/caribeng-ui-chart.d.ts +3 -1
  167. package/types/caribeng-ui-chat.d.ts +299 -0
  168. package/types/{caribeng-ui-caribe-coachmark.d.ts → caribeng-ui-coachmark.d.ts} +2 -2
  169. package/types/caribeng-ui-code-block.d.ts +65 -0
  170. package/types/caribeng-ui-colorpicker.d.ts +5 -1
  171. package/types/caribeng-ui-command-palette.d.ts +133 -0
  172. package/types/caribeng-ui-comments.d.ts +214 -0
  173. package/types/caribeng-ui-confirmdialog.d.ts +34 -2
  174. package/types/caribeng-ui-confirmpopup.d.ts +39 -2
  175. package/types/caribeng-ui-contextmenu.d.ts +7 -0
  176. package/types/caribeng-ui-copy-button.d.ts +90 -0
  177. package/types/caribeng-ui-datagrid.d.ts +269 -0
  178. package/types/caribeng-ui-dataview.d.ts +2 -0
  179. package/types/caribeng-ui-dock.d.ts +13 -1
  180. package/types/caribeng-ui-document.d.ts +138 -0
  181. package/types/{caribeng-ui-caribe-dots-indicator.d.ts → caribeng-ui-dots-indicator.d.ts} +2 -2
  182. package/types/caribeng-ui-drawer.d.ts +3 -1
  183. package/types/caribeng-ui-dynamic-form.d.ts +409 -0
  184. package/types/caribeng-ui-editor.d.ts +110 -12
  185. package/types/{caribeng-ui-caribe-expansion-panel.d.ts → caribeng-ui-expansion-panel.d.ts} +1 -1
  186. package/types/{caribeng-ui-caribe-fab-menu.d.ts → caribeng-ui-fab-menu.d.ts} +2 -2
  187. package/types/caribeng-ui-file-card.d.ts +27 -2
  188. package/types/{caribeng-ui-caribe-file-download.d.ts → caribeng-ui-file-download.d.ts} +1 -1
  189. package/types/caribeng-ui-financial-report.d.ts +102 -0
  190. package/types/{caribeng-ui-caribe-float-menu.d.ts → caribeng-ui-float-menu.d.ts} +2 -2
  191. package/types/caribeng-ui-flow.d.ts +228 -0
  192. package/types/caribeng-ui-folder-card.d.ts +27 -5
  193. package/types/{caribeng-ui-caribe-footer.d.ts → caribeng-ui-footer.d.ts} +2 -2
  194. package/types/caribeng-ui-gantt.d.ts +244 -0
  195. package/types/{caribeng-ui-caribe-header.d.ts → caribeng-ui-header.d.ts} +2 -2
  196. package/types/{caribeng-ui-caribe-icon-button.d.ts → caribeng-ui-icon-button.d.ts} +2 -2
  197. package/types/{caribeng-ui-caribe-illustration.d.ts → caribeng-ui-illustration.d.ts} +1 -1
  198. package/types/caribeng-ui-image-cropper.d.ts +169 -0
  199. package/types/caribeng-ui-import-wizard.d.ts +149 -0
  200. package/types/caribeng-ui-infinite-scroll.d.ts +75 -0
  201. package/types/caribeng-ui-input-number.d.ts +1 -1
  202. package/types/{caribeng-ui-caribe-input-search.d.ts → caribeng-ui-input-search.d.ts} +2 -2
  203. package/types/{caribeng-ui-caribe-input-token.d.ts → caribeng-ui-input-token.d.ts} +2 -2
  204. package/types/caribeng-ui-inputmask.d.ts +3 -1
  205. package/types/caribeng-ui-journal-entry.d.ts +110 -0
  206. package/types/caribeng-ui-kanban.d.ts +783 -0
  207. package/types/caribeng-ui-kbd.d.ts +36 -0
  208. package/types/caribeng-ui-kpi.d.ts +64 -0
  209. package/types/{caribeng-ui-caribe-link.d.ts → caribeng-ui-link.d.ts} +2 -2
  210. package/types/{caribeng-ui-caribe-logo.d.ts → caribeng-ui-logo.d.ts} +1 -1
  211. package/types/caribeng-ui-masonry.d.ts +32 -0
  212. package/types/caribeng-ui-media-player.d.ts +140 -0
  213. package/types/caribeng-ui-megamenu.d.ts +11 -0
  214. package/types/caribeng-ui-mentions.d.ts +127 -0
  215. package/types/caribeng-ui-menu.d.ts +7 -0
  216. package/types/caribeng-ui-menubar.d.ts +7 -0
  217. package/types/caribeng-ui-message.d.ts +2 -0
  218. package/types/caribeng-ui-notification-center.d.ts +153 -0
  219. package/types/{caribeng-ui-caribe-off-canvas.d.ts → caribeng-ui-off-canvas.d.ts} +2 -2
  220. package/types/{caribeng-ui-caribe-onboarding.d.ts → caribeng-ui-onboarding.d.ts} +2 -2
  221. package/types/caribeng-ui-panelmenu.d.ts +7 -0
  222. package/types/caribeng-ui-pdfviewer.d.ts +245 -5
  223. package/types/caribeng-ui-period-picker.d.ts +148 -0
  224. package/types/caribeng-ui-phone-input.d.ts +168 -0
  225. package/types/caribeng-ui-pivot.d.ts +116 -0
  226. package/types/caribeng-ui-pricing.d.ts +41 -4
  227. package/types/caribeng-ui-qrcode.d.ts +88 -0
  228. package/types/caribeng-ui-reconciliation.d.ts +109 -0
  229. package/types/caribeng-ui-scheduler.d.ts +188 -0
  230. package/types/{caribeng-ui-caribe-shortcut.d.ts → caribeng-ui-shortcut.d.ts} +2 -2
  231. package/types/caribeng-ui-sidebar.d.ts +167 -0
  232. package/types/caribeng-ui-signature-pad.d.ts +151 -0
  233. package/types/{caribeng-ui-caribe-status.d.ts → caribeng-ui-status.d.ts} +2 -2
  234. package/types/{caribeng-ui-caribe-step-indicator.d.ts → caribeng-ui-step-indicator.d.ts} +2 -2
  235. package/types/caribeng-ui-stepper.d.ts +2 -0
  236. package/types/caribeng-ui-table.d.ts +67 -3
  237. package/types/caribeng-ui-tabmenu.d.ts +7 -0
  238. package/types/{caribeng-ui-caribe-tag-button.d.ts → caribeng-ui-tag-button.d.ts} +2 -2
  239. package/types/caribeng-ui-tieredmenu.d.ts +17 -1
  240. package/types/{caribeng-ui-caribe-tracker.d.ts → caribeng-ui-tracker.d.ts} +2 -2
  241. package/types/{caribeng-ui-caribe-transaction-status.d.ts → caribeng-ui-transaction-status.d.ts} +2 -2
  242. package/types/caribeng-ui-treeselect.d.ts +6 -0
  243. package/types/caribeng-ui-treetable.d.ts +67 -2
  244. package/types/{caribeng-ui-caribe-voucher.d.ts → caribeng-ui-voucher.d.ts} +2 -2
  245. package/types/caribeng-ui-xlsx.d.ts +79 -0
  246. package/types/caribeng-ui.d.ts +985 -2
  247. package/fesm2022/caribeng-ui-caribe-calendar.mjs +0 -92
  248. package/fesm2022/caribeng-ui-caribe-circle-loading.mjs +0 -130
  249. package/fesm2022/caribeng-ui-caribe-data-table.mjs +0 -94
  250. package/fesm2022/caribeng-ui-caribe-file-select.mjs +0 -88
  251. package/fesm2022/caribeng-ui-caribe-inline-alert.mjs +0 -100
  252. package/fesm2022/caribeng-ui-caribe-input-date.mjs +0 -138
  253. package/fesm2022/caribeng-ui-caribe-input-select.mjs +0 -154
  254. package/fesm2022/caribeng-ui-caribe-loader.mjs +0 -48
  255. package/fesm2022/caribeng-ui-caribe-modal.mjs +0 -119
  256. package/fesm2022/caribeng-ui-caribe-pictogram.mjs +0 -52
  257. package/fesm2022/caribeng-ui-caribe-pop-over.mjs +0 -104
  258. package/fesm2022/caribeng-ui-caribe-preloader.mjs +0 -57
  259. package/fesm2022/caribeng-ui-caribe-progress-bar.mjs +0 -84
  260. package/fesm2022/caribeng-ui-caribe-stroke.mjs +0 -69
  261. package/fesm2022/caribeng-ui-caribe-switch.mjs +0 -182
  262. package/styles/caribeng.css +0 -380
  263. package/styles/scss/_mixins.scss +0 -46
  264. package/styles/scss/_overlay.scss +0 -15
  265. package/styles/scss/_tokens.scss +0 -267
  266. package/styles/scss/_utilities.scss +0 -73
  267. package/styles/scss/_variables.scss +0 -33
  268. package/styles/scss/index.scss +0 -16
  269. package/types/caribeng-ui-caribe-calendar.d.ts +0 -27
  270. package/types/caribeng-ui-caribe-circle-loading.d.ts +0 -28
  271. package/types/caribeng-ui-caribe-data-table.d.ts +0 -26
  272. package/types/caribeng-ui-caribe-file-select.d.ts +0 -31
  273. package/types/caribeng-ui-caribe-inline-alert.d.ts +0 -28
  274. package/types/caribeng-ui-caribe-input-date.d.ts +0 -40
  275. package/types/caribeng-ui-caribe-input-select.d.ts +0 -47
  276. package/types/caribeng-ui-caribe-loader.d.ts +0 -22
  277. package/types/caribeng-ui-caribe-modal.d.ts +0 -21
  278. package/types/caribeng-ui-caribe-pictogram.d.ts +0 -15
  279. package/types/caribeng-ui-caribe-pop-over.d.ts +0 -17
  280. package/types/caribeng-ui-caribe-preloader.d.ts +0 -24
  281. package/types/caribeng-ui-caribe-progress-bar.d.ts +0 -28
  282. package/types/caribeng-ui-caribe-stroke.d.ts +0 -17
  283. package/types/caribeng-ui-caribe-switch.d.ts +0 -55
  284. /package/fesm2022/{caribeng-ui-caribe-illustration.mjs → caribeng-ui-illustration.mjs} +0 -0
  285. /package/fesm2022/{caribeng-ui-caribe-logo.mjs → caribeng-ui-logo.mjs} +0 -0
package/README.md CHANGED
@@ -1,231 +1,311 @@
1
- <h1 align="center">CaribeNG</h1>
2
-
3
- <p align="center">
4
- <strong>Sistema de diseño y librería de componentes para Angular.</strong><br />
5
- Standalone, Signals, OnPush, tokens CSS y accesibilidad WCAG 2.2 AA.
6
- </p>
7
-
8
- <p align="center">
9
- <img alt="Angular 22" src="https://img.shields.io/badge/Angular-22-dd0031.svg?style=flat-square" />
10
- <img alt="Entry points" src="https://img.shields.io/badge/entry%20points-142-10b981.svg?style=flat-square" />
11
- <img alt="Licencia MIT" src="https://img.shields.io/badge/licencia-MIT-blue.svg?style=flat-square" />
12
- </p>
13
-
14
- ---
15
-
16
- ## ✨ Características
17
-
18
- - **152 componentes y directivas** standalone, cada uno en su propio entry point (`@caribeng/ui/button`, `@caribeng/ui/table`…): solo empaquetas lo que importas.
19
- - **Angular moderno:** `input()` / `model()` / `output()` con Signals, `ChangeDetectionStrategy.OnPush` y compatible con apps zoneless.
20
- - **Formularios sin fricción:** `ControlValueAccessor` en todos los controles; el error y el indicador de obligatorio se sincronizan solos con Angular Forms.
21
- - **Accesibles:** roles y atributos ARIA, soporte de teclado y gestión de foco (WCAG 2.2 AA).
22
- - **Tematizables:** tokens CSS `--cb-*`, modo claro/oscuro y presets de color que se cambian en caliente.
23
- - **Caribe Design:** 45 componentes adicionales del sistema Caribe (`@caribeng/ui/caribe/*`).
24
- - **Iconos incluidos:** 361 iconos núcleo listos para usar y un catálogo opcional de 1891 iconos.
25
-
26
- ## 🖥 Compatibilidad
27
-
28
- El major de CaribeNG coincide con el de Angular, igual que Angular Material, PrimeNG y NG-ZORRO. Instala la versión que corresponde a tu proyecto:
29
-
30
- | CaribeNG | Angular | Estado |
31
- | --- | --- | --- |
32
- | `22.x` | `^22.0.0` | Activa: nuevas funciones y correcciones |
33
- | `21.x` | `^21.0.0` | Mantenimiento: solo correcciones |
34
-
35
- Navegadores: los mismos que [soporta Angular](https://angular.dev/reference/versions#browser-support).
36
-
37
- ## 📦 Instalación
38
-
39
- ### Requisitos
40
-
41
- - Un proyecto **Angular 22** con `@angular/forms` (lo incluye cualquier proyecto creado con `ng new`).
42
- - `@angular/cdk` se instala automáticamente como dependencia (overlays y accesibilidad).
43
- - npm, yarn o pnpm.
44
-
45
- ### Instalación rápida (recomendada)
46
-
47
- ```bash
48
- ng add @caribeng/ui
49
- ```
50
-
51
- Pregunta el idioma, el tema y el color primario, y deja el proyecto listo:
52
-
53
- - instala `@caribeng/ui` (y `@angular/cdk`),
54
- - registra `provideCaribeNG({ locale, theme, preset })` en `app.config.ts` (o en `AppModule`),
55
- - añade `@caribeng/ui/styles.css` a los estilos de `angular.json`.
56
-
57
- Se puede ejecutar sin preguntas: `ng add @caribeng/ui --locale=en --theme=system --preset=ocean --skip-confirmation`. Volver a ejecutarlo no duplica nada.
58
-
59
- Después, salta al paso [3. Verifica la instalación](#3-verifica-la-instalación).
60
-
61
- ### Instalación manual
62
-
63
- ```bash
64
- # npm
65
- npm install @caribeng/ui
66
-
67
- # yarn
68
- yarn add @caribeng/ui
69
-
70
- # pnpm
71
- pnpm add @caribeng/ui
72
- ```
73
-
74
- ## 🔨 Uso
75
-
76
- > Con `ng add @caribeng/ui` los pasos 1 y 2 ya están hechos.
77
-
78
- ### 1. Proveedor
79
-
80
- Añade `provideCaribeNG()` a los providers de tu `app.config.ts`. Todas las opciones son opcionales:
81
-
82
- ```ts
83
- import { ApplicationConfig } from '@angular/core';
84
- import { provideCaribeNG } from '@caribeng/ui';
85
-
86
- export const appConfig: ApplicationConfig = {
87
- providers: [
88
- provideCaribeNG({
89
- theme: 'system', // 'light' (por defecto) | 'dark' | 'system'
90
- preset: 'emerald', // 'emerald' | 'ocean' | 'coral' | 'amber' | 'violet' | 'rose'
91
- persistTheme: true, // recuerda la elección del usuario
92
- requiredIndicator: 'none', // 'asterisk' | 'text' | 'optional' | 'none'
93
- }),
94
- ],
95
- };
96
- ```
97
-
98
- ### 2. Estilos
99
-
100
- Agrega la hoja de estilos (tokens `--cb-*`, tema y utilidades) en `angular.json`:
101
-
102
- ```diff
103
- "styles": [
104
- + "node_modules/@caribeng/ui/styles/caribeng.css",
105
- "src/styles.css"
106
- ]
107
- ```
108
-
109
- o impórtala desde tu hoja global:
110
-
111
- ```css
112
- /* src/styles.css */
113
- @import '@caribeng/ui/styles.css';
114
- ```
115
-
116
- ### 3. Verifica la instalación
117
-
118
- Importa los componentes que vayas a usar desde su entry point. La ruta de importación de cada uno aparece en su página de documentación.
119
-
120
- ```ts
121
- import { Component, signal } from '@angular/core';
122
- import { CbButton } from '@caribeng/ui/button';
123
- import { CbInput } from '@caribeng/ui/input';
124
-
125
- @Component({
126
- selector: 'app-root',
127
- imports: [CbButton, CbInput],
128
- template: `
129
- <cb-input label="Correo" type="email" [(value)]="email" />
130
- <cb-button (click)="enviar()">Continuar</cb-button>
131
- `,
132
- })
133
- export class App {
134
- readonly email = signal('');
135
-
136
- enviar(): void {
137
- console.log(this.email());
138
- }
139
- }
140
- ```
141
-
142
- Si ves el campo y el botón con estilo, CaribeNG está listo.
143
-
144
- ### Formularios
145
-
146
- Todos los controles funcionan con Reactive Forms y con formularios por plantilla. El error se muestra solo cuando el control es inválido y el usuario lo tocó; el mensaje es opcional:
147
-
148
- ```html
149
- <cb-input label="Correo" formControlName="email" error="Ingresa un correo válido" />
150
- ```
151
-
152
- ## 🌐 Idioma (i18n)
153
-
154
- Los textos de interfaz de los componentes (etiquetas accesibles, botones, placeholders y mensajes) vienen en **español** (por defecto) e **inglés**:
155
-
156
- ```ts
157
- provideCaribeNG({
158
- locale: 'en', // 'es' | 'en' | objeto CbTranslation propio
159
- translation: { noResults: 'Nothing here yet' }, // sobrescribe textos sueltos
160
- });
161
- ```
162
-
163
- Cambio en caliente, sin recargar:
164
-
165
- ```ts
166
- import { inject } from '@angular/core';
167
- import { CbLocaleService } from '@caribeng/ui';
168
-
169
- inject(CbLocaleService).use('en');
170
- ```
171
-
172
- Un texto pasado por input (por ejemplo `placeholder` o `emptyMessage`) siempre tiene prioridad sobre el idioma.
173
-
174
- ## 🎨 Tema claro/oscuro y presets
175
-
176
- ```ts
177
- import { inject } from '@angular/core';
178
- import { CbThemeService } from '@caribeng/ui';
179
-
180
- export class Header {
181
- private readonly theme = inject(CbThemeService);
182
-
183
- alternarTema(): void {
184
- this.theme.toggle(); // 'light' <-> 'dark'
185
- }
186
-
187
- usarOceano(): void {
188
- this.theme.setPreset('ocean');
189
- }
190
- }
191
- ```
192
-
193
- ## 🔣 Iconos
194
-
195
- Los 361 iconos núcleo se registran solos:
196
-
197
- ```html
198
- <cb-icon name="house" [size]="20" />
199
- ```
200
-
201
- Para usar otros del catálogo completo (1891 iconos derivados de Lucide), regístralos en los providers; solo se empaquetan los que importas:
202
-
203
- ```ts
204
- import { provideCbIcons } from '@caribeng/ui/icon';
205
- import { heartPulse, rocket } from '@caribeng/ui/icons';
206
-
207
- providers: [provideCbIcons({ 'heart-pulse': heartPulse, rocket })];
208
- ```
209
-
210
- ## 📚 Catálogo
211
-
212
- - **Form:** `autocomplete`, `button`, `cascadeselect`, `checkbox`, `chips`, `colorpicker`, `datepicker`, `editor`, `fileupload`, `floatlabel`, `iconfield`, `input`, `input-number`, `inputgroup`, `inputmask`, `inputotp`, `keyfilter`, `knob`, `listbox`, `multiselect`, `password`, `radio`, `rating`, `repeater`, `select`, `selectbutton`, `slider`, `textarea`, `toggle`, `togglebutton`, `treeselect`.
213
- - **Data:** `dataview`, `descriptions`, `orderlist`, `organizationchart`, `paginator`, `picklist`, `statistic`, `table`, `timeline`, `tree`, `treetable`, `virtualscroller`.
214
- - **Overlay:** `confirmdialog`, `confirmpopup`, `dialog`, `drawer`, `dynamicdialog`, `popover`, `tooltip`.
215
- - **Messages:** `badge`, `chip`, `empty`, `inlinemessage`, `message`, `result`, `tag`, `toast`.
216
- - **Menu:** `anchor`, `breadcrumb`, `contextmenu`, `dock`, `megamenu`, `menu`, `menubar`, `panelmenu`, `speeddial`, `splitbutton`, `steps`, `tabmenu`, `tieredmenu`.
217
- - **Panel:** `accordion`, `card`, `divider`, `fieldset`, `panel`, `scrollpanel`, `scrolltop`, `splitter`, `stepper`, `tabs`, `toolbar`.
218
- - **Media:** `avatar`, `avatargroup`, `carousel`, `galleria`, `image`, `pdfviewer`.
219
- - **Archivos y precios:** `file-card`, `folder-card`, `pricing`.
220
- - **Misc y directivas:** `animateonscroll`, `autofocus`, `blockui`, `chart`, `focustrap`, `icon`, `icons`, `inplace`, `metergroup`, `progressbar`, `ripple`, `skeleton`, `spinner`, `styleclass`, `terminal`, `themetoggle`.
221
- - **Caribe Design (`@caribeng/ui/caribe/*`):** `alert`, `animation-lottie`, `button-group`, `calendar`, `card-content`, `card-move`, `card-primary`, `card-select`, `circle-loading`, `coachmark`, `data-table`, `dots-indicator`, `expansion-panel`, `fab-menu`, `file-download`, `file-select`, `float-menu`, `footer`, `header`, `icon-button`, `illustration`, `inline-alert`, `input-date`, `input-search`, `input-select`, `input-token`, `link`, `loader`, `logo`, `modal`, `off-canvas`, `onboarding`, `pictogram`, `pop-over`, `preloader`, `progress-bar`, `shortcut`, `status`, `step-indicator`, `stroke`, `switch`, `tag-button`, `tracker`, `transaction-status`, `voucher`.
222
-
223
- ## 🧭 Próximos pasos
224
-
225
- - Explora cada componente, con ejemplos en HTML y TypeScript, en el sitio de documentación (showcase).
226
- - Personaliza colores y tokens en la guía de Theming.
227
- - Consulta las novedades de cada versión en la página Changelog del sitio de documentación.
228
-
229
- ## ☀️ Licencia
230
-
231
- MIT © CaribeNG Contributors. Iconos derivados de Lucide (ISC); ver `THIRD-PARTY-NOTICES.md`.
1
+ <h1 align="center">CaribeNG</h1>
2
+
3
+ <p align="center">
4
+ <strong>Sistema de diseño y librería de componentes para Angular.</strong><br />
5
+ Standalone, Signals, OnPush, tokens CSS y accesibilidad WCAG 2.2 AA.
6
+ </p>
7
+
8
+ <p align="center">
9
+ <img alt="Angular 22" src="https://img.shields.io/badge/Angular-22-dd0031.svg?style=flat-square" />
10
+ <img alt="Entry points" src="https://img.shields.io/badge/entry%20points-173-10b981.svg?style=flat-square" />
11
+ <img alt="Licencia MIT" src="https://img.shields.io/badge/licencia-MIT-blue.svg?style=flat-square" />
12
+ </p>
13
+
14
+ ---
15
+
16
+ ## ✨ Características
17
+
18
+ - **225 componentes y directivas** standalone (186 componentes + 39 directivas), empaquetados en **173 entry points** (`@caribeng/ui/button`, `@caribeng/ui/table`…): solo empaquetas lo que importas.
19
+ - **Angular moderno:** `input()` / `model()` / `output()` con Signals, `ChangeDetectionStrategy.OnPush` y compatible con apps zoneless.
20
+ - **Formularios sin fricción:** `ControlValueAccessor` en todos los controles; el error y el indicador de obligatorio se sincronizan solos con Angular Forms.
21
+ - **Accesibles:** roles y atributos ARIA, soporte de teclado y gestión de foco (WCAG 2.2 AA).
22
+ - **Tematizables:** tokens CSS `--cb-*`, modo claro/oscuro y presets de color que se cambian en caliente.
23
+ - **Iconos incluidos:** 363 iconos núcleo listos para usar y un catálogo opcional de 1891 iconos.
24
+ - **Migración desde PrimeNG:** un schematic traduce imports, plantillas e iconos y deja un informe con lo pendiente ([ver más](#migrar-desde-primeng)).
25
+
26
+ ## 🖥 Compatibilidad
27
+
28
+ El major de CaribeNG coincide con el de Angular, igual que Angular Material, PrimeNG y NG-ZORRO. Instala la versión que corresponde a tu proyecto:
29
+
30
+ | CaribeNG | Angular | Estado |
31
+ | --- | --- | --- |
32
+ | `22.x` | `^22.0.0` | Activa: nuevas funciones y correcciones |
33
+ | `21.x` | `^21.0.0` | Mantenimiento: solo correcciones |
34
+
35
+ Navegadores: los mismos que [soporta Angular](https://angular.dev/reference/versions#browser-support).
36
+
37
+ ## 📦 Instalación
38
+
39
+ ### Requisitos
40
+
41
+ - Un proyecto **Angular 22** con `@angular/forms` (lo incluye cualquier proyecto creado con `ng new`).
42
+ - `@angular/cdk` se instala automáticamente como dependencia (overlays y accesibilidad).
43
+ - npm, yarn o pnpm.
44
+
45
+ ### Instalación rápida (recomendada)
46
+
47
+ ```bash
48
+ ng add @caribeng/ui
49
+ ```
50
+
51
+ Pregunta el idioma, el tema y el color primario, y deja el proyecto listo:
52
+
53
+ - instala `@caribeng/ui` (y `@angular/cdk`),
54
+ - registra `provideCaribeNG({ locale, theme, preset })` en `app.config.ts` (o en `AppModule`),
55
+ - añade `@caribeng/ui/styles.css` a los estilos de `angular.json`.
56
+
57
+ Se puede ejecutar sin preguntas: `ng add @caribeng/ui --locale=en --theme=system --preset=ocean --skip-confirmation`. Volver a ejecutarlo no duplica nada.
58
+
59
+ Después, salta al paso [3. Verifica la instalación](#3-verifica-la-instalación).
60
+
61
+ ### Instalación manual
62
+
63
+ ```bash
64
+ # npm
65
+ npm install @caribeng/ui
66
+
67
+ # yarn
68
+ yarn add @caribeng/ui
69
+
70
+ # pnpm
71
+ pnpm add @caribeng/ui
72
+ ```
73
+
74
+ ### Migrar desde PrimeNG
75
+
76
+ En un proyecto con PrimeNG 18 o superior, instala CaribeNG y ejecuta el migrador:
77
+
78
+ ```bash
79
+ npm install @caribeng/ui@22
80
+ ng generate @caribeng/ui:migrate-from-primeng
81
+ ```
82
+
83
+ > Haz commit (o una copia) antes de ejecutarlo para poder revisar los cambios con `git diff`. Con `--dry-run` ves qué archivos cambiaría sin escribir nada. Si ejecutas `ng add @caribeng/ui` en un proyecto con PrimeNG, te recordará este comando.
84
+
85
+ ```html
86
+ <!-- Antes -->
87
+ <p-button label="Guardar" icon="pi pi-check" [outlined]="true" (onClick)="guardar()" />
88
+ <input pInputText id="email" [(ngModel)]="email" />
89
+ <p-dialog header="Editar" [(visible)]="abierto" [modal]="true" [style]="{ width: '25rem' }">…</p-dialog>
90
+
91
+ <!-- Después -->
92
+ <cb-button variant="outlined" (click)="guardar()"><cb-icon name="check" />Guardar</cb-button>
93
+ <cb-input inputId="email" [(ngModel)]="email" />
94
+ <cb-dialog header="Editar" [(visible)]="abierto" width="25rem">…</cb-dialog>
95
+ ```
96
+
97
+ Qué hace:
98
+
99
+ - cambia los imports de PrimeNG por los de CaribeNG (`ButtonModule` → `CbButton`, `providePrimeNG()` → `provideCaribeNG()`) y añade a cada componente los que usa su plantilla,
100
+ - traduce las plantillas con sus inputs y eventos (`[outlined]` → `variant`, `size="small"` → `size="sm"`, `(onClick)` → `(click)`, `subheader` → `subtitle`…), incluido el pie de Dialog y Card (`#footer` → `<div cb-dialog-footer>` / `<div cb-card-footer>`),
101
+ - cambia `MessageService` por `CbToastService`: traduce los mensajes (`severity: 'error'` → `'danger'`, `'warn'` → `'warning'`, `sticky: true` → `life: 0`) y lo quita de los `providers`, porque `CbToastService` es único para toda la app,
102
+ - convierte los iconos `pi pi-*` en `<cb-icon>` y registra con `provideCbIcons` los que no están en el set núcleo,
103
+ - quita PrimeIcons de `angular.json` y de las hojas de estilo, y añade `@caribeng/ui/styles.css`,
104
+ - quita `primeng`, `primeicons` y `@primeuix/*` de `package.json` **solo cuando ya no queda ninguna referencia**; mientras tanto las dos librerías conviven.
105
+
106
+ Lo que no puede traducir con seguridad (un input sin equivalente, una plantilla `#header` personalizada, un `pButton` sobre un enlace…) lo marca con un comentario junto al código, conservando el atributo original:
107
+
108
+ ```html
109
+ <!-- TODO(caribeng): [rounded]="true" — cb-button no tiene variante redondeada; usa una clase propia o <cb-icon-button>. -->
110
+ <cb-button severity="danger">Borrar</cb-button>
111
+ ```
112
+
113
+ Todos los avisos, las referencias a PrimeNG que aún quedan (por ejemplo componentes que el migrador no traduce todavía) y los imports que haya que añadir a mano se resumen en `caribeng-migration-report.md`, con archivo y línea.
114
+
115
+ **Componentes que traduce hoy:**
116
+
117
+ | PrimeNG | CaribeNG |
118
+ |---|---|
119
+ | `<p-button>`, `<button pButton>` | `<cb-button>` |
120
+ | `<input pInputText>` | `<cb-input>` |
121
+ | `<textarea pTextarea>`, `<textarea pInputTextarea>` | `<cb-textarea>` |
122
+ | `<p-inputnumber>` | `<cb-input-number>` |
123
+ | `<p-select>`, `<p-dropdown>` | `<cb-select>` |
124
+ | `<p-multiselect>` | `<cb-multiselect>` |
125
+ | `<p-toggleswitch>`, `<p-inputSwitch>` | `<cb-toggle>` |
126
+ | `<p-datepicker>`, `<p-calendar>` | `<cb-datepicker>` |
127
+ | `<p-dialog>` | `<cb-dialog>` |
128
+ | `<p-confirmdialog>` + `ConfirmationService` | `<cb-confirm-dialog service>` + `CbConfirmationService` |
129
+ | `<p-confirmpopup>` | `<cb-confirm-popup service>` |
130
+ | `<p-menu>`, `<p-menubar>`, `<p-tieredmenu>`, `<p-panelmenu>`, `<p-breadcrumb>`, `<p-tabmenu>` | `<cb-menu>`, `<cb-menubar>`, `<cb-tieredmenu>`, `<cb-panelmenu>`, `<cb-breadcrumb>`, `<cb-tabmenu>` |
131
+ | `MenuItem[]` (`icon`, `command`, `routerLink`…) | el tipo de item del menú que lo recibe (`CbMenubarItem[]`…) |
132
+ | `<p-splitbutton>` | `<cb-split-button>` |
133
+ | `<p-table>` (columnas escritas en `#header`/`#body` o dinámicas con `@for`) | `<cb-table [columns]>` + un `cbTableCell` por celda personalizada |
134
+ | `<p-tabs>` (y `<p-tabView>`) | `<cb-tabs>` + `<cb-tab label="…">` |
135
+ | `<p-accordion>` (y `<p-accordionTab>`) | `<cb-accordion>` + `<cb-accordion-panel header="…">` |
136
+ | `<p-tag>` | `<cb-tag>` |
137
+ | `<p-toast>` + `MessageService` | `<cb-toast>` + `CbToastService` |
138
+ | `<p-card>` | `<cb-card>` |
139
+ | `pTooltip` (en cualquier elemento) | `cbTooltip` |
140
+ | `<p-checkbox>` | `<cb-checkbox>` |
141
+ | `<i class="pi pi-*">` | `<cb-icon>` |
142
+
143
+ En los menús, los arrays de `MenuItem` cambian de tipo según el menú que los recibe en la plantilla; `icon: 'pi pi-plus'` pasa a `'plus'`, `command` y `visible` se conservan, y `routerLink: '/x'` pasa a `url` (los `routerLink` con parámetros quedan con aviso). En las tablas, cada `<th>`/`<td>` pasa a una columna de `[columns]` (`pSortableColumn` → `sortable`, `<p-columnFilter>` → `filter`, `pFrozenColumn` → `frozen`); las celdas que no son solo `{{ fila.campo }}` pasan a un `<ng-template cbTableCell>` con su contenido migrado, y las columnas de checkbox y de expandir desaparecen porque `cb-table` las pone sola. Con columnas dinámicas (`[columns]="cols"` + `@for`), `cols` pasa directamente a `[columns]`: el migrador le añade `sortable: true` / `filter: true` si la cabecera los aplicaba a todas, y las ramas `@if (col.field === '…')` o `@switch (col.field)` del cuerpo pasan a un `cbTableCell` por campo. Las tablas con celdas de lógica genérica, varias filas por registro o plantillas sin equivalente se dejan con aviso y conservan `TableModule`, para que sigan compilando. Las pestañas y los acordeones de PrimeNG 18+ se reestructuran (la cabecera pasa a `label`/`header`); si se generan con `@for` o la cabecera lleva iconos, quedan con aviso.
144
+
145
+ Los radios (`<p-radiobutton>`) y los menús contextuales (`<p-contextmenu>`) se marcan con un aviso pero no se convierten, porque cambia la estructura de la página: en CaribeNG el modelo de los radios va en un `<cb-radio-group>` que envuelve las opciones, y `<cb-contextmenu>` envuelve el área sobre la que se abre en vez de apuntar a ella con `[target]`. El resto de componentes aparece en el informe para migrarlo a mano; se irán añadiendo en próximas versiones.
146
+
147
+ | Opción | Uso |
148
+ |---|---|
149
+ | `--path=src/app/ventas` | Migrar solo una carpeta (migración por partes). |
150
+ | `--remove-primeng=false` | No tocar las dependencias de `package.json`. |
151
+ | `--report=false` | No escribir el informe. |
152
+ | `--skip-install` | No instalar dependencias al terminar. |
153
+ | `--force` | Migrar aunque falte `@caribeng/ui` o la versión de PrimeNG sea anterior a la 18. |
154
+
155
+ ## 🔨 Uso
156
+
157
+ > Con `ng add @caribeng/ui` los pasos 1 y 2 ya están hechos.
158
+
159
+ ### 1. Proveedor
160
+
161
+ Añade `provideCaribeNG()` a los providers de tu `app.config.ts`. Todas las opciones son opcionales:
162
+
163
+ ```ts
164
+ import { ApplicationConfig } from '@angular/core';
165
+ import { provideCaribeNG } from '@caribeng/ui';
166
+
167
+ export const appConfig: ApplicationConfig = {
168
+ providers: [
169
+ provideCaribeNG({
170
+ theme: 'system', // 'light' (por defecto) | 'dark' | 'system'
171
+ preset: 'emerald', // 'emerald' | 'ocean' | 'coral' | 'amber' | 'violet' | 'rose'
172
+ persistTheme: true, // recuerda la elección del usuario
173
+ requiredIndicator: 'none', // 'asterisk' | 'text' | 'optional' | 'none'
174
+ }),
175
+ ],
176
+ };
177
+ ```
178
+
179
+ ### 2. Estilos
180
+
181
+ Agrega la hoja de estilos (tokens `--cb-*`, tema y utilidades) en `angular.json`:
182
+
183
+ ```diff
184
+ "styles": [
185
+ + "node_modules/@caribeng/ui/styles/caribeng.css",
186
+ "src/styles.css"
187
+ ]
188
+ ```
189
+
190
+ o impórtala desde tu hoja global:
191
+
192
+ ```css
193
+ /* src/styles.css */
194
+ @import '@caribeng/ui/styles.css';
195
+ ```
196
+
197
+ ### 3. Verifica la instalación
198
+
199
+ Importa los componentes que vayas a usar desde su entry point. La ruta de importación de cada uno aparece en su página de documentación.
200
+
201
+ ```ts
202
+ import { Component, signal } from '@angular/core';
203
+ import { CbButton } from '@caribeng/ui/button';
204
+ import { CbInput } from '@caribeng/ui/input';
205
+
206
+ @Component({
207
+ selector: 'app-root',
208
+ imports: [CbButton, CbInput],
209
+ template: `
210
+ <cb-input label="Correo" type="email" [(value)]="email" />
211
+ <cb-button (click)="enviar()">Continuar</cb-button>
212
+ `,
213
+ })
214
+ export class App {
215
+ readonly email = signal('');
216
+
217
+ enviar(): void {
218
+ console.log(this.email());
219
+ }
220
+ }
221
+ ```
222
+
223
+ Si ves el campo y el botón con estilo, CaribeNG está listo.
224
+
225
+ ### Formularios
226
+
227
+ Todos los controles funcionan con Reactive Forms y con formularios por plantilla. El error se muestra solo cuando el control es inválido y el usuario lo tocó; el mensaje es opcional:
228
+
229
+ ```html
230
+ <cb-input label="Correo" formControlName="email" error="Ingresa un correo válido" />
231
+ ```
232
+
233
+ ## 🌐 Idioma (i18n)
234
+
235
+ Los textos de interfaz de los componentes (etiquetas accesibles, botones, placeholders y mensajes) vienen en **español** (por defecto) e **inglés**:
236
+
237
+ ```ts
238
+ provideCaribeNG({
239
+ locale: 'en', // 'es' | 'en' | objeto CbTranslation propio
240
+ translation: { noResults: 'Nothing here yet' }, // sobrescribe textos sueltos
241
+ });
242
+ ```
243
+
244
+ Cambio en caliente, sin recargar:
245
+
246
+ ```ts
247
+ import { inject } from '@angular/core';
248
+ import { CbLocaleService } from '@caribeng/ui';
249
+
250
+ inject(CbLocaleService).use('en');
251
+ ```
252
+
253
+ Un texto pasado por input (por ejemplo `placeholder` o `emptyMessage`) siempre tiene prioridad sobre el idioma.
254
+
255
+ ## 🎨 Tema claro/oscuro y presets
256
+
257
+ ```ts
258
+ import { inject } from '@angular/core';
259
+ import { CbThemeService } from '@caribeng/ui';
260
+
261
+ export class Header {
262
+ private readonly theme = inject(CbThemeService);
263
+
264
+ alternarTema(): void {
265
+ this.theme.toggle(); // 'light' <-> 'dark'
266
+ }
267
+
268
+ usarOceano(): void {
269
+ this.theme.setPreset('ocean');
270
+ }
271
+ }
272
+ ```
273
+
274
+ ## 🔣 Iconos
275
+
276
+ Los 363 iconos núcleo se registran solos:
277
+
278
+ ```html
279
+ <cb-icon name="house" [size]="20" />
280
+ ```
281
+
282
+ Para usar otros del catálogo completo (1891 iconos derivados de Lucide), regístralos en los providers; solo se empaquetan los que importas:
283
+
284
+ ```ts
285
+ import { provideCbIcons } from '@caribeng/ui/icon';
286
+ import { heartPulse, rocket } from '@caribeng/ui/icons';
287
+
288
+ providers: [provideCbIcons({ 'heart-pulse': heartPulse, rocket })];
289
+ ```
290
+
291
+ ## 📚 Catálogo
292
+
293
+ - **Form:** `autocomplete`, `button`, `button-group`, `cascadeselect`, `checkbox`, `chips`, `colorpicker`, `datepicker`, `editor`, `fab-menu`, `fileupload`, `floatlabel`, `icon-button`, `iconfield`, `input`, `input-number`, `input-search`, `input-token`, `inputgroup`, `inputmask`, `inputotp`, `keyfilter`, `knob`, `listbox`, `mentions`, `multiselect`, `password`, `phone-input`, `radio`, `rating`, `repeater`, `select`, `selectbutton`, `slider`, `tag-button`, `textarea`, `toggle`, `togglebutton`, `treeselect`.
294
+ - **Data:** `dataview`, `descriptions`, `kanban`, `orderlist`, `organizationchart`, `paginator`, `picklist`, `statistic`, `table`, `timeline`, `tracker`, `tree`, `treetable`, `virtualscroller`.
295
+ - **Overlay:** `coachmark`, `command-palette`, `confirmdialog`, `confirmpopup`, `dialog`, `drawer`, `dynamicdialog`, `off-canvas`, `onboarding`, `popover`, `tooltip`.
296
+ - **Messages:** `alert`, `badge`, `chat`, `chip`, `empty`, `inlinemessage`, `message`, `result`, `tag`, `toast`.
297
+ - **Menu:** `anchor`, `breadcrumb`, `contextmenu`, `dock`, `float-menu`, `megamenu`, `menu`, `menubar`, `panelmenu`, `sidebar`, `speeddial`, `splitbutton`, `steps`, `tabmenu`, `tieredmenu`.
298
+ - **Panel:** `accordion`, `card`, `card-content`, `card-move`, `card-primary`, `card-select`, `divider`, `expansion-panel`, `fieldset`, `footer`, `header`, `panel`, `scrollpanel`, `scrolltop`, `splitter`, `stepper`, `tabs`, `toolbar`.
299
+ - **Media:** `animation-lottie`, `avatar`, `avatargroup`, `carousel`, `galleria`, `illustration`, `image`, `logo`, `pdfviewer`, `qrcode`.
300
+ - **Archivos y precios:** `file-card`, `file-download`, `folder-card`, `pricing`.
301
+ - **Misc y directivas:** `animateonscroll`, `autofocus`, `blockui`, `chart`, `code-block`, `copy-button`, `dots-indicator`, `focustrap`, `icon`, `icons`, `inplace`, `kbd`, `link`, `metergroup`, `progressbar`, `ripple`, `shortcut`, `skeleton`, `spinner`, `status`, `step-indicator`, `styleclass`, `terminal`, `themetoggle`.
302
+
303
+ ## 🧭 Próximos pasos
304
+
305
+ - Explora cada componente, con ejemplos en HTML y TypeScript, en el sitio de documentación (showcase).
306
+ - Personaliza colores y tokens en la guía de Theming.
307
+ - Consulta las novedades de cada versión en la página Changelog del sitio de documentación.
308
+
309
+ ## ☀️ Licencia
310
+
311
+ MIT © CaribeNG Contributors. Iconos derivados de Lucide (ISC); ver `THIRD-PARTY-NOTICES.md`.
@@ -66,7 +66,7 @@ class CbAccordionPanel {
66
66
  class="cb-accordion__header"
67
67
  [id]="headerId"
68
68
  [attr.aria-expanded]="open()"
69
- [attr.aria-controls]="regionId"
69
+ [attr.aria-controls]="open() ? regionId : null"
70
70
  [disabled]="disabled()"
71
71
  (click)="toggle()"
72
72
  >
@@ -99,7 +99,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
99
99
  class="cb-accordion__header"
100
100
  [id]="headerId"
101
101
  [attr.aria-expanded]="open()"
102
- [attr.aria-controls]="regionId"
102
+ [attr.aria-controls]="open() ? regionId : null"
103
103
  [disabled]="disabled()"
104
104
  (click)="toggle()"
105
105
  >