diff --git a/packages/x-date-pickers/src/DateTimePicker/DateTimePickerToolbar.tsx b/packages/x-date-pickers/src/DateTimePicker/DateTimePickerToolbar.tsx index b7b1bb7d8c57..e5efff44c03d 100644 --- a/packages/x-date-pickers/src/DateTimePicker/DateTimePickerToolbar.tsx +++ b/packages/x-date-pickers/src/DateTimePicker/DateTimePickerToolbar.tsx @@ -11,6 +11,7 @@ import { DateTimePickerToolbarClasses, getDateTimePickerToolbarUtilityClass, } from './dateTimePickerToolbarClasses'; +import { resolveViewTypeFromView } from './shared'; export interface DateTimePickerToolbarProps extends BaseToolbarProps { classes?: Partial; @@ -122,6 +123,7 @@ export function DateTimePickerToolbar( isMobileKeyboardViewOpen={isMobileKeyboardViewOpen} toggleMobileKeyboardView={toggleMobileKeyboardView} className={classes.root} + viewType={resolveViewTypeFromView(openView)} {...other} isLandscape={false} ownerState={ownerState} diff --git a/packages/x-date-pickers/src/DateTimePicker/shared.ts b/packages/x-date-pickers/src/DateTimePicker/shared.ts index ba17d6ce4e16..71ee2acf0cb0 100644 --- a/packages/x-date-pickers/src/DateTimePicker/shared.ts +++ b/packages/x-date-pickers/src/DateTimePicker/shared.ts @@ -7,7 +7,7 @@ import { DateTimeValidationError } from '../internals/hooks/validation/useDateTi import { ValidationProps } from '../internals/hooks/validation/useValidation'; import { BasePickerProps } from '../internals/models/props/basePickerProps'; import { ExportedDateInputProps } from '../internals/components/PureDateInput'; -import { CalendarOrClockPickerView } from '../internals/models'; +import { CalendarOrClockPickerView, ViewType } from '../internals/models'; import { PickerStateValueManager } from '../internals/hooks/usePickerState'; import { parsePickerInputValue, parseNonNullablePickerDate } from '../internals/utils/date-utils'; import { BaseToolbarProps } from '../internals/models/props/baseToolbarProps'; @@ -146,3 +146,14 @@ export const dateTimePickerValueManager: PickerStateValueManager parseInput: parsePickerInputValue, areValuesEqual: (utils, a, b) => utils.isEqual(a, b), }; + +export const resolveViewTypeFromView = (view: CalendarOrClockPickerView): ViewType => { + switch (view) { + case 'year': + case 'month': + case 'day': + return 'calendar'; + default: + return 'clock'; + } +}; diff --git a/packages/x-date-pickers/src/internals/components/PickersToolbar.tsx b/packages/x-date-pickers/src/internals/components/PickersToolbar.tsx index 3145e606656a..82b9c61cd52e 100644 --- a/packages/x-date-pickers/src/internals/components/PickersToolbar.tsx +++ b/packages/x-date-pickers/src/internals/components/PickersToolbar.tsx @@ -13,6 +13,7 @@ import { pickersToolbarClasses, PickersToolbarClasses, } from './pickersToolbarClasses'; +import { ViewType } from '../models'; export interface PickersToolbarProps extends Pick< @@ -20,7 +21,7 @@ export interface PickersToolbarProps 'getMobileKeyboardInputViewButtonText' | 'isMobileKeyboardViewOpen' | 'toggleMobileKeyboardView' > { className?: string; - viewType?: 'calendar' | 'clock'; + viewType?: ViewType; isLandscape: boolean; landscapeDirection?: 'row' | 'column'; toolbarTitle: React.ReactNode; @@ -83,7 +84,7 @@ const PickersToolbarPenIconButton = styled(IconButton, { ownerState: PickersToolbarProps; }>({}); -const getViewTypeIcon = (viewType: 'calendar' | 'clock') => +const getViewTypeIcon = (viewType: ViewType) => viewType === 'clock' ? : ; type PickersToolbarComponent = (( diff --git a/packages/x-date-pickers/src/internals/models/props/baseToolbarProps.ts b/packages/x-date-pickers/src/internals/models/props/baseToolbarProps.ts index 8f275ccedf87..07990ed7e246 100644 --- a/packages/x-date-pickers/src/internals/models/props/baseToolbarProps.ts +++ b/packages/x-date-pickers/src/internals/models/props/baseToolbarProps.ts @@ -1,5 +1,5 @@ import * as React from 'react'; -import { CalendarOrClockPickerView } from '../views'; +import { CalendarOrClockPickerView, ViewType } from '../views'; import type { PickerOnChangeFn } from '../../hooks/useViews'; import type { ExportedCalendarPickerProps } from '../../../CalendarPicker/CalendarPicker'; import type { ExportedClockPickerProps } from '../../../ClockPicker/ClockPicker'; @@ -15,12 +15,12 @@ export interface BaseToolbarProps * Text for aria label of the button switching between input and interactive view. * @deprecated Use the translation key `inputModeToggleButtonAriaLabel` instead, see https://mui.com/x/react-date-pickers/localization * @param {boolean} isKeyboardInputOpen Indicates if the interface is the keyboard input. - * @param {'calendar' | 'clock' } viewType Indicates if the interface is about a date or a time. + * @param {ViewType} viewType Indicates if the interface is about a date or a time. * @returns {string} The arial label */ getMobileKeyboardInputViewButtonText?: ( isKeyboardInputOpen: boolean, - viewType: 'calendar' | 'clock', + viewType: ViewType, ) => string; isLandscape: boolean; onChange: PickerOnChangeFn; diff --git a/packages/x-date-pickers/src/internals/models/views.ts b/packages/x-date-pickers/src/internals/models/views.ts index 1cc58a317038..82f95a4a8092 100644 --- a/packages/x-date-pickers/src/internals/models/views.ts +++ b/packages/x-date-pickers/src/internals/models/views.ts @@ -3,3 +3,5 @@ export type CalendarPickerView = 'year' | 'day' | 'month'; export type ClockPickerView = 'hours' | 'minutes' | 'seconds'; export type CalendarOrClockPickerView = CalendarPickerView | ClockPickerView; + +export type ViewType = 'calendar' | 'clock'; diff --git a/packages/x-date-pickers/src/locales/csCZ.ts b/packages/x-date-pickers/src/locales/csCZ.ts index de5874e9463f..760681c2df87 100644 --- a/packages/x-date-pickers/src/locales/csCZ.ts +++ b/packages/x-date-pickers/src/locales/csCZ.ts @@ -26,7 +26,7 @@ const csCZPickers: PickersLocaleText = { view === 'year' ? 'roční zobrazení otevřeno, přepněte do zobrazení kalendáře' : 'zobrazení kalendáře otevřeno, přepněte do zobrazení roku', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `Zobrazení pro zadávání textu je otevřené, přepněte do zobrazení ${pickerViews[viewType]}` : `Zobrazení ${pickerViews[viewType]} je otevřené, přepněte do zobrazení textového pole`, diff --git a/packages/x-date-pickers/src/locales/deDE.ts b/packages/x-date-pickers/src/locales/deDE.ts index 43882114b128..ef4d79fa0f8e 100644 --- a/packages/x-date-pickers/src/locales/deDE.ts +++ b/packages/x-date-pickers/src/locales/deDE.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; // maps ClockPickerView to its translation const clockViews = { @@ -15,7 +14,7 @@ const pickerViews = { clock: 'Uhransicht', }; -const deDEPickers: Partial> = { +const deDEPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Letzter Monat', nextMonth: 'Nächster Monat', @@ -23,11 +22,11 @@ const deDEPickers: Partial> = { // View navigation openPreviousView: 'Letzte Ansicht öffnen', openNextView: 'Nächste Ansicht öffnen', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'Jahresansicht ist geöffnet, zur Kalenderansicht wechseln' : 'Kalenderansicht ist geöffnet, zur Jahresansicht wechseln', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `Texteingabeansicht ist geöffnet, zur ${pickerViews[viewType]} wechseln` : `${pickerViews[viewType]} ist geöffnet, zur Texteingabeansicht wechseln`, diff --git a/packages/x-date-pickers/src/locales/enUS.ts b/packages/x-date-pickers/src/locales/enUS.ts index 74ce4ce5310f..793bd2accf75 100644 --- a/packages/x-date-pickers/src/locales/enUS.ts +++ b/packages/x-date-pickers/src/locales/enUS.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; // This object is not Partial because it is the default values @@ -12,11 +11,11 @@ const enUSPickers: PickersLocaleText = { // View navigation openPreviousView: 'open previous view', openNextView: 'open next view', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, diff --git a/packages/x-date-pickers/src/locales/esES.ts b/packages/x-date-pickers/src/locales/esES.ts index a440330a4682..32950b1c8a03 100644 --- a/packages/x-date-pickers/src/locales/esES.ts +++ b/packages/x-date-pickers/src/locales/esES.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const views = { hours: 'las horas', @@ -8,7 +7,7 @@ const views = { seconds: 'los segundos', }; -const esESPickers: Partial> = { +const esESPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Último mes', nextMonth: 'Próximo mes', @@ -16,11 +15,11 @@ const esESPickers: Partial> = { // View navigation openPreviousView: 'abrir la última vista', openNextView: 'abrir la siguiente vista', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'la vista del año está abierta, cambie a la vista de calendario' : 'la vista de calendario está abierta, cambie a la vista del año', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `la vista de entrada de texto está abierta, ir a la vista ${viewType}` : `la vista ${viewType} está abierta, ir a la vista de entrada de texto`, diff --git a/packages/x-date-pickers/src/locales/faIR.ts b/packages/x-date-pickers/src/locales/faIR.ts index 46b710705622..07b245c45007 100644 --- a/packages/x-date-pickers/src/locales/faIR.ts +++ b/packages/x-date-pickers/src/locales/faIR.ts @@ -1,8 +1,7 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; -const faIRPickers: Partial> = { +const faIRPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'ماه گذشته', nextMonth: 'ماه آینده', @@ -10,11 +9,11 @@ const faIRPickers: Partial> = { // View navigation openPreviousView: 'نمای قبلی', openNextView: 'نمای بعدی', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'نمای سال باز است، رفتن به نمای تقویم' : 'نمای تقویم باز است، رفتن به نمای سال', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `نمای ورودی متن باز است، رفتن به نمای ${viewType}` : `نمای ${viewType} باز است، رفتن به نمای ورودی متن`, diff --git a/packages/x-date-pickers/src/locales/fiFI.ts b/packages/x-date-pickers/src/locales/fiFI.ts index a931d5fba8e2..4981378d4186 100644 --- a/packages/x-date-pickers/src/locales/fiFI.ts +++ b/packages/x-date-pickers/src/locales/fiFI.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const views = { hours: 'tunnit', @@ -13,7 +12,7 @@ const viewTranslation = { clock: 'kello', }; -const fiFIPickers: Partial> = { +const fiFIPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Edellinen kuukausi', nextMonth: 'Seuraava kuukausi', @@ -21,11 +20,11 @@ const fiFIPickers: Partial> = { // View navigation openPreviousView: 'avaa edellinen kuukausi', openNextView: 'avaa seuraava kuukausi', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'vuosinäkymä on auki, vaihda kalenterinäkymään' : 'kalenterinäkymä on auki, vaihda vuosinäkymään', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `tekstikenttä on auki, mene ${viewTranslation[viewType]}näkymään` : `${viewTranslation[viewType]}näkymä on auki, mene tekstikenttään`, diff --git a/packages/x-date-pickers/src/locales/frFR.ts b/packages/x-date-pickers/src/locales/frFR.ts index 640e1d82fcef..946939aba1de 100644 --- a/packages/x-date-pickers/src/locales/frFR.ts +++ b/packages/x-date-pickers/src/locales/frFR.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const views = { hours: 'heures', @@ -21,11 +20,11 @@ const frFRPickers: Partial> = { // View navigation openPreviousView: 'Ouvrir la vue précédente', openNextView: 'Ouvrir la vue suivante', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'La vue année est ouverte, ouvrir la vue calendrier' : 'La vue calendrier est ouverte, ouvrir la vue année', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `passer du champ text au ${viewTranslation[viewType]}` : `passer du ${viewTranslation[viewType]} au champ text`, diff --git a/packages/x-date-pickers/src/locales/isIS.ts b/packages/x-date-pickers/src/locales/isIS.ts index ac4a78e0be25..1068099dfb25 100644 --- a/packages/x-date-pickers/src/locales/isIS.ts +++ b/packages/x-date-pickers/src/locales/isIS.ts @@ -1,8 +1,7 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; -const isISPickers: Partial> = { +const isISPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Fyrri mánuður', nextMonth: 'Næsti mánuður', @@ -10,14 +9,11 @@ const isISPickers: Partial> = { // View navigation openPreviousView: 'opna fyrri skoðun', openNextView: 'opna næstu skoðun', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'ársskoðun er opin, skipta yfir í dagatalsskoðun' : 'dagatalsskoðun er opin, skipta yfir í ársskoðun', - inputModeToggleButtonAriaLabel: ( - isKeyboardInputOpen: boolean, - viewType: 'calendar' | 'clock', - ) => { + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => { const viewTypeTranslated = viewType === 'calendar' ? 'dagatals' : 'klukku'; return isKeyboardInputOpen ? `textainnsláttur er opinn, fara í ${viewTypeTranslated}skoðun` diff --git a/packages/x-date-pickers/src/locales/itIT.ts b/packages/x-date-pickers/src/locales/itIT.ts index ff5c87a97048..ffeb6a8bb1e3 100644 --- a/packages/x-date-pickers/src/locales/itIT.ts +++ b/packages/x-date-pickers/src/locales/itIT.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const views = { hours: 'le ore', @@ -8,7 +7,7 @@ const views = { seconds: 'i secondi', }; -const itITPickers: Partial> = { +const itITPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Mese precedente', nextMonth: 'Mese successivo', @@ -16,11 +15,11 @@ const itITPickers: Partial> = { // View navigation openPreviousView: 'apri la vista precedente', openNextView: 'apri la vista successiva', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? "la vista dell'anno è aperta, passare alla vista del calendario" : "la vista dell'calendario è aperta, passare alla vista dell'anno", - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `la vista del campo di testo è aperta, passare alla vista ${viewType}` : `la vista aperta è: ${viewType}, vai alla vista del campo di testo`, diff --git a/packages/x-date-pickers/src/locales/jaJP.ts b/packages/x-date-pickers/src/locales/jaJP.ts index 561595647426..f2ce27597520 100644 --- a/packages/x-date-pickers/src/locales/jaJP.ts +++ b/packages/x-date-pickers/src/locales/jaJP.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; // maps ClockPickerView to its translation const clockViews = { @@ -15,7 +14,7 @@ const pickerViews = { clock: '時計表示', }; -const jaJPPickers: Partial> = { +const jaJPPickers: PickersLocaleText = { // Calendar navigation previousMonth: '先月', nextMonth: '来月', @@ -23,11 +22,11 @@ const jaJPPickers: Partial> = { // View navigation openPreviousView: '前の表示を開く', openNextView: '次の表示を開く', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? '年選択表示からカレンダー表示に切り替える' : 'カレンダー表示から年選択表示に切り替える', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `テキスト入力表示から${pickerViews[viewType]}に切り替える` : `${pickerViews[viewType]}からテキスト入力表示に切り替える`, diff --git a/packages/x-date-pickers/src/locales/nbNO.ts b/packages/x-date-pickers/src/locales/nbNO.ts index ae3ab015a36b..fb711504899f 100644 --- a/packages/x-date-pickers/src/locales/nbNO.ts +++ b/packages/x-date-pickers/src/locales/nbNO.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const nbNOPickers: Partial> = { // Calendar navigation @@ -10,11 +9,11 @@ const nbNOPickers: Partial> = { // View navigation openPreviousView: 'åpne forrige visning', openNextView: 'åpne neste visning', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'årsvisning er åpen, bytt til kalendervisning' : 'kalendervisning er åpen, bytt til årsvisning', - // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, + // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, // DateRange placeholders start: 'Start', diff --git a/packages/x-date-pickers/src/locales/nlNL.ts b/packages/x-date-pickers/src/locales/nlNL.ts index 9c11b4f1d0e3..541560028e23 100644 --- a/packages/x-date-pickers/src/locales/nlNL.ts +++ b/packages/x-date-pickers/src/locales/nlNL.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const nlNLPickers: Partial> = { // Calendar navigation @@ -10,11 +9,11 @@ const nlNLPickers: Partial> = { // View navigation openPreviousView: 'open vorige view', openNextView: 'open volgende view', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'jaarweergave is geopend, schakel over naar kalenderweergave' : 'kalenderweergave is geopend, switch naar jaarweergave', - // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, + // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, // DateRange placeholders start: 'Start', diff --git a/packages/x-date-pickers/src/locales/plPL.ts b/packages/x-date-pickers/src/locales/plPL.ts index 8b8af8baa04f..310ae820ef60 100644 --- a/packages/x-date-pickers/src/locales/plPL.ts +++ b/packages/x-date-pickers/src/locales/plPL.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const plPLPickers: Partial> = { // Calendar navigation @@ -10,11 +9,11 @@ const plPLPickers: Partial> = { // View navigation openPreviousView: 'otwórz poprzedni widok', openNextView: 'otwórz następny widok', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'otwarty jest widok roku, przełącz na widok kalendarza' : 'otwarty jest widok kalendarza, przełącz na widok roku', - // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, + // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, // DateRange placeholders start: 'Początek', diff --git a/packages/x-date-pickers/src/locales/ptBR.ts b/packages/x-date-pickers/src/locales/ptBR.ts index 1e587f986fee..593e74e5c9eb 100644 --- a/packages/x-date-pickers/src/locales/ptBR.ts +++ b/packages/x-date-pickers/src/locales/ptBR.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const ptBRPickers: Partial> = { // Calendar navigation @@ -10,11 +9,11 @@ const ptBRPickers: Partial> = { // View navigation openPreviousView: 'Abrir próxima seleção', openNextView: 'Abrir seleção anterior', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'Seleção de ano está aberta, alternando para seleção de calendário' : 'Seleção de calendários está aberta, alternando para seleção de ano', - // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, + // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, // DateRange placeholders start: 'Início', diff --git a/packages/x-date-pickers/src/locales/ruRU.ts b/packages/x-date-pickers/src/locales/ruRU.ts index a6f0c5947ed4..a02aa01657f9 100644 --- a/packages/x-date-pickers/src/locales/ruRU.ts +++ b/packages/x-date-pickers/src/locales/ruRU.ts @@ -26,7 +26,7 @@ const ruRUPickers: PickersLocaleText = { view === 'year' ? 'открыт годовой вид, переключить на календарный вид' : 'открыт календарный вид, переключить на годовой вид', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `Открыт текстовый вид, перейти на ${viewTypes[viewType]} вид` : `Открыт ${viewTypes[viewType]} вид, перейти на текстовый вид`, diff --git a/packages/x-date-pickers/src/locales/svSE.ts b/packages/x-date-pickers/src/locales/svSE.ts index 7cf453209a59..6ab516da1dac 100644 --- a/packages/x-date-pickers/src/locales/svSE.ts +++ b/packages/x-date-pickers/src/locales/svSE.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const svSEPickers: Partial> = { // Calendar navigation @@ -10,11 +9,11 @@ const svSEPickers: Partial> = { // View navigation openPreviousView: 'öppna föregående vy', openNextView: 'öppna nästa vy', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'årsvyn är öppen, byt till kalendervy' : 'kalendervyn är öppen, byt till årsvy', - // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, + // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, // DateRange placeholders start: 'Start', diff --git a/packages/x-date-pickers/src/locales/trTR.ts b/packages/x-date-pickers/src/locales/trTR.ts index aa25b8189606..26fb811db72a 100644 --- a/packages/x-date-pickers/src/locales/trTR.ts +++ b/packages/x-date-pickers/src/locales/trTR.ts @@ -1,8 +1,7 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; -const trTRPickers: Partial> = { +const trTRPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Önceki ay', nextMonth: 'Sonraki ay', @@ -10,11 +9,11 @@ const trTRPickers: Partial> = { // View navigation openPreviousView: 'sonraki görünüm', openNextView: 'önceki görünüm', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'yıl görünümü açık, takvim görünümüne geç' : 'takvim görünümü açık, yıl görünümüne geç', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `metin girişi görünümü açık, şuraya gidin: ${viewType} görünümü` : `${viewType} görünüm açık, metin girişi görünümüne gidin`, diff --git a/packages/x-date-pickers/src/locales/ukUA.ts b/packages/x-date-pickers/src/locales/ukUA.ts index e6683dbe1f51..4477d9799897 100644 --- a/packages/x-date-pickers/src/locales/ukUA.ts +++ b/packages/x-date-pickers/src/locales/ukUA.ts @@ -1,8 +1,7 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; -const ukUAPickers: Partial> = { +const ukUAPickers: PickersLocaleText = { // Calendar navigation previousMonth: 'Попередній місяць', nextMonth: 'Наступний місяць', @@ -10,11 +9,11 @@ const ukUAPickers: Partial> = { // View navigation openPreviousView: 'відкрити попередній вигляд', openNextView: 'відкрити наступний вигляд', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? 'річний вигляд відкрито, перейти до календарного вигляду' : 'календарний вигляд відкрито, перейти до річного вигляду', - inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `текстове поле відкрите, перейти до ${viewType} вигляду` : `${viewType} вигляд наразі відкрито, перейти до текстового поля`, diff --git a/packages/x-date-pickers/src/locales/utils/pickersLocaleTextApi.ts b/packages/x-date-pickers/src/locales/utils/pickersLocaleTextApi.ts index 8b4c40bb7be2..2521ea9d6082 100644 --- a/packages/x-date-pickers/src/locales/utils/pickersLocaleTextApi.ts +++ b/packages/x-date-pickers/src/locales/utils/pickersLocaleTextApi.ts @@ -1,4 +1,9 @@ -import { CalendarPickerView, ClockPickerView, MuiPickersAdapter } from '../../internals/models'; +import { + CalendarPickerView, + ClockPickerView, + MuiPickersAdapter, + ViewType, +} from '../../internals/models'; /** * Set the types of the texts in the grid. */ @@ -14,10 +19,7 @@ export interface PickersLocaleText { start: string; end: string; calendarViewSwitchingButtonAriaLabel: (currentView: CalendarPickerView) => string; - inputModeToggleButtonAriaLabel: ( - isKeyboardInputOpen: boolean, - viewType: 'calendar' | 'clock', - ) => string; + inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: ViewType) => string; clockLabelText: ( view: ClockPickerView, time: TDate | null, diff --git a/packages/x-date-pickers/src/locales/zhCN.ts b/packages/x-date-pickers/src/locales/zhCN.ts index e89dc38cddd7..e6078db25c03 100644 --- a/packages/x-date-pickers/src/locales/zhCN.ts +++ b/packages/x-date-pickers/src/locales/zhCN.ts @@ -1,6 +1,5 @@ import { PickersLocaleText } from './utils/pickersLocaleTextApi'; import { getPickersLocalization } from './utils/getPickersLocalization'; -import { CalendarPickerView } from '../internals/models'; const views = { hours: '小时', @@ -16,9 +15,9 @@ const zhCNPickers: Partial> = { // View navigation openPreviousView: '前一个视图', openNextView: '下一个视图', - calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => + calendarViewSwitchingButtonAriaLabel: (view) => view === 'year' ? '年视图已打开,切换为日历视图' : '日历视图已打开,切换为年视图', - // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, + // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`, // DateRange placeholders start: '开始',