@mui/x-date-pickers-pro 8.0.0-beta.0 → 8.0.0-beta.1

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 (87) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +1 -1
  3. package/DateRangePicker/DateRangePicker.js +3 -1
  4. package/DateRangePickerDay/DateRangePickerDay.d.ts +1 -41
  5. package/DateRangePickerDay/DateRangePickerDay.js +88 -56
  6. package/DateRangePickerDay/DateRangePickerDay.types.d.ts +91 -0
  7. package/DateRangePickerDay/DateRangePickerDay.types.js +5 -0
  8. package/DateRangePickerDay/index.d.ts +1 -1
  9. package/DateTimeRangePicker/DateTimeRangePicker.js +3 -1
  10. package/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -0
  11. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -0
  12. package/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -0
  13. package/MobileDateRangePicker/MobileDateRangePicker.js +1 -0
  14. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -0
  15. package/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -0
  16. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  17. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
  18. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  19. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -16
  20. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  21. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -16
  22. package/TimeRangePicker/TimeRangePicker.js +3 -1
  23. package/esm/DateRangeCalendar/DateRangeCalendar.types.d.ts +1 -1
  24. package/esm/DateRangePicker/DateRangePicker.js +3 -1
  25. package/esm/DateRangePickerDay/DateRangePickerDay.d.ts +1 -41
  26. package/esm/DateRangePickerDay/DateRangePickerDay.js +89 -57
  27. package/esm/DateRangePickerDay/DateRangePickerDay.types.d.ts +91 -0
  28. package/esm/DateRangePickerDay/DateRangePickerDay.types.js +1 -0
  29. package/esm/DateRangePickerDay/index.d.ts +1 -1
  30. package/esm/DateTimeRangePicker/DateTimeRangePicker.js +3 -1
  31. package/esm/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -0
  32. package/esm/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -0
  33. package/esm/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -0
  34. package/esm/MobileDateRangePicker/MobileDateRangePicker.js +1 -0
  35. package/esm/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -0
  36. package/esm/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -0
  37. package/esm/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  38. package/esm/SingleInputDateRangeField/useSingleInputDateRangeField.js +3 -17
  39. package/esm/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  40. package/esm/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +3 -17
  41. package/esm/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  42. package/esm/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +3 -17
  43. package/esm/TimeRangePicker/TimeRangePicker.js +3 -1
  44. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +2 -2
  45. package/esm/hooks/useMultiInputRangeField/useTextFieldProps.js +4 -16
  46. package/esm/index.js +1 -1
  47. package/esm/internals/utils/releaseInfo.js +1 -1
  48. package/esm/managers/useDateRangeManager.js +3 -3
  49. package/esm/managers/useDateTimeRangeManager.js +3 -3
  50. package/esm/managers/useTimeRangeManager.js +3 -3
  51. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +2 -2
  52. package/hooks/useMultiInputRangeField/useTextFieldProps.js +3 -15
  53. package/index.js +1 -1
  54. package/internals/utils/releaseInfo.js +1 -1
  55. package/managers/useDateRangeManager.js +3 -3
  56. package/managers/useDateTimeRangeManager.js +3 -3
  57. package/managers/useTimeRangeManager.js +3 -3
  58. package/modern/DateRangeCalendar/DateRangeCalendar.types.d.ts +1 -1
  59. package/modern/DateRangePicker/DateRangePicker.js +3 -1
  60. package/modern/DateRangePickerDay/DateRangePickerDay.d.ts +1 -41
  61. package/modern/DateRangePickerDay/DateRangePickerDay.js +89 -57
  62. package/modern/DateRangePickerDay/DateRangePickerDay.types.d.ts +91 -0
  63. package/modern/DateRangePickerDay/DateRangePickerDay.types.js +1 -0
  64. package/modern/DateRangePickerDay/index.d.ts +1 -1
  65. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +3 -1
  66. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -0
  67. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -0
  68. package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -0
  69. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +1 -0
  70. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -0
  71. package/modern/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -0
  72. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  73. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +3 -17
  74. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  75. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +3 -17
  76. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  77. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +3 -17
  78. package/modern/TimeRangePicker/TimeRangePicker.js +3 -1
  79. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +2 -2
  80. package/modern/hooks/useMultiInputRangeField/useTextFieldProps.js +4 -16
  81. package/modern/index.js +1 -1
  82. package/modern/internals/utils/releaseInfo.js +1 -1
  83. package/modern/managers/useDateRangeManager.js +3 -3
  84. package/modern/managers/useDateTimeRangeManager.js +3 -3
  85. package/modern/managers/useTimeRangeManager.js +3 -3
  86. package/package.json +4 -4
  87. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1,25 +1,11 @@
1
1
  'use client';
2
2
 
3
- import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
4
- import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
3
+ import { useField } from '@mui/x-date-pickers/internals';
5
4
  import { useDateTimeRangeManager } from "../managers/index.js";
6
5
  export const useSingleInputDateTimeRangeField = props => {
7
6
  const manager = useDateTimeRangeManager(props);
8
- const {
9
- forwardedProps,
10
- internalProps
11
- } = useSplitFieldProps(props, 'date-time');
12
- const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
13
- manager,
14
- internalProps
15
- });
16
7
  return useField({
17
- forwardedProps,
18
- internalProps: internalPropsWithDefaults,
19
- valueManager: manager.internal_valueManager,
20
- fieldValueManager: manager.internal_fieldValueManager,
21
- validator: manager.validator,
22
- valueType: manager.valueType,
23
- getOpenPickerButtonAriaLabel: manager.internal_useOpenPickerButtonAriaLabel()
8
+ manager,
9
+ props
24
10
  });
25
11
  };
@@ -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" | "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">>;
2
+ export declare const useSingleInputTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseSingleInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TProps) => import("@mui/x-date-pickers/internals").UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TProps>;
@@ -1,25 +1,11 @@
1
1
  'use client';
2
2
 
3
- import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
4
- import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
3
+ import { useField } from '@mui/x-date-pickers/internals';
5
4
  import { useTimeRangeManager } from "../managers/index.js";
6
5
  export const useSingleInputTimeRangeField = props => {
7
6
  const manager = useTimeRangeManager(props);
8
- const {
9
- forwardedProps,
10
- internalProps
11
- } = useSplitFieldProps(props, 'time');
12
- const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
13
- manager,
14
- internalProps
15
- });
16
7
  return useField({
17
- forwardedProps,
18
- internalProps: internalPropsWithDefaults,
19
- valueManager: manager.internal_valueManager,
20
- fieldValueManager: manager.internal_fieldValueManager,
21
- validator: manager.validator,
22
- valueType: manager.valueType,
23
- getOpenPickerButtonAriaLabel: manager.internal_useOpenPickerButtonAriaLabel()
8
+ manager,
9
+ props
24
10
  });
25
11
  };
@@ -8,6 +8,7 @@ import PropTypes from 'prop-types';
8
8
  import useMediaQuery from '@mui/material/useMediaQuery';
9
9
  import { useThemeProps } from '@mui/material/styles';
10
10
  import refType from '@mui/utils/refType';
11
+ import { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '@mui/x-date-pickers/internals';
11
12
  import { DesktopTimeRangePicker } from "../DesktopTimeRangePicker/index.js";
12
13
  import { MobileTimeRangePicker } from "../MobileTimeRangePicker/index.js";
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -27,7 +28,7 @@ const TimeRangePicker = /*#__PURE__*/React.forwardRef(function TimeRangePicker(i
27
28
  name: 'MuiTimeRangePicker'
28
29
  });
29
30
  const {
30
- desktopModeMediaQuery = '@media (pointer: fine)'
31
+ desktopModeMediaQuery = DEFAULT_DESKTOP_MODE_MEDIA_QUERY
31
32
  } = props,
32
33
  other = _objectWithoutPropertiesLoose(props, _excluded);
33
34
 
@@ -102,6 +103,7 @@ process.env.NODE_ENV !== "production" ? TimeRangePicker.propTypes = {
102
103
  disableIgnoringDatePartForTimeValidation: PropTypes.bool,
103
104
  /**
104
105
  * If `true`, the button to open the Picker will not be rendered (it will only render the field).
106
+ * @deprecated Use the [field component](https://next.mui.com/x/react-date-pickers/fields/) instead.
105
107
  * @default false
106
108
  */
107
109
  disableOpenPicker: PropTypes.bool,
@@ -1,4 +1,4 @@
1
- import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps, UseFieldResponse } from '@mui/x-date-pickers/internals';
1
+ import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps, UseFieldReturnValue } from '@mui/x-date-pickers/internals';
2
2
  import { UseTextFieldBaseForwardedProps } from "./useTextFieldProps.js";
3
3
  import { PickerAnyRangeManager } from "../../internals/models/managers.js";
4
4
  import { UseMultiInputRangeFieldRootPropsReturnValue } from "./useMultiInputRangeFieldRootProps.js";
@@ -63,7 +63,7 @@ interface UseMultiInputRangeFieldReturnValue<TManager extends PickerAnyRangeMana
63
63
  endTextField: UseMultiInputRangeFieldTextFieldProps<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TTextFieldProps>;
64
64
  enableAccessibleFieldDOMStructure: PickerManagerEnableAccessibleFieldDOMStructure<TManager>;
65
65
  }
66
- export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps & {
66
+ export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TForwardedProps & {
67
67
  onKeyDown: React.KeyboardEventHandler;
68
68
  onClick: React.MouseEventHandler;
69
69
  onFocus: React.FocusEventHandler;
@@ -4,8 +4,7 @@ const _excluded = ["clearable", "onClear", "openPickerAriaLabel"];
4
4
  import * as React from 'react';
5
5
  import useEventCallback from '@mui/utils/useEventCallback';
6
6
  import { useDateManager, useDateTimeManager, useTimeManager } from '@mui/x-date-pickers/managers';
7
- import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
8
- import { useField, useFieldInternalPropsWithDefaults, useNullableFieldPrivateContext, useNullablePickerContext, usePickerPrivateContext } from '@mui/x-date-pickers/internals';
7
+ import { useField, useNullableFieldPrivateContext, useNullablePickerContext, usePickerPrivateContext } from '@mui/x-date-pickers/internals';
9
8
  import { useNullablePickerRangePositionContext } from "../../internals/hooks/useNullablePickerRangePositionContext.js";
10
9
  /**
11
10
  * @ignore - internal hook.
@@ -102,21 +101,10 @@ export function useTextFieldProps(parameters) {
102
101
  onKeyDown: handleKeyDown,
103
102
  onChange: handleChange
104
103
  });
105
- const splittedProps = useSplitFieldProps(allProps, valueType);
106
- const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
107
- manager,
108
- internalProps: splittedProps.internalProps,
109
- skipContextFieldRefAssignment: rangePosition !== position
110
- });
111
104
  const _ref = useField({
112
- forwardedProps: splittedProps.forwardedProps,
113
- internalProps: internalPropsWithDefaults,
114
- valueManager: manager.internal_valueManager,
115
- fieldValueManager: manager.internal_fieldValueManager,
116
- validator: manager.validator,
117
- valueType: manager.valueType,
118
- // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
119
- getOpenPickerButtonAriaLabel: () => ''
105
+ manager,
106
+ props: allProps,
107
+ skipContextFieldRefAssignment: rangePosition !== position
120
108
  }),
121
109
  fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
122
110
  React.useEffect(() => {
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v8.0.0-beta.0
2
+ * @mui/x-date-pickers-pro v8.0.0-beta.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0MjI0ODgwMDAwMA==";
3
+ const releaseInfo = "MTc0MjUxNTIwMDAwMA==";
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
@@ -32,10 +32,10 @@ export function useDateRangeManager(parameters = {}) {
32
32
  internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
33
33
  }), [enableAccessibleFieldDOMStructure, dateSeparator]);
34
34
  }
35
- function useOpenPickerButtonAriaLabel() {
35
+ function useOpenPickerButtonAriaLabel(value) {
36
36
  const utils = useUtils();
37
37
  const translations = usePickerTranslations();
38
- return React.useCallback(value => {
38
+ return React.useMemo(() => {
39
39
  return translations.openRangePickerDialogue(formatRange(utils, value, 'fullDate'));
40
- }, [translations, utils]);
40
+ }, [value, translations, utils]);
41
41
  }
@@ -32,10 +32,10 @@ export function useDateTimeRangeManager(parameters = {}) {
32
32
  internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
33
33
  }), [enableAccessibleFieldDOMStructure, dateSeparator]);
34
34
  }
35
- function useOpenPickerButtonAriaLabel() {
35
+ function useOpenPickerButtonAriaLabel(value) {
36
36
  const utils = useUtils();
37
37
  const translations = usePickerTranslations();
38
- return React.useCallback(value => {
38
+ return React.useMemo(() => {
39
39
  return translations.openRangePickerDialogue(formatRange(utils, value, 'fullDate'));
40
- }, [translations, utils]);
40
+ }, [value, translations, utils]);
41
41
  }
@@ -32,12 +32,12 @@ export function useTimeRangeManager(parameters = {}) {
32
32
  }), [enableAccessibleFieldDOMStructure, dateSeparator, ampm]);
33
33
  }
34
34
  function createUseOpenPickerButtonAriaLabel(ampm) {
35
- return function useOpenPickerButtonAriaLabel() {
35
+ return function useOpenPickerButtonAriaLabel(value) {
36
36
  const utils = useUtils();
37
37
  const translations = usePickerTranslations();
38
- return React.useCallback(value => {
38
+ return React.useMemo(() => {
39
39
  const formatKey = ampm ?? utils.is12HourCycleInCurrentLocale() ? 'fullTime12h' : 'fullTime24h';
40
40
  return translations.openRangePickerDialogue(formatRange(utils, value, formatKey));
41
- }, [translations, utils]);
41
+ }, [value, translations, utils]);
42
42
  };
43
43
  }
@@ -1,4 +1,4 @@
1
- import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps, UseFieldResponse } from '@mui/x-date-pickers/internals';
1
+ import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps, UseFieldReturnValue } from '@mui/x-date-pickers/internals';
2
2
  import { UseTextFieldBaseForwardedProps } from "./useTextFieldProps.js";
3
3
  import { PickerAnyRangeManager } from "../../internals/models/managers.js";
4
4
  import { UseMultiInputRangeFieldRootPropsReturnValue } from "./useMultiInputRangeFieldRootProps.js";
@@ -63,7 +63,7 @@ interface UseMultiInputRangeFieldReturnValue<TManager extends PickerAnyRangeMana
63
63
  endTextField: UseMultiInputRangeFieldTextFieldProps<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TTextFieldProps>;
64
64
  enableAccessibleFieldDOMStructure: PickerManagerEnableAccessibleFieldDOMStructure<TManager>;
65
65
  }
66
- export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps & {
66
+ export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TForwardedProps & {
67
67
  onKeyDown: React.KeyboardEventHandler;
68
68
  onClick: React.MouseEventHandler;
69
69
  onFocus: React.FocusEventHandler;
@@ -11,7 +11,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
13
13
  var _managers = require("@mui/x-date-pickers/managers");
14
- var _hooks = require("@mui/x-date-pickers/hooks");
15
14
  var _internals = require("@mui/x-date-pickers/internals");
16
15
  var _useNullablePickerRangePositionContext = require("../../internals/hooks/useNullablePickerRangePositionContext");
17
16
  const _excluded = ["clearable", "onClear", "openPickerAriaLabel"];
@@ -110,21 +109,10 @@ function useTextFieldProps(parameters) {
110
109
  onKeyDown: handleKeyDown,
111
110
  onChange: handleChange
112
111
  });
113
- const splittedProps = (0, _hooks.useSplitFieldProps)(allProps, valueType);
114
- const internalPropsWithDefaults = (0, _internals.useFieldInternalPropsWithDefaults)({
115
- manager,
116
- internalProps: splittedProps.internalProps,
117
- skipContextFieldRefAssignment: rangePosition !== position
118
- });
119
112
  const _ref = (0, _internals.useField)({
120
- forwardedProps: splittedProps.forwardedProps,
121
- internalProps: internalPropsWithDefaults,
122
- valueManager: manager.internal_valueManager,
123
- fieldValueManager: manager.internal_fieldValueManager,
124
- validator: manager.validator,
125
- valueType: manager.valueType,
126
- // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
127
- getOpenPickerButtonAriaLabel: () => ''
113
+ manager,
114
+ props: allProps,
115
+ skipContextFieldRefAssignment: rangePosition !== position
128
116
  }),
129
117
  fieldResponse = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
130
118
  React.useEffect(() => {
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v8.0.0-beta.0
2
+ * @mui/x-date-pickers-pro v8.0.0-beta.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTc0MjI0ODgwMDAwMA==";
9
+ const releaseInfo = "MTc0MjUxNTIwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat
@@ -39,10 +39,10 @@ function useDateRangeManager(parameters = {}) {
39
39
  internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
40
40
  }), [enableAccessibleFieldDOMStructure, dateSeparator]);
41
41
  }
42
- function useOpenPickerButtonAriaLabel() {
42
+ function useOpenPickerButtonAriaLabel(value) {
43
43
  const utils = (0, _internals.useUtils)();
44
44
  const translations = (0, _hooks.usePickerTranslations)();
45
- return React.useCallback(value => {
45
+ return React.useMemo(() => {
46
46
  return translations.openRangePickerDialogue((0, _dateUtils.formatRange)(utils, value, 'fullDate'));
47
- }, [translations, utils]);
47
+ }, [value, translations, utils]);
48
48
  }
@@ -39,10 +39,10 @@ function useDateTimeRangeManager(parameters = {}) {
39
39
  internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
40
40
  }), [enableAccessibleFieldDOMStructure, dateSeparator]);
41
41
  }
42
- function useOpenPickerButtonAriaLabel() {
42
+ function useOpenPickerButtonAriaLabel(value) {
43
43
  const utils = (0, _internals.useUtils)();
44
44
  const translations = (0, _hooks.usePickerTranslations)();
45
- return React.useCallback(value => {
45
+ return React.useMemo(() => {
46
46
  return translations.openRangePickerDialogue((0, _dateUtils.formatRange)(utils, value, 'fullDate'));
47
- }, [translations, utils]);
47
+ }, [value, translations, utils]);
48
48
  }
@@ -39,12 +39,12 @@ function useTimeRangeManager(parameters = {}) {
39
39
  }), [enableAccessibleFieldDOMStructure, dateSeparator, ampm]);
40
40
  }
41
41
  function createUseOpenPickerButtonAriaLabel(ampm) {
42
- return function useOpenPickerButtonAriaLabel() {
42
+ return function useOpenPickerButtonAriaLabel(value) {
43
43
  const utils = (0, _internals.useUtils)();
44
44
  const translations = (0, _hooks.usePickerTranslations)();
45
- return React.useCallback(value => {
45
+ return React.useMemo(() => {
46
46
  const formatKey = ampm ?? utils.is12HourCycleInCurrentLocale() ? 'fullTime12h' : 'fullTime24h';
47
47
  return translations.openRangePickerDialogue((0, _dateUtils.formatRange)(utils, value, formatKey));
48
- }, [translations, utils]);
48
+ }, [value, translations, utils]);
49
49
  };
50
50
  }
@@ -5,7 +5,7 @@ import { Theme } from '@mui/material/styles';
5
5
  import { DefaultizedProps } from '@mui/x-internals/types';
6
6
  import { PickerOwnerState, PickerValidDate, TimezoneProps } from '@mui/x-date-pickers/models';
7
7
  import { PickersCalendarHeader, PickersCalendarHeaderSlots, PickersCalendarHeaderSlotProps } from '@mui/x-date-pickers/PickersCalendarHeader';
8
- import { PickerDayOwnerState } from '@mui/x-date-pickers/DateCalendar';
8
+ import { PickerDayOwnerState } from '@mui/x-date-pickers/PickersDay';
9
9
  import { BaseDateValidationProps, ExportedDayCalendarProps, DayCalendarSlots, DayCalendarSlotProps, PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps, ExportedUseViewsOptions, PickerRangeValue, FormProps } from '@mui/x-date-pickers/internals';
10
10
  import { RangePosition } from "../models/index.js";
11
11
  import { DateRangeCalendarClasses } from "./dateRangeCalendarClasses.js";
@@ -7,6 +7,7 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import useMediaQuery from '@mui/material/useMediaQuery';
9
9
  import { useThemeProps } from '@mui/material/styles';
10
+ import { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '@mui/x-date-pickers/internals';
10
11
  import { refType } from '@mui/utils';
11
12
  import { DesktopDateRangePicker } from "../DesktopDateRangePicker/index.js";
12
13
  import { MobileDateRangePicker } from "../MobileDateRangePicker/index.js";
@@ -27,7 +28,7 @@ const DateRangePicker = /*#__PURE__*/React.forwardRef(function DateRangePicker(i
27
28
  name: 'MuiDateRangePicker'
28
29
  });
29
30
  const {
30
- desktopModeMediaQuery = '@media (pointer: fine)'
31
+ desktopModeMediaQuery = DEFAULT_DESKTOP_MODE_MEDIA_QUERY
31
32
  } = props,
32
33
  other = _objectWithoutPropertiesLoose(props, _excluded);
33
34
 
@@ -124,6 +125,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
124
125
  disableHighlightToday: PropTypes.bool,
125
126
  /**
126
127
  * If `true`, the button to open the Picker will not be rendered (it will only render the field).
128
+ * @deprecated Use the [field component](https://next.mui.com/x/react-date-pickers/fields/) instead.
127
129
  * @default false
128
130
  */
129
131
  disableOpenPicker: PropTypes.bool,
@@ -1,45 +1,5 @@
1
1
  import * as React from 'react';
2
- import { PickersDayProps } from '@mui/x-date-pickers/PickersDay';
3
- import { DateRangePickerDayClasses } from "./dateRangePickerDayClasses.js";
4
- export interface DateRangePickerDayProps extends Omit<PickersDayProps, 'classes' | 'onBlur' | 'onFocus' | 'onKeyDown'> {
5
- /**
6
- * Set to `true` if the `day` is in a highlighted date range.
7
- */
8
- isHighlighting: boolean;
9
- /**
10
- * Set to `true` if the `day` is the end of a highlighted date range.
11
- */
12
- isEndOfHighlighting: boolean;
13
- /**
14
- * Set to `true` if the `day` is the start of a highlighted date range.
15
- */
16
- isStartOfHighlighting: boolean;
17
- /**
18
- * Set to `true` if the `day` is in a preview date range.
19
- */
20
- isPreviewing: boolean;
21
- /**
22
- * Set to `true` if the `day` is the end of a previewing date range.
23
- */
24
- isEndOfPreviewing: boolean;
25
- /**
26
- * Set to `true` if the `day` is the start of a previewing date range.
27
- */
28
- isStartOfPreviewing: boolean;
29
- /**
30
- * Override or extend the styles applied to the component.
31
- */
32
- classes?: Partial<DateRangePickerDayClasses>;
33
- /**
34
- * Indicates if the day should be visually selected.
35
- */
36
- isVisuallySelected?: boolean;
37
- /**
38
- * If `true`, the day can be dragged to change the current date range.
39
- * @default false
40
- */
41
- draggable?: boolean;
42
- }
2
+ import { DateRangePickerDayProps } from "./DateRangePickerDay.types.js";
43
3
  type DateRangePickerDayComponent = (props: DateRangePickerDayProps & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element;
44
4
  /**
45
5
  * Demos: