import { PickersLocaleText } from './utils/pickersLocaleTextApi';
import { getPickersLocalization } from './utils/getPickersLocalization';

// Този обект не е Partial<PickersLocaleText>, защото това са стойностите по подразбиране

const bgBGPickers: PickersLocaleText<any> = {
    // Навигация в календара
    previousMonth: 'Предишен месец',
    nextMonth: 'Следващ месец',

    // Навигация на изгледа
    openPreviousView: 'отвори предишен изглед',
    openNextView: 'отвори следващ изглед',
    calendarViewSwitchingButtonAriaLabel: (view) =>
        view === 'year'
            ? 'отворен е годишен изглед, превключи към календарен изглед'
            : 'отворен е календарен изглед, превключи към годишен изглед',

    // Мяста за дата
    start: 'Начало',
    end: 'Край',

    // Акционен бар
    cancelButtonLabel: 'Отказ',
    clearButtonLabel: 'Изчисти',
    okButtonLabel: 'ОК',
    todayButtonLabel: 'Днес',

    // Заглавия на инструментална лента
    datePickerToolbarTitle: 'Изберете дата',
    dateTimePickerToolbarTitle: 'Изберете дата и час',
    timePickerToolbarTitle: 'Изберете час',
    dateRangePickerToolbarTitle: 'Изберете период на дата',

    // Етикети на часовника
    clockLabelText: (view, time, adapter) =>
        `Изберете ${view}. ${time === null ? 'Не е избрано време' : `Избраният час е ${adapter.format(time, 'fullTime')}`
        }`,
    hoursClockNumberText: (hours) => `${hours} часа`,
    minutesClockNumberText: (minutes) => `${minutes} минути`,
    secondsClockNumberText: (seconds) => `${seconds} секунди`,

    // Етикети на цифров часовник
    selectViewText: (view) => `Изберете ${view}`,

    // Етикети на календара
    calendarWeekNumberHeaderLabel: 'Номер на седмица',
    calendarWeekNumberHeaderText: '#',
    calendarWeekNumberAriaLabelText: (weekNumber) => `Седмица ${weekNumber}`,
    calendarWeekNumberText: (weekNumber) => `${weekNumber}`,

    // Етикети за отваряне на избора
    openDatePickerDialogue: (value, utils) =>
        value !== null && utils.isValid(value)
            ? `Изберете дата, избраната дата е ${utils.format(value, 'fullDate')}`
            : 'Изберете дата',
    openTimePickerDialogue: (value, utils) =>
        value !== null && utils.isValid(value)
            ? `Изберете час, избраният час е ${utils.format(value, 'fullTime')}`
            : 'Изберете час',

    fieldClearLabel: 'Изчисти стойност',

    // Етикети на таблицата
    timeTableLabel: 'изберете време',
    dateTableLabel: 'изберете дата',

    // Заместващи текстове в секции на полета
    fieldYearPlaceholder: (params) => 'Y'.repeat(params.digitAmount),
    fieldMonthPlaceholder: (params) => (params.contentType === 'letter' ? 'MMMM' : 'MM'),
    fieldDayPlaceholder: () => 'DD',
    fieldWeekDayPlaceholder: (params) => (params.contentType === 'letter' ? 'EEEE' : 'EE'),
    fieldHoursPlaceholder: () => 'hh',
    fieldMinutesPlaceholder: () => 'mm',
    fieldSecondsPlaceholder: () => 'ss',
    fieldMeridiemPlaceholder: () => 'aa',
};

export const DEFAULT_LOCALE = bgBGPickers;

export const bgBG = getPickersLocalization(bgBGPickers);
