mapa-library-ui 1.1.2 → 1.1.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.
@@ -342,14 +342,13 @@ class MapaDatepickerRange {
342
342
  return first.getTime() === second.getTime();
343
343
  }
344
344
  cleanDatepicker() {
345
- const defaultRange = getRelativeDateRange(this.defaultDaysBack);
346
- const nextValue = {
347
- startDate: formatDateAsDayMonthYear(defaultRange.startDate),
348
- endDate: formatDateAsDayMonthYear(defaultRange.endDate),
345
+ const defaultRange = {
346
+ startDate: null,
347
+ endDate: null,
349
348
  };
350
349
  this.formDatepicker.patchValue(defaultRange, { emitEvent: false });
351
- this.formDisplay.patchValue(nextValue, { emitEvent: false });
352
- this.patchExternalValue(nextValue);
350
+ this.formDisplay.patchValue(defaultRange, { emitEvent: false });
351
+ this.patchExternalValue(defaultRange);
353
352
  this.cdr.markForCheck();
354
353
  }
355
354
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: MapaDatepickerRange, deps: [{ token: MapaI18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-datepicker-range.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/utils/date.util.ts","../../../projects/mapa-library-ui/src/lib/core/i18n/mapa-ui-texts.ts","../../../projects/mapa-library-ui/src/lib/core/services/mapa-i18n.service.ts","../../../projects/mapa-library-ui/src/lib/components/datepicker-range/src/datepicker-range.component.ts","../../../projects/mapa-library-ui/src/lib/components/datepicker-range/src/datepicker-range.component.html","../../../projects/mapa-library-ui/src/lib/components/datepicker-range/public-api.ts","../../../projects/mapa-library-ui/src/datepicker-range.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-datepicker-range.ts"],"sourcesContent":["const DAY_MONTH_YEAR_PATTERN = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/;\n\nfunction isValidDate(date: Date): boolean {\n return !Number.isNaN(date.getTime());\n}\n\nexport function formatDateAsDayMonthYear(date: Date): string {\n const day = `${date.getDate()}`.padStart(2, \"0\");\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const year = `${date.getFullYear()}`;\n\n return `${day}/${month}/${year}`;\n}\n\nexport function parseDateValue(value: unknown): Date | null {\n if (value instanceof Date) {\n return isValidDate(value) ? new Date(value.getTime()) : null;\n }\n\n if (typeof value === \"number\") {\n const parsedDate = new Date(value);\n return isValidDate(parsedDate) ? parsedDate : null;\n }\n\n if (typeof value !== \"string\") {\n return null;\n }\n\n const trimmedValue = value.trim();\n if (!trimmedValue) {\n return null;\n }\n\n const dayMonthYearMatch = DAY_MONTH_YEAR_PATTERN.exec(trimmedValue);\n if (dayMonthYearMatch) {\n const [, dayValue, monthValue, yearValue] = dayMonthYearMatch;\n const day = Number(dayValue);\n const month = Number(monthValue);\n const year = Number(yearValue);\n const parsedDate = new Date(year, month - 1, day);\n\n if (\n parsedDate.getFullYear() === year &&\n parsedDate.getMonth() === month - 1 &&\n parsedDate.getDate() === day\n ) {\n return parsedDate;\n }\n\n return null;\n }\n\n const parsedDate = new Date(trimmedValue);\n return isValidDate(parsedDate) ? parsedDate : null;\n}\n\nexport function isDateValue(value: unknown): boolean {\n return parseDateValue(value) !== null;\n}\n\nexport function getRelativeDateRange(daysBack: number): {\n startDate: Date;\n endDate: Date;\n} {\n const endDate = new Date();\n endDate.setHours(23, 59, 59, 999);\n\n const startDate = new Date();\n startDate.setHours(0, 0, 0, 0);\n startDate.setDate(startDate.getDate() - daysBack);\n\n return { startDate, endDate };\n}\n","import { InjectionToken, Provider } from \"@angular/core\";\n\nexport interface ValidationMessageContext {\n actualLength?: number;\n max?: number;\n min?: number;\n requiredLength?: number;\n}\n\nexport type ValidationTextResolver =\n | string\n | ((context?: ValidationMessageContext) => string);\n\nexport interface MapaUiTexts {\n common: {\n selectAll: string;\n };\n filters: {\n clear: string;\n submit: string;\n };\n datepicker: {\n startDatePlaceholder: string;\n endDatePlaceholder: string;\n };\n capability: {\n groupAverageTitle: string;\n individualAverageTitle: string;\n conceptTitle: string;\n resultTitle: string;\n positiveIndicatorsTitle: string;\n negativeIndicatorsTitle: string;\n riskIndicatorsTitle: string;\n precipitationRiskTitle: string;\n negligenceRiskTitle: string;\n negativeDirectionLabel: string;\n positiveDirectionLabel: string;\n };\n paginator: {\n itemsPerPage: string;\n nextPage: string;\n previousPage: string;\n rangeLabel: (page: number, pageSize: number, length: number) => string;\n showingRangeLabel: (\n page: number,\n pageSize: number,\n length: number\n ) => string;\n };\n table: {\n emptyTitle: string;\n emptySubtitle: string;\n };\n validation: {\n cnpj: ValidationTextResolver;\n cpf: ValidationTextResolver;\n email: ValidationTextResolver;\n max: ValidationTextResolver;\n maxLength: ValidationTextResolver;\n min: ValidationTextResolver;\n minLength: ValidationTextResolver;\n pattern: ValidationTextResolver;\n required: ValidationTextResolver;\n };\n}\n\nexport type PartialMapaUiTexts = Partial<{\n [K in keyof MapaUiTexts]: Partial<MapaUiTexts[K]>;\n}>;\n\nexport const MAPA_UI_TEXTS = new InjectionToken<PartialMapaUiTexts>(\n \"MAPA_UI_TEXTS\"\n);\n\nexport const MAPA_UI_DEFAULT_TEXTS: MapaUiTexts = {\n common: {\n selectAll: \"Selecionar todos\",\n },\n filters: {\n clear: \"Limpar filtros\",\n submit: \"Filtrar\",\n },\n datepicker: {\n startDatePlaceholder: \"Data inicial\",\n endDatePlaceholder: \"Data final\",\n },\n capability: {\n groupAverageTitle: \"Média geral do grupo\",\n individualAverageTitle: \"Média geral do indivíduo\",\n conceptTitle: \"Conceito\",\n resultTitle: \"Resultado\",\n positiveIndicatorsTitle: \"Indicadores positivos\",\n negativeIndicatorsTitle: \"Indicadores negativos\",\n riskIndicatorsTitle: \"Indicadores de risco\",\n precipitationRiskTitle: \"Risco de acidente por precipitação\",\n negligenceRiskTitle: \"Risco de acidente por negligência\",\n negativeDirectionLabel: \"Direção Negativa |\",\n positiveDirectionLabel: \"Direção Positiva |\",\n },\n paginator: {\n itemsPerPage: \"Itens por página\",\n nextPage: \"Próxima página\",\n previousPage: \"Página anterior\",\n rangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 de ${length}`;\n }\n\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n },\n showingRangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0) {\n return \"Mostrando 0 - 0 de 0 item\";\n }\n\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n const itemLabel = length === 1 ? \"item\" : \"itens\";\n\n return `Mostrando ${startIndex + 1} - ${endIndex} de ${length} ${itemLabel}`;\n },\n },\n table: {\n emptyTitle: \"Nao foram encontrados resultados\",\n emptySubtitle: \"\",\n },\n validation: {\n cnpj: \"CNPJ inválido\",\n cpf: \"CPF inválido\",\n email: \"E-mail inválido\",\n max: (context?: ValidationMessageContext) =>\n `O valor máximo permitido é ${context?.max ?? \"\"}`.trim(),\n maxLength: (context?: ValidationMessageContext) =>\n `O máximo permitido é ${context?.requiredLength ?? \"\"} caracteres`.trim(),\n min: (context?: ValidationMessageContext) =>\n `O valor minimo permitido é ${context?.min ?? \"\"}`.trim(),\n minLength: (context?: ValidationMessageContext) =>\n `O mínimo permitido é ${context?.requiredLength ?? \"\"} caracteres`.trim(),\n pattern: \"Formato inválido\",\n required: \"Campo obrigatório\",\n },\n};\n\nexport function mergeMapaUiTexts(\n customTexts?: PartialMapaUiTexts | null\n): MapaUiTexts {\n return {\n common: {\n ...MAPA_UI_DEFAULT_TEXTS.common,\n ...(customTexts?.common ?? {}),\n },\n filters: {\n ...MAPA_UI_DEFAULT_TEXTS.filters,\n ...(customTexts?.filters ?? {}),\n },\n datepicker: {\n ...MAPA_UI_DEFAULT_TEXTS.datepicker,\n ...(customTexts?.datepicker ?? {}),\n },\n capability: {\n ...MAPA_UI_DEFAULT_TEXTS.capability,\n ...(customTexts?.capability ?? {}),\n },\n paginator: {\n ...MAPA_UI_DEFAULT_TEXTS.paginator,\n ...(customTexts?.paginator ?? {}),\n },\n table: {\n ...MAPA_UI_DEFAULT_TEXTS.table,\n ...(customTexts?.table ?? {}),\n },\n validation: {\n ...MAPA_UI_DEFAULT_TEXTS.validation,\n ...(customTexts?.validation ?? {}),\n },\n };\n}\n\nexport function provideMapaUiTexts(texts: PartialMapaUiTexts): Provider {\n return {\n provide: MAPA_UI_TEXTS,\n useValue: texts,\n };\n}\n","import { Inject, Injectable, Injector, Optional, inject, signal } from \"@angular/core\";\nimport { toObservable } from \"@angular/core/rxjs-interop\";\nimport {\n MAPA_UI_TEXTS,\n MapaUiTexts,\n PartialMapaUiTexts,\n ValidationMessageContext,\n ValidationTextResolver,\n mergeMapaUiTexts,\n} from \"../i18n/mapa-ui-texts\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MapaI18nService {\n private readonly injector = inject(Injector);\n private readonly textsState = signal<MapaUiTexts>(mergeMapaUiTexts());\n\n readonly textsSignal = this.textsState.asReadonly();\n readonly texts$ = toObservable(this.textsSignal, { injector: this.injector });\n\n constructor(\n @Optional() @Inject(MAPA_UI_TEXTS) customTexts: PartialMapaUiTexts | null\n ) {\n if (customTexts) {\n this.textsState.set(mergeMapaUiTexts(customTexts));\n }\n }\n\n get texts(): MapaUiTexts {\n return this.textsState();\n }\n\n setTexts(texts: PartialMapaUiTexts): void {\n this.textsState.set(mergeMapaUiTexts(texts));\n }\n\n resolveValidationText(\n key: keyof MapaUiTexts[\"validation\"],\n context?: ValidationMessageContext\n ): string {\n return this.resolveText(this.texts.validation[key], context);\n }\n\n private resolveText(\n value: ValidationTextResolver,\n context?: ValidationMessageContext\n ): string {\n return typeof value === \"function\" ? value(context) : value;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject,\n} from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport {\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n} from \"@angular/forms\";\nimport { provideNativeDateAdapter } from \"@angular/material/core\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { NgxMaskDirective, provideNgxMask } from \"ngx-mask\";\nimport { MapaI18nService } from \"../../../core/services/mapa-i18n.service\";\nimport {\n formatDateAsDayMonthYear,\n getRelativeDateRange,\n parseDateValue,\n} from \"../../../core/utils/date.util\";\nimport { DatepickerRange } from \"../../../core/elements/datepicker-range\";\n\nexport interface MapaDatepickerRangeControlValue {\n startDate: string | null;\n endDate: string | null;\n}\n\nexport type MapaDatepickerRangeFormGroup = FormGroup;\n\ntype MapaDatepickerInternalRangeValue = {\n startDate: Date | null;\n endDate: Date | null;\n};\n\ntype MapaDatepickerInternalRangeFormGroup = FormGroup<{\n startDate: FormControl<MapaDatepickerInternalRangeValue[\"startDate\"]>;\n endDate: FormControl<MapaDatepickerInternalRangeValue[\"endDate\"]>;\n}>;\n\ntype MapaDatepickerRangeDisplayFormGroup = FormGroup<{\n startDate: FormControl<string | null>;\n endDate: FormControl<string | null>;\n}>;\n\nexport const MAPA_DATEPICKER_RANGE_FORMATS = {\n parse: {\n dateInput: \"DD/MM/YYYY\",\n },\n display: {\n dateInput: \"DD/MM/YYYY\",\n monthYearLabel: \"MMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\",\n },\n};\n\n@Component({\n selector: \"mapa-datepicker-range\",\n templateUrl: \"./datepicker-range.component.html\",\n styleUrl: \"./datepicker-range.component.scss\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n NgxMaskDirective,\n MatDatepickerModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n ],\n providers: [\n provideNgxMask(),\n provideNativeDateAdapter(MAPA_DATEPICKER_RANGE_FORMATS),\n ],\n standalone: true,\n})\nexport class MapaDatepickerRange implements OnInit {\n @Input() formGroup!: FormGroup;\n @Input() element!: DatepickerRange;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly defaultDaysBack = 60;\n private readonly emptyValue: MapaDatepickerRangeControlValue = {\n startDate: null,\n endDate: null,\n };\n\n readonly formDatepicker: MapaDatepickerInternalRangeFormGroup = new FormGroup({\n startDate: new FormControl<Date | null>(null),\n endDate: new FormControl<Date | null>(null),\n });\n\n readonly formDisplay: MapaDatepickerRangeDisplayFormGroup = new FormGroup({\n startDate: new FormControl<string | null>(null),\n endDate: new FormControl<string | null>(null),\n });\n\n rangeControl!: FormControl<MapaDatepickerRangeControlValue | null>;\n\n constructor(\n private readonly i18n: MapaI18nService,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n get texts() {\n return this.i18n.textsSignal();\n }\n\n ngOnInit(): void {\n if (!this.element?.key) {\n throw new Error(\"mapa-datepicker-range requires element.key to resolve the target control.\");\n }\n\n this.rangeControl = this.formGroup.get(this.element.key) as FormControl<\n MapaDatepickerRangeControlValue | null\n >;\n\n if (!this.rangeControl) {\n throw new Error(\n `mapa-datepicker-range could not find control '${this.element.key}' in formGroup.`\n );\n }\n\n this.syncFromExternal(this.rangeControl.value);\n\n this.rangeControl.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.syncFromExternal(value);\n });\n\n this.formDisplay.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.updateExternalFromDisplay(value);\n });\n\n this.formDatepicker.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.updateExternalFromDatepicker(value);\n });\n }\n\n get startDatePlaceholder(): string {\n return this.texts.datepicker.startDatePlaceholder;\n }\n\n get endDatePlaceholder(): string {\n return this.texts.datepicker.endDatePlaceholder;\n }\n\n private syncFromExternal(value: MapaDatepickerRangeControlValue | null): void {\n const nextValue = value ?? this.emptyValue;\n const displayValue: MapaDatepickerRangeControlValue = {\n startDate: nextValue.startDate,\n endDate: nextValue.endDate,\n };\n const datepickerValue: MapaDatepickerInternalRangeValue = {\n startDate: parseDateValue(nextValue.startDate),\n endDate: parseDateValue(nextValue.endDate),\n };\n\n const currentDisplay = this.formDisplay.getRawValue();\n if (\n currentDisplay.startDate !== displayValue.startDate ||\n currentDisplay.endDate !== displayValue.endDate\n ) {\n this.formDisplay.patchValue(displayValue, { emitEvent: false });\n }\n\n const currentDatepicker = this.formDatepicker.getRawValue();\n if (\n !this.areDatesEqual(currentDatepicker.startDate, datepickerValue.startDate) ||\n !this.areDatesEqual(currentDatepicker.endDate, datepickerValue.endDate)\n ) {\n this.formDatepicker.patchValue(datepickerValue, { emitEvent: false });\n }\n\n this.cdr.markForCheck();\n }\n\n private updateExternalFromDisplay(\n value: Partial<MapaDatepickerRangeControlValue>\n ): void {\n const nextValue: MapaDatepickerRangeControlValue = {\n startDate: value.startDate ?? null,\n endDate: value.endDate ?? null,\n };\n\n this.patchExternalValue(nextValue);\n\n const nextDatepickerValue: MapaDatepickerInternalRangeValue = {\n startDate: parseDateValue(nextValue.startDate),\n endDate: parseDateValue(nextValue.endDate),\n };\n this.formDatepicker.patchValue(nextDatepickerValue, { emitEvent: false });\n this.cdr.markForCheck();\n }\n\n private updateExternalFromDatepicker(\n value: Partial<MapaDatepickerInternalRangeValue>\n ): void {\n if (!value.startDate || !value.endDate) {\n return;\n }\n\n const nextValue: MapaDatepickerRangeControlValue = {\n startDate: formatDateAsDayMonthYear(value.startDate),\n endDate: formatDateAsDayMonthYear(value.endDate),\n };\n\n this.patchExternalValue(nextValue);\n this.formDisplay.patchValue(nextValue, { emitEvent: false });\n this.cdr.markForCheck();\n }\n\n private patchExternalValue(nextValue: MapaDatepickerRangeControlValue): void {\n const currentValue = this.rangeControl.value;\n\n if (\n currentValue?.startDate === nextValue.startDate &&\n currentValue?.endDate === nextValue.endDate\n ) {\n return;\n }\n\n this.rangeControl.patchValue(nextValue);\n }\n\n private areDatesEqual(first: Date | null, second: Date | null): boolean {\n if (first === second) {\n return true;\n }\n\n if (!first || !second) {\n return false;\n }\n\n return first.getTime() === second.getTime();\n }\n\n cleanDatepicker() {\n const defaultRange = getRelativeDateRange(this.defaultDaysBack);\n const nextValue: MapaDatepickerRangeControlValue = {\n startDate: formatDateAsDayMonthYear(defaultRange.startDate),\n endDate: formatDateAsDayMonthYear(defaultRange.endDate),\n };\n\n this.formDatepicker.patchValue(defaultRange, { emitEvent: false });\n this.formDisplay.patchValue(nextValue, { emitEvent: false });\n this.patchExternalValue(nextValue);\n this.cdr.markForCheck();\n }\n}\n\nexport type MapaDatepickerRangeComponent = MapaDatepickerRange;\n","@if (element.label) {\n <div class=\"mapa-datepicker-range__label\">\n {{ element.label }}\n </div>\n}\n<section class=\"mapa-datepicker-range\" [formGroup]=\"formDisplay\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n class=\"mapa-datepicker-range__start-date\"\n >\n <input\n matInput\n formControlName=\"startDate\"\n [placeholder]=\"startDatePlaceholder\"\n mask=\"00/00/0000\"\n />\n </mat-form-field>\n <div class=\"mapa-datepicker-range__divider\">&ndash;</div>\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n class=\"mapa-datepicker-range__end-date\"\n >\n <input\n matInput\n formControlName=\"endDate\"\n [placeholder]=\"endDatePlaceholder\"\n mask=\"00/00/0000\"\n />\n <mat-icon matSuffix (click)=\"cleanDatepicker()\">close</mat-icon>\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker touchUi=\"true\" #picker></mat-date-range-picker>\n </mat-form-field>\n</section>\n<section class=\"mapa--hidden\">\n <mat-form-field [formGroup]=\"formDatepicker\">\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"startDate\" />\n <input matEndDate formControlName=\"endDate\" />\n </mat-date-range-input>\n </mat-form-field>\n</section>\n","/*\n * Public API Surface of mapa-library-ui datepicker-range\n */\n\nexport * from './src/datepicker-range.component';","/*\n * Public API Surface of mapa-library-ui datepicker-range\n */\n\nexport * from './lib/components/datepicker-range/public-api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './datepicker-range';\n"],"names":["i1.MapaI18nService"],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-datepicker-range.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/utils/date.util.ts","../../../projects/mapa-library-ui/src/lib/core/i18n/mapa-ui-texts.ts","../../../projects/mapa-library-ui/src/lib/core/services/mapa-i18n.service.ts","../../../projects/mapa-library-ui/src/lib/components/datepicker-range/src/datepicker-range.component.ts","../../../projects/mapa-library-ui/src/lib/components/datepicker-range/src/datepicker-range.component.html","../../../projects/mapa-library-ui/src/lib/components/datepicker-range/public-api.ts","../../../projects/mapa-library-ui/src/datepicker-range.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-datepicker-range.ts"],"sourcesContent":["const DAY_MONTH_YEAR_PATTERN = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/;\n\nfunction isValidDate(date: Date): boolean {\n return !Number.isNaN(date.getTime());\n}\n\nexport function formatDateAsDayMonthYear(date: Date): string {\n const day = `${date.getDate()}`.padStart(2, \"0\");\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const year = `${date.getFullYear()}`;\n\n return `${day}/${month}/${year}`;\n}\n\nexport function parseDateValue(value: unknown): Date | null {\n if (value instanceof Date) {\n return isValidDate(value) ? new Date(value.getTime()) : null;\n }\n\n if (typeof value === \"number\") {\n const parsedDate = new Date(value);\n return isValidDate(parsedDate) ? parsedDate : null;\n }\n\n if (typeof value !== \"string\") {\n return null;\n }\n\n const trimmedValue = value.trim();\n if (!trimmedValue) {\n return null;\n }\n\n const dayMonthYearMatch = DAY_MONTH_YEAR_PATTERN.exec(trimmedValue);\n if (dayMonthYearMatch) {\n const [, dayValue, monthValue, yearValue] = dayMonthYearMatch;\n const day = Number(dayValue);\n const month = Number(monthValue);\n const year = Number(yearValue);\n const parsedDate = new Date(year, month - 1, day);\n\n if (\n parsedDate.getFullYear() === year &&\n parsedDate.getMonth() === month - 1 &&\n parsedDate.getDate() === day\n ) {\n return parsedDate;\n }\n\n return null;\n }\n\n const parsedDate = new Date(trimmedValue);\n return isValidDate(parsedDate) ? parsedDate : null;\n}\n\nexport function isDateValue(value: unknown): boolean {\n return parseDateValue(value) !== null;\n}\n\nexport function getRelativeDateRange(daysBack: number): {\n startDate: Date;\n endDate: Date;\n} {\n const endDate = new Date();\n endDate.setHours(23, 59, 59, 999);\n\n const startDate = new Date();\n startDate.setHours(0, 0, 0, 0);\n startDate.setDate(startDate.getDate() - daysBack);\n\n return { startDate, endDate };\n}\n","import { InjectionToken, Provider } from \"@angular/core\";\n\nexport interface ValidationMessageContext {\n actualLength?: number;\n max?: number;\n min?: number;\n requiredLength?: number;\n}\n\nexport type ValidationTextResolver =\n | string\n | ((context?: ValidationMessageContext) => string);\n\nexport interface MapaUiTexts {\n common: {\n selectAll: string;\n };\n filters: {\n clear: string;\n submit: string;\n };\n datepicker: {\n startDatePlaceholder: string;\n endDatePlaceholder: string;\n };\n capability: {\n groupAverageTitle: string;\n individualAverageTitle: string;\n conceptTitle: string;\n resultTitle: string;\n positiveIndicatorsTitle: string;\n negativeIndicatorsTitle: string;\n riskIndicatorsTitle: string;\n precipitationRiskTitle: string;\n negligenceRiskTitle: string;\n negativeDirectionLabel: string;\n positiveDirectionLabel: string;\n };\n paginator: {\n itemsPerPage: string;\n nextPage: string;\n previousPage: string;\n rangeLabel: (page: number, pageSize: number, length: number) => string;\n showingRangeLabel: (\n page: number,\n pageSize: number,\n length: number\n ) => string;\n };\n table: {\n emptyTitle: string;\n emptySubtitle: string;\n };\n validation: {\n cnpj: ValidationTextResolver;\n cpf: ValidationTextResolver;\n email: ValidationTextResolver;\n max: ValidationTextResolver;\n maxLength: ValidationTextResolver;\n min: ValidationTextResolver;\n minLength: ValidationTextResolver;\n pattern: ValidationTextResolver;\n required: ValidationTextResolver;\n };\n}\n\nexport type PartialMapaUiTexts = Partial<{\n [K in keyof MapaUiTexts]: Partial<MapaUiTexts[K]>;\n}>;\n\nexport const MAPA_UI_TEXTS = new InjectionToken<PartialMapaUiTexts>(\n \"MAPA_UI_TEXTS\"\n);\n\nexport const MAPA_UI_DEFAULT_TEXTS: MapaUiTexts = {\n common: {\n selectAll: \"Selecionar todos\",\n },\n filters: {\n clear: \"Limpar filtros\",\n submit: \"Filtrar\",\n },\n datepicker: {\n startDatePlaceholder: \"Data inicial\",\n endDatePlaceholder: \"Data final\",\n },\n capability: {\n groupAverageTitle: \"Média geral do grupo\",\n individualAverageTitle: \"Média geral do indivíduo\",\n conceptTitle: \"Conceito\",\n resultTitle: \"Resultado\",\n positiveIndicatorsTitle: \"Indicadores positivos\",\n negativeIndicatorsTitle: \"Indicadores negativos\",\n riskIndicatorsTitle: \"Indicadores de risco\",\n precipitationRiskTitle: \"Risco de acidente por precipitação\",\n negligenceRiskTitle: \"Risco de acidente por negligência\",\n negativeDirectionLabel: \"Direção Negativa |\",\n positiveDirectionLabel: \"Direção Positiva |\",\n },\n paginator: {\n itemsPerPage: \"Itens por página\",\n nextPage: \"Próxima página\",\n previousPage: \"Página anterior\",\n rangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 de ${length}`;\n }\n\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n },\n showingRangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0) {\n return \"Mostrando 0 - 0 de 0 item\";\n }\n\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n const itemLabel = length === 1 ? \"item\" : \"itens\";\n\n return `Mostrando ${startIndex + 1} - ${endIndex} de ${length} ${itemLabel}`;\n },\n },\n table: {\n emptyTitle: \"Nao foram encontrados resultados\",\n emptySubtitle: \"\",\n },\n validation: {\n cnpj: \"CNPJ inválido\",\n cpf: \"CPF inválido\",\n email: \"E-mail inválido\",\n max: (context?: ValidationMessageContext) =>\n `O valor máximo permitido é ${context?.max ?? \"\"}`.trim(),\n maxLength: (context?: ValidationMessageContext) =>\n `O máximo permitido é ${context?.requiredLength ?? \"\"} caracteres`.trim(),\n min: (context?: ValidationMessageContext) =>\n `O valor minimo permitido é ${context?.min ?? \"\"}`.trim(),\n minLength: (context?: ValidationMessageContext) =>\n `O mínimo permitido é ${context?.requiredLength ?? \"\"} caracteres`.trim(),\n pattern: \"Formato inválido\",\n required: \"Campo obrigatório\",\n },\n};\n\nexport function mergeMapaUiTexts(\n customTexts?: PartialMapaUiTexts | null\n): MapaUiTexts {\n return {\n common: {\n ...MAPA_UI_DEFAULT_TEXTS.common,\n ...(customTexts?.common ?? {}),\n },\n filters: {\n ...MAPA_UI_DEFAULT_TEXTS.filters,\n ...(customTexts?.filters ?? {}),\n },\n datepicker: {\n ...MAPA_UI_DEFAULT_TEXTS.datepicker,\n ...(customTexts?.datepicker ?? {}),\n },\n capability: {\n ...MAPA_UI_DEFAULT_TEXTS.capability,\n ...(customTexts?.capability ?? {}),\n },\n paginator: {\n ...MAPA_UI_DEFAULT_TEXTS.paginator,\n ...(customTexts?.paginator ?? {}),\n },\n table: {\n ...MAPA_UI_DEFAULT_TEXTS.table,\n ...(customTexts?.table ?? {}),\n },\n validation: {\n ...MAPA_UI_DEFAULT_TEXTS.validation,\n ...(customTexts?.validation ?? {}),\n },\n };\n}\n\nexport function provideMapaUiTexts(texts: PartialMapaUiTexts): Provider {\n return {\n provide: MAPA_UI_TEXTS,\n useValue: texts,\n };\n}\n","import { Inject, Injectable, Injector, Optional, inject, signal } from \"@angular/core\";\nimport { toObservable } from \"@angular/core/rxjs-interop\";\nimport {\n MAPA_UI_TEXTS,\n MapaUiTexts,\n PartialMapaUiTexts,\n ValidationMessageContext,\n ValidationTextResolver,\n mergeMapaUiTexts,\n} from \"../i18n/mapa-ui-texts\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MapaI18nService {\n private readonly injector = inject(Injector);\n private readonly textsState = signal<MapaUiTexts>(mergeMapaUiTexts());\n\n readonly textsSignal = this.textsState.asReadonly();\n readonly texts$ = toObservable(this.textsSignal, { injector: this.injector });\n\n constructor(\n @Optional() @Inject(MAPA_UI_TEXTS) customTexts: PartialMapaUiTexts | null\n ) {\n if (customTexts) {\n this.textsState.set(mergeMapaUiTexts(customTexts));\n }\n }\n\n get texts(): MapaUiTexts {\n return this.textsState();\n }\n\n setTexts(texts: PartialMapaUiTexts): void {\n this.textsState.set(mergeMapaUiTexts(texts));\n }\n\n resolveValidationText(\n key: keyof MapaUiTexts[\"validation\"],\n context?: ValidationMessageContext\n ): string {\n return this.resolveText(this.texts.validation[key], context);\n }\n\n private resolveText(\n value: ValidationTextResolver,\n context?: ValidationMessageContext\n ): string {\n return typeof value === \"function\" ? value(context) : value;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject,\n} from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport {\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n} from \"@angular/forms\";\nimport { provideNativeDateAdapter } from \"@angular/material/core\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { NgxMaskDirective, provideNgxMask } from \"ngx-mask\";\nimport { MapaI18nService } from \"../../../core/services/mapa-i18n.service\";\nimport {\n formatDateAsDayMonthYear,\n getRelativeDateRange,\n parseDateValue,\n} from \"../../../core/utils/date.util\";\nimport { DatepickerRange } from \"../../../core/elements/datepicker-range\";\n\nexport interface MapaDatepickerRangeControlValue {\n startDate: string | null;\n endDate: string | null;\n}\n\nexport type MapaDatepickerRangeFormGroup = FormGroup;\n\ntype MapaDatepickerInternalRangeValue = {\n startDate: Date | null;\n endDate: Date | null;\n};\n\ntype MapaDatepickerInternalRangeFormGroup = FormGroup<{\n startDate: FormControl<MapaDatepickerInternalRangeValue[\"startDate\"]>;\n endDate: FormControl<MapaDatepickerInternalRangeValue[\"endDate\"]>;\n}>;\n\ntype MapaDatepickerRangeDisplayFormGroup = FormGroup<{\n startDate: FormControl<string | null>;\n endDate: FormControl<string | null>;\n}>;\n\nexport const MAPA_DATEPICKER_RANGE_FORMATS = {\n parse: {\n dateInput: \"DD/MM/YYYY\",\n },\n display: {\n dateInput: \"DD/MM/YYYY\",\n monthYearLabel: \"MMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\",\n },\n};\n\n@Component({\n selector: \"mapa-datepicker-range\",\n templateUrl: \"./datepicker-range.component.html\",\n styleUrl: \"./datepicker-range.component.scss\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n NgxMaskDirective,\n MatDatepickerModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n ],\n providers: [\n provideNgxMask(),\n provideNativeDateAdapter(MAPA_DATEPICKER_RANGE_FORMATS),\n ],\n standalone: true,\n})\nexport class MapaDatepickerRange implements OnInit {\n @Input() formGroup!: FormGroup;\n @Input() element!: DatepickerRange;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly defaultDaysBack = 60;\n private readonly emptyValue: MapaDatepickerRangeControlValue = {\n startDate: null,\n endDate: null,\n };\n\n readonly formDatepicker: MapaDatepickerInternalRangeFormGroup = new FormGroup({\n startDate: new FormControl<Date | null>(null),\n endDate: new FormControl<Date | null>(null),\n });\n\n readonly formDisplay: MapaDatepickerRangeDisplayFormGroup = new FormGroup({\n startDate: new FormControl<string | null>(null),\n endDate: new FormControl<string | null>(null),\n });\n\n rangeControl!: FormControl<MapaDatepickerRangeControlValue | null>;\n\n constructor(\n private readonly i18n: MapaI18nService,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n get texts() {\n return this.i18n.textsSignal();\n }\n\n ngOnInit(): void {\n if (!this.element?.key) {\n throw new Error(\"mapa-datepicker-range requires element.key to resolve the target control.\");\n }\n\n this.rangeControl = this.formGroup.get(this.element.key) as FormControl<\n MapaDatepickerRangeControlValue | null\n >;\n\n if (!this.rangeControl) {\n throw new Error(\n `mapa-datepicker-range could not find control '${this.element.key}' in formGroup.`\n );\n }\n\n this.syncFromExternal(this.rangeControl.value);\n\n this.rangeControl.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.syncFromExternal(value);\n });\n\n this.formDisplay.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.updateExternalFromDisplay(value);\n });\n\n this.formDatepicker.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.updateExternalFromDatepicker(value);\n });\n }\n\n get startDatePlaceholder(): string {\n return this.texts.datepicker.startDatePlaceholder;\n }\n\n get endDatePlaceholder(): string {\n return this.texts.datepicker.endDatePlaceholder;\n }\n\n private syncFromExternal(value: MapaDatepickerRangeControlValue | null): void {\n const nextValue = value ?? this.emptyValue;\n const displayValue: MapaDatepickerRangeControlValue = {\n startDate: nextValue.startDate,\n endDate: nextValue.endDate,\n };\n const datepickerValue: MapaDatepickerInternalRangeValue = {\n startDate: parseDateValue(nextValue.startDate),\n endDate: parseDateValue(nextValue.endDate),\n };\n\n const currentDisplay = this.formDisplay.getRawValue();\n if (\n currentDisplay.startDate !== displayValue.startDate ||\n currentDisplay.endDate !== displayValue.endDate\n ) {\n this.formDisplay.patchValue(displayValue, { emitEvent: false });\n }\n\n const currentDatepicker = this.formDatepicker.getRawValue();\n if (\n !this.areDatesEqual(currentDatepicker.startDate, datepickerValue.startDate) ||\n !this.areDatesEqual(currentDatepicker.endDate, datepickerValue.endDate)\n ) {\n this.formDatepicker.patchValue(datepickerValue, { emitEvent: false });\n }\n\n this.cdr.markForCheck();\n }\n\n private updateExternalFromDisplay(\n value: Partial<MapaDatepickerRangeControlValue>\n ): void {\n const nextValue: MapaDatepickerRangeControlValue = {\n startDate: value.startDate ?? null,\n endDate: value.endDate ?? null,\n };\n\n this.patchExternalValue(nextValue);\n\n const nextDatepickerValue: MapaDatepickerInternalRangeValue = {\n startDate: parseDateValue(nextValue.startDate),\n endDate: parseDateValue(nextValue.endDate),\n };\n this.formDatepicker.patchValue(nextDatepickerValue, { emitEvent: false });\n this.cdr.markForCheck();\n }\n\n private updateExternalFromDatepicker(\n value: Partial<MapaDatepickerInternalRangeValue>\n ): void {\n if (!value.startDate || !value.endDate) {\n return;\n }\n\n const nextValue: MapaDatepickerRangeControlValue = {\n startDate: formatDateAsDayMonthYear(value.startDate),\n endDate: formatDateAsDayMonthYear(value.endDate),\n };\n\n this.patchExternalValue(nextValue);\n this.formDisplay.patchValue(nextValue, { emitEvent: false });\n this.cdr.markForCheck();\n }\n\n private patchExternalValue(nextValue: MapaDatepickerRangeControlValue): void {\n const currentValue = this.rangeControl.value;\n\n if (\n currentValue?.startDate === nextValue.startDate &&\n currentValue?.endDate === nextValue.endDate\n ) {\n return;\n }\n\n this.rangeControl.patchValue(nextValue);\n }\n\n private areDatesEqual(first: Date | null, second: Date | null): boolean {\n if (first === second) {\n return true;\n }\n\n if (!first || !second) {\n return false;\n }\n\n return first.getTime() === second.getTime();\n }\n\n cleanDatepicker() {\n const defaultRange = {\n startDate: null,\n endDate: null,\n };\n\n this.formDatepicker.patchValue(defaultRange, { emitEvent: false });\n this.formDisplay.patchValue(defaultRange, { emitEvent: false });\n this.patchExternalValue(defaultRange);\n this.cdr.markForCheck();\n }\n}\n\nexport type MapaDatepickerRangeComponent = MapaDatepickerRange;\n","@if (element.label) {\n <div class=\"mapa-datepicker-range__label\">\n {{ element.label }}\n </div>\n}\n<section class=\"mapa-datepicker-range\" [formGroup]=\"formDisplay\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n class=\"mapa-datepicker-range__start-date\"\n >\n <input\n matInput\n formControlName=\"startDate\"\n [placeholder]=\"startDatePlaceholder\"\n mask=\"00/00/0000\"\n />\n </mat-form-field>\n <div class=\"mapa-datepicker-range__divider\">&ndash;</div>\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n class=\"mapa-datepicker-range__end-date\"\n >\n <input\n matInput\n formControlName=\"endDate\"\n [placeholder]=\"endDatePlaceholder\"\n mask=\"00/00/0000\"\n />\n <mat-icon matSuffix (click)=\"cleanDatepicker()\">close</mat-icon>\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker touchUi=\"true\" #picker></mat-date-range-picker>\n </mat-form-field>\n</section>\n<section class=\"mapa--hidden\">\n <mat-form-field [formGroup]=\"formDatepicker\">\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"startDate\" />\n <input matEndDate formControlName=\"endDate\" />\n </mat-date-range-input>\n </mat-form-field>\n</section>\n","/*\n * Public API Surface of mapa-library-ui datepicker-range\n */\n\nexport * from './src/datepicker-range.component';","/*\n * Public API Surface of mapa-library-ui datepicker-range\n */\n\nexport * from './lib/components/datepicker-range/public-api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './datepicker-range';\n"],"names":["i1.MapaI18nService"],"mappings":"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"}
@@ -815,14 +815,13 @@ class MapaDatepickerRange {
815
815
  return first.getTime() === second.getTime();
816
816
  }
817
817
  cleanDatepicker() {
818
- const defaultRange = getRelativeDateRange(this.defaultDaysBack);
819
- const nextValue = {
820
- startDate: formatDateAsDayMonthYear(defaultRange.startDate),
821
- endDate: formatDateAsDayMonthYear(defaultRange.endDate),
818
+ const defaultRange = {
819
+ startDate: null,
820
+ endDate: null,
822
821
  };
823
822
  this.formDatepicker.patchValue(defaultRange, { emitEvent: false });
824
- this.formDisplay.patchValue(nextValue, { emitEvent: false });
825
- this.patchExternalValue(nextValue);
823
+ this.formDisplay.patchValue(defaultRange, { emitEvent: false });
824
+ this.patchExternalValue(defaultRange);
826
825
  this.cdr.markForCheck();
827
826
  }
828
827
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: MapaDatepickerRange, deps: [{ token: MapaI18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }