@mui/x-date-pickers-pro 8.0.0-alpha.6 → 8.0.0-alpha.7

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 (144) hide show
  1. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
  2. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  3. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  4. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
  5. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  6. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  7. package/CHANGELOG.md +127 -1
  8. package/DateRangeCalendar/DateRangeCalendar.js +9 -7
  9. package/DateRangePicker/DateRangePicker.js +1 -1
  10. package/DateRangePicker/DateRangePicker.types.d.ts +5 -0
  11. package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +25 -17
  13. package/DateRangePicker/shared.d.ts +1 -1
  14. package/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  15. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +3 -4
  16. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +8 -7
  17. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +7 -5
  19. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -3
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +26 -28
  21. package/DateTimeRangePicker/shared.d.ts +2 -2
  22. package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -0
  24. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  25. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  26. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  27. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  28. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  29. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  30. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  31. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  32. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  33. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  34. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  35. package/hooks/index.d.ts +1 -0
  36. package/hooks/index.js +1 -0
  37. package/hooks/package.json +6 -0
  38. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  39. package/hooks/usePickerRangePositionContext.js +15 -0
  40. package/index.d.ts +2 -0
  41. package/index.js +4 -2
  42. package/internals/hooks/models/useRangePicker.d.ts +2 -2
  43. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +26 -43
  44. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -5
  45. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +5 -5
  46. package/internals/hooks/useEnrichedRangePickerFieldProps.js +3 -3
  47. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -35
  48. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -5
  49. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +10 -12
  50. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
  51. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -6
  52. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +2 -2
  53. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +12 -7
  54. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +2 -2
  55. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +13 -8
  56. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  57. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  58. package/internals/hooks/useRangePosition.d.ts +1 -1
  59. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  60. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  61. package/internals/utils/date-range-manager.js +2 -1
  62. package/internals/utils/releaseInfo.js +1 -1
  63. package/internals/utils/valueManagers.js +7 -7
  64. package/managers/index.d.ts +6 -0
  65. package/managers/index.js +3 -0
  66. package/managers/package.json +6 -0
  67. package/managers/useDateRangeManager.d.ts +15 -0
  68. package/managers/useDateRangeManager.js +31 -0
  69. package/managers/useDateTimeRangeManager.d.ts +15 -0
  70. package/managers/useDateTimeRangeManager.js +31 -0
  71. package/managers/useTimeRangeManager.d.ts +15 -0
  72. package/managers/useTimeRangeManager.js +29 -0
  73. package/models/range.d.ts +0 -1
  74. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  75. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  76. package/modern/DateRangeCalendar/DateRangeCalendar.js +9 -7
  77. package/modern/DateRangePicker/DateRangePicker.js +1 -1
  78. package/modern/DateRangePicker/DateRangePickerToolbar.js +25 -17
  79. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  80. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +8 -7
  81. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +7 -5
  82. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +26 -28
  83. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  84. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  85. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  86. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  87. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  88. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  89. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  90. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  91. package/modern/hooks/index.js +1 -0
  92. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  93. package/modern/index.js +4 -2
  94. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +26 -43
  95. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +3 -3
  96. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -35
  97. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -6
  98. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +12 -7
  99. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +13 -8
  100. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  101. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  102. package/modern/internals/utils/date-range-manager.js +2 -1
  103. package/modern/internals/utils/releaseInfo.js +1 -1
  104. package/modern/internals/utils/valueManagers.js +7 -7
  105. package/modern/managers/index.js +3 -0
  106. package/modern/managers/useDateRangeManager.js +31 -0
  107. package/modern/managers/useDateTimeRangeManager.js +31 -0
  108. package/modern/managers/useTimeRangeManager.js +29 -0
  109. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  110. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  111. package/node/DateRangeCalendar/DateRangeCalendar.js +9 -7
  112. package/node/DateRangePicker/DateRangePicker.js +1 -1
  113. package/node/DateRangePicker/DateRangePickerToolbar.js +24 -16
  114. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  115. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +8 -7
  116. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +7 -5
  117. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +26 -28
  118. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  119. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  120. package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  121. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  122. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +12 -14
  123. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +12 -14
  124. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +12 -14
  125. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  126. package/node/hooks/index.js +12 -0
  127. package/node/hooks/usePickerRangePositionContext.js +22 -0
  128. package/node/index.js +23 -1
  129. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +26 -43
  130. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +3 -3
  131. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -35
  132. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +10 -5
  133. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +11 -6
  134. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +12 -7
  135. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  136. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  137. package/node/internals/utils/date-range-manager.js +2 -1
  138. package/node/internals/utils/releaseInfo.js +1 -1
  139. package/node/internals/utils/valueManagers.js +7 -7
  140. package/node/managers/index.js +26 -0
  141. package/node/managers/useDateRangeManager.js +38 -0
  142. package/node/managers/useDateTimeRangeManager.js +38 -0
  143. package/node/managers/useTimeRangeManager.js +36 -0
  144. package/package.json +5 -5
@@ -19,8 +19,8 @@ const rangeValueManager = exports.rangeValueManager = {
19
19
  referenceDate: referenceDateProp
20
20
  } = _ref,
21
21
  params = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
22
- const shouldKeepStartDate = value[0] != null && params.utils.isValid(value[0]);
23
- const shouldKeepEndDate = value[1] != null && params.utils.isValid(value[1]);
22
+ const shouldKeepStartDate = params.utils.isValid(value[0]);
23
+ const shouldKeepEndDate = params.utils.isValid(value[1]);
24
24
  if (shouldKeepStartDate && shouldKeepEndDate) {
25
25
  return value;
26
26
  }
@@ -33,8 +33,8 @@ const rangeValueManager = exports.rangeValueManager = {
33
33
  hasError: error => error[0] != null || error[1] != null,
34
34
  defaultErrorState: [null, null],
35
35
  getTimezone: (utils, value) => {
36
- const timezoneStart = value[0] == null || !utils.isValid(value[0]) ? null : utils.getTimezone(value[0]);
37
- const timezoneEnd = value[1] == null || !utils.isValid(value[1]) ? null : utils.getTimezone(value[1]);
36
+ const timezoneStart = utils.isValid(value[0]) ? utils.getTimezone(value[0]) : null;
37
+ const timezoneEnd = utils.isValid(value[1]) ? utils.getTimezone(value[1]) : null;
38
38
  if (timezoneStart != null && timezoneEnd != null && timezoneStart !== timezoneEnd) {
39
39
  throw new Error('MUI X: The timezone of the start and the end date should be the same.');
40
40
  }
@@ -46,8 +46,8 @@ const getRangeFieldValueManager = ({
46
46
  dateSeparator = '–'
47
47
  }) => ({
48
48
  updateReferenceValue: (utils, value, prevReferenceValue) => {
49
- const shouldKeepStartDate = value[0] != null && utils.isValid(value[0]);
50
- const shouldKeepEndDate = value[1] != null && utils.isValid(value[1]);
49
+ const shouldKeepStartDate = utils.isValid(value[0]);
50
+ const shouldKeepEndDate = utils.isValid(value[1]);
51
51
  if (!shouldKeepStartDate && !shouldKeepEndDate) {
52
52
  return prevReferenceValue;
53
53
  }
@@ -118,7 +118,7 @@ const getRangeFieldValueManager = ({
118
118
  },
119
119
  getNewValuesFromNewActiveDate: newActiveDate => ({
120
120
  value: updateDateInRange(newActiveDate, state.value),
121
- referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
121
+ referenceValue: !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
122
122
  })
123
123
  };
124
124
  }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useDateRangeManager", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useDateRangeManager.useDateRangeManager;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useDateTimeRangeManager", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useDateTimeRangeManager.useDateTimeRangeManager;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useTimeRangeManager", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useTimeRangeManager.useTimeRangeManager;
22
+ }
23
+ });
24
+ var _useDateRangeManager = require("./useDateRangeManager");
25
+ var _useTimeRangeManager = require("./useTimeRangeManager");
26
+ var _useDateTimeRangeManager = require("./useDateTimeRangeManager");
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useDateRangeManager = useDateRangeManager;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-date-pickers/internals");
13
+ var _valueManagers = require("../internals/utils/valueManagers");
14
+ var _validation = require("../validation");
15
+ function useDateRangeManager(parameters = {}) {
16
+ const {
17
+ enableAccessibleFieldDOMStructure = true,
18
+ dateSeparator
19
+ } = parameters;
20
+ return React.useMemo(() => ({
21
+ valueType: 'date',
22
+ validator: _validation.validateDateRange,
23
+ internal_valueManager: _valueManagers.rangeValueManager,
24
+ internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
25
+ dateSeparator
26
+ }),
27
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
+ internal_applyDefaultsToFieldInternalProps: ({
29
+ internalProps,
30
+ utils,
31
+ defaultDates
32
+ }) => (0, _extends2.default)({}, internalProps, (0, _internals.getDateFieldInternalPropsDefaults)({
33
+ defaultDates,
34
+ utils,
35
+ internalProps
36
+ }))
37
+ }), [enableAccessibleFieldDOMStructure, dateSeparator]);
38
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useDateTimeRangeManager = useDateTimeRangeManager;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-date-pickers/internals");
13
+ var _valueManagers = require("../internals/utils/valueManagers");
14
+ var _validation = require("../validation");
15
+ function useDateTimeRangeManager(parameters = {}) {
16
+ const {
17
+ enableAccessibleFieldDOMStructure = true,
18
+ dateSeparator
19
+ } = parameters;
20
+ return React.useMemo(() => ({
21
+ valueType: 'date-time',
22
+ validator: _validation.validateDateTimeRange,
23
+ internal_valueManager: _valueManagers.rangeValueManager,
24
+ internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
25
+ dateSeparator
26
+ }),
27
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
+ internal_applyDefaultsToFieldInternalProps: ({
29
+ internalProps,
30
+ utils,
31
+ defaultDates
32
+ }) => (0, _extends2.default)({}, internalProps, (0, _internals.getDateTimeFieldInternalPropsDefaults)({
33
+ internalProps,
34
+ utils,
35
+ defaultDates
36
+ }))
37
+ }), [enableAccessibleFieldDOMStructure, dateSeparator]);
38
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useTimeRangeManager = useTimeRangeManager;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-date-pickers/internals");
13
+ var _valueManagers = require("../internals/utils/valueManagers");
14
+ var _validation = require("../validation");
15
+ function useTimeRangeManager(parameters = {}) {
16
+ const {
17
+ enableAccessibleFieldDOMStructure = true,
18
+ dateSeparator
19
+ } = parameters;
20
+ return React.useMemo(() => ({
21
+ valueType: 'time',
22
+ validator: _validation.validateTimeRange,
23
+ internal_valueManager: _valueManagers.rangeValueManager,
24
+ internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
25
+ dateSeparator
26
+ }),
27
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
+ internal_applyDefaultsToFieldInternalProps: ({
29
+ internalProps,
30
+ utils
31
+ }) => (0, _extends2.default)({}, internalProps, (0, _internals.getTimeFieldInternalPropsDefaults)({
32
+ utils,
33
+ internalProps
34
+ }))
35
+ }), [enableAccessibleFieldDOMStructure, dateSeparator]);
36
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "8.0.0-alpha.6",
3
+ "version": "8.0.0-alpha.7",
4
4
  "description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/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.6",
41
- "@mui/x-internals": "8.0.0-alpha.6",
42
- "@mui/x-license": "8.0.0-alpha.6"
40
+ "@mui/x-date-pickers": "8.0.0-alpha.7",
41
+ "@mui/x-internals": "8.0.0-alpha.7",
42
+ "@mui/x-license": "8.0.0-alpha.7"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",
@@ -47,7 +47,7 @@
47
47
  "@mui/material": "^5.15.14 || ^6.0.0",
48
48
  "@mui/system": "^5.15.14 || ^6.0.0",
49
49
  "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0",
50
- "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0",
50
+ "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0",
51
51
  "dayjs": "^1.10.7",
52
52
  "luxon": "^3.0.2",
53
53
  "moment": "^2.29.4",