@litigiovirtual/ius-design-components 1.0.299 → 1.0.301
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.
- package/fesm2022/litigiovirtual-ius-design-components-utils.mjs +6 -6
- package/fesm2022/litigiovirtual-ius-design-components-utils.mjs.map +1 -1
- package/fesm2022/litigiovirtual-ius-design-components.mjs +2952 -5886
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/package.json +9 -12
- package/types/litigiovirtual-ius-design-components-utils.d.ts +131 -0
- package/types/litigiovirtual-ius-design-components.d.ts +1236 -0
- package/esm2022/lib/add-user-container/add-user-container.component.mjs +0 -92
- package/esm2022/lib/add-user-container/index.mjs +0 -2
- package/esm2022/lib/alert/alert.component.mjs +0 -76
- package/esm2022/lib/alert/index.mjs +0 -2
- package/esm2022/lib/avatar-business/avatar-business.component.mjs +0 -52
- package/esm2022/lib/avatar-business/index.mjs +0 -2
- package/esm2022/lib/avatar-icon/avatar-icon.component.mjs +0 -33
- package/esm2022/lib/avatar-icon/index.mjs +0 -2
- package/esm2022/lib/avatar-v2/avatar-v2.component.mjs +0 -87
- package/esm2022/lib/avatar-v2/index.mjs +0 -2
- package/esm2022/lib/badge/badge.component.mjs +0 -26
- package/esm2022/lib/badge/index.mjs +0 -2
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -22
- package/esm2022/lib/breadcrumb/index.mjs +0 -2
- package/esm2022/lib/button-accounts/button-accounts.component.mjs +0 -73
- package/esm2022/lib/button-accounts/index.mjs +0 -2
- package/esm2022/lib/button-auth/button-auth.component.mjs +0 -119
- package/esm2022/lib/button-auth/index.mjs +0 -2
- package/esm2022/lib/button-circle-secondary/button-circle-secondary.component.mjs +0 -28
- package/esm2022/lib/button-circle-secondary/index.mjs +0 -2
- package/esm2022/lib/button-circle-tertiary/button-circle-tertiary.component.mjs +0 -28
- package/esm2022/lib/button-circle-tertiary/index.mjs +0 -2
- package/esm2022/lib/button-dynamic/button-dynamic.component.mjs +0 -121
- package/esm2022/lib/button-dynamic/index.mjs +0 -2
- package/esm2022/lib/button-filter/button-filter.component.mjs +0 -90
- package/esm2022/lib/button-filter/index.mjs +0 -2
- package/esm2022/lib/button-menu-link/button-menu-link.component.mjs +0 -31
- package/esm2022/lib/button-menu-link/index.mjs +0 -2
- package/esm2022/lib/button-order/button-order.component.mjs +0 -75
- package/esm2022/lib/button-order/index.mjs +0 -2
- package/esm2022/lib/button-squared-secondary/button-squared-secondary.component.mjs +0 -28
- package/esm2022/lib/button-squared-secondary/index.mjs +0 -2
- package/esm2022/lib/button-squared-tertiary/button-squared-tertiary.component.mjs +0 -28
- package/esm2022/lib/button-squared-tertiary/index.mjs +0 -2
- package/esm2022/lib/button-standard-outline/button-standard-outline.component.mjs +0 -34
- package/esm2022/lib/button-standard-outline/index.mjs +0 -2
- package/esm2022/lib/button-standard-primary/button-standard-primary.component.mjs +0 -34
- package/esm2022/lib/button-standard-primary/index.mjs +0 -2
- package/esm2022/lib/button-standard-secondary/button-standard-secondary.component.mjs +0 -24
- package/esm2022/lib/button-standard-secondary/index.mjs +0 -2
- package/esm2022/lib/button-standard-tertiary/button-standard-tertiary.component.mjs +0 -34
- package/esm2022/lib/button-standard-tertiary/index.mjs +0 -2
- package/esm2022/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.mjs +0 -34
- package/esm2022/lib/button-standard-tertiary-small/index.mjs +0 -2
- package/esm2022/lib/calification/calification.component.mjs +0 -36
- package/esm2022/lib/calification/index.mjs +0 -2
- package/esm2022/lib/card-agenda-judicial/card-agenda-judicial.component.mjs +0 -62
- package/esm2022/lib/card-agenda-judicial/index.mjs +0 -2
- package/esm2022/lib/card-block/card-block.component.mjs +0 -53
- package/esm2022/lib/card-block/index.mjs +0 -2
- package/esm2022/lib/card-button-checkbox/card-button-checkbox.component.mjs +0 -42
- package/esm2022/lib/card-button-checkbox/index.mjs +0 -2
- package/esm2022/lib/card-collapse-detalle-proceso/card-collapse-detalle-proceso.component.mjs +0 -32
- package/esm2022/lib/card-collapse-detalle-proceso/index.mjs +0 -2
- package/esm2022/lib/card-dynamic-content/card-dynamic-content.component.mjs +0 -20
- package/esm2022/lib/card-dynamic-content/index.mjs +0 -2
- package/esm2022/lib/card-gestion-cupo/card-gestion-cupo.component.mjs +0 -28
- package/esm2022/lib/card-gestion-cupo/index.mjs +0 -2
- package/esm2022/lib/card-info-facturacion/card-info-facturacion.component.mjs +0 -43
- package/esm2022/lib/card-info-facturacion/index.mjs +0 -2
- package/esm2022/lib/card-list-consumo/card-list-consumo.component.mjs +0 -39
- package/esm2022/lib/card-list-consumo/index.mjs +0 -2
- package/esm2022/lib/card-list-drag-on/card-list-drag-on.component.mjs +0 -84
- package/esm2022/lib/card-list-drag-on/index.mjs +0 -2
- package/esm2022/lib/card-list-movimientos/card-list-movimientos.component.mjs +0 -43
- package/esm2022/lib/card-list-movimientos/index.mjs +0 -2
- package/esm2022/lib/card-list-proceso/card-list-proceso.component.mjs +0 -44
- package/esm2022/lib/card-list-proceso/index.mjs +0 -2
- package/esm2022/lib/card-log/card-log.component.mjs +0 -36
- package/esm2022/lib/card-log/index.mjs +0 -2
- package/esm2022/lib/card-plan-small/card-plan-small.component.mjs +0 -18
- package/esm2022/lib/card-plan-small/index.mjs +0 -2
- package/esm2022/lib/card-plan-subscription/card-plan-subscription.component.mjs +0 -55
- package/esm2022/lib/card-plan-subscription/index.mjs +0 -2
- package/esm2022/lib/card-ticket/card-ticket.component.mjs +0 -54
- package/esm2022/lib/card-ticket/index.mjs +0 -2
- package/esm2022/lib/card-tipo-proceso/card-tipo-proceso.component.mjs +0 -67
- package/esm2022/lib/card-tipo-proceso/index.mjs +0 -2
- package/esm2022/lib/card-uso-plan/card-uso-plan.component.mjs +0 -43
- package/esm2022/lib/card-uso-plan/index.mjs +0 -2
- package/esm2022/lib/categories/categories.component.mjs +0 -43
- package/esm2022/lib/categories/index.mjs +0 -2
- package/esm2022/lib/charts-bar-grouped/charts-bar-grouped.component.mjs +0 -238
- package/esm2022/lib/charts-bar-grouped/index.mjs +0 -2
- package/esm2022/lib/charts-donut/charts-donut.component.mjs +0 -137
- package/esm2022/lib/charts-donut/index.mjs +0 -2
- package/esm2022/lib/checkbox/checkbox.component.mjs +0 -31
- package/esm2022/lib/checkbox/index.mjs +0 -2
- package/esm2022/lib/checkbox-radio/checkbox-radio.component.mjs +0 -74
- package/esm2022/lib/checkbox-radio/index.mjs +0 -2
- package/esm2022/lib/chip/chip.component.mjs +0 -33
- package/esm2022/lib/chip/index.mjs +0 -2
- package/esm2022/lib/chip-user/chip-user.component.mjs +0 -30
- package/esm2022/lib/chip-user/index.mjs +0 -2
- package/esm2022/lib/create-ticket/create-ticket.component.mjs +0 -101
- package/esm2022/lib/create-ticket/index.mjs +0 -2
- package/esm2022/lib/custom-dropdown/custom-dropdown.component.mjs +0 -264
- package/esm2022/lib/custom-dropdown/index.mjs +0 -2
- package/esm2022/lib/date-hour-picker/date-hour-picker.component.mjs +0 -362
- package/esm2022/lib/date-hour-picker/index.mjs +0 -2
- package/esm2022/lib/date-picker/date-picker.component.mjs +0 -161
- package/esm2022/lib/date-picker/index.mjs +0 -2
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +0 -52
- package/esm2022/lib/directives/popover.directive.mjs +0 -170
- package/esm2022/lib/double-date-picker/double-date-picker.component.mjs +0 -230
- package/esm2022/lib/double-date-picker/index.mjs +0 -2
- package/esm2022/lib/drawer-container-right/drawer-container-right.component.mjs +0 -71
- package/esm2022/lib/drawer-container-right/index.mjs +0 -2
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -77
- package/esm2022/lib/dropdown/index.mjs +0 -2
- package/esm2022/lib/dropdown-contextual-menu/dropdown-contextual-menu.component.mjs +0 -11
- package/esm2022/lib/dropdown-contextual-menu/index.mjs +0 -2
- package/esm2022/lib/dropdown-option-item/dropdown-option-item.component.mjs +0 -37
- package/esm2022/lib/dropdown-option-item/index.mjs +0 -2
- package/esm2022/lib/dropdown-user-menu/dropdown-user-menu.component.mjs +0 -64
- package/esm2022/lib/dropdown-user-menu/index.mjs +0 -2
- package/esm2022/lib/empty-list/empty-list.component.mjs +0 -22
- package/esm2022/lib/empty-list/index.mjs +0 -2
- package/esm2022/lib/filter-item/filter-item.component.mjs +0 -28
- package/esm2022/lib/filter-item/index.mjs +0 -2
- package/esm2022/lib/icon-lg/icon-lg.component.mjs +0 -29
- package/esm2022/lib/icon-lg/index.mjs +0 -2
- package/esm2022/lib/icon-md/icon-md.component.mjs +0 -29
- package/esm2022/lib/icon-md/index.mjs +0 -2
- package/esm2022/lib/icon-sm/icon-sm.component.mjs +0 -29
- package/esm2022/lib/icon-sm/index.mjs +0 -2
- package/esm2022/lib/icon-xl/icon-xl.component.mjs +0 -29
- package/esm2022/lib/icon-xl/index.mjs +0 -2
- package/esm2022/lib/icon-xs/icon-xs.component.mjs +0 -29
- package/esm2022/lib/icon-xs/index.mjs +0 -2
- package/esm2022/lib/icon-xxl/icon-xxl.component.mjs +0 -29
- package/esm2022/lib/icon-xxl/index.mjs +0 -2
- package/esm2022/lib/icons/icons-map.mjs +0 -1164
- package/esm2022/lib/input-card/index.mjs +0 -2
- package/esm2022/lib/input-card/input-card.component.mjs +0 -158
- package/esm2022/lib/input-large/index.mjs +0 -2
- package/esm2022/lib/input-large/input-large.component.mjs +0 -98
- package/esm2022/lib/input-otp/index.mjs +0 -2
- package/esm2022/lib/input-otp/input-otp.component.mjs +0 -173
- package/esm2022/lib/input-password/index.mjs +0 -2
- package/esm2022/lib/input-password/input-password.component.mjs +0 -91
- package/esm2022/lib/input-select/index.mjs +0 -2
- package/esm2022/lib/input-select/input-select.component.mjs +0 -237
- package/esm2022/lib/input-select-filter/index.mjs +0 -2
- package/esm2022/lib/input-select-filter/input-select-filter.component.mjs +0 -202
- package/esm2022/lib/input-select-number/index.mjs +0 -2
- package/esm2022/lib/input-select-number/input-select-number.component.mjs +0 -68
- package/esm2022/lib/input-textfield/index.mjs +0 -2
- package/esm2022/lib/input-textfield/input-textfield.component.mjs +0 -143
- package/esm2022/lib/item-document/index.mjs +0 -2
- package/esm2022/lib/item-document/item-document.component.mjs +0 -61
- package/esm2022/lib/linear-progress-bar/index.mjs +0 -2
- package/esm2022/lib/linear-progress-bar/linear-progress-bar.component.mjs +0 -16
- package/esm2022/lib/loading-circle/index.mjs +0 -2
- package/esm2022/lib/loading-circle/loading-circle.component.mjs +0 -17
- package/esm2022/lib/loading-component-dynamic/index.mjs +0 -2
- package/esm2022/lib/loading-component-dynamic/loading-component-dynamic.component.mjs +0 -63
- package/esm2022/lib/menu-item/index.mjs +0 -2
- package/esm2022/lib/menu-item/menu-item.component.mjs +0 -62
- package/esm2022/lib/nav-rail/index.mjs +0 -2
- package/esm2022/lib/nav-rail/nav-rail.component.mjs +0 -53
- package/esm2022/lib/notification-card/index.mjs +0 -2
- package/esm2022/lib/notification-card/notification-card.component.mjs +0 -107
- package/esm2022/lib/notifications/index.mjs +0 -2
- package/esm2022/lib/notifications/notifications.component.mjs +0 -167
- package/esm2022/lib/option/index.mjs +0 -2
- package/esm2022/lib/option/option.component.mjs +0 -38
- package/esm2022/lib/option-item/index.mjs +0 -2
- package/esm2022/lib/option-item/option-item.component.mjs +0 -36
- package/esm2022/lib/page-not-found/index.mjs +0 -2
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +0 -28
- package/esm2022/lib/popover/popover.component.mjs +0 -30
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -117
- package/esm2022/lib/search-bar/index.mjs +0 -2
- package/esm2022/lib/search-bar/search-bar.component.mjs +0 -79
- package/esm2022/lib/section-collapse-drawer-child/index.mjs +0 -2
- package/esm2022/lib/section-collapse-drawer-child/section-collapse-drawer-child.component.mjs +0 -79
- package/esm2022/lib/section-collapse-drawer-parent/index.mjs +0 -2
- package/esm2022/lib/section-collapse-drawer-parent/section-collapse-drawer-parent.component.mjs +0 -79
- package/esm2022/lib/segment/index.mjs +0 -2
- package/esm2022/lib/segment/segment.component.mjs +0 -43
- package/esm2022/lib/simple-card-contador/index.mjs +0 -2
- package/esm2022/lib/simple-card-contador/simple-card-contador.component.mjs +0 -53
- package/esm2022/lib/simple-chip/index.mjs +0 -2
- package/esm2022/lib/simple-chip/simple-chip.component.mjs +0 -38
- package/esm2022/lib/simple-divider/index.mjs +0 -2
- package/esm2022/lib/simple-divider/simple-divider.component.mjs +0 -11
- package/esm2022/lib/simple-user-card/index.mjs +0 -2
- package/esm2022/lib/simple-user-card/simple-user-card.component.mjs +0 -17
- package/esm2022/lib/slide-toggle/index.mjs +0 -2
- package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +0 -26
- package/esm2022/lib/snackbar/index.mjs +0 -2
- package/esm2022/lib/snackbar/snackbar.component.mjs +0 -40
- package/esm2022/lib/support-panel/index.mjs +0 -2
- package/esm2022/lib/support-panel/support-panel.component.mjs +0 -45
- package/esm2022/lib/toolbar/index.mjs +0 -2
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -376
- package/esm2022/lib/toolbar-user-menu/index.mjs +0 -2
- package/esm2022/lib/toolbar-user-menu/toolbar-user-menu.component.mjs +0 -139
- package/esm2022/lib/user-card/index.mjs +0 -2
- package/esm2022/lib/user-card/user-card.component.mjs +0 -88
- package/esm2022/litigiovirtual-ius-design-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -102
- package/esm2022/utils/currency-format.pipe.mjs +0 -95
- package/esm2022/utils/date-format.util.mjs +0 -73
- package/esm2022/utils/file-mime.util.mjs +0 -22
- package/esm2022/utils/file-size.util.mjs +0 -11
- package/esm2022/utils/formato-hora.pipe.mjs +0 -44
- package/esm2022/utils/list-filter.util.mjs +0 -77
- package/esm2022/utils/litigiovirtual-ius-design-components-utils.mjs +0 -5
- package/esm2022/utils/public-api.mjs +0 -16
- package/index.d.ts +0 -5
- package/lib/add-user-container/add-user-container.component.d.ts +0 -22
- package/lib/add-user-container/index.d.ts +0 -1
- package/lib/alert/alert.component.d.ts +0 -22
- package/lib/alert/index.d.ts +0 -1
- package/lib/avatar-business/avatar-business.component.d.ts +0 -16
- package/lib/avatar-business/index.d.ts +0 -1
- package/lib/avatar-icon/avatar-icon.component.d.ts +0 -10
- package/lib/avatar-icon/index.d.ts +0 -1
- package/lib/avatar-v2/avatar-v2.component.d.ts +0 -26
- package/lib/avatar-v2/index.d.ts +0 -1
- package/lib/badge/badge.component.d.ts +0 -7
- package/lib/badge/index.d.ts +0 -1
- package/lib/breadcrumb/breadcrumb.component.d.ts +0 -16
- package/lib/breadcrumb/index.d.ts +0 -1
- package/lib/button-accounts/button-accounts.component.d.ts +0 -28
- package/lib/button-accounts/index.d.ts +0 -1
- package/lib/button-auth/button-auth.component.d.ts +0 -24
- package/lib/button-auth/index.d.ts +0 -1
- package/lib/button-circle-secondary/button-circle-secondary.component.d.ts +0 -10
- package/lib/button-circle-secondary/index.d.ts +0 -1
- package/lib/button-circle-tertiary/button-circle-tertiary.component.d.ts +0 -10
- package/lib/button-circle-tertiary/index.d.ts +0 -1
- package/lib/button-dynamic/button-dynamic.component.d.ts +0 -30
- package/lib/button-dynamic/index.d.ts +0 -1
- package/lib/button-filter/button-filter.component.d.ts +0 -25
- package/lib/button-filter/index.d.ts +0 -1
- package/lib/button-menu-link/button-menu-link.component.d.ts +0 -11
- package/lib/button-menu-link/index.d.ts +0 -1
- package/lib/button-order/button-order.component.d.ts +0 -29
- package/lib/button-order/index.d.ts +0 -1
- package/lib/button-squared-secondary/button-squared-secondary.component.d.ts +0 -10
- package/lib/button-squared-secondary/index.d.ts +0 -1
- package/lib/button-squared-tertiary/button-squared-tertiary.component.d.ts +0 -10
- package/lib/button-squared-tertiary/index.d.ts +0 -1
- package/lib/button-standard-outline/button-standard-outline.component.d.ts +0 -12
- package/lib/button-standard-outline/index.d.ts +0 -1
- package/lib/button-standard-primary/button-standard-primary.component.d.ts +0 -12
- package/lib/button-standard-primary/index.d.ts +0 -1
- package/lib/button-standard-secondary/button-standard-secondary.component.d.ts +0 -9
- package/lib/button-standard-secondary/index.d.ts +0 -1
- package/lib/button-standard-tertiary/button-standard-tertiary.component.d.ts +0 -12
- package/lib/button-standard-tertiary/index.d.ts +0 -1
- package/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.d.ts +0 -12
- package/lib/button-standard-tertiary-small/index.d.ts +0 -1
- package/lib/calification/calification.component.d.ts +0 -14
- package/lib/calification/index.d.ts +0 -1
- package/lib/card-agenda-judicial/card-agenda-judicial.component.d.ts +0 -20
- package/lib/card-agenda-judicial/index.d.ts +0 -1
- package/lib/card-block/card-block.component.d.ts +0 -23
- package/lib/card-block/index.d.ts +0 -1
- package/lib/card-button-checkbox/card-button-checkbox.component.d.ts +0 -14
- package/lib/card-button-checkbox/index.d.ts +0 -1
- package/lib/card-collapse-detalle-proceso/card-collapse-detalle-proceso.component.d.ts +0 -13
- package/lib/card-collapse-detalle-proceso/index.d.ts +0 -1
- package/lib/card-dynamic-content/card-dynamic-content.component.d.ts +0 -7
- package/lib/card-dynamic-content/index.d.ts +0 -1
- package/lib/card-gestion-cupo/card-gestion-cupo.component.d.ts +0 -12
- package/lib/card-gestion-cupo/index.d.ts +0 -1
- package/lib/card-info-facturacion/card-info-facturacion.component.d.ts +0 -19
- package/lib/card-info-facturacion/index.d.ts +0 -1
- package/lib/card-list-consumo/card-list-consumo.component.d.ts +0 -16
- package/lib/card-list-consumo/index.d.ts +0 -1
- package/lib/card-list-drag-on/card-list-drag-on.component.d.ts +0 -28
- package/lib/card-list-drag-on/index.d.ts +0 -1
- package/lib/card-list-movimientos/card-list-movimientos.component.d.ts +0 -16
- package/lib/card-list-movimientos/index.d.ts +0 -1
- package/lib/card-list-proceso/card-list-proceso.component.d.ts +0 -19
- package/lib/card-list-proceso/index.d.ts +0 -1
- package/lib/card-log/card-log.component.d.ts +0 -18
- package/lib/card-log/index.d.ts +0 -1
- package/lib/card-plan-small/card-plan-small.component.d.ts +0 -8
- package/lib/card-plan-small/index.d.ts +0 -1
- package/lib/card-plan-subscription/card-plan-subscription.component.d.ts +0 -23
- package/lib/card-plan-subscription/index.d.ts +0 -1
- package/lib/card-ticket/card-ticket.component.d.ts +0 -22
- package/lib/card-ticket/index.d.ts +0 -1
- package/lib/card-tipo-proceso/card-tipo-proceso.component.d.ts +0 -25
- package/lib/card-tipo-proceso/index.d.ts +0 -1
- package/lib/card-uso-plan/card-uso-plan.component.d.ts +0 -19
- package/lib/card-uso-plan/index.d.ts +0 -1
- package/lib/categories/categories.component.d.ts +0 -14
- package/lib/categories/index.d.ts +0 -1
- package/lib/charts-bar-grouped/charts-bar-grouped.component.d.ts +0 -98
- package/lib/charts-bar-grouped/index.d.ts +0 -1
- package/lib/charts-donut/charts-donut.component.d.ts +0 -47
- package/lib/charts-donut/index.d.ts +0 -1
- package/lib/checkbox/checkbox.component.d.ts +0 -10
- package/lib/checkbox/index.d.ts +0 -1
- package/lib/checkbox-radio/checkbox-radio.component.d.ts +0 -20
- package/lib/checkbox-radio/index.d.ts +0 -1
- package/lib/chip/chip.component.d.ts +0 -11
- package/lib/chip/index.d.ts +0 -1
- package/lib/chip-user/chip-user.component.d.ts +0 -12
- package/lib/chip-user/index.d.ts +0 -1
- package/lib/create-ticket/create-ticket.component.d.ts +0 -57
- package/lib/create-ticket/index.d.ts +0 -1
- package/lib/custom-dropdown/custom-dropdown.component.d.ts +0 -60
- package/lib/custom-dropdown/index.d.ts +0 -1
- package/lib/date-hour-picker/date-hour-picker.component.d.ts +0 -73
- package/lib/date-hour-picker/index.d.ts +0 -1
- package/lib/date-picker/date-picker.component.d.ts +0 -42
- package/lib/date-picker/index.d.ts +0 -1
- package/lib/directives/infinite-scroll.directive.d.ts +0 -15
- package/lib/directives/popover.directive.d.ts +0 -41
- package/lib/double-date-picker/double-date-picker.component.d.ts +0 -57
- package/lib/double-date-picker/index.d.ts +0 -1
- package/lib/drawer-container-right/drawer-container-right.component.d.ts +0 -13
- package/lib/drawer-container-right/index.d.ts +0 -1
- package/lib/dropdown/dropdown.component.d.ts +0 -28
- package/lib/dropdown/index.d.ts +0 -1
- package/lib/dropdown-contextual-menu/dropdown-contextual-menu.component.d.ts +0 -5
- package/lib/dropdown-contextual-menu/index.d.ts +0 -1
- package/lib/dropdown-option-item/dropdown-option-item.component.d.ts +0 -15
- package/lib/dropdown-option-item/index.d.ts +0 -1
- package/lib/dropdown-user-menu/dropdown-user-menu.component.d.ts +0 -20
- package/lib/dropdown-user-menu/index.d.ts +0 -1
- package/lib/empty-list/empty-list.component.d.ts +0 -8
- package/lib/empty-list/index.d.ts +0 -1
- package/lib/filter-item/filter-item.component.d.ts +0 -10
- package/lib/filter-item/index.d.ts +0 -1
- package/lib/icon-lg/icon-lg.component.d.ts +0 -12
- package/lib/icon-lg/index.d.ts +0 -1
- package/lib/icon-md/icon-md.component.d.ts +0 -12
- package/lib/icon-md/index.d.ts +0 -1
- package/lib/icon-sm/icon-sm.component.d.ts +0 -13
- package/lib/icon-sm/index.d.ts +0 -1
- package/lib/icon-xl/icon-xl.component.d.ts +0 -12
- package/lib/icon-xl/index.d.ts +0 -1
- package/lib/icon-xs/icon-xs.component.d.ts +0 -12
- package/lib/icon-xs/index.d.ts +0 -1
- package/lib/icon-xxl/icon-xxl.component.d.ts +0 -12
- package/lib/icon-xxl/index.d.ts +0 -1
- package/lib/icons/icons-map.d.ts +0 -1
- package/lib/input-card/index.d.ts +0 -1
- package/lib/input-card/input-card.component.d.ts +0 -43
- package/lib/input-large/index.d.ts +0 -1
- package/lib/input-large/input-large.component.d.ts +0 -30
- package/lib/input-otp/index.d.ts +0 -1
- package/lib/input-otp/input-otp.component.d.ts +0 -34
- package/lib/input-password/index.d.ts +0 -1
- package/lib/input-password/input-password.component.d.ts +0 -29
- package/lib/input-select/index.d.ts +0 -1
- package/lib/input-select/input-select.component.d.ts +0 -55
- package/lib/input-select-filter/index.d.ts +0 -1
- package/lib/input-select-filter/input-select-filter.component.d.ts +0 -62
- package/lib/input-select-number/index.d.ts +0 -1
- package/lib/input-select-number/input-select-number.component.d.ts +0 -18
- package/lib/input-textfield/index.d.ts +0 -1
- package/lib/input-textfield/input-textfield.component.d.ts +0 -36
- package/lib/item-document/index.d.ts +0 -1
- package/lib/item-document/item-document.component.d.ts +0 -19
- package/lib/linear-progress-bar/index.d.ts +0 -1
- package/lib/linear-progress-bar/linear-progress-bar.component.d.ts +0 -6
- package/lib/loading-circle/index.d.ts +0 -1
- package/lib/loading-circle/loading-circle.component.d.ts +0 -6
- package/lib/loading-component-dynamic/index.d.ts +0 -1
- package/lib/loading-component-dynamic/loading-component-dynamic.component.d.ts +0 -22
- package/lib/menu-item/index.d.ts +0 -1
- package/lib/menu-item/menu-item.component.d.ts +0 -19
- package/lib/nav-rail/index.d.ts +0 -1
- package/lib/nav-rail/nav-rail.component.d.ts +0 -10
- package/lib/notification-card/index.d.ts +0 -1
- package/lib/notification-card/notification-card.component.d.ts +0 -37
- package/lib/notifications/index.d.ts +0 -1
- package/lib/notifications/notifications.component.d.ts +0 -30
- package/lib/option/index.d.ts +0 -1
- package/lib/option/option.component.d.ts +0 -14
- package/lib/option-item/index.d.ts +0 -1
- package/lib/option-item/option-item.component.d.ts +0 -13
- package/lib/page-not-found/index.d.ts +0 -1
- package/lib/page-not-found/page-not-found.component.d.ts +0 -12
- package/lib/popover/popover.component.d.ts +0 -10
- package/lib/progress-bar/progress-bar.component.d.ts +0 -43
- package/lib/search-bar/index.d.ts +0 -1
- package/lib/search-bar/search-bar.component.d.ts +0 -24
- package/lib/section-collapse-drawer-child/index.d.ts +0 -1
- package/lib/section-collapse-drawer-child/section-collapse-drawer-child.component.d.ts +0 -14
- package/lib/section-collapse-drawer-parent/index.d.ts +0 -1
- package/lib/section-collapse-drawer-parent/section-collapse-drawer-parent.component.d.ts +0 -14
- package/lib/segment/index.d.ts +0 -1
- package/lib/segment/segment.component.d.ts +0 -14
- package/lib/simple-card-contador/index.d.ts +0 -1
- package/lib/simple-card-contador/simple-card-contador.component.d.ts +0 -14
- package/lib/simple-chip/index.d.ts +0 -1
- package/lib/simple-chip/simple-chip.component.d.ts +0 -13
- package/lib/simple-divider/index.d.ts +0 -1
- package/lib/simple-divider/simple-divider.component.d.ts +0 -5
- package/lib/simple-user-card/index.d.ts +0 -1
- package/lib/simple-user-card/simple-user-card.component.d.ts +0 -8
- package/lib/slide-toggle/index.d.ts +0 -1
- package/lib/slide-toggle/slide-toggle.component.d.ts +0 -10
- package/lib/snackbar/index.d.ts +0 -1
- package/lib/snackbar/snackbar.component.d.ts +0 -16
- package/lib/support-panel/index.d.ts +0 -1
- package/lib/support-panel/support-panel.component.d.ts +0 -17
- package/lib/toolbar/index.d.ts +0 -1
- package/lib/toolbar/toolbar.component.d.ts +0 -145
- package/lib/toolbar-user-menu/index.d.ts +0 -1
- package/lib/toolbar-user-menu/toolbar-user-menu.component.d.ts +0 -45
- package/lib/user-card/index.d.ts +0 -1
- package/lib/user-card/user-card.component.d.ts +0 -33
- package/public-api.d.ts +0 -100
- package/utils/currency-format.pipe.d.ts +0 -29
- package/utils/date-format.util.d.ts +0 -20
- package/utils/file-mime.util.d.ts +0 -8
- package/utils/file-size.util.d.ts +0 -8
- package/utils/formato-hora.pipe.d.ts +0 -14
- package/utils/index.d.ts +0 -5
- package/utils/list-filter.util.d.ts +0 -46
- package/utils/public-api.d.ts +0 -6
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
// ============================================================
|
|
4
|
-
// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.
|
|
5
|
-
//
|
|
6
|
-
// En un input controlado:
|
|
7
|
-
// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }
|
|
8
|
-
// from '@litigiovirtual/ius-design-components/utils';
|
|
9
|
-
//
|
|
10
|
-
// onChange(event: string) {
|
|
11
|
-
// const { rawStr, intPart, decPart } = parseCurrencyInput(event);
|
|
12
|
-
// this.valorRaw = rawStr;
|
|
13
|
-
// this.display = buildCurrencyDisplay(intPart, decPart);
|
|
14
|
-
// }
|
|
15
|
-
// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }
|
|
16
|
-
// ============================================================
|
|
17
|
-
/**
|
|
18
|
-
* Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).
|
|
19
|
-
* - rawStr: string con punto decimal para cálculos JS ("150000.50")
|
|
20
|
-
* - intPart: parte entera sin formato ("150000")
|
|
21
|
-
* - decPart: parte decimal tal como la escribió el usuario ("50") o null si no hay coma
|
|
22
|
-
*/
|
|
23
|
-
export function parseCurrencyInput(display) {
|
|
24
|
-
const stripped = display.replace(/\./g, '').replace(/[^0-9,]/g, '');
|
|
25
|
-
const commaIndex = stripped.indexOf(',');
|
|
26
|
-
const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;
|
|
27
|
-
const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;
|
|
28
|
-
const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;
|
|
29
|
-
return { rawStr, intPart, decPart };
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal
|
|
33
|
-
* exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.
|
|
34
|
-
*/
|
|
35
|
-
export function buildCurrencyDisplay(intPart, decPart) {
|
|
36
|
-
if (!intPart && decPart === null)
|
|
37
|
-
return '';
|
|
38
|
-
const intNum = intPart ? parseInt(intPart, 10) : 0;
|
|
39
|
-
const formattedInt = isNaN(intNum)
|
|
40
|
-
? intPart
|
|
41
|
-
: new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);
|
|
42
|
-
return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Formatea el valor raw al salir del campo (blur): completa decimales si los hay.
|
|
46
|
-
* formatCurrencyOnBlur('150000.5') → "150.000,50"
|
|
47
|
-
* formatCurrencyOnBlur('150000') → "150.000"
|
|
48
|
-
*/
|
|
49
|
-
export function formatCurrencyOnBlur(rawValue) {
|
|
50
|
-
if (!rawValue)
|
|
51
|
-
return '';
|
|
52
|
-
const num = parseFloat(rawValue);
|
|
53
|
-
if (isNaN(num) || num <= 0)
|
|
54
|
-
return rawValue;
|
|
55
|
-
return new Intl.NumberFormat('es-CO', {
|
|
56
|
-
minimumFractionDigits: 0,
|
|
57
|
-
maximumFractionDigits: 2,
|
|
58
|
-
}).format(num);
|
|
59
|
-
}
|
|
60
|
-
// ============================================================
|
|
61
|
-
// Pipe para mostrar valores en templates
|
|
62
|
-
// {{ 150000 | currencyFormat }} → "150.000"
|
|
63
|
-
// {{ 150000.5 | currencyFormat }} → "150.000,5"
|
|
64
|
-
// {{ 150000 | currencyFormat: true }} → "$ 150.000" (símbolo COP)
|
|
65
|
-
// ============================================================
|
|
66
|
-
export class CurrencyFormatPipe {
|
|
67
|
-
transform(value, showSymbol = false, currencyCode = 'COP', locale = 'es-CO') {
|
|
68
|
-
if (value === null || value === undefined || value === '')
|
|
69
|
-
return '';
|
|
70
|
-
const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;
|
|
71
|
-
if (isNaN(num))
|
|
72
|
-
return String(value);
|
|
73
|
-
try {
|
|
74
|
-
return new Intl.NumberFormat(locale, {
|
|
75
|
-
style: showSymbol ? 'currency' : 'decimal',
|
|
76
|
-
currency: showSymbol ? currencyCode : undefined,
|
|
77
|
-
minimumFractionDigits: 0,
|
|
78
|
-
maximumFractionDigits: 2,
|
|
79
|
-
}).format(num);
|
|
80
|
-
}
|
|
81
|
-
catch {
|
|
82
|
-
return num.toString();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
86
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CurrencyFormatPipe, isStandalone: true, name: "currencyFormat" }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyFormatPipe, decorators: [{
|
|
89
|
-
type: Pipe,
|
|
90
|
-
args: [{
|
|
91
|
-
name: 'currencyFormat',
|
|
92
|
-
standalone: true,
|
|
93
|
-
}]
|
|
94
|
-
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2N1cnJlbmN5LWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRCwrREFBK0Q7QUFDL0QsbUZBQW1GO0FBQ25GLEVBQUU7QUFDRiwwQkFBMEI7QUFDMUIsOEVBQThFO0FBQzlFLDBEQUEwRDtBQUMxRCxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHNFQUFzRTtBQUN0RSw4QkFBOEI7QUFDOUIsNkRBQTZEO0FBQzdELE1BQU07QUFDTixxRUFBcUU7QUFDckUsK0RBQStEO0FBRS9EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQWU7SUFLaEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDM0UsTUFBTSxPQUFPLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBZSxFQUFFLE9BQXNCO0lBQzFFLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFLLElBQUk7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxPQUFPO1FBQ1QsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUcsT0FBTyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQ3hFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdCO0lBQ25ELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDekIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDNUMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFO1FBQ3BDLHFCQUFxQixFQUFFLENBQUM7UUFDeEIscUJBQXFCLEVBQUUsQ0FBQztLQUN6QixDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFFRCwrREFBK0Q7QUFDL0QseUNBQXlDO0FBQ3pDLHFEQUFxRDtBQUNyRCx1REFBdUQ7QUFDdkQscUVBQXFFO0FBQ3JFLCtEQUErRDtBQUsvRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFNBQVMsQ0FDUCxLQUF5QyxFQUN6QyxVQUFVLEdBQUcsS0FBSyxFQUNsQixZQUFZLEdBQUcsS0FBSyxFQUNwQixNQUFNLEdBQUcsT0FBTztRQUVoQixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXJFLE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVwRixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ25DLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDMUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUMvQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUN4QixxQkFBcUIsRUFBRSxDQUFDO2FBQ3pCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOytHQXZCVSxrQkFBa0I7NkdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVXRpbGlkYWRlcyBkZSBtb25lZGEgKGxvY2FsZSBlcy1DTyBwb3IgZGVmZWN0bykuIFJldXRpbGl6YWJsZXMgZW4gY3VhbHF1aWVyIGFwcC5cbi8vXG4vLyBFbiB1biBpbnB1dCBjb250cm9sYWRvOlxuLy8gICBpbXBvcnQgeyBwYXJzZUN1cnJlbmN5SW5wdXQsIGJ1aWxkQ3VycmVuY3lEaXNwbGF5LCBmb3JtYXRDdXJyZW5jeU9uQmx1ciB9XG4vLyAgICAgZnJvbSAnQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscyc7XG4vL1xuLy8gICBvbkNoYW5nZShldmVudDogc3RyaW5nKSB7XG4vLyAgICAgY29uc3QgeyByYXdTdHIsIGludFBhcnQsIGRlY1BhcnQgfSA9IHBhcnNlQ3VycmVuY3lJbnB1dChldmVudCk7XG4vLyAgICAgdGhpcy52YWxvclJhdyA9IHJhd1N0cjtcbi8vICAgICB0aGlzLmRpc3BsYXkgPSBidWlsZEN1cnJlbmN5RGlzcGxheShpbnRQYXJ0LCBkZWNQYXJ0KTtcbi8vICAgfVxuLy8gICBvbkJsdXIoKSB7IHRoaXMuZGlzcGxheSA9IGZvcm1hdEN1cnJlbmN5T25CbHVyKHRoaXMudmFsb3JSYXcpOyB9XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBQYXJzZWEgbG8gcXVlIGVsIHVzdWFyaW8gZXNjcmliZSBlbiB1biBpbnB1dCBkZSBtb25lZGEgKGVzLUNPOiBwdW50byA9IG1pbGVzLCBjb21hID0gZGVjaW1hbCkuXG4gKiAgLSByYXdTdHI6IHN0cmluZyBjb24gcHVudG8gZGVjaW1hbCBwYXJhIGPDoWxjdWxvcyBKUyAoXCIxNTAwMDAuNTBcIilcbiAqICAtIGludFBhcnQ6IHBhcnRlIGVudGVyYSBzaW4gZm9ybWF0byAoXCIxNTAwMDBcIilcbiAqICAtIGRlY1BhcnQ6IHBhcnRlIGRlY2ltYWwgdGFsIGNvbW8gbGEgZXNjcmliacOzIGVsIHVzdWFyaW8gKFwiNTBcIikgbyBudWxsIHNpIG5vIGhheSBjb21hXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUN1cnJlbmN5SW5wdXQoZGlzcGxheTogc3RyaW5nKToge1xuICByYXdTdHI6IHN0cmluZztcbiAgaW50UGFydDogc3RyaW5nO1xuICBkZWNQYXJ0OiBzdHJpbmcgfCBudWxsO1xufSB7XG4gIGNvbnN0IHN0cmlwcGVkID0gZGlzcGxheS5yZXBsYWNlKC9cXC4vZywgJycpLnJlcGxhY2UoL1teMC05LF0vZywgJycpO1xuICBjb25zdCBjb21tYUluZGV4ID0gc3RyaXBwZWQuaW5kZXhPZignLCcpO1xuICBjb25zdCBpbnRQYXJ0ID0gY29tbWFJbmRleCA+PSAwID8gc3RyaXBwZWQuc2xpY2UoMCwgY29tbWFJbmRleCkgOiBzdHJpcHBlZDtcbiAgY29uc3QgZGVjUGFydCA9IGNvbW1hSW5kZXggPj0gMCA/IHN0cmlwcGVkLnNsaWNlKGNvbW1hSW5kZXggKyAxKSA6IG51bGw7XG4gIGNvbnN0IHJhd1N0ciA9IGRlY1BhcnQgIT09IG51bGwgPyBgJHtpbnRQYXJ0fS4ke2RlY1BhcnR9YCA6IGludFBhcnQ7XG4gIHJldHVybiB7IHJhd1N0ciwgaW50UGFydCwgZGVjUGFydCB9O1xufVxuXG4vKipcbiAqIEZvcm1hdGVhIGxhIHBhcnRlIGVudGVyYSBjb24gc2VwYXJhZG9yZXMgZGUgbWlsZXMgKGVzLUNPKSB5IGNvbnNlcnZhIGxhIGRlY2ltYWxcbiAqIGV4YWN0YW1lbnRlIGNvbW8gbGEgZXNjcmliacOzIGVsIHVzdWFyaW8gKHNpbiByZWRvbmRlYXIpLiBQYXJhIGFjdHVhbGl6YXIgZWwgZGlzcGxheSBhbCBlc2NyaWJpci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ3VycmVuY3lEaXNwbGF5KGludFBhcnQ6IHN0cmluZywgZGVjUGFydDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gIGlmICghaW50UGFydCAmJiBkZWNQYXJ0ID09PSBudWxsKSByZXR1cm4gJyc7XG4gIGNvbnN0IGludE51bSA9IGludFBhcnQgPyBwYXJzZUludChpbnRQYXJ0LCAxMCkgOiAwO1xuICBjb25zdCBmb3JtYXR0ZWRJbnQgPSBpc05hTihpbnROdW0pXG4gICAgPyBpbnRQYXJ0XG4gICAgOiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VzLUNPJywgeyBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KS5mb3JtYXQoaW50TnVtKTtcbiAgcmV0dXJuIGRlY1BhcnQgIT09IG51bGwgPyBgJHtmb3JtYXR0ZWRJbnR9LCR7ZGVjUGFydH1gIDogZm9ybWF0dGVkSW50O1xufVxuXG4vKipcbiAqIEZvcm1hdGVhIGVsIHZhbG9yIHJhdyBhbCBzYWxpciBkZWwgY2FtcG8gKGJsdXIpOiBjb21wbGV0YSBkZWNpbWFsZXMgc2kgbG9zIGhheS5cbiAqICAgZm9ybWF0Q3VycmVuY3lPbkJsdXIoJzE1MDAwMC41JykgIOKGkiBcIjE1MC4wMDAsNTBcIlxuICogICBmb3JtYXRDdXJyZW5jeU9uQmx1cignMTUwMDAwJykgICAg4oaSIFwiMTUwLjAwMFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeU9uQmx1cihyYXdWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFyYXdWYWx1ZSkgcmV0dXJuICcnO1xuICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KHJhd1ZhbHVlKTtcbiAgaWYgKGlzTmFOKG51bSkgfHwgbnVtIDw9IDApIHJldHVybiByYXdWYWx1ZTtcbiAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgnZXMtQ08nLCB7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgfSkuZm9ybWF0KG51bSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGlwZSBwYXJhIG1vc3RyYXIgdmFsb3JlcyBlbiB0ZW1wbGF0ZXNcbi8vICAge3sgMTUwMDAwIHwgY3VycmVuY3lGb3JtYXQgfX0gICAgICAgIOKGkiBcIjE1MC4wMDBcIlxuLy8gICB7eyAxNTAwMDAuNSB8IGN1cnJlbmN5Rm9ybWF0IH19ICAgICAg4oaSIFwiMTUwLjAwMCw1XCJcbi8vICAge3sgMTUwMDAwIHwgY3VycmVuY3lGb3JtYXQ6IHRydWUgfX0gIOKGkiBcIiQgMTUwLjAwMFwiIChzw61tYm9sbyBDT1ApXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBQaXBlKHtcbiAgbmFtZTogJ2N1cnJlbmN5Rm9ybWF0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBzaG93U3ltYm9sID0gZmFsc2UsXG4gICAgY3VycmVuY3lDb2RlID0gJ0NPUCcsXG4gICAgbG9jYWxlID0gJ2VzLUNPJyxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcblxuICAgIGNvbnN0IG51bSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBwYXJzZUZsb2F0KHZhbHVlLnJlcGxhY2UoLywvZywgJycpKSA6IHZhbHVlO1xuXG4gICAgaWYgKGlzTmFOKG51bSkpIHJldHVybiBTdHJpbmcodmFsdWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XG4gICAgICAgIHN0eWxlOiBzaG93U3ltYm9sID8gJ2N1cnJlbmN5JyA6ICdkZWNpbWFsJyxcbiAgICAgICAgY3VycmVuY3k6IHNob3dTeW1ib2wgPyBjdXJyZW5jeUNvZGUgOiB1bmRlZmluZWQsXG4gICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgfSkuZm9ybWF0KG51bSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).
|
|
3
|
-
*
|
|
4
|
-
* IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de
|
|
5
|
-
* zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según
|
|
6
|
-
* la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Convierte cualquier valor de fecha (string "yyyy-MM-dd", "yyyy-MM-ddTHH:mm:ss" o Date)
|
|
10
|
-
* a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.
|
|
11
|
-
*/
|
|
12
|
-
export function parseLocalDate(value) {
|
|
13
|
-
if (value === null || value === undefined || value === '')
|
|
14
|
-
return undefined;
|
|
15
|
-
if (value instanceof Date)
|
|
16
|
-
return isNaN(value.getTime()) ? undefined : value;
|
|
17
|
-
if (typeof value === 'string') {
|
|
18
|
-
const m = value.match(/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2}))?)?/);
|
|
19
|
-
if (m) {
|
|
20
|
-
return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));
|
|
21
|
-
}
|
|
22
|
-
const parsed = new Date(value);
|
|
23
|
-
return isNaN(parsed.getTime()) ? undefined : parsed;
|
|
24
|
-
}
|
|
25
|
-
return undefined;
|
|
26
|
-
}
|
|
27
|
-
/** Parsea evento de date-picker (ISO string, Date, "YYYY-MM-DD") a Date local. */
|
|
28
|
-
export function parseDateEvent(event) {
|
|
29
|
-
if (!event)
|
|
30
|
-
return undefined;
|
|
31
|
-
if (event instanceof Date)
|
|
32
|
-
return event;
|
|
33
|
-
if (typeof event === 'string') {
|
|
34
|
-
const match = event.match(/^(\d{4})-(\d{2})-(\d{2})/);
|
|
35
|
-
if (match) {
|
|
36
|
-
return new Date(+match[1], +match[2] - 1, +match[3]);
|
|
37
|
-
}
|
|
38
|
-
const parsed = new Date(event);
|
|
39
|
-
return isNaN(parsed.getTime()) ? undefined : parsed;
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
42
|
-
}
|
|
43
|
-
/** Parsea evento de time-picker a string "HH:mm:ss". */
|
|
44
|
-
export function parseHoraEvent(event) {
|
|
45
|
-
if (!event)
|
|
46
|
-
return undefined;
|
|
47
|
-
if (event instanceof Date)
|
|
48
|
-
return toTimeOnlyString(event);
|
|
49
|
-
if (typeof event === 'string') {
|
|
50
|
-
const trimmed = event.trim();
|
|
51
|
-
if (/^\d{2}:\d{2}(:\d{2})?$/.test(trimmed)) {
|
|
52
|
-
return trimmed.length === 5 ? `${trimmed}:00` : trimmed;
|
|
53
|
-
}
|
|
54
|
-
const parsed = new Date(event);
|
|
55
|
-
return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);
|
|
56
|
-
}
|
|
57
|
-
return undefined;
|
|
58
|
-
}
|
|
59
|
-
/** Date -> "yyyy-MM-dd" en hora local (formato DateOnly C#). */
|
|
60
|
-
export function toDateOnlyString(d) {
|
|
61
|
-
const y = d.getFullYear();
|
|
62
|
-
const m = (d.getMonth() + 1).toString().padStart(2, '0');
|
|
63
|
-
const dd = d.getDate().toString().padStart(2, '0');
|
|
64
|
-
return `${y}-${m}-${dd}`;
|
|
65
|
-
}
|
|
66
|
-
/** Date -> "HH:mm:ss" en hora local (formato TimeOnly C#). */
|
|
67
|
-
export function toTimeOnlyString(d) {
|
|
68
|
-
const h = d.getHours().toString().padStart(2, '0');
|
|
69
|
-
const min = d.getMinutes().toString().padStart(2, '0');
|
|
70
|
-
const s = d.getSeconds().toString().padStart(2, '0');
|
|
71
|
-
return `${h}:${min}:${s}`;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvZGF0ZS1mb3JtYXQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVU7SUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxJQUFJLEtBQUssWUFBWSxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixP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SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSGVscGVycyBkZSBmZWNoYS9ob3JhIHBhcmEgaW5wdXRzIEFuZ3VsYXIg4oaUIGJhY2tlbmQgKERhdGVPbmx5IC8gVGltZU9ubHkgZGUgQyMpLlxuICpcbiAqIElNUE9SVEFOVEU6IHNlIHVzYSBTSUVNUFJFIGVsIGNvbnN0cnVjdG9yIGxvY2FsIERhdGUoeSwgbSwgZCkgcGFyYSBldml0YXIgZWwgc2hpZnQgZGVcbiAqIHpvbmEgaG9yYXJpYS4gbmV3IERhdGUoJ3l5eXktTU0tZGQnKSBzZSBpbnRlcnByZXRhIGNvbW8gVVRDIHkgcHVlZGUgc2FsdGFyIHVuIGTDrWEgc2Vnw7puXG4gKiBsYSB6b25hOyBlc3RvcyBoZWxwZXJzIHJlY29uc3RydXllbiBsYSBmZWNoYSBkZXNkZSBzdXMgY29tcG9uZW50ZXMgKGhvcmEgbG9jYWwpLlxuICovXG5cbi8qKlxuICogQ29udmllcnRlIGN1YWxxdWllciB2YWxvciBkZSBmZWNoYSAoc3RyaW5nIFwieXl5eS1NTS1kZFwiLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIiBvIERhdGUpXG4gKiBhIERhdGUgZW4gaG9yYSBMT0NBTC4gRGV2dWVsdmUgdW5kZWZpbmVkIHNpIGVzIHZhY8Otby8gaW52w6FsaWRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMb2NhbERhdGUodmFsdWU6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBpc05hTih2YWx1ZS5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbSA9IHZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkoPzpbVCBdKFxcZHsyfSk6KFxcZHsyfSkoPzo6KFxcZHsyfSkpPyk/Lyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgrbVsxXSwgK21bMl0gLSAxLCArbVszXSwgKyhtWzRdID8/IDApLCArKG1bNV0gPz8gMCksICsobVs2XSA/PyAwKSk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBwYXJzZWQ7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIFBhcnNlYSBldmVudG8gZGUgZGF0ZS1waWNrZXIgKElTTyBzdHJpbmcsIERhdGUsIFwiWVlZWS1NTS1ERFwiKSBhIERhdGUgbG9jYWwuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRXZlbnQoZXZlbnQ6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAoIWV2ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gZXZlbnQ7XG4gIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBldmVudC5tYXRjaCgvXihcXGR7NH0pLShcXGR7Mn0pLShcXGR7Mn0pLyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoK21hdGNoWzFdLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbM10pO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShldmVudCk7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogcGFyc2VkO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBQYXJzZWEgZXZlbnRvIGRlIHRpbWUtcGlja2VyIGEgc3RyaW5nIFwiSEg6bW06c3NcIi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUhvcmFFdmVudChldmVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFldmVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHRvVGltZU9ubHlTdHJpbmcoZXZlbnQpO1xuICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBldmVudC50cmltKCk7XG4gICAgaWYgKC9eXFxkezJ9OlxcZHsyfSg6XFxkezJ9KT8kLy50ZXN0KHRyaW1tZWQpKSB7XG4gICAgICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPT09IDUgPyBgJHt0cmltbWVkfTowMGAgOiB0cmltbWVkO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShldmVudCk7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdG9UaW1lT25seVN0cmluZyhwYXJzZWQpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBEYXRlIC0+IFwieXl5eS1NTS1kZFwiIGVuIGhvcmEgbG9jYWwgKGZvcm1hdG8gRGF0ZU9ubHkgQyMpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XG4gIGNvbnN0IHkgPSBkLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IG0gPSAoZC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBkZCA9IGQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke3l9LSR7bX0tJHtkZH1gO1xufVxuXG4vKiogRGF0ZSAtPiBcIkhIOm1tOnNzXCIgZW4gaG9yYSBsb2NhbCAoZm9ybWF0byBUaW1lT25seSBDIykuICovXG5leHBvcnQgZnVuY3Rpb24gdG9UaW1lT25seVN0cmluZyhkOiBEYXRlKTogc3RyaW5nIHtcbiAgY29uc3QgaCA9IGQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IG1pbiA9IGQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgY29uc3QgcyA9IGQuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke2h9OiR7bWlufToke3N9YDtcbn1cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Infiere el MIME type a partir de la extensión del nombre de archivo.
|
|
3
|
-
*
|
|
4
|
-
* Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI
|
|
5
|
-
* necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).
|
|
6
|
-
* Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).
|
|
7
|
-
*/
|
|
8
|
-
export function inferMimeTypeFromName(fileName) {
|
|
9
|
-
if (!fileName)
|
|
10
|
-
return '';
|
|
11
|
-
const ext = fileName.split('.').pop()?.toLowerCase();
|
|
12
|
-
switch (ext) {
|
|
13
|
-
case 'pdf': return 'application/pdf';
|
|
14
|
-
case 'jpg':
|
|
15
|
-
case 'jpeg': return 'image/jpeg';
|
|
16
|
-
case 'png': return 'image/png';
|
|
17
|
-
case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
|
|
18
|
-
case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
19
|
-
default: return '';
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1taW1lLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtbWltZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFpQjtJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztRQUNyQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUM7UUFDakMsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8seUVBQXlFLENBQUM7UUFDOUYsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbmZpZXJlIGVsIE1JTUUgdHlwZSBhIHBhcnRpciBkZSBsYSBleHRlbnNpw7NuIGRlbCBub21icmUgZGUgYXJjaGl2by5cbiAqXG4gKiDDmnRpbCBjdWFuZG8gZWwgYmFja2VuZCBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcGVybyBubyBzdSBNSU1FIHR5cGUsIHkgbGEgVUlcbiAqIG5lY2VzaXRhIHVubyBwYXJhIGRlY2lkaXIgw61jb25vL3Zpc29yIChlai4gZGlzdGluZ3VpciBQREYgZGUgV29yZC9FeGNlbC9pbWFnZW4pLlxuICogUGFyYSBhcmNoaXZvcyBOVUVWT1Mgc3ViaWRvcyBwb3IgZWwgdXN1YXJpbywgdXNhciBgRmlsZS50eXBlYCAoeWEgdmllbmUgZGVsIG5hdmVnYWRvcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmZlck1pbWVUeXBlRnJvbU5hbWUoZmlsZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWZpbGVOYW1lKSByZXR1cm4gJyc7XG4gIGNvbnN0IGV4dCA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XG4gIHN3aXRjaCAoZXh0KSB7XG4gICAgY2FzZSAncGRmJzogcmV0dXJuICdhcHBsaWNhdGlvbi9wZGYnO1xuICAgIGNhc2UgJ2pwZyc6XG4gICAgY2FzZSAnanBlZyc6IHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgY2FzZSAncG5nJzogcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ2RvY3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JztcbiAgICBjYXNlICd4bHN4JzogcmV0dXJuICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc7XG4gICAgZGVmYXVsdDogcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constantes y conversión de tamaño de archivo. Centraliza los números mágicos
|
|
3
|
-
* (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.
|
|
4
|
-
*/
|
|
5
|
-
export const KB_IN_BYTES = 1024;
|
|
6
|
-
export const MB_IN_BYTES = 1024 * 1024;
|
|
7
|
-
/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. "X MB de 25 MB"). */
|
|
8
|
-
export function bytesToMB(bytes) {
|
|
9
|
-
return Math.round((bytes / MB_IN_BYTES) * 10) / 10;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtc2l6ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdkMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnN0YW50ZXMgeSBjb252ZXJzacOzbiBkZSB0YW1hw7FvIGRlIGFyY2hpdm8uIENlbnRyYWxpemEgbG9zIG7Dum1lcm9zIG3DoWdpY29zXG4gKiAoMTAyNCkgeSBvZnJlY2UgdW5hIGNvbnZlcnNpw7NuIGEgTUIgcGFyYSBtb3N0cmFyIHRvdGFsZXMgYWdyZWdhZG9zIGVuIFVJLlxuICovXG5leHBvcnQgY29uc3QgS0JfSU5fQllURVMgPSAxMDI0O1xuZXhwb3J0IGNvbnN0IE1CX0lOX0JZVEVTID0gMTAyNCAqIDEwMjQ7XG5cbi8qKiBCeXRlcyAtPiBNQiAoMSBkZWNpbWFsKS4gUGFyYSBtb3N0cmFyIHRvdGFsZXMgYWdyZWdhZG9zIChlai4gXCJYIE1CIGRlIDI1IE1CXCIpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9NQihieXRlczogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgucm91bmQoKGJ5dGVzIC8gTUJfSU5fQllURVMpICogMTApIC8gMTA7XG59XG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Muestra una hora en formato 12h con am/pm.
|
|
5
|
-
* {{ '14:30:00' | formatoHora }} → "2:30 pm"
|
|
6
|
-
* {{ '09:00' | formatoHora }} → "9 am"
|
|
7
|
-
* Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.
|
|
8
|
-
*/
|
|
9
|
-
export class FormatoHoraPipe {
|
|
10
|
-
transform(value) {
|
|
11
|
-
if (!value)
|
|
12
|
-
return '';
|
|
13
|
-
if (value instanceof Date) {
|
|
14
|
-
return this.formatHours(value.getHours(), value.getMinutes());
|
|
15
|
-
}
|
|
16
|
-
const str = String(value);
|
|
17
|
-
const match = str.match(/(\d{1,2}):(\d{2})(?::\d{2})?/);
|
|
18
|
-
if (match) {
|
|
19
|
-
return this.formatHours(Number(match[1]), Number(match[2]));
|
|
20
|
-
}
|
|
21
|
-
const parsed = new Date(str);
|
|
22
|
-
if (!isNaN(parsed.getTime())) {
|
|
23
|
-
return this.formatHours(parsed.getHours(), parsed.getMinutes());
|
|
24
|
-
}
|
|
25
|
-
return '';
|
|
26
|
-
}
|
|
27
|
-
formatHours(hours, minutes) {
|
|
28
|
-
const period = hours >= 12 ? 'pm' : 'am';
|
|
29
|
-
const hour12 = hours % 12 === 0 ? 12 : hours % 12;
|
|
30
|
-
if (minutes === 0)
|
|
31
|
-
return `${hour12} ${period}`;
|
|
32
|
-
return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatoHoraPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
35
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormatoHoraPipe, isStandalone: true, name: "formatoHora" }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatoHoraPipe, decorators: [{
|
|
38
|
-
type: Pipe,
|
|
39
|
-
args: [{
|
|
40
|
-
name: 'formatoHora',
|
|
41
|
-
standalone: true,
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0by1ob3JhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2Zvcm1hdG8taG9yYS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDeEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RFLENBQUM7K0dBNUJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE11ZXN0cmEgdW5hIGhvcmEgZW4gZm9ybWF0byAxMmggY29uIGFtL3BtLlxuICogICB7eyAnMTQ6MzA6MDAnIHwgZm9ybWF0b0hvcmEgfX0gIOKGkiBcIjI6MzAgcG1cIlxuICogICB7eyAnMDk6MDAnICAgIHwgZm9ybWF0b0hvcmEgfX0gIOKGkiBcIjkgYW1cIlxuICogQWNlcHRhIHN0cmluZyAoY29uIEhIOm1tWzpzc10gZW4gY3VhbHF1aWVyIHBhcnRlKSwgRGF0ZSBvIElTTy5cbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnZm9ybWF0b0hvcmEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXRvSG9yYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlPzogc3RyaW5nIHwgRGF0ZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEhvdXJzKHZhbHVlLmdldEhvdXJzKCksIHZhbHVlLmdldE1pbnV0ZXMoKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyID0gU3RyaW5nKHZhbHVlKTtcblxuICAgIGNvbnN0IG1hdGNoID0gc3RyLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7Mn0pKD86OlxcZHsyfSk/Lyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xuICAgIGlmICghaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEhvdXJzKHBhcnNlZC5nZXRIb3VycygpLCBwYXJzZWQuZ2V0TWludXRlcygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEhvdXJzKGhvdXJzOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcGVyaW9kID0gaG91cnMgPj0gMTIgPyAncG0nIDogJ2FtJztcbiAgICBjb25zdCBob3VyMTIgPSBob3VycyAlIDEyID09PSAwID8gMTIgOiBob3VycyAlIDEyO1xuICAgIGlmIChtaW51dGVzID09PSAwKSByZXR1cm4gYCR7aG91cjEyfSAke3BlcmlvZH1gO1xuICAgIHJldHVybiBgJHtob3VyMTJ9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9ICR7cGVyaW9kfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.
|
|
3
|
-
*
|
|
4
|
-
* Centraliza el filtrado client-side de listas en memoria con dos comportamientos:
|
|
5
|
-
* - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).
|
|
6
|
-
* - "Re-click muestra lista completa": al re-enfocar un select ya seleccionado,
|
|
7
|
-
* reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.
|
|
8
|
-
*
|
|
9
|
-
* Clase plana (sin signals): funciona en change detection con o sin signals.
|
|
10
|
-
*
|
|
11
|
-
* Uso:
|
|
12
|
-
* tipoFilter = new ListFilter(
|
|
13
|
-
* () => this.tipoActividades,
|
|
14
|
-
* (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),
|
|
15
|
-
* );
|
|
16
|
-
* // template:
|
|
17
|
-
* // @for (t of tipoFilter.visible; track t.id) { ... }
|
|
18
|
-
* // (onChangesValueEvent)="onSearch($event)" -> dentro: tipoFilter.search($event)
|
|
19
|
-
* // (onFocusEvent)="tipoFilter.reopen()"
|
|
20
|
-
*/
|
|
21
|
-
export class ListFilter {
|
|
22
|
-
/**
|
|
23
|
-
* @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).
|
|
24
|
-
* @param match Predicado de coincidencia. `term` llega ya en minúsculas.
|
|
25
|
-
*/
|
|
26
|
-
constructor(source, match) {
|
|
27
|
-
this.source = source;
|
|
28
|
-
this.match = match;
|
|
29
|
-
this._term = '';
|
|
30
|
-
this._reopened = false;
|
|
31
|
-
// Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).
|
|
32
|
-
// En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.
|
|
33
|
-
this._hasCache = false;
|
|
34
|
-
this._cache = [];
|
|
35
|
-
this._cacheSrc = null;
|
|
36
|
-
this._cacheTerm = '';
|
|
37
|
-
this._cacheReopened = false;
|
|
38
|
-
}
|
|
39
|
-
/** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */
|
|
40
|
-
get visible() {
|
|
41
|
-
const all = this.source() ?? [];
|
|
42
|
-
if (this._hasCache &&
|
|
43
|
-
all === this._cacheSrc &&
|
|
44
|
-
this._term === this._cacheTerm &&
|
|
45
|
-
this._reopened === this._cacheReopened) {
|
|
46
|
-
return this._cache;
|
|
47
|
-
}
|
|
48
|
-
const result = this._reopened || !this._term.trim()
|
|
49
|
-
? all
|
|
50
|
-
: all.filter((i) => this.match(i, this._term.toLowerCase()));
|
|
51
|
-
this._cache = result;
|
|
52
|
-
this._cacheSrc = all;
|
|
53
|
-
this._cacheTerm = this._term;
|
|
54
|
-
this._cacheReopened = this._reopened;
|
|
55
|
-
this._hasCache = true;
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
/** Término de filtro actual (sin normalizar). */
|
|
59
|
-
get term() {
|
|
60
|
-
return this._term;
|
|
61
|
-
}
|
|
62
|
-
/** Llamar desde el handler de búsqueda (al teclear): apaga el "mostrar todo" y filtra. */
|
|
63
|
-
search(term) {
|
|
64
|
-
this._reopened = false;
|
|
65
|
-
this._term = term ?? '';
|
|
66
|
-
}
|
|
67
|
-
/** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */
|
|
68
|
-
reopen() {
|
|
69
|
-
this._reopened = true;
|
|
70
|
-
}
|
|
71
|
-
/** Limpia término y estado (ej. al abrir/cerrar un formulario). */
|
|
72
|
-
reset() {
|
|
73
|
-
this._term = '';
|
|
74
|
-
this._reopened = false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvbGlzdC1maWx0ZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBWXJCOzs7T0FHRztJQUNILFlBQ21CLE1BQWlCLEVBQ2pCLEtBQXlDO1FBRHpDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0M7UUFqQnBELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLDJGQUEyRjtRQUMzRixrR0FBa0c7UUFDMUYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBZSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUoseUdBQXlHO0lBQ3pHLElBQUksT0FBTztRQUNULE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFDRSxJQUFJLENBQUMsU0FBUztZQUNkLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUztZQUN0QixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVO1lBQzlCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaXN0RmlsdGVyPFQ+IOKAlCBwYXRyw7NuIMO6bmljbyBkZSBmaWx0cmFkbyBwYXJhIGBpdXMtaW5wdXQtc2VsZWN0YCBkZWwgZWNvc2lzdGVtYS5cbiAqXG4gKiBDZW50cmFsaXphIGVsIGZpbHRyYWRvIGNsaWVudC1zaWRlIGRlIGxpc3RhcyBlbiBtZW1vcmlhIGNvbiBkb3MgY29tcG9ydGFtaWVudG9zOlxuICogIC0gRGVib3VuY2U6IGxvIGFwb3J0YSBlbCBwcm9waW8gYGl1cy1pbnB1dC1zZWxlY3RgIChpbnB1dCBgZGVib3VuY2VNc2AsIGRlZmF1bHQgMzAwKS5cbiAqICAtIFwiUmUtY2xpY2sgbXVlc3RyYSBsaXN0YSBjb21wbGV0YVwiOiBhbCByZS1lbmZvY2FyIHVuIHNlbGVjdCB5YSBzZWxlY2Npb25hZG8sXG4gKiAgICByZWFwYXJlY2UgbGEgbGlzdGEgY29tcGxldGEgKG1hbnRlbmllbmRvIGVsIHRleHRvKTsgYWwgdGVjbGVhciwgdnVlbHZlIGEgZmlsdHJhci5cbiAqXG4gKiBDbGFzZSBwbGFuYSAoc2luIHNpZ25hbHMpOiBmdW5jaW9uYSBlbiBjaGFuZ2UgZGV0ZWN0aW9uIGNvbiBvIHNpbiBzaWduYWxzLlxuICpcbiAqIFVzbzpcbiAqICAgdGlwb0ZpbHRlciA9IG5ldyBMaXN0RmlsdGVyKFxuICogICAgICgpID0+IHRoaXMudGlwb0FjdGl2aWRhZGVzLFxuICogICAgICh0LCBxKSA9PiAodC50aXBvQWN0aXZpZGFkID8/ICcnKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpLFxuICogICApO1xuICogICAvLyB0ZW1wbGF0ZTpcbiAqICAgLy8gICBAZm9yICh0IG9mIHRpcG9GaWx0ZXIudmlzaWJsZTsgdHJhY2sgdC5pZCkgeyAuLi4gfVxuICogICAvLyAgIChvbkNoYW5nZXNWYWx1ZUV2ZW50KT1cIm9uU2VhcmNoKCRldmVudClcIiAgLT4gZGVudHJvOiB0aXBvRmlsdGVyLnNlYXJjaCgkZXZlbnQpXG4gKiAgIC8vICAgKG9uRm9jdXNFdmVudCk9XCJ0aXBvRmlsdGVyLnJlb3BlbigpXCJcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RGaWx0ZXI8VD4ge1xuICBwcml2YXRlIF90ZXJtID0gJyc7XG4gIHByaXZhdGUgX3Jlb3BlbmVkID0gZmFsc2U7XG5cbiAgLy8gTWVtb2l6YWNpw7NuOiBzb2xvIHJlLWZpbHRyYSBjdWFuZG8gY2FtYmlhIChyZWZlcmVuY2lhIGRlIGxhIGZ1ZW50ZSwgdMOpcm1pbm8gbyByZW9wZW5lZCkuXG4gIC8vIEVuIGVsIHJlc3RvIGRlIGNpY2xvcyBkZSBkZXRlY2Npw7NuIGRldnVlbHZlIGVsIHJlc3VsdGFkbyBjYWNoZWFkbyDihpIgYmFyYXRvIHBhcmEgbGlzdGFzIGdyYW5kZXMuXG4gIHByaXZhdGUgX2hhc0NhY2hlID0gZmFsc2U7XG4gIHByaXZhdGUgX2NhY2hlOiBUW10gPSBbXTtcbiAgcHJpdmF0ZSBfY2FjaGVTcmM6IFRbXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9jYWNoZVRlcm0gPSAnJztcbiAgcHJpdmF0ZSBfY2FjaGVSZW9wZW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gc291cmNlIEZ1bmNpw7NuIHF1ZSBkZXZ1ZWx2ZSBsYSBsaXN0YSBjb21wbGV0YSBhY3R1YWwgKGFzeW5jLXNhZmU6IHNlIGxlZSBlbiBjYWRhIGFjY2VzbyBhIGB2aXNpYmxlYCkuXG4gICAqIEBwYXJhbSBtYXRjaCAgUHJlZGljYWRvIGRlIGNvaW5jaWRlbmNpYS4gYHRlcm1gIGxsZWdhIHlhIGVuIG1pbsO6c2N1bGFzLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U6ICgpID0+IFRbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdGNoOiAoaXRlbTogVCwgdGVybTogc3RyaW5nKSA9PiBib29sZWFuLFxuICApIHt9XG5cbiAgLyoqIExpc3RhIGEgcmVuZGVyaXphciBlbiBlbCBgQGZvcmAuIE1lbW9pemFkYTogcmUtZmlsdHJhIHNvbG8gY3VhbmRvIGNhbWJpYW4gZnVlbnRlL3TDqXJtaW5vL3Jlb3BlbmVkLiAqL1xuICBnZXQgdmlzaWJsZSgpOiBUW10ge1xuICAgIGNvbnN0IGFsbCA9IHRoaXMuc291cmNlKCkgPz8gW107XG4gICAgaWYgKFxuICAgICAgdGhpcy5faGFzQ2FjaGUgJiZcbiAgICAgIGFsbCA9PT0gdGhpcy5fY2FjaGVTcmMgJiZcbiAgICAgIHRoaXMuX3Rlcm0gPT09IHRoaXMuX2NhY2hlVGVybSAmJlxuICAgICAgdGhpcy5fcmVvcGVuZWQgPT09IHRoaXMuX2NhY2hlUmVvcGVuZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgdGhpcy5fcmVvcGVuZWQgfHwgIXRoaXMuX3Rlcm0udHJpbSgpXG4gICAgICAgID8gYWxsXG4gICAgICAgIDogYWxsLmZpbHRlcigoaSkgPT4gdGhpcy5tYXRjaChpLCB0aGlzLl90ZXJtLnRvTG93ZXJDYXNlKCkpKTtcblxuICAgIHRoaXMuX2NhY2hlID0gcmVzdWx0O1xuICAgIHRoaXMuX2NhY2hlU3JjID0gYWxsO1xuICAgIHRoaXMuX2NhY2hlVGVybSA9IHRoaXMuX3Rlcm07XG4gICAgdGhpcy5fY2FjaGVSZW9wZW5lZCA9IHRoaXMuX3Jlb3BlbmVkO1xuICAgIHRoaXMuX2hhc0NhY2hlID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIFTDqXJtaW5vIGRlIGZpbHRybyBhY3R1YWwgKHNpbiBub3JtYWxpemFyKS4gKi9cbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGVybTtcbiAgfVxuXG4gIC8qKiBMbGFtYXIgZGVzZGUgZWwgaGFuZGxlciBkZSBiw7pzcXVlZGEgKGFsIHRlY2xlYXIpOiBhcGFnYSBlbCBcIm1vc3RyYXIgdG9kb1wiIHkgZmlsdHJhLiAqL1xuICBzZWFyY2godGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcmVvcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLl90ZXJtID0gdGVybSA/PyAnJztcbiAgfVxuXG4gIC8qKiBMbGFtYXIgZGVzZGUgYChvbkZvY3VzRXZlbnQpYDogbXVlc3RyYSBsYSBsaXN0YSBjb21wbGV0YSBzaW4gcGVyZGVyIGVsIHRleHRvLiAqL1xuICByZW9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVvcGVuZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqIExpbXBpYSB0w6lybWlubyB5IGVzdGFkbyAoZWouIGFsIGFicmlyL2NlcnJhciB1biBmb3JtdWxhcmlvKS4gKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGVybSA9ICcnO1xuICAgIHRoaXMuX3Jlb3BlbmVkID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aWdpb3ZpcnR1YWwtaXVzLWRlc2lnbi1jb21wb25lbnRzLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3V0aWxzL3NyYy9saXRpZ2lvdmlydHVhbC1pdXMtZGVzaWduLWNvbXBvbmVudHMtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Entry-point secundario: @litigiovirtual/ius-design-components/utils
|
|
3
|
-
*
|
|
4
|
-
* Utilidades compartidas (sin UI) para todas las apps del ecosistema:
|
|
5
|
-
* moneda, fechas/horas y archivos. Evita duplicar este código en cada app.
|
|
6
|
-
*
|
|
7
|
-
* Uso:
|
|
8
|
-
* import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';
|
|
9
|
-
*/
|
|
10
|
-
export * from './currency-format.pipe';
|
|
11
|
-
export * from './formato-hora.pipe';
|
|
12
|
-
export * from './date-format.util';
|
|
13
|
-
export * from './file-mime.util';
|
|
14
|
-
export * from './file-size.util';
|
|
15
|
-
export * from './list-filter.util';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEVudHJ5LXBvaW50IHNlY3VuZGFyaW86IEBsaXRpZ2lvdmlydHVhbC9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHNcbiAqXG4gKiBVdGlsaWRhZGVzIGNvbXBhcnRpZGFzIChzaW4gVUkpIHBhcmEgdG9kYXMgbGFzIGFwcHMgZGVsIGVjb3Npc3RlbWE6XG4gKiBtb25lZGEsIGZlY2hhcy9ob3JhcyB5IGFyY2hpdm9zLiBFdml0YSBkdXBsaWNhciBlc3RlIGPDs2RpZ28gZW4gY2FkYSBhcHAuXG4gKlxuICogVXNvOlxuICogICBpbXBvcnQgeyBDdXJyZW5jeUZvcm1hdFBpcGUsIHBhcnNlTG9jYWxEYXRlIH0gZnJvbSAnQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscyc7XG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZm9ybWF0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXRvLWhvcmEucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtZm9ybWF0LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLW1pbWUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtc2l6ZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1maWx0ZXIudXRpbCc7XG4iXX0=
|
package/index.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class AddUserContainerComponent {
|
|
4
|
-
imageUrl?: string;
|
|
5
|
-
name?: string;
|
|
6
|
-
documentType?: string;
|
|
7
|
-
document?: string;
|
|
8
|
-
email?: string;
|
|
9
|
-
selected: boolean;
|
|
10
|
-
maskEmail: boolean;
|
|
11
|
-
emailVisibleChars: number;
|
|
12
|
-
maskDocument: boolean;
|
|
13
|
-
documentVisibleChars: number;
|
|
14
|
-
onSelectEvent: EventEmitter<boolean>;
|
|
15
|
-
onRemoveEvent: EventEmitter<void>;
|
|
16
|
-
get displayDocument(): string | undefined;
|
|
17
|
-
get displayEmail(): string | undefined;
|
|
18
|
-
select(): void;
|
|
19
|
-
remove(event: MouseEvent): void;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AddUserContainerComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AddUserContainerComponent, "ius-add-user-container", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; "name": { "alias": "name"; "required": false; }; "documentType": { "alias": "documentType"; "required": false; }; "document": { "alias": "document"; "required": false; }; "email": { "alias": "email"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "maskEmail": { "alias": "maskEmail"; "required": false; }; "emailVisibleChars": { "alias": "emailVisibleChars"; "required": false; }; "maskDocument": { "alias": "maskDocument"; "required": false; }; "documentVisibleChars": { "alias": "documentVisibleChars"; "required": false; }; }, { "onSelectEvent": "onSelectEvent"; "onRemoveEvent": "onRemoveEvent"; }, never, never, true, never>;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './add-user-container.component';
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
-
import { EventEmitter, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class AlertComponent {
|
|
5
|
-
private overlay;
|
|
6
|
-
private vcr;
|
|
7
|
-
modalTpl: TemplateRef<any>;
|
|
8
|
-
title: string;
|
|
9
|
-
text: string;
|
|
10
|
-
leftButtonName: string;
|
|
11
|
-
rightButtonName: string;
|
|
12
|
-
onRightButtonClick: EventEmitter<void>;
|
|
13
|
-
onLeftButtonClick: EventEmitter<void>;
|
|
14
|
-
private overlayRef?;
|
|
15
|
-
constructor(overlay: Overlay, vcr: ViewContainerRef);
|
|
16
|
-
ngAfterViewInit(): void;
|
|
17
|
-
onClickLeftButton(): void;
|
|
18
|
-
onClickRightButton(): void;
|
|
19
|
-
ngOnDestroy(): void;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "ius-alert", never, { "title": { "alias": "title"; "required": false; }; "text": { "alias": "text"; "required": false; }; "leftButtonName": { "alias": "leftButtonName"; "required": false; }; "rightButtonName": { "alias": "rightButtonName"; "required": false; }; }, { "onRightButtonClick": "onRightButtonClick"; "onLeftButtonClick": "onLeftButtonClick"; }, never, never, true, never>;
|
|
22
|
-
}
|
package/lib/alert/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './alert.component';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export type AvatarBusinessSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
4
|
-
export type AvatarBusinessShape = 'circle' | 'square';
|
|
5
|
-
export declare class AvatarBusinessComponent {
|
|
6
|
-
imageUrl?: string;
|
|
7
|
-
label?: string;
|
|
8
|
-
size: AvatarBusinessSize;
|
|
9
|
-
shape: AvatarBusinessShape;
|
|
10
|
-
showEditButton: boolean;
|
|
11
|
-
fallbackIconName: string;
|
|
12
|
-
editClicked: EventEmitter<void>;
|
|
13
|
-
onEditClick(event: MouseEvent): void;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarBusinessComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarBusinessComponent, "ius-avatar-business", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; "label": { "alias": "label"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "showEditButton": { "alias": "showEditButton"; "required": false; }; "fallbackIconName": { "alias": "fallbackIconName"; "required": false; }; }, { "editClicked": "editClicked"; }, never, never, true, never>;
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './avatar-business.component';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class AvatarIconComponent {
|
|
3
|
-
size: 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
-
imageUrl?: string;
|
|
5
|
-
backgroundColor: string;
|
|
6
|
-
iconName: string;
|
|
7
|
-
iconColor: string;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarIconComponent, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarIconComponent, "ius-avatar-icon", never, { "size": { "alias": "size"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; }, {}, never, never, true, never>;
|
|
10
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './avatar-icon.component';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export type AvatarV2Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
4
|
-
export type AvatarV2Shape = 'circle' | 'square';
|
|
5
|
-
export declare class AvatarV2Component implements OnChanges {
|
|
6
|
-
imageUrl?: string;
|
|
7
|
-
name?: string;
|
|
8
|
-
size: AvatarV2Size;
|
|
9
|
-
shape: AvatarV2Shape;
|
|
10
|
-
showEditButton: boolean;
|
|
11
|
-
backgroundColor?: string;
|
|
12
|
-
fallbackIconName: string;
|
|
13
|
-
editClicked: EventEmitter<void>;
|
|
14
|
-
initials: string;
|
|
15
|
-
imageLoadError: boolean;
|
|
16
|
-
get showImage(): boolean;
|
|
17
|
-
get containerStyle(): {
|
|
18
|
-
[key: string]: string;
|
|
19
|
-
};
|
|
20
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
21
|
-
onImageError(): void;
|
|
22
|
-
onEditClick(event: MouseEvent): void;
|
|
23
|
-
private extractInitials;
|
|
24
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarV2Component, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarV2Component, "ius-avatar-v2", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "showEditButton": { "alias": "showEditButton"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "fallbackIconName": { "alias": "fallbackIconName"; "required": false; }; }, { "editClicked": "editClicked"; }, never, never, true, never>;
|
|
26
|
-
}
|
package/lib/avatar-v2/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './avatar-v2.component';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class BadgeComponent {
|
|
3
|
-
number: number | undefined;
|
|
4
|
-
get formattedNumber(): string | undefined;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "ius-badge", never, { "number": { "alias": "number"; "required": false; }; }, {}, never, never, true, never>;
|
|
7
|
-
}
|
package/lib/badge/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './badge.component';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export interface IusBreadcrumbItem {
|
|
3
|
-
label: string;
|
|
4
|
-
commands?: any[];
|
|
5
|
-
queryParams?: any;
|
|
6
|
-
fragment?: string;
|
|
7
|
-
replaceUrl?: boolean;
|
|
8
|
-
state?: any;
|
|
9
|
-
ariaLabel?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare class BreadcrumbComponent {
|
|
12
|
-
items: IusBreadcrumbItem[];
|
|
13
|
-
separator: string;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "ius-breadcrumb", never, { "items": { "alias": "items"; "required": true; }; "separator": { "alias": "separator"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './breadcrumb.component';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
interface Account {
|
|
4
|
-
accountID: number;
|
|
5
|
-
name: string;
|
|
6
|
-
logo?: string;
|
|
7
|
-
isPredetermined?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare class ButtonAccountsComponent {
|
|
10
|
-
private elementRef;
|
|
11
|
-
isOpen: boolean;
|
|
12
|
-
openOptions: boolean;
|
|
13
|
-
account: Account;
|
|
14
|
-
showOptionsFlag: boolean;
|
|
15
|
-
accountSelected: EventEmitter<Account>;
|
|
16
|
-
onPressedPredeterminado: EventEmitter<Account>;
|
|
17
|
-
onPressedDesvincular: EventEmitter<Account>;
|
|
18
|
-
onPressedEditar: EventEmitter<Account>;
|
|
19
|
-
optionsOpened: EventEmitter<Account>;
|
|
20
|
-
constructor(elementRef: ElementRef);
|
|
21
|
-
onDocumentClick(event: MouseEvent): void;
|
|
22
|
-
onClickAccount(account: Account): void;
|
|
23
|
-
showOptions(event: MouseEvent): void;
|
|
24
|
-
closeOptions(): void;
|
|
25
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonAccountsComponent, never>;
|
|
26
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonAccountsComponent, "ius-button-accounts", never, { "account": { "alias": "account"; "required": false; }; "showOptionsFlag": { "alias": "showOptionsFlag"; "required": false; }; }, { "accountSelected": "accountSelected"; "onPressedPredeterminado": "onPressedPredeterminado"; "onPressedDesvincular": "onPressedDesvincular"; "onPressedEditar": "onPressedEditar"; "optionsOpened": "optionsOpened"; }, never, never, true, never>;
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './button-accounts.component';
|