@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
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inputtext = void 0;
4
+ const rules_1 = require("./rules");
5
+ /** Tipos que admite `cb-input` (`CbInputType`). */
6
+ const INPUT_TYPES = new Set(['text', 'email', 'password', 'search', 'tel', 'url', 'number']);
7
+ const NOT_FORWARDED = 'el atributo nativo no se reenvía al <input> interno de cb-input.';
8
+ /**
9
+ * `<input pInputText id="email" type="email" [(ngModel)]="email" />`
10
+ * → `<cb-input inputId="email" type="email" [(ngModel)]="email" />`
11
+ */
12
+ const rules = {
13
+ pSize: (0, rules_1.values)('size', rules_1.SIZE_VALUES),
14
+ // En un <input> nativo `size` es el ancho en caracteres; en cb-input es sm|md|lg.
15
+ size: (0, rules_1.unsupported)('en cb-input `size` es sm|md|lg; el ancho en caracteres no se reenvía.'),
16
+ // El id debe llegar al <input> interno para que <label for> siga funcionando.
17
+ id: (0, rules_1.rename)('inputId'),
18
+ type: (binding, el) => {
19
+ if (binding.kind === 'static' && !INPUT_TYPES.has(binding.value)) {
20
+ el.todos.push(`${binding.source} — cb-input no admite este tipo; usa el componente específico (cb-datepicker, cb-colorpicker…).`);
21
+ return;
22
+ }
23
+ (0, rules_1.rename)('type')(binding, el);
24
+ },
25
+ variant: (0, rules_1.unsupported)('cb-input no tiene variante "filled".'),
26
+ fluid: (0, rules_1.unsupported)('cb-input ya ocupa todo el ancho de su contenedor.'),
27
+ 'aria-label': (0, rules_1.unsupported)('usa el input label de cb-input; el aria-label del host no llega al <input> interno.'),
28
+ 'aria-describedby': (0, rules_1.unsupported)('usa los inputs hint/error de cb-input.'),
29
+ maxlength: (0, rules_1.unsupported)(NOT_FORWARDED),
30
+ minlength: (0, rules_1.unsupported)(NOT_FORWARDED),
31
+ pattern: (0, rules_1.unsupported)(NOT_FORWARDED),
32
+ autocomplete: (0, rules_1.unsupported)(NOT_FORWARDED),
33
+ min: (0, rules_1.unsupported)(NOT_FORWARDED),
34
+ max: (0, rules_1.unsupported)(NOT_FORWARDED),
35
+ step: (0, rules_1.unsupported)(NOT_FORWARDED),
36
+ autofocus: (0, rules_1.unsupported)('usa la directiva cbAutoFocus de @caribeng/ui/autofocus.'),
37
+ spellcheck: (0, rules_1.unsupported)(NOT_FORWARDED),
38
+ // focus/blur no burbujean desde el <input> interno; focusin/focusout sí.
39
+ '(focus)': (0, rules_1.event)('focusin'),
40
+ '(blur)': (0, rules_1.event)('focusout'),
41
+ };
42
+ exports.inputtext = {
43
+ name: 'inputtext',
44
+ entry: '@caribeng/ui/input',
45
+ symbol: 'CbInput',
46
+ modules: {
47
+ 'primeng/inputtext': { InputTextModule: 'CbInput', InputText: 'CbInput' },
48
+ },
49
+ elements: [
50
+ {
51
+ attr: 'pInputText',
52
+ on: ['input'],
53
+ otherTags: 'para <textarea> usa <cb-textarea>.',
54
+ to: 'cb-input',
55
+ selfClosing: true,
56
+ rules,
57
+ same: ['value', 'placeholder', 'invalid', 'disabled', 'readonly', 'required', 'inputmode'],
58
+ },
59
+ ],
60
+ };
@@ -0,0 +1,468 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.contextmenu = exports.splitbutton = exports.tabmenu = exports.breadcrumb = exports.panelmenu = exports.tieredmenu = exports.menubar = exports.menu = void 0;
37
+ const ts = __importStar(require("typescript"));
38
+ const icons_1 = require("../icons");
39
+ const todo_1 = require("../todo");
40
+ const rules_1 = require("./rules");
41
+ const service_calls_1 = require("./service-calls");
42
+ /** Tipo de item de cada menú CaribeNG, según el tag PrimeNG que recibe el array en `[model]`. */
43
+ const ITEM_TYPES = new Map();
44
+ const itemType = (tags, name, entry) => tags.forEach((tag) => ITEM_TYPES.set(tag, { name, entry }));
45
+ itemType(['p-menu', 'p-splitbutton', 'p-splitButton', 'p-split-button'], 'CbMenuItem', '@caribeng/ui/menu');
46
+ itemType(['p-menubar'], 'CbMenubarItem', '@caribeng/ui/menubar');
47
+ itemType(['p-tieredmenu', 'p-tieredMenu', 'p-tiered-menu'], 'CbTieredMenuItem', '@caribeng/ui/tieredmenu');
48
+ itemType(['p-panelmenu', 'p-panelMenu', 'p-panel-menu'], 'CbPanelMenuItem', '@caribeng/ui/panelmenu');
49
+ itemType(['p-breadcrumb'], 'CbBreadcrumbItem', '@caribeng/ui/breadcrumb');
50
+ itemType(['p-tabmenu', 'p-tabMenu'], 'CbTabMenuItem', '@caribeng/ui/tabmenu');
51
+ /** Tipos de item que admiten `separator` (y en los que `label` es obligatorio también en los separadores). */
52
+ const WITH_SEPARATORS = new Set(['CbMenuItem', 'CbTieredMenuItem', 'CbContextMenuItem']);
53
+ /** Para un `MenuItem` cuyo menú no se conoce (p. ej. lo devuelve un servicio): el tipo más completo. */
54
+ const FALLBACK = { name: 'CbMenubarItem', entry: '@caribeng/ui/menubar' };
55
+ /** Campos de `MenuItem` sin equivalente en los items de CaribeNG. */
56
+ const DROPPED_FIELDS = new Set([
57
+ 'expanded',
58
+ 'styleClass',
59
+ 'style',
60
+ 'badge',
61
+ 'badgeStyleClass',
62
+ 'tooltip',
63
+ 'tooltipPosition',
64
+ 'tooltipOptions',
65
+ 'id',
66
+ 'title',
67
+ 'automationId',
68
+ 'tabindex',
69
+ 'iconClass',
70
+ 'iconStyle',
71
+ 'escape',
72
+ 'data',
73
+ 'shortcut',
74
+ 'queryParams',
75
+ 'fragment',
76
+ 'state',
77
+ 'queryParamsHandling',
78
+ 'preserveFragment',
79
+ 'skipLocationChange',
80
+ 'replaceUrl',
81
+ 'routerLinkActiveOptions',
82
+ ]);
83
+ /** `[model]="items"` / `[home]="inicio"` en las plantillas → nombre de la propiedad → tipo de item. */
84
+ function propertyTypes(templates) {
85
+ const types = new Map();
86
+ for (const template of templates) {
87
+ for (const [, tag, attrs] of template.matchAll(/<(p-[A-Za-z-]+)\b([^>]*)>/g)) {
88
+ const type = ITEM_TYPES.get(tag);
89
+ if (!type)
90
+ continue;
91
+ for (const [, input, name] of attrs.matchAll(/\[(model|home)\]\s*=\s*"\s*(?:this\.)?([A-Za-z_$][\w$]*)(?:\(\))?\s*"/g)) {
92
+ types.set(name, input === 'home' ? ITEM_TYPES.get('p-breadcrumb') : type);
93
+ }
94
+ }
95
+ }
96
+ return types;
97
+ }
98
+ /** Nombre de la declaración (propiedad, variable, parámetro, método) que contiene `node`. */
99
+ function declarationName(node) {
100
+ for (let current = node; current; current = current.parent) {
101
+ if ((ts.isPropertyDeclaration(current) || ts.isVariableDeclaration(current) || ts.isParameter(current) || ts.isGetAccessorDeclaration(current)) &&
102
+ ts.isIdentifier(current.name)) {
103
+ return current.name.text;
104
+ }
105
+ }
106
+ return undefined;
107
+ }
108
+ /** Rango para quitar las propiedades `removed` de un objeto literal sin dejar comas sueltas. */
109
+ function removalEdits(sf, object, removed) {
110
+ const props = object.properties;
111
+ const lastKept = [...props.keys()].filter((i) => !removed.has(i)).pop() ?? -1;
112
+ const edits = [];
113
+ for (const i of removed) {
114
+ if (i < lastKept)
115
+ edits.push({ start: props[i].getStart(sf), end: props[i + 1].getStart(sf), text: '' });
116
+ }
117
+ // Las del final (detrás de la última que se queda) se quitan junto con la coma que las precede.
118
+ const tail = [...removed].filter((i) => i > lastKept);
119
+ if (tail.length) {
120
+ const start = lastKept >= 0 ? props[lastKept].getEnd() : props[Math.min(...tail)].getStart(sf);
121
+ edits.push({ start, end: props[Math.max(...tail)].getEnd(), text: '' });
122
+ }
123
+ return edits;
124
+ }
125
+ /**
126
+ * `{ label: 'Nuevo', icon: 'pi pi-plus', routerLink: '/nuevo', badge: '2', command: () => … }`
127
+ * → `{ label: 'Nuevo', icon: 'plus', url: '/nuevo', command: () => … }` (+ aviso por `badge`).
128
+ */
129
+ function rewriteItem(sf, item, type, icons, edits) {
130
+ const todos = [];
131
+ const removed = new Set();
132
+ const hasUrl = item.properties.some((p) => (0, service_calls_1.propertyName)(p) === 'url');
133
+ const separator = item.properties.some((p) => (0, service_calls_1.propertyName)(p) === 'separator' && ts.isPropertyAssignment(p) && p.initializer.kind === ts.SyntaxKind.TrueKeyword);
134
+ if (separator && !WITH_SEPARATORS.has(type.name)) {
135
+ todos.push(`${type.name} no admite separadores; quita este item.`);
136
+ }
137
+ else if (separator && !item.properties.some((p) => (0, service_calls_1.propertyName)(p) === 'label')) {
138
+ // En CaribeNG label es obligatorio también en los separadores.
139
+ const first = item.properties[0];
140
+ edits.push({ start: first.getStart(sf), end: first.getStart(sf), text: "label: '', " });
141
+ }
142
+ item.properties.forEach((property, i) => {
143
+ const name = (0, service_calls_1.propertyName)(property);
144
+ if (!name || !ts.isPropertyAssignment(property))
145
+ return;
146
+ const value = property.initializer;
147
+ if (name === 'icon') {
148
+ const parsed = ts.isStringLiteralLike(value) ? (0, icons_1.parsePrimeIcon)(value.text) : null;
149
+ if (parsed?.name) {
150
+ edits.push({ start: value.getStart(sf), end: value.getEnd(), text: `'${parsed.name}'` });
151
+ icons.add(parsed.name);
152
+ }
153
+ else if (ts.isStringLiteralLike(value) && parsed) {
154
+ todos.push(`icon: pi-${parsed.prime} no tiene equivalente conocido; usa un nombre de @caribeng/ui/icon.`);
155
+ }
156
+ else if (!ts.isStringLiteralLike(value)) {
157
+ todos.push('icon recibe el nombre de un icono de CaribeNG ("plus"), no clases "pi pi-plus".');
158
+ }
159
+ }
160
+ else if (name === 'routerLink') {
161
+ const single = ts.isArrayLiteralExpression(value) && value.elements.length === 1 ? value.elements[0] : value;
162
+ if (!hasUrl && ts.isStringLiteralLike(single)) {
163
+ edits.push({ start: property.getStart(sf), end: property.getEnd(), text: `url: '${single.text}'` });
164
+ }
165
+ else {
166
+ removed.add(i);
167
+ todos.push(`${property.getText(sf)} — los menús de CaribeNG navegan con url (recarga la página); para el router usa command: () => this.router.navigate(…).`);
168
+ }
169
+ }
170
+ else if (DROPPED_FIELDS.has(name)) {
171
+ removed.add(i);
172
+ todos.push(`${property.getText(sf)} — los items de menú de CaribeNG no tienen este campo.`);
173
+ }
174
+ });
175
+ edits.push(...removalEdits(sf, item, removed));
176
+ if (todos.length) {
177
+ const start = item.getStart(sf);
178
+ edits.push({ start, end: start, text: todos.map((t) => `/* ${todo_1.TODO_MARK}: ${t} */ `).join('') });
179
+ }
180
+ }
181
+ /** Items de menú: objetos literales que son elementos de un array dentro de `node`. */
182
+ function rewriteItems(sf, node, type, icons, edits) {
183
+ const visit = (current) => {
184
+ if (ts.isArrayLiteralExpression(current)) {
185
+ for (const element of current.elements)
186
+ if (ts.isObjectLiteralExpression(element))
187
+ rewriteItem(sf, element, type, icons, edits);
188
+ }
189
+ ts.forEachChild(current, visit);
190
+ };
191
+ visit(node);
192
+ }
193
+ /**
194
+ * `MenuItem` (primeng/api) → el tipo de item del menú CaribeNG que lo recibe,
195
+ * deducido de la plantilla (`<p-menubar [model]="items">` → `CbMenubarItem`),
196
+ * y traducción de los arrays de items (`icon`, `routerLink`, campos sin equivalente).
197
+ */
198
+ const rewriteMenuItems = (sf, context, edits) => {
199
+ const local = context.locals.get('MenuItem');
200
+ if (!local)
201
+ return;
202
+ context.consume('MenuItem');
203
+ const types = propertyTypes(context.templates);
204
+ // Propiedad con MenuItem → tipo de item que se le asignó.
205
+ const menuProperties = new Map();
206
+ let fallbackNoted = false;
207
+ const visitTypes = (node) => {
208
+ if (ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.text === local) {
209
+ const owner = declarationName(node);
210
+ const type = (owner && types.get(owner)) || FALLBACK;
211
+ if (owner)
212
+ menuProperties.set(owner, type);
213
+ context.addImport(type.name, type.entry);
214
+ const note = type === FALLBACK && !fallbackNoted
215
+ ? `/* ${todo_1.TODO_MARK}: no se encontró en la plantilla qué menú recibe este MenuItem; ${FALLBACK.name} sirve para menubar, pero usa el tipo del menú que lo reciba (CbMenuItem, CbTieredMenuItem…). */ `
216
+ : '';
217
+ if (note)
218
+ fallbackNoted = true;
219
+ edits.push({ start: node.typeName.getStart(sf), end: node.typeName.getEnd(), text: note + type.name });
220
+ }
221
+ ts.forEachChild(node, visitTypes);
222
+ };
223
+ visitTypes(sf);
224
+ // Arrays de items: el inicializador de las propiedades tipadas con MenuItem y las asignaciones `this.items = [...]`.
225
+ const visitValues = (node) => {
226
+ if ((ts.isPropertyDeclaration(node) || ts.isVariableDeclaration(node)) && ts.isIdentifier(node.name) && menuProperties.has(node.name.text) && node.initializer) {
227
+ rewriteItems(sf, node.initializer, menuProperties.get(node.name.text), context.icons, edits);
228
+ return;
229
+ }
230
+ if (ts.isBinaryExpression(node) &&
231
+ node.operatorToken.kind === ts.SyntaxKind.EqualsToken &&
232
+ ts.isPropertyAccessExpression(node.left) &&
233
+ node.left.expression.kind === ts.SyntaxKind.ThisKeyword &&
234
+ menuProperties.has(node.left.name.text)) {
235
+ rewriteItems(sf, node.right, menuProperties.get(node.left.name.text), context.icons, edits);
236
+ return;
237
+ }
238
+ ts.forEachChild(node, visitValues);
239
+ };
240
+ visitValues(sf);
241
+ };
242
+ /** `[model]` → `[items]`. */
243
+ const model = (binding, el) => el.attrs.push((0, rules_1.renderAttr)(binding.kind, 'items', binding.value));
244
+ const OVERLAY = {
245
+ appendTo: (0, rules_1.drop)(),
246
+ autoZIndex: (0, rules_1.drop)(),
247
+ baseZIndex: (0, rules_1.drop)(),
248
+ showTransitionOptions: (0, rules_1.drop)(),
249
+ hideTransitionOptions: (0, rules_1.drop)(),
250
+ motionOptions: (0, rules_1.drop)(),
251
+ transitionOptions: (0, rules_1.drop)(),
252
+ };
253
+ const NO_TEMPLATES = (tag) => (child) => (child.name === 'ng-template' ? { todo: `${tag} no admite plantillas personalizadas; el contenido no se mostrará.` } : null);
254
+ const COMMON = {
255
+ model,
256
+ styleClass: (0, rules_1.styleClass)(),
257
+ style: (0, rules_1.unsupported)('personaliza el menú con los tokens CSS de CaribeNG.'),
258
+ ariaLabelledBy: (0, rules_1.unsupported)('usa ariaLabel.'),
259
+ tabindex: (0, rules_1.unsupported)('el menú gestiona su propio orden de foco.'),
260
+ ...OVERLAY,
261
+ };
262
+ /** `<p-menu [model]="items" [popup]="true" #menu />` → `<cb-menu [items]="items" #menu />`. */
263
+ exports.menu = {
264
+ name: 'menu',
265
+ entry: '@caribeng/ui/menu',
266
+ symbol: 'CbMenu',
267
+ modules: {
268
+ 'primeng/menu': { MenuModule: 'CbMenu', Menu: 'CbMenu' },
269
+ 'primeng/api': { MenuItemCommandEvent: { name: 'CbMenuCommandEvent', entry: '@caribeng/ui' } },
270
+ },
271
+ rewriteSource: rewriteMenuItems,
272
+ elements: [
273
+ {
274
+ tag: 'p-menu',
275
+ to: 'cb-menu',
276
+ rules: {
277
+ ...COMMON,
278
+ popup: (binding, el) => {
279
+ if (binding.kind === 'static' ? binding.value === 'false' : binding.value.trim() !== 'true') {
280
+ el.todos.push(`${binding.source} — cb-menu siempre es emergente: ábrelo con (click)="menu.toggle($event)".`);
281
+ }
282
+ },
283
+ '(onHide)': (0, rules_1.event)('hidden'),
284
+ '(onShow)': (0, rules_1.unsupported)('cb-menu no emite la apertura.'),
285
+ '(onFocus)': (0, rules_1.unsupported)('cb-menu no emite el foco.'),
286
+ '(onBlur)': (0, rules_1.unsupported)('cb-menu no emite el foco.'),
287
+ },
288
+ finalize: (el) => {
289
+ if (!el.find('popup'))
290
+ el.todos.push('p-menu sin [popup]="true" era un menú fijo; cb-menu es emergente (ábrelo con (click)="menu.toggle($event)") o usa cb-panelmenu.');
291
+ },
292
+ child: NO_TEMPLATES('cb-menu'),
293
+ same: ['ariaLabel'],
294
+ },
295
+ ],
296
+ };
297
+ exports.menubar = {
298
+ name: 'menubar',
299
+ entry: '@caribeng/ui/menubar',
300
+ symbol: 'CbMenubar',
301
+ modules: { 'primeng/menubar': { MenubarModule: 'CbMenubar', Menubar: 'CbMenubar' } },
302
+ elements: [
303
+ {
304
+ tag: 'p-menubar',
305
+ to: 'cb-menubar',
306
+ rules: {
307
+ ...COMMON,
308
+ autoDisplay: (0, rules_1.drop)(),
309
+ autoHide: (0, rules_1.drop)(),
310
+ autoHideDelay: (0, rules_1.drop)(),
311
+ breakpoint: (0, rules_1.unsupported)('cb-menubar se adapta solo a pantallas pequeñas.'),
312
+ '(onFocus)': (0, rules_1.unsupported)('cb-menubar no emite el foco.'),
313
+ '(onBlur)': (0, rules_1.unsupported)('cb-menubar no emite el foco.'),
314
+ },
315
+ child: (child) => child.name === 'ng-template' ? { todo: 'cb-menubar no tiene zonas #start/#end ni plantillas de item; pon el logo y las acciones fuera, junto al menú.' } : null,
316
+ same: ['ariaLabel'],
317
+ },
318
+ ],
319
+ };
320
+ exports.tieredmenu = {
321
+ name: 'tieredmenu',
322
+ entry: '@caribeng/ui/tieredmenu',
323
+ symbol: 'CbTieredMenu',
324
+ modules: { 'primeng/tieredmenu': { TieredMenuModule: 'CbTieredMenu', TieredMenu: 'CbTieredMenu' } },
325
+ elements: ['p-tieredmenu', 'p-tieredMenu', 'p-tiered-menu'].map((tag) => ({
326
+ tag,
327
+ to: 'cb-tieredmenu',
328
+ rules: {
329
+ ...COMMON,
330
+ popup: (0, rules_1.drop)(),
331
+ autoDisplay: (0, rules_1.drop)(),
332
+ breakpoint: (0, rules_1.unsupported)('cb-tieredmenu se adapta solo a pantallas pequeñas.'),
333
+ disabled: (0, rules_1.unsupported)('deshabilita los items con disabled.'),
334
+ '(onShow)': (0, rules_1.unsupported)('cb-tieredmenu no emite la apertura.'),
335
+ '(onHide)': (0, rules_1.unsupported)('cb-tieredmenu no emite el cierre.'),
336
+ },
337
+ finalize: (el) => {
338
+ el.todos.push('cb-tieredmenu muestra su propio botón de apertura (texto en triggerLabel); si lo abrías con otro botón, quítalo.');
339
+ },
340
+ child: NO_TEMPLATES('cb-tieredmenu'),
341
+ same: ['ariaLabel'],
342
+ })),
343
+ };
344
+ exports.panelmenu = {
345
+ name: 'panelmenu',
346
+ entry: '@caribeng/ui/panelmenu',
347
+ symbol: 'CbPanelMenu',
348
+ modules: { 'primeng/panelmenu': { PanelMenuModule: 'CbPanelMenu', PanelMenu: 'CbPanelMenu' } },
349
+ elements: ['p-panelmenu', 'p-panelMenu', 'p-panel-menu'].map((tag) => ({
350
+ tag,
351
+ to: 'cb-panelmenu',
352
+ rules: COMMON,
353
+ child: NO_TEMPLATES('cb-panelmenu'),
354
+ same: ['multiple'],
355
+ })),
356
+ };
357
+ /** `[home]` + `[model]` de PrimeNG → un solo `[items]` con el inicio delante. */
358
+ function breadcrumbItems(el) {
359
+ const home = el.find('home');
360
+ const items = el.find('model');
361
+ if (!home) {
362
+ if (items)
363
+ el.attrs.unshift((0, rules_1.renderAttr)(items.kind, 'items', items.value));
364
+ return;
365
+ }
366
+ const list = items ? `[${home.value}, ...${items.value}]` : `[${home.value}]`;
367
+ el.attrs.unshift((0, rules_1.renderAttr)('property', 'items', list));
368
+ }
369
+ exports.breadcrumb = {
370
+ name: 'breadcrumb',
371
+ entry: '@caribeng/ui/breadcrumb',
372
+ symbol: 'CbBreadcrumb',
373
+ modules: { 'primeng/breadcrumb': { BreadcrumbModule: 'CbBreadcrumb', Breadcrumb: 'CbBreadcrumb' } },
374
+ elements: [
375
+ {
376
+ tag: 'p-breadcrumb',
377
+ to: 'cb-breadcrumb',
378
+ rules: {
379
+ ...COMMON,
380
+ // Se combinan en finalize.
381
+ model: (0, rules_1.drop)(),
382
+ home: (0, rules_1.drop)(),
383
+ homeAriaLabel: (0, rules_1.unsupported)('el inicio usa su label como nombre accesible.'),
384
+ '(onItemClick)': (0, rules_1.event)('itemClick', (0, rules_1.adaptEvent)('item')),
385
+ },
386
+ finalize: breadcrumbItems,
387
+ child: (child) => (child.name === 'ng-template' ? { todo: 'cb-breadcrumb no admite plantillas; el separador se cambia con el input separator (nombre de icono).' } : null),
388
+ },
389
+ ],
390
+ };
391
+ exports.tabmenu = {
392
+ name: 'tabmenu',
393
+ entry: '@caribeng/ui/tabmenu',
394
+ symbol: 'CbTabMenu',
395
+ modules: { 'primeng/tabmenu': { TabMenuModule: 'CbTabMenu', TabMenu: 'CbTabMenu' } },
396
+ elements: ['p-tabmenu', 'p-tabMenu'].map((tag) => ({
397
+ tag,
398
+ to: 'cb-tabmenu',
399
+ rules: {
400
+ ...COMMON,
401
+ activeItem: (0, rules_1.unsupported)('cb-tabmenu marca la pestaña activa con [(activeIndex)] (posición).'),
402
+ '(activeItemChange)': (0, rules_1.unsupported)('usa (activeIndexChange) o (itemSelect).'),
403
+ scrollable: (0, rules_1.drop)(),
404
+ },
405
+ child: NO_TEMPLATES('cb-tabmenu'),
406
+ same: ['activeIndex', 'ariaLabel'],
407
+ })),
408
+ };
409
+ /** `<p-splitbutton label="Guardar" icon="pi pi-check" [model]="mas" (onClick)="guardar()" />`. */
410
+ exports.splitbutton = {
411
+ name: 'splitbutton',
412
+ entry: '@caribeng/ui/splitbutton',
413
+ symbol: 'CbSplitButton',
414
+ modules: { 'primeng/splitbutton': { SplitButtonModule: 'CbSplitButton', SplitButton: 'CbSplitButton' } },
415
+ elements: ['p-splitbutton', 'p-splitButton', 'p-split-button'].map((tag) => ({
416
+ tag,
417
+ to: 'cb-split-button',
418
+ rules: {
419
+ model,
420
+ icon: (0, rules_1.iconName)(),
421
+ severity: (0, rules_1.values)('severity', rules_1.SEVERITY_VALUES),
422
+ size: (0, rules_1.values)('size', rules_1.SIZE_VALUES),
423
+ outlined: (0, rules_1.flagToValue)('variant', 'outlined', 'solid'),
424
+ text: (0, rules_1.flagToValue)('variant', 'text', 'solid'),
425
+ expandAriaLabel: (binding, el) => el.attrs.push((0, rules_1.renderAttr)(binding.kind, 'menuAriaLabel', binding.value)),
426
+ styleClass: (0, rules_1.styleClass)(),
427
+ raised: (0, rules_1.unsupported)('cb-split-button no tiene variante elevada.'),
428
+ rounded: (0, rules_1.unsupported)('cb-split-button no tiene variante redondeada.'),
429
+ plain: (0, rules_1.unsupported)('usa severity="secondary".'),
430
+ iconPos: (0, rules_1.unsupported)('cb-split-button muestra el icono delante del texto.'),
431
+ tooltip: (0, rules_1.unsupported)('usa la directiva cbTooltip de @caribeng/ui/tooltip.'),
432
+ tooltipOptions: (0, rules_1.unsupported)('usa la directiva cbTooltip de @caribeng/ui/tooltip.'),
433
+ menuStyle: (0, rules_1.unsupported)('personaliza el menú con los tokens CSS de CaribeNG.'),
434
+ menuStyleClass: (0, rules_1.unsupported)('personaliza el menú con los tokens CSS de CaribeNG.'),
435
+ dropdownIcon: (0, rules_1.unsupported)('cb-split-button usa su propio icono.'),
436
+ buttonProps: (0, rules_1.unsupported)('pasa cada propiedad como input de cb-split-button.'),
437
+ menuButtonProps: (0, rules_1.unsupported)('pasa cada propiedad como input de cb-split-button.'),
438
+ buttonDisabled: (0, rules_1.unsupported)('usa disabled (deshabilita los dos botones).'),
439
+ menuButtonDisabled: (0, rules_1.unsupported)('usa disabled o deshabilita los items.'),
440
+ autofocus: (0, rules_1.unsupported)('usa la directiva cbAutoFocus de @caribeng/ui/autofocus.'),
441
+ tabindex: (0, rules_1.unsupported)('el tabindex no se reenvía a los botones internos.'),
442
+ dir: (0, rules_1.drop)(),
443
+ ...OVERLAY,
444
+ '(onClick)': (0, rules_1.event)('primaryClick'),
445
+ '(onDropdownClick)': (0, rules_1.unsupported)('cb-split-button no emite la apertura del menú.'),
446
+ '(onMenuShow)': (0, rules_1.unsupported)('cb-split-button no emite la apertura del menú.'),
447
+ '(onMenuHide)': (0, rules_1.unsupported)('cb-split-button no emite el cierre del menú.'),
448
+ },
449
+ child: NO_TEMPLATES('cb-split-button'),
450
+ same: ['label', 'disabled', 'loading'],
451
+ })),
452
+ };
453
+ /**
454
+ * PrimeNG ancla el menú contextual a otro elemento (`[target]`) o a toda la
455
+ * página (`[global]`); cb-contextmenu envuelve el área sobre la que se abre.
456
+ */
457
+ exports.contextmenu = {
458
+ name: 'contextmenu',
459
+ entry: '@caribeng/ui/contextmenu',
460
+ symbol: 'CbContextMenu',
461
+ modules: {},
462
+ elements: ['p-contextmenu', 'p-contextMenu', 'p-context-menu'].map((tag) => ({
463
+ tag,
464
+ to: 'cb-contextmenu',
465
+ manual: 'envuelve el área con <cb-contextmenu [items]="…" (itemSelect)="…"> … </cb-contextmenu> (se abre con clic derecho sobre su contenido); importa CbContextMenu de @caribeng/ui/contextmenu.',
466
+ rules: {},
467
+ })),
468
+ };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.multiselect = void 0;
4
+ const rules_1 = require("./rules");
5
+ const select_1 = require("./select");
6
+ /**
7
+ * Mismas reglas que Select (opciones, filtro, overlay…) más las propias de la
8
+ * selección múltiple.
9
+ *
10
+ * `<p-multiselect [options]="ciudades" optionLabel="nombre" [(ngModel)]="elegidas" filterPlaceHolder="Buscar" />`
11
+ * → `<cb-multiselect [options]="ciudades" optionLabel="nombre" [(ngModel)]="elegidas" filterPlaceholder="Buscar" />`
12
+ */
13
+ const rules = {
14
+ ...select_1.selectRules,
15
+ // En PrimeNG la H va en mayúscula.
16
+ filterPlaceHolder: (0, rules_1.rename)('filterPlaceholder'),
17
+ maxSelectedLabels: (0, rules_1.numeric)(),
18
+ showClear: (0, rules_1.unsupported)('cb-multiselect no tiene botón para limpiar; usa "seleccionar todo" o vacía el valor.'),
19
+ display: (0, rules_1.unsupported)('cb-multiselect muestra las opciones elegidas como texto.'),
20
+ selectionLimit: (0, rules_1.unsupported)('cb-multiselect no limita la cantidad de opciones; valídalo en el formulario.'),
21
+ selectedItemsLabel: (0, rules_1.unsupported)('cb-multiselect usa el texto de provideCaribeNG() al superar maxSelectedLabels.'),
22
+ showHeader: (0, rules_1.unsupported)('cb-multiselect muestra la cabecera con "seleccionar todo" y el filtro.'),
23
+ chipIcon: (0, rules_1.unsupported)('cb-multiselect no muestra chips.'),
24
+ displaySelectedLabel: (0, rules_1.unsupported)('cb-multiselect siempre muestra la selección.'),
25
+ selectAll: (0, rules_1.unsupported)('usa showToggleAll; el estado de "todo" se deduce del valor.'),
26
+ overlayVisible: (0, rules_1.unsupported)('cb-multiselect no admite abrir el panel desde un input.'),
27
+ filterValue: (0, rules_1.unsupported)('cb-multiselect no admite fijar el texto del filtro.'),
28
+ highlightOnSelect: (0, rules_1.unsupported)('cb-multiselect marca las opciones elegidas con su casilla.'),
29
+ autocomplete: (0, rules_1.unsupported)('cb-multiselect no reenvía autocomplete.'),
30
+ '(onPanelShow)': (0, rules_1.unsupported)('cb-multiselect no emite la apertura del panel.'),
31
+ '(onPanelHide)': (0, rules_1.unsupported)('cb-multiselect no emite el cierre del panel.'),
32
+ '(onRemove)': (0, rules_1.unsupported)('escucha (valueChange).'),
33
+ '(onSelectAllChange)': (0, rules_1.unsupported)('escucha (valueChange).'),
34
+ };
35
+ exports.multiselect = {
36
+ name: 'multiselect',
37
+ entry: '@caribeng/ui/multiselect',
38
+ symbol: 'CbMultiSelect',
39
+ modules: {
40
+ 'primeng/multiselect': { MultiSelectModule: 'CbMultiSelect', MultiSelect: 'CbMultiSelect' },
41
+ },
42
+ elements: ['p-multiselect', 'p-multiSelect', 'p-multi-select'].map((tag) => ({
43
+ tag,
44
+ to: 'cb-multiselect',
45
+ rules,
46
+ child: select_1.selectChild,
47
+ same: [...select_1.selectSame.filter((name) => name !== 'showClear'), 'showToggleAll'],
48
+ })),
49
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.radiobutton = void 0;
4
+ /**
5
+ * PrimeNG enlaza el modelo en cada radio (`<p-radiobutton name="t" value="a" [(ngModel)]="talla">`);
6
+ * CaribeNG lo enlaza una vez en el grupo que los envuelve (`<cb-radio-group [(ngModel)]="talla">`).
7
+ * Los radios suelen ir cada uno en su propio contenedor con su <label>, así que
8
+ * agruparlos cambia el layout: se deja un aviso con la forma de hacerlo y
9
+ * RadioButtonModule sigue importado para que la plantilla compile.
10
+ */
11
+ exports.radiobutton = {
12
+ name: 'radiobutton',
13
+ entry: '@caribeng/ui/radio',
14
+ symbol: 'CbRadioGroup',
15
+ modules: {},
16
+ elements: ['p-radiobutton', 'p-radioButton', 'p-radio-button'].map((tag) => ({
17
+ tag,
18
+ to: 'cb-radio-group',
19
+ manual: 'agrupa los radios en <cb-radio-group [(ngModel)]="…"> (el modelo va en el grupo) con un <cb-radio value="…" label="…" /> por opción; importa CbRadioGroup y CbRadio de @caribeng/ui/radio.',
20
+ rules: {},
21
+ })),
22
+ };