{ "version": 3, "sources": ["libs/galaxy/datepicker/src/datepicker/datepicker-selection.ts", "libs/galaxy/datepicker/src/datepicker/datepicker.component.ts", "libs/galaxy/datepicker/src/datepicker/datepicker.component.html", "libs/galaxy/datepicker/src/datepicker.module.ts"], "sourcesContent": ["export enum DatePickerSelection {\n single = 'single',\n range = 'range',\n}\n", "import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n Inject,\n} from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { DateRange, getUTCEndOfDay } from '@vendasta/galaxy/utility/date-utils';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport { DatePickerSelection } from './datepicker-selection';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { getLocale } from '@vendasta/galaxy/utility/locale';\nimport { DateFnsAdapter } from '@angular/material-date-fns-adapter';\nimport { GalaxyDateAdapter, MY_DATE_FORMATS } from '../date-adapter';\n\n@Component({\n selector: 'glxy-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n providers: [\n { provide: MAT_DATE_LOCALE, useValue: getLocale() },\n {\n provide: DateAdapter,\n useClass: DateFnsAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_DATE_FORMATS },\n ],\n})\nexport class DatepickerComponent implements OnChanges, OnInit, OnDestroy {\n @HostBinding('class') class = 'glxy-datepicker';\n\n /* Config option for choosing to select a single date or a date range from the datepicker. */\n @Input() selection: DatePickerSelection = DatePickerSelection.single;\n\n /* A single date to set the datepicker to. The \"selection\" input needs to be set to single as well. */\n @Input() date?: Date;\n\n /* A date range (start and end date) to set the datepicker to. The \"selection\" input needs to be set to range as well. */\n @Input() dateRange?: DateRange;\n\n /* Allows for selection of dates in the future. Otherwise, users can only select up to the current date. */\n @Input() futureDates?: boolean;\n\n /* An override for the label to be displayed when no date is selected. */\n @Input() label?: string;\n\n /*\n * When the \"selection\" is single and a date is selected that value is emitted.\n * When the \"selection\" is range and a start AND end date is selected that pair of values is emitted.\n */\n @Output() dateSelected = new EventEmitter();\n\n private destroyed$: ReplaySubject = new ReplaySubject(1);\n\n maxDate: Date | undefined = new Date();\n\n constructor(private _adapter: DateAdapter, @Inject(MAT_DATE_LOCALE) private _locale: string) {}\n\n start = new UntypedFormControl();\n end = new UntypedFormControl();\n range = new UntypedFormGroup({\n start: this.start,\n end: this.end,\n });\n\n ngOnInit(): void {\n if (this.date && this.selection === DatePickerSelection.single) {\n this.start.setValue(new Date(this.date.getUTCFullYear(), this.date.getUTCMonth(), this.date.getUTCDate()));\n }\n\n if (this.dateRange && this.dateRange.start && this.dateRange.end && this.selection === DatePickerSelection.range) {\n this.start.setValue(\n new Date(\n this.dateRange.start.getUTCFullYear(),\n this.dateRange.start.getUTCMonth(),\n this.dateRange.start.getUTCDate(),\n ),\n );\n this.end.setValue(\n new Date(\n this.dateRange.end.getUTCFullYear(),\n this.dateRange.end.getUTCMonth(),\n this.dateRange.end.getUTCDate(),\n ),\n );\n }\n\n this.range.valueChanges\n .pipe(\n debounceTime(200),\n filter(() => this.range.valid),\n distinctUntilChanged(\n (a: DateRange, b: DateRange) =>\n a.start?.valueOf() === b.start?.valueOf() && a.end?.valueOf() === b.end?.valueOf(),\n ),\n takeUntil(this.destroyed$),\n )\n .subscribe((value) => {\n let dateSelected: Date | DateRange | undefined = value?.start\n ? new Date(Date.UTC(value.start.getFullYear(), value.start.getMonth(), value.start.getDate()))\n : undefined;\n if (this.selection === DatePickerSelection.range) {\n const end = value?.end\n ? getUTCEndOfDay(new Date(Date.UTC(value.end.getFullYear(), value.end.getMonth(), value.end.getDate())))\n : undefined;\n dateSelected = {\n start: dateSelected,\n end: end,\n };\n }\n this.dateSelected.emit(dateSelected);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // handle the \"futureDate\" input changing\n if (changes.futureDates && changes.futureDates.currentValue) {\n if (changes.futureDates.currentValue) {\n this.maxDate = undefined;\n } else {\n this.maxDate = new Date();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n}\n", "
\n \n \n \n \n {{ label || 'GALAXY.DATEPICKER.SELECT_DATE' | translate }}\n \n \n \n \n \n {{ 'GALAXY.DATEPICKER.INVALID_DATE' | translate }}\n \n \n {{ 'GALAXY.DATEPICKER.MAX_DATE_ERROR' | translate }}\n \n \n \n \n \n \n {{ label || 'GALAXY.DATE_RANGE.SELECT_DATE_RANGE' | translate }}\n \n \n \n \n \n \n \n \n {{ 'GALAXY.DATE_RANGE.ERROR_MESSAGE' | translate }}\n \n \n {{ 'GALAXY.DATE_RANGE.ERROR_MESSAGE' | translate }}\n \n \n {{ 'GALAXY.DATEPICKER.MAX_DATE_ERROR' | translate }}\n \n \n \n \n
\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { GalaxyInputModule } from '@vendasta/galaxy/input';\nimport { GalaxyWrapModule } from '@vendasta/galaxy/galaxy-wrap';\n\nimport { DatepickerComponent } from './datepicker/datepicker.component';\nimport { DateRangePresetsComponent } from './date-range-presets/date-range-presets.component';\nimport { MatDateFnsModule } from '@angular/material-date-fns-adapter';\n\nexport const MODULE_IMPORTS = [\n MatDateFnsModule,\n CommonModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatIconModule,\n MatButtonModule,\n MatDividerModule,\n MatCardModule,\n MatFormFieldModule,\n MatInputModule,\n MatRadioModule,\n OverlayModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n GalaxyInputModule,\n GalaxyWrapModule,\n];\n\nexport const MODULE_DECLARATIONS = [DatepickerComponent, DateRangePresetsComponent];\n\n@NgModule({\n declarations: MODULE_DECLARATIONS,\n imports: MODULE_IMPORTS,\n exports: MODULE_DECLARATIONS,\n})\nexport class GalaxyDatepickerModule {}\n"], "mappings": "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", "names": ["DatePickerSelection", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275template", "DatepickerComponent_ng_container_2_mat_error_9_Template", "DatepickerComponent_ng_container_2_mat_error_10_Template", "\u0275\u0275property", "ctx_r1", "range", "label", "picker_r1", "maxDate", "start", "hasError", "DatepickerComponent_ng_container_3_mat_error_11_Template", "DatepickerComponent_ng_container_3_mat_error_12_Template", "DatepickerComponent_ng_container_3_mat_error_13_Template", "picker_r3", "controls", "end", "DatepickerComponent", "constructor", "_adapter", "_locale", "class", "selection", "DatePickerSelection", "single", "dateSelected", "EventEmitter", "destroyed$", "ReplaySubject", "Date", "UntypedFormControl", "UntypedFormGroup", "ngOnInit", "date", "setValue", "getUTCFullYear", "getUTCMonth", "getUTCDate", "dateRange", "valueChanges", "pipe", "debounceTime", "filter", "valid", "distinctUntilChanged", "a", "b", "valueOf", "takeUntil", "subscribe", "value", "UTC", "getFullYear", "getMonth", "getDate", "undefined", "getUTCEndOfDay", "emit", "ngOnChanges", "changes", "futureDates", "currentValue", "ngOnDestroy", "next", "complete", "\u0275\u0275directiveInject", "DateAdapter", "MAT_DATE_LOCALE", "selectors", "hostVars", "hostBindings", "rf", "ctx", "\u0275\u0275classMap", "provide", "useValue", "getLocale", "useClass", "DateFnsAdapter", "deps", "MAT_DATE_FORMATS", "MY_DATE_FORMATS", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "DatepickerComponent_ng_container_2_Template", "DatepickerComponent_ng_container_3_Template", "_DatepickerComponent", "MODULE_IMPORTS", "MatDateFnsModule", "CommonModule", "MatDatepickerModule", "MatNativeDateModule", "MatIconModule", "MatButtonModule", "MatDividerModule", "MatCardModule", "MatFormFieldModule", "MatInputModule", "MatRadioModule", "OverlayModule", "TranslateModule", "FormsModule", "ReactiveFormsModule", "GalaxyInputModule", "GalaxyWrapModule", "GalaxyDatepickerModule", "MODULE_IMPORTS", "_GalaxyDatepickerModule"] }