import * as i0 from '@angular/core';
import { Pipe, EventEmitter, inject, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
import { ButtonComponent } from '@agorapulse/ui-components/button';
import { IconButtonComponent } from '@agorapulse/ui-components/icon-button';
import * as i1 from '@agorapulse/ui-symbol';
import { apChevronLeft, apChevronRight, SymbolComponent } from '@agorapulse/ui-symbol';
import { NgTemplateOutlet, TitleCasePipe, SlicePipe, AsyncPipe } from '@angular/common';
import dayjs from 'dayjs';
import 'dayjs/locale/de';
import 'dayjs/locale/en';
import 'dayjs/locale/es';
import 'dayjs/locale/fr';
import 'dayjs/locale/pt';
import localeData from 'dayjs/plugin/localeData';
import { injectDestroy } from 'ngxtension/inject-destroy';
import { BehaviorSubject, filter } from 'rxjs';
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';

class DayDisabledPipe {
    transform(day, todayTimestamp, minDateTimestamp, maxDateTimestamp) {
        return (day.month !== 0 ||
            (day.timestamp < todayTimestamp && !minDateTimestamp) ||
            (!!minDateTimestamp && day.timestamp < minDateTimestamp) ||
            (!!maxDateTimestamp && day.timestamp > maxDateTimestamp));
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: DayDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
    static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: DayDisabledPipe, isStandalone: true, name: "dayDisabled" });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: DayDisabledPipe, decorators: [{
            type: Pipe,
            args: [{
                    name: 'dayDisabled',
                    pure: true,
                    standalone: true,
                }]
        }] });

class NeoDatepickerComponent {
    symbolRegistry;
    ONE_DAY = 60 * 60 * 24 * 1000;
    TODAY_TIMESTAMP = Date.now() - (Date.now() % this.ONE_DAY) + new Date().getTimezoneOffset() * 1000 * 60;
    dayTemplate = undefined;
    locale = 'en';
    _maxDate;
    set maxDate(maxDate) {
        this._maxDate = maxDate;
        this.maxDateTimestamp = maxDate.toDate().getTime();
    }
    get maxDate() {
        return this._maxDate;
    }
    _minDate;
    set minDate(minDate) {
        this._minDate = minDate;
        this.minDateTimestamp = minDate.toDate().getTime();
    }
    get minDate() {
        return this._minDate;
    }
    previousMonthAvailable = true;
    _mode = 'single';
    set mode(mode) {
        this._mode = mode;
        if (this._mode === 'single') {
            this._selectedDates = this._selectedDates.slice(0, 1);
            this.selectedDaysTimestamp = new Set(Array.from(this.selectedDaysTimestamp).slice(0, 1));
        }
    }
    get mode() {
        return this._mode;
    }
    _selectedDates = [];
    set selectedDates(dates) {
        if (this._mode === 'single') {
            dates = dates.slice(0, 1);
        }
        this.selectedDaysTimestamp = new Set();
        this._selectedDates = dates;
        if (this._selectedDates.length) {
            this._selectedDates.forEach(day => {
                this.selectedDaysTimestamp.add(day.toDate().getTime());
            });
        }
    }
    get selectedDates() {
        return this._selectedDates;
    }
    startsOn = 'monday';
    datesSelected = new EventEmitter();
    nextMonth = new EventEmitter();
    previousMonth = new EventEmitter();
    currentYear;
    currentMonth;
    currentMonthDates$ = new BehaviorSubject([]);
    minDateTimestamp = undefined;
    maxDateTimestamp = undefined;
    months = [];
    selectedDaysTimestamp = new Set();
    weekDays = [];
    dayDisabledPipe = inject(DayDisabledPipe);
    destroy$ = injectDestroy();
    constructor(symbolRegistry) {
        this.symbolRegistry = symbolRegistry;
        this.symbolRegistry.registerSymbols([apChevronLeft, apChevronRight]);
    }
    ngOnInit() {
        dayjs.extend(localeData);
        const date = new Date();
        this.currentYear = date.getFullYear();
        this.currentMonth = date.getMonth();
        if (this.locale) {
            dayjs.locale(this.locale);
        }
        this.months = dayjs.months();
        this.weekDays = [...dayjs.weekdays()];
        if (this.startsOn === 'monday') {
            const sunday = this.weekDays.slice(0, 1);
            this.weekDays.splice(0, 1);
            this.weekDays = this.weekDays.concat(sunday);
        }
        this.currentMonthDates$.next(this.getMonthDetails(this.currentYear, this.currentMonth));
        this.currentMonthDates$
            .pipe(distinctUntilChanged(), filter(() => !!this.minDateTimestamp), takeUntil(this.destroy$))
            .subscribe(currentMonthDates => {
            const minDateInPreviousMonth = this.minDateTimestamp
                ? new Date(this.minDateTimestamp).getMonth() < this.currentMonth
                : undefined;
            this.previousMonthAvailable =
                !currentMonthDates.some(dayDetail => dayDetail.timestamp === this.minDateTimestamp) || !!minDateInPreviousMonth;
        });
    }
    getDayDetails(index, firstDay, month, numberOfDays, year) {
        const date = index - firstDay;
        const day = index % 7;
        let prevMonth = month - 1;
        let prevYear = year;
        if (prevMonth < 0) {
            prevMonth = 11;
            prevYear--;
        }
        const prevMonthNumberOfDays = this.getNumberOfDays(prevYear, prevMonth);
        const _date = (date < 0 ? prevMonthNumberOfDays + date : date % numberOfDays) + 1;
        const _month = date < 0 ? -1 : date >= numberOfDays ? 1 : 0;
        const newDate = new Date(year, _month + month, _date);
        const timestamp = newDate.getTime();
        const dayString = this.weekDays[day];
        return {
            date: _date,
            day,
            month: _month,
            timestamp,
            dayString,
            dayjs: dayjs(newDate),
        };
    }
    getNumberOfDays(year, month) {
        return 40 - new Date(year, month, 40).getDate();
    }
    getMonthDetails(year, month) {
        let firstDay = new Date(year, month).getDay();
        if (this.startsOn === 'monday') {
            firstDay -= 1;
        }
        // If the first day is below 0 it means the sunday is the first day of the month so we need to show the last month
        if (firstDay < 0) {
            firstDay = 6;
        }
        const numberOfDays = this.getNumberOfDays(year, month);
        const monthArray = [];
        const rows = 6;
        let currentDay = null;
        let index = 0;
        const cols = 7;
        for (let row = 0; row < rows; row++) {
            for (let col = 0; col < cols; col++) {
                currentDay = this.getDayDetails(index, firstDay, month, numberOfDays, year);
                monthArray.push(currentDay);
                index++;
            }
        }
        return monthArray;
    }
    onPreviousMonth() {
        if (this.previousMonthAvailable) {
            this.previousMonth.emit();
            this.currentMonth -= 1;
            if (this.currentMonth === -1) {
                this.currentMonth = 11;
                this.currentYear -= 1;
            }
            this.currentMonthDates$.next(this.getMonthDetails(this.currentYear, this.currentMonth));
        }
    }
    onNextMonth() {
        this.nextMonth.emit();
        this.currentMonth += 1;
        if (this.currentMonth === 12) {
            this.currentMonth = 0;
            this.currentYear += 1;
        }
        this.currentMonthDates$.next(this.getMonthDetails(this.currentYear, this.currentMonth));
    }
    onSelectDay(dayDetail) {
        const dayDisabled = this.dayDisabledPipe.transform(dayDetail, this.TODAY_TIMESTAMP, this.minDateTimestamp, this.maxDateTimestamp);
        if (!dayDisabled) {
            if (this.mode === 'single') {
                this.selectedDaysTimestamp.clear();
            }
            if (this.minDate && dayDetail.dayjs.isBefore(dayjs(this.minDate))) {
                return;
            }
            if (this.maxDate && dayDetail.dayjs.isAfter(dayjs(this.maxDate))) {
                return;
            }
            if (this.selectedDaysTimestamp.has(dayDetail.timestamp)) {
                this.selectedDaysTimestamp.delete(dayDetail.timestamp);
            }
            else {
                this.selectedDaysTimestamp.add(dayDetail.timestamp);
            }
            this.datesSelected.emit(Array.from(this.selectedDaysTimestamp).map(timestamp => dayjs(timestamp)));
        }
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NeoDatepickerComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: NeoDatepickerComponent, isStandalone: true, selector: "ap-neo-date-picker", inputs: { dayTemplate: "dayTemplate", locale: "locale", maxDate: "maxDate", minDate: "minDate", mode: "mode", selectedDates: "selectedDates", startsOn: "startsOn" }, outputs: { datesSelected: "datesSelected", nextMonth: "nextMonth", previousMonth: "previousMonth" }, providers: [DayDisabledPipe], ngImport: i0, template: "<div class=\"date-picker-container\">\n    <div class=\"date-picker\">\n        <div class=\"month-navigation\">\n            <ap-icon-button\n                name=\"neo-date-picker-previous-month\"\n                [disabled]=\"!previousMonthAvailable\"\n                (click)=\"onPreviousMonth()\">\n                <ap-symbol\n                    symbolId=\"arrow-left\"\n                    size=\"sm\" />\n            </ap-icon-button>\n            <span>{{ months[currentMonth] | titlecase }} {{ currentYear }}</span>\n            <ap-icon-button\n                name=\"neo-date-picker-next-month\"\n                (click)=\"onNextMonth()\">\n                <ap-symbol\n                    symbolId=\"arrow-right\"\n                    size=\"sm\" />\n            </ap-icon-button>\n        </div>\n        <div class=\"week-header\">\n            @for (day of weekDays; track day) {\n                <div class=\"day\">\n                    {{ day | slice: 0 : 2 | titlecase }}\n                </div>\n            }\n        </div>\n        <div class=\"days-container\">\n            @for (day of currentMonthDates$ | async; track day) {\n                @if (dayTemplate) {\n                    <ng-container\n                        [ngTemplateOutlet]=\"dayTemplate\"\n                        [ngTemplateOutletContext]=\"{ day: day }\" />\n                }\n                @if (!dayTemplate) {\n                    <div\n                        class=\"day\"\n                        [class.disabled]=\"day | dayDisabled: TODAY_TIMESTAMP : minDateTimestamp : maxDateTimestamp\"\n                        [class.today]=\"day.timestamp === TODAY_TIMESTAMP\"\n                        [class.selected]=\"selectedDaysTimestamp.has(day.timestamp)\"\n                        (click)=\"onSelectDay(day)\">\n                        <span>\n                            {{ day.date }}\n                        </span>\n                    </div>\n                }\n            }\n        </div>\n    </div>\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}:host .date-picker-container{display:flex;justify-content:center;align-items:center}:host .date-picker-container .date-picker{width:248px}:host .date-picker-container .date-picker .month-navigation{display:flex;justify-content:space-between;margin-bottom:24px}:host .date-picker-container .date-picker .month-navigation button:disabled{background:transparent}:host .date-picker-container .date-picker .month-navigation button:disabled ap-symbol{color:#d6dae0!important}:host .date-picker-container .date-picker .month-navigation button:disabled:hover{background:transparent!important}:host .date-picker-container .date-picker .month-navigation .left ap-symbol{margin-right:2px}:host .date-picker-container .date-picker .month-navigation .right ap-symbol{margin-left:2px}:host .date-picker-container .date-picker .month-navigation ap-symbol{display:grid;place-content:center}:host .date-picker-container .date-picker .month-navigation button:hover{background:#f5f5f7}:host .date-picker-container .date-picker .month-navigation span{font-style:normal;font-weight:700;font-size:16px;line-height:20px;text-align:center;color:#344563;align-items:center;display:flex}:host .date-picker-container .date-picker .week-header{display:flex;justify-content:space-between;margin-bottom:8px}:host .date-picker-container .date-picker .week-header .day{width:32px;text-align:center;font-weight:700;font-size:12px;line-height:15px;color:#aeb5c1}:host .date-picker-container .date-picker .days-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}:host .date-picker-container .date-picker .days-container .day{font-style:normal;font-weight:400;font-size:14px;line-height:128.7%;text-align:center;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100%;position:relative}:host .date-picker-container .date-picker .days-container .day:hover{cursor:pointer}:host .date-picker-container .date-picker .days-container .day:hover:not(.disabled):not(.selected){background:#f5f5f7}:host .date-picker-container .date-picker .days-container .day.today{border:1px #178dfe solid}:host .date-picker-container .date-picker .days-container .day.selected{background:#178dfe;color:#fff!important}:host .date-picker-container .date-picker .days-container .day.selected .bubble{background:#fff!important}:host .date-picker-container .date-picker .days-container .day.disabled{color:#aeb5c1}:host .date-picker-container .date-picker .days-container .day .bubble{width:4px;height:4px;border-radius:100%;bottom:3px;position:absolute;background:#178dfe}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: DayDisabledPipe, name: "dayDisabled" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NeoDatepickerComponent, decorators: [{
            type: Component,
            args: [{ selector: 'ap-neo-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [DayDisabledPipe], imports: [
                        SymbolComponent,
                        TitleCasePipe,
                        ButtonComponent,
                        SlicePipe,
                        NgTemplateOutlet,
                        DayDisabledPipe,
                        AsyncPipe,
                        IconButtonComponent,
                    ], template: "<div class=\"date-picker-container\">\n    <div class=\"date-picker\">\n        <div class=\"month-navigation\">\n            <ap-icon-button\n                name=\"neo-date-picker-previous-month\"\n                [disabled]=\"!previousMonthAvailable\"\n                (click)=\"onPreviousMonth()\">\n                <ap-symbol\n                    symbolId=\"arrow-left\"\n                    size=\"sm\" />\n            </ap-icon-button>\n            <span>{{ months[currentMonth] | titlecase }} {{ currentYear }}</span>\n            <ap-icon-button\n                name=\"neo-date-picker-next-month\"\n                (click)=\"onNextMonth()\">\n                <ap-symbol\n                    symbolId=\"arrow-right\"\n                    size=\"sm\" />\n            </ap-icon-button>\n        </div>\n        <div class=\"week-header\">\n            @for (day of weekDays; track day) {\n                <div class=\"day\">\n                    {{ day | slice: 0 : 2 | titlecase }}\n                </div>\n            }\n        </div>\n        <div class=\"days-container\">\n            @for (day of currentMonthDates$ | async; track day) {\n                @if (dayTemplate) {\n                    <ng-container\n                        [ngTemplateOutlet]=\"dayTemplate\"\n                        [ngTemplateOutletContext]=\"{ day: day }\" />\n                }\n                @if (!dayTemplate) {\n                    <div\n                        class=\"day\"\n                        [class.disabled]=\"day | dayDisabled: TODAY_TIMESTAMP : minDateTimestamp : maxDateTimestamp\"\n                        [class.today]=\"day.timestamp === TODAY_TIMESTAMP\"\n                        [class.selected]=\"selectedDaysTimestamp.has(day.timestamp)\"\n                        (click)=\"onSelectDay(day)\">\n                        <span>\n                            {{ day.date }}\n                        </span>\n                    </div>\n                }\n            }\n        </div>\n    </div>\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}:host .date-picker-container{display:flex;justify-content:center;align-items:center}:host .date-picker-container .date-picker{width:248px}:host .date-picker-container .date-picker .month-navigation{display:flex;justify-content:space-between;margin-bottom:24px}:host .date-picker-container .date-picker .month-navigation button:disabled{background:transparent}:host .date-picker-container .date-picker .month-navigation button:disabled ap-symbol{color:#d6dae0!important}:host .date-picker-container .date-picker .month-navigation button:disabled:hover{background:transparent!important}:host .date-picker-container .date-picker .month-navigation .left ap-symbol{margin-right:2px}:host .date-picker-container .date-picker .month-navigation .right ap-symbol{margin-left:2px}:host .date-picker-container .date-picker .month-navigation ap-symbol{display:grid;place-content:center}:host .date-picker-container .date-picker .month-navigation button:hover{background:#f5f5f7}:host .date-picker-container .date-picker .month-navigation span{font-style:normal;font-weight:700;font-size:16px;line-height:20px;text-align:center;color:#344563;align-items:center;display:flex}:host .date-picker-container .date-picker .week-header{display:flex;justify-content:space-between;margin-bottom:8px}:host .date-picker-container .date-picker .week-header .day{width:32px;text-align:center;font-weight:700;font-size:12px;line-height:15px;color:#aeb5c1}:host .date-picker-container .date-picker .days-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}:host .date-picker-container .date-picker .days-container .day{font-style:normal;font-weight:400;font-size:14px;line-height:128.7%;text-align:center;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100%;position:relative}:host .date-picker-container .date-picker .days-container .day:hover{cursor:pointer}:host .date-picker-container .date-picker .days-container .day:hover:not(.disabled):not(.selected){background:#f5f5f7}:host .date-picker-container .date-picker .days-container .day.today{border:1px #178dfe solid}:host .date-picker-container .date-picker .days-container .day.selected{background:#178dfe;color:#fff!important}:host .date-picker-container .date-picker .days-container .day.selected .bubble{background:#fff!important}:host .date-picker-container .date-picker .days-container .day.disabled{color:#aeb5c1}:host .date-picker-container .date-picker .days-container .day .bubble{width:4px;height:4px;border-radius:100%;bottom:3px;position:absolute;background:#178dfe}\n"] }]
        }], ctorParameters: () => [{ type: i1.SymbolRegistry }], propDecorators: { dayTemplate: [{
                type: Input
            }], locale: [{
                type: Input
            }], maxDate: [{
                type: Input
            }], minDate: [{
                type: Input
            }], mode: [{
                type: Input
            }], selectedDates: [{
                type: Input
            }], startsOn: [{
                type: Input
            }], datesSelected: [{
                type: Output
            }], nextMonth: [{
                type: Output
            }], previousMonth: [{
                type: Output
            }] } });

/**
 * Generated bundle index. Do not edit.
 */

export { DayDisabledPipe, NeoDatepickerComponent };
//# sourceMappingURL=agorapulse-ui-components-neo-datepicker.mjs.map
