Skip to content

Commit cad0156

Browse files
[pickers] Make useLocaleText public
1 parent a90712f commit cad0156

File tree

38 files changed

+153
-39
lines changed

38 files changed

+153
-39
lines changed

docs/data/date-pickers/custom-components/ActionBarComponent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
99
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
1010
import { StaticDatePicker } from '@mui/x-date-pickers/StaticDatePicker';
1111

12-
import { useLocaleText } from '@mui/x-date-pickers/internals';
12+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
1313

1414
function CustomActionBar(props) {
1515
const { onAccept, onClear, onCancel, onSetToday, actions, className } = props;

docs/data/date-pickers/custom-components/ActionBarComponent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
99
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
1010
import { StaticDatePicker } from '@mui/x-date-pickers/StaticDatePicker';
1111
import { PickersActionBarProps } from '@mui/x-date-pickers/PickersActionBar';
12-
import { useLocaleText } from '@mui/x-date-pickers/internals';
12+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
1313

1414
function CustomActionBar(props: PickersActionBarProps) {
1515
const { onAccept, onClear, onCancel, onSetToday, actions, className } = props;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import * as React from 'react';
2+
import dayjs from 'dayjs';
3+
import Button from '@mui/material/Button';
4+
import DialogActions from '@mui/material/DialogActions';
5+
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
6+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
7+
import { StaticDatePicker } from '@mui/x-date-pickers/StaticDatePicker';
8+
9+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
10+
11+
function CustomActionBar(props) {
12+
const { onAccept, className } = props;
13+
const localeText = useLocaleText();
14+
15+
return (
16+
<DialogActions className={className}>
17+
<Button onClick={onAccept}>{localeText.okButtonLabel}</Button>
18+
</DialogActions>
19+
);
20+
}
21+
22+
export default function UseLocaleText() {
23+
return (
24+
<LocalizationProvider dateAdapter={AdapterDayjs}>
25+
<StaticDatePicker
26+
defaultValue={dayjs('2022-04-17')}
27+
slots={{
28+
actionBar: CustomActionBar,
29+
}}
30+
slotProps={{
31+
actionBar: {
32+
actions: ['accept'],
33+
},
34+
}}
35+
/>
36+
</LocalizationProvider>
37+
);
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import * as React from 'react';
2+
import dayjs from 'dayjs';
3+
import Button from '@mui/material/Button';
4+
import DialogActions from '@mui/material/DialogActions';
5+
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
6+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
7+
import { StaticDatePicker } from '@mui/x-date-pickers/StaticDatePicker';
8+
import { PickersActionBarProps } from '@mui/x-date-pickers/PickersActionBar';
9+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
10+
11+
function CustomActionBar(props: PickersActionBarProps) {
12+
const { onAccept, className } = props;
13+
const localeText = useLocaleText();
14+
15+
return (
16+
<DialogActions className={className}>
17+
<Button onClick={onAccept}>{localeText.okButtonLabel}</Button>
18+
</DialogActions>
19+
);
20+
}
21+
22+
export default function UseLocaleText() {
23+
return (
24+
<LocalizationProvider dateAdapter={AdapterDayjs}>
25+
<StaticDatePicker
26+
defaultValue={dayjs('2022-04-17')}
27+
slots={{
28+
actionBar: CustomActionBar,
29+
}}
30+
slotProps={{
31+
actionBar: {
32+
actions: ['accept'],
33+
},
34+
}}
35+
/>
36+
</LocalizationProvider>
37+
);
38+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<StaticDatePicker
2+
defaultValue={dayjs('2022-04-17')}
3+
slots={{
4+
actionBar: CustomActionBar,
5+
}}
6+
slotProps={{
7+
actionBar: {
8+
actions: ['accept'],
9+
},
10+
}}
11+
/>

docs/data/date-pickers/localization/localization.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,3 +131,10 @@ You can [find the source](https://github.com/mui/mui-x/tree/HEAD/packages/x-date
131131

132132
To create your own translation or to customize the English text, copy this file to your project, make any changes needed and import the locale from there.
133133
Note that these translations of the date and time picker components depend on the [Localization strategy](/material-ui/guides/localization/) of the whole library.
134+
135+
## Access the translations in slots and subcomponents
136+
137+
You can use the `useLocaleText` hook to access the translations in your custom components.
138+
The demo below shows how to use the `localeText.okButtonLabel` translation key in a custom Action Bar:
139+
140+
{{"demo": "UseLocaleText.js", "defaultCodeOpen": false}}

packages/x-date-pickers-pro/src/DateRangePicker/DateRangePickerToolbar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import {
99
PickersToolbarButton,
1010
useUtils,
1111
BaseToolbarProps,
12-
useLocaleText,
1312
ExportedBaseToolbarProps,
1413
} from '@mui/x-date-pickers/internals';
14+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
1515
import { PickerValidDate } from '@mui/x-date-pickers/models';
1616
import { DateRange } from '../models';
1717
import { UseRangePositionResponse } from '../internals/hooks/useRangePosition';

packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTabs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import useEventCallback from '@mui/utils/useEventCallback';
77
import { TimeIcon, DateRangeIcon, ArrowLeftIcon, ArrowRightIcon } from '@mui/x-date-pickers/icons';
88
import {
99
DateOrTimeViewWithMeridiem,
10-
useLocaleText,
1110
BaseTabsProps,
1211
ExportedBaseTabsProps,
1312
isDatePickerView,
1413
} from '@mui/x-date-pickers/internals';
14+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
1515
import IconButton from '@mui/material/IconButton';
1616
import Button from '@mui/material/Button';
1717
import {

packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerToolbar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import { styled, useThemeProps } from '@mui/material/styles';
55
import { unstable_composeClasses as composeClasses } from '@mui/utils';
66
import {
77
BaseToolbarProps,
8-
useLocaleText,
98
ExportedBaseToolbarProps,
109
useUtils,
1110
DateOrTimeViewWithMeridiem,
1211
WrapperVariant,
1312
} from '@mui/x-date-pickers/internals';
13+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
1414
import { PickerValidDate } from '@mui/x-date-pickers/models';
1515
import {
1616
DateTimePickerToolbarProps,

packages/x-date-pickers-pro/src/PickersRangeCalendarHeader/PickersRangeCalendarHeader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader
55
import { PickerValidDate } from '@mui/x-date-pickers/models';
66
import {
77
PickersArrowSwitcher,
8-
useLocaleText,
98
useNextMonthDisabled,
109
usePreviousMonthDisabled,
1110
useUtils,
1211
} from '@mui/x-date-pickers/internals';
12+
import { useLocaleText } from '@mui/x-date-pickers/hooks';
1313
import { PickersRangeCalendarHeaderProps } from './PickersRangeCalendarHeader.types';
1414

1515
type PickersRangeCalendarHeaderComponent = (<TDate extends PickerValidDate>(

0 commit comments

Comments
 (0)