mapa-library-ui 1.7.2 → 1.7.3

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 (33) hide show
  1. package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  2. package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  3. package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs +2 -2
  4. package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  5. package/fesm2022/mapa-library-ui-src-lib-components-datepicker-range.mjs +179 -10
  6. package/fesm2022/mapa-library-ui-src-lib-components-datepicker-range.mjs.map +1 -1
  7. package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs +178 -6
  8. package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs.map +1 -1
  9. package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs +2 -2
  10. package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  11. package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs +2 -2
  12. package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  13. package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs +142 -6
  14. package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
  15. package/fesm2022/mapa-library-ui-src-lib-components-form.mjs +192 -18
  16. package/fesm2022/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
  17. package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs +2 -2
  18. package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs.map +1 -1
  19. package/fesm2022/mapa-library-ui-src-lib-components-input.mjs +140 -4
  20. package/fesm2022/mapa-library-ui-src-lib-components-input.mjs.map +1 -1
  21. package/fesm2022/mapa-library-ui-src-lib-components-table.mjs +33 -0
  22. package/fesm2022/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  23. package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs +2 -2
  24. package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs.map +1 -1
  25. package/fesm2022/mapa-library-ui-src-lib-core-utils.mjs +34 -1
  26. package/fesm2022/mapa-library-ui-src-lib-core-utils.mjs.map +1 -1
  27. package/fesm2022/mapa-library-ui.mjs +196 -23
  28. package/fesm2022/mapa-library-ui.mjs.map +1 -1
  29. package/index.d.ts +60 -2
  30. package/mapa-library-ui-1.7.3.tgz +0 -0
  31. package/package.json +1 -1
  32. package/src/lib/core/utils/index.d.ts +15 -1
  33. package/mapa-library-ui-1.7.2.tgz +0 -0
@@ -566,6 +566,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImpo
566
566
 
567
567
  const DAY_MONTH_YEAR_PATTERN = /^(\d{2})\/(\d{2})\/(\d{4})$/;
568
568
  const MONTH_DAY_YEAR_PATTERN = /^(\d{2})\/(\d{2})\/(\d{4})$/;
569
+ const ISO_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}([T ].*)?$/;
569
570
  const DOCS_LANGUAGE_STORAGE_KEY = "mapa-library-ui-docs-language";
570
571
  function isValidDate(date) {
571
572
  return !Number.isNaN(date.getTime());
@@ -690,6 +691,38 @@ function parseDateValue(value, locale = getActiveDateLocale()) {
690
691
  const parsedDate = new Date(trimmedValue);
691
692
  return isValidDate(parsedDate) ? parsedDate : null;
692
693
  }
694
+ /**
695
+ * Parse estrito para o texto de um campo de data mascarado.
696
+ *
697
+ * Diferente de `parseDateValue`, não cai em `new Date(string)` para qualquer
698
+ * entrada. O motor de datas do V8 aceita fragmentos numéricos e devolve datas
699
+ * inventadas — `"2"` vira 01/02/2001 e `"251220"` vira o ano 251220 —, o que
700
+ * fazia os datepickers moverem o calendário a cada tecla enquanto o usuário
701
+ * ainda estava digitando.
702
+ *
703
+ * Aceita apenas uma data completa no formato do locale ativo (com validação de
704
+ * faixa de dia/mês) ou uma data ISO-8601, para não quebrar valores vindos de
705
+ * API que o consumidor grave direto no controle.
706
+ */
707
+ function parseDateFieldValue(value, locale = getActiveDateLocale()) {
708
+ if (value instanceof Date || typeof value === "number") {
709
+ return parseDateValue(value, locale);
710
+ }
711
+ if (typeof value !== "string") {
712
+ return null;
713
+ }
714
+ const trimmedValue = value.trim();
715
+ if (!trimmedValue) {
716
+ return null;
717
+ }
718
+ const localeDate = parseLocaleDateValue(trimmedValue, locale);
719
+ if (localeDate) {
720
+ return localeDate;
721
+ }
722
+ return ISO_DATE_PATTERN.test(trimmedValue)
723
+ ? parseDateValue(trimmedValue, locale)
724
+ : null;
725
+ }
693
726
  function isDateValue(value) {
694
727
  return parseDateValue(value) !== null;
695
728
  }