@litigiovirtual/ius-design-components 1.0.295 → 1.0.296

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 (47) hide show
  1. package/esm2022/lib/add-user-container/add-user-container.component.mjs +3 -3
  2. package/esm2022/lib/button-auth/button-auth.component.mjs +3 -3
  3. package/esm2022/lib/button-dynamic/button-dynamic.component.mjs +3 -3
  4. package/esm2022/lib/button-standard-outline/button-standard-outline.component.mjs +3 -3
  5. package/esm2022/lib/button-standard-outline/index.mjs +1 -1
  6. package/esm2022/lib/button-standard-primary/button-standard-primary.component.mjs +3 -3
  7. package/esm2022/lib/button-standard-tertiary/button-standard-tertiary.component.mjs +3 -3
  8. package/esm2022/lib/button-standard-tertiary-small/button-standard-tertiary-small.component.mjs +3 -3
  9. package/esm2022/lib/create-ticket/create-ticket.component.mjs +3 -3
  10. package/esm2022/lib/create-ticket/index.mjs +1 -1
  11. package/esm2022/lib/custom-dropdown/custom-dropdown.component.mjs +3 -3
  12. package/esm2022/lib/dropdown-option-item/dropdown-option-item.component.mjs +3 -3
  13. package/esm2022/lib/menu-item/menu-item.component.mjs +3 -3
  14. package/esm2022/lib/notification-card/notification-card.component.mjs +3 -3
  15. package/esm2022/lib/option/option.component.mjs +3 -3
  16. package/esm2022/lib/option-item/option-item.component.mjs +3 -3
  17. package/esm2022/lib/section-collapse-drawer-child/section-collapse-drawer-child.component.mjs +3 -3
  18. package/esm2022/lib/section-collapse-drawer-parent/section-collapse-drawer-parent.component.mjs +3 -3
  19. package/esm2022/public-api.mjs +1 -5
  20. package/esm2022/utils/currency-format.pipe.mjs +1 -1
  21. package/esm2022/utils/date-format.util.mjs +1 -1
  22. package/esm2022/utils/file-mime.util.mjs +1 -1
  23. package/esm2022/utils/file-size.util.mjs +1 -1
  24. package/esm2022/utils/formato-hora.pipe.mjs +1 -1
  25. package/esm2022/utils/list-filter.util.mjs +1 -1
  26. package/esm2022/utils/public-api.mjs +1 -1
  27. package/fesm2022/litigiovirtual-ius-design-components-utils.mjs.map +1 -1
  28. package/fesm2022/litigiovirtual-ius-design-components.mjs +33 -575
  29. package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/public-api.d.ts +0 -4
  32. package/esm2022/lib/card-actividad-evento/card-actividad-evento.component.mjs +0 -209
  33. package/esm2022/lib/card-actividad-evento/index.mjs +0 -2
  34. package/esm2022/lib/card-etapa-subetapa/card-etapa-subetapa.component.mjs +0 -124
  35. package/esm2022/lib/card-etapa-subetapa/index.mjs +0 -2
  36. package/esm2022/lib/card-impulso-procesal/card-impulso-procesal.component.mjs +0 -120
  37. package/esm2022/lib/card-impulso-procesal/index.mjs +0 -2
  38. package/esm2022/lib/card-vigilancia-judicial/card-vigilancia-judicial.component.mjs +0 -129
  39. package/esm2022/lib/card-vigilancia-judicial/index.mjs +0 -2
  40. package/lib/card-actividad-evento/card-actividad-evento.component.d.ts +0 -62
  41. package/lib/card-actividad-evento/index.d.ts +0 -1
  42. package/lib/card-etapa-subetapa/card-etapa-subetapa.component.d.ts +0 -32
  43. package/lib/card-etapa-subetapa/index.d.ts +0 -1
  44. package/lib/card-impulso-procesal/card-impulso-procesal.component.d.ts +0 -31
  45. package/lib/card-impulso-procesal/index.d.ts +0 -1
  46. package/lib/card-vigilancia-judicial/card-vigilancia-judicial.component.d.ts +0 -28
  47. package/lib/card-vigilancia-judicial/index.d.ts +0 -1
@@ -70,4 +70,4 @@ export function toTimeOnlyString(d) {
70
70
  const s = d.getSeconds().toString().padStart(2, '0');
71
71
  return `${h}:${min}:${s}`;
72
72
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvZGF0ZS1mb3JtYXQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVU7SUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxJQUFJLEtBQUssWUFBWSxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixP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SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBIZWxwZXJzIGRlIGZlY2hhL2hvcmEgcGFyYSBpbnB1dHMgQW5ndWxhciDihpQgYmFja2VuZCAoRGF0ZU9ubHkgLyBUaW1lT25seSBkZSBDIykuXHJcbiAqXHJcbiAqIElNUE9SVEFOVEU6IHNlIHVzYSBTSUVNUFJFIGVsIGNvbnN0cnVjdG9yIGxvY2FsIERhdGUoeSwgbSwgZCkgcGFyYSBldml0YXIgZWwgc2hpZnQgZGVcclxuICogem9uYSBob3JhcmlhLiBuZXcgRGF0ZSgneXl5eS1NTS1kZCcpIHNlIGludGVycHJldGEgY29tbyBVVEMgeSBwdWVkZSBzYWx0YXIgdW4gZMOtYSBzZWfDum5cclxuICogbGEgem9uYTsgZXN0b3MgaGVscGVycyByZWNvbnN0cnV5ZW4gbGEgZmVjaGEgZGVzZGUgc3VzIGNvbXBvbmVudGVzIChob3JhIGxvY2FsKS5cclxuICovXHJcblxyXG4vKipcclxuICogQ29udmllcnRlIGN1YWxxdWllciB2YWxvciBkZSBmZWNoYSAoc3RyaW5nIFwieXl5eS1NTS1kZFwiLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIiBvIERhdGUpXHJcbiAqIGEgRGF0ZSBlbiBob3JhIExPQ0FMLiBEZXZ1ZWx2ZSB1bmRlZmluZWQgc2kgZXMgdmFjw61vLyBpbnbDoWxpZG8uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMb2NhbERhdGUodmFsdWU6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xyXG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIHVuZGVmaW5lZDtcclxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gaXNOYU4odmFsdWUuZ2V0VGltZSgpKSA/IHVuZGVmaW5lZCA6IHZhbHVlO1xyXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBjb25zdCBtID0gdmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KSg/OltUIF0oXFxkezJ9KTooXFxkezJ9KSg/OjooXFxkezJ9KSk/KT8vKTtcclxuICAgIGlmIChtKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgrbVsxXSwgK21bMl0gLSAxLCArbVszXSwgKyhtWzRdID8/IDApLCArKG1bNV0gPz8gMCksICsobVs2XSA/PyAwKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBwYXJzZWQ7XHJcbiAgfVxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKiBQYXJzZWEgZXZlbnRvIGRlIGRhdGUtcGlja2VyIChJU08gc3RyaW5nLCBEYXRlLCBcIllZWVktTU0tRERcIikgYSBEYXRlIGxvY2FsLiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRXZlbnQoZXZlbnQ6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xyXG4gIGlmICghZXZlbnQpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIGV2ZW50O1xyXG4gIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBjb25zdCBtYXRjaCA9IGV2ZW50Lm1hdGNoKC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoK21hdGNoWzFdLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbM10pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoZXZlbnQpO1xyXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogcGFyc2VkO1xyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogUGFyc2VhIGV2ZW50byBkZSB0aW1lLXBpY2tlciBhIHN0cmluZyBcIkhIOm1tOnNzXCIuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUhvcmFFdmVudChldmVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIWV2ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIGlmIChldmVudCBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB0b1RpbWVPbmx5U3RyaW5nKGV2ZW50KTtcclxuICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgY29uc3QgdHJpbW1lZCA9IGV2ZW50LnRyaW0oKTtcclxuICAgIGlmICgvXlxcZHsyfTpcXGR7Mn0oOlxcZHsyfSk/JC8udGVzdCh0cmltbWVkKSkge1xyXG4gICAgICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPT09IDUgPyBgJHt0cmltbWVkfTowMGAgOiB0cmltbWVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoZXZlbnQpO1xyXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdG9UaW1lT25seVN0cmluZyhwYXJzZWQpO1xyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogRGF0ZSAtPiBcInl5eXktTU0tZGRcIiBlbiBob3JhIGxvY2FsIChmb3JtYXRvIERhdGVPbmx5IEMjKS4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKTtcclxuICBjb25zdCBtID0gKGQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICBjb25zdCBkZCA9IGQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICByZXR1cm4gYCR7eX0tJHttfS0ke2RkfWA7XHJcbn1cclxuXHJcbi8qKiBEYXRlIC0+IFwiSEg6bW06c3NcIiBlbiBob3JhIGxvY2FsIChmb3JtYXRvIFRpbWVPbmx5IEMjKS4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvVGltZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgY29uc3QgaCA9IGQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgY29uc3QgbWluID0gZC5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gIGNvbnN0IHMgPSBkLmdldFNlY29uZHMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgcmV0dXJuIGAke2h9OiR7bWlufToke3N9YDtcclxufVxyXG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvZGF0ZS1mb3JtYXQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVU7SUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxJQUFJLEtBQUssWUFBWSxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixP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SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSGVscGVycyBkZSBmZWNoYS9ob3JhIHBhcmEgaW5wdXRzIEFuZ3VsYXIg4oaUIGJhY2tlbmQgKERhdGVPbmx5IC8gVGltZU9ubHkgZGUgQyMpLlxuICpcbiAqIElNUE9SVEFOVEU6IHNlIHVzYSBTSUVNUFJFIGVsIGNvbnN0cnVjdG9yIGxvY2FsIERhdGUoeSwgbSwgZCkgcGFyYSBldml0YXIgZWwgc2hpZnQgZGVcbiAqIHpvbmEgaG9yYXJpYS4gbmV3IERhdGUoJ3l5eXktTU0tZGQnKSBzZSBpbnRlcnByZXRhIGNvbW8gVVRDIHkgcHVlZGUgc2FsdGFyIHVuIGTDrWEgc2Vnw7puXG4gKiBsYSB6b25hOyBlc3RvcyBoZWxwZXJzIHJlY29uc3RydXllbiBsYSBmZWNoYSBkZXNkZSBzdXMgY29tcG9uZW50ZXMgKGhvcmEgbG9jYWwpLlxuICovXG5cbi8qKlxuICogQ29udmllcnRlIGN1YWxxdWllciB2YWxvciBkZSBmZWNoYSAoc3RyaW5nIFwieXl5eS1NTS1kZFwiLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIiBvIERhdGUpXG4gKiBhIERhdGUgZW4gaG9yYSBMT0NBTC4gRGV2dWVsdmUgdW5kZWZpbmVkIHNpIGVzIHZhY8Otby8gaW52w6FsaWRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMb2NhbERhdGUodmFsdWU6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBpc05hTih2YWx1ZS5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbSA9IHZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkoPzpbVCBdKFxcZHsyfSk6KFxcZHsyfSkoPzo6KFxcZHsyfSkpPyk/Lyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgrbVsxXSwgK21bMl0gLSAxLCArbVszXSwgKyhtWzRdID8/IDApLCArKG1bNV0gPz8gMCksICsobVs2XSA/PyAwKSk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBwYXJzZWQ7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIFBhcnNlYSBldmVudG8gZGUgZGF0ZS1waWNrZXIgKElTTyBzdHJpbmcsIERhdGUsIFwiWVlZWS1NTS1ERFwiKSBhIERhdGUgbG9jYWwuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRXZlbnQoZXZlbnQ6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAoIWV2ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gZXZlbnQ7XG4gIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBldmVudC5tYXRjaCgvXihcXGR7NH0pLShcXGR7Mn0pLShcXGR7Mn0pLyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoK21hdGNoWzFdLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbM10pO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShldmVudCk7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogcGFyc2VkO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBQYXJzZWEgZXZlbnRvIGRlIHRpbWUtcGlja2VyIGEgc3RyaW5nIFwiSEg6bW06c3NcIi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUhvcmFFdmVudChldmVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFldmVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHRvVGltZU9ubHlTdHJpbmcoZXZlbnQpO1xuICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBldmVudC50cmltKCk7XG4gICAgaWYgKC9eXFxkezJ9OlxcZHsyfSg6XFxkezJ9KT8kLy50ZXN0KHRyaW1tZWQpKSB7XG4gICAgICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPT09IDUgPyBgJHt0cmltbWVkfTowMGAgOiB0cmltbWVkO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShldmVudCk7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdG9UaW1lT25seVN0cmluZyhwYXJzZWQpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBEYXRlIC0+IFwieXl5eS1NTS1kZFwiIGVuIGhvcmEgbG9jYWwgKGZvcm1hdG8gRGF0ZU9ubHkgQyMpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XG4gIGNvbnN0IHkgPSBkLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IG0gPSAoZC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBkZCA9IGQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke3l9LSR7bX0tJHtkZH1gO1xufVxuXG4vKiogRGF0ZSAtPiBcIkhIOm1tOnNzXCIgZW4gaG9yYSBsb2NhbCAoZm9ybWF0byBUaW1lT25seSBDIykuICovXG5leHBvcnQgZnVuY3Rpb24gdG9UaW1lT25seVN0cmluZyhkOiBEYXRlKTogc3RyaW5nIHtcbiAgY29uc3QgaCA9IGQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IG1pbiA9IGQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgY29uc3QgcyA9IGQuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke2h9OiR7bWlufToke3N9YDtcbn1cbiJdfQ==
@@ -19,4 +19,4 @@ export function inferMimeTypeFromName(fileName) {
19
19
  default: return '';
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1taW1lLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtbWltZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFpQjtJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztRQUNyQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUM7UUFDakMsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8seUVBQXlFLENBQUM7UUFDOUYsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEluZmllcmUgZWwgTUlNRSB0eXBlIGEgcGFydGlyIGRlIGxhIGV4dGVuc2nDs24gZGVsIG5vbWJyZSBkZSBhcmNoaXZvLlxyXG4gKlxyXG4gKiDDmnRpbCBjdWFuZG8gZWwgYmFja2VuZCBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcGVybyBubyBzdSBNSU1FIHR5cGUsIHkgbGEgVUlcclxuICogbmVjZXNpdGEgdW5vIHBhcmEgZGVjaWRpciDDrWNvbm8vdmlzb3IgKGVqLiBkaXN0aW5ndWlyIFBERiBkZSBXb3JkL0V4Y2VsL2ltYWdlbikuXHJcbiAqIFBhcmEgYXJjaGl2b3MgTlVFVk9TIHN1Ymlkb3MgcG9yIGVsIHVzdWFyaW8sIHVzYXIgYEZpbGUudHlwZWAgKHlhIHZpZW5lIGRlbCBuYXZlZ2Fkb3IpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGluZmVyTWltZVR5cGVGcm9tTmFtZShmaWxlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKCFmaWxlTmFtZSkgcmV0dXJuICcnO1xyXG4gIGNvbnN0IGV4dCA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgc3dpdGNoIChleHQpIHtcclxuICAgIGNhc2UgJ3BkZic6IHJldHVybiAnYXBwbGljYXRpb24vcGRmJztcclxuICAgIGNhc2UgJ2pwZyc6XHJcbiAgICBjYXNlICdqcGVnJzogcmV0dXJuICdpbWFnZS9qcGVnJztcclxuICAgIGNhc2UgJ3BuZyc6IHJldHVybiAnaW1hZ2UvcG5nJztcclxuICAgIGNhc2UgJ2RvY3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JztcclxuICAgIGNhc2UgJ3hsc3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JztcclxuICAgIGRlZmF1bHQ6IHJldHVybiAnJztcclxuICB9XHJcbn1cclxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1taW1lLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtbWltZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFpQjtJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztRQUNyQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUM7UUFDakMsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8seUVBQXlFLENBQUM7UUFDOUYsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbmZpZXJlIGVsIE1JTUUgdHlwZSBhIHBhcnRpciBkZSBsYSBleHRlbnNpw7NuIGRlbCBub21icmUgZGUgYXJjaGl2by5cbiAqXG4gKiDDmnRpbCBjdWFuZG8gZWwgYmFja2VuZCBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcGVybyBubyBzdSBNSU1FIHR5cGUsIHkgbGEgVUlcbiAqIG5lY2VzaXRhIHVubyBwYXJhIGRlY2lkaXIgw61jb25vL3Zpc29yIChlai4gZGlzdGluZ3VpciBQREYgZGUgV29yZC9FeGNlbC9pbWFnZW4pLlxuICogUGFyYSBhcmNoaXZvcyBOVUVWT1Mgc3ViaWRvcyBwb3IgZWwgdXN1YXJpbywgdXNhciBgRmlsZS50eXBlYCAoeWEgdmllbmUgZGVsIG5hdmVnYWRvcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmZlck1pbWVUeXBlRnJvbU5hbWUoZmlsZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWZpbGVOYW1lKSByZXR1cm4gJyc7XG4gIGNvbnN0IGV4dCA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XG4gIHN3aXRjaCAoZXh0KSB7XG4gICAgY2FzZSAncGRmJzogcmV0dXJuICdhcHBsaWNhdGlvbi9wZGYnO1xuICAgIGNhc2UgJ2pwZyc6XG4gICAgY2FzZSAnanBlZyc6IHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgY2FzZSAncG5nJzogcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ2RvY3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JztcbiAgICBjYXNlICd4bHN4JzogcmV0dXJuICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc7XG4gICAgZGVmYXVsdDogcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
@@ -8,4 +8,4 @@ export const MB_IN_BYTES = 1024 * 1024;
8
8
  export function bytesToMB(bytes) {
9
9
  return Math.round((bytes / MB_IN_BYTES) * 10) / 10;
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtc2l6ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdkMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ29uc3RhbnRlcyB5IGNvbnZlcnNpw7NuIGRlIHRhbWHDsW8gZGUgYXJjaGl2by4gQ2VudHJhbGl6YSBsb3MgbsO6bWVyb3MgbcOhZ2ljb3NcclxuICogKDEwMjQpIHkgb2ZyZWNlIHVuYSBjb252ZXJzacOzbiBhIE1CIHBhcmEgbW9zdHJhciB0b3RhbGVzIGFncmVnYWRvcyBlbiBVSS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBLQl9JTl9CWVRFUyA9IDEwMjQ7XHJcbmV4cG9ydCBjb25zdCBNQl9JTl9CWVRFUyA9IDEwMjQgKiAxMDI0O1xyXG5cclxuLyoqIEJ5dGVzIC0+IE1CICgxIGRlY2ltYWwpLiBQYXJhIG1vc3RyYXIgdG90YWxlcyBhZ3JlZ2Fkb3MgKGVqLiBcIlggTUIgZGUgMjUgTUJcIikuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvTUIoYnl0ZXM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIE1hdGgucm91bmQoKGJ5dGVzIC8gTUJfSU5fQllURVMpICogMTApIC8gMTA7XHJcbn1cclxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtc2l6ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdkMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnN0YW50ZXMgeSBjb252ZXJzacOzbiBkZSB0YW1hw7FvIGRlIGFyY2hpdm8uIENlbnRyYWxpemEgbG9zIG7Dum1lcm9zIG3DoWdpY29zXG4gKiAoMTAyNCkgeSBvZnJlY2UgdW5hIGNvbnZlcnNpw7NuIGEgTUIgcGFyYSBtb3N0cmFyIHRvdGFsZXMgYWdyZWdhZG9zIGVuIFVJLlxuICovXG5leHBvcnQgY29uc3QgS0JfSU5fQllURVMgPSAxMDI0O1xuZXhwb3J0IGNvbnN0IE1CX0lOX0JZVEVTID0gMTAyNCAqIDEwMjQ7XG5cbi8qKiBCeXRlcyAtPiBNQiAoMSBkZWNpbWFsKS4gUGFyYSBtb3N0cmFyIHRvdGFsZXMgYWdyZWdhZG9zIChlai4gXCJYIE1CIGRlIDI1IE1CXCIpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9NQihieXRlczogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgucm91bmQoKGJ5dGVzIC8gTUJfSU5fQllURVMpICogMTApIC8gMTA7XG59XG4iXX0=
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
41
41
  standalone: true,
42
42
  }]
43
43
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0by1ob3JhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2Zvcm1hdG8taG9yYS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDeEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RFLENBQUM7K0dBNUJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIE11ZXN0cmEgdW5hIGhvcmEgZW4gZm9ybWF0byAxMmggY29uIGFtL3BtLlxyXG4gKiAgIHt7ICcxNDozMDowMCcgfCBmb3JtYXRvSG9yYSB9fSAg4oaSIFwiMjozMCBwbVwiXHJcbiAqICAge3sgJzA5OjAwJyAgICB8IGZvcm1hdG9Ib3JhIH19ICDihpIgXCI5IGFtXCJcclxuICogQWNlcHRhIHN0cmluZyAoY29uIEhIOm1tWzpzc10gZW4gY3VhbHF1aWVyIHBhcnRlKSwgRGF0ZSBvIElTTy5cclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZm9ybWF0b0hvcmEnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRvSG9yYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU/OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3Vycyh2YWx1ZS5nZXRIb3VycygpLCB2YWx1ZS5nZXRNaW51dGVzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0ciA9IFN0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgY29uc3QgbWF0Y2ggPSBzdHIubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsyfSkoPzo6XFxkezJ9KT8vKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xyXG4gICAgaWYgKCFpc05hTihwYXJzZWQuZ2V0VGltZSgpKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhwYXJzZWQuZ2V0SG91cnMoKSwgcGFyc2VkLmdldE1pbnV0ZXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRIb3Vycyhob3VyczogbnVtYmVyLCBtaW51dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGVyaW9kID0gaG91cnMgPj0gMTIgPyAncG0nIDogJ2FtJztcclxuICAgIGNvbnN0IGhvdXIxMiA9IGhvdXJzICUgMTIgPT09IDAgPyAxMiA6IGhvdXJzICUgMTI7XHJcbiAgICBpZiAobWludXRlcyA9PT0gMCkgcmV0dXJuIGAke2hvdXIxMn0gJHtwZXJpb2R9YDtcclxuICAgIHJldHVybiBgJHtob3VyMTJ9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9ICR7cGVyaW9kfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0by1ob3JhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2Zvcm1hdG8taG9yYS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDeEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RFLENBQUM7K0dBNUJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE11ZXN0cmEgdW5hIGhvcmEgZW4gZm9ybWF0byAxMmggY29uIGFtL3BtLlxuICogICB7eyAnMTQ6MzA6MDAnIHwgZm9ybWF0b0hvcmEgfX0gIOKGkiBcIjI6MzAgcG1cIlxuICogICB7eyAnMDk6MDAnICAgIHwgZm9ybWF0b0hvcmEgfX0gIOKGkiBcIjkgYW1cIlxuICogQWNlcHRhIHN0cmluZyAoY29uIEhIOm1tWzpzc10gZW4gY3VhbHF1aWVyIHBhcnRlKSwgRGF0ZSBvIElTTy5cbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnZm9ybWF0b0hvcmEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXRvSG9yYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlPzogc3RyaW5nIHwgRGF0ZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEhvdXJzKHZhbHVlLmdldEhvdXJzKCksIHZhbHVlLmdldE1pbnV0ZXMoKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyID0gU3RyaW5nKHZhbHVlKTtcblxuICAgIGNvbnN0IG1hdGNoID0gc3RyLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7Mn0pKD86OlxcZHsyfSk/Lyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xuICAgIGlmICghaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEhvdXJzKHBhcnNlZC5nZXRIb3VycygpLCBwYXJzZWQuZ2V0TWludXRlcygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEhvdXJzKGhvdXJzOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcGVyaW9kID0gaG91cnMgPj0gMTIgPyAncG0nIDogJ2FtJztcbiAgICBjb25zdCBob3VyMTIgPSBob3VycyAlIDEyID09PSAwID8gMTIgOiBob3VycyAlIDEyO1xuICAgIGlmIChtaW51dGVzID09PSAwKSByZXR1cm4gYCR7aG91cjEyfSAke3BlcmlvZH1gO1xuICAgIHJldHVybiBgJHtob3VyMTJ9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9ICR7cGVyaW9kfWA7XG4gIH1cbn1cbiJdfQ==
@@ -74,4 +74,4 @@ export class ListFilter {
74
74
  this._reopened = false;
75
75
  }
76
76
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvbGlzdC1maWx0ZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBWXJCOzs7T0FHRztJQUNILFlBQ21CLE1BQWlCLEVBQ2pCLEtBQXlDO1FBRHpDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0M7UUFqQnBELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLDJGQUEyRjtRQUMzRixrR0FBa0c7UUFDMUYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBZSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUoseUdBQXlHO0lBQ3pHLElBQUksT0FBTztRQUNULE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFDRSxJQUFJLENBQUMsU0FBUztZQUNkLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUztZQUN0QixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVO1lBQzlCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIExpc3RGaWx0ZXI8VD4g4oCUIHBhdHLDs24gw7puaWNvIGRlIGZpbHRyYWRvIHBhcmEgYGl1cy1pbnB1dC1zZWxlY3RgIGRlbCBlY29zaXN0ZW1hLlxyXG4gKlxyXG4gKiBDZW50cmFsaXphIGVsIGZpbHRyYWRvIGNsaWVudC1zaWRlIGRlIGxpc3RhcyBlbiBtZW1vcmlhIGNvbiBkb3MgY29tcG9ydGFtaWVudG9zOlxyXG4gKiAgLSBEZWJvdW5jZTogbG8gYXBvcnRhIGVsIHByb3BpbyBgaXVzLWlucHV0LXNlbGVjdGAgKGlucHV0IGBkZWJvdW5jZU1zYCwgZGVmYXVsdCAzMDApLlxyXG4gKiAgLSBcIlJlLWNsaWNrIG11ZXN0cmEgbGlzdGEgY29tcGxldGFcIjogYWwgcmUtZW5mb2NhciB1biBzZWxlY3QgeWEgc2VsZWNjaW9uYWRvLFxyXG4gKiAgICByZWFwYXJlY2UgbGEgbGlzdGEgY29tcGxldGEgKG1hbnRlbmllbmRvIGVsIHRleHRvKTsgYWwgdGVjbGVhciwgdnVlbHZlIGEgZmlsdHJhci5cclxuICpcclxuICogQ2xhc2UgcGxhbmEgKHNpbiBzaWduYWxzKTogZnVuY2lvbmEgZW4gY2hhbmdlIGRldGVjdGlvbiBjb24gbyBzaW4gc2lnbmFscy5cclxuICpcclxuICogVXNvOlxyXG4gKiAgIHRpcG9GaWx0ZXIgPSBuZXcgTGlzdEZpbHRlcihcclxuICogICAgICgpID0+IHRoaXMudGlwb0FjdGl2aWRhZGVzLFxyXG4gKiAgICAgKHQsIHEpID0+ICh0LnRpcG9BY3RpdmlkYWQgPz8gJycpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSksXHJcbiAqICAgKTtcclxuICogICAvLyB0ZW1wbGF0ZTpcclxuICogICAvLyAgIEBmb3IgKHQgb2YgdGlwb0ZpbHRlci52aXNpYmxlOyB0cmFjayB0LmlkKSB7IC4uLiB9XHJcbiAqICAgLy8gICAob25DaGFuZ2VzVmFsdWVFdmVudCk9XCJvblNlYXJjaCgkZXZlbnQpXCIgIC0+IGRlbnRybzogdGlwb0ZpbHRlci5zZWFyY2goJGV2ZW50KVxyXG4gKiAgIC8vICAgKG9uRm9jdXNFdmVudCk9XCJ0aXBvRmlsdGVyLnJlb3BlbigpXCJcclxuICovXHJcbmV4cG9ydCBjbGFzcyBMaXN0RmlsdGVyPFQ+IHtcclxuICBwcml2YXRlIF90ZXJtID0gJyc7XHJcbiAgcHJpdmF0ZSBfcmVvcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgLy8gTWVtb2l6YWNpw7NuOiBzb2xvIHJlLWZpbHRyYSBjdWFuZG8gY2FtYmlhIChyZWZlcmVuY2lhIGRlIGxhIGZ1ZW50ZSwgdMOpcm1pbm8gbyByZW9wZW5lZCkuXHJcbiAgLy8gRW4gZWwgcmVzdG8gZGUgY2ljbG9zIGRlIGRldGVjY2nDs24gZGV2dWVsdmUgZWwgcmVzdWx0YWRvIGNhY2hlYWRvIOKGkiBiYXJhdG8gcGFyYSBsaXN0YXMgZ3JhbmRlcy5cclxuICBwcml2YXRlIF9oYXNDYWNoZSA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2NhY2hlOiBUW10gPSBbXTtcclxuICBwcml2YXRlIF9jYWNoZVNyYzogVFtdIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfY2FjaGVUZXJtID0gJyc7XHJcbiAgcHJpdmF0ZSBfY2FjaGVSZW9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0gc291cmNlIEZ1bmNpw7NuIHF1ZSBkZXZ1ZWx2ZSBsYSBsaXN0YSBjb21wbGV0YSBhY3R1YWwgKGFzeW5jLXNhZmU6IHNlIGxlZSBlbiBjYWRhIGFjY2VzbyBhIGB2aXNpYmxlYCkuXHJcbiAgICogQHBhcmFtIG1hdGNoICBQcmVkaWNhZG8gZGUgY29pbmNpZGVuY2lhLiBgdGVybWAgbGxlZ2EgeWEgZW4gbWluw7pzY3VsYXMuXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogKCkgPT4gVFtdLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRjaDogKGl0ZW06IFQsIHRlcm06IHN0cmluZykgPT4gYm9vbGVhbixcclxuICApIHt9XHJcblxyXG4gIC8qKiBMaXN0YSBhIHJlbmRlcml6YXIgZW4gZWwgYEBmb3JgLiBNZW1vaXphZGE6IHJlLWZpbHRyYSBzb2xvIGN1YW5kbyBjYW1iaWFuIGZ1ZW50ZS90w6lybWluby9yZW9wZW5lZC4gKi9cclxuICBnZXQgdmlzaWJsZSgpOiBUW10ge1xyXG4gICAgY29uc3QgYWxsID0gdGhpcy5zb3VyY2UoKSA/PyBbXTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5faGFzQ2FjaGUgJiZcclxuICAgICAgYWxsID09PSB0aGlzLl9jYWNoZVNyYyAmJlxyXG4gICAgICB0aGlzLl90ZXJtID09PSB0aGlzLl9jYWNoZVRlcm0gJiZcclxuICAgICAgdGhpcy5fcmVvcGVuZWQgPT09IHRoaXMuX2NhY2hlUmVvcGVuZWRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY2FjaGU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0ID1cclxuICAgICAgdGhpcy5fcmVvcGVuZWQgfHwgIXRoaXMuX3Rlcm0udHJpbSgpXHJcbiAgICAgICAgPyBhbGxcclxuICAgICAgICA6IGFsbC5maWx0ZXIoKGkpID0+IHRoaXMubWF0Y2goaSwgdGhpcy5fdGVybS50b0xvd2VyQ2FzZSgpKSk7XHJcblxyXG4gICAgdGhpcy5fY2FjaGUgPSByZXN1bHQ7XHJcbiAgICB0aGlzLl9jYWNoZVNyYyA9IGFsbDtcclxuICAgIHRoaXMuX2NhY2hlVGVybSA9IHRoaXMuX3Rlcm07XHJcbiAgICB0aGlzLl9jYWNoZVJlb3BlbmVkID0gdGhpcy5fcmVvcGVuZWQ7XHJcbiAgICB0aGlzLl9oYXNDYWNoZSA9IHRydWU7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqIFTDqXJtaW5vIGRlIGZpbHRybyBhY3R1YWwgKHNpbiBub3JtYWxpemFyKS4gKi9cclxuICBnZXQgdGVybSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rlcm07XHJcbiAgfVxyXG5cclxuICAvKiogTGxhbWFyIGRlc2RlIGVsIGhhbmRsZXIgZGUgYsO6c3F1ZWRhIChhbCB0ZWNsZWFyKTogYXBhZ2EgZWwgXCJtb3N0cmFyIHRvZG9cIiB5IGZpbHRyYS4gKi9cclxuICBzZWFyY2godGVybTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZW9wZW5lZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fdGVybSA9IHRlcm0gPz8gJyc7XHJcbiAgfVxyXG5cclxuICAvKiogTGxhbWFyIGRlc2RlIGAob25Gb2N1c0V2ZW50KWA6IG11ZXN0cmEgbGEgbGlzdGEgY29tcGxldGEgc2luIHBlcmRlciBlbCB0ZXh0by4gKi9cclxuICByZW9wZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZW9wZW5lZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiogTGltcGlhIHTDqXJtaW5vIHkgZXN0YWRvIChlai4gYWwgYWJyaXIvY2VycmFyIHVuIGZvcm11bGFyaW8pLiAqL1xyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdGVybSA9ICcnO1xyXG4gICAgdGhpcy5fcmVvcGVuZWQgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvbGlzdC1maWx0ZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBWXJCOzs7T0FHRztJQUNILFlBQ21CLE1BQWlCLEVBQ2pCLEtBQXlDO1FBRHpDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0M7UUFqQnBELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLDJGQUEyRjtRQUMzRixrR0FBa0c7UUFDMUYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBZSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUoseUdBQXlHO0lBQ3pHLElBQUksT0FBTztRQUNULE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFDRSxJQUFJLENBQUMsU0FBUztZQUNkLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUztZQUN0QixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVO1lBQzlCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaXN0RmlsdGVyPFQ+IOKAlCBwYXRyw7NuIMO6bmljbyBkZSBmaWx0cmFkbyBwYXJhIGBpdXMtaW5wdXQtc2VsZWN0YCBkZWwgZWNvc2lzdGVtYS5cbiAqXG4gKiBDZW50cmFsaXphIGVsIGZpbHRyYWRvIGNsaWVudC1zaWRlIGRlIGxpc3RhcyBlbiBtZW1vcmlhIGNvbiBkb3MgY29tcG9ydGFtaWVudG9zOlxuICogIC0gRGVib3VuY2U6IGxvIGFwb3J0YSBlbCBwcm9waW8gYGl1cy1pbnB1dC1zZWxlY3RgIChpbnB1dCBgZGVib3VuY2VNc2AsIGRlZmF1bHQgMzAwKS5cbiAqICAtIFwiUmUtY2xpY2sgbXVlc3RyYSBsaXN0YSBjb21wbGV0YVwiOiBhbCByZS1lbmZvY2FyIHVuIHNlbGVjdCB5YSBzZWxlY2Npb25hZG8sXG4gKiAgICByZWFwYXJlY2UgbGEgbGlzdGEgY29tcGxldGEgKG1hbnRlbmllbmRvIGVsIHRleHRvKTsgYWwgdGVjbGVhciwgdnVlbHZlIGEgZmlsdHJhci5cbiAqXG4gKiBDbGFzZSBwbGFuYSAoc2luIHNpZ25hbHMpOiBmdW5jaW9uYSBlbiBjaGFuZ2UgZGV0ZWN0aW9uIGNvbiBvIHNpbiBzaWduYWxzLlxuICpcbiAqIFVzbzpcbiAqICAgdGlwb0ZpbHRlciA9IG5ldyBMaXN0RmlsdGVyKFxuICogICAgICgpID0+IHRoaXMudGlwb0FjdGl2aWRhZGVzLFxuICogICAgICh0LCBxKSA9PiAodC50aXBvQWN0aXZpZGFkID8/ICcnKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpLFxuICogICApO1xuICogICAvLyB0ZW1wbGF0ZTpcbiAqICAgLy8gICBAZm9yICh0IG9mIHRpcG9GaWx0ZXIudmlzaWJsZTsgdHJhY2sgdC5pZCkgeyAuLi4gfVxuICogICAvLyAgIChvbkNoYW5nZXNWYWx1ZUV2ZW50KT1cIm9uU2VhcmNoKCRldmVudClcIiAgLT4gZGVudHJvOiB0aXBvRmlsdGVyLnNlYXJjaCgkZXZlbnQpXG4gKiAgIC8vICAgKG9uRm9jdXNFdmVudCk9XCJ0aXBvRmlsdGVyLnJlb3BlbigpXCJcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RGaWx0ZXI8VD4ge1xuICBwcml2YXRlIF90ZXJtID0gJyc7XG4gIHByaXZhdGUgX3Jlb3BlbmVkID0gZmFsc2U7XG5cbiAgLy8gTWVtb2l6YWNpw7NuOiBzb2xvIHJlLWZpbHRyYSBjdWFuZG8gY2FtYmlhIChyZWZlcmVuY2lhIGRlIGxhIGZ1ZW50ZSwgdMOpcm1pbm8gbyByZW9wZW5lZCkuXG4gIC8vIEVuIGVsIHJlc3RvIGRlIGNpY2xvcyBkZSBkZXRlY2Npw7NuIGRldnVlbHZlIGVsIHJlc3VsdGFkbyBjYWNoZWFkbyDihpIgYmFyYXRvIHBhcmEgbGlzdGFzIGdyYW5kZXMuXG4gIHByaXZhdGUgX2hhc0NhY2hlID0gZmFsc2U7XG4gIHByaXZhdGUgX2NhY2hlOiBUW10gPSBbXTtcbiAgcHJpdmF0ZSBfY2FjaGVTcmM6IFRbXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9jYWNoZVRlcm0gPSAnJztcbiAgcHJpdmF0ZSBfY2FjaGVSZW9wZW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gc291cmNlIEZ1bmNpw7NuIHF1ZSBkZXZ1ZWx2ZSBsYSBsaXN0YSBjb21wbGV0YSBhY3R1YWwgKGFzeW5jLXNhZmU6IHNlIGxlZSBlbiBjYWRhIGFjY2VzbyBhIGB2aXNpYmxlYCkuXG4gICAqIEBwYXJhbSBtYXRjaCAgUHJlZGljYWRvIGRlIGNvaW5jaWRlbmNpYS4gYHRlcm1gIGxsZWdhIHlhIGVuIG1pbsO6c2N1bGFzLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U6ICgpID0+IFRbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdGNoOiAoaXRlbTogVCwgdGVybTogc3RyaW5nKSA9PiBib29sZWFuLFxuICApIHt9XG5cbiAgLyoqIExpc3RhIGEgcmVuZGVyaXphciBlbiBlbCBgQGZvcmAuIE1lbW9pemFkYTogcmUtZmlsdHJhIHNvbG8gY3VhbmRvIGNhbWJpYW4gZnVlbnRlL3TDqXJtaW5vL3Jlb3BlbmVkLiAqL1xuICBnZXQgdmlzaWJsZSgpOiBUW10ge1xuICAgIGNvbnN0IGFsbCA9IHRoaXMuc291cmNlKCkgPz8gW107XG4gICAgaWYgKFxuICAgICAgdGhpcy5faGFzQ2FjaGUgJiZcbiAgICAgIGFsbCA9PT0gdGhpcy5fY2FjaGVTcmMgJiZcbiAgICAgIHRoaXMuX3Rlcm0gPT09IHRoaXMuX2NhY2hlVGVybSAmJlxuICAgICAgdGhpcy5fcmVvcGVuZWQgPT09IHRoaXMuX2NhY2hlUmVvcGVuZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgdGhpcy5fcmVvcGVuZWQgfHwgIXRoaXMuX3Rlcm0udHJpbSgpXG4gICAgICAgID8gYWxsXG4gICAgICAgIDogYWxsLmZpbHRlcigoaSkgPT4gdGhpcy5tYXRjaChpLCB0aGlzLl90ZXJtLnRvTG93ZXJDYXNlKCkpKTtcblxuICAgIHRoaXMuX2NhY2hlID0gcmVzdWx0O1xuICAgIHRoaXMuX2NhY2hlU3JjID0gYWxsO1xuICAgIHRoaXMuX2NhY2hlVGVybSA9IHRoaXMuX3Rlcm07XG4gICAgdGhpcy5fY2FjaGVSZW9wZW5lZCA9IHRoaXMuX3Jlb3BlbmVkO1xuICAgIHRoaXMuX2hhc0NhY2hlID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIFTDqXJtaW5vIGRlIGZpbHRybyBhY3R1YWwgKHNpbiBub3JtYWxpemFyKS4gKi9cbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGVybTtcbiAgfVxuXG4gIC8qKiBMbGFtYXIgZGVzZGUgZWwgaGFuZGxlciBkZSBiw7pzcXVlZGEgKGFsIHRlY2xlYXIpOiBhcGFnYSBlbCBcIm1vc3RyYXIgdG9kb1wiIHkgZmlsdHJhLiAqL1xuICBzZWFyY2godGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcmVvcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLl90ZXJtID0gdGVybSA/PyAnJztcbiAgfVxuXG4gIC8qKiBMbGFtYXIgZGVzZGUgYChvbkZvY3VzRXZlbnQpYDogbXVlc3RyYSBsYSBsaXN0YSBjb21wbGV0YSBzaW4gcGVyZGVyIGVsIHRleHRvLiAqL1xuICByZW9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVvcGVuZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqIExpbXBpYSB0w6lybWlubyB5IGVzdGFkbyAoZWouIGFsIGFicmlyL2NlcnJhciB1biBmb3JtdWxhcmlvKS4gKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGVybSA9ICcnO1xuICAgIHRoaXMuX3Jlb3BlbmVkID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -13,4 +13,4 @@ export * from './date-format.util';
13
13
  export * from './file-mime.util';
14
14
  export * from './file-size.util';
15
15
  export * from './list-filter.util';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogRW50cnktcG9pbnQgc2VjdW5kYXJpbzogQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlsc1xyXG4gKlxyXG4gKiBVdGlsaWRhZGVzIGNvbXBhcnRpZGFzIChzaW4gVUkpIHBhcmEgdG9kYXMgbGFzIGFwcHMgZGVsIGVjb3Npc3RlbWE6XHJcbiAqIG1vbmVkYSwgZmVjaGFzL2hvcmFzIHkgYXJjaGl2b3MuIEV2aXRhIGR1cGxpY2FyIGVzdGUgY8OzZGlnbyBlbiBjYWRhIGFwcC5cclxuICpcclxuICogVXNvOlxyXG4gKiAgIGltcG9ydCB7IEN1cnJlbmN5Rm9ybWF0UGlwZSwgcGFyc2VMb2NhbERhdGUgfSBmcm9tICdAbGl0aWdpb3ZpcnR1YWwvaXVzLWRlc2lnbi1jb21wb25lbnRzL3V0aWxzJztcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZm9ybWF0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdG8taG9yYS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWZvcm1hdC51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLW1pbWUudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1zaXplLnV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3QtZmlsdGVyLnV0aWwnO1xyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEVudHJ5LXBvaW50IHNlY3VuZGFyaW86IEBsaXRpZ2lvdmlydHVhbC9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHNcbiAqXG4gKiBVdGlsaWRhZGVzIGNvbXBhcnRpZGFzIChzaW4gVUkpIHBhcmEgdG9kYXMgbGFzIGFwcHMgZGVsIGVjb3Npc3RlbWE6XG4gKiBtb25lZGEsIGZlY2hhcy9ob3JhcyB5IGFyY2hpdm9zLiBFdml0YSBkdXBsaWNhciBlc3RlIGPDs2RpZ28gZW4gY2FkYSBhcHAuXG4gKlxuICogVXNvOlxuICogICBpbXBvcnQgeyBDdXJyZW5jeUZvcm1hdFBpcGUsIHBhcnNlTG9jYWxEYXRlIH0gZnJvbSAnQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscyc7XG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZm9ybWF0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXRvLWhvcmEucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtZm9ybWF0LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLW1pbWUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtc2l6ZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1maWx0ZXIudXRpbCc7XG4iXX0=
@@ -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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"}