@litigiovirtual/ius-design-components 1.0.300 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/README.md +14 -24
  2. package/fesm2022/litigiovirtual-ius-design-components-utils.mjs +6 -6
  3. package/fesm2022/litigiovirtual-ius-design-components-utils.mjs.map +1 -1
  4. package/fesm2022/litigiovirtual-ius-design-components.mjs +6047 -7480
  5. package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
  6. package/package.json +10 -14
  7. package/types/litigiovirtual-ius-design-components-utils.d.ts +131 -0
  8. package/types/litigiovirtual-ius-design-components.d.ts +2971 -0
  9. package/esm2022/lib/add-user-container/add-user-container.component.mjs +0 -92
  10. package/esm2022/lib/add-user-container/index.mjs +0 -2
  11. package/esm2022/lib/alert/alert.component.mjs +0 -76
  12. package/esm2022/lib/alert/index.mjs +0 -2
  13. package/esm2022/lib/avatar-business/avatar-business.component.mjs +0 -52
  14. package/esm2022/lib/avatar-business/index.mjs +0 -2
  15. package/esm2022/lib/avatar-icon/avatar-icon.component.mjs +0 -33
  16. package/esm2022/lib/avatar-icon/index.mjs +0 -2
  17. package/esm2022/lib/avatar-v2/avatar-v2.component.mjs +0 -87
  18. package/esm2022/lib/avatar-v2/index.mjs +0 -2
  19. package/esm2022/lib/badge/badge.component.mjs +0 -26
  20. package/esm2022/lib/badge/index.mjs +0 -2
  21. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -22
  22. package/esm2022/lib/breadcrumb/index.mjs +0 -2
  23. package/esm2022/lib/button-accounts/button-accounts.component.mjs +0 -73
  24. package/esm2022/lib/button-accounts/index.mjs +0 -2
  25. package/esm2022/lib/button-auth/button-auth.component.mjs +0 -119
  26. package/esm2022/lib/button-auth/index.mjs +0 -2
  27. package/esm2022/lib/button-circle-secondary/button-circle-secondary.component.mjs +0 -28
  28. package/esm2022/lib/button-circle-secondary/index.mjs +0 -2
  29. package/esm2022/lib/button-circle-tertiary/button-circle-tertiary.component.mjs +0 -28
  30. package/esm2022/lib/button-circle-tertiary/index.mjs +0 -2
  31. package/esm2022/lib/button-dynamic/button-dynamic.component.mjs +0 -121
  32. package/esm2022/lib/button-dynamic/index.mjs +0 -2
  33. package/esm2022/lib/button-filter/button-filter.component.mjs +0 -90
  34. package/esm2022/lib/button-filter/index.mjs +0 -2
  35. package/esm2022/lib/button-menu-link/button-menu-link.component.mjs +0 -31
  36. package/esm2022/lib/button-menu-link/index.mjs +0 -2
  37. package/esm2022/lib/button-order/button-order.component.mjs +0 -75
  38. package/esm2022/lib/button-order/index.mjs +0 -2
  39. package/esm2022/lib/button-squared-secondary/button-squared-secondary.component.mjs +0 -28
  40. package/esm2022/lib/button-squared-secondary/index.mjs +0 -2
  41. package/esm2022/lib/button-squared-tertiary/button-squared-tertiary.component.mjs +0 -28
  42. package/esm2022/lib/button-squared-tertiary/index.mjs +0 -2
  43. package/esm2022/lib/button-standard-outline/button-standard-outline.component.mjs +0 -34
  44. package/esm2022/lib/button-standard-outline/index.mjs +0 -2
  45. package/esm2022/lib/button-standard-primary/button-standard-primary.component.mjs +0 -34
  46. package/esm2022/lib/button-standard-primary/index.mjs +0 -2
  47. package/esm2022/lib/button-standard-secondary/button-standard-secondary.component.mjs +0 -24
  48. package/esm2022/lib/button-standard-secondary/index.mjs +0 -2
  49. package/esm2022/lib/button-standard-tertiary/button-standard-tertiary.component.mjs +0 -34
  50. package/esm2022/lib/button-standard-tertiary/index.mjs +0 -2
  51. package/esm2022/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.mjs +0 -34
  52. package/esm2022/lib/button-standard-tertiary-small/index.mjs +0 -2
  53. package/esm2022/lib/calification/calification.component.mjs +0 -36
  54. package/esm2022/lib/calification/index.mjs +0 -2
  55. package/esm2022/lib/card-agenda-judicial/card-agenda-judicial.component.mjs +0 -62
  56. package/esm2022/lib/card-agenda-judicial/index.mjs +0 -2
  57. package/esm2022/lib/card-block/card-block.component.mjs +0 -53
  58. package/esm2022/lib/card-block/index.mjs +0 -2
  59. package/esm2022/lib/card-button-checkbox/card-button-checkbox.component.mjs +0 -42
  60. package/esm2022/lib/card-button-checkbox/index.mjs +0 -2
  61. package/esm2022/lib/card-collapse-detalle-proceso/card-collapse-detalle-proceso.component.mjs +0 -32
  62. package/esm2022/lib/card-collapse-detalle-proceso/index.mjs +0 -2
  63. package/esm2022/lib/card-dynamic-content/card-dynamic-content.component.mjs +0 -20
  64. package/esm2022/lib/card-dynamic-content/index.mjs +0 -2
  65. package/esm2022/lib/card-gestion-cupo/card-gestion-cupo.component.mjs +0 -28
  66. package/esm2022/lib/card-gestion-cupo/index.mjs +0 -2
  67. package/esm2022/lib/card-info-facturacion/card-info-facturacion.component.mjs +0 -43
  68. package/esm2022/lib/card-info-facturacion/index.mjs +0 -2
  69. package/esm2022/lib/card-list-consumo/card-list-consumo.component.mjs +0 -39
  70. package/esm2022/lib/card-list-consumo/index.mjs +0 -2
  71. package/esm2022/lib/card-list-drag-on/card-list-drag-on.component.mjs +0 -84
  72. package/esm2022/lib/card-list-drag-on/index.mjs +0 -2
  73. package/esm2022/lib/card-list-movimientos/card-list-movimientos.component.mjs +0 -43
  74. package/esm2022/lib/card-list-movimientos/index.mjs +0 -2
  75. package/esm2022/lib/card-list-proceso/card-list-proceso.component.mjs +0 -44
  76. package/esm2022/lib/card-list-proceso/index.mjs +0 -2
  77. package/esm2022/lib/card-log/card-log.component.mjs +0 -36
  78. package/esm2022/lib/card-log/index.mjs +0 -2
  79. package/esm2022/lib/card-plan-small/card-plan-small.component.mjs +0 -18
  80. package/esm2022/lib/card-plan-small/index.mjs +0 -2
  81. package/esm2022/lib/card-plan-subscription/card-plan-subscription.component.mjs +0 -55
  82. package/esm2022/lib/card-plan-subscription/index.mjs +0 -2
  83. package/esm2022/lib/card-ticket/card-ticket.component.mjs +0 -54
  84. package/esm2022/lib/card-ticket/index.mjs +0 -2
  85. package/esm2022/lib/card-tipo-proceso/card-tipo-proceso.component.mjs +0 -67
  86. package/esm2022/lib/card-tipo-proceso/index.mjs +0 -2
  87. package/esm2022/lib/card-uso-plan/card-uso-plan.component.mjs +0 -43
  88. package/esm2022/lib/card-uso-plan/index.mjs +0 -2
  89. package/esm2022/lib/categories/categories.component.mjs +0 -43
  90. package/esm2022/lib/categories/index.mjs +0 -2
  91. package/esm2022/lib/charts-bar-grouped/charts-bar-grouped.component.mjs +0 -238
  92. package/esm2022/lib/charts-bar-grouped/index.mjs +0 -2
  93. package/esm2022/lib/charts-donut/charts-donut.component.mjs +0 -137
  94. package/esm2022/lib/charts-donut/index.mjs +0 -2
  95. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -31
  96. package/esm2022/lib/checkbox/index.mjs +0 -2
  97. package/esm2022/lib/checkbox-radio/checkbox-radio.component.mjs +0 -74
  98. package/esm2022/lib/checkbox-radio/index.mjs +0 -2
  99. package/esm2022/lib/chip/chip.component.mjs +0 -33
  100. package/esm2022/lib/chip/index.mjs +0 -2
  101. package/esm2022/lib/chip-user/chip-user.component.mjs +0 -30
  102. package/esm2022/lib/chip-user/index.mjs +0 -2
  103. package/esm2022/lib/create-ticket/create-ticket.component.mjs +0 -101
  104. package/esm2022/lib/create-ticket/index.mjs +0 -2
  105. package/esm2022/lib/custom-dropdown/custom-dropdown.component.mjs +0 -264
  106. package/esm2022/lib/custom-dropdown/index.mjs +0 -2
  107. package/esm2022/lib/date-hour-picker/date-hour-picker.component.mjs +0 -362
  108. package/esm2022/lib/date-hour-picker/index.mjs +0 -2
  109. package/esm2022/lib/date-picker/date-picker.component.mjs +0 -161
  110. package/esm2022/lib/date-picker/index.mjs +0 -2
  111. package/esm2022/lib/directives/infinite-scroll.directive.mjs +0 -52
  112. package/esm2022/lib/directives/popover.directive.mjs +0 -170
  113. package/esm2022/lib/double-date-picker/double-date-picker.component.mjs +0 -230
  114. package/esm2022/lib/double-date-picker/index.mjs +0 -2
  115. package/esm2022/lib/drawer-container-right/drawer-container-right.component.mjs +0 -71
  116. package/esm2022/lib/drawer-container-right/index.mjs +0 -2
  117. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -77
  118. package/esm2022/lib/dropdown/index.mjs +0 -2
  119. package/esm2022/lib/dropdown-contextual-menu/dropdown-contextual-menu.component.mjs +0 -11
  120. package/esm2022/lib/dropdown-contextual-menu/index.mjs +0 -2
  121. package/esm2022/lib/dropdown-option-item/dropdown-option-item.component.mjs +0 -37
  122. package/esm2022/lib/dropdown-option-item/index.mjs +0 -2
  123. package/esm2022/lib/dropdown-user-menu/dropdown-user-menu.component.mjs +0 -64
  124. package/esm2022/lib/dropdown-user-menu/index.mjs +0 -2
  125. package/esm2022/lib/empty-list/empty-list.component.mjs +0 -22
  126. package/esm2022/lib/empty-list/index.mjs +0 -2
  127. package/esm2022/lib/filter-item/filter-item.component.mjs +0 -28
  128. package/esm2022/lib/filter-item/index.mjs +0 -2
  129. package/esm2022/lib/icon-lg/icon-lg.component.mjs +0 -29
  130. package/esm2022/lib/icon-lg/index.mjs +0 -2
  131. package/esm2022/lib/icon-md/icon-md.component.mjs +0 -29
  132. package/esm2022/lib/icon-md/index.mjs +0 -2
  133. package/esm2022/lib/icon-sm/icon-sm.component.mjs +0 -29
  134. package/esm2022/lib/icon-sm/index.mjs +0 -2
  135. package/esm2022/lib/icon-xl/icon-xl.component.mjs +0 -29
  136. package/esm2022/lib/icon-xl/index.mjs +0 -2
  137. package/esm2022/lib/icon-xs/icon-xs.component.mjs +0 -29
  138. package/esm2022/lib/icon-xs/index.mjs +0 -2
  139. package/esm2022/lib/icon-xxl/icon-xxl.component.mjs +0 -29
  140. package/esm2022/lib/icon-xxl/index.mjs +0 -2
  141. package/esm2022/lib/icons/icons-map.mjs +0 -1164
  142. package/esm2022/lib/input-card/index.mjs +0 -2
  143. package/esm2022/lib/input-card/input-card.component.mjs +0 -158
  144. package/esm2022/lib/input-large/index.mjs +0 -2
  145. package/esm2022/lib/input-large/input-large.component.mjs +0 -98
  146. package/esm2022/lib/input-otp/index.mjs +0 -2
  147. package/esm2022/lib/input-otp/input-otp.component.mjs +0 -173
  148. package/esm2022/lib/input-password/index.mjs +0 -2
  149. package/esm2022/lib/input-password/input-password.component.mjs +0 -91
  150. package/esm2022/lib/input-select/index.mjs +0 -2
  151. package/esm2022/lib/input-select/input-select.component.mjs +0 -237
  152. package/esm2022/lib/input-select-filter/index.mjs +0 -2
  153. package/esm2022/lib/input-select-filter/input-select-filter.component.mjs +0 -202
  154. package/esm2022/lib/input-select-number/index.mjs +0 -2
  155. package/esm2022/lib/input-select-number/input-select-number.component.mjs +0 -68
  156. package/esm2022/lib/input-textfield/index.mjs +0 -2
  157. package/esm2022/lib/input-textfield/input-textfield.component.mjs +0 -143
  158. package/esm2022/lib/item-document/index.mjs +0 -2
  159. package/esm2022/lib/item-document/item-document.component.mjs +0 -61
  160. package/esm2022/lib/linear-progress-bar/index.mjs +0 -2
  161. package/esm2022/lib/linear-progress-bar/linear-progress-bar.component.mjs +0 -16
  162. package/esm2022/lib/loading-circle/index.mjs +0 -2
  163. package/esm2022/lib/loading-circle/loading-circle.component.mjs +0 -17
  164. package/esm2022/lib/loading-component-dynamic/index.mjs +0 -2
  165. package/esm2022/lib/loading-component-dynamic/loading-component-dynamic.component.mjs +0 -63
  166. package/esm2022/lib/menu-item/index.mjs +0 -2
  167. package/esm2022/lib/menu-item/menu-item.component.mjs +0 -62
  168. package/esm2022/lib/nav-rail/index.mjs +0 -2
  169. package/esm2022/lib/nav-rail/nav-rail.component.mjs +0 -53
  170. package/esm2022/lib/notification-card/index.mjs +0 -2
  171. package/esm2022/lib/notification-card/notification-card.component.mjs +0 -107
  172. package/esm2022/lib/notifications/index.mjs +0 -2
  173. package/esm2022/lib/notifications/notifications.component.mjs +0 -167
  174. package/esm2022/lib/option/index.mjs +0 -2
  175. package/esm2022/lib/option/option.component.mjs +0 -38
  176. package/esm2022/lib/option-item/index.mjs +0 -2
  177. package/esm2022/lib/option-item/option-item.component.mjs +0 -36
  178. package/esm2022/lib/page-not-found/index.mjs +0 -2
  179. package/esm2022/lib/page-not-found/page-not-found.component.mjs +0 -28
  180. package/esm2022/lib/popover/popover.component.mjs +0 -30
  181. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -117
  182. package/esm2022/lib/search-bar/index.mjs +0 -2
  183. package/esm2022/lib/search-bar/search-bar.component.mjs +0 -79
  184. package/esm2022/lib/section-collapse-drawer-child/index.mjs +0 -2
  185. package/esm2022/lib/section-collapse-drawer-child/section-collapse-drawer-child.component.mjs +0 -79
  186. package/esm2022/lib/section-collapse-drawer-parent/index.mjs +0 -2
  187. package/esm2022/lib/section-collapse-drawer-parent/section-collapse-drawer-parent.component.mjs +0 -79
  188. package/esm2022/lib/segment/index.mjs +0 -2
  189. package/esm2022/lib/segment/segment.component.mjs +0 -43
  190. package/esm2022/lib/simple-card-contador/index.mjs +0 -2
  191. package/esm2022/lib/simple-card-contador/simple-card-contador.component.mjs +0 -53
  192. package/esm2022/lib/simple-chip/index.mjs +0 -2
  193. package/esm2022/lib/simple-chip/simple-chip.component.mjs +0 -38
  194. package/esm2022/lib/simple-divider/index.mjs +0 -2
  195. package/esm2022/lib/simple-divider/simple-divider.component.mjs +0 -11
  196. package/esm2022/lib/simple-user-card/index.mjs +0 -2
  197. package/esm2022/lib/simple-user-card/simple-user-card.component.mjs +0 -17
  198. package/esm2022/lib/slide-toggle/index.mjs +0 -2
  199. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +0 -26
  200. package/esm2022/lib/snackbar/index.mjs +0 -2
  201. package/esm2022/lib/snackbar/snackbar.component.mjs +0 -40
  202. package/esm2022/lib/support-panel/index.mjs +0 -2
  203. package/esm2022/lib/support-panel/support-panel.component.mjs +0 -45
  204. package/esm2022/lib/toolbar/index.mjs +0 -2
  205. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -376
  206. package/esm2022/lib/toolbar-user-menu/index.mjs +0 -2
  207. package/esm2022/lib/toolbar-user-menu/toolbar-user-menu.component.mjs +0 -139
  208. package/esm2022/lib/user-card/index.mjs +0 -2
  209. package/esm2022/lib/user-card/user-card.component.mjs +0 -91
  210. package/esm2022/litigiovirtual-ius-design-components.mjs +0 -5
  211. package/esm2022/public-api.mjs +0 -102
  212. package/esm2022/utils/currency-format.pipe.mjs +0 -95
  213. package/esm2022/utils/date-format.util.mjs +0 -73
  214. package/esm2022/utils/file-mime.util.mjs +0 -22
  215. package/esm2022/utils/file-size.util.mjs +0 -11
  216. package/esm2022/utils/formato-hora.pipe.mjs +0 -44
  217. package/esm2022/utils/list-filter.util.mjs +0 -77
  218. package/esm2022/utils/litigiovirtual-ius-design-components-utils.mjs +0 -5
  219. package/esm2022/utils/public-api.mjs +0 -16
  220. package/index.d.ts +0 -5
  221. package/lib/add-user-container/add-user-container.component.d.ts +0 -22
  222. package/lib/add-user-container/index.d.ts +0 -1
  223. package/lib/alert/alert.component.d.ts +0 -22
  224. package/lib/alert/index.d.ts +0 -1
  225. package/lib/avatar-business/avatar-business.component.d.ts +0 -16
  226. package/lib/avatar-business/index.d.ts +0 -1
  227. package/lib/avatar-icon/avatar-icon.component.d.ts +0 -10
  228. package/lib/avatar-icon/index.d.ts +0 -1
  229. package/lib/avatar-v2/avatar-v2.component.d.ts +0 -26
  230. package/lib/avatar-v2/index.d.ts +0 -1
  231. package/lib/badge/badge.component.d.ts +0 -7
  232. package/lib/badge/index.d.ts +0 -1
  233. package/lib/breadcrumb/breadcrumb.component.d.ts +0 -16
  234. package/lib/breadcrumb/index.d.ts +0 -1
  235. package/lib/button-accounts/button-accounts.component.d.ts +0 -28
  236. package/lib/button-accounts/index.d.ts +0 -1
  237. package/lib/button-auth/button-auth.component.d.ts +0 -24
  238. package/lib/button-auth/index.d.ts +0 -1
  239. package/lib/button-circle-secondary/button-circle-secondary.component.d.ts +0 -10
  240. package/lib/button-circle-secondary/index.d.ts +0 -1
  241. package/lib/button-circle-tertiary/button-circle-tertiary.component.d.ts +0 -10
  242. package/lib/button-circle-tertiary/index.d.ts +0 -1
  243. package/lib/button-dynamic/button-dynamic.component.d.ts +0 -30
  244. package/lib/button-dynamic/index.d.ts +0 -1
  245. package/lib/button-filter/button-filter.component.d.ts +0 -25
  246. package/lib/button-filter/index.d.ts +0 -1
  247. package/lib/button-menu-link/button-menu-link.component.d.ts +0 -11
  248. package/lib/button-menu-link/index.d.ts +0 -1
  249. package/lib/button-order/button-order.component.d.ts +0 -29
  250. package/lib/button-order/index.d.ts +0 -1
  251. package/lib/button-squared-secondary/button-squared-secondary.component.d.ts +0 -10
  252. package/lib/button-squared-secondary/index.d.ts +0 -1
  253. package/lib/button-squared-tertiary/button-squared-tertiary.component.d.ts +0 -10
  254. package/lib/button-squared-tertiary/index.d.ts +0 -1
  255. package/lib/button-standard-outline/button-standard-outline.component.d.ts +0 -12
  256. package/lib/button-standard-outline/index.d.ts +0 -1
  257. package/lib/button-standard-primary/button-standard-primary.component.d.ts +0 -12
  258. package/lib/button-standard-primary/index.d.ts +0 -1
  259. package/lib/button-standard-secondary/button-standard-secondary.component.d.ts +0 -9
  260. package/lib/button-standard-secondary/index.d.ts +0 -1
  261. package/lib/button-standard-tertiary/button-standard-tertiary.component.d.ts +0 -12
  262. package/lib/button-standard-tertiary/index.d.ts +0 -1
  263. package/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.d.ts +0 -12
  264. package/lib/button-standard-tertiary-small/index.d.ts +0 -1
  265. package/lib/calification/calification.component.d.ts +0 -14
  266. package/lib/calification/index.d.ts +0 -1
  267. package/lib/card-agenda-judicial/card-agenda-judicial.component.d.ts +0 -20
  268. package/lib/card-agenda-judicial/index.d.ts +0 -1
  269. package/lib/card-block/card-block.component.d.ts +0 -23
  270. package/lib/card-block/index.d.ts +0 -1
  271. package/lib/card-button-checkbox/card-button-checkbox.component.d.ts +0 -14
  272. package/lib/card-button-checkbox/index.d.ts +0 -1
  273. package/lib/card-collapse-detalle-proceso/card-collapse-detalle-proceso.component.d.ts +0 -13
  274. package/lib/card-collapse-detalle-proceso/index.d.ts +0 -1
  275. package/lib/card-dynamic-content/card-dynamic-content.component.d.ts +0 -7
  276. package/lib/card-dynamic-content/index.d.ts +0 -1
  277. package/lib/card-gestion-cupo/card-gestion-cupo.component.d.ts +0 -12
  278. package/lib/card-gestion-cupo/index.d.ts +0 -1
  279. package/lib/card-info-facturacion/card-info-facturacion.component.d.ts +0 -19
  280. package/lib/card-info-facturacion/index.d.ts +0 -1
  281. package/lib/card-list-consumo/card-list-consumo.component.d.ts +0 -16
  282. package/lib/card-list-consumo/index.d.ts +0 -1
  283. package/lib/card-list-drag-on/card-list-drag-on.component.d.ts +0 -28
  284. package/lib/card-list-drag-on/index.d.ts +0 -1
  285. package/lib/card-list-movimientos/card-list-movimientos.component.d.ts +0 -16
  286. package/lib/card-list-movimientos/index.d.ts +0 -1
  287. package/lib/card-list-proceso/card-list-proceso.component.d.ts +0 -19
  288. package/lib/card-list-proceso/index.d.ts +0 -1
  289. package/lib/card-log/card-log.component.d.ts +0 -18
  290. package/lib/card-log/index.d.ts +0 -1
  291. package/lib/card-plan-small/card-plan-small.component.d.ts +0 -8
  292. package/lib/card-plan-small/index.d.ts +0 -1
  293. package/lib/card-plan-subscription/card-plan-subscription.component.d.ts +0 -23
  294. package/lib/card-plan-subscription/index.d.ts +0 -1
  295. package/lib/card-ticket/card-ticket.component.d.ts +0 -22
  296. package/lib/card-ticket/index.d.ts +0 -1
  297. package/lib/card-tipo-proceso/card-tipo-proceso.component.d.ts +0 -25
  298. package/lib/card-tipo-proceso/index.d.ts +0 -1
  299. package/lib/card-uso-plan/card-uso-plan.component.d.ts +0 -19
  300. package/lib/card-uso-plan/index.d.ts +0 -1
  301. package/lib/categories/categories.component.d.ts +0 -14
  302. package/lib/categories/index.d.ts +0 -1
  303. package/lib/charts-bar-grouped/charts-bar-grouped.component.d.ts +0 -98
  304. package/lib/charts-bar-grouped/index.d.ts +0 -1
  305. package/lib/charts-donut/charts-donut.component.d.ts +0 -47
  306. package/lib/charts-donut/index.d.ts +0 -1
  307. package/lib/checkbox/checkbox.component.d.ts +0 -10
  308. package/lib/checkbox/index.d.ts +0 -1
  309. package/lib/checkbox-radio/checkbox-radio.component.d.ts +0 -20
  310. package/lib/checkbox-radio/index.d.ts +0 -1
  311. package/lib/chip/chip.component.d.ts +0 -11
  312. package/lib/chip/index.d.ts +0 -1
  313. package/lib/chip-user/chip-user.component.d.ts +0 -12
  314. package/lib/chip-user/index.d.ts +0 -1
  315. package/lib/create-ticket/create-ticket.component.d.ts +0 -57
  316. package/lib/create-ticket/index.d.ts +0 -1
  317. package/lib/custom-dropdown/custom-dropdown.component.d.ts +0 -60
  318. package/lib/custom-dropdown/index.d.ts +0 -1
  319. package/lib/date-hour-picker/date-hour-picker.component.d.ts +0 -73
  320. package/lib/date-hour-picker/index.d.ts +0 -1
  321. package/lib/date-picker/date-picker.component.d.ts +0 -42
  322. package/lib/date-picker/index.d.ts +0 -1
  323. package/lib/directives/infinite-scroll.directive.d.ts +0 -15
  324. package/lib/directives/popover.directive.d.ts +0 -41
  325. package/lib/double-date-picker/double-date-picker.component.d.ts +0 -57
  326. package/lib/double-date-picker/index.d.ts +0 -1
  327. package/lib/drawer-container-right/drawer-container-right.component.d.ts +0 -13
  328. package/lib/drawer-container-right/index.d.ts +0 -1
  329. package/lib/dropdown/dropdown.component.d.ts +0 -28
  330. package/lib/dropdown/index.d.ts +0 -1
  331. package/lib/dropdown-contextual-menu/dropdown-contextual-menu.component.d.ts +0 -5
  332. package/lib/dropdown-contextual-menu/index.d.ts +0 -1
  333. package/lib/dropdown-option-item/dropdown-option-item.component.d.ts +0 -15
  334. package/lib/dropdown-option-item/index.d.ts +0 -1
  335. package/lib/dropdown-user-menu/dropdown-user-menu.component.d.ts +0 -20
  336. package/lib/dropdown-user-menu/index.d.ts +0 -1
  337. package/lib/empty-list/empty-list.component.d.ts +0 -8
  338. package/lib/empty-list/index.d.ts +0 -1
  339. package/lib/filter-item/filter-item.component.d.ts +0 -10
  340. package/lib/filter-item/index.d.ts +0 -1
  341. package/lib/icon-lg/icon-lg.component.d.ts +0 -12
  342. package/lib/icon-lg/index.d.ts +0 -1
  343. package/lib/icon-md/icon-md.component.d.ts +0 -12
  344. package/lib/icon-md/index.d.ts +0 -1
  345. package/lib/icon-sm/icon-sm.component.d.ts +0 -13
  346. package/lib/icon-sm/index.d.ts +0 -1
  347. package/lib/icon-xl/icon-xl.component.d.ts +0 -12
  348. package/lib/icon-xl/index.d.ts +0 -1
  349. package/lib/icon-xs/icon-xs.component.d.ts +0 -12
  350. package/lib/icon-xs/index.d.ts +0 -1
  351. package/lib/icon-xxl/icon-xxl.component.d.ts +0 -12
  352. package/lib/icon-xxl/index.d.ts +0 -1
  353. package/lib/icons/icons-map.d.ts +0 -1
  354. package/lib/input-card/index.d.ts +0 -1
  355. package/lib/input-card/input-card.component.d.ts +0 -43
  356. package/lib/input-large/index.d.ts +0 -1
  357. package/lib/input-large/input-large.component.d.ts +0 -30
  358. package/lib/input-otp/index.d.ts +0 -1
  359. package/lib/input-otp/input-otp.component.d.ts +0 -34
  360. package/lib/input-password/index.d.ts +0 -1
  361. package/lib/input-password/input-password.component.d.ts +0 -29
  362. package/lib/input-select/index.d.ts +0 -1
  363. package/lib/input-select/input-select.component.d.ts +0 -55
  364. package/lib/input-select-filter/index.d.ts +0 -1
  365. package/lib/input-select-filter/input-select-filter.component.d.ts +0 -62
  366. package/lib/input-select-number/index.d.ts +0 -1
  367. package/lib/input-select-number/input-select-number.component.d.ts +0 -18
  368. package/lib/input-textfield/index.d.ts +0 -1
  369. package/lib/input-textfield/input-textfield.component.d.ts +0 -36
  370. package/lib/item-document/index.d.ts +0 -1
  371. package/lib/item-document/item-document.component.d.ts +0 -19
  372. package/lib/linear-progress-bar/index.d.ts +0 -1
  373. package/lib/linear-progress-bar/linear-progress-bar.component.d.ts +0 -6
  374. package/lib/loading-circle/index.d.ts +0 -1
  375. package/lib/loading-circle/loading-circle.component.d.ts +0 -6
  376. package/lib/loading-component-dynamic/index.d.ts +0 -1
  377. package/lib/loading-component-dynamic/loading-component-dynamic.component.d.ts +0 -22
  378. package/lib/menu-item/index.d.ts +0 -1
  379. package/lib/menu-item/menu-item.component.d.ts +0 -19
  380. package/lib/nav-rail/index.d.ts +0 -1
  381. package/lib/nav-rail/nav-rail.component.d.ts +0 -10
  382. package/lib/notification-card/index.d.ts +0 -1
  383. package/lib/notification-card/notification-card.component.d.ts +0 -37
  384. package/lib/notifications/index.d.ts +0 -1
  385. package/lib/notifications/notifications.component.d.ts +0 -30
  386. package/lib/option/index.d.ts +0 -1
  387. package/lib/option/option.component.d.ts +0 -14
  388. package/lib/option-item/index.d.ts +0 -1
  389. package/lib/option-item/option-item.component.d.ts +0 -13
  390. package/lib/page-not-found/index.d.ts +0 -1
  391. package/lib/page-not-found/page-not-found.component.d.ts +0 -12
  392. package/lib/popover/popover.component.d.ts +0 -10
  393. package/lib/progress-bar/progress-bar.component.d.ts +0 -43
  394. package/lib/search-bar/index.d.ts +0 -1
  395. package/lib/search-bar/search-bar.component.d.ts +0 -24
  396. package/lib/section-collapse-drawer-child/index.d.ts +0 -1
  397. package/lib/section-collapse-drawer-child/section-collapse-drawer-child.component.d.ts +0 -14
  398. package/lib/section-collapse-drawer-parent/index.d.ts +0 -1
  399. package/lib/section-collapse-drawer-parent/section-collapse-drawer-parent.component.d.ts +0 -14
  400. package/lib/segment/index.d.ts +0 -1
  401. package/lib/segment/segment.component.d.ts +0 -14
  402. package/lib/simple-card-contador/index.d.ts +0 -1
  403. package/lib/simple-card-contador/simple-card-contador.component.d.ts +0 -14
  404. package/lib/simple-chip/index.d.ts +0 -1
  405. package/lib/simple-chip/simple-chip.component.d.ts +0 -13
  406. package/lib/simple-divider/index.d.ts +0 -1
  407. package/lib/simple-divider/simple-divider.component.d.ts +0 -5
  408. package/lib/simple-user-card/index.d.ts +0 -1
  409. package/lib/simple-user-card/simple-user-card.component.d.ts +0 -8
  410. package/lib/slide-toggle/index.d.ts +0 -1
  411. package/lib/slide-toggle/slide-toggle.component.d.ts +0 -10
  412. package/lib/snackbar/index.d.ts +0 -1
  413. package/lib/snackbar/snackbar.component.d.ts +0 -16
  414. package/lib/support-panel/index.d.ts +0 -1
  415. package/lib/support-panel/support-panel.component.d.ts +0 -17
  416. package/lib/toolbar/index.d.ts +0 -1
  417. package/lib/toolbar/toolbar.component.d.ts +0 -145
  418. package/lib/toolbar-user-menu/index.d.ts +0 -1
  419. package/lib/toolbar-user-menu/toolbar-user-menu.component.d.ts +0 -45
  420. package/lib/user-card/index.d.ts +0 -1
  421. package/lib/user-card/user-card.component.d.ts +0 -34
  422. package/public-api.d.ts +0 -100
  423. package/utils/currency-format.pipe.d.ts +0 -29
  424. package/utils/date-format.util.d.ts +0 -20
  425. package/utils/file-mime.util.d.ts +0 -8
  426. package/utils/file-size.util.d.ts +0 -8
  427. package/utils/formato-hora.pipe.d.ts +0 -14
  428. package/utils/index.d.ts +0 -5
  429. package/utils/list-filter.util.d.ts +0 -46
  430. package/utils/public-api.d.ts +0 -6
package/README.md CHANGED
@@ -1,24 +1,14 @@
1
- # IusDesignComponents
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project ius-design-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ius-design-components`.
8
- > Note: Don't forget to add `--project ius-design-components` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build ius-design-components` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build ius-design-components`, go to the dist folder `cd dist/ius-design-components` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test ius-design-components` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # @litigiovirtual/ius-design-components
2
+
3
+ Librería de componentes UI del ecosistema Litigiovirtual **v2 en reconstrucción**.
4
+
5
+ Cada componente se implementa desde su contrato `Nombre.ng-spec.md` del proyecto
6
+ Claude Design de Ius Design (diseño es la especificación; esto es la implementación
7
+ Angular nativa). Flujo, reglas y mapeo de nombres: ver `CLAUDE.md` en la raíz del
8
+ monorepo.
9
+
10
+ - Tokens/estilos: `@litigiovirtual/ius-design-styles` (variables CSS `--ius-*`).
11
+ - Entry secundario `utils/`: utilidades puras (fechas, moneda, archivos) — se
12
+ conserva de la v1, no depende de los componentes visuales.
13
+ - Cada componente nuevo: standalone, OnPush, selector `ius-<kebab>`, tokens sin
14
+ valores crudos, y su playground en `ius-design-playground`.
@@ -83,10 +83,10 @@ class CurrencyFormatPipe {
83
83
  return num.toString();
84
84
  }
85
85
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
87
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CurrencyFormatPipe, isStandalone: true, name: "currencyFormat" }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CurrencyFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
87
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: CurrencyFormatPipe, isStandalone: true, name: "currencyFormat" }); }
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyFormatPipe, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CurrencyFormatPipe, decorators: [{
90
90
  type: Pipe,
91
91
  args: [{
92
92
  name: 'currencyFormat',
@@ -125,10 +125,10 @@ class FormatoHoraPipe {
125
125
  return `${hour12} ${period}`;
126
126
  return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;
127
127
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatoHoraPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
129
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormatoHoraPipe, isStandalone: true, name: "formatoHora" }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormatoHoraPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
129
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: FormatoHoraPipe, isStandalone: true, name: "formatoHora" }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatoHoraPipe, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormatoHoraPipe, decorators: [{
132
132
  type: Pipe,
133
133
  args: [{
134
134
  name: 'formatoHora',
@@ -1 +1 @@
1
- {"version":3,"file":"litigiovirtual-ius-design-components-utils.mjs","sources":["../../../projects/ius-design-components/utils/src/currency-format.pipe.ts","../../../projects/ius-design-components/utils/src/formato-hora.pipe.ts","../../../projects/ius-design-components/utils/src/date-format.util.ts","../../../projects/ius-design-components/utils/src/file-mime.util.ts","../../../projects/ius-design-components/utils/src/file-size.util.ts","../../../projects/ius-design-components/utils/src/list-filter.util.ts","../../../projects/ius-design-components/utils/src/public-api.ts","../../../projects/ius-design-components/utils/src/litigiovirtual-ius-design-components-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n// ============================================================\r\n// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.\r\n//\r\n// En un input controlado:\r\n// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }\r\n// from '@litigiovirtual/ius-design-components/utils';\r\n//\r\n// onChange(event: string) {\r\n// const { rawStr, intPart, decPart } = parseCurrencyInput(event);\r\n// this.valorRaw = rawStr;\r\n// this.display = buildCurrencyDisplay(intPart, decPart);\r\n// }\r\n// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }\r\n// ============================================================\r\n\r\n/**\r\n * Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).\r\n * - rawStr: string con punto decimal para cálculos JS (\"150000.50\")\r\n * - intPart: parte entera sin formato (\"150000\")\r\n * - decPart: parte decimal tal como la escribió el usuario (\"50\") o null si no hay coma\r\n */\r\nexport function parseCurrencyInput(display: string): {\r\n rawStr: string;\r\n intPart: string;\r\n decPart: string | null;\r\n} {\r\n const stripped = display.replace(/\\./g, '').replace(/[^0-9,]/g, '');\r\n const commaIndex = stripped.indexOf(',');\r\n const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;\r\n const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;\r\n const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;\r\n return { rawStr, intPart, decPart };\r\n}\r\n\r\n/**\r\n * Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal\r\n * exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.\r\n */\r\nexport function buildCurrencyDisplay(intPart: string, decPart: string | null): string {\r\n if (!intPart && decPart === null) return '';\r\n const intNum = intPart ? parseInt(intPart, 10) : 0;\r\n const formattedInt = isNaN(intNum)\r\n ? intPart\r\n : new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);\r\n return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;\r\n}\r\n\r\n/**\r\n * Formatea el valor raw al salir del campo (blur): completa decimales si los hay.\r\n * formatCurrencyOnBlur('150000.5') → \"150.000,50\"\r\n * formatCurrencyOnBlur('150000') → \"150.000\"\r\n */\r\nexport function formatCurrencyOnBlur(rawValue: string): string {\r\n if (!rawValue) return '';\r\n const num = parseFloat(rawValue);\r\n if (isNaN(num) || num <= 0) return rawValue;\r\n return new Intl.NumberFormat('es-CO', {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n }).format(num);\r\n}\r\n\r\n// ============================================================\r\n// Pipe para mostrar valores en templates\r\n// {{ 150000 | currencyFormat }} → \"150.000\"\r\n// {{ 150000.5 | currencyFormat }} → \"150.000,5\"\r\n// {{ 150000 | currencyFormat: true }} → \"$ 150.000\" (símbolo COP)\r\n// ============================================================\r\n@Pipe({\r\n name: 'currencyFormat',\r\n standalone: true,\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n transform(\r\n value: number | string | null | undefined,\r\n showSymbol = false,\r\n currencyCode = 'COP',\r\n locale = 'es-CO',\r\n ): string {\r\n if (value === null || value === undefined || value === '') return '';\r\n\r\n const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;\r\n\r\n if (isNaN(num)) return String(value);\r\n\r\n try {\r\n return new Intl.NumberFormat(locale, {\r\n style: showSymbol ? 'currency' : 'decimal',\r\n currency: showSymbol ? currencyCode : undefined,\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n }).format(num);\r\n } catch {\r\n return num.toString();\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Muestra una hora en formato 12h con am/pm.\r\n * {{ '14:30:00' | formatoHora }} → \"2:30 pm\"\r\n * {{ '09:00' | formatoHora }} → \"9 am\"\r\n * Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.\r\n */\r\n@Pipe({\r\n name: 'formatoHora',\r\n standalone: true,\r\n})\r\nexport class FormatoHoraPipe implements PipeTransform {\r\n transform(value?: string | Date | null): string {\r\n if (!value) return '';\r\n\r\n if (value instanceof Date) {\r\n return this.formatHours(value.getHours(), value.getMinutes());\r\n }\r\n\r\n const str = String(value);\r\n\r\n const match = str.match(/(\\d{1,2}):(\\d{2})(?::\\d{2})?/);\r\n if (match) {\r\n return this.formatHours(Number(match[1]), Number(match[2]));\r\n }\r\n\r\n const parsed = new Date(str);\r\n if (!isNaN(parsed.getTime())) {\r\n return this.formatHours(parsed.getHours(), parsed.getMinutes());\r\n }\r\n\r\n return '';\r\n }\r\n\r\n private formatHours(hours: number, minutes: number): string {\r\n const period = hours >= 12 ? 'pm' : 'am';\r\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\r\n if (minutes === 0) return `${hour12} ${period}`;\r\n return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;\r\n }\r\n}\r\n","/**\r\n * Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).\r\n *\r\n * IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de\r\n * zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según\r\n * la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).\r\n */\r\n\r\n/**\r\n * Convierte cualquier valor de fecha (string \"yyyy-MM-dd\", \"yyyy-MM-ddTHH:mm:ss\" o Date)\r\n * a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.\r\n */\r\nexport function parseLocalDate(value: any): Date | undefined {\r\n if (value === null || value === undefined || value === '') return undefined;\r\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\r\n if (typeof value === 'string') {\r\n const m = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?)?/);\r\n if (m) {\r\n return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));\r\n }\r\n const parsed = new Date(value);\r\n return isNaN(parsed.getTime()) ? undefined : parsed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Parsea evento de date-picker (ISO string, Date, \"YYYY-MM-DD\") a Date local. */\r\nexport function parseDateEvent(event: any): Date | undefined {\r\n if (!event) return undefined;\r\n if (event instanceof Date) return event;\r\n if (typeof event === 'string') {\r\n const match = event.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\r\n if (match) {\r\n return new Date(+match[1], +match[2] - 1, +match[3]);\r\n }\r\n const parsed = new Date(event);\r\n return isNaN(parsed.getTime()) ? undefined : parsed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Parsea evento de time-picker a string \"HH:mm:ss\". */\r\nexport function parseHoraEvent(event: any): string | undefined {\r\n if (!event) return undefined;\r\n if (event instanceof Date) return toTimeOnlyString(event);\r\n if (typeof event === 'string') {\r\n const trimmed = event.trim();\r\n if (/^\\d{2}:\\d{2}(:\\d{2})?$/.test(trimmed)) {\r\n return trimmed.length === 5 ? `${trimmed}:00` : trimmed;\r\n }\r\n const parsed = new Date(event);\r\n return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Date -> \"yyyy-MM-dd\" en hora local (formato DateOnly C#). */\r\nexport function toDateOnlyString(d: Date): string {\r\n const y = d.getFullYear();\r\n const m = (d.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = d.getDate().toString().padStart(2, '0');\r\n return `${y}-${m}-${dd}`;\r\n}\r\n\r\n/** Date -> \"HH:mm:ss\" en hora local (formato TimeOnly C#). */\r\nexport function toTimeOnlyString(d: Date): string {\r\n const h = d.getHours().toString().padStart(2, '0');\r\n const min = d.getMinutes().toString().padStart(2, '0');\r\n const s = d.getSeconds().toString().padStart(2, '0');\r\n return `${h}:${min}:${s}`;\r\n}\r\n","/**\r\n * Infiere el MIME type a partir de la extensión del nombre de archivo.\r\n *\r\n * Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI\r\n * necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).\r\n * Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).\r\n */\r\nexport function inferMimeTypeFromName(fileName?: string): string {\r\n if (!fileName) return '';\r\n const ext = fileName.split('.').pop()?.toLowerCase();\r\n switch (ext) {\r\n case 'pdf': return 'application/pdf';\r\n case 'jpg':\r\n case 'jpeg': return 'image/jpeg';\r\n case 'png': return 'image/png';\r\n case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n default: return '';\r\n }\r\n}\r\n","/**\r\n * Constantes y conversión de tamaño de archivo. Centraliza los números mágicos\r\n * (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.\r\n */\r\nexport const KB_IN_BYTES = 1024;\r\nexport const MB_IN_BYTES = 1024 * 1024;\r\n\r\n/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. \"X MB de 25 MB\"). */\r\nexport function bytesToMB(bytes: number): number {\r\n return Math.round((bytes / MB_IN_BYTES) * 10) / 10;\r\n}\r\n","/**\r\n * ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.\r\n *\r\n * Centraliza el filtrado client-side de listas en memoria con dos comportamientos:\r\n * - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).\r\n * - \"Re-click muestra lista completa\": al re-enfocar un select ya seleccionado,\r\n * reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.\r\n *\r\n * Clase plana (sin signals): funciona en change detection con o sin signals.\r\n *\r\n * Uso:\r\n * tipoFilter = new ListFilter(\r\n * () => this.tipoActividades,\r\n * (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),\r\n * );\r\n * // template:\r\n * // @for (t of tipoFilter.visible; track t.id) { ... }\r\n * // (onChangesValueEvent)=\"onSearch($event)\" -> dentro: tipoFilter.search($event)\r\n * // (onFocusEvent)=\"tipoFilter.reopen()\"\r\n */\r\nexport class ListFilter<T> {\r\n private _term = '';\r\n private _reopened = false;\r\n\r\n // Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).\r\n // En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.\r\n private _hasCache = false;\r\n private _cache: T[] = [];\r\n private _cacheSrc: T[] | null = null;\r\n private _cacheTerm = '';\r\n private _cacheReopened = false;\r\n\r\n /**\r\n * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).\r\n * @param match Predicado de coincidencia. `term` llega ya en minúsculas.\r\n */\r\n constructor(\r\n private readonly source: () => T[],\r\n private readonly match: (item: T, term: string) => boolean,\r\n ) {}\r\n\r\n /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */\r\n get visible(): T[] {\r\n const all = this.source() ?? [];\r\n if (\r\n this._hasCache &&\r\n all === this._cacheSrc &&\r\n this._term === this._cacheTerm &&\r\n this._reopened === this._cacheReopened\r\n ) {\r\n return this._cache;\r\n }\r\n\r\n const result =\r\n this._reopened || !this._term.trim()\r\n ? all\r\n : all.filter((i) => this.match(i, this._term.toLowerCase()));\r\n\r\n this._cache = result;\r\n this._cacheSrc = all;\r\n this._cacheTerm = this._term;\r\n this._cacheReopened = this._reopened;\r\n this._hasCache = true;\r\n return result;\r\n }\r\n\r\n /** Término de filtro actual (sin normalizar). */\r\n get term(): string {\r\n return this._term;\r\n }\r\n\r\n /** Llamar desde el handler de búsqueda (al teclear): apaga el \"mostrar todo\" y filtra. */\r\n search(term: string): void {\r\n this._reopened = false;\r\n this._term = term ?? '';\r\n }\r\n\r\n /** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */\r\n reopen(): void {\r\n this._reopened = true;\r\n }\r\n\r\n /** Limpia término y estado (ej. al abrir/cerrar un formulario). */\r\n reset(): void {\r\n this._term = '';\r\n this._reopened = false;\r\n }\r\n}\r\n","/*\r\n * Entry-point secundario: @litigiovirtual/ius-design-components/utils\r\n *\r\n * Utilidades compartidas (sin UI) para todas las apps del ecosistema:\r\n * moneda, fechas/horas y archivos. Evita duplicar este código en cada app.\r\n *\r\n * Uso:\r\n * import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';\r\n */\r\nexport * from './currency-format.pipe';\r\nexport * from './formato-hora.pipe';\r\nexport * from './date-format.util';\r\nexport * from './file-mime.util';\r\nexport * from './file-size.util';\r\nexport * from './list-filter.util';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"litigiovirtual-ius-design-components-utils.mjs","sources":["../../../projects/ius-design-components/utils/src/currency-format.pipe.ts","../../../projects/ius-design-components/utils/src/formato-hora.pipe.ts","../../../projects/ius-design-components/utils/src/date-format.util.ts","../../../projects/ius-design-components/utils/src/file-mime.util.ts","../../../projects/ius-design-components/utils/src/file-size.util.ts","../../../projects/ius-design-components/utils/src/list-filter.util.ts","../../../projects/ius-design-components/utils/src/public-api.ts","../../../projects/ius-design-components/utils/src/litigiovirtual-ius-design-components-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n// ============================================================\n// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.\n//\n// En un input controlado:\n// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }\n// from '@litigiovirtual/ius-design-components/utils';\n//\n// onChange(event: string) {\n// const { rawStr, intPart, decPart } = parseCurrencyInput(event);\n// this.valorRaw = rawStr;\n// this.display = buildCurrencyDisplay(intPart, decPart);\n// }\n// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }\n// ============================================================\n\n/**\n * Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).\n * - rawStr: string con punto decimal para cálculos JS (\"150000.50\")\n * - intPart: parte entera sin formato (\"150000\")\n * - decPart: parte decimal tal como la escribió el usuario (\"50\") o null si no hay coma\n */\nexport function parseCurrencyInput(display: string): {\n rawStr: string;\n intPart: string;\n decPart: string | null;\n} {\n const stripped = display.replace(/\\./g, '').replace(/[^0-9,]/g, '');\n const commaIndex = stripped.indexOf(',');\n const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;\n const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;\n const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;\n return { rawStr, intPart, decPart };\n}\n\n/**\n * Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal\n * exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.\n */\nexport function buildCurrencyDisplay(intPart: string, decPart: string | null): string {\n if (!intPart && decPart === null) return '';\n const intNum = intPart ? parseInt(intPart, 10) : 0;\n const formattedInt = isNaN(intNum)\n ? intPart\n : new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);\n return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;\n}\n\n/**\n * Formatea el valor raw al salir del campo (blur): completa decimales si los hay.\n * formatCurrencyOnBlur('150000.5') → \"150.000,50\"\n * formatCurrencyOnBlur('150000') → \"150.000\"\n */\nexport function formatCurrencyOnBlur(rawValue: string): string {\n if (!rawValue) return '';\n const num = parseFloat(rawValue);\n if (isNaN(num) || num <= 0) return rawValue;\n return new Intl.NumberFormat('es-CO', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n }).format(num);\n}\n\n// ============================================================\n// Pipe para mostrar valores en templates\n// {{ 150000 | currencyFormat }} → \"150.000\"\n// {{ 150000.5 | currencyFormat }} → \"150.000,5\"\n// {{ 150000 | currencyFormat: true }} → \"$ 150.000\" (símbolo COP)\n// ============================================================\n@Pipe({\n name: 'currencyFormat',\n standalone: true,\n})\nexport class CurrencyFormatPipe implements PipeTransform {\n transform(\n value: number | string | null | undefined,\n showSymbol = false,\n currencyCode = 'COP',\n locale = 'es-CO',\n ): string {\n if (value === null || value === undefined || value === '') return '';\n\n const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;\n\n if (isNaN(num)) return String(value);\n\n try {\n return new Intl.NumberFormat(locale, {\n style: showSymbol ? 'currency' : 'decimal',\n currency: showSymbol ? currencyCode : undefined,\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n }).format(num);\n } catch {\n return num.toString();\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Muestra una hora en formato 12h con am/pm.\n * {{ '14:30:00' | formatoHora }} → \"2:30 pm\"\n * {{ '09:00' | formatoHora }} → \"9 am\"\n * Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.\n */\n@Pipe({\n name: 'formatoHora',\n standalone: true,\n})\nexport class FormatoHoraPipe implements PipeTransform {\n transform(value?: string | Date | null): string {\n if (!value) return '';\n\n if (value instanceof Date) {\n return this.formatHours(value.getHours(), value.getMinutes());\n }\n\n const str = String(value);\n\n const match = str.match(/(\\d{1,2}):(\\d{2})(?::\\d{2})?/);\n if (match) {\n return this.formatHours(Number(match[1]), Number(match[2]));\n }\n\n const parsed = new Date(str);\n if (!isNaN(parsed.getTime())) {\n return this.formatHours(parsed.getHours(), parsed.getMinutes());\n }\n\n return '';\n }\n\n private formatHours(hours: number, minutes: number): string {\n const period = hours >= 12 ? 'pm' : 'am';\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\n if (minutes === 0) return `${hour12} ${period}`;\n return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;\n }\n}\n","/**\n * Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).\n *\n * IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de\n * zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según\n * la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).\n */\n\n/**\n * Convierte cualquier valor de fecha (string \"yyyy-MM-dd\", \"yyyy-MM-ddTHH:mm:ss\" o Date)\n * a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.\n */\nexport function parseLocalDate(value: any): Date | undefined {\n if (value === null || value === undefined || value === '') return undefined;\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\n if (typeof value === 'string') {\n const m = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?)?/);\n if (m) {\n return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));\n }\n const parsed = new Date(value);\n return isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Parsea evento de date-picker (ISO string, Date, \"YYYY-MM-DD\") a Date local. */\nexport function parseDateEvent(event: any): Date | undefined {\n if (!event) return undefined;\n if (event instanceof Date) return event;\n if (typeof event === 'string') {\n const match = event.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\n if (match) {\n return new Date(+match[1], +match[2] - 1, +match[3]);\n }\n const parsed = new Date(event);\n return isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Parsea evento de time-picker a string \"HH:mm:ss\". */\nexport function parseHoraEvent(event: any): string | undefined {\n if (!event) return undefined;\n if (event instanceof Date) return toTimeOnlyString(event);\n if (typeof event === 'string') {\n const trimmed = event.trim();\n if (/^\\d{2}:\\d{2}(:\\d{2})?$/.test(trimmed)) {\n return trimmed.length === 5 ? `${trimmed}:00` : trimmed;\n }\n const parsed = new Date(event);\n return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);\n }\n return undefined;\n}\n\n/** Date -> \"yyyy-MM-dd\" en hora local (formato DateOnly C#). */\nexport function toDateOnlyString(d: Date): string {\n const y = d.getFullYear();\n const m = (d.getMonth() + 1).toString().padStart(2, '0');\n const dd = d.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${dd}`;\n}\n\n/** Date -> \"HH:mm:ss\" en hora local (formato TimeOnly C#). */\nexport function toTimeOnlyString(d: Date): string {\n const h = d.getHours().toString().padStart(2, '0');\n const min = d.getMinutes().toString().padStart(2, '0');\n const s = d.getSeconds().toString().padStart(2, '0');\n return `${h}:${min}:${s}`;\n}\n","/**\n * Infiere el MIME type a partir de la extensión del nombre de archivo.\n *\n * Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI\n * necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).\n * Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).\n */\nexport function inferMimeTypeFromName(fileName?: string): string {\n if (!fileName) return '';\n const ext = fileName.split('.').pop()?.toLowerCase();\n switch (ext) {\n case 'pdf': return 'application/pdf';\n case 'jpg':\n case 'jpeg': return 'image/jpeg';\n case 'png': return 'image/png';\n case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n default: return '';\n }\n}\n","/**\n * Constantes y conversión de tamaño de archivo. Centraliza los números mágicos\n * (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.\n */\nexport const KB_IN_BYTES = 1024;\nexport const MB_IN_BYTES = 1024 * 1024;\n\n/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. \"X MB de 25 MB\"). */\nexport function bytesToMB(bytes: number): number {\n return Math.round((bytes / MB_IN_BYTES) * 10) / 10;\n}\n","/**\n * ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.\n *\n * Centraliza el filtrado client-side de listas en memoria con dos comportamientos:\n * - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).\n * - \"Re-click muestra lista completa\": al re-enfocar un select ya seleccionado,\n * reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.\n *\n * Clase plana (sin signals): funciona en change detection con o sin signals.\n *\n * Uso:\n * tipoFilter = new ListFilter(\n * () => this.tipoActividades,\n * (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),\n * );\n * // template:\n * // @for (t of tipoFilter.visible; track t.id) { ... }\n * // (onChangesValueEvent)=\"onSearch($event)\" -> dentro: tipoFilter.search($event)\n * // (onFocusEvent)=\"tipoFilter.reopen()\"\n */\nexport class ListFilter<T> {\n private _term = '';\n private _reopened = false;\n\n // Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).\n // En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.\n private _hasCache = false;\n private _cache: T[] = [];\n private _cacheSrc: T[] | null = null;\n private _cacheTerm = '';\n private _cacheReopened = false;\n\n /**\n * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).\n * @param match Predicado de coincidencia. `term` llega ya en minúsculas.\n */\n constructor(\n private readonly source: () => T[],\n private readonly match: (item: T, term: string) => boolean,\n ) {}\n\n /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */\n get visible(): T[] {\n const all = this.source() ?? [];\n if (\n this._hasCache &&\n all === this._cacheSrc &&\n this._term === this._cacheTerm &&\n this._reopened === this._cacheReopened\n ) {\n return this._cache;\n }\n\n const result =\n this._reopened || !this._term.trim()\n ? all\n : all.filter((i) => this.match(i, this._term.toLowerCase()));\n\n this._cache = result;\n this._cacheSrc = all;\n this._cacheTerm = this._term;\n this._cacheReopened = this._reopened;\n this._hasCache = true;\n return result;\n }\n\n /** Término de filtro actual (sin normalizar). */\n get term(): string {\n return this._term;\n }\n\n /** Llamar desde el handler de búsqueda (al teclear): apaga el \"mostrar todo\" y filtra. */\n search(term: string): void {\n this._reopened = false;\n this._term = term ?? '';\n }\n\n /** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */\n reopen(): void {\n this._reopened = true;\n }\n\n /** Limpia término y estado (ej. al abrir/cerrar un formulario). */\n reset(): void {\n this._term = '';\n this._reopened = false;\n }\n}\n","/*\n * Entry-point secundario: @litigiovirtual/ius-design-components/utils\n *\n * Utilidades compartidas (sin UI) para todas las apps del ecosistema:\n * moneda, fechas/horas y archivos. Evita duplicar este código en cada app.\n *\n * Uso:\n * import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';\n */\nexport * from './currency-format.pipe';\nexport * from './formato-hora.pipe';\nexport * from './date-format.util';\nexport * from './file-mime.util';\nexport * from './file-size.util';\nexport * from './list-filter.util';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}