Skip to content

Commit

Permalink
[docs] Include DateTimeRangePicker in relevant demos (#11815)
Browse files Browse the repository at this point in the history
  • Loading branch information
LukasTy committed Jan 25, 2024
1 parent e1a0e3f commit 702ebeb
Show file tree
Hide file tree
Showing 40 changed files with 305 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,11 @@ const COMPONENTS = {
dateTimeRange: {
field: ['SingleInputDateTimeRangeField', 'MultiInputDateTimeRangeField'],
view: [],
picker: [],
picker: [
'DateTimeRangePicker',
'DesktopDateTimeRangePicker',
'MobileDateTimeRangePicker',
],
},
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,11 @@ const COMPONENTS: Record<
dateTimeRange: {
field: ['SingleInputDateTimeRangeField', 'MultiInputDateTimeRangeField'],
view: [],
picker: [],
picker: [
'DateTimeRangePicker',
'DesktopDateTimeRangePicker',
'MobileDateTimeRangePicker',
],
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import * as React from 'react';
import dayjs from 'dayjs';
import { DemoContainer, DemoItem } from '@mui/x-date-pickers/internals/demo';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const lastSunday = dayjs().startOf('week').subtract(1, 'day');
const nextSunday = dayjs().endOf('week').startOf('day');
Expand All @@ -16,16 +18,32 @@ const isWeekend = (date) => {
export default function DateRangeValidationShouldDisableDate() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DateRangePicker
defaultValue={[lastSunday, nextSunday]}
shouldDisableDate={(date, position) => {
if (position === 'end') {
return false;
}
<DemoContainer components={['DateRangePicker', 'DateTimeRangePicker']}>
<DemoItem label="DateRangePicker" component="DateRangePicker">
<DateRangePicker
defaultValue={[lastSunday, nextSunday]}
shouldDisableDate={(date, position) => {
if (position === 'end') {
return false;
}

return isWeekend(date);
}}
/>
return isWeekend(date);
}}
/>
</DemoItem>
<DemoItem label="DateTimeRangePicker" component="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[lastSunday, nextSunday]}
shouldDisableDate={(date, position) => {
if (position === 'end') {
return false;
}

return isWeekend(date);
}}
/>
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import * as React from 'react';
import dayjs, { Dayjs } from 'dayjs';
import { DemoContainer, DemoItem } from '@mui/x-date-pickers/internals/demo';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const lastSunday = dayjs().startOf('week').subtract(1, 'day');
const nextSunday = dayjs().endOf('week').startOf('day');
Expand All @@ -16,16 +18,32 @@ const isWeekend = (date: Dayjs) => {
export default function DateRangeValidationShouldDisableDate() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DateRangePicker
defaultValue={[lastSunday, nextSunday]}
shouldDisableDate={(date, position) => {
if (position === 'end') {
return false;
}
<DemoContainer components={['DateRangePicker', 'DateTimeRangePicker']}>
<DemoItem label="DateRangePicker" component="DateRangePicker">
<DateRangePicker
defaultValue={[lastSunday, nextSunday]}
shouldDisableDate={(date, position) => {
if (position === 'end') {
return false;
}

return isWeekend(date);
}}
/>
return isWeekend(date);
}}
/>
</DemoItem>
<DemoItem label="DateTimeRangePicker" component="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[lastSunday, nextSunday]}
shouldDisableDate={(date, position) => {
if (position === 'end') {
return false;
}

return isWeekend(date);
}}
/>
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,24 @@ import { DemoContainer, DemoItem } from '@mui/x-date-pickers/internals/demo';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const todayAtNoon = dayjs().set('hour', 12).startOf('hour');
const todayAt9AM = dayjs().set('hour', 9).startOf('hour');

export default function DateTimeValidationMaxDateTime() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DemoContainer components={['DateTimePicker']}>
<DemoContainer components={['DateTimePicker', 'DateTimeRangePicker']}>
<DemoItem label="DateTimePicker">
<DateTimePicker defaultValue={todayAtNoon} maxDateTime={todayAt9AM} />
</DemoItem>
<DemoItem label="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[todayAt9AM, todayAtNoon]}
maxDateTime={todayAt9AM}
/>
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,24 @@ import { DemoContainer, DemoItem } from '@mui/x-date-pickers/internals/demo';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const todayAtNoon = dayjs().set('hour', 12).startOf('hour');
const todayAt9AM = dayjs().set('hour', 9).startOf('hour');

export default function DateTimeValidationMaxDateTime() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DemoContainer components={['DateTimePicker']}>
<DemoContainer components={['DateTimePicker', 'DateTimeRangePicker']}>
<DemoItem label="DateTimePicker">
<DateTimePicker defaultValue={todayAtNoon} maxDateTime={todayAt9AM} />
</DemoItem>
<DemoItem label="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[todayAt9AM, todayAtNoon]}
maxDateTime={todayAt9AM}
/>
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
<DemoItem label="DateTimePicker">
<DateTimePicker defaultValue={todayAtNoon} maxDateTime={todayAt9AM} />
</DemoItem>
<DemoItem label="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[todayAt9AM, todayAtNoon]}
maxDateTime={todayAt9AM}
/>
</DemoItem>
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,24 @@ import { DemoContainer, DemoItem } from '@mui/x-date-pickers/internals/demo';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const todayAtNoon = dayjs().set('hour', 12).startOf('hour');
const todayAt3PM = dayjs().set('hour', 15).startOf('hour');

export default function DateTimeValidationMinDateTime() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DemoContainer components={['DateTimePicker']}>
<DemoContainer components={['DateTimePicker', 'DateTimeRangePicker']}>
<DemoItem label="DateTimePicker">
<DateTimePicker defaultValue={todayAtNoon} minDateTime={todayAt3PM} />
</DemoItem>
<DemoItem label="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[todayAtNoon, todayAt3PM]}
minDateTime={todayAt3PM}
/>
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,24 @@ import { DemoContainer, DemoItem } from '@mui/x-date-pickers/internals/demo';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const todayAtNoon = dayjs().set('hour', 12).startOf('hour');
const todayAt3PM = dayjs().set('hour', 15).startOf('hour');

export default function DateTimeValidationMinDateTime() {
return (
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DemoContainer components={['DateTimePicker']}>
<DemoContainer components={['DateTimePicker', 'DateTimeRangePicker']}>
<DemoItem label="DateTimePicker">
<DateTimePicker defaultValue={todayAtNoon} minDateTime={todayAt3PM} />
</DemoItem>
<DemoItem label="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[todayAtNoon, todayAt3PM]}
minDateTime={todayAt3PM}
/>
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
<DemoItem label="DateTimePicker">
<DateTimePicker defaultValue={todayAtNoon} minDateTime={todayAt3PM} />
</DemoItem>
<DemoItem label="DateTimeRangePicker">
<DateTimeRangePicker
defaultValue={[todayAtNoon, todayAt3PM]}
minDateTime={todayAt3PM}
/>
</DemoItem>
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { TimePicker } from '@mui/x-date-pickers/TimePicker';
import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const today = dayjs();
const tomorrow = dayjs().add(1, 'day');
Expand All @@ -21,6 +22,7 @@ export default function DateValidationDisableFuture() {
'DateTimePicker',
'TimePicker',
'DateRangePicker',
'DateTimeRangePicker',
]}
>
<DemoItem label="DatePicker">
Expand All @@ -43,6 +45,9 @@ export default function DateValidationDisableFuture() {
<DemoItem label="DateRangePicker" component="DateRangePicker">
<DateRangePicker defaultValue={[today, tomorrow]} disableFuture />
</DemoItem>
<DemoItem label="DateTimeRangePicker" component="DateTimeRangePicker">
<DateTimeRangePicker defaultValue={[today, tomorrow]} disableFuture />
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { TimePicker } from '@mui/x-date-pickers/TimePicker';
import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const today = dayjs();
const tomorrow = dayjs().add(1, 'day');
Expand All @@ -21,6 +22,7 @@ export default function DateValidationDisableFuture() {
'DateTimePicker',
'TimePicker',
'DateRangePicker',
'DateTimeRangePicker',
]}
>
<DemoItem label="DatePicker">
Expand All @@ -43,6 +45,9 @@ export default function DateValidationDisableFuture() {
<DemoItem label="DateRangePicker" component="DateRangePicker">
<DateRangePicker defaultValue={[today, tomorrow]} disableFuture />
</DemoItem>
<DemoItem label="DateTimeRangePicker" component="DateTimeRangePicker">
<DateTimeRangePicker defaultValue={[today, tomorrow]} disableFuture />
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { TimePicker } from '@mui/x-date-pickers/TimePicker';
import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const today = dayjs();
const yesterday = dayjs().subtract(1, 'day');
Expand All @@ -21,6 +22,7 @@ export default function DateValidationDisablePast() {
'DateTimePicker',
'TimePicker',
'DateRangePicker',
'DateTimeRangePicker',
]}
>
<DemoItem label="DatePicker">
Expand All @@ -43,6 +45,9 @@ export default function DateValidationDisablePast() {
<DemoItem label="DateRangePicker" component="DateRangePicker">
<DateRangePicker defaultValue={[yesterday, today]} disablePast />
</DemoItem>
<DemoItem label="DateTimeRangePicker" component="DateTimeRangePicker">
<DateTimeRangePicker defaultValue={[yesterday, today]} disablePast />
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
import { TimePicker } from '@mui/x-date-pickers/TimePicker';
import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
import { DateTimeRangePicker } from '@mui/x-date-pickers-pro/DateTimeRangePicker';

const today = dayjs();
const yesterday = dayjs().subtract(1, 'day');
Expand All @@ -21,6 +22,7 @@ export default function DateValidationDisablePast() {
'DateTimePicker',
'TimePicker',
'DateRangePicker',
'DateTimeRangePicker',
]}
>
<DemoItem label="DatePicker">
Expand All @@ -43,6 +45,9 @@ export default function DateValidationDisablePast() {
<DemoItem label="DateRangePicker" component="DateRangePicker">
<DateRangePicker defaultValue={[yesterday, today]} disablePast />
</DemoItem>
<DemoItem label="DateTimeRangePicker" component="DateTimeRangePicker">
<DateTimeRangePicker defaultValue={[yesterday, today]} disablePast />
</DemoItem>
</DemoContainer>
</LocalizationProvider>
);
Expand Down
Loading

0 comments on commit 702ebeb

Please sign in to comment.