@mui/x-date-pickers-pro 6.0.0-alpha.12 → 6.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.
- package/CHANGELOG.md +266 -0
- package/DateRangeCalendar/DateRangeCalendar.js +10 -4
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
- package/DateRangePicker/DateRangePicker.js +5 -10
- package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -1
- package/DateRangePicker/DateRangePickerToolbar.js +35 -4
- package/DateRangePicker/DateRangePickerView.d.ts +3 -3
- package/DateRangePicker/DateRangePickerView.js +6 -3
- package/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/DateRangePicker/index.d.ts +4 -2
- package/DateRangePicker/index.js +2 -1
- package/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +5 -0
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -10
- package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +28 -14
- package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.types.d.ts +1 -1
- package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
- package/MobileDateRangePicker/MobileDateRangePicker.js +5 -10
- package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +28 -14
- package/MobileNextDateRangePicker/MobileNextDateRangePicker.types.d.ts +1 -1
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +63 -30
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +10 -8
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +62 -27
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +11 -9
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +62 -27
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +10 -8
- package/NextDateRangePicker/NextDateRangePicker.js +22 -8
- package/NextDateRangePicker/shared.d.ts +9 -2
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +121 -16
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +8 -6
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -1
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +7 -0
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +289 -0
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +36 -0
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +1 -0
- package/SingleInputDateTimeRangeField/index.d.ts +3 -0
- package/SingleInputDateTimeRangeField/index.js +2 -0
- package/SingleInputDateTimeRangeField/package.json +6 -0
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +3 -0
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +78 -0
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +7 -0
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +265 -0
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +36 -0
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +1 -0
- package/SingleInputTimeRangeField/index.d.ts +3 -0
- package/SingleInputTimeRangeField/index.js +2 -0
- package/SingleInputTimeRangeField/package.json +6 -0
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +3 -0
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +64 -0
- package/StaticDateRangePicker/StaticDateRangePicker.js +5 -10
- package/StaticNextDateRangePicker/StaticNextDateRangePicker.js +23 -9
- package/StaticNextDateRangePicker/StaticNextDateRangePicker.types.d.ts +1 -1
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +13 -0
- package/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
- package/dateRangeViewRenderers/index.d.ts +2 -0
- package/dateRangeViewRenderers/index.js +1 -0
- package/dateRangeViewRenderers/package.json +6 -0
- package/index.d.ts +3 -0
- package/index.js +8 -3
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +11 -10
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +16 -10
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +11 -10
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +15 -10
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -5
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -1
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +11 -5
- package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +2 -0
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -1
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +12 -8
- package/internal/hooks/useRangePickerInputProps.d.ts +4 -6
- package/internal/hooks/useRangePickerInputProps.js +5 -6
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +7 -6
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +7 -6
- package/internal/models/dateRange.d.ts +11 -1
- package/internal/models/dateTimeRange.d.ts +2 -2
- package/internal/models/fields.d.ts +2 -2
- package/internal/models/timeRange.d.ts +2 -1
- package/internal/utils/date-fields-utils.d.ts +17 -1
- package/internal/utils/releaseInfo.js +1 -1
- package/internal/utils/valueManagers.js +15 -21
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +10 -4
- package/legacy/DateRangePicker/DateRangePicker.js +5 -10
- package/legacy/DateRangePicker/DateRangePickerToolbar.js +35 -4
- package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
- package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/legacy/DateRangePicker/index.js +2 -1
- package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -10
- package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +28 -14
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +5 -10
- package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +28 -14
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +61 -28
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +60 -25
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +60 -25
- package/legacy/NextDateRangePicker/NextDateRangePicker.js +22 -8
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +120 -15
- package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -1
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +285 -0
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +1 -0
- package/legacy/SingleInputDateTimeRangeField/index.js +2 -0
- package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +77 -0
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +261 -0
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +1 -0
- package/legacy/SingleInputTimeRangeField/index.js +2 -0
- package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +61 -0
- package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +5 -10
- package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +23 -9
- package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
- package/legacy/dateRangeViewRenderers/index.js +1 -0
- package/legacy/index.js +8 -3
- package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +11 -10
- package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +11 -10
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -5
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +11 -5
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +12 -8
- package/legacy/internal/hooks/useRangePickerInputProps.js +5 -6
- package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +7 -6
- package/legacy/internal/utils/releaseInfo.js +1 -1
- package/legacy/internal/utils/valueManagers.js +15 -23
- package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +10 -4
- package/modern/DateRangePicker/DateRangePicker.js +5 -10
- package/modern/DateRangePicker/DateRangePickerToolbar.js +35 -4
- package/modern/DateRangePicker/DateRangePickerView.js +6 -3
- package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/modern/DateRangePicker/index.js +2 -1
- package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -10
- package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +28 -14
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +5 -10
- package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +28 -14
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +62 -29
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +61 -26
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +61 -26
- package/modern/NextDateRangePicker/NextDateRangePicker.js +22 -8
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +120 -15
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -1
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +288 -0
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +1 -0
- package/modern/SingleInputDateTimeRangeField/index.js +2 -0
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +77 -0
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +264 -0
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +1 -0
- package/modern/SingleInputTimeRangeField/index.js +2 -0
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +63 -0
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -10
- package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +23 -9
- package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
- package/modern/dateRangeViewRenderers/index.js +1 -0
- package/modern/index.js +8 -3
- package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +10 -10
- package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +10 -10
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -5
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +11 -5
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +12 -8
- package/modern/internal/hooks/useRangePickerInputProps.js +5 -6
- package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +6 -6
- package/modern/internal/utils/releaseInfo.js +1 -1
- package/modern/internal/utils/valueManagers.js +15 -21
- package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +10 -4
- package/node/DateRangePicker/DateRangePicker.js +5 -10
- package/node/DateRangePicker/DateRangePickerToolbar.js +33 -3
- package/node/DateRangePicker/DateRangePickerView.js +6 -3
- package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/node/DateRangePicker/index.js +8 -1
- package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -10
- package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +28 -14
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +5 -10
- package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +28 -14
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +61 -28
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +60 -25
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +60 -25
- package/node/NextDateRangePicker/NextDateRangePicker.js +22 -8
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +119 -14
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -1
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +297 -0
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +5 -0
- package/node/SingleInputDateTimeRangeField/index.js +19 -0
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +86 -0
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +273 -0
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +5 -0
- package/node/SingleInputTimeRangeField/index.js +19 -0
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +72 -0
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -10
- package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +23 -9
- package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
- package/node/dateRangeViewRenderers/index.js +12 -0
- package/node/index.js +38 -2
- package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +9 -9
- package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +9 -9
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +11 -5
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +11 -5
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +12 -8
- package/node/internal/hooks/useRangePickerInputProps.js +5 -6
- package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +5 -5
- package/node/internal/utils/releaseInfo.js +1 -1
- package/node/internal/utils/valueManagers.js +14 -20
- package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/package.json +6 -6
- package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/themeAugmentation/components.d.ts +1 -16
- package/internal/utils/viewRenderers.d.ts +0 -7
|
@@ -196,10 +196,26 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
196
196
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
197
197
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
198
198
|
// ----------------------------------------------------------------------
|
|
199
|
+
/**
|
|
200
|
+
* A ref for imperative actions.
|
|
201
|
+
* It currently only supports `focusVisible()` action.
|
|
202
|
+
*/
|
|
203
|
+
action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
204
|
+
current: PropTypes.shape({
|
|
205
|
+
focusVisible: PropTypes.func.isRequired
|
|
206
|
+
})
|
|
207
|
+
})]),
|
|
208
|
+
/**
|
|
209
|
+
* If `true`, the ripples are centered.
|
|
210
|
+
* They won't start at the cursor interaction position.
|
|
211
|
+
* @default false
|
|
212
|
+
*/
|
|
213
|
+
centerRipple: PropTypes.bool,
|
|
199
214
|
/**
|
|
200
215
|
* Override or extend the styles applied to the component.
|
|
201
216
|
*/
|
|
202
217
|
classes: PropTypes.object,
|
|
218
|
+
className: PropTypes.string,
|
|
203
219
|
/**
|
|
204
220
|
* The date to show.
|
|
205
221
|
*/
|
|
@@ -219,6 +235,33 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
219
235
|
* @default false
|
|
220
236
|
*/
|
|
221
237
|
disableMargin: PropTypes.bool,
|
|
238
|
+
/**
|
|
239
|
+
* If `true`, the ripple effect is disabled.
|
|
240
|
+
*
|
|
241
|
+
* ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
|
|
242
|
+
* to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
|
|
243
|
+
* @default false
|
|
244
|
+
*/
|
|
245
|
+
disableRipple: PropTypes.bool,
|
|
246
|
+
/**
|
|
247
|
+
* If `true`, the touch ripple effect is disabled.
|
|
248
|
+
* @default false
|
|
249
|
+
*/
|
|
250
|
+
disableTouchRipple: PropTypes.bool,
|
|
251
|
+
/**
|
|
252
|
+
* If `true`, the base button will have a keyboard focus ripple.
|
|
253
|
+
* @default false
|
|
254
|
+
*/
|
|
255
|
+
focusRipple: PropTypes.bool,
|
|
256
|
+
/**
|
|
257
|
+
* This prop can help identify which element has keyboard focus.
|
|
258
|
+
* The class name will be applied when the element gains the focus through keyboard interaction.
|
|
259
|
+
* It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
|
|
260
|
+
* The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
|
|
261
|
+
* A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
|
|
262
|
+
* if needed.
|
|
263
|
+
*/
|
|
264
|
+
focusVisibleClassName: PropTypes.string,
|
|
222
265
|
isAnimating: PropTypes.bool,
|
|
223
266
|
/**
|
|
224
267
|
* Set to `true` if the `day` is the end of a highlighted date range.
|
|
@@ -249,6 +292,11 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
249
292
|
*/
|
|
250
293
|
isVisuallySelected: PropTypes.bool,
|
|
251
294
|
onDaySelect: PropTypes.func.isRequired,
|
|
295
|
+
/**
|
|
296
|
+
* Callback fired when the component is focused with a keyboard.
|
|
297
|
+
* We trigger a `onFocus` callback too.
|
|
298
|
+
*/
|
|
299
|
+
onFocusVisible: PropTypes.func,
|
|
252
300
|
onMouseEnter: PropTypes.func,
|
|
253
301
|
/**
|
|
254
302
|
* If `true`, day is outside of month and will be hidden.
|
|
@@ -264,11 +312,34 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
264
312
|
* @default false
|
|
265
313
|
*/
|
|
266
314
|
showDaysOutsideCurrentMonth: PropTypes.bool,
|
|
315
|
+
style: PropTypes.object,
|
|
316
|
+
/**
|
|
317
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
318
|
+
*/
|
|
319
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
320
|
+
/**
|
|
321
|
+
* @default 0
|
|
322
|
+
*/
|
|
323
|
+
tabIndex: PropTypes.number,
|
|
267
324
|
/**
|
|
268
325
|
* If `true`, renders as today date.
|
|
269
326
|
* @default false
|
|
270
327
|
*/
|
|
271
|
-
today: PropTypes.bool
|
|
328
|
+
today: PropTypes.bool,
|
|
329
|
+
/**
|
|
330
|
+
* Props applied to the `TouchRipple` element.
|
|
331
|
+
*/
|
|
332
|
+
TouchRippleProps: PropTypes.object,
|
|
333
|
+
/**
|
|
334
|
+
* A ref that points to the `TouchRipple` element.
|
|
335
|
+
*/
|
|
336
|
+
touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
337
|
+
current: PropTypes.shape({
|
|
338
|
+
pulsate: PropTypes.func.isRequired,
|
|
339
|
+
start: PropTypes.func.isRequired,
|
|
340
|
+
stop: PropTypes.func.isRequired
|
|
341
|
+
})
|
|
342
|
+
})])
|
|
272
343
|
} : void 0;
|
|
273
344
|
|
|
274
345
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SxProps } from '@mui/system';
|
|
2
3
|
import { DesktopWrapperProps, DesktopWrapperSlotsComponent, DesktopWrapperSlotsComponentsProps, DateInputSlotsComponent } from '@mui/x-date-pickers/internals';
|
|
3
4
|
import { BaseDateRangePickerProps, BaseDateRangePickerSlotsComponent, BaseDateRangePickerSlotsComponentsProps } from '../DateRangePicker/shared';
|
|
4
5
|
export interface DesktopDateRangePickerSlotsComponent<TDate> extends BaseDateRangePickerSlotsComponent<TDate>, DesktopWrapperSlotsComponent, DateInputSlotsComponent {
|
|
@@ -16,6 +17,10 @@ export interface DesktopDateRangePickerProps<TDate> extends BaseDateRangePickerP
|
|
|
16
17
|
* @default {}
|
|
17
18
|
*/
|
|
18
19
|
componentsProps?: DesktopDateRangePickerSlotsComponentsProps<TDate>;
|
|
20
|
+
/**
|
|
21
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
22
|
+
*/
|
|
23
|
+
sx?: SxProps;
|
|
19
24
|
}
|
|
20
25
|
type DesktopDateRangePickerComponent = (<TDate>(props: DesktopDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
|
|
21
26
|
propTypes?: any;
|
|
@@ -122,7 +122,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
122
122
|
*/
|
|
123
123
|
disabled: PropTypes.bool,
|
|
124
124
|
/**
|
|
125
|
-
* If `true
|
|
125
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
126
126
|
* @default false
|
|
127
127
|
*/
|
|
128
128
|
disableFuture: PropTypes.bool,
|
|
@@ -142,7 +142,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
142
142
|
*/
|
|
143
143
|
disableOpenPicker: PropTypes.bool,
|
|
144
144
|
/**
|
|
145
|
-
* If `true
|
|
145
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
146
146
|
* @default false
|
|
147
147
|
*/
|
|
148
148
|
disablePast: PropTypes.bool,
|
|
@@ -183,7 +183,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
183
183
|
})]),
|
|
184
184
|
label: PropTypes.node,
|
|
185
185
|
/**
|
|
186
|
-
* If `true
|
|
186
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
187
187
|
* Can be used to preload information and show it in calendar.
|
|
188
188
|
* @default false
|
|
189
189
|
*/
|
|
@@ -248,11 +248,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
248
248
|
* Use in controlled mode (see open).
|
|
249
249
|
*/
|
|
250
250
|
onOpen: PropTypes.func,
|
|
251
|
-
/**
|
|
252
|
-
* Callback fired on view change.
|
|
253
|
-
* @param {DateView} view The new view.
|
|
254
|
-
*/
|
|
255
|
-
onViewChange: PropTypes.func,
|
|
256
251
|
/**
|
|
257
252
|
* Control the popup or dialog open state.
|
|
258
253
|
*/
|
|
@@ -317,14 +312,14 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
317
312
|
* Disable specific month.
|
|
318
313
|
* @template TDate
|
|
319
314
|
* @param {TDate} month The month to test.
|
|
320
|
-
* @returns {boolean} If `true
|
|
315
|
+
* @returns {boolean} If `true`, the month will be disabled.
|
|
321
316
|
*/
|
|
322
317
|
shouldDisableMonth: PropTypes.func,
|
|
323
318
|
/**
|
|
324
319
|
* Disable specific year.
|
|
325
320
|
* @template TDate
|
|
326
321
|
* @param {TDate} year The year to test.
|
|
327
|
-
* @returns {boolean} If `true
|
|
322
|
+
* @returns {boolean} If `true`, the year will be disabled.
|
|
328
323
|
*/
|
|
329
324
|
shouldDisableYear: PropTypes.func,
|
|
330
325
|
/**
|
|
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
|
|
|
7
7
|
import { resolveComponentProps } from '@mui/base/utils';
|
|
8
8
|
import { rangeValueManager } from '../internal/utils/valueManagers';
|
|
9
9
|
import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
|
|
10
|
-
import {
|
|
10
|
+
import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
|
|
11
11
|
import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
|
|
12
|
-
import {
|
|
12
|
+
import { useDesktopRangePicker } from '../internal/hooks/useDesktopRangePicker';
|
|
13
13
|
import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
|
|
14
|
-
const VIEW_LOOKUP = {
|
|
15
|
-
day: renderDateRangeView
|
|
16
|
-
};
|
|
17
14
|
const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopNextDateRangePicker(inProps, ref) {
|
|
18
15
|
var _defaultizedProps$cal, _defaultizedProps$sho;
|
|
19
16
|
// Props with the default values common to all date time pickers
|
|
@@ -23,7 +20,11 @@ const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
|
|
|
23
20
|
sx
|
|
24
21
|
} = _useNextDateRangePick,
|
|
25
22
|
defaultizedProps = _objectWithoutPropertiesLoose(_useNextDateRangePick, _excluded);
|
|
23
|
+
const viewRenderers = _extends({
|
|
24
|
+
day: renderDateRangeViewCalendar
|
|
25
|
+
}, defaultizedProps.viewRenderers);
|
|
26
26
|
const props = _extends({}, defaultizedProps, {
|
|
27
|
+
viewRenderers,
|
|
27
28
|
calendars: (_defaultizedProps$cal = defaultizedProps.calendars) != null ? _defaultizedProps$cal : 2,
|
|
28
29
|
views: ['day'],
|
|
29
30
|
openTo: 'day',
|
|
@@ -47,7 +48,6 @@ const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
|
|
|
47
48
|
} = useDesktopRangePicker({
|
|
48
49
|
props,
|
|
49
50
|
valueManager: rangeValueManager,
|
|
50
|
-
viewLookup: VIEW_LOOKUP,
|
|
51
51
|
validator: validateDateRange
|
|
52
52
|
});
|
|
53
53
|
return renderPicker();
|
|
@@ -57,6 +57,12 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
57
57
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
58
58
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
59
59
|
// ----------------------------------------------------------------------
|
|
60
|
+
/**
|
|
61
|
+
* If `true`, the main element is focused during the first mount.
|
|
62
|
+
* This main element is:
|
|
63
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
64
|
+
* - the `input` element if there is a field rendered.
|
|
65
|
+
*/
|
|
60
66
|
autoFocus: PropTypes.bool,
|
|
61
67
|
/**
|
|
62
68
|
* The number of calendars to render on **desktop**.
|
|
@@ -68,8 +74,8 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
68
74
|
*/
|
|
69
75
|
className: PropTypes.string,
|
|
70
76
|
/**
|
|
71
|
-
* If `true
|
|
72
|
-
* @default `true` for
|
|
77
|
+
* If `true`, the popover or modal will close after submitting the full date.
|
|
78
|
+
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
73
79
|
*/
|
|
74
80
|
closeOnSelect: PropTypes.bool,
|
|
75
81
|
/**
|
|
@@ -114,7 +120,7 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
114
120
|
*/
|
|
115
121
|
disableDragEditing: PropTypes.bool,
|
|
116
122
|
/**
|
|
117
|
-
* If `true
|
|
123
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
118
124
|
* @default false
|
|
119
125
|
*/
|
|
120
126
|
disableFuture: PropTypes.bool,
|
|
@@ -124,12 +130,12 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
124
130
|
*/
|
|
125
131
|
disableHighlightToday: PropTypes.bool,
|
|
126
132
|
/**
|
|
127
|
-
*
|
|
133
|
+
* If `true`, the open picker button will not be rendered (renders only the field).
|
|
128
134
|
* @default false
|
|
129
135
|
*/
|
|
130
136
|
disableOpenPicker: PropTypes.bool,
|
|
131
137
|
/**
|
|
132
|
-
* If `true
|
|
138
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
133
139
|
* @default false
|
|
134
140
|
*/
|
|
135
141
|
disablePast: PropTypes.bool,
|
|
@@ -149,7 +155,7 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
149
155
|
*/
|
|
150
156
|
format: PropTypes.string,
|
|
151
157
|
/**
|
|
152
|
-
* If `true
|
|
158
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
153
159
|
* Can be used to preload information and show it in calendar.
|
|
154
160
|
* @default false
|
|
155
161
|
*/
|
|
@@ -237,7 +243,7 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
237
243
|
* 4. If `null` is provided, no section will be selected
|
|
238
244
|
* If not provided, the selected sections will be handled internally.
|
|
239
245
|
*/
|
|
240
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
246
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
241
247
|
endIndex: PropTypes.number.isRequired,
|
|
242
248
|
startIndex: PropTypes.number.isRequired
|
|
243
249
|
})]),
|
|
@@ -267,6 +273,14 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
267
273
|
* The selected value.
|
|
268
274
|
* Used when the component is controlled.
|
|
269
275
|
*/
|
|
270
|
-
value: PropTypes.arrayOf(PropTypes.any)
|
|
276
|
+
value: PropTypes.arrayOf(PropTypes.any),
|
|
277
|
+
/**
|
|
278
|
+
* Define custom view renderers for each section.
|
|
279
|
+
* If `null`, the section will only have field editing.
|
|
280
|
+
* If `undefined`, internally defined view will be the used.
|
|
281
|
+
*/
|
|
282
|
+
viewRenderers: PropTypes.shape({
|
|
283
|
+
day: PropTypes.func
|
|
284
|
+
})
|
|
271
285
|
};
|
|
272
286
|
export { DesktopNextDateRangePicker };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MakeOptional } from '@mui/x-date-pickers/internals';
|
|
2
2
|
import { UseDesktopRangePickerSlotsComponent, UseDesktopRangePickerSlotsComponentsProps, DesktopRangeOnlyPickerProps } from '../internal/hooks/useDesktopRangePicker';
|
|
3
3
|
import { BaseNextDateRangePickerProps, BaseNextDateRangePickerSlotsComponent, BaseNextDateRangePickerSlotsComponentsProps } from '../NextDateRangePicker/shared';
|
|
4
|
-
export interface DesktopNextDateRangePickerSlotsComponent<TDate> extends BaseNextDateRangePickerSlotsComponent<TDate>, MakeOptional<UseDesktopRangePickerSlotsComponent, 'Field'> {
|
|
4
|
+
export interface DesktopNextDateRangePickerSlotsComponent<TDate> extends BaseNextDateRangePickerSlotsComponent<TDate>, MakeOptional<UseDesktopRangePickerSlotsComponent<TDate, 'day'>, 'Field'> {
|
|
5
5
|
}
|
|
6
6
|
export interface DesktopNextDateRangePickerSlotsComponentsProps<TDate> extends BaseNextDateRangePickerSlotsComponentsProps<TDate>, UseDesktopRangePickerSlotsComponentsProps<TDate, 'day'> {
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SxProps } from '@mui/system';
|
|
2
3
|
import { MobileWrapperProps, MobileWrapperSlotsComponent, MobileWrapperSlotsComponentsProps, DateInputSlotsComponent } from '@mui/x-date-pickers/internals';
|
|
3
4
|
import { BaseDateRangePickerProps, BaseDateRangePickerSlotsComponent, BaseDateRangePickerSlotsComponentsProps } from '../DateRangePicker/shared';
|
|
4
5
|
export interface MobileDateRangePickerSlotsComponent<TDate> extends BaseDateRangePickerSlotsComponent<TDate>, MobileWrapperSlotsComponent, DateInputSlotsComponent {
|
|
@@ -16,6 +17,10 @@ export interface MobileDateRangePickerProps<TDate> extends BaseDateRangePickerPr
|
|
|
16
17
|
* @default {}
|
|
17
18
|
*/
|
|
18
19
|
componentsProps?: MobileDateRangePickerSlotsComponentsProps<TDate>;
|
|
20
|
+
/**
|
|
21
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
22
|
+
*/
|
|
23
|
+
sx?: SxProps;
|
|
19
24
|
}
|
|
20
25
|
type MobileDateRangePickerComponent = (<TDate>(props: MobileDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
|
|
21
26
|
propTypes?: any;
|
|
@@ -129,7 +129,7 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
129
129
|
*/
|
|
130
130
|
disabled: PropTypes.bool,
|
|
131
131
|
/**
|
|
132
|
-
* If `true
|
|
132
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
133
133
|
* @default false
|
|
134
134
|
*/
|
|
135
135
|
disableFuture: PropTypes.bool,
|
|
@@ -149,7 +149,7 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
149
149
|
*/
|
|
150
150
|
disableOpenPicker: PropTypes.bool,
|
|
151
151
|
/**
|
|
152
|
-
* If `true
|
|
152
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
153
153
|
* @default false
|
|
154
154
|
*/
|
|
155
155
|
disablePast: PropTypes.bool,
|
|
@@ -190,7 +190,7 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
190
190
|
})]),
|
|
191
191
|
label: PropTypes.node,
|
|
192
192
|
/**
|
|
193
|
-
* If `true
|
|
193
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
194
194
|
* Can be used to preload information and show it in calendar.
|
|
195
195
|
* @default false
|
|
196
196
|
*/
|
|
@@ -255,11 +255,6 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
255
255
|
* Use in controlled mode (see open).
|
|
256
256
|
*/
|
|
257
257
|
onOpen: PropTypes.func,
|
|
258
|
-
/**
|
|
259
|
-
* Callback fired on view change.
|
|
260
|
-
* @param {DateView} view The new view.
|
|
261
|
-
*/
|
|
262
|
-
onViewChange: PropTypes.func,
|
|
263
258
|
/**
|
|
264
259
|
* Control the popup or dialog open state.
|
|
265
260
|
*/
|
|
@@ -324,14 +319,14 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
324
319
|
* Disable specific month.
|
|
325
320
|
* @template TDate
|
|
326
321
|
* @param {TDate} month The month to test.
|
|
327
|
-
* @returns {boolean} If `true
|
|
322
|
+
* @returns {boolean} If `true`, the month will be disabled.
|
|
328
323
|
*/
|
|
329
324
|
shouldDisableMonth: PropTypes.func,
|
|
330
325
|
/**
|
|
331
326
|
* Disable specific year.
|
|
332
327
|
* @template TDate
|
|
333
328
|
* @param {TDate} year The year to test.
|
|
334
|
-
* @returns {boolean} If `true
|
|
329
|
+
* @returns {boolean} If `true`, the year will be disabled.
|
|
335
330
|
*/
|
|
336
331
|
shouldDisableYear: PropTypes.func,
|
|
337
332
|
/**
|
|
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
|
|
|
7
7
|
import { resolveComponentProps } from '@mui/base/utils';
|
|
8
8
|
import { rangeValueManager } from '../internal/utils/valueManagers';
|
|
9
9
|
import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
|
|
10
|
-
import {
|
|
10
|
+
import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
|
|
11
11
|
import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
|
|
12
|
-
import {
|
|
12
|
+
import { useMobileRangePicker } from '../internal/hooks/useMobileRangePicker';
|
|
13
13
|
import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
|
|
14
|
-
const VIEW_LOOKUP = {
|
|
15
|
-
day: renderDateRangeView
|
|
16
|
-
};
|
|
17
14
|
const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileNextDateRangePicker(inProps, ref) {
|
|
18
15
|
var _defaultizedProps$cal, _defaultizedProps$sho;
|
|
19
16
|
// Props with the default values common to all date time pickers
|
|
@@ -23,7 +20,11 @@ const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileN
|
|
|
23
20
|
sx
|
|
24
21
|
} = _useNextDateRangePick,
|
|
25
22
|
defaultizedProps = _objectWithoutPropertiesLoose(_useNextDateRangePick, _excluded);
|
|
23
|
+
const viewRenderers = _extends({
|
|
24
|
+
day: renderDateRangeViewCalendar
|
|
25
|
+
}, defaultizedProps.viewRenderers);
|
|
26
26
|
const props = _extends({}, defaultizedProps, {
|
|
27
|
+
viewRenderers,
|
|
27
28
|
calendars: (_defaultizedProps$cal = defaultizedProps.calendars) != null ? _defaultizedProps$cal : 1,
|
|
28
29
|
views: ['day'],
|
|
29
30
|
openTo: 'day',
|
|
@@ -47,7 +48,6 @@ const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileN
|
|
|
47
48
|
} = useMobileRangePicker({
|
|
48
49
|
props,
|
|
49
50
|
valueManager: rangeValueManager,
|
|
50
|
-
viewLookup: VIEW_LOOKUP,
|
|
51
51
|
validator: validateDateRange
|
|
52
52
|
});
|
|
53
53
|
return renderPicker();
|
|
@@ -57,6 +57,12 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
57
57
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
58
58
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
59
59
|
// ----------------------------------------------------------------------
|
|
60
|
+
/**
|
|
61
|
+
* If `true`, the main element is focused during the first mount.
|
|
62
|
+
* This main element is:
|
|
63
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
64
|
+
* - the `input` element if there is a field rendered.
|
|
65
|
+
*/
|
|
60
66
|
autoFocus: PropTypes.bool,
|
|
61
67
|
/**
|
|
62
68
|
* The number of calendars to render on **desktop**.
|
|
@@ -68,8 +74,8 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
68
74
|
*/
|
|
69
75
|
className: PropTypes.string,
|
|
70
76
|
/**
|
|
71
|
-
* If `true
|
|
72
|
-
* @default `true` for
|
|
77
|
+
* If `true`, the popover or modal will close after submitting the full date.
|
|
78
|
+
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
73
79
|
*/
|
|
74
80
|
closeOnSelect: PropTypes.bool,
|
|
75
81
|
/**
|
|
@@ -114,7 +120,7 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
114
120
|
*/
|
|
115
121
|
disableDragEditing: PropTypes.bool,
|
|
116
122
|
/**
|
|
117
|
-
* If `true
|
|
123
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
118
124
|
* @default false
|
|
119
125
|
*/
|
|
120
126
|
disableFuture: PropTypes.bool,
|
|
@@ -124,12 +130,12 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
124
130
|
*/
|
|
125
131
|
disableHighlightToday: PropTypes.bool,
|
|
126
132
|
/**
|
|
127
|
-
*
|
|
133
|
+
* If `true`, the open picker button will not be rendered (renders only the field).
|
|
128
134
|
* @default false
|
|
129
135
|
*/
|
|
130
136
|
disableOpenPicker: PropTypes.bool,
|
|
131
137
|
/**
|
|
132
|
-
* If `true
|
|
138
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
133
139
|
* @default false
|
|
134
140
|
*/
|
|
135
141
|
disablePast: PropTypes.bool,
|
|
@@ -149,7 +155,7 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
149
155
|
*/
|
|
150
156
|
format: PropTypes.string,
|
|
151
157
|
/**
|
|
152
|
-
* If `true
|
|
158
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
153
159
|
* Can be used to preload information and show it in calendar.
|
|
154
160
|
* @default false
|
|
155
161
|
*/
|
|
@@ -237,7 +243,7 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
237
243
|
* 4. If `null` is provided, no section will be selected
|
|
238
244
|
* If not provided, the selected sections will be handled internally.
|
|
239
245
|
*/
|
|
240
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
246
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
241
247
|
endIndex: PropTypes.number.isRequired,
|
|
242
248
|
startIndex: PropTypes.number.isRequired
|
|
243
249
|
})]),
|
|
@@ -267,6 +273,14 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
267
273
|
* The selected value.
|
|
268
274
|
* Used when the component is controlled.
|
|
269
275
|
*/
|
|
270
|
-
value: PropTypes.arrayOf(PropTypes.any)
|
|
276
|
+
value: PropTypes.arrayOf(PropTypes.any),
|
|
277
|
+
/**
|
|
278
|
+
* Define custom view renderers for each section.
|
|
279
|
+
* If `null`, the section will only have field editing.
|
|
280
|
+
* If `undefined`, internally defined view will be the used.
|
|
281
|
+
*/
|
|
282
|
+
viewRenderers: PropTypes.shape({
|
|
283
|
+
day: PropTypes.func
|
|
284
|
+
})
|
|
271
285
|
};
|
|
272
286
|
export { MobileNextDateRangePicker };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MakeOptional } from '@mui/x-date-pickers/internals';
|
|
2
2
|
import { UseMobileRangePickerSlotsComponent, UseMobileRangePickerSlotsComponentsProps, MobileRangeOnlyPickerProps } from '../internal/hooks/useMobileRangePicker';
|
|
3
3
|
import { BaseNextDateRangePickerProps, BaseNextDateRangePickerSlotsComponent, BaseNextDateRangePickerSlotsComponentsProps } from '../NextDateRangePicker/shared';
|
|
4
|
-
export interface MobileNextDateRangePickerSlotsComponent<TDate> extends BaseNextDateRangePickerSlotsComponent<TDate>, MakeOptional<UseMobileRangePickerSlotsComponent, 'Field'> {
|
|
4
|
+
export interface MobileNextDateRangePickerSlotsComponent<TDate> extends BaseNextDateRangePickerSlotsComponent<TDate>, MakeOptional<UseMobileRangePickerSlotsComponent<TDate, 'day'>, 'Field'> {
|
|
5
5
|
}
|
|
6
6
|
export interface MobileNextDateRangePickerSlotsComponentsProps<TDate> extends BaseNextDateRangePickerSlotsComponentsProps<TDate>, UseMobileRangePickerSlotsComponentsProps<TDate, 'day'> {
|
|
7
7
|
}
|