From 59a2a06f557d43c20f4641cfd1a6c7a1c39e0545 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 1 Mar 2023 11:35:41 +0200 Subject: [PATCH 1/6] [pickers] Stop using `WrapperVariantContext` in `Clock` --- packages/x-date-pickers/src/DateTimePicker/shared.tsx | 2 -- .../src/DesktopDateTimePicker/DesktopDateTimePicker.tsx | 3 +++ .../src/DesktopTimePicker/DesktopTimePicker.tsx | 4 ++++ .../src/MobileDateTimePicker/MobileDateTimePicker.tsx | 3 +++ .../x-date-pickers/src/MobileTimePicker/MobileTimePicker.tsx | 3 +++ .../src/StaticDateTimePicker/StaticDateTimePicker.tsx | 3 +++ .../x-date-pickers/src/StaticTimePicker/StaticTimePicker.tsx | 3 +++ packages/x-date-pickers/src/TimeClock/Clock.tsx | 4 +--- packages/x-date-pickers/src/TimeClock/TimeClock.types.ts | 2 +- 9 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/x-date-pickers/src/DateTimePicker/shared.tsx b/packages/x-date-pickers/src/DateTimePicker/shared.tsx index 51047ad305945..7a1e364a6aecc 100644 --- a/packages/x-date-pickers/src/DateTimePicker/shared.tsx +++ b/packages/x-date-pickers/src/DateTimePicker/shared.tsx @@ -129,7 +129,6 @@ type UseDateTimePickerDefaultizedProps< | 'views' | 'openTo' | 'orientation' - | 'ampmInClock' | 'ampm' | keyof BaseDateValidationProps | keyof BaseTimeValidationProps @@ -176,7 +175,6 @@ export function useDateTimePickerDefaultizedProps< ampm, localeText, orientation: themeProps.orientation ?? 'portrait', - ampmInClock: themeProps.ampmInClock ?? true, // TODO: Remove from public API disableIgnoringDatePartForTimeValidation: themeProps.disableIgnoringDatePartForTimeValidation ?? diff --git a/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx b/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx index b29dbd702f27e..4524708c4e2d7 100644 --- a/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx +++ b/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx @@ -37,12 +37,14 @@ const DesktopDateTimePicker = React.forwardRef(function DesktopDateTimePicker( ...defaultizedProps.viewRenderers, }; + const ampmInClock = defaultizedProps.ampmInClock ?? true; + // Props with the default values specific to the desktop variant const props = { ...defaultizedProps, + ampmInClock, viewRenderers, slots: { field: TimeField, @@ -53,6 +56,7 @@ const DesktopTimePicker = React.forwardRef(function DesktopTimePicker( }), toolbar: { hidden: true, + ampmInClock, ...defaultizedProps.slotProps?.toolbar, }, }, diff --git a/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx b/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx index f1d37e806e04b..4db381b3523f5 100644 --- a/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx +++ b/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx @@ -41,11 +41,13 @@ const MobileDateTimePicker = React.forwardRef(function MobileDateTimePicker( seconds: renderTimeViewClock, ...defaultizedProps.viewRenderers, }; + const ampmInClock = defaultizedProps.ampmInClock ?? false; // Props with the default values specific to the mobile variant const props = { ...defaultizedProps, + ampmInClock, viewRenderers, slots: { field: TimeField, @@ -51,6 +53,7 @@ const MobileTimePicker = React.forwardRef(function MobileTimePicker( }), toolbar: { hidden: false, + ampmInClock, ...defaultizedProps.slotProps?.toolbar, }, }, diff --git a/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx b/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx index 618ba6df30cf1..c2b825a51bd55 100644 --- a/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx +++ b/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx @@ -24,6 +24,7 @@ const StaticDateTimePicker = React.forwardRef(function StaticDateTimePicker(inProps, 'MuiStaticDateTimePicker'); const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile'; + const ampmInClock = defaultizedProps.ampmInClock ?? displayStaticWrapperAs === 'desktop'; const viewRenderers: PickerViewRendererLookup = { day: renderDateViewCalendar, @@ -40,6 +41,7 @@ const StaticDateTimePicker = React.forwardRef(function StaticDateTimePicker( ); const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile'; + const ampmInClock = defaultizedProps.ampmInClock ?? displayStaticWrapperAs === 'desktop'; const viewRenderers: PickerViewRendererLookup = { hours: renderTimeViewClock, @@ -36,10 +37,12 @@ const StaticTimePicker = React.forwardRef(function StaticTimePicker( ...defaultizedProps, viewRenderers, displayStaticWrapperAs, + ampmInClock, slotProps: { ...defaultizedProps.slotProps, toolbar: { hidden: displayStaticWrapperAs === 'desktop', + ampmInClock, ...defaultizedProps.slotProps?.toolbar, }, }, diff --git a/packages/x-date-pickers/src/TimeClock/Clock.tsx b/packages/x-date-pickers/src/TimeClock/Clock.tsx index 7358c655060fc..85a648a14c918 100644 --- a/packages/x-date-pickers/src/TimeClock/Clock.tsx +++ b/packages/x-date-pickers/src/TimeClock/Clock.tsx @@ -9,7 +9,6 @@ import { } from '@mui/utils'; import { ClockPointer } from './ClockPointer'; import { useLocaleText, useUtils } from '../internals/hooks/useUtils'; -import { WrapperVariantContext } from '../internals/components/wrappers/WrapperVariantContext'; import type { PickerSelectionState } from '../internals/hooks/usePicker'; import { useMeridiemMode } from '../internals/hooks/date-helpers-hooks'; import { getHours, getMinutes } from './shared'; @@ -203,7 +202,6 @@ export function Clock(inProps: ClockProps) { const utils = useUtils(); const localeText = useLocaleText(); - const wrapperVariant = React.useContext(WrapperVariantContext); const isMoving = React.useRef(false); const classes = useUtilityClasses(ownerState); @@ -352,7 +350,7 @@ export function Clock(inProps: ClockProps) { {children} - {ampm && (wrapperVariant === 'desktop' || ampmInClock) && ( + {ampm && ampmInClock && ( ampm?: boolean; /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock?: boolean; } From 2113e3c5e542b4e3b930843a330c03059f1c8ae7 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 1 Mar 2023 11:42:33 +0200 Subject: [PATCH 2/6] Refactor types to better reflect true defaults and usage --- packages/x-date-pickers/src/DateTimePicker/shared.tsx | 6 +++--- packages/x-date-pickers/src/TimeClock/TimeClock.types.ts | 2 +- packages/x-date-pickers/src/TimePicker/shared.tsx | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/x-date-pickers/src/DateTimePicker/shared.tsx b/packages/x-date-pickers/src/DateTimePicker/shared.tsx index 7a1e364a6aecc..7b790bb52b5c4 100644 --- a/packages/x-date-pickers/src/DateTimePicker/shared.tsx +++ b/packages/x-date-pickers/src/DateTimePicker/shared.tsx @@ -70,10 +70,10 @@ export interface BaseDateTimePickerProps Omit, 'onViewChange'>, ExportedTimeClockProps { /** - * 12h/24h view for hour selection clock. - * @default `utils.is12HourCycleInCurrentLocale()` + * Display ampm controls under the clock (instead of in the toolbar). + * @default true on desktop, false on mobile */ - ampm?: boolean; + ampmInClock?: boolean; /** * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`. */ diff --git a/packages/x-date-pickers/src/TimeClock/TimeClock.types.ts b/packages/x-date-pickers/src/TimeClock/TimeClock.types.ts index 6177f5dc11446..c8481d06a61e7 100644 --- a/packages/x-date-pickers/src/TimeClock/TimeClock.types.ts +++ b/packages/x-date-pickers/src/TimeClock/TimeClock.types.ts @@ -20,7 +20,7 @@ export interface ExportedTimeClockProps ampm?: boolean; /** * Display ampm controls under the clock (instead of in the toolbar). - * @default true on desktop, false on mobile + * @default false */ ampmInClock?: boolean; } diff --git a/packages/x-date-pickers/src/TimePicker/shared.tsx b/packages/x-date-pickers/src/TimePicker/shared.tsx index c3764c380bb5a..be359e9812b0c 100644 --- a/packages/x-date-pickers/src/TimePicker/shared.tsx +++ b/packages/x-date-pickers/src/TimePicker/shared.tsx @@ -38,10 +38,10 @@ export interface BaseTimePickerProps extends BasePickerInputProps, ExportedTimeClockProps { /** - * 12h/24h view for hour selection clock. - * @default `utils.is12HourCycleInCurrentLocale()` + * Display ampm controls under the clock (instead of in the toolbar). + * @default true on desktop, false on mobile */ - ampm?: boolean; + ampmInClock?: boolean; /** * Overrideable components. * @default {} From 66c4d5dc88d3112f1c6ccffa59817aa12014a01e Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 1 Mar 2023 11:44:23 +0200 Subject: [PATCH 3/6] proptypes --- packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx | 2 +- .../src/DesktopDateTimePicker/DesktopDateTimePicker.tsx | 2 +- .../x-date-pickers/src/DesktopTimePicker/DesktopTimePicker.tsx | 2 +- .../src/MobileDateTimePicker/MobileDateTimePicker.tsx | 2 +- .../x-date-pickers/src/MobileTimePicker/MobileTimePicker.tsx | 2 +- .../src/StaticDateTimePicker/StaticDateTimePicker.tsx | 2 +- .../x-date-pickers/src/StaticTimePicker/StaticTimePicker.tsx | 2 +- packages/x-date-pickers/src/TimePicker/TimePicker.tsx | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx b/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx index 65532ed89f43e..20f16c798a0e2 100644 --- a/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx +++ b/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx @@ -41,7 +41,7 @@ DateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx b/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx index 4524708c4e2d7..158955aaabb94 100644 --- a/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx +++ b/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx @@ -92,7 +92,7 @@ DesktopDateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/DesktopTimePicker/DesktopTimePicker.tsx b/packages/x-date-pickers/src/DesktopTimePicker/DesktopTimePicker.tsx index 7dabda132c0eb..798ddaf80bb6f 100644 --- a/packages/x-date-pickers/src/DesktopTimePicker/DesktopTimePicker.tsx +++ b/packages/x-date-pickers/src/DesktopTimePicker/DesktopTimePicker.tsx @@ -84,7 +84,7 @@ DesktopTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx b/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx index 4db381b3523f5..0af10e43ae9a8 100644 --- a/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx +++ b/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx @@ -94,7 +94,7 @@ MobileDateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/MobileTimePicker/MobileTimePicker.tsx b/packages/x-date-pickers/src/MobileTimePicker/MobileTimePicker.tsx index 4d41f8a3dc877..be8c32747c157 100644 --- a/packages/x-date-pickers/src/MobileTimePicker/MobileTimePicker.tsx +++ b/packages/x-date-pickers/src/MobileTimePicker/MobileTimePicker.tsx @@ -81,7 +81,7 @@ MobileTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx b/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx index c2b825a51bd55..2caddff306147 100644 --- a/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx +++ b/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx @@ -79,7 +79,7 @@ StaticDateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/StaticTimePicker/StaticTimePicker.tsx b/packages/x-date-pickers/src/StaticTimePicker/StaticTimePicker.tsx index 8f05d5e4cdada..ee0db931d43a5 100644 --- a/packages/x-date-pickers/src/StaticTimePicker/StaticTimePicker.tsx +++ b/packages/x-date-pickers/src/StaticTimePicker/StaticTimePicker.tsx @@ -70,7 +70,7 @@ StaticTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/TimePicker/TimePicker.tsx b/packages/x-date-pickers/src/TimePicker/TimePicker.tsx index 420ce71f53a4b..39daca1a5d697 100644 --- a/packages/x-date-pickers/src/TimePicker/TimePicker.tsx +++ b/packages/x-date-pickers/src/TimePicker/TimePicker.tsx @@ -41,7 +41,7 @@ TimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default false + * @default true on desktop, false on mobile */ ampmInClock: PropTypes.bool, /** From 18d159f74e4d774cc00ed7eb683478e8c27129c4 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 1 Mar 2023 11:46:31 +0200 Subject: [PATCH 4/6] docs:api --- docs/pages/x/api/date-pickers/date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/desktop-date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/desktop-time-picker.json | 2 +- docs/pages/x/api/date-pickers/mobile-date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/mobile-time-picker.json | 2 +- docs/pages/x/api/date-pickers/static-date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/static-time-picker.json | 2 +- docs/pages/x/api/date-pickers/time-picker.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/pages/x/api/date-pickers/date-time-picker.json b/docs/pages/x/api/date-pickers/date-time-picker.json index 01f7e0d42bf8e..e573869366c8b 100644 --- a/docs/pages/x/api/date-pickers/date-time-picker.json +++ b/docs/pages/x/api/date-pickers/date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/desktop-date-time-picker.json b/docs/pages/x/api/date-pickers/desktop-date-time-picker.json index 8c05556a01659..716e2790c4e70 100644 --- a/docs/pages/x/api/date-pickers/desktop-date-time-picker.json +++ b/docs/pages/x/api/date-pickers/desktop-date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/desktop-time-picker.json b/docs/pages/x/api/date-pickers/desktop-time-picker.json index c4f7078c10ceb..c899669f66bd4 100644 --- a/docs/pages/x/api/date-pickers/desktop-time-picker.json +++ b/docs/pages/x/api/date-pickers/desktop-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/mobile-date-time-picker.json b/docs/pages/x/api/date-pickers/mobile-date-time-picker.json index d88140b64974d..99d3b499a8ae9 100644 --- a/docs/pages/x/api/date-pickers/mobile-date-time-picker.json +++ b/docs/pages/x/api/date-pickers/mobile-date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/mobile-time-picker.json b/docs/pages/x/api/date-pickers/mobile-time-picker.json index 1895b58f44326..c8fad52194643 100644 --- a/docs/pages/x/api/date-pickers/mobile-time-picker.json +++ b/docs/pages/x/api/date-pickers/mobile-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/static-date-time-picker.json b/docs/pages/x/api/date-pickers/static-date-time-picker.json index 00bc94cc06a24..df49e2da50d34 100644 --- a/docs/pages/x/api/date-pickers/static-date-time-picker.json +++ b/docs/pages/x/api/date-pickers/static-date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "components": { diff --git a/docs/pages/x/api/date-pickers/static-time-picker.json b/docs/pages/x/api/date-pickers/static-time-picker.json index 62317e7a06e17..084c178d5ac63 100644 --- a/docs/pages/x/api/date-pickers/static-time-picker.json +++ b/docs/pages/x/api/date-pickers/static-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "components": { diff --git a/docs/pages/x/api/date-pickers/time-picker.json b/docs/pages/x/api/date-pickers/time-picker.json index 9af304463122b..38bc3138f3363 100644 --- a/docs/pages/x/api/date-pickers/time-picker.json +++ b/docs/pages/x/api/date-pickers/time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" } }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { From a9b1611d02c85997325ee98bc4238640d0d7e959 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 1 Mar 2023 14:25:34 +0200 Subject: [PATCH 5/6] Set `ampmInClock` to `true` on `DateTimePicker` --- packages/x-date-pickers/src/DateTimePicker/shared.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/x-date-pickers/src/DateTimePicker/shared.tsx b/packages/x-date-pickers/src/DateTimePicker/shared.tsx index 7b790bb52b5c4..ae9a3626cf66a 100644 --- a/packages/x-date-pickers/src/DateTimePicker/shared.tsx +++ b/packages/x-date-pickers/src/DateTimePicker/shared.tsx @@ -69,9 +69,11 @@ export interface BaseDateTimePickerProps extends BasePickerInputProps, Omit, 'onViewChange'>, ExportedTimeClockProps { + // TODO: Change default to be false on mobile, when `DateTimePickerToolbar` will support `ampm` buttons + // https://github.com/mui/mui-x/issues/7279 /** * Display ampm controls under the clock (instead of in the toolbar). - * @default true on desktop, false on mobile + * @default true */ ampmInClock?: boolean; /** @@ -129,6 +131,7 @@ type UseDateTimePickerDefaultizedProps< | 'views' | 'openTo' | 'orientation' + | 'ampmInClock' | 'ampm' | keyof BaseDateValidationProps | keyof BaseTimeValidationProps @@ -175,6 +178,7 @@ export function useDateTimePickerDefaultizedProps< ampm, localeText, orientation: themeProps.orientation ?? 'portrait', + ampmInClock: themeProps.ampmInClock ?? true, // TODO: Remove from public API disableIgnoringDatePartForTimeValidation: themeProps.disableIgnoringDatePartForTimeValidation ?? From 48949a29bb43d755ae695ae74f1a9bf7511d9221 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 1 Mar 2023 14:25:55 +0200 Subject: [PATCH 6/6] Rerun scripts --- docs/pages/x/api/date-pickers/date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/desktop-date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/mobile-date-time-picker.json | 2 +- docs/pages/x/api/date-pickers/static-date-time-picker.json | 2 +- packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx | 2 +- .../src/DesktopDateTimePicker/DesktopDateTimePicker.tsx | 2 +- .../src/MobileDateTimePicker/MobileDateTimePicker.tsx | 2 +- .../src/StaticDateTimePicker/StaticDateTimePicker.tsx | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/pages/x/api/date-pickers/date-time-picker.json b/docs/pages/x/api/date-pickers/date-time-picker.json index e573869366c8b..3b334fbc75d60 100644 --- a/docs/pages/x/api/date-pickers/date-time-picker.json +++ b/docs/pages/x/api/date-pickers/date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/desktop-date-time-picker.json b/docs/pages/x/api/date-pickers/desktop-date-time-picker.json index 716e2790c4e70..dd9a3ede7ad22 100644 --- a/docs/pages/x/api/date-pickers/desktop-date-time-picker.json +++ b/docs/pages/x/api/date-pickers/desktop-date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/mobile-date-time-picker.json b/docs/pages/x/api/date-pickers/mobile-date-time-picker.json index 99d3b499a8ae9..0ab52bb6fe180 100644 --- a/docs/pages/x/api/date-pickers/mobile-date-time-picker.json +++ b/docs/pages/x/api/date-pickers/mobile-date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "closeOnSelect": { diff --git a/docs/pages/x/api/date-pickers/static-date-time-picker.json b/docs/pages/x/api/date-pickers/static-date-time-picker.json index df49e2da50d34..451b466216861 100644 --- a/docs/pages/x/api/date-pickers/static-date-time-picker.json +++ b/docs/pages/x/api/date-pickers/static-date-time-picker.json @@ -1,7 +1,7 @@ { "props": { "ampm": { "type": { "name": "bool" }, "default": "`utils.is12HourCycleInCurrentLocale()`" }, - "ampmInClock": { "type": { "name": "bool" }, "default": "true on desktop, false on mobile" }, + "ampmInClock": { "type": { "name": "bool" }, "default": "true" }, "autoFocus": { "type": { "name": "bool" } }, "className": { "type": { "name": "string" } }, "components": { diff --git a/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx b/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx index 20f16c798a0e2..4fbfd595f05c4 100644 --- a/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx +++ b/packages/x-date-pickers/src/DateTimePicker/DateTimePicker.tsx @@ -41,7 +41,7 @@ DateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default true on desktop, false on mobile + * @default true */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx b/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx index 158955aaabb94..79e04c18183df 100644 --- a/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx +++ b/packages/x-date-pickers/src/DesktopDateTimePicker/DesktopDateTimePicker.tsx @@ -92,7 +92,7 @@ DesktopDateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default true on desktop, false on mobile + * @default true */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx b/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx index 0af10e43ae9a8..203b90ceb6617 100644 --- a/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx +++ b/packages/x-date-pickers/src/MobileDateTimePicker/MobileDateTimePicker.tsx @@ -94,7 +94,7 @@ MobileDateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default true on desktop, false on mobile + * @default true */ ampmInClock: PropTypes.bool, /** diff --git a/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx b/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx index 2caddff306147..eb0c9d3c174e7 100644 --- a/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx +++ b/packages/x-date-pickers/src/StaticDateTimePicker/StaticDateTimePicker.tsx @@ -79,7 +79,7 @@ StaticDateTimePicker.propTypes = { ampm: PropTypes.bool, /** * Display ampm controls under the clock (instead of in the toolbar). - * @default true on desktop, false on mobile + * @default true */ ampmInClock: PropTypes.bool, /**