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.
- package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs +2 -2
- package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs +2 -2
- package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-datepicker-range.mjs +179 -10
- package/fesm2022/mapa-library-ui-src-lib-components-datepicker-range.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs +178 -6
- package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs +2 -2
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs +2 -2
- package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs +142 -6
- package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-form.mjs +192 -18
- package/fesm2022/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs +2 -2
- package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-input.mjs +140 -4
- package/fesm2022/mapa-library-ui-src-lib-components-input.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-table.mjs +33 -0
- package/fesm2022/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs +2 -2
- package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs.map +1 -1
- package/fesm2022/mapa-library-ui-src-lib-core-utils.mjs +34 -1
- package/fesm2022/mapa-library-ui-src-lib-core-utils.mjs.map +1 -1
- package/fesm2022/mapa-library-ui.mjs +196 -23
- package/fesm2022/mapa-library-ui.mjs.map +1 -1
- package/index.d.ts +60 -2
- package/mapa-library-ui-1.7.3.tgz +0 -0
- package/package.json +1 -1
- package/src/lib/core/utils/index.d.ts +15 -1
- 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
|
}
|