@mui/x-date-pickers-pro 8.0.0-alpha.13 → 8.0.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/DateTimeRangePicker/shared.d.ts +2 -2
  3. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  4. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  5. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  6. package/esm/DateTimeRangePicker/shared.d.ts +2 -2
  7. package/esm/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  8. package/esm/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  9. package/esm/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  10. package/esm/index.js +1 -1
  11. package/esm/internals/hooks/models/useRangePicker.d.ts +4 -4
  12. package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +2 -2
  13. package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +2 -2
  14. package/esm/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  15. package/esm/internals/utils/releaseInfo.js +1 -1
  16. package/esm/internals/utils/valueManagers.js +31 -30
  17. package/esm/managers/useDateRangeManager.d.ts +2 -4
  18. package/esm/managers/useDateTimeRangeManager.d.ts +2 -4
  19. package/esm/managers/useTimeRangeManager.d.ts +2 -4
  20. package/index.js +1 -1
  21. package/internals/hooks/models/useRangePicker.d.ts +4 -4
  22. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +2 -2
  23. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +2 -2
  24. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  25. package/internals/utils/releaseInfo.js +1 -1
  26. package/internals/utils/valueManagers.js +31 -30
  27. package/managers/useDateRangeManager.d.ts +2 -4
  28. package/managers/useDateTimeRangeManager.d.ts +2 -4
  29. package/managers/useTimeRangeManager.d.ts +2 -4
  30. package/modern/DateTimeRangePicker/shared.d.ts +2 -2
  31. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  32. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  33. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  34. package/modern/index.js +1 -1
  35. package/modern/internals/hooks/models/useRangePicker.d.ts +4 -4
  36. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +2 -2
  37. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +2 -2
  38. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  39. package/modern/internals/utils/releaseInfo.js +1 -1
  40. package/modern/internals/utils/valueManagers.js +31 -30
  41. package/modern/managers/useDateRangeManager.d.ts +2 -4
  42. package/modern/managers/useDateTimeRangeManager.d.ts +2 -4
  43. package/modern/managers/useTimeRangeManager.d.ts +2 -4
  44. package/package.json +4 -4
  45. package/tsconfig.build.tsbuildinfo +1 -1
@@ -59,16 +59,8 @@ const getRangeFieldValueManager = ({
59
59
  }
60
60
  return [prevReferenceValue[1], value[1]];
61
61
  },
62
- getSectionsFromValue: (utils, [start, end], fallbackSections, getSectionsFromDate) => {
63
- const separatedFallbackSections = fallbackSections == null ? {
64
- startDate: null,
65
- endDate: null
66
- } : (0, _dateFieldsUtils.splitDateRangeSections)(fallbackSections);
67
- const getSections = (newDate, fallbackDateSections, position) => {
68
- const shouldReUsePrevDateSections = !utils.isValid(newDate) && !!fallbackDateSections;
69
- if (shouldReUsePrevDateSections) {
70
- return fallbackDateSections;
71
- }
62
+ getSectionsFromValue: ([start, end], getSectionsFromDate) => {
63
+ const getSections = (newDate, position) => {
72
64
  const sections = getSectionsFromDate(newDate);
73
65
  return sections.map((section, sectionIndex) => {
74
66
  if (sectionIndex === sections.length - 1 && position === 'start') {
@@ -83,7 +75,7 @@ const getRangeFieldValueManager = ({
83
75
  });
84
76
  });
85
77
  };
86
- return [...getSections(start, separatedFallbackSections.startDate, 'start'), ...getSections(end, separatedFallbackSections.endDate, 'end')];
78
+ return [...getSections(start, 'start'), ...getSections(end, 'end')];
87
79
  },
88
80
  getV7HiddenInputValueFromSections: sections => {
89
81
  const dateRangeSections = (0, _dateFieldsUtils.splitDateRangeSections)(sections);
@@ -103,24 +95,33 @@ const getRangeFieldValueManager = ({
103
95
  return parseDate(dateStr.trim(), referenceValue[index]);
104
96
  });
105
97
  },
106
- getActiveDateManager: (utils, state, activeSection) => {
107
- const index = activeSection.dateName === 'start' ? 0 : 1;
108
- const updateDateInRange = (newDate, prevDateRange) => index === 0 ? [newDate, prevDateRange[1]] : [prevDateRange[0], newDate];
109
- return {
110
- date: state.value[index],
111
- referenceDate: state.referenceValue[index],
112
- getSections: sections => {
113
- const dateRangeSections = (0, _dateFieldsUtils.splitDateRangeSections)(sections);
114
- if (index === 0) {
115
- return (0, _dateFieldsUtils.removeLastSeparator)(dateRangeSections.startDate);
116
- }
117
- return dateRangeSections.endDate;
118
- },
119
- getNewValuesFromNewActiveDate: newActiveDate => ({
120
- value: updateDateInRange(newActiveDate, state.value),
121
- referenceValue: !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
122
- })
123
- };
98
+ getDateFromSection: (value, activeSection) => value[getActiveDateIndex(activeSection)],
99
+ getDateSectionsFromValue: (sections, activeSection) => {
100
+ const dateRangeSections = (0, _dateFieldsUtils.splitDateRangeSections)(sections);
101
+ if (getActiveDateIndex(activeSection) === 0) {
102
+ return (0, _dateFieldsUtils.removeLastSeparator)(dateRangeSections.startDate);
103
+ }
104
+ return dateRangeSections.endDate;
105
+ },
106
+ updateDateInValue: (value, activeSection, activeDate) => {
107
+ if (getActiveDateIndex(activeSection) === 0) {
108
+ return [activeDate, value[1]];
109
+ }
110
+ return [value[0], activeDate];
111
+ },
112
+ clearDateSections: (sections, activeSection) => {
113
+ const dateRangeSections = (0, _dateFieldsUtils.splitDateRangeSections)(sections);
114
+ if (getActiveDateIndex(activeSection) === 0) {
115
+ return [...dateRangeSections.startDate.map(section => (0, _extends2.default)({}, section, {
116
+ value: ''
117
+ })), ...dateRangeSections.endDate];
118
+ }
119
+ return [...dateRangeSections.startDate, ...dateRangeSections.endDate.map(section => (0, _extends2.default)({}, section, {
120
+ value: ''
121
+ }))];
124
122
  }
125
123
  });
126
- exports.getRangeFieldValueManager = getRangeFieldValueManager;
124
+ exports.getRangeFieldValueManager = getRangeFieldValueManager;
125
+ function getActiveDateIndex(activeSection) {
126
+ return activeSection == null || activeSection.dateName === 'start' ? 0 : 1;
127
+ }
@@ -7,7 +7,5 @@ export declare function useDateRangeManager<TEnableAccessibleFieldDOMStructure e
7
7
  export interface UseDateRangeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends RangeFieldSeparatorProps {
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
- export type UseDateRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError, DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- export interface DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'format'>, RangeFieldSeparatorProps, ExportedValidateDateRangeProps {}
12
- interface DateRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, ValidateDateRangeProps, RangeFieldSeparatorProps {}
13
- export {};
10
+ export type UseDateRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError, ValidateDateRangeProps, DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
11
+ export interface DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'format'>, RangeFieldSeparatorProps, ExportedValidateDateRangeProps {}
@@ -7,7 +7,5 @@ export declare function useDateTimeRangeManager<TEnableAccessibleFieldDOMStructu
7
7
  export interface UseDateTimeRangeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends RangeFieldSeparatorProps {
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
- export type UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError, DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- export interface DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'format'>, ExportedValidateDateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
12
- interface DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, ValidateDateTimeRangeProps, RangeFieldSeparatorProps {}
13
- export {};
10
+ export type UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError, ValidateDateTimeRangeProps, DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
11
+ export interface DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'format'>, ExportedValidateDateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
@@ -7,7 +7,5 @@ export declare function useTimeRangeManager<TEnableAccessibleFieldDOMStructure e
7
7
  export interface UseTimeRangeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends RangeFieldSeparatorProps {
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
- export type UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError, TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- export interface TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'format'>, ExportedValidateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
12
- interface TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, ValidateTimeRangeProps {}
13
- export {};
10
+ export type UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError, ValidateTimeRangeProps, TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
11
+ export interface TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'format'>, ExportedValidateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '@mui/x-internals/types';
3
3
  import { LocalizedComponent } from '@mui/x-date-pickers/locales';
4
- import { BasePickerInputProps, PickerViewRendererLookup, BaseClockProps, DesktopOnlyTimePickerProps, TimeViewWithMeridiem, UseViewsOptions, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
4
+ import { BasePickerInputProps, PickerViewRendererLookup, BaseClockProps, DigitalTimePickerProps, TimeViewWithMeridiem, UseViewsOptions, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
5
5
  import { TimeViewRendererProps } from '@mui/x-date-pickers/timeViewRenderers';
6
6
  import { DigitalClockSlots, DigitalClockSlotProps } from '@mui/x-date-pickers/DigitalClock';
7
7
  import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '@mui/x-date-pickers/MultiSectionDigitalClock';
@@ -37,7 +37,7 @@ export interface BaseDateTimeRangePickerSlotProps extends DateRangeCalendarSlotP
37
37
  export type DateTimeRangePickerRenderers<TView extends DateOrTimeViewWithMeridiem> = PickerViewRendererLookup<PickerRangeValue, TView, Omit<DateRangeViewRendererProps<'day'>, 'view' | 'slots' | 'slotProps'> & Omit<TimeViewRendererProps<TimeViewWithMeridiem, BaseClockProps<TimeViewWithMeridiem>>, 'view' | 'slots' | 'slotProps'> & {
38
38
  view: TView;
39
39
  }>;
40
- export interface BaseDateTimeRangePickerProps extends Omit<BasePickerInputProps<PickerRangeValue, DateTimeRangePickerView, DateTimeRangeValidationError>, 'orientation' | 'views' | 'openTo'>, ExportedDateRangeCalendarProps, ExportedValidateDateTimeRangeProps, DesktopOnlyTimePickerProps, Partial<Pick<UseViewsOptions<PickerRangeValue, DateTimeRangePickerViewExternal>, 'openTo' | 'views'>> {
40
+ export interface BaseDateTimeRangePickerProps extends Omit<BasePickerInputProps<PickerRangeValue, DateTimeRangePickerView, DateTimeRangeValidationError>, 'orientation' | 'views' | 'openTo'>, ExportedDateRangeCalendarProps, ExportedValidateDateTimeRangeProps, DigitalTimePickerProps, Partial<Pick<UseViewsOptions<PickerRangeValue, DateTimeRangePickerViewExternal>, 'openTo' | 'views'>> {
41
41
  /**
42
42
  * Overridable component slots.
43
43
  * @default {}
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputDateRangeFieldProps } from "./SingleInputDateRangeField.types.js";
2
- export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "enableAccessibleFieldDOMStructure" | "referenceDate" | "timezone" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "shouldRespectLeadingZeros" | "unstableFieldRef" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
2
+ export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "timezone" | "enableAccessibleFieldDOMStructure" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "referenceDate" | "shouldRespectLeadingZeros" | "unstableFieldRef" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputDateTimeRangeFieldProps } from "./SingleInputDateTimeRangeField.types.js";
2
- export declare const useSingleInputDateTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "enableAccessibleFieldDOMStructure" | "referenceDate" | "timezone" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "ampm" | "disableFuture" | "maxDate" | "disablePast" | "minDate" | "minTime" | "maxTime" | "minutesStep" | "shouldDisableTime" | "disableIgnoringDatePartForTimeValidation" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "minDateTime" | "maxDateTime" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
2
+ export declare const useSingleInputDateTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "timezone" | "enableAccessibleFieldDOMStructure" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "referenceDate" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "ampm" | "disableFuture" | "maxDate" | "disablePast" | "minDate" | "minTime" | "maxTime" | "minutesStep" | "shouldDisableTime" | "disableIgnoringDatePartForTimeValidation" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "minDateTime" | "maxDateTime" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputTimeRangeFieldProps } from "./SingleInputTimeRangeField.types.js";
2
- export declare const useSingleInputTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "enableAccessibleFieldDOMStructure" | "referenceDate" | "timezone" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "ampm" | keyof import("@mui/x-date-pickers/internals").BaseTimeValidationProps | keyof import("@mui/x-date-pickers/internals").TimeValidationProps | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
2
+ export declare const useSingleInputTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "timezone" | "enableAccessibleFieldDOMStructure" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "referenceDate" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "ampm" | keyof import("@mui/x-date-pickers/internals").BaseTimeValidationProps | keyof import("@mui/x-date-pickers/internals").TimeValidationProps | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v8.0.0-alpha.13
2
+ * @mui/x-date-pickers-pro v8.0.0-alpha.14
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,8 +1,8 @@
1
- import { UsePickerParams, BasePickerProps, UsePickerViewsProps, UsePickerValueNonStaticProps, UsePickerProviderNonStaticProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
1
+ import { UsePickerParameters, BasePickerProps, UsePickerProps, UsePickerNonStaticProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
2
  import { BaseRangeNonStaticPickerProps } from "../../models/index.js";
3
3
  import { UseRangePositionProps } from "../useRangePosition.js";
4
- export interface RangeOnlyPickerProps extends UsePickerValueNonStaticProps, UsePickerProviderNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {}
5
- export interface UseRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<any, TView, any>> extends RangeOnlyPickerProps, BasePickerProps<PickerRangeValue, TView, TError, TExternalProps> {}
6
- export interface UseRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParams<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> {
4
+ export interface RangeOnlyPickerProps extends UsePickerNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {}
5
+ export interface UseRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends RangeOnlyPickerProps, BasePickerProps<PickerRangeValue, TView, TError, TExternalProps> {}
6
+ export interface UseRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> {
7
7
  props: TExternalProps;
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
2
  import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
3
- import { PickerPopperSlots, PickerPopperSlotProps, UsePickerViewsProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
3
+ import { PickerPopperSlots, PickerPopperSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots } from '@mui/x-date-pickers/PickersLayout';
5
5
  import { RangeOnlyPickerProps, UseRangePickerParams, UseRangePickerProps } from "../models/useRangePicker.js";
6
6
  export interface UseDesktopRangePickerSlots extends PickerPopperSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
@@ -20,7 +20,7 @@ export interface DesktopRangeOnlyPickerProps extends RangeOnlyPickerProps {
20
20
  */
21
21
  autoFocus?: boolean;
22
22
  }
23
- export interface UseDesktopRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TError, TExternalProps extends UsePickerViewsProps<any, TView, any>> extends UseRangePickerProps<TView, TError, TExternalProps> {
23
+ export interface UseDesktopRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends UseRangePickerProps<TView, TError, TExternalProps> {
24
24
  /**
25
25
  * Overridable component slots.
26
26
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
2
  import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
3
- import { PickersModalDialogSlots, PickersModalDialogSlotProps, UsePickerViewsProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
3
+ import { PickersModalDialogSlots, PickersModalDialogSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots, PickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
5
5
  import { RangeOnlyPickerProps, UseRangePickerParams, UseRangePickerProps } from "../models/useRangePicker.js";
6
6
  export interface UseMobileRangePickerSlots extends PickersModalDialogSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
@@ -16,7 +16,7 @@ export interface ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOM
16
16
  }
17
17
  export interface UseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure>, Pick<PickersLayoutSlotProps<PickerRangeValue>, 'toolbar'> {}
18
18
  export interface MobileRangeOnlyPickerProps extends RangeOnlyPickerProps {}
19
- export interface UseMobileRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TError, TExternalProps extends UsePickerViewsProps<any, TView, any>> extends UseRangePickerProps<TView, TError, TExternalProps> {
19
+ export interface UseMobileRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends UseRangePickerProps<TView, TError, TExternalProps> {
20
20
  /**
21
21
  * Overridable component slots.
22
22
  * @default {}
@@ -1,4 +1,4 @@
1
- import { BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
1
+ import { BasePickerProps, UsePickerParameters, ExportedBaseToolbarProps, StaticOnlyPickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
2
  import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
3
3
  import { UseRangePositionProps } from "../useRangePosition.js";
4
4
  export interface UseStaticRangePickerSlots extends ExportedPickersLayoutSlots<PickerRangeValue> {}
@@ -18,6 +18,6 @@ export interface UseStaticRangePickerProps<TView extends DateOrTimeViewWithMerid
18
18
  */
19
19
  slotProps?: UseStaticRangePickerSlotProps;
20
20
  }
21
- export interface UseStaticRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParams<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'ref'> {
21
+ export interface UseStaticRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'ref'> {
22
22
  props: TExternalProps;
23
23
  }
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0MDY5NzIwMDAwMA==";
3
+ const releaseInfo = "MTc0MTMwMjAwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -52,16 +52,8 @@ export const getRangeFieldValueManager = ({
52
52
  }
53
53
  return [prevReferenceValue[1], value[1]];
54
54
  },
55
- getSectionsFromValue: (utils, [start, end], fallbackSections, getSectionsFromDate) => {
56
- const separatedFallbackSections = fallbackSections == null ? {
57
- startDate: null,
58
- endDate: null
59
- } : splitDateRangeSections(fallbackSections);
60
- const getSections = (newDate, fallbackDateSections, position) => {
61
- const shouldReUsePrevDateSections = !utils.isValid(newDate) && !!fallbackDateSections;
62
- if (shouldReUsePrevDateSections) {
63
- return fallbackDateSections;
64
- }
55
+ getSectionsFromValue: ([start, end], getSectionsFromDate) => {
56
+ const getSections = (newDate, position) => {
65
57
  const sections = getSectionsFromDate(newDate);
66
58
  return sections.map((section, sectionIndex) => {
67
59
  if (sectionIndex === sections.length - 1 && position === 'start') {
@@ -76,7 +68,7 @@ export const getRangeFieldValueManager = ({
76
68
  });
77
69
  });
78
70
  };
79
- return [...getSections(start, separatedFallbackSections.startDate, 'start'), ...getSections(end, separatedFallbackSections.endDate, 'end')];
71
+ return [...getSections(start, 'start'), ...getSections(end, 'end')];
80
72
  },
81
73
  getV7HiddenInputValueFromSections: sections => {
82
74
  const dateRangeSections = splitDateRangeSections(sections);
@@ -96,23 +88,32 @@ export const getRangeFieldValueManager = ({
96
88
  return parseDate(dateStr.trim(), referenceValue[index]);
97
89
  });
98
90
  },
99
- getActiveDateManager: (utils, state, activeSection) => {
100
- const index = activeSection.dateName === 'start' ? 0 : 1;
101
- const updateDateInRange = (newDate, prevDateRange) => index === 0 ? [newDate, prevDateRange[1]] : [prevDateRange[0], newDate];
102
- return {
103
- date: state.value[index],
104
- referenceDate: state.referenceValue[index],
105
- getSections: sections => {
106
- const dateRangeSections = splitDateRangeSections(sections);
107
- if (index === 0) {
108
- return removeLastSeparator(dateRangeSections.startDate);
109
- }
110
- return dateRangeSections.endDate;
111
- },
112
- getNewValuesFromNewActiveDate: newActiveDate => ({
113
- value: updateDateInRange(newActiveDate, state.value),
114
- referenceValue: !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
115
- })
116
- };
91
+ getDateFromSection: (value, activeSection) => value[getActiveDateIndex(activeSection)],
92
+ getDateSectionsFromValue: (sections, activeSection) => {
93
+ const dateRangeSections = splitDateRangeSections(sections);
94
+ if (getActiveDateIndex(activeSection) === 0) {
95
+ return removeLastSeparator(dateRangeSections.startDate);
96
+ }
97
+ return dateRangeSections.endDate;
98
+ },
99
+ updateDateInValue: (value, activeSection, activeDate) => {
100
+ if (getActiveDateIndex(activeSection) === 0) {
101
+ return [activeDate, value[1]];
102
+ }
103
+ return [value[0], activeDate];
104
+ },
105
+ clearDateSections: (sections, activeSection) => {
106
+ const dateRangeSections = splitDateRangeSections(sections);
107
+ if (getActiveDateIndex(activeSection) === 0) {
108
+ return [...dateRangeSections.startDate.map(section => _extends({}, section, {
109
+ value: ''
110
+ })), ...dateRangeSections.endDate];
111
+ }
112
+ return [...dateRangeSections.startDate, ...dateRangeSections.endDate.map(section => _extends({}, section, {
113
+ value: ''
114
+ }))];
117
115
  }
118
- });
116
+ });
117
+ function getActiveDateIndex(activeSection) {
118
+ return activeSection == null || activeSection.dateName === 'start' ? 0 : 1;
119
+ }
@@ -7,7 +7,5 @@ export declare function useDateRangeManager<TEnableAccessibleFieldDOMStructure e
7
7
  export interface UseDateRangeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends RangeFieldSeparatorProps {
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
- export type UseDateRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError, DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- export interface DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'format'>, RangeFieldSeparatorProps, ExportedValidateDateRangeProps {}
12
- interface DateRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, ValidateDateRangeProps, RangeFieldSeparatorProps {}
13
- export {};
10
+ export type UseDateRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError, ValidateDateRangeProps, DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
11
+ export interface DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'format'>, RangeFieldSeparatorProps, ExportedValidateDateRangeProps {}
@@ -7,7 +7,5 @@ export declare function useDateTimeRangeManager<TEnableAccessibleFieldDOMStructu
7
7
  export interface UseDateTimeRangeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends RangeFieldSeparatorProps {
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
- export type UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError, DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- export interface DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'format'>, ExportedValidateDateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
12
- interface DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, ValidateDateTimeRangeProps, RangeFieldSeparatorProps {}
13
- export {};
10
+ export type UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError, ValidateDateTimeRangeProps, DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
11
+ export interface DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'format'>, ExportedValidateDateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
@@ -7,7 +7,5 @@ export declare function useTimeRangeManager<TEnableAccessibleFieldDOMStructure e
7
7
  export interface UseTimeRangeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends RangeFieldSeparatorProps {
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
- export type UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError, TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- export interface TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'format'>, ExportedValidateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
12
- interface TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, ValidateTimeRangeProps {}
13
- export {};
10
+ export type UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError, ValidateTimeRangeProps, TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
11
+ export interface TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'format'>, ExportedValidateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "8.0.0-alpha.13",
3
+ "version": "8.0.0-alpha.14",
4
4
  "description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -37,9 +37,9 @@
37
37
  "clsx": "^2.1.1",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-transition-group": "^4.4.5",
40
- "@mui/x-date-pickers": "8.0.0-alpha.13",
41
- "@mui/x-license": "8.0.0-alpha.13",
42
- "@mui/x-internals": "8.0.0-alpha.13"
40
+ "@mui/x-date-pickers": "8.0.0-alpha.14",
41
+ "@mui/x-internals": "8.0.0-alpha.13",
42
+ "@mui/x-license": "8.0.0-alpha.14"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",