@jigowatts/jigowatts-ui 0.0.1-12
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/README.md +50 -0
- package/dist/AccordionSummary-B4zooGpd.js +831 -0
- package/dist/ButtonBase-pxtIu13Q.js +866 -0
- package/dist/DateTimePicker-DJSOr5wM.js +4653 -0
- package/dist/ListContext-DOVwHqy-.js +180 -0
- package/dist/MenuItem-yBaT3_db.js +470 -0
- package/dist/Paper-COvYqxZa.js +522 -0
- package/dist/Tabs-D3lJRumZ.js +1085 -0
- package/dist/_commonjsHelpers-CT_km90n.js +30 -0
- package/dist/assets/index.css +1 -0
- package/dist/assets/index10.css +1 -0
- package/dist/assets/index11.css +1 -0
- package/dist/assets/index12.css +1 -0
- package/dist/assets/index13.css +1 -0
- package/dist/assets/index14.css +1 -0
- package/dist/assets/index15.css +1 -0
- package/dist/assets/index16.css +1 -0
- package/dist/assets/index17.css +1 -0
- package/dist/assets/index18.css +1 -0
- package/dist/assets/index19.css +1 -0
- package/dist/assets/index2.css +1 -0
- package/dist/assets/index20.css +1 -0
- package/dist/assets/index21.css +1 -0
- package/dist/assets/index22.css +1 -0
- package/dist/assets/index23.css +1 -0
- package/dist/assets/index24.css +1 -0
- package/dist/assets/index25.css +1 -0
- package/dist/assets/index26.css +1 -0
- package/dist/assets/index27.css +1 -0
- package/dist/assets/index3.css +1 -0
- package/dist/assets/index4.css +1 -0
- package/dist/assets/index5.css +1 -0
- package/dist/assets/index6.css +1 -0
- package/dist/assets/index7.css +1 -0
- package/dist/assets/index8.css +1 -0
- package/dist/assets/index9.css +1 -0
- package/dist/browser-DxfwT6rn.js +656 -0
- package/dist/components/Button/index.d.ts +28 -0
- package/dist/components/Button/index.js +18 -0
- package/dist/components/Button/index.test.d.ts +1 -0
- package/dist/components/Button/index.test.js +23 -0
- package/dist/components/Card/index.d.ts +16 -0
- package/dist/components/Card/index.js +37 -0
- package/dist/components/Card/index.test.d.ts +1 -0
- package/dist/components/Card/index.test.js +35 -0
- package/dist/components/CustomLink/index.d.ts +11 -0
- package/dist/components/CustomLink/index.js +1670 -0
- package/dist/components/CustomLink/index.test.d.ts +1 -0
- package/dist/components/CustomLink/index.test.js +40 -0
- package/dist/components/DataTable/index.d.ts +28 -0
- package/dist/components/DataTable/index.js +137 -0
- package/dist/components/DataTable/index.test.d.ts +1 -0
- package/dist/components/DataTable/index.test.js +3010 -0
- package/dist/components/DatePickerController/index.d.ts +16 -0
- package/dist/components/DatePickerController/index.js +83 -0
- package/dist/components/DatePickerController/index.test.d.ts +1 -0
- package/dist/components/DatePickerController/index.test.js +24 -0
- package/dist/components/ErrorMessage/index.d.ts +5 -0
- package/dist/components/ErrorMessage/index.js +11 -0
- package/dist/components/ErrorMessage/index.test.d.ts +1 -0
- package/dist/components/ErrorMessage/index.test.js +17 -0
- package/dist/components/EvseStateLabel/index.d.ts +5 -0
- package/dist/components/EvseStateLabel/index.js +36 -0
- package/dist/components/FlexButtons/index.d.ts +9 -0
- package/dist/components/FlexButtons/index.js +13 -0
- package/dist/components/Form/index.d.ts +8 -0
- package/dist/components/Form/index.js +11 -0
- package/dist/components/Form/index.test.d.ts +1 -0
- package/dist/components/Form/index.test.js +25 -0
- package/dist/components/FormItem/index.d.ts +9 -0
- package/dist/components/FormItem/index.js +19 -0
- package/dist/components/FormItem/index.test.d.ts +1 -0
- package/dist/components/FormItem/index.test.js +15 -0
- package/dist/components/FormTitle/index.d.ts +5 -0
- package/dist/components/FormTitle/index.js +11 -0
- package/dist/components/FormTitle/index.test.d.ts +1 -0
- package/dist/components/FormTitle/index.test.js +15 -0
- package/dist/components/Input/index.d.ts +15 -0
- package/dist/components/Input/index.js +39 -0
- package/dist/components/Input/index.test.d.ts +1 -0
- package/dist/components/Input/index.test.js +39 -0
- package/dist/components/InputController/index.d.ts +20 -0
- package/dist/components/InputController/index.js +81 -0
- package/dist/components/InputController/index.test.d.ts +1 -0
- package/dist/components/InputController/index.test.js +56 -0
- package/dist/components/InputGroup/index.d.ts +7 -0
- package/dist/components/InputGroup/index.js +11 -0
- package/dist/components/InputGroup/index.test.d.ts +1 -0
- package/dist/components/InputGroup/index.test.js +15 -0
- package/dist/components/Label/index.d.ts +7 -0
- package/dist/components/Label/index.js +14 -0
- package/dist/components/Label/index.test.d.ts +1 -0
- package/dist/components/Label/index.test.js +25 -0
- package/dist/components/LabeledContent/index.d.ts +15 -0
- package/dist/components/LabeledContent/index.js +28 -0
- package/dist/components/LabeledContent/index.test.d.ts +1 -0
- package/dist/components/LabeledContent/index.test.js +19 -0
- package/dist/components/LoadingOverlay/index.d.ts +2 -0
- package/dist/components/LoadingOverlay/index.js +134 -0
- package/dist/components/LoadingOverlay/index.test.d.ts +1 -0
- package/dist/components/LoadingOverlay/index.test.js +12 -0
- package/dist/components/Map/index.d.ts +8 -0
- package/dist/components/Map/index.js +6575 -0
- package/dist/components/MaxWidthContainer/index.d.ts +13 -0
- package/dist/components/MaxWidthContainer/index.js +15 -0
- package/dist/components/MaxWidthContainer/index.test.d.ts +1 -0
- package/dist/components/MaxWidthContainer/index.test.js +24 -0
- package/dist/components/NumericFieldController/index.d.ts +53 -0
- package/dist/components/NumericFieldController/index.js +620 -0
- package/dist/components/NumericFieldController/index.test.d.ts +1 -0
- package/dist/components/NumericFieldController/index.test.js +24 -0
- package/dist/components/OfflineLabel/index.d.ts +5 -0
- package/dist/components/OfflineLabel/index.js +34 -0
- package/dist/components/PageSizeSelector/index.d.ts +15 -0
- package/dist/components/PageSizeSelector/index.js +43 -0
- package/dist/components/Pagination/index.d.ts +9 -0
- package/dist/components/Pagination/index.js +7 -0
- package/dist/components/Pagination/index.test.d.ts +1 -0
- package/dist/components/Pagination/index.test.js +34 -0
- package/dist/components/PasswordInputController/index.d.ts +17 -0
- package/dist/components/PasswordInputController/index.js +78 -0
- package/dist/components/PasswordInputController/index.test.d.ts +1 -0
- package/dist/components/PasswordInputController/index.test.js +37 -0
- package/dist/components/RadioButton/index.d.ts +13 -0
- package/dist/components/RadioButton/index.js +7 -0
- package/dist/components/RadioButton/index.test.d.ts +1 -0
- package/dist/components/RadioButton/index.test.js +38 -0
- package/dist/components/RadioGroupController/index.d.ts +15 -0
- package/dist/components/RadioGroupController/index.js +48 -0
- package/dist/components/RadioGroupController/index.test.d.ts +1 -0
- package/dist/components/RadioGroupController/index.test.js +48 -0
- package/dist/components/RangeDatePicker/index.d.ts +14 -0
- package/dist/components/RangeDatePicker/index.js +1594 -0
- package/dist/components/RangeDatePickerController/index.d.ts +21 -0
- package/dist/components/RangeDatePickerController/index.js +123 -0
- package/dist/components/RangeDatePickerController/index.test.d.ts +1 -0
- package/dist/components/RangeDatePickerController/index.test.js +24 -0
- package/dist/components/ReportCard/index.d.ts +12 -0
- package/dist/components/ReportCard/index.js +18 -0
- package/dist/components/ReportCard/index.test.d.ts +1 -0
- package/dist/components/ReportCard/index.test.js +27 -0
- package/dist/components/ReportChart/index.d.ts +22 -0
- package/dist/components/ReportChart/index.js +23101 -0
- package/dist/components/ScrollableDialog/index.d.ts +19 -0
- package/dist/components/ScrollableDialog/index.js +42 -0
- package/dist/components/ScrollableDialog/index.test.d.ts +1 -0
- package/dist/components/ScrollableDialog/index.test.js +59 -0
- package/dist/components/SearchForm/index.d.ts +13 -0
- package/dist/components/SearchForm/index.js +86 -0
- package/dist/components/SelectBox/index.d.ts +18 -0
- package/dist/components/SelectBox/index.js +7 -0
- package/dist/components/SelectBox/index.test.d.ts +1 -0
- package/dist/components/SelectBox/index.test.js +34 -0
- package/dist/components/SelectBoxController/index.d.ts +20 -0
- package/dist/components/SelectBoxController/index.js +87 -0
- package/dist/components/SelectBoxController/index.test.d.ts +1 -0
- package/dist/components/SelectBoxController/index.test.js +52 -0
- package/dist/components/SubMenu/index.d.ts +22 -0
- package/dist/components/SubMenu/index.js +278 -0
- package/dist/components/SubMenu/index.test.d.ts +1 -0
- package/dist/components/SubMenu/index.test.js +41 -0
- package/dist/components/Tabs/index.d.ts +21 -0
- package/dist/components/Tabs/index.js +100 -0
- package/dist/components/Tabs/index.test.d.ts +1 -0
- package/dist/components/Tabs/index.test.js +24 -0
- package/dist/components/Textarea/index.d.ts +18 -0
- package/dist/components/Textarea/index.js +34 -0
- package/dist/components/Textarea/index.test.d.ts +1 -0
- package/dist/components/Textarea/index.test.js +25 -0
- package/dist/components/ToggleButton/index.d.ts +16 -0
- package/dist/components/ToggleButton/index.js +39 -0
- package/dist/components/ToggleButton/index.test.d.ts +1 -0
- package/dist/components/ToggleButton/index.test.js +49 -0
- package/dist/constants/datetime.d.ts +2 -0
- package/dist/constants/datetime.js +5 -0
- package/dist/createSvgIcon-B53UOwxg.js +183 -0
- package/dist/createSvgIcon-Dj8zNxRS.js +72 -0
- package/dist/index-BLPOOjNr.js +184 -0
- package/dist/index-BOjtnFU5.js +34 -0
- package/dist/index-Bs3JCwgu.js +689 -0
- package/dist/index-CICI7n5Y.js +19688 -0
- package/dist/index-CQDJfJT1.js +50 -0
- package/dist/index-C_i0-R5C.js +393 -0
- package/dist/index-DWRHnq8_.js +42 -0
- package/dist/index-Di2gTfPF.js +25175 -0
- package/dist/index-VF82hRp0.js +2522 -0
- package/dist/index-kvi6aotO.js +39 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.esm-ChwJSgnF.js +1052 -0
- package/dist/index.js +77 -0
- package/dist/isEqual-BBhdD79C.js +667 -0
- package/dist/mergeSlotProps-J197zKan.js +63 -0
- package/dist/react.esm-C8amP77L.js +11182 -0
- package/dist/styled-CWju4EfZ.js +2702 -0
- package/dist/unsupportedProp-DZaWZqWQ.js +30 -0
- package/dist/useControlled-BQCJRJNJ.js +64 -0
- package/dist/useIsFocusVisible-BxB-Hdhb.js +124 -0
- package/dist/useSlotProps-Bh7akxXV.js +33 -0
- package/package.json +360 -0
|
@@ -0,0 +1,4653 @@
|
|
|
1
|
+
import { I as po, c as De, i as Pe, y as ye, f as Oe, S as jo, z as Ao, B as Ke, C as Eo, l as bo, E as Ge, F as Qe, G as Je, H as Xe, J as Ae, K as ze, N as fo, O as ho, Q as Ee, R as Fe, T as Bo, U as Ho, V as zo, v as Wo, b as qo, u as Uo, d as To, e as Be, g as Yo, M as Ko, h as Go, W as $e, k as so, X as no, Y as ke, Z as je, P as Qo, m as Jo, $ as Xo, a0 as Zo, n as Ve, o as go, q as et, w as ot, x as tt, D as st } from "./index-CICI7n5Y.js";
|
|
2
|
+
import { g as be, b as fe, s as $, a as b, u as ee, _ as Z, c as ue } from "./styled-CWju4EfZ.js";
|
|
3
|
+
import * as P from "react";
|
|
4
|
+
import { c as he, P as e } from "./index-Bs3JCwgu.js";
|
|
5
|
+
import { jsx as y, jsxs as J } from "react/jsx-runtime";
|
|
6
|
+
import { D as nt, T as at, a as it } from "./index-kvi6aotO.js";
|
|
7
|
+
import { M as rt, t as lt, T as ao } from "./Tabs-D3lJRumZ.js";
|
|
8
|
+
import { T as Co } from "./ListContext-DOVwHqy-.js";
|
|
9
|
+
import { u as ct, r as Ze } from "./mergeSlotProps-J197zKan.js";
|
|
10
|
+
import { M as yo, D as io } from "./MenuItem-yBaT3_db.js";
|
|
11
|
+
import { a as ut, u as Do, b as He } from "./useIsFocusVisible-BxB-Hdhb.js";
|
|
12
|
+
import { u as dt } from "./useControlled-BQCJRJNJ.js";
|
|
13
|
+
import { u as vo } from "./useSlotProps-Bh7akxXV.js";
|
|
14
|
+
import { r as We } from "./ButtonBase-pxtIu13Q.js";
|
|
15
|
+
function mt(o) {
|
|
16
|
+
return be("MuiTimeClock", o);
|
|
17
|
+
}
|
|
18
|
+
fe("MuiTimeClock", ["root", "arrowSwitcher"]);
|
|
19
|
+
const Ie = 220, pe = 36, _e = {
|
|
20
|
+
x: Ie / 2,
|
|
21
|
+
y: Ie / 2
|
|
22
|
+
}, ko = {
|
|
23
|
+
x: _e.x,
|
|
24
|
+
y: 0
|
|
25
|
+
}, pt = ko.x - _e.x, bt = ko.y - _e.y, ft = (o) => o * (180 / Math.PI), Po = (o, t, a) => {
|
|
26
|
+
const s = t - _e.x, n = a - _e.y, i = Math.atan2(pt, bt) - Math.atan2(s, n);
|
|
27
|
+
let r = ft(i);
|
|
28
|
+
r = Math.round(r / o) * o, r %= 360;
|
|
29
|
+
const l = Math.floor(r / o) || 0, m = s ** 2 + n ** 2, d = Math.sqrt(m);
|
|
30
|
+
return {
|
|
31
|
+
value: l,
|
|
32
|
+
distance: d
|
|
33
|
+
};
|
|
34
|
+
}, ht = (o, t, a = 1) => {
|
|
35
|
+
const s = a * 6;
|
|
36
|
+
let {
|
|
37
|
+
value: n
|
|
38
|
+
} = Po(s, o, t);
|
|
39
|
+
return n = n * a % 60, n;
|
|
40
|
+
}, Tt = (o, t, a) => {
|
|
41
|
+
const {
|
|
42
|
+
value: s,
|
|
43
|
+
distance: n
|
|
44
|
+
} = Po(30, o, t);
|
|
45
|
+
let i = s || 12;
|
|
46
|
+
return a ? i %= 12 : n < Ie / 2 - pe && (i += 12, i %= 24), i;
|
|
47
|
+
};
|
|
48
|
+
function gt(o) {
|
|
49
|
+
return be("MuiClockPointer", o);
|
|
50
|
+
}
|
|
51
|
+
fe("MuiClockPointer", ["root", "thumb"]);
|
|
52
|
+
const Ct = ["className", "hasSelected", "isInner", "type", "viewValue"], yt = (o) => {
|
|
53
|
+
const {
|
|
54
|
+
classes: t
|
|
55
|
+
} = o;
|
|
56
|
+
return ue({
|
|
57
|
+
root: ["root"],
|
|
58
|
+
thumb: ["thumb"]
|
|
59
|
+
}, gt, t);
|
|
60
|
+
}, Dt = $("div", {
|
|
61
|
+
name: "MuiClockPointer",
|
|
62
|
+
slot: "Root",
|
|
63
|
+
overridesResolver: (o, t) => t.root
|
|
64
|
+
})(({
|
|
65
|
+
theme: o,
|
|
66
|
+
ownerState: t
|
|
67
|
+
}) => b({
|
|
68
|
+
width: 2,
|
|
69
|
+
backgroundColor: (o.vars || o).palette.primary.main,
|
|
70
|
+
position: "absolute",
|
|
71
|
+
left: "calc(50% - 1px)",
|
|
72
|
+
bottom: "50%",
|
|
73
|
+
transformOrigin: "center bottom 0px"
|
|
74
|
+
}, t.shouldAnimate && {
|
|
75
|
+
transition: o.transitions.create(["transform", "height"])
|
|
76
|
+
})), vt = $("div", {
|
|
77
|
+
name: "MuiClockPointer",
|
|
78
|
+
slot: "Thumb",
|
|
79
|
+
overridesResolver: (o, t) => t.thumb
|
|
80
|
+
})(({
|
|
81
|
+
theme: o,
|
|
82
|
+
ownerState: t
|
|
83
|
+
}) => b({
|
|
84
|
+
width: 4,
|
|
85
|
+
height: 4,
|
|
86
|
+
backgroundColor: (o.vars || o).palette.primary.contrastText,
|
|
87
|
+
borderRadius: "50%",
|
|
88
|
+
position: "absolute",
|
|
89
|
+
top: -21,
|
|
90
|
+
left: `calc(50% - ${pe / 2}px)`,
|
|
91
|
+
border: `${(pe - 4) / 2}px solid ${(o.vars || o).palette.primary.main}`,
|
|
92
|
+
boxSizing: "content-box"
|
|
93
|
+
}, t.hasSelected && {
|
|
94
|
+
backgroundColor: (o.vars || o).palette.primary.main
|
|
95
|
+
}));
|
|
96
|
+
function kt(o) {
|
|
97
|
+
const t = ee({
|
|
98
|
+
props: o,
|
|
99
|
+
name: "MuiClockPointer"
|
|
100
|
+
}), {
|
|
101
|
+
className: a,
|
|
102
|
+
isInner: s,
|
|
103
|
+
type: n,
|
|
104
|
+
viewValue: i
|
|
105
|
+
} = t, r = Z(t, Ct), l = P.useRef(n);
|
|
106
|
+
P.useEffect(() => {
|
|
107
|
+
l.current = n;
|
|
108
|
+
}, [n]);
|
|
109
|
+
const m = b({}, t, {
|
|
110
|
+
shouldAnimate: l.current !== n
|
|
111
|
+
}), d = yt(m);
|
|
112
|
+
return /* @__PURE__ */ y(Dt, b({
|
|
113
|
+
style: (() => {
|
|
114
|
+
let u = 360 / (n === "hours" ? 12 : 60) * i;
|
|
115
|
+
return n === "hours" && i > 12 && (u -= 360), {
|
|
116
|
+
height: Math.round((s ? 0.26 : 0.4) * Ie),
|
|
117
|
+
transform: `rotateZ(${u}deg)`
|
|
118
|
+
};
|
|
119
|
+
})(),
|
|
120
|
+
className: he(a, d.root),
|
|
121
|
+
ownerState: m
|
|
122
|
+
}, r, {
|
|
123
|
+
children: /* @__PURE__ */ y(vt, {
|
|
124
|
+
ownerState: m,
|
|
125
|
+
className: d.thumb
|
|
126
|
+
})
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
function Pt(o) {
|
|
130
|
+
return be("MuiClock", o);
|
|
131
|
+
}
|
|
132
|
+
fe("MuiClock", ["root", "clock", "wrapper", "squareMask", "pin", "amButton", "pmButton", "meridiemText"]);
|
|
133
|
+
const wt = (o) => {
|
|
134
|
+
const {
|
|
135
|
+
classes: t
|
|
136
|
+
} = o;
|
|
137
|
+
return ue({
|
|
138
|
+
root: ["root"],
|
|
139
|
+
clock: ["clock"],
|
|
140
|
+
wrapper: ["wrapper"],
|
|
141
|
+
squareMask: ["squareMask"],
|
|
142
|
+
pin: ["pin"],
|
|
143
|
+
amButton: ["amButton"],
|
|
144
|
+
pmButton: ["pmButton"],
|
|
145
|
+
meridiemText: ["meridiemText"]
|
|
146
|
+
}, Pt, t);
|
|
147
|
+
}, xt = $("div", {
|
|
148
|
+
name: "MuiClock",
|
|
149
|
+
slot: "Root",
|
|
150
|
+
overridesResolver: (o, t) => t.root
|
|
151
|
+
})(({
|
|
152
|
+
theme: o
|
|
153
|
+
}) => ({
|
|
154
|
+
display: "flex",
|
|
155
|
+
justifyContent: "center",
|
|
156
|
+
alignItems: "center",
|
|
157
|
+
margin: o.spacing(2)
|
|
158
|
+
})), Mt = $("div", {
|
|
159
|
+
name: "MuiClock",
|
|
160
|
+
slot: "Clock",
|
|
161
|
+
overridesResolver: (o, t) => t.clock
|
|
162
|
+
})({
|
|
163
|
+
backgroundColor: "rgba(0,0,0,.07)",
|
|
164
|
+
borderRadius: "50%",
|
|
165
|
+
height: 220,
|
|
166
|
+
width: 220,
|
|
167
|
+
flexShrink: 0,
|
|
168
|
+
position: "relative",
|
|
169
|
+
pointerEvents: "none"
|
|
170
|
+
}), St = $("div", {
|
|
171
|
+
name: "MuiClock",
|
|
172
|
+
slot: "Wrapper",
|
|
173
|
+
overridesResolver: (o, t) => t.wrapper
|
|
174
|
+
})({
|
|
175
|
+
"&:focus": {
|
|
176
|
+
outline: "none"
|
|
177
|
+
}
|
|
178
|
+
}), Ot = $("div", {
|
|
179
|
+
name: "MuiClock",
|
|
180
|
+
slot: "SquareMask",
|
|
181
|
+
overridesResolver: (o, t) => t.squareMask
|
|
182
|
+
})(({
|
|
183
|
+
ownerState: o
|
|
184
|
+
}) => b({
|
|
185
|
+
width: "100%",
|
|
186
|
+
height: "100%",
|
|
187
|
+
position: "absolute",
|
|
188
|
+
pointerEvents: "auto",
|
|
189
|
+
outline: 0,
|
|
190
|
+
// Disable scroll capabilities.
|
|
191
|
+
touchAction: "none",
|
|
192
|
+
userSelect: "none"
|
|
193
|
+
}, o.disabled ? {} : {
|
|
194
|
+
"@media (pointer: fine)": {
|
|
195
|
+
cursor: "pointer",
|
|
196
|
+
borderRadius: "50%"
|
|
197
|
+
},
|
|
198
|
+
"&:active": {
|
|
199
|
+
cursor: "move"
|
|
200
|
+
}
|
|
201
|
+
})), Rt = $("div", {
|
|
202
|
+
name: "MuiClock",
|
|
203
|
+
slot: "Pin",
|
|
204
|
+
overridesResolver: (o, t) => t.pin
|
|
205
|
+
})(({
|
|
206
|
+
theme: o
|
|
207
|
+
}) => ({
|
|
208
|
+
width: 6,
|
|
209
|
+
height: 6,
|
|
210
|
+
borderRadius: "50%",
|
|
211
|
+
backgroundColor: (o.vars || o).palette.primary.main,
|
|
212
|
+
position: "absolute",
|
|
213
|
+
top: "50%",
|
|
214
|
+
left: "50%",
|
|
215
|
+
transform: "translate(-50%, -50%)"
|
|
216
|
+
})), Vt = $(po, {
|
|
217
|
+
name: "MuiClock",
|
|
218
|
+
slot: "AmButton",
|
|
219
|
+
overridesResolver: (o, t) => t.amButton
|
|
220
|
+
})(({
|
|
221
|
+
theme: o,
|
|
222
|
+
ownerState: t
|
|
223
|
+
}) => b({
|
|
224
|
+
zIndex: 1,
|
|
225
|
+
position: "absolute",
|
|
226
|
+
bottom: 8,
|
|
227
|
+
left: 8,
|
|
228
|
+
paddingLeft: 4,
|
|
229
|
+
paddingRight: 4,
|
|
230
|
+
width: pe
|
|
231
|
+
}, t.meridiemMode === "am" && {
|
|
232
|
+
backgroundColor: (o.vars || o).palette.primary.main,
|
|
233
|
+
color: (o.vars || o).palette.primary.contrastText,
|
|
234
|
+
"&:hover": {
|
|
235
|
+
backgroundColor: (o.vars || o).palette.primary.light
|
|
236
|
+
}
|
|
237
|
+
})), It = $(po, {
|
|
238
|
+
name: "MuiClock",
|
|
239
|
+
slot: "PmButton",
|
|
240
|
+
overridesResolver: (o, t) => t.pmButton
|
|
241
|
+
})(({
|
|
242
|
+
theme: o,
|
|
243
|
+
ownerState: t
|
|
244
|
+
}) => b({
|
|
245
|
+
zIndex: 1,
|
|
246
|
+
position: "absolute",
|
|
247
|
+
bottom: 8,
|
|
248
|
+
right: 8,
|
|
249
|
+
paddingLeft: 4,
|
|
250
|
+
paddingRight: 4,
|
|
251
|
+
width: pe
|
|
252
|
+
}, t.meridiemMode === "pm" && {
|
|
253
|
+
backgroundColor: (o.vars || o).palette.primary.main,
|
|
254
|
+
color: (o.vars || o).palette.primary.contrastText,
|
|
255
|
+
"&:hover": {
|
|
256
|
+
backgroundColor: (o.vars || o).palette.primary.light
|
|
257
|
+
}
|
|
258
|
+
})), ro = $(Co, {
|
|
259
|
+
name: "MuiClock",
|
|
260
|
+
slot: "meridiemText",
|
|
261
|
+
overridesResolver: (o, t) => t.meridiemText
|
|
262
|
+
})({
|
|
263
|
+
overflow: "hidden",
|
|
264
|
+
whiteSpace: "nowrap",
|
|
265
|
+
textOverflow: "ellipsis"
|
|
266
|
+
});
|
|
267
|
+
function Nt(o) {
|
|
268
|
+
const t = ee({
|
|
269
|
+
props: o,
|
|
270
|
+
name: "MuiClock"
|
|
271
|
+
}), {
|
|
272
|
+
ampm: a,
|
|
273
|
+
ampmInClock: s,
|
|
274
|
+
autoFocus: n,
|
|
275
|
+
children: i,
|
|
276
|
+
value: r,
|
|
277
|
+
handleMeridiemChange: l,
|
|
278
|
+
isTimeDisabled: m,
|
|
279
|
+
meridiemMode: d,
|
|
280
|
+
minutesStep: p = 1,
|
|
281
|
+
onChange: c,
|
|
282
|
+
selectedId: u,
|
|
283
|
+
type: C,
|
|
284
|
+
viewValue: k,
|
|
285
|
+
disabled: f,
|
|
286
|
+
readOnly: D,
|
|
287
|
+
className: w
|
|
288
|
+
} = t, S = t, x = De(), I = Pe(), v = P.useRef(!1), h = wt(S), L = m(k, C), O = !a && C === "hours" && (k < 1 || k > 12), V = (N, B) => {
|
|
289
|
+
f || D || m(N, C) || c(N, B);
|
|
290
|
+
}, j = (N, B) => {
|
|
291
|
+
let {
|
|
292
|
+
offsetX: te,
|
|
293
|
+
offsetY: G
|
|
294
|
+
} = N;
|
|
295
|
+
if (te === void 0) {
|
|
296
|
+
const W = N.target.getBoundingClientRect();
|
|
297
|
+
te = N.changedTouches[0].clientX - W.left, G = N.changedTouches[0].clientY - W.top;
|
|
298
|
+
}
|
|
299
|
+
const X = C === "seconds" || C === "minutes" ? ht(te, G, p) : Tt(te, G, !!a);
|
|
300
|
+
V(X, B);
|
|
301
|
+
}, A = (N) => {
|
|
302
|
+
v.current = !0, j(N, "shallow");
|
|
303
|
+
}, H = (N) => {
|
|
304
|
+
v.current && (j(N, "finish"), v.current = !1);
|
|
305
|
+
}, z = (N) => {
|
|
306
|
+
N.buttons > 0 && j(N.nativeEvent, "shallow");
|
|
307
|
+
}, U = (N) => {
|
|
308
|
+
v.current && (v.current = !1), j(N.nativeEvent, "finish");
|
|
309
|
+
}, Y = P.useMemo(() => C === "hours" ? !0 : k % 5 === 0, [C, k]), K = C === "minutes" ? p : 1, oe = P.useRef(null);
|
|
310
|
+
ut(() => {
|
|
311
|
+
n && oe.current.focus();
|
|
312
|
+
}, [n]);
|
|
313
|
+
const Te = (N) => {
|
|
314
|
+
if (!v.current)
|
|
315
|
+
switch (N.key) {
|
|
316
|
+
case "Home":
|
|
317
|
+
V(0, "partial"), N.preventDefault();
|
|
318
|
+
break;
|
|
319
|
+
case "End":
|
|
320
|
+
V(C === "minutes" ? 59 : 23, "partial"), N.preventDefault();
|
|
321
|
+
break;
|
|
322
|
+
case "ArrowUp":
|
|
323
|
+
V(k + K, "partial"), N.preventDefault();
|
|
324
|
+
break;
|
|
325
|
+
case "ArrowDown":
|
|
326
|
+
V(k - K, "partial"), N.preventDefault();
|
|
327
|
+
break;
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
return /* @__PURE__ */ J(xt, {
|
|
331
|
+
className: he(w, h.root),
|
|
332
|
+
children: [/* @__PURE__ */ J(Mt, {
|
|
333
|
+
className: h.clock,
|
|
334
|
+
children: [/* @__PURE__ */ y(Ot, {
|
|
335
|
+
onTouchMove: A,
|
|
336
|
+
onTouchEnd: H,
|
|
337
|
+
onMouseUp: U,
|
|
338
|
+
onMouseMove: z,
|
|
339
|
+
ownerState: {
|
|
340
|
+
disabled: f
|
|
341
|
+
},
|
|
342
|
+
className: h.squareMask
|
|
343
|
+
}), !L && /* @__PURE__ */ J(P.Fragment, {
|
|
344
|
+
children: [/* @__PURE__ */ y(Rt, {
|
|
345
|
+
className: h.pin
|
|
346
|
+
}), r != null && /* @__PURE__ */ y(kt, {
|
|
347
|
+
type: C,
|
|
348
|
+
viewValue: k,
|
|
349
|
+
isInner: O,
|
|
350
|
+
hasSelected: Y
|
|
351
|
+
})]
|
|
352
|
+
}), /* @__PURE__ */ y(St, {
|
|
353
|
+
"aria-activedescendant": u,
|
|
354
|
+
"aria-label": I.clockLabelText(C, r, x),
|
|
355
|
+
ref: oe,
|
|
356
|
+
role: "listbox",
|
|
357
|
+
onKeyDown: Te,
|
|
358
|
+
tabIndex: 0,
|
|
359
|
+
className: h.wrapper,
|
|
360
|
+
children: i
|
|
361
|
+
})]
|
|
362
|
+
}), a && s && /* @__PURE__ */ J(P.Fragment, {
|
|
363
|
+
children: [/* @__PURE__ */ y(Vt, {
|
|
364
|
+
onClick: D ? void 0 : () => l("am"),
|
|
365
|
+
disabled: f || d === null,
|
|
366
|
+
ownerState: S,
|
|
367
|
+
className: h.amButton,
|
|
368
|
+
title: ye(x, "am"),
|
|
369
|
+
children: /* @__PURE__ */ y(ro, {
|
|
370
|
+
variant: "caption",
|
|
371
|
+
className: h.meridiemText,
|
|
372
|
+
children: ye(x, "am")
|
|
373
|
+
})
|
|
374
|
+
}), /* @__PURE__ */ y(It, {
|
|
375
|
+
disabled: f || d === null,
|
|
376
|
+
onClick: D ? void 0 : () => l("pm"),
|
|
377
|
+
ownerState: S,
|
|
378
|
+
className: h.pmButton,
|
|
379
|
+
title: ye(x, "pm"),
|
|
380
|
+
children: /* @__PURE__ */ y(ro, {
|
|
381
|
+
variant: "caption",
|
|
382
|
+
className: h.meridiemText,
|
|
383
|
+
children: ye(x, "pm")
|
|
384
|
+
})
|
|
385
|
+
})]
|
|
386
|
+
})]
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
function Ft(o) {
|
|
390
|
+
return be("MuiClockNumber", o);
|
|
391
|
+
}
|
|
392
|
+
const Le = fe("MuiClockNumber", ["root", "selected", "disabled"]), $t = ["className", "disabled", "index", "inner", "label", "selected"], _t = (o) => {
|
|
393
|
+
const {
|
|
394
|
+
classes: t,
|
|
395
|
+
selected: a,
|
|
396
|
+
disabled: s
|
|
397
|
+
} = o;
|
|
398
|
+
return ue({
|
|
399
|
+
root: ["root", a && "selected", s && "disabled"]
|
|
400
|
+
}, Ft, t);
|
|
401
|
+
}, Lt = $("span", {
|
|
402
|
+
name: "MuiClockNumber",
|
|
403
|
+
slot: "Root",
|
|
404
|
+
overridesResolver: (o, t) => [t.root, {
|
|
405
|
+
[`&.${Le.disabled}`]: t.disabled
|
|
406
|
+
}, {
|
|
407
|
+
[`&.${Le.selected}`]: t.selected
|
|
408
|
+
}]
|
|
409
|
+
})(({
|
|
410
|
+
theme: o,
|
|
411
|
+
ownerState: t
|
|
412
|
+
}) => b({
|
|
413
|
+
height: pe,
|
|
414
|
+
width: pe,
|
|
415
|
+
position: "absolute",
|
|
416
|
+
left: `calc((100% - ${pe}px) / 2)`,
|
|
417
|
+
display: "inline-flex",
|
|
418
|
+
justifyContent: "center",
|
|
419
|
+
alignItems: "center",
|
|
420
|
+
borderRadius: "50%",
|
|
421
|
+
color: (o.vars || o).palette.text.primary,
|
|
422
|
+
fontFamily: o.typography.fontFamily,
|
|
423
|
+
"&:focused": {
|
|
424
|
+
backgroundColor: (o.vars || o).palette.background.paper
|
|
425
|
+
},
|
|
426
|
+
[`&.${Le.selected}`]: {
|
|
427
|
+
color: (o.vars || o).palette.primary.contrastText
|
|
428
|
+
},
|
|
429
|
+
[`&.${Le.disabled}`]: {
|
|
430
|
+
pointerEvents: "none",
|
|
431
|
+
color: (o.vars || o).palette.text.disabled
|
|
432
|
+
}
|
|
433
|
+
}, t.inner && b({}, o.typography.body2, {
|
|
434
|
+
color: (o.vars || o).palette.text.secondary
|
|
435
|
+
})));
|
|
436
|
+
function wo(o) {
|
|
437
|
+
const t = ee({
|
|
438
|
+
props: o,
|
|
439
|
+
name: "MuiClockNumber"
|
|
440
|
+
}), {
|
|
441
|
+
className: a,
|
|
442
|
+
disabled: s,
|
|
443
|
+
index: n,
|
|
444
|
+
inner: i,
|
|
445
|
+
label: r,
|
|
446
|
+
selected: l
|
|
447
|
+
} = t, m = Z(t, $t), d = t, p = _t(d), c = n % 12 / 12 * Math.PI * 2 - Math.PI / 2, u = (Ie - pe - 2) / 2 * (i ? 0.65 : 1), C = Math.round(Math.cos(c) * u), k = Math.round(Math.sin(c) * u);
|
|
448
|
+
return /* @__PURE__ */ y(Lt, b({
|
|
449
|
+
className: he(a, p.root),
|
|
450
|
+
"aria-disabled": s ? !0 : void 0,
|
|
451
|
+
"aria-selected": l ? !0 : void 0,
|
|
452
|
+
role: "option",
|
|
453
|
+
style: {
|
|
454
|
+
transform: `translate(${C}px, ${k + (Ie - pe) / 2}px`
|
|
455
|
+
},
|
|
456
|
+
ownerState: d
|
|
457
|
+
}, m, {
|
|
458
|
+
children: r
|
|
459
|
+
}));
|
|
460
|
+
}
|
|
461
|
+
const jt = ({
|
|
462
|
+
ampm: o,
|
|
463
|
+
value: t,
|
|
464
|
+
getClockNumberText: a,
|
|
465
|
+
isDisabled: s,
|
|
466
|
+
selectedId: n,
|
|
467
|
+
utils: i
|
|
468
|
+
}) => {
|
|
469
|
+
const r = t ? i.getHours(t) : null, l = [], m = o ? 1 : 0, d = o ? 12 : 23, p = (c) => r === null ? !1 : o ? c === 12 ? r === 12 || r === 0 : r === c || r - 12 === c : r === c;
|
|
470
|
+
for (let c = m; c <= d; c += 1) {
|
|
471
|
+
let u = c.toString();
|
|
472
|
+
c === 0 && (u = "00");
|
|
473
|
+
const C = !o && (c === 0 || c > 12);
|
|
474
|
+
u = i.formatNumber(u);
|
|
475
|
+
const k = p(c);
|
|
476
|
+
l.push(/* @__PURE__ */ y(wo, {
|
|
477
|
+
id: k ? n : void 0,
|
|
478
|
+
index: c,
|
|
479
|
+
inner: C,
|
|
480
|
+
selected: k,
|
|
481
|
+
disabled: s(c),
|
|
482
|
+
label: u,
|
|
483
|
+
"aria-label": a(u)
|
|
484
|
+
}, c));
|
|
485
|
+
}
|
|
486
|
+
return l;
|
|
487
|
+
}, lo = ({
|
|
488
|
+
utils: o,
|
|
489
|
+
value: t,
|
|
490
|
+
isDisabled: a,
|
|
491
|
+
getClockNumberText: s,
|
|
492
|
+
selectedId: n
|
|
493
|
+
}) => {
|
|
494
|
+
const i = o.formatNumber;
|
|
495
|
+
return [[5, i("05")], [10, i("10")], [15, i("15")], [20, i("20")], [25, i("25")], [30, i("30")], [35, i("35")], [40, i("40")], [45, i("45")], [50, i("50")], [55, i("55")], [0, i("00")]].map(([r, l], m) => {
|
|
496
|
+
const d = r === t;
|
|
497
|
+
return /* @__PURE__ */ y(wo, {
|
|
498
|
+
label: l,
|
|
499
|
+
id: d ? n : void 0,
|
|
500
|
+
index: m + 1,
|
|
501
|
+
inner: !1,
|
|
502
|
+
disabled: a(r),
|
|
503
|
+
selected: d,
|
|
504
|
+
"aria-label": s(l)
|
|
505
|
+
}, r);
|
|
506
|
+
});
|
|
507
|
+
}, eo = ({
|
|
508
|
+
value: o,
|
|
509
|
+
referenceDate: t,
|
|
510
|
+
utils: a,
|
|
511
|
+
props: s,
|
|
512
|
+
timezone: n
|
|
513
|
+
}) => {
|
|
514
|
+
const i = P.useMemo(
|
|
515
|
+
() => Oe.getInitialReferenceValue({
|
|
516
|
+
value: o,
|
|
517
|
+
utils: a,
|
|
518
|
+
props: s,
|
|
519
|
+
referenceDate: t,
|
|
520
|
+
granularity: jo.day,
|
|
521
|
+
timezone: n,
|
|
522
|
+
getTodayDate: () => Ao(a, n, "date")
|
|
523
|
+
}),
|
|
524
|
+
// We only want to compute the reference date on mount.
|
|
525
|
+
[]
|
|
526
|
+
// eslint-disable-line react-hooks/exhaustive-deps
|
|
527
|
+
);
|
|
528
|
+
return o ?? i;
|
|
529
|
+
}, At = ["ampm", "ampmInClock", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "showViewSwitcher", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "timezone"], Et = (o) => {
|
|
530
|
+
const {
|
|
531
|
+
classes: t
|
|
532
|
+
} = o;
|
|
533
|
+
return ue({
|
|
534
|
+
root: ["root"],
|
|
535
|
+
arrowSwitcher: ["arrowSwitcher"]
|
|
536
|
+
}, mt, t);
|
|
537
|
+
}, Bt = $(Ke, {
|
|
538
|
+
name: "MuiTimeClock",
|
|
539
|
+
slot: "Root",
|
|
540
|
+
overridesResolver: (o, t) => t.root
|
|
541
|
+
})({
|
|
542
|
+
display: "flex",
|
|
543
|
+
flexDirection: "column",
|
|
544
|
+
position: "relative"
|
|
545
|
+
}), Ht = $(Eo, {
|
|
546
|
+
name: "MuiTimeClock",
|
|
547
|
+
slot: "ArrowSwitcher",
|
|
548
|
+
overridesResolver: (o, t) => t.arrowSwitcher
|
|
549
|
+
})({
|
|
550
|
+
position: "absolute",
|
|
551
|
+
right: 12,
|
|
552
|
+
top: 15
|
|
553
|
+
}), zt = ["hours", "minutes"], xo = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
554
|
+
const s = De(), n = ee({
|
|
555
|
+
props: t,
|
|
556
|
+
name: "MuiTimeClock"
|
|
557
|
+
}), {
|
|
558
|
+
ampm: i = s.is12HourCycleInCurrentLocale(),
|
|
559
|
+
ampmInClock: r = !1,
|
|
560
|
+
autoFocus: l,
|
|
561
|
+
components: m,
|
|
562
|
+
componentsProps: d,
|
|
563
|
+
slots: p,
|
|
564
|
+
slotProps: c,
|
|
565
|
+
value: u,
|
|
566
|
+
defaultValue: C,
|
|
567
|
+
referenceDate: k,
|
|
568
|
+
disableIgnoringDatePartForTimeValidation: f = !1,
|
|
569
|
+
maxTime: D,
|
|
570
|
+
minTime: w,
|
|
571
|
+
disableFuture: S,
|
|
572
|
+
disablePast: x,
|
|
573
|
+
minutesStep: I = 1,
|
|
574
|
+
shouldDisableClock: v,
|
|
575
|
+
shouldDisableTime: h,
|
|
576
|
+
showViewSwitcher: L,
|
|
577
|
+
onChange: O,
|
|
578
|
+
view: V,
|
|
579
|
+
views: j = zt,
|
|
580
|
+
openTo: A,
|
|
581
|
+
onViewChange: H,
|
|
582
|
+
focusedView: z,
|
|
583
|
+
onFocusedViewChange: U,
|
|
584
|
+
className: Y,
|
|
585
|
+
disabled: K,
|
|
586
|
+
readOnly: oe,
|
|
587
|
+
timezone: Te
|
|
588
|
+
} = n, N = Z(n, At), B = p ?? bo(m), te = c ?? d, {
|
|
589
|
+
value: G,
|
|
590
|
+
handleValueChange: X,
|
|
591
|
+
timezone: W
|
|
592
|
+
} = Ge({
|
|
593
|
+
name: "TimeClock",
|
|
594
|
+
timezone: Te,
|
|
595
|
+
value: u,
|
|
596
|
+
defaultValue: C,
|
|
597
|
+
onChange: O,
|
|
598
|
+
valueManager: Oe
|
|
599
|
+
}), R = eo({
|
|
600
|
+
value: G,
|
|
601
|
+
referenceDate: k,
|
|
602
|
+
utils: s,
|
|
603
|
+
props: n,
|
|
604
|
+
timezone: W
|
|
605
|
+
}), _ = Pe(), de = Qe(W), {
|
|
606
|
+
view: se,
|
|
607
|
+
setView: le,
|
|
608
|
+
previousView: ne,
|
|
609
|
+
nextView: me,
|
|
610
|
+
setValueAndGoToNextView: ie
|
|
611
|
+
} = Je({
|
|
612
|
+
view: V,
|
|
613
|
+
views: j,
|
|
614
|
+
openTo: A,
|
|
615
|
+
onViewChange: H,
|
|
616
|
+
onChange: X,
|
|
617
|
+
focusedView: z,
|
|
618
|
+
onFocusedViewChange: U
|
|
619
|
+
}), {
|
|
620
|
+
meridiemMode: Q,
|
|
621
|
+
handleMeridiemChange: ge
|
|
622
|
+
} = Xe(R, i, ie), q = P.useCallback((T, g) => {
|
|
623
|
+
const F = ze(f, s), ce = g === "hours" || g === "minutes" && j.includes("seconds"), xe = ({
|
|
624
|
+
start: M,
|
|
625
|
+
end: E
|
|
626
|
+
}) => !(w && F(w, E) || D && F(M, D) || S && F(M, de) || x && F(de, ce ? E : M)), Me = (M, E = 1) => {
|
|
627
|
+
if (M % E !== 0 || v != null && v(M, g))
|
|
628
|
+
return !1;
|
|
629
|
+
if (h)
|
|
630
|
+
switch (g) {
|
|
631
|
+
case "hours":
|
|
632
|
+
return !h(s.setHours(R, M), "hours");
|
|
633
|
+
case "minutes":
|
|
634
|
+
return !h(s.setMinutes(R, M), "minutes");
|
|
635
|
+
case "seconds":
|
|
636
|
+
return !h(s.setSeconds(R, M), "seconds");
|
|
637
|
+
default:
|
|
638
|
+
return !1;
|
|
639
|
+
}
|
|
640
|
+
return !0;
|
|
641
|
+
};
|
|
642
|
+
switch (g) {
|
|
643
|
+
case "hours": {
|
|
644
|
+
const M = Ae(T, Q, i), E = s.setHours(R, M), Ce = s.setSeconds(s.setMinutes(E, 0), 0), qe = s.setSeconds(s.setMinutes(E, 59), 59);
|
|
645
|
+
return !xe({
|
|
646
|
+
start: Ce,
|
|
647
|
+
end: qe
|
|
648
|
+
}) || !Me(M);
|
|
649
|
+
}
|
|
650
|
+
case "minutes": {
|
|
651
|
+
const M = s.setMinutes(R, T), E = s.setSeconds(M, 0), Ce = s.setSeconds(M, 59);
|
|
652
|
+
return !xe({
|
|
653
|
+
start: E,
|
|
654
|
+
end: Ce
|
|
655
|
+
}) || !Me(T, I);
|
|
656
|
+
}
|
|
657
|
+
case "seconds": {
|
|
658
|
+
const M = s.setSeconds(R, T);
|
|
659
|
+
return !xe({
|
|
660
|
+
start: M,
|
|
661
|
+
end: M
|
|
662
|
+
}) || !Me(T);
|
|
663
|
+
}
|
|
664
|
+
default:
|
|
665
|
+
throw new Error("not supported");
|
|
666
|
+
}
|
|
667
|
+
}, [i, R, f, D, Q, w, I, v, h, s, S, x, de, j]), ae = dt(), we = P.useMemo(() => {
|
|
668
|
+
switch (se) {
|
|
669
|
+
case "hours": {
|
|
670
|
+
const T = (g, F) => {
|
|
671
|
+
const ce = Ae(g, Q, i);
|
|
672
|
+
ie(s.setHours(R, ce), F);
|
|
673
|
+
};
|
|
674
|
+
return {
|
|
675
|
+
onChange: T,
|
|
676
|
+
viewValue: s.getHours(R),
|
|
677
|
+
children: jt({
|
|
678
|
+
value: G,
|
|
679
|
+
utils: s,
|
|
680
|
+
ampm: i,
|
|
681
|
+
onChange: T,
|
|
682
|
+
getClockNumberText: _.hoursClockNumberText,
|
|
683
|
+
isDisabled: (g) => K || q(g, "hours"),
|
|
684
|
+
selectedId: ae
|
|
685
|
+
})
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
case "minutes": {
|
|
689
|
+
const T = s.getMinutes(R), g = (F, ce) => {
|
|
690
|
+
ie(s.setMinutes(R, F), ce);
|
|
691
|
+
};
|
|
692
|
+
return {
|
|
693
|
+
viewValue: T,
|
|
694
|
+
onChange: g,
|
|
695
|
+
children: lo({
|
|
696
|
+
utils: s,
|
|
697
|
+
value: T,
|
|
698
|
+
onChange: g,
|
|
699
|
+
getClockNumberText: _.minutesClockNumberText,
|
|
700
|
+
isDisabled: (F) => K || q(F, "minutes"),
|
|
701
|
+
selectedId: ae
|
|
702
|
+
})
|
|
703
|
+
};
|
|
704
|
+
}
|
|
705
|
+
case "seconds": {
|
|
706
|
+
const T = s.getSeconds(R), g = (F, ce) => {
|
|
707
|
+
ie(s.setSeconds(R, F), ce);
|
|
708
|
+
};
|
|
709
|
+
return {
|
|
710
|
+
viewValue: T,
|
|
711
|
+
onChange: g,
|
|
712
|
+
children: lo({
|
|
713
|
+
utils: s,
|
|
714
|
+
value: T,
|
|
715
|
+
onChange: g,
|
|
716
|
+
getClockNumberText: _.secondsClockNumberText,
|
|
717
|
+
isDisabled: (F) => K || q(F, "seconds"),
|
|
718
|
+
selectedId: ae
|
|
719
|
+
})
|
|
720
|
+
};
|
|
721
|
+
}
|
|
722
|
+
default:
|
|
723
|
+
throw new Error("You must provide the type for ClockView");
|
|
724
|
+
}
|
|
725
|
+
}, [se, s, G, i, _.hoursClockNumberText, _.minutesClockNumberText, _.secondsClockNumberText, Q, ie, R, q, ae, K]), re = n, Re = Et(re);
|
|
726
|
+
return /* @__PURE__ */ J(Bt, b({
|
|
727
|
+
ref: a,
|
|
728
|
+
className: he(Re.root, Y),
|
|
729
|
+
ownerState: re
|
|
730
|
+
}, N, {
|
|
731
|
+
children: [/* @__PURE__ */ y(Nt, b({
|
|
732
|
+
autoFocus: l ?? !!z,
|
|
733
|
+
ampmInClock: r && j.includes("hours"),
|
|
734
|
+
value: G,
|
|
735
|
+
type: se,
|
|
736
|
+
ampm: i,
|
|
737
|
+
minutesStep: I,
|
|
738
|
+
isTimeDisabled: q,
|
|
739
|
+
meridiemMode: Q,
|
|
740
|
+
handleMeridiemChange: ge,
|
|
741
|
+
selectedId: ae,
|
|
742
|
+
disabled: K,
|
|
743
|
+
readOnly: oe
|
|
744
|
+
}, we)), L && /* @__PURE__ */ y(Ht, {
|
|
745
|
+
className: Re.arrowSwitcher,
|
|
746
|
+
slots: B,
|
|
747
|
+
slotProps: te,
|
|
748
|
+
onGoToPrevious: () => le(ne),
|
|
749
|
+
isPreviousDisabled: !ne,
|
|
750
|
+
previousLabel: _.openPreviousView,
|
|
751
|
+
onGoToNext: () => le(me),
|
|
752
|
+
isNextDisabled: !me,
|
|
753
|
+
nextLabel: _.openNextView,
|
|
754
|
+
ownerState: re
|
|
755
|
+
})]
|
|
756
|
+
}));
|
|
757
|
+
});
|
|
758
|
+
process.env.NODE_ENV !== "production" && (xo.propTypes = {
|
|
759
|
+
// ----------------------------- Warning --------------------------------
|
|
760
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
761
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
762
|
+
// ----------------------------------------------------------------------
|
|
763
|
+
/**
|
|
764
|
+
* 12h/24h view for hour selection clock.
|
|
765
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
766
|
+
*/
|
|
767
|
+
ampm: e.bool,
|
|
768
|
+
/**
|
|
769
|
+
* Display ampm controls under the clock (instead of in the toolbar).
|
|
770
|
+
* @default false
|
|
771
|
+
*/
|
|
772
|
+
ampmInClock: e.bool,
|
|
773
|
+
/**
|
|
774
|
+
* If `true`, the main element is focused during the first mount.
|
|
775
|
+
* This main element is:
|
|
776
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
777
|
+
* - the `input` element if there is a field rendered.
|
|
778
|
+
*/
|
|
779
|
+
autoFocus: e.bool,
|
|
780
|
+
/**
|
|
781
|
+
* Override or extend the styles applied to the component.
|
|
782
|
+
*/
|
|
783
|
+
classes: e.object,
|
|
784
|
+
className: e.string,
|
|
785
|
+
/**
|
|
786
|
+
* Overridable components.
|
|
787
|
+
* @default {}
|
|
788
|
+
* @deprecated Please use `slots`.
|
|
789
|
+
*/
|
|
790
|
+
components: e.object,
|
|
791
|
+
/**
|
|
792
|
+
* The props used for each component slot.
|
|
793
|
+
* @default {}
|
|
794
|
+
* @deprecated Please use `slotProps`.
|
|
795
|
+
*/
|
|
796
|
+
componentsProps: e.object,
|
|
797
|
+
/**
|
|
798
|
+
* The default selected value.
|
|
799
|
+
* Used when the component is not controlled.
|
|
800
|
+
*/
|
|
801
|
+
defaultValue: e.any,
|
|
802
|
+
/**
|
|
803
|
+
* If `true`, the picker views and text field are disabled.
|
|
804
|
+
* @default false
|
|
805
|
+
*/
|
|
806
|
+
disabled: e.bool,
|
|
807
|
+
/**
|
|
808
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
809
|
+
* @default false
|
|
810
|
+
*/
|
|
811
|
+
disableFuture: e.bool,
|
|
812
|
+
/**
|
|
813
|
+
* Do not ignore date part when validating min/max time.
|
|
814
|
+
* @default false
|
|
815
|
+
*/
|
|
816
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
817
|
+
/**
|
|
818
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
819
|
+
* @default false
|
|
820
|
+
*/
|
|
821
|
+
disablePast: e.bool,
|
|
822
|
+
/**
|
|
823
|
+
* Controlled focused view.
|
|
824
|
+
*/
|
|
825
|
+
focusedView: e.oneOf(["hours", "minutes", "seconds"]),
|
|
826
|
+
/**
|
|
827
|
+
* Maximal selectable time.
|
|
828
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
829
|
+
*/
|
|
830
|
+
maxTime: e.any,
|
|
831
|
+
/**
|
|
832
|
+
* Minimal selectable time.
|
|
833
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
834
|
+
*/
|
|
835
|
+
minTime: e.any,
|
|
836
|
+
/**
|
|
837
|
+
* Step over minutes.
|
|
838
|
+
* @default 1
|
|
839
|
+
*/
|
|
840
|
+
minutesStep: e.number,
|
|
841
|
+
/**
|
|
842
|
+
* Callback fired when the value changes.
|
|
843
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
844
|
+
* @template TView The view type. Will be one of date or time views.
|
|
845
|
+
* @param {TValue} value The new value.
|
|
846
|
+
* @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
|
|
847
|
+
* @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
|
|
848
|
+
*/
|
|
849
|
+
onChange: e.func,
|
|
850
|
+
/**
|
|
851
|
+
* Callback fired on focused view change.
|
|
852
|
+
* @template TView
|
|
853
|
+
* @param {TView} view The new view to focus or not.
|
|
854
|
+
* @param {boolean} hasFocus `true` if the view should be focused.
|
|
855
|
+
*/
|
|
856
|
+
onFocusedViewChange: e.func,
|
|
857
|
+
/**
|
|
858
|
+
* Callback fired on view change.
|
|
859
|
+
* @template TView
|
|
860
|
+
* @param {TView} view The new view.
|
|
861
|
+
*/
|
|
862
|
+
onViewChange: e.func,
|
|
863
|
+
/**
|
|
864
|
+
* The default visible view.
|
|
865
|
+
* Used when the component view is not controlled.
|
|
866
|
+
* Must be a valid option from `views` list.
|
|
867
|
+
*/
|
|
868
|
+
openTo: e.oneOf(["hours", "minutes", "seconds"]),
|
|
869
|
+
/**
|
|
870
|
+
* If `true`, the picker views and text field are read-only.
|
|
871
|
+
* @default false
|
|
872
|
+
*/
|
|
873
|
+
readOnly: e.bool,
|
|
874
|
+
/**
|
|
875
|
+
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
876
|
+
* @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
|
|
877
|
+
*/
|
|
878
|
+
referenceDate: e.any,
|
|
879
|
+
/**
|
|
880
|
+
* Disable specific clock time.
|
|
881
|
+
* @param {number} clockValue The value to check.
|
|
882
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
883
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
884
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
885
|
+
*/
|
|
886
|
+
shouldDisableClock: e.func,
|
|
887
|
+
/**
|
|
888
|
+
* Disable specific time.
|
|
889
|
+
* @template TDate
|
|
890
|
+
* @param {TDate} value The value to check.
|
|
891
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
892
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
893
|
+
*/
|
|
894
|
+
shouldDisableTime: e.func,
|
|
895
|
+
showViewSwitcher: e.bool,
|
|
896
|
+
/**
|
|
897
|
+
* The props used for each component slot.
|
|
898
|
+
* @default {}
|
|
899
|
+
*/
|
|
900
|
+
slotProps: e.object,
|
|
901
|
+
/**
|
|
902
|
+
* Overridable component slots.
|
|
903
|
+
* @default {}
|
|
904
|
+
*/
|
|
905
|
+
slots: e.object,
|
|
906
|
+
/**
|
|
907
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
908
|
+
*/
|
|
909
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
910
|
+
/**
|
|
911
|
+
* Choose which timezone to use for the value.
|
|
912
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
913
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
914
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
915
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
916
|
+
*/
|
|
917
|
+
timezone: e.string,
|
|
918
|
+
/**
|
|
919
|
+
* The selected value.
|
|
920
|
+
* Used when the component is controlled.
|
|
921
|
+
*/
|
|
922
|
+
value: e.any,
|
|
923
|
+
/**
|
|
924
|
+
* The visible view.
|
|
925
|
+
* Used when the component view is controlled.
|
|
926
|
+
* Must be a valid option from `views` list.
|
|
927
|
+
*/
|
|
928
|
+
view: e.oneOf(["hours", "minutes", "seconds"]),
|
|
929
|
+
/**
|
|
930
|
+
* Available views.
|
|
931
|
+
* @default ['hours', 'minutes']
|
|
932
|
+
*/
|
|
933
|
+
views: e.arrayOf(e.oneOf(["hours", "minutes", "seconds"]).isRequired)
|
|
934
|
+
});
|
|
935
|
+
function Wt(o) {
|
|
936
|
+
return be("MuiDigitalClock", o);
|
|
937
|
+
}
|
|
938
|
+
const qt = fe("MuiDigitalClock", ["root", "list", "item"]), Ut = ["ampm", "timeStep", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "onChange", "view", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "views", "skipDisabled", "timezone"], Yt = (o) => {
|
|
939
|
+
const {
|
|
940
|
+
classes: t
|
|
941
|
+
} = o;
|
|
942
|
+
return ue({
|
|
943
|
+
root: ["root"],
|
|
944
|
+
list: ["list"],
|
|
945
|
+
item: ["item"]
|
|
946
|
+
}, Wt, t);
|
|
947
|
+
}, Kt = $(Ke, {
|
|
948
|
+
name: "MuiDigitalClock",
|
|
949
|
+
slot: "Root",
|
|
950
|
+
overridesResolver: (o, t) => t.root
|
|
951
|
+
})(({
|
|
952
|
+
ownerState: o
|
|
953
|
+
}) => ({
|
|
954
|
+
overflowY: "auto",
|
|
955
|
+
width: "100%",
|
|
956
|
+
"@media (prefers-reduced-motion: no-preference)": {
|
|
957
|
+
scrollBehavior: o.alreadyRendered ? "smooth" : "auto"
|
|
958
|
+
},
|
|
959
|
+
maxHeight: fo
|
|
960
|
+
})), Gt = $(ho, {
|
|
961
|
+
name: "MuiDigitalClock",
|
|
962
|
+
slot: "List",
|
|
963
|
+
overridesResolver: (o, t) => t.list
|
|
964
|
+
})({
|
|
965
|
+
padding: 0
|
|
966
|
+
}), Qt = $(yo, {
|
|
967
|
+
name: "MuiDigitalClock",
|
|
968
|
+
slot: "Item",
|
|
969
|
+
overridesResolver: (o, t) => t.item
|
|
970
|
+
})(({
|
|
971
|
+
theme: o
|
|
972
|
+
}) => ({
|
|
973
|
+
padding: "8px 16px",
|
|
974
|
+
margin: "2px 4px",
|
|
975
|
+
"&:first-of-type": {
|
|
976
|
+
marginTop: 4
|
|
977
|
+
},
|
|
978
|
+
"&:hover": {
|
|
979
|
+
backgroundColor: o.vars ? `rgba(${o.vars.palette.primary.mainChannel} / ${o.vars.palette.action.hoverOpacity})` : Ee(o.palette.primary.main, o.palette.action.hoverOpacity)
|
|
980
|
+
},
|
|
981
|
+
"&.Mui-selected": {
|
|
982
|
+
backgroundColor: (o.vars || o).palette.primary.main,
|
|
983
|
+
color: (o.vars || o).palette.primary.contrastText,
|
|
984
|
+
"&:focus-visible, &:hover": {
|
|
985
|
+
backgroundColor: (o.vars || o).palette.primary.dark
|
|
986
|
+
}
|
|
987
|
+
},
|
|
988
|
+
"&.Mui-focusVisible": {
|
|
989
|
+
backgroundColor: o.vars ? `rgba(${o.vars.palette.primary.mainChannel} / ${o.vars.palette.action.focusOpacity})` : Ee(o.palette.primary.main, o.palette.action.focusOpacity)
|
|
990
|
+
}
|
|
991
|
+
})), Mo = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
992
|
+
var s, n, i;
|
|
993
|
+
const r = De(), l = P.useRef(null), m = Do(a, l), d = ee({
|
|
994
|
+
props: t,
|
|
995
|
+
name: "MuiDigitalClock"
|
|
996
|
+
}), {
|
|
997
|
+
ampm: p = r.is12HourCycleInCurrentLocale(),
|
|
998
|
+
timeStep: c = 30,
|
|
999
|
+
autoFocus: u,
|
|
1000
|
+
components: C,
|
|
1001
|
+
componentsProps: k,
|
|
1002
|
+
slots: f,
|
|
1003
|
+
slotProps: D,
|
|
1004
|
+
value: w,
|
|
1005
|
+
defaultValue: S,
|
|
1006
|
+
referenceDate: x,
|
|
1007
|
+
disableIgnoringDatePartForTimeValidation: I = !1,
|
|
1008
|
+
maxTime: v,
|
|
1009
|
+
minTime: h,
|
|
1010
|
+
disableFuture: L,
|
|
1011
|
+
disablePast: O,
|
|
1012
|
+
minutesStep: V = 1,
|
|
1013
|
+
shouldDisableClock: j,
|
|
1014
|
+
shouldDisableTime: A,
|
|
1015
|
+
onChange: H,
|
|
1016
|
+
view: z,
|
|
1017
|
+
openTo: U,
|
|
1018
|
+
onViewChange: Y,
|
|
1019
|
+
focusedView: K,
|
|
1020
|
+
onFocusedViewChange: oe,
|
|
1021
|
+
className: Te,
|
|
1022
|
+
disabled: N,
|
|
1023
|
+
readOnly: B,
|
|
1024
|
+
views: te = ["hours"],
|
|
1025
|
+
skipDisabled: G = !1,
|
|
1026
|
+
timezone: X
|
|
1027
|
+
} = d, W = Z(d, Ut), {
|
|
1028
|
+
value: R,
|
|
1029
|
+
handleValueChange: _,
|
|
1030
|
+
timezone: de
|
|
1031
|
+
} = Ge({
|
|
1032
|
+
name: "DigitalClock",
|
|
1033
|
+
timezone: X,
|
|
1034
|
+
value: w,
|
|
1035
|
+
defaultValue: S,
|
|
1036
|
+
onChange: H,
|
|
1037
|
+
valueManager: Oe
|
|
1038
|
+
}), se = Pe(), le = Qe(de), ne = P.useMemo(() => b({}, d, {
|
|
1039
|
+
alreadyRendered: !!l.current
|
|
1040
|
+
}), [d]), me = Yt(ne), ie = (s = (n = f == null ? void 0 : f.digitalClockItem) != null ? n : C == null ? void 0 : C.DigitalClockItem) != null ? s : Qt, Q = vo({
|
|
1041
|
+
elementType: ie,
|
|
1042
|
+
externalSlotProps: (i = D == null ? void 0 : D.digitalClockItem) != null ? i : k == null ? void 0 : k.digitalClockItem,
|
|
1043
|
+
ownerState: {},
|
|
1044
|
+
className: me.item
|
|
1045
|
+
}), ge = eo({
|
|
1046
|
+
value: R,
|
|
1047
|
+
referenceDate: x,
|
|
1048
|
+
utils: r,
|
|
1049
|
+
props: d,
|
|
1050
|
+
timezone: de
|
|
1051
|
+
}), q = He((T) => _(T, "finish", "hours")), {
|
|
1052
|
+
setValueAndGoToNextView: ae
|
|
1053
|
+
} = Je({
|
|
1054
|
+
view: z,
|
|
1055
|
+
views: te,
|
|
1056
|
+
openTo: U,
|
|
1057
|
+
onViewChange: Y,
|
|
1058
|
+
onChange: q,
|
|
1059
|
+
focusedView: K,
|
|
1060
|
+
onFocusedViewChange: oe
|
|
1061
|
+
}), we = He((T) => {
|
|
1062
|
+
ae(T, "finish");
|
|
1063
|
+
});
|
|
1064
|
+
P.useEffect(() => {
|
|
1065
|
+
if (l.current === null)
|
|
1066
|
+
return;
|
|
1067
|
+
const T = l.current.querySelector('[role="listbox"] [role="option"][aria-selected="true"]');
|
|
1068
|
+
if (!T)
|
|
1069
|
+
return;
|
|
1070
|
+
const g = T.offsetTop;
|
|
1071
|
+
l.current.scrollTop = g - 4;
|
|
1072
|
+
});
|
|
1073
|
+
const re = P.useCallback((T) => {
|
|
1074
|
+
const g = ze(I, r), F = () => !(h && g(h, T) || v && g(T, v) || L && g(T, le) || O && g(le, T)), ce = () => r.getMinutes(T) % V !== 0 || j != null && j(r.toJsDate(T).getTime(), "hours") ? !1 : A ? !A(T, "hours") : !0;
|
|
1075
|
+
return !F() || !ce();
|
|
1076
|
+
}, [I, r, h, v, L, le, O, V, j, A]), Re = P.useMemo(() => {
|
|
1077
|
+
const T = r.startOfDay(ge);
|
|
1078
|
+
return [T, ...Array.from({
|
|
1079
|
+
length: Math.ceil(24 * 60 / c) - 1
|
|
1080
|
+
}, (g, F) => r.addMinutes(T, c * (F + 1)))];
|
|
1081
|
+
}, [ge, c, r]);
|
|
1082
|
+
return /* @__PURE__ */ y(Kt, b({
|
|
1083
|
+
ref: m,
|
|
1084
|
+
className: he(me.root, Te),
|
|
1085
|
+
ownerState: ne
|
|
1086
|
+
}, W, {
|
|
1087
|
+
children: /* @__PURE__ */ y(Gt, {
|
|
1088
|
+
autoFocusItem: u || !!K,
|
|
1089
|
+
role: "listbox",
|
|
1090
|
+
"aria-label": se.timePickerToolbarTitle,
|
|
1091
|
+
className: me.list,
|
|
1092
|
+
children: Re.map((T) => {
|
|
1093
|
+
if (G && re(T))
|
|
1094
|
+
return null;
|
|
1095
|
+
const g = r.isEqual(T, R);
|
|
1096
|
+
return /* @__PURE__ */ y(ie, b({
|
|
1097
|
+
onClick: () => !B && we(T),
|
|
1098
|
+
selected: g,
|
|
1099
|
+
disabled: N || re(T),
|
|
1100
|
+
disableRipple: B,
|
|
1101
|
+
role: "option",
|
|
1102
|
+
"aria-disabled": B,
|
|
1103
|
+
"aria-selected": g
|
|
1104
|
+
}, Q, {
|
|
1105
|
+
children: r.format(T, p ? "fullTime12h" : "fullTime24h")
|
|
1106
|
+
}), r.toISO(T));
|
|
1107
|
+
})
|
|
1108
|
+
})
|
|
1109
|
+
}));
|
|
1110
|
+
});
|
|
1111
|
+
process.env.NODE_ENV !== "production" && (Mo.propTypes = {
|
|
1112
|
+
// ----------------------------- Warning --------------------------------
|
|
1113
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
1114
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
1115
|
+
// ----------------------------------------------------------------------
|
|
1116
|
+
/**
|
|
1117
|
+
* 12h/24h view for hour selection clock.
|
|
1118
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
1119
|
+
*/
|
|
1120
|
+
ampm: e.bool,
|
|
1121
|
+
/**
|
|
1122
|
+
* If `true`, the main element is focused during the first mount.
|
|
1123
|
+
* This main element is:
|
|
1124
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
1125
|
+
* - the `input` element if there is a field rendered.
|
|
1126
|
+
*/
|
|
1127
|
+
autoFocus: e.bool,
|
|
1128
|
+
/**
|
|
1129
|
+
* Override or extend the styles applied to the component.
|
|
1130
|
+
*/
|
|
1131
|
+
classes: e.object,
|
|
1132
|
+
className: e.string,
|
|
1133
|
+
/**
|
|
1134
|
+
* Overrideable components.
|
|
1135
|
+
* @default {}
|
|
1136
|
+
* @deprecated Please use `slots`.
|
|
1137
|
+
*/
|
|
1138
|
+
components: e.object,
|
|
1139
|
+
/**
|
|
1140
|
+
* The props used for each component slot.
|
|
1141
|
+
* @default {}
|
|
1142
|
+
* @deprecated Please use `slotProps`.
|
|
1143
|
+
*/
|
|
1144
|
+
componentsProps: e.object,
|
|
1145
|
+
/**
|
|
1146
|
+
* The default selected value.
|
|
1147
|
+
* Used when the component is not controlled.
|
|
1148
|
+
*/
|
|
1149
|
+
defaultValue: e.any,
|
|
1150
|
+
/**
|
|
1151
|
+
* If `true`, the picker views and text field are disabled.
|
|
1152
|
+
* @default false
|
|
1153
|
+
*/
|
|
1154
|
+
disabled: e.bool,
|
|
1155
|
+
/**
|
|
1156
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
1157
|
+
* @default false
|
|
1158
|
+
*/
|
|
1159
|
+
disableFuture: e.bool,
|
|
1160
|
+
/**
|
|
1161
|
+
* Do not ignore date part when validating min/max time.
|
|
1162
|
+
* @default false
|
|
1163
|
+
*/
|
|
1164
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
1165
|
+
/**
|
|
1166
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
1167
|
+
* @default false
|
|
1168
|
+
*/
|
|
1169
|
+
disablePast: e.bool,
|
|
1170
|
+
/**
|
|
1171
|
+
* Controlled focused view.
|
|
1172
|
+
*/
|
|
1173
|
+
focusedView: e.oneOf(["hours"]),
|
|
1174
|
+
/**
|
|
1175
|
+
* Maximal selectable time.
|
|
1176
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
1177
|
+
*/
|
|
1178
|
+
maxTime: e.any,
|
|
1179
|
+
/**
|
|
1180
|
+
* Minimal selectable time.
|
|
1181
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
1182
|
+
*/
|
|
1183
|
+
minTime: e.any,
|
|
1184
|
+
/**
|
|
1185
|
+
* Step over minutes.
|
|
1186
|
+
* @default 1
|
|
1187
|
+
*/
|
|
1188
|
+
minutesStep: e.number,
|
|
1189
|
+
/**
|
|
1190
|
+
* Callback fired when the value changes.
|
|
1191
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
1192
|
+
* @template TView The view type. Will be one of date or time views.
|
|
1193
|
+
* @param {TValue} value The new value.
|
|
1194
|
+
* @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
|
|
1195
|
+
* @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
|
|
1196
|
+
*/
|
|
1197
|
+
onChange: e.func,
|
|
1198
|
+
/**
|
|
1199
|
+
* Callback fired on focused view change.
|
|
1200
|
+
* @template TView
|
|
1201
|
+
* @param {TView} view The new view to focus or not.
|
|
1202
|
+
* @param {boolean} hasFocus `true` if the view should be focused.
|
|
1203
|
+
*/
|
|
1204
|
+
onFocusedViewChange: e.func,
|
|
1205
|
+
/**
|
|
1206
|
+
* Callback fired on view change.
|
|
1207
|
+
* @template TView
|
|
1208
|
+
* @param {TView} view The new view.
|
|
1209
|
+
*/
|
|
1210
|
+
onViewChange: e.func,
|
|
1211
|
+
/**
|
|
1212
|
+
* The default visible view.
|
|
1213
|
+
* Used when the component view is not controlled.
|
|
1214
|
+
* Must be a valid option from `views` list.
|
|
1215
|
+
*/
|
|
1216
|
+
openTo: e.oneOf(["hours"]),
|
|
1217
|
+
/**
|
|
1218
|
+
* If `true`, the picker views and text field are read-only.
|
|
1219
|
+
* @default false
|
|
1220
|
+
*/
|
|
1221
|
+
readOnly: e.bool,
|
|
1222
|
+
/**
|
|
1223
|
+
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
1224
|
+
* @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
|
|
1225
|
+
*/
|
|
1226
|
+
referenceDate: e.any,
|
|
1227
|
+
/**
|
|
1228
|
+
* Disable specific clock time.
|
|
1229
|
+
* @param {number} clockValue The value to check.
|
|
1230
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
1231
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
1232
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
1233
|
+
*/
|
|
1234
|
+
shouldDisableClock: e.func,
|
|
1235
|
+
/**
|
|
1236
|
+
* Disable specific time.
|
|
1237
|
+
* @template TDate
|
|
1238
|
+
* @param {TDate} value The value to check.
|
|
1239
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
1240
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
1241
|
+
*/
|
|
1242
|
+
shouldDisableTime: e.func,
|
|
1243
|
+
/**
|
|
1244
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
1245
|
+
* @default false
|
|
1246
|
+
*/
|
|
1247
|
+
skipDisabled: e.bool,
|
|
1248
|
+
/**
|
|
1249
|
+
* The props used for each component slot.
|
|
1250
|
+
* @default {}
|
|
1251
|
+
*/
|
|
1252
|
+
slotProps: e.object,
|
|
1253
|
+
/**
|
|
1254
|
+
* Overrideable component slots.
|
|
1255
|
+
* @default {}
|
|
1256
|
+
*/
|
|
1257
|
+
slots: e.object,
|
|
1258
|
+
/**
|
|
1259
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
1260
|
+
*/
|
|
1261
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
1262
|
+
/**
|
|
1263
|
+
* The time steps between two time options.
|
|
1264
|
+
* For example, if `timeStep = 45`, then the available time options will be `[00:00, 00:45, 01:30, 02:15, 03:00, etc.]`.
|
|
1265
|
+
* @default 30
|
|
1266
|
+
*/
|
|
1267
|
+
timeStep: e.number,
|
|
1268
|
+
/**
|
|
1269
|
+
* Choose which timezone to use for the value.
|
|
1270
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
1271
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
1272
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
1273
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
1274
|
+
*/
|
|
1275
|
+
timezone: e.string,
|
|
1276
|
+
/**
|
|
1277
|
+
* The selected value.
|
|
1278
|
+
* Used when the component is controlled.
|
|
1279
|
+
*/
|
|
1280
|
+
value: e.any,
|
|
1281
|
+
/**
|
|
1282
|
+
* The visible view.
|
|
1283
|
+
* Used when the component view is controlled.
|
|
1284
|
+
* Must be a valid option from `views` list.
|
|
1285
|
+
*/
|
|
1286
|
+
view: e.oneOf(["hours"]),
|
|
1287
|
+
/**
|
|
1288
|
+
* Available views.
|
|
1289
|
+
* @default ['hours']
|
|
1290
|
+
*/
|
|
1291
|
+
views: e.arrayOf(e.oneOf(["hours"]))
|
|
1292
|
+
});
|
|
1293
|
+
function Jt(o) {
|
|
1294
|
+
return be("MuiMultiSectionDigitalClock", o);
|
|
1295
|
+
}
|
|
1296
|
+
fe("MuiMultiSectionDigitalClock", ["root"]);
|
|
1297
|
+
function Xt(o) {
|
|
1298
|
+
return be("MuiMultiSectionDigitalClockSection", o);
|
|
1299
|
+
}
|
|
1300
|
+
const Zt = fe("MuiMultiSectionDigitalClockSection", ["root", "item"]), es = ["autoFocus", "onChange", "className", "disabled", "readOnly", "items", "active", "slots", "slotProps", "skipDisabled"], os = (o) => {
|
|
1301
|
+
const {
|
|
1302
|
+
classes: t
|
|
1303
|
+
} = o;
|
|
1304
|
+
return ue({
|
|
1305
|
+
root: ["root"],
|
|
1306
|
+
item: ["item"]
|
|
1307
|
+
}, Xt, t);
|
|
1308
|
+
}, ts = $(ho, {
|
|
1309
|
+
name: "MuiMultiSectionDigitalClockSection",
|
|
1310
|
+
slot: "Root",
|
|
1311
|
+
overridesResolver: (o, t) => t.root
|
|
1312
|
+
})(({
|
|
1313
|
+
theme: o,
|
|
1314
|
+
ownerState: t
|
|
1315
|
+
}) => ({
|
|
1316
|
+
maxHeight: fo,
|
|
1317
|
+
width: 56,
|
|
1318
|
+
padding: 0,
|
|
1319
|
+
overflow: "hidden",
|
|
1320
|
+
"@media (prefers-reduced-motion: no-preference)": {
|
|
1321
|
+
scrollBehavior: t.alreadyRendered ? "smooth" : "auto"
|
|
1322
|
+
},
|
|
1323
|
+
"@media (pointer: fine)": {
|
|
1324
|
+
"&:hover": {
|
|
1325
|
+
overflowY: "auto"
|
|
1326
|
+
}
|
|
1327
|
+
},
|
|
1328
|
+
"@media (pointer: none), (pointer: coarse)": {
|
|
1329
|
+
overflowY: "auto"
|
|
1330
|
+
},
|
|
1331
|
+
"&:not(:first-of-type)": {
|
|
1332
|
+
borderLeft: `1px solid ${(o.vars || o).palette.divider}`
|
|
1333
|
+
},
|
|
1334
|
+
"&:after": {
|
|
1335
|
+
display: "block",
|
|
1336
|
+
content: '""',
|
|
1337
|
+
// subtracting the height of one item, extra margin and borders to make sure the max height is correct
|
|
1338
|
+
height: "calc(100% - 40px - 6px)"
|
|
1339
|
+
}
|
|
1340
|
+
})), ss = $(yo, {
|
|
1341
|
+
name: "MuiMultiSectionDigitalClockSection",
|
|
1342
|
+
slot: "Item",
|
|
1343
|
+
overridesResolver: (o, t) => t.item
|
|
1344
|
+
})(({
|
|
1345
|
+
theme: o
|
|
1346
|
+
}) => ({
|
|
1347
|
+
padding: 8,
|
|
1348
|
+
margin: "2px 4px",
|
|
1349
|
+
width: Fe,
|
|
1350
|
+
justifyContent: "center",
|
|
1351
|
+
"&:first-of-type": {
|
|
1352
|
+
marginTop: 4
|
|
1353
|
+
},
|
|
1354
|
+
"&:hover": {
|
|
1355
|
+
backgroundColor: o.vars ? `rgba(${o.vars.palette.primary.mainChannel} / ${o.vars.palette.action.hoverOpacity})` : Ee(o.palette.primary.main, o.palette.action.hoverOpacity)
|
|
1356
|
+
},
|
|
1357
|
+
"&.Mui-selected": {
|
|
1358
|
+
backgroundColor: (o.vars || o).palette.primary.main,
|
|
1359
|
+
color: (o.vars || o).palette.primary.contrastText,
|
|
1360
|
+
"&:focus-visible, &:hover": {
|
|
1361
|
+
backgroundColor: (o.vars || o).palette.primary.dark
|
|
1362
|
+
}
|
|
1363
|
+
},
|
|
1364
|
+
"&.Mui-focusVisible": {
|
|
1365
|
+
backgroundColor: o.vars ? `rgba(${o.vars.palette.primary.mainChannel} / ${o.vars.palette.action.focusOpacity})` : Ee(o.palette.primary.main, o.palette.action.focusOpacity)
|
|
1366
|
+
}
|
|
1367
|
+
})), ns = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
1368
|
+
var s;
|
|
1369
|
+
const n = P.useRef(null), i = Do(a, n), r = P.useRef(null), l = ee({
|
|
1370
|
+
props: t,
|
|
1371
|
+
name: "MuiMultiSectionDigitalClockSection"
|
|
1372
|
+
}), {
|
|
1373
|
+
autoFocus: m,
|
|
1374
|
+
onChange: d,
|
|
1375
|
+
className: p,
|
|
1376
|
+
disabled: c,
|
|
1377
|
+
readOnly: u,
|
|
1378
|
+
items: C,
|
|
1379
|
+
active: k,
|
|
1380
|
+
slots: f,
|
|
1381
|
+
slotProps: D,
|
|
1382
|
+
skipDisabled: w
|
|
1383
|
+
} = l, S = Z(l, es), x = P.useMemo(() => b({}, l, {
|
|
1384
|
+
alreadyRendered: !!n.current
|
|
1385
|
+
}), [l]), I = os(x), v = (s = f == null ? void 0 : f.digitalClockSectionItem) != null ? s : ss;
|
|
1386
|
+
return P.useEffect(() => {
|
|
1387
|
+
if (n.current === null)
|
|
1388
|
+
return;
|
|
1389
|
+
const h = n.current.querySelector('[role="option"][aria-selected="true"]');
|
|
1390
|
+
if (k && m && h && h.focus(), !h || r.current === h)
|
|
1391
|
+
return;
|
|
1392
|
+
r.current = h;
|
|
1393
|
+
const L = h.offsetTop;
|
|
1394
|
+
n.current.scrollTop = L - 4;
|
|
1395
|
+
}), /* @__PURE__ */ y(ts, b({
|
|
1396
|
+
ref: i,
|
|
1397
|
+
className: he(I.root, p),
|
|
1398
|
+
ownerState: x,
|
|
1399
|
+
autoFocusItem: m && k,
|
|
1400
|
+
role: "listbox"
|
|
1401
|
+
}, S, {
|
|
1402
|
+
children: C.map((h) => {
|
|
1403
|
+
var L, O;
|
|
1404
|
+
if (w && (L = h.isDisabled) != null && L.call(h, h.value))
|
|
1405
|
+
return null;
|
|
1406
|
+
const V = h.isSelected(h.value);
|
|
1407
|
+
return /* @__PURE__ */ y(v, b({
|
|
1408
|
+
onClick: () => !u && d(h.value),
|
|
1409
|
+
selected: V,
|
|
1410
|
+
disabled: c || ((O = h.isDisabled) == null ? void 0 : O.call(h, h.value)),
|
|
1411
|
+
disableRipple: u,
|
|
1412
|
+
role: "option",
|
|
1413
|
+
"aria-disabled": u,
|
|
1414
|
+
"aria-label": h.ariaLabel,
|
|
1415
|
+
"aria-selected": V,
|
|
1416
|
+
className: I.item
|
|
1417
|
+
}, D == null ? void 0 : D.digitalClockSectionItem, {
|
|
1418
|
+
children: h.label
|
|
1419
|
+
}), h.label);
|
|
1420
|
+
})
|
|
1421
|
+
}));
|
|
1422
|
+
}), as = ({
|
|
1423
|
+
now: o,
|
|
1424
|
+
value: t,
|
|
1425
|
+
utils: a,
|
|
1426
|
+
ampm: s,
|
|
1427
|
+
isDisabled: n,
|
|
1428
|
+
resolveAriaLabel: i,
|
|
1429
|
+
timeStep: r
|
|
1430
|
+
}) => {
|
|
1431
|
+
const l = t ? a.getHours(t) : null, m = [], d = (c) => l === null ? !1 : s ? c === 12 ? l === 12 || l === 0 : l === c || l - 12 === c : l === c, p = s ? 11 : 23;
|
|
1432
|
+
for (let c = 0; c <= p; c += r) {
|
|
1433
|
+
let u = a.format(a.setHours(o, c), s ? "hours12h" : "hours24h");
|
|
1434
|
+
const C = i(parseInt(u, 10).toString());
|
|
1435
|
+
u = a.formatNumber(u), m.push({
|
|
1436
|
+
value: c,
|
|
1437
|
+
label: u,
|
|
1438
|
+
isSelected: d,
|
|
1439
|
+
isDisabled: n,
|
|
1440
|
+
ariaLabel: C
|
|
1441
|
+
});
|
|
1442
|
+
}
|
|
1443
|
+
return m;
|
|
1444
|
+
}, co = ({
|
|
1445
|
+
value: o,
|
|
1446
|
+
utils: t,
|
|
1447
|
+
isDisabled: a,
|
|
1448
|
+
timeStep: s,
|
|
1449
|
+
resolveLabel: n,
|
|
1450
|
+
resolveAriaLabel: i,
|
|
1451
|
+
hasValue: r = !0
|
|
1452
|
+
}) => {
|
|
1453
|
+
const l = (m) => o === null ? !1 : r && o === m;
|
|
1454
|
+
return [...Array.from({
|
|
1455
|
+
length: Math.ceil(60 / s)
|
|
1456
|
+
}, (m, d) => {
|
|
1457
|
+
const p = s * d;
|
|
1458
|
+
return {
|
|
1459
|
+
value: p,
|
|
1460
|
+
label: t.formatNumber(n(p)),
|
|
1461
|
+
isDisabled: a,
|
|
1462
|
+
isSelected: l,
|
|
1463
|
+
ariaLabel: i(p.toString())
|
|
1464
|
+
};
|
|
1465
|
+
})];
|
|
1466
|
+
}, is = ["ampm", "timeSteps", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "skipDisabled", "timezone"], rs = (o) => {
|
|
1467
|
+
const {
|
|
1468
|
+
classes: t
|
|
1469
|
+
} = o;
|
|
1470
|
+
return ue({
|
|
1471
|
+
root: ["root"]
|
|
1472
|
+
}, Jt, t);
|
|
1473
|
+
}, ls = $(Ke, {
|
|
1474
|
+
name: "MuiMultiSectionDigitalClock",
|
|
1475
|
+
slot: "Root",
|
|
1476
|
+
overridesResolver: (o, t) => t.root
|
|
1477
|
+
})(({
|
|
1478
|
+
theme: o
|
|
1479
|
+
}) => ({
|
|
1480
|
+
display: "flex",
|
|
1481
|
+
flexDirection: "row",
|
|
1482
|
+
width: "100%",
|
|
1483
|
+
borderBottom: `1px solid ${(o.vars || o).palette.divider}`
|
|
1484
|
+
})), So = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
1485
|
+
const s = De(), n = ee({
|
|
1486
|
+
props: t,
|
|
1487
|
+
name: "MuiMultiSectionDigitalClock"
|
|
1488
|
+
}), {
|
|
1489
|
+
ampm: i = s.is12HourCycleInCurrentLocale(),
|
|
1490
|
+
timeSteps: r,
|
|
1491
|
+
autoFocus: l,
|
|
1492
|
+
components: m,
|
|
1493
|
+
componentsProps: d,
|
|
1494
|
+
slots: p,
|
|
1495
|
+
slotProps: c,
|
|
1496
|
+
value: u,
|
|
1497
|
+
defaultValue: C,
|
|
1498
|
+
referenceDate: k,
|
|
1499
|
+
disableIgnoringDatePartForTimeValidation: f = !1,
|
|
1500
|
+
maxTime: D,
|
|
1501
|
+
minTime: w,
|
|
1502
|
+
disableFuture: S,
|
|
1503
|
+
disablePast: x,
|
|
1504
|
+
minutesStep: I = 1,
|
|
1505
|
+
shouldDisableClock: v,
|
|
1506
|
+
shouldDisableTime: h,
|
|
1507
|
+
onChange: L,
|
|
1508
|
+
view: O,
|
|
1509
|
+
views: V = ["hours", "minutes"],
|
|
1510
|
+
openTo: j,
|
|
1511
|
+
onViewChange: A,
|
|
1512
|
+
focusedView: H,
|
|
1513
|
+
onFocusedViewChange: z,
|
|
1514
|
+
className: U,
|
|
1515
|
+
disabled: Y,
|
|
1516
|
+
readOnly: K,
|
|
1517
|
+
skipDisabled: oe = !1,
|
|
1518
|
+
timezone: Te
|
|
1519
|
+
} = n, N = Z(n, is), {
|
|
1520
|
+
value: B,
|
|
1521
|
+
handleValueChange: te,
|
|
1522
|
+
timezone: G
|
|
1523
|
+
} = Ge({
|
|
1524
|
+
name: "MultiSectionDigitalClock",
|
|
1525
|
+
timezone: Te,
|
|
1526
|
+
value: u,
|
|
1527
|
+
defaultValue: C,
|
|
1528
|
+
onChange: L,
|
|
1529
|
+
valueManager: Oe
|
|
1530
|
+
}), X = Pe(), W = Qe(G), R = P.useMemo(() => b({
|
|
1531
|
+
hours: 1,
|
|
1532
|
+
minutes: 5,
|
|
1533
|
+
seconds: 5
|
|
1534
|
+
}, r), [r]), _ = eo({
|
|
1535
|
+
value: B,
|
|
1536
|
+
referenceDate: k,
|
|
1537
|
+
utils: s,
|
|
1538
|
+
props: n,
|
|
1539
|
+
timezone: G
|
|
1540
|
+
}), de = He((T, g, F) => te(T, g, F)), se = P.useMemo(() => !i || !V.includes("hours") || V.includes("meridiem") ? V : [...V, "meridiem"], [i, V]), {
|
|
1541
|
+
view: le,
|
|
1542
|
+
setValueAndGoToNextView: ne,
|
|
1543
|
+
focusedView: me
|
|
1544
|
+
} = Je({
|
|
1545
|
+
view: O,
|
|
1546
|
+
views: se,
|
|
1547
|
+
openTo: j,
|
|
1548
|
+
onViewChange: A,
|
|
1549
|
+
onChange: de,
|
|
1550
|
+
focusedView: H,
|
|
1551
|
+
onFocusedViewChange: z
|
|
1552
|
+
}), ie = He((T) => {
|
|
1553
|
+
ne(T, "finish", "meridiem");
|
|
1554
|
+
}), {
|
|
1555
|
+
meridiemMode: Q,
|
|
1556
|
+
handleMeridiemChange: ge
|
|
1557
|
+
} = Xe(_, i, ie, "finish"), q = P.useCallback((T, g) => {
|
|
1558
|
+
const F = ze(f, s), ce = g === "hours" || g === "minutes" && se.includes("seconds"), xe = ({
|
|
1559
|
+
start: M,
|
|
1560
|
+
end: E
|
|
1561
|
+
}) => !(w && F(w, E) || D && F(M, D) || S && F(M, W) || x && F(W, ce ? E : M)), Me = (M, E = 1) => {
|
|
1562
|
+
if (M % E !== 0 || v != null && v(M, g))
|
|
1563
|
+
return !1;
|
|
1564
|
+
if (h)
|
|
1565
|
+
switch (g) {
|
|
1566
|
+
case "hours":
|
|
1567
|
+
return !h(s.setHours(_, M), "hours");
|
|
1568
|
+
case "minutes":
|
|
1569
|
+
return !h(s.setMinutes(_, M), "minutes");
|
|
1570
|
+
case "seconds":
|
|
1571
|
+
return !h(s.setSeconds(_, M), "seconds");
|
|
1572
|
+
default:
|
|
1573
|
+
return !1;
|
|
1574
|
+
}
|
|
1575
|
+
return !0;
|
|
1576
|
+
};
|
|
1577
|
+
switch (g) {
|
|
1578
|
+
case "hours": {
|
|
1579
|
+
const M = Ae(T, Q, i), E = s.setHours(_, M), Ce = s.setSeconds(s.setMinutes(E, 0), 0), qe = s.setSeconds(s.setMinutes(E, 59), 59);
|
|
1580
|
+
return !xe({
|
|
1581
|
+
start: Ce,
|
|
1582
|
+
end: qe
|
|
1583
|
+
}) || !Me(M);
|
|
1584
|
+
}
|
|
1585
|
+
case "minutes": {
|
|
1586
|
+
const M = s.setMinutes(_, T), E = s.setSeconds(M, 0), Ce = s.setSeconds(M, 59);
|
|
1587
|
+
return !xe({
|
|
1588
|
+
start: E,
|
|
1589
|
+
end: Ce
|
|
1590
|
+
}) || !Me(T, I);
|
|
1591
|
+
}
|
|
1592
|
+
case "seconds": {
|
|
1593
|
+
const M = s.setSeconds(_, T);
|
|
1594
|
+
return !xe({
|
|
1595
|
+
start: M,
|
|
1596
|
+
end: M
|
|
1597
|
+
}) || !Me(T);
|
|
1598
|
+
}
|
|
1599
|
+
default:
|
|
1600
|
+
throw new Error("not supported");
|
|
1601
|
+
}
|
|
1602
|
+
}, [i, _, f, D, Q, w, I, v, h, s, S, x, W, se]), ae = P.useCallback((T) => {
|
|
1603
|
+
switch (T) {
|
|
1604
|
+
case "hours":
|
|
1605
|
+
return {
|
|
1606
|
+
onChange: (g) => {
|
|
1607
|
+
const F = Ae(g, Q, i);
|
|
1608
|
+
ne(s.setHours(_, F), "finish", "hours");
|
|
1609
|
+
},
|
|
1610
|
+
items: as({
|
|
1611
|
+
now: W,
|
|
1612
|
+
value: B,
|
|
1613
|
+
ampm: i,
|
|
1614
|
+
utils: s,
|
|
1615
|
+
isDisabled: (g) => Y || q(g, "hours"),
|
|
1616
|
+
timeStep: R.hours,
|
|
1617
|
+
resolveAriaLabel: X.hoursClockNumberText
|
|
1618
|
+
})
|
|
1619
|
+
};
|
|
1620
|
+
case "minutes":
|
|
1621
|
+
return {
|
|
1622
|
+
onChange: (g) => {
|
|
1623
|
+
ne(s.setMinutes(_, g), "finish", "minutes");
|
|
1624
|
+
},
|
|
1625
|
+
items: co({
|
|
1626
|
+
value: s.getMinutes(_),
|
|
1627
|
+
utils: s,
|
|
1628
|
+
isDisabled: (g) => Y || q(g, "minutes"),
|
|
1629
|
+
resolveLabel: (g) => s.format(s.setMinutes(W, g), "minutes"),
|
|
1630
|
+
timeStep: R.minutes,
|
|
1631
|
+
hasValue: !!B,
|
|
1632
|
+
resolveAriaLabel: X.minutesClockNumberText
|
|
1633
|
+
})
|
|
1634
|
+
};
|
|
1635
|
+
case "seconds":
|
|
1636
|
+
return {
|
|
1637
|
+
onChange: (g) => {
|
|
1638
|
+
ne(s.setSeconds(_, g), "finish", "seconds");
|
|
1639
|
+
},
|
|
1640
|
+
items: co({
|
|
1641
|
+
value: s.getSeconds(_),
|
|
1642
|
+
utils: s,
|
|
1643
|
+
isDisabled: (g) => Y || q(g, "seconds"),
|
|
1644
|
+
resolveLabel: (g) => s.format(s.setSeconds(W, g), "seconds"),
|
|
1645
|
+
timeStep: R.seconds,
|
|
1646
|
+
hasValue: !!B,
|
|
1647
|
+
resolveAriaLabel: X.secondsClockNumberText
|
|
1648
|
+
})
|
|
1649
|
+
};
|
|
1650
|
+
case "meridiem": {
|
|
1651
|
+
const g = ye(s, "am"), F = ye(s, "pm");
|
|
1652
|
+
return {
|
|
1653
|
+
onChange: ge,
|
|
1654
|
+
items: [{
|
|
1655
|
+
value: "am",
|
|
1656
|
+
label: g,
|
|
1657
|
+
isSelected: () => !!B && Q === "am",
|
|
1658
|
+
ariaLabel: g
|
|
1659
|
+
}, {
|
|
1660
|
+
value: "pm",
|
|
1661
|
+
label: F,
|
|
1662
|
+
isSelected: () => !!B && Q === "pm",
|
|
1663
|
+
ariaLabel: F
|
|
1664
|
+
}]
|
|
1665
|
+
};
|
|
1666
|
+
}
|
|
1667
|
+
default:
|
|
1668
|
+
throw new Error(`Unknown view: ${T} found.`);
|
|
1669
|
+
}
|
|
1670
|
+
}, [W, B, i, s, R.hours, R.minutes, R.seconds, X.hoursClockNumberText, X.minutesClockNumberText, X.secondsClockNumberText, Q, ne, _, Y, q, ge]), we = P.useMemo(() => se.reduce((T, g) => b({}, T, {
|
|
1671
|
+
[g]: ae(g)
|
|
1672
|
+
}), {}), [se, ae]), re = n, Re = rs(re);
|
|
1673
|
+
return /* @__PURE__ */ y(ls, b({
|
|
1674
|
+
ref: a,
|
|
1675
|
+
className: he(Re.root, U),
|
|
1676
|
+
ownerState: re,
|
|
1677
|
+
role: "group"
|
|
1678
|
+
}, N, {
|
|
1679
|
+
children: Object.entries(we).map(([T, g]) => /* @__PURE__ */ y(ns, {
|
|
1680
|
+
items: g.items,
|
|
1681
|
+
onChange: g.onChange,
|
|
1682
|
+
active: le === T,
|
|
1683
|
+
autoFocus: l ?? me === T,
|
|
1684
|
+
disabled: Y,
|
|
1685
|
+
readOnly: K,
|
|
1686
|
+
slots: p ?? m,
|
|
1687
|
+
slotProps: c ?? d,
|
|
1688
|
+
skipDisabled: oe,
|
|
1689
|
+
"aria-label": X.selectViewText(T)
|
|
1690
|
+
}, T))
|
|
1691
|
+
}));
|
|
1692
|
+
});
|
|
1693
|
+
process.env.NODE_ENV !== "production" && (So.propTypes = {
|
|
1694
|
+
// ----------------------------- Warning --------------------------------
|
|
1695
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
1696
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
1697
|
+
// ----------------------------------------------------------------------
|
|
1698
|
+
/**
|
|
1699
|
+
* 12h/24h view for hour selection clock.
|
|
1700
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
1701
|
+
*/
|
|
1702
|
+
ampm: e.bool,
|
|
1703
|
+
/**
|
|
1704
|
+
* If `true`, the main element is focused during the first mount.
|
|
1705
|
+
* This main element is:
|
|
1706
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
1707
|
+
* - the `input` element if there is a field rendered.
|
|
1708
|
+
*/
|
|
1709
|
+
autoFocus: e.bool,
|
|
1710
|
+
/**
|
|
1711
|
+
* Override or extend the styles applied to the component.
|
|
1712
|
+
*/
|
|
1713
|
+
classes: e.object,
|
|
1714
|
+
className: e.string,
|
|
1715
|
+
/**
|
|
1716
|
+
* Overrideable components.
|
|
1717
|
+
* @default {}
|
|
1718
|
+
* @deprecated Please use `slots`.
|
|
1719
|
+
*/
|
|
1720
|
+
components: e.object,
|
|
1721
|
+
/**
|
|
1722
|
+
* The props used for each component slot.
|
|
1723
|
+
* @default {}
|
|
1724
|
+
* @deprecated Please use `slotProps`.
|
|
1725
|
+
*/
|
|
1726
|
+
componentsProps: e.object,
|
|
1727
|
+
/**
|
|
1728
|
+
* The default selected value.
|
|
1729
|
+
* Used when the component is not controlled.
|
|
1730
|
+
*/
|
|
1731
|
+
defaultValue: e.any,
|
|
1732
|
+
/**
|
|
1733
|
+
* If `true`, the picker views and text field are disabled.
|
|
1734
|
+
* @default false
|
|
1735
|
+
*/
|
|
1736
|
+
disabled: e.bool,
|
|
1737
|
+
/**
|
|
1738
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
1739
|
+
* @default false
|
|
1740
|
+
*/
|
|
1741
|
+
disableFuture: e.bool,
|
|
1742
|
+
/**
|
|
1743
|
+
* Do not ignore date part when validating min/max time.
|
|
1744
|
+
* @default false
|
|
1745
|
+
*/
|
|
1746
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
1747
|
+
/**
|
|
1748
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
1749
|
+
* @default false
|
|
1750
|
+
*/
|
|
1751
|
+
disablePast: e.bool,
|
|
1752
|
+
/**
|
|
1753
|
+
* Controlled focused view.
|
|
1754
|
+
*/
|
|
1755
|
+
focusedView: e.oneOf(["hours", "meridiem", "minutes", "seconds"]),
|
|
1756
|
+
/**
|
|
1757
|
+
* Maximal selectable time.
|
|
1758
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
1759
|
+
*/
|
|
1760
|
+
maxTime: e.any,
|
|
1761
|
+
/**
|
|
1762
|
+
* Minimal selectable time.
|
|
1763
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
1764
|
+
*/
|
|
1765
|
+
minTime: e.any,
|
|
1766
|
+
/**
|
|
1767
|
+
* Step over minutes.
|
|
1768
|
+
* @default 1
|
|
1769
|
+
*/
|
|
1770
|
+
minutesStep: e.number,
|
|
1771
|
+
/**
|
|
1772
|
+
* Callback fired when the value changes.
|
|
1773
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
1774
|
+
* @template TView The view type. Will be one of date or time views.
|
|
1775
|
+
* @param {TValue} value The new value.
|
|
1776
|
+
* @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
|
|
1777
|
+
* @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
|
|
1778
|
+
*/
|
|
1779
|
+
onChange: e.func,
|
|
1780
|
+
/**
|
|
1781
|
+
* Callback fired on focused view change.
|
|
1782
|
+
* @template TView
|
|
1783
|
+
* @param {TView} view The new view to focus or not.
|
|
1784
|
+
* @param {boolean} hasFocus `true` if the view should be focused.
|
|
1785
|
+
*/
|
|
1786
|
+
onFocusedViewChange: e.func,
|
|
1787
|
+
/**
|
|
1788
|
+
* Callback fired on view change.
|
|
1789
|
+
* @template TView
|
|
1790
|
+
* @param {TView} view The new view.
|
|
1791
|
+
*/
|
|
1792
|
+
onViewChange: e.func,
|
|
1793
|
+
/**
|
|
1794
|
+
* The default visible view.
|
|
1795
|
+
* Used when the component view is not controlled.
|
|
1796
|
+
* Must be a valid option from `views` list.
|
|
1797
|
+
*/
|
|
1798
|
+
openTo: e.oneOf(["hours", "meridiem", "minutes", "seconds"]),
|
|
1799
|
+
/**
|
|
1800
|
+
* If `true`, the picker views and text field are read-only.
|
|
1801
|
+
* @default false
|
|
1802
|
+
*/
|
|
1803
|
+
readOnly: e.bool,
|
|
1804
|
+
/**
|
|
1805
|
+
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
1806
|
+
* @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
|
|
1807
|
+
*/
|
|
1808
|
+
referenceDate: e.any,
|
|
1809
|
+
/**
|
|
1810
|
+
* Disable specific clock time.
|
|
1811
|
+
* @param {number} clockValue The value to check.
|
|
1812
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
1813
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
1814
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
1815
|
+
*/
|
|
1816
|
+
shouldDisableClock: e.func,
|
|
1817
|
+
/**
|
|
1818
|
+
* Disable specific time.
|
|
1819
|
+
* @template TDate
|
|
1820
|
+
* @param {TDate} value The value to check.
|
|
1821
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
1822
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
1823
|
+
*/
|
|
1824
|
+
shouldDisableTime: e.func,
|
|
1825
|
+
/**
|
|
1826
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
1827
|
+
* @default false
|
|
1828
|
+
*/
|
|
1829
|
+
skipDisabled: e.bool,
|
|
1830
|
+
/**
|
|
1831
|
+
* The props used for each component slot.
|
|
1832
|
+
* @default {}
|
|
1833
|
+
*/
|
|
1834
|
+
slotProps: e.object,
|
|
1835
|
+
/**
|
|
1836
|
+
* Overrideable component slots.
|
|
1837
|
+
* @default {}
|
|
1838
|
+
*/
|
|
1839
|
+
slots: e.object,
|
|
1840
|
+
/**
|
|
1841
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
1842
|
+
*/
|
|
1843
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
1844
|
+
/**
|
|
1845
|
+
* The time steps between two time unit options.
|
|
1846
|
+
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
1847
|
+
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
1848
|
+
*/
|
|
1849
|
+
timeSteps: e.shape({
|
|
1850
|
+
hours: e.number,
|
|
1851
|
+
minutes: e.number,
|
|
1852
|
+
seconds: e.number
|
|
1853
|
+
}),
|
|
1854
|
+
/**
|
|
1855
|
+
* Choose which timezone to use for the value.
|
|
1856
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
1857
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
1858
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
1859
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
1860
|
+
*/
|
|
1861
|
+
timezone: e.string,
|
|
1862
|
+
/**
|
|
1863
|
+
* The selected value.
|
|
1864
|
+
* Used when the component is controlled.
|
|
1865
|
+
*/
|
|
1866
|
+
value: e.any,
|
|
1867
|
+
/**
|
|
1868
|
+
* The visible view.
|
|
1869
|
+
* Used when the component view is controlled.
|
|
1870
|
+
* Must be a valid option from `views` list.
|
|
1871
|
+
*/
|
|
1872
|
+
view: e.oneOf(["hours", "meridiem", "minutes", "seconds"]),
|
|
1873
|
+
/**
|
|
1874
|
+
* Available views.
|
|
1875
|
+
* @default ['hours', 'minutes']
|
|
1876
|
+
*/
|
|
1877
|
+
views: e.arrayOf(e.oneOf(["hours", "meridiem", "minutes", "seconds"]).isRequired)
|
|
1878
|
+
});
|
|
1879
|
+
const Ne = {
|
|
1880
|
+
hours: "時間",
|
|
1881
|
+
minutes: "分",
|
|
1882
|
+
seconds: "秒",
|
|
1883
|
+
meridiem: "メリディム"
|
|
1884
|
+
}, cs = {
|
|
1885
|
+
// Calendar navigation
|
|
1886
|
+
previousMonth: "先月",
|
|
1887
|
+
nextMonth: "来月",
|
|
1888
|
+
// View navigation
|
|
1889
|
+
openPreviousView: "前の表示を開く",
|
|
1890
|
+
openNextView: "次の表示を開く",
|
|
1891
|
+
calendarViewSwitchingButtonAriaLabel: (o) => o === "year" ? "年選択表示からカレンダー表示に切り替える" : "カレンダー表示から年選択表示に切り替える",
|
|
1892
|
+
// DateRange placeholders
|
|
1893
|
+
start: "開始",
|
|
1894
|
+
end: "終了",
|
|
1895
|
+
// Action bar
|
|
1896
|
+
cancelButtonLabel: "キャンセル",
|
|
1897
|
+
clearButtonLabel: "クリア",
|
|
1898
|
+
okButtonLabel: "確定",
|
|
1899
|
+
todayButtonLabel: "今日",
|
|
1900
|
+
// Toolbar titles
|
|
1901
|
+
datePickerToolbarTitle: "日付を選択",
|
|
1902
|
+
dateTimePickerToolbarTitle: "日時を選択",
|
|
1903
|
+
timePickerToolbarTitle: "時間を選択",
|
|
1904
|
+
dateRangePickerToolbarTitle: "日付の範囲を選択",
|
|
1905
|
+
// Clock labels
|
|
1906
|
+
clockLabelText: (o, t, a) => {
|
|
1907
|
+
var s;
|
|
1908
|
+
return `${(s = Ne[o]) != null ? s : o}を選択してください ${t === null ? "時間が選択されていません" : `選択した時間は ${a.format(t, "fullTime")} です`}`;
|
|
1909
|
+
},
|
|
1910
|
+
hoursClockNumberText: (o) => `${o} ${Ne.hours}`,
|
|
1911
|
+
minutesClockNumberText: (o) => `${o} ${Ne.minutes}`,
|
|
1912
|
+
secondsClockNumberText: (o) => `${o} ${Ne.seconds}`,
|
|
1913
|
+
// Digital clock labels
|
|
1914
|
+
selectViewText: (o) => `を選択 ${Ne[o]}`,
|
|
1915
|
+
// Calendar labels
|
|
1916
|
+
calendarWeekNumberHeaderLabel: "週番号",
|
|
1917
|
+
calendarWeekNumberHeaderText: "#",
|
|
1918
|
+
calendarWeekNumberAriaLabelText: (o) => `${o}週目`,
|
|
1919
|
+
calendarWeekNumberText: (o) => `${o}`,
|
|
1920
|
+
// Open picker labels
|
|
1921
|
+
openDatePickerDialogue: (o, t) => o !== null && t.isValid(o) ? `日付を選択してください。選択した日付は ${t.format(o, "fullDate")} です` : "日付を選択してください",
|
|
1922
|
+
openTimePickerDialogue: (o, t) => o !== null && t.isValid(o) ? `時間を選択してください。選択した時間は ${t.format(o, "fullTime")} です` : "時間を選択してください",
|
|
1923
|
+
// fieldClearLabel: 'Clear value',
|
|
1924
|
+
// Table labels
|
|
1925
|
+
timeTableLabel: "時間を選択",
|
|
1926
|
+
dateTableLabel: "日付を選択",
|
|
1927
|
+
// Field section placeholders
|
|
1928
|
+
fieldYearPlaceholder: (o) => "Y".repeat(o.digitAmount),
|
|
1929
|
+
fieldMonthPlaceholder: (o) => o.contentType === "letter" ? "MMMM" : "MM",
|
|
1930
|
+
fieldDayPlaceholder: () => "DD",
|
|
1931
|
+
fieldWeekDayPlaceholder: (o) => o.contentType === "letter" ? "EEEE" : "EE",
|
|
1932
|
+
fieldHoursPlaceholder: () => "hh",
|
|
1933
|
+
fieldMinutesPlaceholder: () => "mm",
|
|
1934
|
+
fieldSecondsPlaceholder: () => "ss",
|
|
1935
|
+
fieldMeridiemPlaceholder: () => "aa"
|
|
1936
|
+
}, tn = Bo(cs);
|
|
1937
|
+
function us(o) {
|
|
1938
|
+
return be("MuiPickersToolbarText", o);
|
|
1939
|
+
}
|
|
1940
|
+
const uo = fe("MuiPickersToolbarText", ["root", "selected"]), ds = ["className", "selected", "value"], ms = (o) => {
|
|
1941
|
+
const {
|
|
1942
|
+
classes: t,
|
|
1943
|
+
selected: a
|
|
1944
|
+
} = o;
|
|
1945
|
+
return ue({
|
|
1946
|
+
root: ["root", a && "selected"]
|
|
1947
|
+
}, us, t);
|
|
1948
|
+
}, ps = $(Co, {
|
|
1949
|
+
name: "MuiPickersToolbarText",
|
|
1950
|
+
slot: "Root",
|
|
1951
|
+
overridesResolver: (o, t) => [t.root, {
|
|
1952
|
+
[`&.${uo.selected}`]: t.selected
|
|
1953
|
+
}]
|
|
1954
|
+
})(({
|
|
1955
|
+
theme: o
|
|
1956
|
+
}) => ({
|
|
1957
|
+
transition: o.transitions.create("color"),
|
|
1958
|
+
color: (o.vars || o).palette.text.secondary,
|
|
1959
|
+
[`&.${uo.selected}`]: {
|
|
1960
|
+
color: (o.vars || o).palette.text.primary
|
|
1961
|
+
}
|
|
1962
|
+
})), Oo = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
1963
|
+
const s = ee({
|
|
1964
|
+
props: t,
|
|
1965
|
+
name: "MuiPickersToolbarText"
|
|
1966
|
+
}), {
|
|
1967
|
+
className: n,
|
|
1968
|
+
value: i
|
|
1969
|
+
} = s, r = Z(s, ds), l = ms(s);
|
|
1970
|
+
return /* @__PURE__ */ y(ps, b({
|
|
1971
|
+
ref: a,
|
|
1972
|
+
className: he(n, l.root),
|
|
1973
|
+
component: "span"
|
|
1974
|
+
}, r, {
|
|
1975
|
+
children: i
|
|
1976
|
+
}));
|
|
1977
|
+
}), bs = ["align", "className", "selected", "typographyClassName", "value", "variant", "width"], fs = (o) => {
|
|
1978
|
+
const {
|
|
1979
|
+
classes: t
|
|
1980
|
+
} = o;
|
|
1981
|
+
return ue({
|
|
1982
|
+
root: ["root"]
|
|
1983
|
+
}, zo, t);
|
|
1984
|
+
}, hs = $(Ho, {
|
|
1985
|
+
name: "MuiPickersToolbarButton",
|
|
1986
|
+
slot: "Root",
|
|
1987
|
+
overridesResolver: (o, t) => t.root
|
|
1988
|
+
})({
|
|
1989
|
+
padding: 0,
|
|
1990
|
+
minWidth: 16,
|
|
1991
|
+
textTransform: "none"
|
|
1992
|
+
}), ve = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
1993
|
+
const s = ee({
|
|
1994
|
+
props: t,
|
|
1995
|
+
name: "MuiPickersToolbarButton"
|
|
1996
|
+
}), {
|
|
1997
|
+
align: n,
|
|
1998
|
+
className: i,
|
|
1999
|
+
selected: r,
|
|
2000
|
+
typographyClassName: l,
|
|
2001
|
+
value: m,
|
|
2002
|
+
variant: d,
|
|
2003
|
+
width: p
|
|
2004
|
+
} = s, c = Z(s, bs), u = fs(s);
|
|
2005
|
+
return /* @__PURE__ */ y(hs, b({
|
|
2006
|
+
variant: "text",
|
|
2007
|
+
ref: a,
|
|
2008
|
+
className: he(i, u.root)
|
|
2009
|
+
}, p ? {
|
|
2010
|
+
sx: {
|
|
2011
|
+
width: p
|
|
2012
|
+
}
|
|
2013
|
+
} : {}, c, {
|
|
2014
|
+
children: /* @__PURE__ */ y(Oo, {
|
|
2015
|
+
align: n,
|
|
2016
|
+
className: l,
|
|
2017
|
+
variant: d,
|
|
2018
|
+
value: m,
|
|
2019
|
+
selected: r
|
|
2020
|
+
})
|
|
2021
|
+
}));
|
|
2022
|
+
}), Ts = ({
|
|
2023
|
+
adapter: o,
|
|
2024
|
+
value: t,
|
|
2025
|
+
props: a
|
|
2026
|
+
}) => {
|
|
2027
|
+
if (t === null)
|
|
2028
|
+
return null;
|
|
2029
|
+
const {
|
|
2030
|
+
minTime: s,
|
|
2031
|
+
maxTime: n,
|
|
2032
|
+
minutesStep: i,
|
|
2033
|
+
shouldDisableClock: r,
|
|
2034
|
+
shouldDisableTime: l,
|
|
2035
|
+
disableIgnoringDatePartForTimeValidation: m = !1,
|
|
2036
|
+
disablePast: d,
|
|
2037
|
+
disableFuture: p,
|
|
2038
|
+
timezone: c
|
|
2039
|
+
} = a, u = o.utils.dateWithTimezone(void 0, c), C = ze(m, o.utils);
|
|
2040
|
+
switch (!0) {
|
|
2041
|
+
case !o.utils.isValid(t):
|
|
2042
|
+
return "invalidDate";
|
|
2043
|
+
case !!(s && C(s, t)):
|
|
2044
|
+
return "minTime";
|
|
2045
|
+
case !!(n && C(t, n)):
|
|
2046
|
+
return "maxTime";
|
|
2047
|
+
case !!(p && o.utils.isAfter(t, u)):
|
|
2048
|
+
return "disableFuture";
|
|
2049
|
+
case !!(d && o.utils.isBefore(t, u)):
|
|
2050
|
+
return "disablePast";
|
|
2051
|
+
case !!(l && l(t, "hours")):
|
|
2052
|
+
return "shouldDisableTime-hours";
|
|
2053
|
+
case !!(l && l(t, "minutes")):
|
|
2054
|
+
return "shouldDisableTime-minutes";
|
|
2055
|
+
case !!(l && l(t, "seconds")):
|
|
2056
|
+
return "shouldDisableTime-seconds";
|
|
2057
|
+
case !!(r && r(o.utils.getHours(t), "hours")):
|
|
2058
|
+
return "shouldDisableClock-hours";
|
|
2059
|
+
case !!(r && r(o.utils.getMinutes(t), "minutes")):
|
|
2060
|
+
return "shouldDisableClock-minutes";
|
|
2061
|
+
case !!(r && r(o.utils.getSeconds(t), "seconds")):
|
|
2062
|
+
return "shouldDisableClock-seconds";
|
|
2063
|
+
case !!(i && o.utils.getMinutes(t) % i !== 0):
|
|
2064
|
+
return "minutesStep";
|
|
2065
|
+
default:
|
|
2066
|
+
return null;
|
|
2067
|
+
}
|
|
2068
|
+
}, oo = ({
|
|
2069
|
+
props: o,
|
|
2070
|
+
value: t,
|
|
2071
|
+
adapter: a
|
|
2072
|
+
}) => {
|
|
2073
|
+
const s = Wo({
|
|
2074
|
+
adapter: a,
|
|
2075
|
+
value: t,
|
|
2076
|
+
props: o
|
|
2077
|
+
});
|
|
2078
|
+
return s !== null ? s : Ts({
|
|
2079
|
+
adapter: a,
|
|
2080
|
+
value: t,
|
|
2081
|
+
props: o
|
|
2082
|
+
});
|
|
2083
|
+
}, gs = (o) => {
|
|
2084
|
+
var t, a, s, n, i, r, l, m;
|
|
2085
|
+
const d = De(), p = To(), u = ((t = o.ampm) != null ? t : d.is12HourCycleInCurrentLocale()) ? d.formats.keyboardDateTime12h : d.formats.keyboardDateTime24h;
|
|
2086
|
+
return b({}, o, {
|
|
2087
|
+
disablePast: (a = o.disablePast) != null ? a : !1,
|
|
2088
|
+
disableFuture: (s = o.disableFuture) != null ? s : !1,
|
|
2089
|
+
format: (n = o.format) != null ? n : u,
|
|
2090
|
+
disableIgnoringDatePartForTimeValidation: !!(o.minDateTime || o.maxDateTime),
|
|
2091
|
+
minDate: Be(d, (i = o.minDateTime) != null ? i : o.minDate, p.minDate),
|
|
2092
|
+
maxDate: Be(d, (r = o.maxDateTime) != null ? r : o.maxDate, p.maxDate),
|
|
2093
|
+
minTime: (l = o.minDateTime) != null ? l : o.minTime,
|
|
2094
|
+
maxTime: (m = o.maxDateTime) != null ? m : o.maxTime
|
|
2095
|
+
});
|
|
2096
|
+
}, Cs = ({
|
|
2097
|
+
props: o,
|
|
2098
|
+
inputRef: t
|
|
2099
|
+
}) => {
|
|
2100
|
+
const a = gs(o), {
|
|
2101
|
+
forwardedProps: s,
|
|
2102
|
+
internalProps: n
|
|
2103
|
+
} = qo(a, "date-time");
|
|
2104
|
+
return Uo({
|
|
2105
|
+
inputRef: t,
|
|
2106
|
+
forwardedProps: s,
|
|
2107
|
+
internalProps: n,
|
|
2108
|
+
valueManager: Oe,
|
|
2109
|
+
fieldValueManager: Yo,
|
|
2110
|
+
validator: oo,
|
|
2111
|
+
valueType: "date-time"
|
|
2112
|
+
});
|
|
2113
|
+
}, ys = ["components", "componentsProps", "slots", "slotProps", "InputProps", "inputProps"], Ds = ["inputRef"], vs = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"], to = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
2114
|
+
var s, n, i;
|
|
2115
|
+
const r = ee({
|
|
2116
|
+
props: t,
|
|
2117
|
+
name: "MuiDateTimeField"
|
|
2118
|
+
}), {
|
|
2119
|
+
components: l,
|
|
2120
|
+
componentsProps: m,
|
|
2121
|
+
slots: d,
|
|
2122
|
+
slotProps: p,
|
|
2123
|
+
InputProps: c,
|
|
2124
|
+
inputProps: u
|
|
2125
|
+
} = r, C = Z(r, ys), k = r, f = (s = (n = d == null ? void 0 : d.textField) != null ? n : l == null ? void 0 : l.TextField) != null ? s : Ko, D = vo({
|
|
2126
|
+
elementType: f,
|
|
2127
|
+
externalSlotProps: (i = p == null ? void 0 : p.textField) != null ? i : m == null ? void 0 : m.textField,
|
|
2128
|
+
externalForwardedProps: C,
|
|
2129
|
+
ownerState: k
|
|
2130
|
+
}), {
|
|
2131
|
+
inputRef: w
|
|
2132
|
+
} = D, S = Z(D, Ds);
|
|
2133
|
+
S.inputProps = b({}, u, S.inputProps), S.InputProps = b({}, c, S.InputProps);
|
|
2134
|
+
const x = Cs({
|
|
2135
|
+
props: S,
|
|
2136
|
+
inputRef: w
|
|
2137
|
+
}), {
|
|
2138
|
+
ref: I,
|
|
2139
|
+
onPaste: v,
|
|
2140
|
+
onKeyDown: h,
|
|
2141
|
+
inputMode: L,
|
|
2142
|
+
readOnly: O,
|
|
2143
|
+
clearable: V,
|
|
2144
|
+
onClear: j
|
|
2145
|
+
} = x, A = Z(x, vs), {
|
|
2146
|
+
InputProps: H,
|
|
2147
|
+
fieldProps: z
|
|
2148
|
+
} = Go({
|
|
2149
|
+
onClear: j,
|
|
2150
|
+
clearable: V,
|
|
2151
|
+
fieldProps: A,
|
|
2152
|
+
InputProps: A.InputProps,
|
|
2153
|
+
slots: d,
|
|
2154
|
+
slotProps: p,
|
|
2155
|
+
components: l,
|
|
2156
|
+
componentsProps: m
|
|
2157
|
+
});
|
|
2158
|
+
return /* @__PURE__ */ y(f, b({
|
|
2159
|
+
ref: a
|
|
2160
|
+
}, z, {
|
|
2161
|
+
InputProps: b({}, H, {
|
|
2162
|
+
readOnly: O
|
|
2163
|
+
}),
|
|
2164
|
+
inputProps: b({}, A.inputProps, {
|
|
2165
|
+
inputMode: L,
|
|
2166
|
+
onPaste: v,
|
|
2167
|
+
onKeyDown: h,
|
|
2168
|
+
ref: I
|
|
2169
|
+
})
|
|
2170
|
+
}));
|
|
2171
|
+
});
|
|
2172
|
+
process.env.NODE_ENV !== "production" && (to.propTypes = {
|
|
2173
|
+
// ----------------------------- Warning --------------------------------
|
|
2174
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
2175
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
2176
|
+
// ----------------------------------------------------------------------
|
|
2177
|
+
/**
|
|
2178
|
+
* 12h/24h view for hour selection clock.
|
|
2179
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
2180
|
+
*/
|
|
2181
|
+
ampm: e.bool,
|
|
2182
|
+
/**
|
|
2183
|
+
* If `true`, the `input` element is focused during the first mount.
|
|
2184
|
+
* @default false
|
|
2185
|
+
*/
|
|
2186
|
+
autoFocus: e.bool,
|
|
2187
|
+
className: e.string,
|
|
2188
|
+
/**
|
|
2189
|
+
* If `true`, a clear button will be shown in the field allowing value clearing.
|
|
2190
|
+
* @default false
|
|
2191
|
+
*/
|
|
2192
|
+
clearable: e.bool,
|
|
2193
|
+
/**
|
|
2194
|
+
* The color of the component.
|
|
2195
|
+
* It supports both default and custom theme colors, which can be added as shown in the
|
|
2196
|
+
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
|
|
2197
|
+
* @default 'primary'
|
|
2198
|
+
*/
|
|
2199
|
+
color: e.oneOf(["error", "info", "primary", "secondary", "success", "warning"]),
|
|
2200
|
+
component: e.elementType,
|
|
2201
|
+
/**
|
|
2202
|
+
* Overridable components.
|
|
2203
|
+
* @default {}
|
|
2204
|
+
* @deprecated Please use `slots`.
|
|
2205
|
+
*/
|
|
2206
|
+
components: e.object,
|
|
2207
|
+
/**
|
|
2208
|
+
* The props used for each component slot.
|
|
2209
|
+
* @default {}
|
|
2210
|
+
* @deprecated Please use `slotProps`.
|
|
2211
|
+
*/
|
|
2212
|
+
componentsProps: e.object,
|
|
2213
|
+
/**
|
|
2214
|
+
* The default value. Use when the component is not controlled.
|
|
2215
|
+
*/
|
|
2216
|
+
defaultValue: e.any,
|
|
2217
|
+
/**
|
|
2218
|
+
* If `true`, the component is disabled.
|
|
2219
|
+
* @default false
|
|
2220
|
+
*/
|
|
2221
|
+
disabled: e.bool,
|
|
2222
|
+
/**
|
|
2223
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
2224
|
+
* @default false
|
|
2225
|
+
*/
|
|
2226
|
+
disableFuture: e.bool,
|
|
2227
|
+
/**
|
|
2228
|
+
* Do not ignore date part when validating min/max time.
|
|
2229
|
+
* @default false
|
|
2230
|
+
*/
|
|
2231
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
2232
|
+
/**
|
|
2233
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
2234
|
+
* @default false
|
|
2235
|
+
*/
|
|
2236
|
+
disablePast: e.bool,
|
|
2237
|
+
/**
|
|
2238
|
+
* If `true`, the component is displayed in focused state.
|
|
2239
|
+
*/
|
|
2240
|
+
focused: e.bool,
|
|
2241
|
+
/**
|
|
2242
|
+
* Format of the date when rendered in the input(s).
|
|
2243
|
+
*/
|
|
2244
|
+
format: e.string,
|
|
2245
|
+
/**
|
|
2246
|
+
* Density of the format when rendered in the input.
|
|
2247
|
+
* Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
|
|
2248
|
+
* @default "dense"
|
|
2249
|
+
*/
|
|
2250
|
+
formatDensity: e.oneOf(["dense", "spacious"]),
|
|
2251
|
+
/**
|
|
2252
|
+
* Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
|
|
2253
|
+
*/
|
|
2254
|
+
FormHelperTextProps: e.object,
|
|
2255
|
+
/**
|
|
2256
|
+
* If `true`, the input will take up the full width of its container.
|
|
2257
|
+
* @default false
|
|
2258
|
+
*/
|
|
2259
|
+
fullWidth: e.bool,
|
|
2260
|
+
/**
|
|
2261
|
+
* The helper text content.
|
|
2262
|
+
*/
|
|
2263
|
+
helperText: e.node,
|
|
2264
|
+
/**
|
|
2265
|
+
* If `true`, the label is hidden.
|
|
2266
|
+
* This is used to increase density for a `FilledInput`.
|
|
2267
|
+
* Be sure to add `aria-label` to the `input` element.
|
|
2268
|
+
* @default false
|
|
2269
|
+
*/
|
|
2270
|
+
hiddenLabel: e.bool,
|
|
2271
|
+
/**
|
|
2272
|
+
* The id of the `input` element.
|
|
2273
|
+
* Use this prop to make `label` and `helperText` accessible for screen readers.
|
|
2274
|
+
*/
|
|
2275
|
+
id: e.string,
|
|
2276
|
+
/**
|
|
2277
|
+
* Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
|
|
2278
|
+
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
|
|
2279
|
+
*/
|
|
2280
|
+
InputLabelProps: e.object,
|
|
2281
|
+
/**
|
|
2282
|
+
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
2283
|
+
*/
|
|
2284
|
+
inputProps: e.object,
|
|
2285
|
+
/**
|
|
2286
|
+
* Props applied to the Input element.
|
|
2287
|
+
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
2288
|
+
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
2289
|
+
* component depending on the `variant` prop value.
|
|
2290
|
+
*/
|
|
2291
|
+
InputProps: e.object,
|
|
2292
|
+
/**
|
|
2293
|
+
* Pass a ref to the `input` element.
|
|
2294
|
+
*/
|
|
2295
|
+
inputRef: We,
|
|
2296
|
+
/**
|
|
2297
|
+
* The label content.
|
|
2298
|
+
*/
|
|
2299
|
+
label: e.node,
|
|
2300
|
+
/**
|
|
2301
|
+
* If `dense` or `normal`, will adjust vertical spacing of this and contained components.
|
|
2302
|
+
* @default 'none'
|
|
2303
|
+
*/
|
|
2304
|
+
margin: e.oneOf(["dense", "none", "normal"]),
|
|
2305
|
+
/**
|
|
2306
|
+
* Maximal selectable date.
|
|
2307
|
+
*/
|
|
2308
|
+
maxDate: e.any,
|
|
2309
|
+
/**
|
|
2310
|
+
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
2311
|
+
*/
|
|
2312
|
+
maxDateTime: e.any,
|
|
2313
|
+
/**
|
|
2314
|
+
* Maximal selectable time.
|
|
2315
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
2316
|
+
*/
|
|
2317
|
+
maxTime: e.any,
|
|
2318
|
+
/**
|
|
2319
|
+
* Minimal selectable date.
|
|
2320
|
+
*/
|
|
2321
|
+
minDate: e.any,
|
|
2322
|
+
/**
|
|
2323
|
+
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
2324
|
+
*/
|
|
2325
|
+
minDateTime: e.any,
|
|
2326
|
+
/**
|
|
2327
|
+
* Minimal selectable time.
|
|
2328
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
2329
|
+
*/
|
|
2330
|
+
minTime: e.any,
|
|
2331
|
+
/**
|
|
2332
|
+
* Step over minutes.
|
|
2333
|
+
* @default 1
|
|
2334
|
+
*/
|
|
2335
|
+
minutesStep: e.number,
|
|
2336
|
+
/**
|
|
2337
|
+
* Name attribute of the `input` element.
|
|
2338
|
+
*/
|
|
2339
|
+
name: e.string,
|
|
2340
|
+
onBlur: e.func,
|
|
2341
|
+
/**
|
|
2342
|
+
* Callback fired when the value changes.
|
|
2343
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
2344
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
2345
|
+
* @param {TValue} value The new value.
|
|
2346
|
+
* @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
|
|
2347
|
+
*/
|
|
2348
|
+
onChange: e.func,
|
|
2349
|
+
/**
|
|
2350
|
+
* Callback fired when the clear button is clicked.
|
|
2351
|
+
*/
|
|
2352
|
+
onClear: e.func,
|
|
2353
|
+
/**
|
|
2354
|
+
* Callback fired when the error associated to the current value changes.
|
|
2355
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
2356
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
2357
|
+
* @param {TError} error The new error.
|
|
2358
|
+
* @param {TValue} value The value associated to the error.
|
|
2359
|
+
*/
|
|
2360
|
+
onError: e.func,
|
|
2361
|
+
onFocus: e.func,
|
|
2362
|
+
/**
|
|
2363
|
+
* Callback fired when the selected sections change.
|
|
2364
|
+
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
2365
|
+
*/
|
|
2366
|
+
onSelectedSectionsChange: e.func,
|
|
2367
|
+
/**
|
|
2368
|
+
* It prevents the user from changing the value of the field
|
|
2369
|
+
* (not from interacting with the field).
|
|
2370
|
+
* @default false
|
|
2371
|
+
*/
|
|
2372
|
+
readOnly: e.bool,
|
|
2373
|
+
/**
|
|
2374
|
+
* The date used to generate a part of the new value that is not present in the format when both `value` and `defaultValue` are empty.
|
|
2375
|
+
* For example, on time fields it will be used to determine the date to set.
|
|
2376
|
+
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
2377
|
+
*/
|
|
2378
|
+
referenceDate: e.any,
|
|
2379
|
+
/**
|
|
2380
|
+
* If `true`, the label is displayed as required and the `input` element is required.
|
|
2381
|
+
* @default false
|
|
2382
|
+
*/
|
|
2383
|
+
required: e.bool,
|
|
2384
|
+
/**
|
|
2385
|
+
* The currently selected sections.
|
|
2386
|
+
* This prop accept four formats:
|
|
2387
|
+
* 1. If a number is provided, the section at this index will be selected.
|
|
2388
|
+
* 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
|
|
2389
|
+
* 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
2390
|
+
* 4. If `null` is provided, no section will be selected
|
|
2391
|
+
* If not provided, the selected sections will be handled internally.
|
|
2392
|
+
*/
|
|
2393
|
+
selectedSections: e.oneOfType([e.oneOf(["all", "day", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), e.number, e.shape({
|
|
2394
|
+
endIndex: e.number.isRequired,
|
|
2395
|
+
startIndex: e.number.isRequired
|
|
2396
|
+
})]),
|
|
2397
|
+
/**
|
|
2398
|
+
* Disable specific clock time.
|
|
2399
|
+
* @param {number} clockValue The value to check.
|
|
2400
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
2401
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
2402
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
2403
|
+
*/
|
|
2404
|
+
shouldDisableClock: e.func,
|
|
2405
|
+
/**
|
|
2406
|
+
* Disable specific date.
|
|
2407
|
+
*
|
|
2408
|
+
* Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
2409
|
+
*
|
|
2410
|
+
* @template TDate
|
|
2411
|
+
* @param {TDate} day The date to test.
|
|
2412
|
+
* @returns {boolean} If `true` the date will be disabled.
|
|
2413
|
+
*/
|
|
2414
|
+
shouldDisableDate: e.func,
|
|
2415
|
+
/**
|
|
2416
|
+
* Disable specific month.
|
|
2417
|
+
* @template TDate
|
|
2418
|
+
* @param {TDate} month The month to test.
|
|
2419
|
+
* @returns {boolean} If `true`, the month will be disabled.
|
|
2420
|
+
*/
|
|
2421
|
+
shouldDisableMonth: e.func,
|
|
2422
|
+
/**
|
|
2423
|
+
* Disable specific time.
|
|
2424
|
+
* @template TDate
|
|
2425
|
+
* @param {TDate} value The value to check.
|
|
2426
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
2427
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
2428
|
+
*/
|
|
2429
|
+
shouldDisableTime: e.func,
|
|
2430
|
+
/**
|
|
2431
|
+
* Disable specific year.
|
|
2432
|
+
* @template TDate
|
|
2433
|
+
* @param {TDate} year The year to test.
|
|
2434
|
+
* @returns {boolean} If `true`, the year will be disabled.
|
|
2435
|
+
*/
|
|
2436
|
+
shouldDisableYear: e.func,
|
|
2437
|
+
/**
|
|
2438
|
+
* If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
|
|
2439
|
+
* If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
|
|
2440
|
+
*
|
|
2441
|
+
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
|
|
2442
|
+
*
|
|
2443
|
+
* Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
|
|
2444
|
+
* If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
|
|
2445
|
+
*
|
|
2446
|
+
* Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
|
|
2447
|
+
* This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
|
|
2448
|
+
*
|
|
2449
|
+
* @default `false`
|
|
2450
|
+
*/
|
|
2451
|
+
shouldRespectLeadingZeros: e.bool,
|
|
2452
|
+
/**
|
|
2453
|
+
* The size of the component.
|
|
2454
|
+
*/
|
|
2455
|
+
size: e.oneOf(["medium", "small"]),
|
|
2456
|
+
/**
|
|
2457
|
+
* The props used for each component slot.
|
|
2458
|
+
* @default {}
|
|
2459
|
+
*/
|
|
2460
|
+
slotProps: e.object,
|
|
2461
|
+
/**
|
|
2462
|
+
* Overridable component slots.
|
|
2463
|
+
* @default {}
|
|
2464
|
+
*/
|
|
2465
|
+
slots: e.object,
|
|
2466
|
+
style: e.object,
|
|
2467
|
+
/**
|
|
2468
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
2469
|
+
*/
|
|
2470
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
2471
|
+
/**
|
|
2472
|
+
* Choose which timezone to use for the value.
|
|
2473
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
2474
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
2475
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
2476
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
2477
|
+
*/
|
|
2478
|
+
timezone: e.string,
|
|
2479
|
+
/**
|
|
2480
|
+
* The ref object used to imperatively interact with the field.
|
|
2481
|
+
*/
|
|
2482
|
+
unstableFieldRef: e.oneOfType([e.func, e.object]),
|
|
2483
|
+
/**
|
|
2484
|
+
* The selected value.
|
|
2485
|
+
* Used when the component is controlled.
|
|
2486
|
+
*/
|
|
2487
|
+
value: e.any,
|
|
2488
|
+
/**
|
|
2489
|
+
* The variant to use.
|
|
2490
|
+
* @default 'outlined'
|
|
2491
|
+
*/
|
|
2492
|
+
variant: e.oneOf(["filled", "outlined", "standard"])
|
|
2493
|
+
});
|
|
2494
|
+
const Ue = ({
|
|
2495
|
+
view: o,
|
|
2496
|
+
onViewChange: t,
|
|
2497
|
+
focusedView: a,
|
|
2498
|
+
onFocusedViewChange: s,
|
|
2499
|
+
views: n,
|
|
2500
|
+
value: i,
|
|
2501
|
+
defaultValue: r,
|
|
2502
|
+
referenceDate: l,
|
|
2503
|
+
onChange: m,
|
|
2504
|
+
className: d,
|
|
2505
|
+
classes: p,
|
|
2506
|
+
disableFuture: c,
|
|
2507
|
+
disablePast: u,
|
|
2508
|
+
minTime: C,
|
|
2509
|
+
maxTime: k,
|
|
2510
|
+
shouldDisableTime: f,
|
|
2511
|
+
shouldDisableClock: D,
|
|
2512
|
+
minutesStep: w,
|
|
2513
|
+
ampm: S,
|
|
2514
|
+
ampmInClock: x,
|
|
2515
|
+
components: I,
|
|
2516
|
+
componentsProps: v,
|
|
2517
|
+
slots: h,
|
|
2518
|
+
slotProps: L,
|
|
2519
|
+
readOnly: O,
|
|
2520
|
+
disabled: V,
|
|
2521
|
+
sx: j,
|
|
2522
|
+
autoFocus: A,
|
|
2523
|
+
showViewSwitcher: H,
|
|
2524
|
+
disableIgnoringDatePartForTimeValidation: z,
|
|
2525
|
+
timezone: U
|
|
2526
|
+
}) => /* @__PURE__ */ y(xo, {
|
|
2527
|
+
view: o,
|
|
2528
|
+
onViewChange: t,
|
|
2529
|
+
focusedView: a && $e(a) ? a : null,
|
|
2530
|
+
onFocusedViewChange: s,
|
|
2531
|
+
views: n.filter($e),
|
|
2532
|
+
value: i,
|
|
2533
|
+
defaultValue: r,
|
|
2534
|
+
referenceDate: l,
|
|
2535
|
+
onChange: m,
|
|
2536
|
+
className: d,
|
|
2537
|
+
classes: p,
|
|
2538
|
+
disableFuture: c,
|
|
2539
|
+
disablePast: u,
|
|
2540
|
+
minTime: C,
|
|
2541
|
+
maxTime: k,
|
|
2542
|
+
shouldDisableTime: f,
|
|
2543
|
+
shouldDisableClock: D,
|
|
2544
|
+
minutesStep: w,
|
|
2545
|
+
ampm: S,
|
|
2546
|
+
ampmInClock: x,
|
|
2547
|
+
components: I,
|
|
2548
|
+
componentsProps: v,
|
|
2549
|
+
slots: h,
|
|
2550
|
+
slotProps: L,
|
|
2551
|
+
readOnly: O,
|
|
2552
|
+
disabled: V,
|
|
2553
|
+
sx: j,
|
|
2554
|
+
autoFocus: A,
|
|
2555
|
+
showViewSwitcher: H,
|
|
2556
|
+
disableIgnoringDatePartForTimeValidation: z,
|
|
2557
|
+
timezone: U
|
|
2558
|
+
}), ks = ({
|
|
2559
|
+
view: o,
|
|
2560
|
+
onViewChange: t,
|
|
2561
|
+
focusedView: a,
|
|
2562
|
+
onFocusedViewChange: s,
|
|
2563
|
+
views: n,
|
|
2564
|
+
value: i,
|
|
2565
|
+
defaultValue: r,
|
|
2566
|
+
referenceDate: l,
|
|
2567
|
+
onChange: m,
|
|
2568
|
+
className: d,
|
|
2569
|
+
classes: p,
|
|
2570
|
+
disableFuture: c,
|
|
2571
|
+
disablePast: u,
|
|
2572
|
+
minTime: C,
|
|
2573
|
+
maxTime: k,
|
|
2574
|
+
shouldDisableTime: f,
|
|
2575
|
+
shouldDisableClock: D,
|
|
2576
|
+
minutesStep: w,
|
|
2577
|
+
ampm: S,
|
|
2578
|
+
components: x,
|
|
2579
|
+
componentsProps: I,
|
|
2580
|
+
slots: v,
|
|
2581
|
+
slotProps: h,
|
|
2582
|
+
readOnly: L,
|
|
2583
|
+
disabled: O,
|
|
2584
|
+
sx: V,
|
|
2585
|
+
autoFocus: j,
|
|
2586
|
+
disableIgnoringDatePartForTimeValidation: A,
|
|
2587
|
+
timeSteps: H,
|
|
2588
|
+
skipDisabled: z,
|
|
2589
|
+
timezone: U
|
|
2590
|
+
}) => /* @__PURE__ */ y(Mo, {
|
|
2591
|
+
view: o,
|
|
2592
|
+
onViewChange: t,
|
|
2593
|
+
focusedView: a,
|
|
2594
|
+
onFocusedViewChange: s,
|
|
2595
|
+
views: n.filter($e),
|
|
2596
|
+
value: i,
|
|
2597
|
+
defaultValue: r,
|
|
2598
|
+
referenceDate: l,
|
|
2599
|
+
onChange: m,
|
|
2600
|
+
className: d,
|
|
2601
|
+
classes: p,
|
|
2602
|
+
disableFuture: c,
|
|
2603
|
+
disablePast: u,
|
|
2604
|
+
minTime: C,
|
|
2605
|
+
maxTime: k,
|
|
2606
|
+
shouldDisableTime: f,
|
|
2607
|
+
shouldDisableClock: D,
|
|
2608
|
+
minutesStep: w,
|
|
2609
|
+
ampm: S,
|
|
2610
|
+
components: x,
|
|
2611
|
+
componentsProps: I,
|
|
2612
|
+
slots: v,
|
|
2613
|
+
slotProps: h,
|
|
2614
|
+
readOnly: L,
|
|
2615
|
+
disabled: O,
|
|
2616
|
+
sx: V,
|
|
2617
|
+
autoFocus: j,
|
|
2618
|
+
disableIgnoringDatePartForTimeValidation: A,
|
|
2619
|
+
timeStep: H == null ? void 0 : H.minutes,
|
|
2620
|
+
skipDisabled: z,
|
|
2621
|
+
timezone: U
|
|
2622
|
+
}), Ps = ({
|
|
2623
|
+
view: o,
|
|
2624
|
+
onViewChange: t,
|
|
2625
|
+
focusedView: a,
|
|
2626
|
+
onFocusedViewChange: s,
|
|
2627
|
+
views: n,
|
|
2628
|
+
value: i,
|
|
2629
|
+
defaultValue: r,
|
|
2630
|
+
referenceDate: l,
|
|
2631
|
+
onChange: m,
|
|
2632
|
+
className: d,
|
|
2633
|
+
classes: p,
|
|
2634
|
+
disableFuture: c,
|
|
2635
|
+
disablePast: u,
|
|
2636
|
+
minTime: C,
|
|
2637
|
+
maxTime: k,
|
|
2638
|
+
shouldDisableTime: f,
|
|
2639
|
+
shouldDisableClock: D,
|
|
2640
|
+
minutesStep: w,
|
|
2641
|
+
ampm: S,
|
|
2642
|
+
components: x,
|
|
2643
|
+
componentsProps: I,
|
|
2644
|
+
slots: v,
|
|
2645
|
+
slotProps: h,
|
|
2646
|
+
readOnly: L,
|
|
2647
|
+
disabled: O,
|
|
2648
|
+
sx: V,
|
|
2649
|
+
autoFocus: j,
|
|
2650
|
+
disableIgnoringDatePartForTimeValidation: A,
|
|
2651
|
+
timeSteps: H,
|
|
2652
|
+
skipDisabled: z,
|
|
2653
|
+
timezone: U
|
|
2654
|
+
}) => /* @__PURE__ */ y(So, {
|
|
2655
|
+
view: o,
|
|
2656
|
+
onViewChange: t,
|
|
2657
|
+
focusedView: a,
|
|
2658
|
+
onFocusedViewChange: s,
|
|
2659
|
+
views: n.filter($e),
|
|
2660
|
+
value: i,
|
|
2661
|
+
defaultValue: r,
|
|
2662
|
+
referenceDate: l,
|
|
2663
|
+
onChange: m,
|
|
2664
|
+
className: d,
|
|
2665
|
+
classes: p,
|
|
2666
|
+
disableFuture: c,
|
|
2667
|
+
disablePast: u,
|
|
2668
|
+
minTime: C,
|
|
2669
|
+
maxTime: k,
|
|
2670
|
+
shouldDisableTime: f,
|
|
2671
|
+
shouldDisableClock: D,
|
|
2672
|
+
minutesStep: w,
|
|
2673
|
+
ampm: S,
|
|
2674
|
+
components: x,
|
|
2675
|
+
componentsProps: I,
|
|
2676
|
+
slots: v,
|
|
2677
|
+
slotProps: h,
|
|
2678
|
+
readOnly: L,
|
|
2679
|
+
disabled: O,
|
|
2680
|
+
sx: V,
|
|
2681
|
+
autoFocus: j,
|
|
2682
|
+
disableIgnoringDatePartForTimeValidation: A,
|
|
2683
|
+
timeSteps: H,
|
|
2684
|
+
skipDisabled: z,
|
|
2685
|
+
timezone: U
|
|
2686
|
+
}), ws = ["views", "format"], Ro = (o, t) => {
|
|
2687
|
+
let {
|
|
2688
|
+
views: a,
|
|
2689
|
+
format: s
|
|
2690
|
+
} = t, n = Z(t, ws);
|
|
2691
|
+
if (s)
|
|
2692
|
+
return s;
|
|
2693
|
+
const i = [], r = [];
|
|
2694
|
+
if (a.forEach((d) => {
|
|
2695
|
+
$e(d) ? r.push(d) : i.push(d);
|
|
2696
|
+
}), r.length === 0)
|
|
2697
|
+
return so(o, b({
|
|
2698
|
+
views: i
|
|
2699
|
+
}, n), !1);
|
|
2700
|
+
if (i.length === 0)
|
|
2701
|
+
return no(o, b({
|
|
2702
|
+
views: r
|
|
2703
|
+
}, n));
|
|
2704
|
+
const l = no(o, b({
|
|
2705
|
+
views: r
|
|
2706
|
+
}, n));
|
|
2707
|
+
return `${so(o, b({
|
|
2708
|
+
views: i
|
|
2709
|
+
}, n), !1)} ${l}`;
|
|
2710
|
+
}, xs = (o, t, a) => a ? t.filter((s) => !ke(s) || s === "hours") : o ? [...t, "meridiem"] : t, Ms = (o, t) => {
|
|
2711
|
+
var a, s;
|
|
2712
|
+
return 24 * 60 / (((a = o.hours) != null ? a : 1) * ((s = o.minutes) != null ? s : 5)) <= t;
|
|
2713
|
+
};
|
|
2714
|
+
function Ss({
|
|
2715
|
+
thresholdToRenderTimeInASingleColumn: o,
|
|
2716
|
+
ampm: t,
|
|
2717
|
+
timeSteps: a,
|
|
2718
|
+
views: s
|
|
2719
|
+
}) {
|
|
2720
|
+
const n = o ?? 24, i = b({
|
|
2721
|
+
hours: 1,
|
|
2722
|
+
minutes: 5,
|
|
2723
|
+
seconds: 5
|
|
2724
|
+
}, a), r = Ms(i, n);
|
|
2725
|
+
return {
|
|
2726
|
+
thresholdToRenderTimeInASingleColumn: n,
|
|
2727
|
+
timeSteps: i,
|
|
2728
|
+
shouldRenderTimeInASingleColumn: r,
|
|
2729
|
+
views: xs(t, s, r)
|
|
2730
|
+
};
|
|
2731
|
+
}
|
|
2732
|
+
function Os(o) {
|
|
2733
|
+
return be("MuiDateTimePickerTabs", o);
|
|
2734
|
+
}
|
|
2735
|
+
fe("MuiDateTimePickerTabs", ["root"]);
|
|
2736
|
+
const Rs = (o) => je(o) ? "date" : "time", Vs = (o) => o === "date" ? "day" : "hours", Is = (o) => {
|
|
2737
|
+
const {
|
|
2738
|
+
classes: t
|
|
2739
|
+
} = o;
|
|
2740
|
+
return ue({
|
|
2741
|
+
root: ["root"]
|
|
2742
|
+
}, Os, t);
|
|
2743
|
+
}, Ns = $(rt, {
|
|
2744
|
+
name: "MuiDateTimePickerTabs",
|
|
2745
|
+
slot: "Root",
|
|
2746
|
+
overridesResolver: (o, t) => t.root
|
|
2747
|
+
})(({
|
|
2748
|
+
theme: o
|
|
2749
|
+
}) => ({
|
|
2750
|
+
boxShadow: `0 -1px 0 0 inset ${(o.vars || o).palette.divider}`,
|
|
2751
|
+
"&:last-child": {
|
|
2752
|
+
boxShadow: `0 1px 0 0 inset ${(o.vars || o).palette.divider}`,
|
|
2753
|
+
[`& .${lt.indicator}`]: {
|
|
2754
|
+
bottom: "auto",
|
|
2755
|
+
top: 0
|
|
2756
|
+
}
|
|
2757
|
+
}
|
|
2758
|
+
})), Vo = function(t) {
|
|
2759
|
+
const a = ee({
|
|
2760
|
+
props: t,
|
|
2761
|
+
name: "MuiDateTimePickerTabs"
|
|
2762
|
+
}), {
|
|
2763
|
+
dateIcon: s = /* @__PURE__ */ y(nt, {}),
|
|
2764
|
+
onViewChange: n,
|
|
2765
|
+
timeIcon: i = /* @__PURE__ */ y(at, {}),
|
|
2766
|
+
view: r,
|
|
2767
|
+
hidden: l = typeof window > "u" || window.innerHeight < 667,
|
|
2768
|
+
className: m,
|
|
2769
|
+
sx: d
|
|
2770
|
+
} = a, p = Pe(), c = Is(a), u = (C, k) => {
|
|
2771
|
+
n(Vs(k));
|
|
2772
|
+
};
|
|
2773
|
+
return l ? null : /* @__PURE__ */ J(Ns, {
|
|
2774
|
+
ownerState: a,
|
|
2775
|
+
variant: "fullWidth",
|
|
2776
|
+
value: Rs(r),
|
|
2777
|
+
onChange: u,
|
|
2778
|
+
className: he(m, c.root),
|
|
2779
|
+
sx: d,
|
|
2780
|
+
children: [/* @__PURE__ */ y(ao, {
|
|
2781
|
+
value: "date",
|
|
2782
|
+
"aria-label": p.dateTableLabel,
|
|
2783
|
+
icon: /* @__PURE__ */ y(P.Fragment, {
|
|
2784
|
+
children: s
|
|
2785
|
+
})
|
|
2786
|
+
}), /* @__PURE__ */ y(ao, {
|
|
2787
|
+
value: "time",
|
|
2788
|
+
"aria-label": p.timeTableLabel,
|
|
2789
|
+
icon: /* @__PURE__ */ y(P.Fragment, {
|
|
2790
|
+
children: i
|
|
2791
|
+
})
|
|
2792
|
+
})]
|
|
2793
|
+
});
|
|
2794
|
+
};
|
|
2795
|
+
process.env.NODE_ENV !== "production" && (Vo.propTypes = {
|
|
2796
|
+
// ----------------------------- Warning --------------------------------
|
|
2797
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
2798
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
2799
|
+
// ----------------------------------------------------------------------
|
|
2800
|
+
/**
|
|
2801
|
+
* Override or extend the styles applied to the component.
|
|
2802
|
+
*/
|
|
2803
|
+
classes: e.object,
|
|
2804
|
+
className: e.string,
|
|
2805
|
+
/**
|
|
2806
|
+
* Date tab icon.
|
|
2807
|
+
* @default DateRange
|
|
2808
|
+
*/
|
|
2809
|
+
dateIcon: e.node,
|
|
2810
|
+
/**
|
|
2811
|
+
* Toggles visibility of the tabs allowing view switching.
|
|
2812
|
+
* @default `window.innerHeight < 667` for `DesktopDateTimePicker` and `MobileDateTimePicker`, `displayStaticWrapperAs === 'desktop'` for `StaticDateTimePicker`
|
|
2813
|
+
*/
|
|
2814
|
+
hidden: e.bool,
|
|
2815
|
+
/**
|
|
2816
|
+
* Callback called when a tab is clicked
|
|
2817
|
+
* @template TView
|
|
2818
|
+
* @param {TView} view The view to open
|
|
2819
|
+
*/
|
|
2820
|
+
onViewChange: e.func.isRequired,
|
|
2821
|
+
/**
|
|
2822
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
2823
|
+
*/
|
|
2824
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
2825
|
+
/**
|
|
2826
|
+
* Time tab icon.
|
|
2827
|
+
* @default Time
|
|
2828
|
+
*/
|
|
2829
|
+
timeIcon: e.node,
|
|
2830
|
+
/**
|
|
2831
|
+
* Currently visible picker view.
|
|
2832
|
+
*/
|
|
2833
|
+
view: e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]).isRequired
|
|
2834
|
+
});
|
|
2835
|
+
function Fs(o) {
|
|
2836
|
+
return be("MuiDateTimePickerToolbar", o);
|
|
2837
|
+
}
|
|
2838
|
+
const Ye = fe("MuiDateTimePickerToolbar", ["root", "dateContainer", "timeContainer", "timeDigitsContainer", "separator", "timeLabelReverse", "ampmSelection", "ampmLandscape", "ampmLabel"]), $s = ["ampm", "ampmInClock", "value", "onChange", "view", "isLandscape", "onViewChange", "toolbarFormat", "toolbarPlaceholder", "views", "disabled", "readOnly", "toolbarVariant"], _s = (o) => {
|
|
2839
|
+
const {
|
|
2840
|
+
classes: t,
|
|
2841
|
+
theme: a,
|
|
2842
|
+
isLandscape: s
|
|
2843
|
+
} = o, n = {
|
|
2844
|
+
root: ["root"],
|
|
2845
|
+
dateContainer: ["dateContainer"],
|
|
2846
|
+
timeContainer: ["timeContainer", a.direction === "rtl" && "timeLabelReverse"],
|
|
2847
|
+
timeDigitsContainer: ["timeDigitsContainer", a.direction === "rtl" && "timeLabelReverse"],
|
|
2848
|
+
separator: ["separator"],
|
|
2849
|
+
ampmSelection: ["ampmSelection", s && "ampmLandscape"],
|
|
2850
|
+
ampmLabel: ["ampmLabel"]
|
|
2851
|
+
};
|
|
2852
|
+
return ue(n, Fs, t);
|
|
2853
|
+
}, Io = $(Qo, {
|
|
2854
|
+
name: "MuiDateTimePickerToolbar",
|
|
2855
|
+
slot: "Root",
|
|
2856
|
+
overridesResolver: (o, t) => t.root
|
|
2857
|
+
})(({
|
|
2858
|
+
theme: o,
|
|
2859
|
+
ownerState: t
|
|
2860
|
+
}) => ({
|
|
2861
|
+
paddingLeft: t.toolbarVariant === "desktop" && !t.isLandscape ? 24 : 16,
|
|
2862
|
+
paddingRight: t.toolbarVariant === "desktop" && !t.isLandscape ? 0 : 16,
|
|
2863
|
+
borderBottom: t.toolbarVariant === "desktop" ? `1px solid ${(o.vars || o).palette.divider}` : void 0,
|
|
2864
|
+
borderRight: t.toolbarVariant === "desktop" && t.isLandscape ? `1px solid ${(o.vars || o).palette.divider}` : void 0,
|
|
2865
|
+
justifyContent: "space-around",
|
|
2866
|
+
position: "relative"
|
|
2867
|
+
}));
|
|
2868
|
+
Io.propTypes = {
|
|
2869
|
+
// ----------------------------- Warning --------------------------------
|
|
2870
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
2871
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
2872
|
+
// ----------------------------------------------------------------------
|
|
2873
|
+
as: e.elementType,
|
|
2874
|
+
classes: e.object,
|
|
2875
|
+
className: e.string,
|
|
2876
|
+
isLandscape: e.bool.isRequired,
|
|
2877
|
+
isMobileKeyboardViewOpen: e.bool,
|
|
2878
|
+
landscapeDirection: e.oneOf(["column", "row"]),
|
|
2879
|
+
ownerState: e.object.isRequired,
|
|
2880
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
2881
|
+
toggleMobileKeyboardView: e.func,
|
|
2882
|
+
toolbarTitle: e.node,
|
|
2883
|
+
viewType: e.oneOf(["date", "time"])
|
|
2884
|
+
};
|
|
2885
|
+
const Ls = $("div", {
|
|
2886
|
+
name: "MuiDateTimePickerToolbar",
|
|
2887
|
+
slot: "DateContainer",
|
|
2888
|
+
overridesResolver: (o, t) => t.dateContainer
|
|
2889
|
+
})({
|
|
2890
|
+
display: "flex",
|
|
2891
|
+
flexDirection: "column",
|
|
2892
|
+
alignItems: "flex-start"
|
|
2893
|
+
}), No = $("div", {
|
|
2894
|
+
name: "MuiDateTimePickerToolbar",
|
|
2895
|
+
slot: "TimeContainer",
|
|
2896
|
+
overridesResolver: (o, t) => t.timeContainer
|
|
2897
|
+
})(({
|
|
2898
|
+
theme: o,
|
|
2899
|
+
ownerState: t
|
|
2900
|
+
}) => {
|
|
2901
|
+
const a = t.isLandscape && t.toolbarVariant !== "desktop" ? "column" : "row";
|
|
2902
|
+
return b({
|
|
2903
|
+
display: "flex",
|
|
2904
|
+
flexDirection: a
|
|
2905
|
+
}, t.toolbarVariant === "desktop" && b({}, !t.isLandscape && {
|
|
2906
|
+
gap: 9,
|
|
2907
|
+
marginRight: 4,
|
|
2908
|
+
alignSelf: "flex-end"
|
|
2909
|
+
}), o.direction === "rtl" && {
|
|
2910
|
+
flexDirection: `${a}-reverse`
|
|
2911
|
+
});
|
|
2912
|
+
}), js = $("div", {
|
|
2913
|
+
name: "MuiDateTimePickerToolbar",
|
|
2914
|
+
slot: "TimeDigitsContainer",
|
|
2915
|
+
overridesResolver: (o, t) => t.timeDigitsContainer
|
|
2916
|
+
})(({
|
|
2917
|
+
theme: o,
|
|
2918
|
+
ownerState: t
|
|
2919
|
+
}) => b({
|
|
2920
|
+
display: "flex"
|
|
2921
|
+
}, t.toolbarVariant === "desktop" && {
|
|
2922
|
+
gap: 1.5
|
|
2923
|
+
}, o.direction === "rtl" && {
|
|
2924
|
+
flexDirection: "row-reverse"
|
|
2925
|
+
}));
|
|
2926
|
+
No.propTypes = {
|
|
2927
|
+
// ----------------------------- Warning --------------------------------
|
|
2928
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
2929
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
2930
|
+
// ----------------------------------------------------------------------
|
|
2931
|
+
as: e.elementType,
|
|
2932
|
+
ownerState: e.object.isRequired,
|
|
2933
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
|
|
2934
|
+
};
|
|
2935
|
+
const mo = $(Oo, {
|
|
2936
|
+
name: "MuiDateTimePickerToolbar",
|
|
2937
|
+
slot: "Separator",
|
|
2938
|
+
overridesResolver: (o, t) => t.separator
|
|
2939
|
+
})(({
|
|
2940
|
+
ownerState: o
|
|
2941
|
+
}) => ({
|
|
2942
|
+
margin: o.toolbarVariant === "desktop" ? 0 : "0 4px 0 2px",
|
|
2943
|
+
cursor: "default"
|
|
2944
|
+
})), As = $("div", {
|
|
2945
|
+
name: "MuiDateTimePickerToolbar",
|
|
2946
|
+
slot: "AmPmSelection",
|
|
2947
|
+
overridesResolver: (o, t) => [{
|
|
2948
|
+
[`.${Ye.ampmLabel}`]: t.ampmLabel
|
|
2949
|
+
}, {
|
|
2950
|
+
[`&.${Ye.ampmLandscape}`]: t.ampmLandscape
|
|
2951
|
+
}, t.ampmSelection]
|
|
2952
|
+
})(({
|
|
2953
|
+
ownerState: o
|
|
2954
|
+
}) => b({
|
|
2955
|
+
display: "flex",
|
|
2956
|
+
flexDirection: "column",
|
|
2957
|
+
marginRight: "auto",
|
|
2958
|
+
marginLeft: 12
|
|
2959
|
+
}, o.isLandscape && {
|
|
2960
|
+
margin: "4px 0 auto",
|
|
2961
|
+
flexDirection: "row",
|
|
2962
|
+
justifyContent: "space-around",
|
|
2963
|
+
width: "100%"
|
|
2964
|
+
}, {
|
|
2965
|
+
[`& .${Ye.ampmLabel}`]: {
|
|
2966
|
+
fontSize: 17
|
|
2967
|
+
}
|
|
2968
|
+
}));
|
|
2969
|
+
function Fo(o) {
|
|
2970
|
+
const t = ee({
|
|
2971
|
+
props: o,
|
|
2972
|
+
name: "MuiDateTimePickerToolbar"
|
|
2973
|
+
}), {
|
|
2974
|
+
ampm: a,
|
|
2975
|
+
ampmInClock: s,
|
|
2976
|
+
value: n,
|
|
2977
|
+
onChange: i,
|
|
2978
|
+
view: r,
|
|
2979
|
+
isLandscape: l,
|
|
2980
|
+
onViewChange: m,
|
|
2981
|
+
toolbarFormat: d,
|
|
2982
|
+
toolbarPlaceholder: p = "––",
|
|
2983
|
+
views: c,
|
|
2984
|
+
disabled: u,
|
|
2985
|
+
readOnly: C,
|
|
2986
|
+
toolbarVariant: k = "mobile"
|
|
2987
|
+
} = t, f = Z(t, $s), D = t, w = De(), {
|
|
2988
|
+
meridiemMode: S,
|
|
2989
|
+
handleMeridiemChange: x
|
|
2990
|
+
} = Xe(n, a, i), I = !!(a && !s), v = k === "desktop", h = Pe(), L = ct(), O = _s(b({}, D, {
|
|
2991
|
+
theme: L
|
|
2992
|
+
})), V = (A) => a ? w.format(A, "hours12h") : w.format(A, "hours24h"), j = P.useMemo(() => n ? d ? w.formatByString(n, d) : w.format(n, "shortDate") : p, [n, d, p, w]);
|
|
2993
|
+
return /* @__PURE__ */ J(Io, b({
|
|
2994
|
+
toolbarTitle: h.dateTimePickerToolbarTitle,
|
|
2995
|
+
isLandscape: l,
|
|
2996
|
+
className: O.root
|
|
2997
|
+
}, f, {
|
|
2998
|
+
ownerState: D,
|
|
2999
|
+
children: [/* @__PURE__ */ J(Ls, {
|
|
3000
|
+
className: O.dateContainer,
|
|
3001
|
+
ownerState: D,
|
|
3002
|
+
children: [c.includes("year") && /* @__PURE__ */ y(ve, {
|
|
3003
|
+
tabIndex: -1,
|
|
3004
|
+
variant: "subtitle1",
|
|
3005
|
+
onClick: () => m("year"),
|
|
3006
|
+
selected: r === "year",
|
|
3007
|
+
value: n ? w.format(n, "year") : "–"
|
|
3008
|
+
}), c.includes("day") && /* @__PURE__ */ y(ve, {
|
|
3009
|
+
tabIndex: -1,
|
|
3010
|
+
variant: v ? "h5" : "h4",
|
|
3011
|
+
onClick: () => m("day"),
|
|
3012
|
+
selected: r === "day",
|
|
3013
|
+
value: j
|
|
3014
|
+
})]
|
|
3015
|
+
}), /* @__PURE__ */ J(No, {
|
|
3016
|
+
className: O.timeContainer,
|
|
3017
|
+
ownerState: D,
|
|
3018
|
+
children: [/* @__PURE__ */ J(js, {
|
|
3019
|
+
className: O.timeDigitsContainer,
|
|
3020
|
+
ownerState: D,
|
|
3021
|
+
children: [c.includes("hours") && /* @__PURE__ */ y(ve, {
|
|
3022
|
+
variant: v ? "h5" : "h3",
|
|
3023
|
+
width: v && !l ? Fe : void 0,
|
|
3024
|
+
onClick: () => m("hours"),
|
|
3025
|
+
selected: r === "hours",
|
|
3026
|
+
value: n ? V(n) : "--"
|
|
3027
|
+
}), c.includes("minutes") && /* @__PURE__ */ J(P.Fragment, {
|
|
3028
|
+
children: [/* @__PURE__ */ y(mo, {
|
|
3029
|
+
variant: v ? "h5" : "h3",
|
|
3030
|
+
value: ":",
|
|
3031
|
+
className: O.separator,
|
|
3032
|
+
ownerState: D
|
|
3033
|
+
}), /* @__PURE__ */ y(ve, {
|
|
3034
|
+
variant: v ? "h5" : "h3",
|
|
3035
|
+
width: v && !l ? Fe : void 0,
|
|
3036
|
+
onClick: () => m("minutes"),
|
|
3037
|
+
selected: r === "minutes",
|
|
3038
|
+
value: n ? w.format(n, "minutes") : "--"
|
|
3039
|
+
})]
|
|
3040
|
+
}), c.includes("seconds") && /* @__PURE__ */ J(P.Fragment, {
|
|
3041
|
+
children: [/* @__PURE__ */ y(mo, {
|
|
3042
|
+
variant: v ? "h5" : "h3",
|
|
3043
|
+
value: ":",
|
|
3044
|
+
className: O.separator,
|
|
3045
|
+
ownerState: D
|
|
3046
|
+
}), /* @__PURE__ */ y(ve, {
|
|
3047
|
+
variant: v ? "h5" : "h3",
|
|
3048
|
+
width: v && !l ? Fe : void 0,
|
|
3049
|
+
onClick: () => m("seconds"),
|
|
3050
|
+
selected: r === "seconds",
|
|
3051
|
+
value: n ? w.format(n, "seconds") : "--"
|
|
3052
|
+
})]
|
|
3053
|
+
})]
|
|
3054
|
+
}), I && !v && /* @__PURE__ */ J(As, {
|
|
3055
|
+
className: O.ampmSelection,
|
|
3056
|
+
ownerState: D,
|
|
3057
|
+
children: [/* @__PURE__ */ y(ve, {
|
|
3058
|
+
variant: "subtitle2",
|
|
3059
|
+
selected: S === "am",
|
|
3060
|
+
typographyClassName: O.ampmLabel,
|
|
3061
|
+
value: ye(w, "am"),
|
|
3062
|
+
onClick: C ? void 0 : () => x("am"),
|
|
3063
|
+
disabled: u
|
|
3064
|
+
}), /* @__PURE__ */ y(ve, {
|
|
3065
|
+
variant: "subtitle2",
|
|
3066
|
+
selected: S === "pm",
|
|
3067
|
+
typographyClassName: O.ampmLabel,
|
|
3068
|
+
value: ye(w, "pm"),
|
|
3069
|
+
onClick: C ? void 0 : () => x("pm"),
|
|
3070
|
+
disabled: u
|
|
3071
|
+
})]
|
|
3072
|
+
}), a && v && /* @__PURE__ */ y(ve, {
|
|
3073
|
+
variant: "h5",
|
|
3074
|
+
onClick: () => m("meridiem"),
|
|
3075
|
+
selected: r === "meridiem",
|
|
3076
|
+
value: n && S ? ye(w, S) : "--",
|
|
3077
|
+
width: Fe
|
|
3078
|
+
})]
|
|
3079
|
+
})]
|
|
3080
|
+
}));
|
|
3081
|
+
}
|
|
3082
|
+
process.env.NODE_ENV !== "production" && (Fo.propTypes = {
|
|
3083
|
+
// ----------------------------- Warning --------------------------------
|
|
3084
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
3085
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
3086
|
+
// ----------------------------------------------------------------------
|
|
3087
|
+
ampm: e.bool,
|
|
3088
|
+
ampmInClock: e.bool,
|
|
3089
|
+
/**
|
|
3090
|
+
* Override or extend the styles applied to the component.
|
|
3091
|
+
*/
|
|
3092
|
+
classes: e.object,
|
|
3093
|
+
/**
|
|
3094
|
+
* className applied to the root component.
|
|
3095
|
+
*/
|
|
3096
|
+
className: e.string,
|
|
3097
|
+
disabled: e.bool,
|
|
3098
|
+
/**
|
|
3099
|
+
* If `true`, show the toolbar even in desktop mode.
|
|
3100
|
+
* @default `true` for Desktop, `false` for Mobile.
|
|
3101
|
+
*/
|
|
3102
|
+
hidden: e.bool,
|
|
3103
|
+
isLandscape: e.bool.isRequired,
|
|
3104
|
+
onChange: e.func.isRequired,
|
|
3105
|
+
/**
|
|
3106
|
+
* Callback called when a toolbar is clicked
|
|
3107
|
+
* @template TView
|
|
3108
|
+
* @param {TView} view The view to open
|
|
3109
|
+
*/
|
|
3110
|
+
onViewChange: e.func.isRequired,
|
|
3111
|
+
readOnly: e.bool,
|
|
3112
|
+
/**
|
|
3113
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
3114
|
+
*/
|
|
3115
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
3116
|
+
titleId: e.string,
|
|
3117
|
+
/**
|
|
3118
|
+
* Toolbar date format.
|
|
3119
|
+
*/
|
|
3120
|
+
toolbarFormat: e.string,
|
|
3121
|
+
/**
|
|
3122
|
+
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
3123
|
+
* @default "––"
|
|
3124
|
+
*/
|
|
3125
|
+
toolbarPlaceholder: e.node,
|
|
3126
|
+
toolbarVariant: e.oneOf(["desktop", "mobile"]),
|
|
3127
|
+
value: e.any,
|
|
3128
|
+
/**
|
|
3129
|
+
* Currently visible picker view.
|
|
3130
|
+
*/
|
|
3131
|
+
view: e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]).isRequired,
|
|
3132
|
+
views: e.arrayOf(e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]).isRequired).isRequired
|
|
3133
|
+
});
|
|
3134
|
+
function $o(o, t) {
|
|
3135
|
+
var a, s, n, i, r, l, m, d, p, c, u;
|
|
3136
|
+
const C = De(), k = To(), f = ee({
|
|
3137
|
+
props: o,
|
|
3138
|
+
name: t
|
|
3139
|
+
}), D = (a = f.ampm) != null ? a : C.is12HourCycleInCurrentLocale(), w = P.useMemo(() => {
|
|
3140
|
+
var I;
|
|
3141
|
+
return ((I = f.localeText) == null ? void 0 : I.toolbarTitle) == null ? f.localeText : b({}, f.localeText, {
|
|
3142
|
+
dateTimePickerToolbarTitle: f.localeText.toolbarTitle
|
|
3143
|
+
});
|
|
3144
|
+
}, [f.localeText]), S = (s = f.slots) != null ? s : bo(f.components), x = (n = f.slotProps) != null ? n : f.componentsProps;
|
|
3145
|
+
return b({}, f, Jo({
|
|
3146
|
+
views: f.views,
|
|
3147
|
+
openTo: f.openTo,
|
|
3148
|
+
defaultViews: ["year", "day", "hours", "minutes"],
|
|
3149
|
+
defaultOpenTo: "day"
|
|
3150
|
+
}), {
|
|
3151
|
+
ampm: D,
|
|
3152
|
+
localeText: w,
|
|
3153
|
+
orientation: (i = f.orientation) != null ? i : "portrait",
|
|
3154
|
+
// TODO: Remove from public API
|
|
3155
|
+
disableIgnoringDatePartForTimeValidation: (r = f.disableIgnoringDatePartForTimeValidation) != null ? r : !!(f.minDateTime || f.maxDateTime || // allow time clock to correctly check time validity: https://github.com/mui/mui-x/issues/8520
|
|
3156
|
+
f.disablePast || f.disableFuture),
|
|
3157
|
+
disableFuture: (l = f.disableFuture) != null ? l : !1,
|
|
3158
|
+
disablePast: (m = f.disablePast) != null ? m : !1,
|
|
3159
|
+
minDate: Be(C, (d = f.minDateTime) != null ? d : f.minDate, k.minDate),
|
|
3160
|
+
maxDate: Be(C, (p = f.maxDateTime) != null ? p : f.maxDate, k.maxDate),
|
|
3161
|
+
minTime: (c = f.minDateTime) != null ? c : f.minTime,
|
|
3162
|
+
maxTime: (u = f.maxDateTime) != null ? u : f.maxTime,
|
|
3163
|
+
slots: b({
|
|
3164
|
+
toolbar: Fo,
|
|
3165
|
+
tabs: Vo
|
|
3166
|
+
}, S),
|
|
3167
|
+
slotProps: b({}, x, {
|
|
3168
|
+
toolbar: b({
|
|
3169
|
+
ampm: D
|
|
3170
|
+
}, x == null ? void 0 : x.toolbar)
|
|
3171
|
+
})
|
|
3172
|
+
});
|
|
3173
|
+
}
|
|
3174
|
+
const Es = $("div")({
|
|
3175
|
+
display: "flex",
|
|
3176
|
+
margin: "0 auto"
|
|
3177
|
+
}), Se = ({
|
|
3178
|
+
view: o,
|
|
3179
|
+
onViewChange: t,
|
|
3180
|
+
views: a,
|
|
3181
|
+
focusedView: s,
|
|
3182
|
+
onFocusedViewChange: n,
|
|
3183
|
+
value: i,
|
|
3184
|
+
defaultValue: r,
|
|
3185
|
+
referenceDate: l,
|
|
3186
|
+
onChange: m,
|
|
3187
|
+
className: d,
|
|
3188
|
+
classes: p,
|
|
3189
|
+
disableFuture: c,
|
|
3190
|
+
disablePast: u,
|
|
3191
|
+
minDate: C,
|
|
3192
|
+
minTime: k,
|
|
3193
|
+
maxDate: f,
|
|
3194
|
+
maxTime: D,
|
|
3195
|
+
shouldDisableDate: w,
|
|
3196
|
+
shouldDisableMonth: S,
|
|
3197
|
+
shouldDisableYear: x,
|
|
3198
|
+
shouldDisableTime: I,
|
|
3199
|
+
shouldDisableClock: v,
|
|
3200
|
+
reduceAnimations: h,
|
|
3201
|
+
minutesStep: L,
|
|
3202
|
+
ampm: O,
|
|
3203
|
+
onMonthChange: V,
|
|
3204
|
+
monthsPerRow: j,
|
|
3205
|
+
onYearChange: A,
|
|
3206
|
+
yearsPerRow: H,
|
|
3207
|
+
defaultCalendarMonth: z,
|
|
3208
|
+
components: U,
|
|
3209
|
+
componentsProps: Y,
|
|
3210
|
+
slots: K,
|
|
3211
|
+
slotProps: oe,
|
|
3212
|
+
loading: Te,
|
|
3213
|
+
renderLoading: N,
|
|
3214
|
+
disableHighlightToday: B,
|
|
3215
|
+
readOnly: te,
|
|
3216
|
+
disabled: G,
|
|
3217
|
+
showDaysOutsideCurrentMonth: X,
|
|
3218
|
+
dayOfWeekFormatter: W,
|
|
3219
|
+
sx: R,
|
|
3220
|
+
autoFocus: _,
|
|
3221
|
+
fixedWeekNumber: de,
|
|
3222
|
+
displayWeekNumber: se,
|
|
3223
|
+
timezone: le,
|
|
3224
|
+
disableIgnoringDatePartForTimeValidation: ne,
|
|
3225
|
+
timeSteps: me,
|
|
3226
|
+
skipDisabled: ie,
|
|
3227
|
+
timeViewsCount: Q,
|
|
3228
|
+
shouldRenderTimeInASingleColumn: ge
|
|
3229
|
+
}) => {
|
|
3230
|
+
var q, ae;
|
|
3231
|
+
const we = !!((q = Ze((ae = oe == null ? void 0 : oe.actionBar) != null ? ae : Y == null ? void 0 : Y.actionBar, {})) != null && (q = q.actions) != null && q.length), re = {
|
|
3232
|
+
view: ke(o) ? o : "hours",
|
|
3233
|
+
onViewChange: t,
|
|
3234
|
+
focusedView: s && ke(s) ? s : null,
|
|
3235
|
+
onFocusedViewChange: n,
|
|
3236
|
+
views: a.filter(ke),
|
|
3237
|
+
value: i,
|
|
3238
|
+
defaultValue: r,
|
|
3239
|
+
referenceDate: l,
|
|
3240
|
+
onChange: m,
|
|
3241
|
+
className: d,
|
|
3242
|
+
classes: p,
|
|
3243
|
+
disableFuture: c,
|
|
3244
|
+
disablePast: u,
|
|
3245
|
+
minTime: k,
|
|
3246
|
+
maxTime: D,
|
|
3247
|
+
shouldDisableTime: I,
|
|
3248
|
+
shouldDisableClock: v,
|
|
3249
|
+
minutesStep: L,
|
|
3250
|
+
ampm: O,
|
|
3251
|
+
components: U,
|
|
3252
|
+
componentsProps: Y,
|
|
3253
|
+
slots: K,
|
|
3254
|
+
slotProps: oe,
|
|
3255
|
+
readOnly: te,
|
|
3256
|
+
disabled: G,
|
|
3257
|
+
autoFocus: _,
|
|
3258
|
+
disableIgnoringDatePartForTimeValidation: ne,
|
|
3259
|
+
timeSteps: me,
|
|
3260
|
+
skipDisabled: ie,
|
|
3261
|
+
timezone: le
|
|
3262
|
+
};
|
|
3263
|
+
return /* @__PURE__ */ J(P.Fragment, {
|
|
3264
|
+
children: [/* @__PURE__ */ J(Es, {
|
|
3265
|
+
children: [/* @__PURE__ */ y(Xo, {
|
|
3266
|
+
view: je(o) ? o : "day",
|
|
3267
|
+
onViewChange: t,
|
|
3268
|
+
views: a.filter(je),
|
|
3269
|
+
focusedView: s && je(s) ? s : null,
|
|
3270
|
+
onFocusedViewChange: n,
|
|
3271
|
+
value: i,
|
|
3272
|
+
defaultValue: r,
|
|
3273
|
+
referenceDate: l,
|
|
3274
|
+
onChange: m,
|
|
3275
|
+
className: d,
|
|
3276
|
+
classes: p,
|
|
3277
|
+
disableFuture: c,
|
|
3278
|
+
disablePast: u,
|
|
3279
|
+
minDate: C,
|
|
3280
|
+
maxDate: f,
|
|
3281
|
+
shouldDisableDate: w,
|
|
3282
|
+
shouldDisableMonth: S,
|
|
3283
|
+
shouldDisableYear: x,
|
|
3284
|
+
reduceAnimations: h,
|
|
3285
|
+
onMonthChange: V,
|
|
3286
|
+
monthsPerRow: j,
|
|
3287
|
+
onYearChange: A,
|
|
3288
|
+
yearsPerRow: H,
|
|
3289
|
+
defaultCalendarMonth: z,
|
|
3290
|
+
components: U,
|
|
3291
|
+
componentsProps: Y,
|
|
3292
|
+
slots: K,
|
|
3293
|
+
slotProps: oe,
|
|
3294
|
+
loading: Te,
|
|
3295
|
+
renderLoading: N,
|
|
3296
|
+
disableHighlightToday: B,
|
|
3297
|
+
readOnly: te,
|
|
3298
|
+
disabled: G,
|
|
3299
|
+
showDaysOutsideCurrentMonth: X,
|
|
3300
|
+
dayOfWeekFormatter: W,
|
|
3301
|
+
sx: R,
|
|
3302
|
+
autoFocus: _,
|
|
3303
|
+
fixedWeekNumber: de,
|
|
3304
|
+
displayWeekNumber: se,
|
|
3305
|
+
timezone: le
|
|
3306
|
+
}), Q > 0 && /* @__PURE__ */ J(P.Fragment, {
|
|
3307
|
+
children: [/* @__PURE__ */ y(io, {
|
|
3308
|
+
orientation: "vertical"
|
|
3309
|
+
}), ge ? ks(b({}, re, {
|
|
3310
|
+
view: "hours",
|
|
3311
|
+
views: ["hours"],
|
|
3312
|
+
focusedView: s && ke(s) ? "hours" : null,
|
|
3313
|
+
sx: b({
|
|
3314
|
+
width: "auto",
|
|
3315
|
+
[`&.${qt.root}`]: {
|
|
3316
|
+
maxHeight: Zo
|
|
3317
|
+
}
|
|
3318
|
+
}, Array.isArray(R) ? R : [R])
|
|
3319
|
+
})) : Ps(b({}, re, {
|
|
3320
|
+
view: ke(o) ? o : "hours",
|
|
3321
|
+
views: a.filter(ke),
|
|
3322
|
+
focusedView: s && ke(s) ? s : null,
|
|
3323
|
+
sx: b({
|
|
3324
|
+
borderBottom: 0,
|
|
3325
|
+
width: "auto",
|
|
3326
|
+
[`.${Zt.root}`]: {
|
|
3327
|
+
maxHeight: "100%"
|
|
3328
|
+
}
|
|
3329
|
+
}, Array.isArray(R) ? R : [R])
|
|
3330
|
+
}))]
|
|
3331
|
+
})]
|
|
3332
|
+
}), we && /* @__PURE__ */ y(io, {})]
|
|
3333
|
+
});
|
|
3334
|
+
}, _o = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
3335
|
+
var s, n, i, r, l, m, d;
|
|
3336
|
+
const p = Pe(), c = De(), u = $o(t, "MuiDesktopDateTimePicker"), {
|
|
3337
|
+
shouldRenderTimeInASingleColumn: C,
|
|
3338
|
+
thresholdToRenderTimeInASingleColumn: k,
|
|
3339
|
+
views: f,
|
|
3340
|
+
timeSteps: D
|
|
3341
|
+
} = Ss(u), w = !u.viewRenderers || Object.keys(u.viewRenderers).length === 0, S = (
|
|
3342
|
+
// we can only ensure the expected two-column layout if none of the renderers are overridden
|
|
3343
|
+
w ? {
|
|
3344
|
+
day: Se,
|
|
3345
|
+
month: Se,
|
|
3346
|
+
year: Se,
|
|
3347
|
+
hours: Se,
|
|
3348
|
+
minutes: Se,
|
|
3349
|
+
seconds: Se,
|
|
3350
|
+
meridiem: Se
|
|
3351
|
+
} : b({
|
|
3352
|
+
day: Ve,
|
|
3353
|
+
month: Ve,
|
|
3354
|
+
year: Ve,
|
|
3355
|
+
hours: null,
|
|
3356
|
+
minutes: null,
|
|
3357
|
+
seconds: null,
|
|
3358
|
+
meridiem: null
|
|
3359
|
+
}, u.viewRenderers)
|
|
3360
|
+
), x = (s = u.ampmInClock) != null ? s : !0, I = w ? ["accept"] : [], v = b({}, u, {
|
|
3361
|
+
viewRenderers: S,
|
|
3362
|
+
format: Ro(c, u),
|
|
3363
|
+
views: f,
|
|
3364
|
+
yearsPerRow: (n = u.yearsPerRow) != null ? n : 4,
|
|
3365
|
+
ampmInClock: x,
|
|
3366
|
+
timeSteps: D,
|
|
3367
|
+
thresholdToRenderTimeInASingleColumn: k,
|
|
3368
|
+
shouldRenderTimeInASingleColumn: C,
|
|
3369
|
+
slots: b({
|
|
3370
|
+
field: to,
|
|
3371
|
+
openPickerIcon: it
|
|
3372
|
+
}, u.slots),
|
|
3373
|
+
slotProps: b({}, u.slotProps, {
|
|
3374
|
+
field: (L) => {
|
|
3375
|
+
var O;
|
|
3376
|
+
return b({}, Ze((O = u.slotProps) == null ? void 0 : O.field, L), go(u), {
|
|
3377
|
+
ref: a
|
|
3378
|
+
});
|
|
3379
|
+
},
|
|
3380
|
+
toolbar: b({
|
|
3381
|
+
hidden: !0,
|
|
3382
|
+
ampmInClock: x,
|
|
3383
|
+
toolbarVariant: w ? "desktop" : "mobile"
|
|
3384
|
+
}, (i = u.slotProps) == null ? void 0 : i.toolbar),
|
|
3385
|
+
tabs: b({
|
|
3386
|
+
hidden: !0
|
|
3387
|
+
}, (r = u.slotProps) == null ? void 0 : r.tabs),
|
|
3388
|
+
actionBar: b({
|
|
3389
|
+
actions: I
|
|
3390
|
+
}, (l = u.slotProps) == null ? void 0 : l.actionBar)
|
|
3391
|
+
})
|
|
3392
|
+
}), {
|
|
3393
|
+
renderPicker: h
|
|
3394
|
+
} = et({
|
|
3395
|
+
props: v,
|
|
3396
|
+
valueManager: Oe,
|
|
3397
|
+
valueType: "date-time",
|
|
3398
|
+
getOpenDialogAriaText: (m = (d = v.localeText) == null ? void 0 : d.openDatePickerDialogue) != null ? m : p.openDatePickerDialogue,
|
|
3399
|
+
validator: oo
|
|
3400
|
+
});
|
|
3401
|
+
return h();
|
|
3402
|
+
});
|
|
3403
|
+
_o.propTypes = {
|
|
3404
|
+
// ----------------------------- Warning --------------------------------
|
|
3405
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
3406
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
3407
|
+
// ----------------------------------------------------------------------
|
|
3408
|
+
/**
|
|
3409
|
+
* 12h/24h view for hour selection clock.
|
|
3410
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
3411
|
+
*/
|
|
3412
|
+
ampm: e.bool,
|
|
3413
|
+
/**
|
|
3414
|
+
* Display ampm controls under the clock (instead of in the toolbar).
|
|
3415
|
+
* @default true on desktop, false on mobile
|
|
3416
|
+
*/
|
|
3417
|
+
ampmInClock: e.bool,
|
|
3418
|
+
/**
|
|
3419
|
+
* If `true`, the main element is focused during the first mount.
|
|
3420
|
+
* This main element is:
|
|
3421
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
3422
|
+
* - the `input` element if there is a field rendered.
|
|
3423
|
+
*/
|
|
3424
|
+
autoFocus: e.bool,
|
|
3425
|
+
/**
|
|
3426
|
+
* Class name applied to the root element.
|
|
3427
|
+
*/
|
|
3428
|
+
className: e.string,
|
|
3429
|
+
/**
|
|
3430
|
+
* If `true`, the popover or modal will close after submitting the full date.
|
|
3431
|
+
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
3432
|
+
*/
|
|
3433
|
+
closeOnSelect: e.bool,
|
|
3434
|
+
/**
|
|
3435
|
+
* Overridable components.
|
|
3436
|
+
* @default {}
|
|
3437
|
+
* @deprecated Please use `slots`.
|
|
3438
|
+
*/
|
|
3439
|
+
components: e.object,
|
|
3440
|
+
/**
|
|
3441
|
+
* The props used for each component slot.
|
|
3442
|
+
* @default {}
|
|
3443
|
+
* @deprecated Please use `slotProps`.
|
|
3444
|
+
*/
|
|
3445
|
+
componentsProps: e.object,
|
|
3446
|
+
/**
|
|
3447
|
+
* Formats the day of week displayed in the calendar header.
|
|
3448
|
+
* @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
|
|
3449
|
+
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
3450
|
+
* @returns {string} The name to display.
|
|
3451
|
+
* @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
3452
|
+
*/
|
|
3453
|
+
dayOfWeekFormatter: e.func,
|
|
3454
|
+
/**
|
|
3455
|
+
* Default calendar month displayed when `value` and `defaultValue` are empty.
|
|
3456
|
+
* @deprecated Consider using `referenceDate` instead.
|
|
3457
|
+
*/
|
|
3458
|
+
defaultCalendarMonth: e.any,
|
|
3459
|
+
/**
|
|
3460
|
+
* The default value.
|
|
3461
|
+
* Used when the component is not controlled.
|
|
3462
|
+
*/
|
|
3463
|
+
defaultValue: e.any,
|
|
3464
|
+
/**
|
|
3465
|
+
* If `true`, the picker and text field are disabled.
|
|
3466
|
+
* @default false
|
|
3467
|
+
*/
|
|
3468
|
+
disabled: e.bool,
|
|
3469
|
+
/**
|
|
3470
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
3471
|
+
* @default false
|
|
3472
|
+
*/
|
|
3473
|
+
disableFuture: e.bool,
|
|
3474
|
+
/**
|
|
3475
|
+
* If `true`, today's date is rendering without highlighting with circle.
|
|
3476
|
+
* @default false
|
|
3477
|
+
*/
|
|
3478
|
+
disableHighlightToday: e.bool,
|
|
3479
|
+
/**
|
|
3480
|
+
* Do not ignore date part when validating min/max time.
|
|
3481
|
+
* @default false
|
|
3482
|
+
*/
|
|
3483
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
3484
|
+
/**
|
|
3485
|
+
* If `true`, the open picker button will not be rendered (renders only the field).
|
|
3486
|
+
* @default false
|
|
3487
|
+
*/
|
|
3488
|
+
disableOpenPicker: e.bool,
|
|
3489
|
+
/**
|
|
3490
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
3491
|
+
* @default false
|
|
3492
|
+
*/
|
|
3493
|
+
disablePast: e.bool,
|
|
3494
|
+
/**
|
|
3495
|
+
* If `true`, the week number will be display in the calendar.
|
|
3496
|
+
*/
|
|
3497
|
+
displayWeekNumber: e.bool,
|
|
3498
|
+
/**
|
|
3499
|
+
* Calendar will show more weeks in order to match this value.
|
|
3500
|
+
* Put it to 6 for having fix number of week in Gregorian calendars
|
|
3501
|
+
* @default undefined
|
|
3502
|
+
*/
|
|
3503
|
+
fixedWeekNumber: e.number,
|
|
3504
|
+
/**
|
|
3505
|
+
* Format of the date when rendered in the input(s).
|
|
3506
|
+
* Defaults to localized format based on the used `views`.
|
|
3507
|
+
*/
|
|
3508
|
+
format: e.string,
|
|
3509
|
+
/**
|
|
3510
|
+
* Density of the format when rendered in the input.
|
|
3511
|
+
* Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
|
|
3512
|
+
* @default "dense"
|
|
3513
|
+
*/
|
|
3514
|
+
formatDensity: e.oneOf(["dense", "spacious"]),
|
|
3515
|
+
/**
|
|
3516
|
+
* Pass a ref to the `input` element.
|
|
3517
|
+
*/
|
|
3518
|
+
inputRef: We,
|
|
3519
|
+
/**
|
|
3520
|
+
* The label content.
|
|
3521
|
+
*/
|
|
3522
|
+
label: e.node,
|
|
3523
|
+
/**
|
|
3524
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
3525
|
+
* Can be used to preload information and show it in calendar.
|
|
3526
|
+
* @default false
|
|
3527
|
+
*/
|
|
3528
|
+
loading: e.bool,
|
|
3529
|
+
/**
|
|
3530
|
+
* Locale for components texts.
|
|
3531
|
+
* Allows overriding texts coming from `LocalizationProvider` and `theme`.
|
|
3532
|
+
*/
|
|
3533
|
+
localeText: e.object,
|
|
3534
|
+
/**
|
|
3535
|
+
* Maximal selectable date.
|
|
3536
|
+
*/
|
|
3537
|
+
maxDate: e.any,
|
|
3538
|
+
/**
|
|
3539
|
+
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
3540
|
+
*/
|
|
3541
|
+
maxDateTime: e.any,
|
|
3542
|
+
/**
|
|
3543
|
+
* Maximal selectable time.
|
|
3544
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
3545
|
+
*/
|
|
3546
|
+
maxTime: e.any,
|
|
3547
|
+
/**
|
|
3548
|
+
* Minimal selectable date.
|
|
3549
|
+
*/
|
|
3550
|
+
minDate: e.any,
|
|
3551
|
+
/**
|
|
3552
|
+
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
3553
|
+
*/
|
|
3554
|
+
minDateTime: e.any,
|
|
3555
|
+
/**
|
|
3556
|
+
* Minimal selectable time.
|
|
3557
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
3558
|
+
*/
|
|
3559
|
+
minTime: e.any,
|
|
3560
|
+
/**
|
|
3561
|
+
* Step over minutes.
|
|
3562
|
+
* @default 1
|
|
3563
|
+
*/
|
|
3564
|
+
minutesStep: e.number,
|
|
3565
|
+
/**
|
|
3566
|
+
* Months rendered per row.
|
|
3567
|
+
* @default 3
|
|
3568
|
+
*/
|
|
3569
|
+
monthsPerRow: e.oneOf([3, 4]),
|
|
3570
|
+
/**
|
|
3571
|
+
* Name attribute used by the `input` element in the Field.
|
|
3572
|
+
*/
|
|
3573
|
+
name: e.string,
|
|
3574
|
+
/**
|
|
3575
|
+
* Callback fired when the value is accepted.
|
|
3576
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
3577
|
+
* @param {TValue} value The value that was just accepted.
|
|
3578
|
+
*/
|
|
3579
|
+
onAccept: e.func,
|
|
3580
|
+
/**
|
|
3581
|
+
* Callback fired when the value changes.
|
|
3582
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
3583
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
3584
|
+
* @param {TValue} value The new value.
|
|
3585
|
+
* @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
|
|
3586
|
+
*/
|
|
3587
|
+
onChange: e.func,
|
|
3588
|
+
/**
|
|
3589
|
+
* Callback fired when the popup requests to be closed.
|
|
3590
|
+
* Use in controlled mode (see `open`).
|
|
3591
|
+
*/
|
|
3592
|
+
onClose: e.func,
|
|
3593
|
+
/**
|
|
3594
|
+
* Callback fired when the error associated to the current value changes.
|
|
3595
|
+
* If the error has a non-null value, then the `TextField` will be rendered in `error` state.
|
|
3596
|
+
*
|
|
3597
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
3598
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
3599
|
+
* @param {TError} error The new error describing why the current value is not valid.
|
|
3600
|
+
* @param {TValue} value The value associated to the error.
|
|
3601
|
+
*/
|
|
3602
|
+
onError: e.func,
|
|
3603
|
+
/**
|
|
3604
|
+
* Callback fired on month change.
|
|
3605
|
+
* @template TDate
|
|
3606
|
+
* @param {TDate} month The new month.
|
|
3607
|
+
*/
|
|
3608
|
+
onMonthChange: e.func,
|
|
3609
|
+
/**
|
|
3610
|
+
* Callback fired when the popup requests to be opened.
|
|
3611
|
+
* Use in controlled mode (see `open`).
|
|
3612
|
+
*/
|
|
3613
|
+
onOpen: e.func,
|
|
3614
|
+
/**
|
|
3615
|
+
* Callback fired when the selected sections change.
|
|
3616
|
+
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
3617
|
+
*/
|
|
3618
|
+
onSelectedSectionsChange: e.func,
|
|
3619
|
+
/**
|
|
3620
|
+
* Callback fired on view change.
|
|
3621
|
+
* @template TView
|
|
3622
|
+
* @param {TView} view The new view.
|
|
3623
|
+
*/
|
|
3624
|
+
onViewChange: e.func,
|
|
3625
|
+
/**
|
|
3626
|
+
* Callback fired on year change.
|
|
3627
|
+
* @template TDate
|
|
3628
|
+
* @param {TDate} year The new year.
|
|
3629
|
+
*/
|
|
3630
|
+
onYearChange: e.func,
|
|
3631
|
+
/**
|
|
3632
|
+
* Control the popup or dialog open state.
|
|
3633
|
+
* @default false
|
|
3634
|
+
*/
|
|
3635
|
+
open: e.bool,
|
|
3636
|
+
/**
|
|
3637
|
+
* The default visible view.
|
|
3638
|
+
* Used when the component view is not controlled.
|
|
3639
|
+
* Must be a valid option from `views` list.
|
|
3640
|
+
*/
|
|
3641
|
+
openTo: e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]),
|
|
3642
|
+
/**
|
|
3643
|
+
* Force rendering in particular orientation.
|
|
3644
|
+
*/
|
|
3645
|
+
orientation: e.oneOf(["landscape", "portrait"]),
|
|
3646
|
+
readOnly: e.bool,
|
|
3647
|
+
/**
|
|
3648
|
+
* If `true`, disable heavy animations.
|
|
3649
|
+
* @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
|
|
3650
|
+
*/
|
|
3651
|
+
reduceAnimations: e.bool,
|
|
3652
|
+
/**
|
|
3653
|
+
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
3654
|
+
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
3655
|
+
*/
|
|
3656
|
+
referenceDate: e.any,
|
|
3657
|
+
/**
|
|
3658
|
+
* Component displaying when passed `loading` true.
|
|
3659
|
+
* @returns {React.ReactNode} The node to render when loading.
|
|
3660
|
+
* @default () => <span data-mui-test="loading-progress">...</span>
|
|
3661
|
+
*/
|
|
3662
|
+
renderLoading: e.func,
|
|
3663
|
+
/**
|
|
3664
|
+
* The currently selected sections.
|
|
3665
|
+
* This prop accept four formats:
|
|
3666
|
+
* 1. If a number is provided, the section at this index will be selected.
|
|
3667
|
+
* 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
|
|
3668
|
+
* 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
3669
|
+
* 4. If `null` is provided, no section will be selected
|
|
3670
|
+
* If not provided, the selected sections will be handled internally.
|
|
3671
|
+
*/
|
|
3672
|
+
selectedSections: e.oneOfType([e.oneOf(["all", "day", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), e.number, e.shape({
|
|
3673
|
+
endIndex: e.number.isRequired,
|
|
3674
|
+
startIndex: e.number.isRequired
|
|
3675
|
+
})]),
|
|
3676
|
+
/**
|
|
3677
|
+
* Disable specific clock time.
|
|
3678
|
+
* @param {number} clockValue The value to check.
|
|
3679
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
3680
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
3681
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
3682
|
+
*/
|
|
3683
|
+
shouldDisableClock: e.func,
|
|
3684
|
+
/**
|
|
3685
|
+
* Disable specific date.
|
|
3686
|
+
*
|
|
3687
|
+
* Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
3688
|
+
*
|
|
3689
|
+
* @template TDate
|
|
3690
|
+
* @param {TDate} day The date to test.
|
|
3691
|
+
* @returns {boolean} If `true` the date will be disabled.
|
|
3692
|
+
*/
|
|
3693
|
+
shouldDisableDate: e.func,
|
|
3694
|
+
/**
|
|
3695
|
+
* Disable specific month.
|
|
3696
|
+
* @template TDate
|
|
3697
|
+
* @param {TDate} month The month to test.
|
|
3698
|
+
* @returns {boolean} If `true`, the month will be disabled.
|
|
3699
|
+
*/
|
|
3700
|
+
shouldDisableMonth: e.func,
|
|
3701
|
+
/**
|
|
3702
|
+
* Disable specific time.
|
|
3703
|
+
* @template TDate
|
|
3704
|
+
* @param {TDate} value The value to check.
|
|
3705
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
3706
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
3707
|
+
*/
|
|
3708
|
+
shouldDisableTime: e.func,
|
|
3709
|
+
/**
|
|
3710
|
+
* Disable specific year.
|
|
3711
|
+
* @template TDate
|
|
3712
|
+
* @param {TDate} year The year to test.
|
|
3713
|
+
* @returns {boolean} If `true`, the year will be disabled.
|
|
3714
|
+
*/
|
|
3715
|
+
shouldDisableYear: e.func,
|
|
3716
|
+
/**
|
|
3717
|
+
* If `true`, days outside the current month are rendered:
|
|
3718
|
+
*
|
|
3719
|
+
* - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
|
|
3720
|
+
*
|
|
3721
|
+
* - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
|
|
3722
|
+
*
|
|
3723
|
+
* - ignored if `calendars` equals more than `1` on range pickers.
|
|
3724
|
+
* @default false
|
|
3725
|
+
*/
|
|
3726
|
+
showDaysOutsideCurrentMonth: e.bool,
|
|
3727
|
+
/**
|
|
3728
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
3729
|
+
* @default false
|
|
3730
|
+
*/
|
|
3731
|
+
skipDisabled: e.bool,
|
|
3732
|
+
/**
|
|
3733
|
+
* The props used for each component slot.
|
|
3734
|
+
* @default {}
|
|
3735
|
+
*/
|
|
3736
|
+
slotProps: e.object,
|
|
3737
|
+
/**
|
|
3738
|
+
* Overridable component slots.
|
|
3739
|
+
* @default {}
|
|
3740
|
+
*/
|
|
3741
|
+
slots: e.object,
|
|
3742
|
+
/**
|
|
3743
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
3744
|
+
*/
|
|
3745
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
3746
|
+
/**
|
|
3747
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
3748
|
+
* @default 24
|
|
3749
|
+
*/
|
|
3750
|
+
thresholdToRenderTimeInASingleColumn: e.number,
|
|
3751
|
+
/**
|
|
3752
|
+
* The time steps between two time unit options.
|
|
3753
|
+
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
3754
|
+
* When single column time renderer is used, only `timeStep.minutes` will be used.
|
|
3755
|
+
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
3756
|
+
*/
|
|
3757
|
+
timeSteps: e.shape({
|
|
3758
|
+
hours: e.number,
|
|
3759
|
+
minutes: e.number,
|
|
3760
|
+
seconds: e.number
|
|
3761
|
+
}),
|
|
3762
|
+
/**
|
|
3763
|
+
* Choose which timezone to use for the value.
|
|
3764
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
3765
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
3766
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
3767
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
3768
|
+
*/
|
|
3769
|
+
timezone: e.string,
|
|
3770
|
+
/**
|
|
3771
|
+
* The selected value.
|
|
3772
|
+
* Used when the component is controlled.
|
|
3773
|
+
*/
|
|
3774
|
+
value: e.any,
|
|
3775
|
+
/**
|
|
3776
|
+
* The visible view.
|
|
3777
|
+
* Used when the component view is controlled.
|
|
3778
|
+
* Must be a valid option from `views` list.
|
|
3779
|
+
*/
|
|
3780
|
+
view: e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]),
|
|
3781
|
+
/**
|
|
3782
|
+
* Define custom view renderers for each section.
|
|
3783
|
+
* If `null`, the section will only have field editing.
|
|
3784
|
+
* If `undefined`, internally defined view will be the used.
|
|
3785
|
+
*/
|
|
3786
|
+
viewRenderers: e.shape({
|
|
3787
|
+
day: e.func,
|
|
3788
|
+
hours: e.func,
|
|
3789
|
+
meridiem: e.func,
|
|
3790
|
+
minutes: e.func,
|
|
3791
|
+
month: e.func,
|
|
3792
|
+
seconds: e.func,
|
|
3793
|
+
year: e.func
|
|
3794
|
+
}),
|
|
3795
|
+
/**
|
|
3796
|
+
* Available views.
|
|
3797
|
+
*/
|
|
3798
|
+
views: e.arrayOf(e.oneOf(["day", "hours", "minutes", "month", "seconds", "year"]).isRequired),
|
|
3799
|
+
/**
|
|
3800
|
+
* Years rendered per row.
|
|
3801
|
+
* @default 4
|
|
3802
|
+
*/
|
|
3803
|
+
yearsPerRow: e.oneOf([3, 4])
|
|
3804
|
+
};
|
|
3805
|
+
const Lo = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
3806
|
+
var s, n, i, r, l;
|
|
3807
|
+
const m = Pe(), d = De(), p = $o(t, "MuiMobileDateTimePicker"), c = b({
|
|
3808
|
+
day: Ve,
|
|
3809
|
+
month: Ve,
|
|
3810
|
+
year: Ve,
|
|
3811
|
+
hours: Ue,
|
|
3812
|
+
minutes: Ue,
|
|
3813
|
+
seconds: Ue
|
|
3814
|
+
}, p.viewRenderers), u = (s = p.ampmInClock) != null ? s : !1, C = b({}, p, {
|
|
3815
|
+
viewRenderers: c,
|
|
3816
|
+
format: Ro(d, p),
|
|
3817
|
+
ampmInClock: u,
|
|
3818
|
+
slots: b({
|
|
3819
|
+
field: to
|
|
3820
|
+
}, p.slots),
|
|
3821
|
+
slotProps: b({}, p.slotProps, {
|
|
3822
|
+
field: (f) => {
|
|
3823
|
+
var D;
|
|
3824
|
+
return b({}, Ze((D = p.slotProps) == null ? void 0 : D.field, f), go(p), {
|
|
3825
|
+
ref: a
|
|
3826
|
+
});
|
|
3827
|
+
},
|
|
3828
|
+
toolbar: b({
|
|
3829
|
+
hidden: !1,
|
|
3830
|
+
ampmInClock: u
|
|
3831
|
+
}, (n = p.slotProps) == null ? void 0 : n.toolbar),
|
|
3832
|
+
tabs: b({
|
|
3833
|
+
hidden: !1
|
|
3834
|
+
}, (i = p.slotProps) == null ? void 0 : i.tabs)
|
|
3835
|
+
})
|
|
3836
|
+
}), {
|
|
3837
|
+
renderPicker: k
|
|
3838
|
+
} = ot({
|
|
3839
|
+
props: C,
|
|
3840
|
+
valueManager: Oe,
|
|
3841
|
+
valueType: "date-time",
|
|
3842
|
+
getOpenDialogAriaText: (r = (l = C.localeText) == null ? void 0 : l.openDatePickerDialogue) != null ? r : m.openDatePickerDialogue,
|
|
3843
|
+
validator: oo
|
|
3844
|
+
});
|
|
3845
|
+
return k();
|
|
3846
|
+
});
|
|
3847
|
+
Lo.propTypes = {
|
|
3848
|
+
// ----------------------------- Warning --------------------------------
|
|
3849
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
3850
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
3851
|
+
// ----------------------------------------------------------------------
|
|
3852
|
+
/**
|
|
3853
|
+
* 12h/24h view for hour selection clock.
|
|
3854
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
3855
|
+
*/
|
|
3856
|
+
ampm: e.bool,
|
|
3857
|
+
/**
|
|
3858
|
+
* Display ampm controls under the clock (instead of in the toolbar).
|
|
3859
|
+
* @default true on desktop, false on mobile
|
|
3860
|
+
*/
|
|
3861
|
+
ampmInClock: e.bool,
|
|
3862
|
+
/**
|
|
3863
|
+
* If `true`, the main element is focused during the first mount.
|
|
3864
|
+
* This main element is:
|
|
3865
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
3866
|
+
* - the `input` element if there is a field rendered.
|
|
3867
|
+
*/
|
|
3868
|
+
autoFocus: e.bool,
|
|
3869
|
+
/**
|
|
3870
|
+
* Class name applied to the root element.
|
|
3871
|
+
*/
|
|
3872
|
+
className: e.string,
|
|
3873
|
+
/**
|
|
3874
|
+
* If `true`, the popover or modal will close after submitting the full date.
|
|
3875
|
+
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
3876
|
+
*/
|
|
3877
|
+
closeOnSelect: e.bool,
|
|
3878
|
+
/**
|
|
3879
|
+
* Overridable components.
|
|
3880
|
+
* @default {}
|
|
3881
|
+
* @deprecated Please use `slots`.
|
|
3882
|
+
*/
|
|
3883
|
+
components: e.object,
|
|
3884
|
+
/**
|
|
3885
|
+
* The props used for each component slot.
|
|
3886
|
+
* @default {}
|
|
3887
|
+
* @deprecated Please use `slotProps`.
|
|
3888
|
+
*/
|
|
3889
|
+
componentsProps: e.object,
|
|
3890
|
+
/**
|
|
3891
|
+
* Formats the day of week displayed in the calendar header.
|
|
3892
|
+
* @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
|
|
3893
|
+
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
3894
|
+
* @returns {string} The name to display.
|
|
3895
|
+
* @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
3896
|
+
*/
|
|
3897
|
+
dayOfWeekFormatter: e.func,
|
|
3898
|
+
/**
|
|
3899
|
+
* Default calendar month displayed when `value` and `defaultValue` are empty.
|
|
3900
|
+
* @deprecated Consider using `referenceDate` instead.
|
|
3901
|
+
*/
|
|
3902
|
+
defaultCalendarMonth: e.any,
|
|
3903
|
+
/**
|
|
3904
|
+
* The default value.
|
|
3905
|
+
* Used when the component is not controlled.
|
|
3906
|
+
*/
|
|
3907
|
+
defaultValue: e.any,
|
|
3908
|
+
/**
|
|
3909
|
+
* If `true`, the picker and text field are disabled.
|
|
3910
|
+
* @default false
|
|
3911
|
+
*/
|
|
3912
|
+
disabled: e.bool,
|
|
3913
|
+
/**
|
|
3914
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
3915
|
+
* @default false
|
|
3916
|
+
*/
|
|
3917
|
+
disableFuture: e.bool,
|
|
3918
|
+
/**
|
|
3919
|
+
* If `true`, today's date is rendering without highlighting with circle.
|
|
3920
|
+
* @default false
|
|
3921
|
+
*/
|
|
3922
|
+
disableHighlightToday: e.bool,
|
|
3923
|
+
/**
|
|
3924
|
+
* Do not ignore date part when validating min/max time.
|
|
3925
|
+
* @default false
|
|
3926
|
+
*/
|
|
3927
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
3928
|
+
/**
|
|
3929
|
+
* If `true`, the open picker button will not be rendered (renders only the field).
|
|
3930
|
+
* @default false
|
|
3931
|
+
*/
|
|
3932
|
+
disableOpenPicker: e.bool,
|
|
3933
|
+
/**
|
|
3934
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
3935
|
+
* @default false
|
|
3936
|
+
*/
|
|
3937
|
+
disablePast: e.bool,
|
|
3938
|
+
/**
|
|
3939
|
+
* If `true`, the week number will be display in the calendar.
|
|
3940
|
+
*/
|
|
3941
|
+
displayWeekNumber: e.bool,
|
|
3942
|
+
/**
|
|
3943
|
+
* Calendar will show more weeks in order to match this value.
|
|
3944
|
+
* Put it to 6 for having fix number of week in Gregorian calendars
|
|
3945
|
+
* @default undefined
|
|
3946
|
+
*/
|
|
3947
|
+
fixedWeekNumber: e.number,
|
|
3948
|
+
/**
|
|
3949
|
+
* Format of the date when rendered in the input(s).
|
|
3950
|
+
* Defaults to localized format based on the used `views`.
|
|
3951
|
+
*/
|
|
3952
|
+
format: e.string,
|
|
3953
|
+
/**
|
|
3954
|
+
* Density of the format when rendered in the input.
|
|
3955
|
+
* Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
|
|
3956
|
+
* @default "dense"
|
|
3957
|
+
*/
|
|
3958
|
+
formatDensity: e.oneOf(["dense", "spacious"]),
|
|
3959
|
+
/**
|
|
3960
|
+
* Pass a ref to the `input` element.
|
|
3961
|
+
*/
|
|
3962
|
+
inputRef: We,
|
|
3963
|
+
/**
|
|
3964
|
+
* The label content.
|
|
3965
|
+
*/
|
|
3966
|
+
label: e.node,
|
|
3967
|
+
/**
|
|
3968
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
3969
|
+
* Can be used to preload information and show it in calendar.
|
|
3970
|
+
* @default false
|
|
3971
|
+
*/
|
|
3972
|
+
loading: e.bool,
|
|
3973
|
+
/**
|
|
3974
|
+
* Locale for components texts.
|
|
3975
|
+
* Allows overriding texts coming from `LocalizationProvider` and `theme`.
|
|
3976
|
+
*/
|
|
3977
|
+
localeText: e.object,
|
|
3978
|
+
/**
|
|
3979
|
+
* Maximal selectable date.
|
|
3980
|
+
*/
|
|
3981
|
+
maxDate: e.any,
|
|
3982
|
+
/**
|
|
3983
|
+
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
3984
|
+
*/
|
|
3985
|
+
maxDateTime: e.any,
|
|
3986
|
+
/**
|
|
3987
|
+
* Maximal selectable time.
|
|
3988
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
3989
|
+
*/
|
|
3990
|
+
maxTime: e.any,
|
|
3991
|
+
/**
|
|
3992
|
+
* Minimal selectable date.
|
|
3993
|
+
*/
|
|
3994
|
+
minDate: e.any,
|
|
3995
|
+
/**
|
|
3996
|
+
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
3997
|
+
*/
|
|
3998
|
+
minDateTime: e.any,
|
|
3999
|
+
/**
|
|
4000
|
+
* Minimal selectable time.
|
|
4001
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
4002
|
+
*/
|
|
4003
|
+
minTime: e.any,
|
|
4004
|
+
/**
|
|
4005
|
+
* Step over minutes.
|
|
4006
|
+
* @default 1
|
|
4007
|
+
*/
|
|
4008
|
+
minutesStep: e.number,
|
|
4009
|
+
/**
|
|
4010
|
+
* Months rendered per row.
|
|
4011
|
+
* @default 3
|
|
4012
|
+
*/
|
|
4013
|
+
monthsPerRow: e.oneOf([3, 4]),
|
|
4014
|
+
/**
|
|
4015
|
+
* Name attribute used by the `input` element in the Field.
|
|
4016
|
+
*/
|
|
4017
|
+
name: e.string,
|
|
4018
|
+
/**
|
|
4019
|
+
* Callback fired when the value is accepted.
|
|
4020
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
4021
|
+
* @param {TValue} value The value that was just accepted.
|
|
4022
|
+
*/
|
|
4023
|
+
onAccept: e.func,
|
|
4024
|
+
/**
|
|
4025
|
+
* Callback fired when the value changes.
|
|
4026
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
4027
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
4028
|
+
* @param {TValue} value The new value.
|
|
4029
|
+
* @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
|
|
4030
|
+
*/
|
|
4031
|
+
onChange: e.func,
|
|
4032
|
+
/**
|
|
4033
|
+
* Callback fired when the popup requests to be closed.
|
|
4034
|
+
* Use in controlled mode (see `open`).
|
|
4035
|
+
*/
|
|
4036
|
+
onClose: e.func,
|
|
4037
|
+
/**
|
|
4038
|
+
* Callback fired when the error associated to the current value changes.
|
|
4039
|
+
* If the error has a non-null value, then the `TextField` will be rendered in `error` state.
|
|
4040
|
+
*
|
|
4041
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
4042
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
4043
|
+
* @param {TError} error The new error describing why the current value is not valid.
|
|
4044
|
+
* @param {TValue} value The value associated to the error.
|
|
4045
|
+
*/
|
|
4046
|
+
onError: e.func,
|
|
4047
|
+
/**
|
|
4048
|
+
* Callback fired on month change.
|
|
4049
|
+
* @template TDate
|
|
4050
|
+
* @param {TDate} month The new month.
|
|
4051
|
+
*/
|
|
4052
|
+
onMonthChange: e.func,
|
|
4053
|
+
/**
|
|
4054
|
+
* Callback fired when the popup requests to be opened.
|
|
4055
|
+
* Use in controlled mode (see `open`).
|
|
4056
|
+
*/
|
|
4057
|
+
onOpen: e.func,
|
|
4058
|
+
/**
|
|
4059
|
+
* Callback fired when the selected sections change.
|
|
4060
|
+
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
4061
|
+
*/
|
|
4062
|
+
onSelectedSectionsChange: e.func,
|
|
4063
|
+
/**
|
|
4064
|
+
* Callback fired on view change.
|
|
4065
|
+
* @template TView
|
|
4066
|
+
* @param {TView} view The new view.
|
|
4067
|
+
*/
|
|
4068
|
+
onViewChange: e.func,
|
|
4069
|
+
/**
|
|
4070
|
+
* Callback fired on year change.
|
|
4071
|
+
* @template TDate
|
|
4072
|
+
* @param {TDate} year The new year.
|
|
4073
|
+
*/
|
|
4074
|
+
onYearChange: e.func,
|
|
4075
|
+
/**
|
|
4076
|
+
* Control the popup or dialog open state.
|
|
4077
|
+
* @default false
|
|
4078
|
+
*/
|
|
4079
|
+
open: e.bool,
|
|
4080
|
+
/**
|
|
4081
|
+
* The default visible view.
|
|
4082
|
+
* Used when the component view is not controlled.
|
|
4083
|
+
* Must be a valid option from `views` list.
|
|
4084
|
+
*/
|
|
4085
|
+
openTo: e.oneOf(["day", "hours", "minutes", "month", "seconds", "year"]),
|
|
4086
|
+
/**
|
|
4087
|
+
* Force rendering in particular orientation.
|
|
4088
|
+
*/
|
|
4089
|
+
orientation: e.oneOf(["landscape", "portrait"]),
|
|
4090
|
+
readOnly: e.bool,
|
|
4091
|
+
/**
|
|
4092
|
+
* If `true`, disable heavy animations.
|
|
4093
|
+
* @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
|
|
4094
|
+
*/
|
|
4095
|
+
reduceAnimations: e.bool,
|
|
4096
|
+
/**
|
|
4097
|
+
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
4098
|
+
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
4099
|
+
*/
|
|
4100
|
+
referenceDate: e.any,
|
|
4101
|
+
/**
|
|
4102
|
+
* Component displaying when passed `loading` true.
|
|
4103
|
+
* @returns {React.ReactNode} The node to render when loading.
|
|
4104
|
+
* @default () => <span data-mui-test="loading-progress">...</span>
|
|
4105
|
+
*/
|
|
4106
|
+
renderLoading: e.func,
|
|
4107
|
+
/**
|
|
4108
|
+
* The currently selected sections.
|
|
4109
|
+
* This prop accept four formats:
|
|
4110
|
+
* 1. If a number is provided, the section at this index will be selected.
|
|
4111
|
+
* 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
|
|
4112
|
+
* 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
4113
|
+
* 4. If `null` is provided, no section will be selected
|
|
4114
|
+
* If not provided, the selected sections will be handled internally.
|
|
4115
|
+
*/
|
|
4116
|
+
selectedSections: e.oneOfType([e.oneOf(["all", "day", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), e.number, e.shape({
|
|
4117
|
+
endIndex: e.number.isRequired,
|
|
4118
|
+
startIndex: e.number.isRequired
|
|
4119
|
+
})]),
|
|
4120
|
+
/**
|
|
4121
|
+
* Disable specific clock time.
|
|
4122
|
+
* @param {number} clockValue The value to check.
|
|
4123
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
4124
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
4125
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
4126
|
+
*/
|
|
4127
|
+
shouldDisableClock: e.func,
|
|
4128
|
+
/**
|
|
4129
|
+
* Disable specific date.
|
|
4130
|
+
*
|
|
4131
|
+
* Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
4132
|
+
*
|
|
4133
|
+
* @template TDate
|
|
4134
|
+
* @param {TDate} day The date to test.
|
|
4135
|
+
* @returns {boolean} If `true` the date will be disabled.
|
|
4136
|
+
*/
|
|
4137
|
+
shouldDisableDate: e.func,
|
|
4138
|
+
/**
|
|
4139
|
+
* Disable specific month.
|
|
4140
|
+
* @template TDate
|
|
4141
|
+
* @param {TDate} month The month to test.
|
|
4142
|
+
* @returns {boolean} If `true`, the month will be disabled.
|
|
4143
|
+
*/
|
|
4144
|
+
shouldDisableMonth: e.func,
|
|
4145
|
+
/**
|
|
4146
|
+
* Disable specific time.
|
|
4147
|
+
* @template TDate
|
|
4148
|
+
* @param {TDate} value The value to check.
|
|
4149
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
4150
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
4151
|
+
*/
|
|
4152
|
+
shouldDisableTime: e.func,
|
|
4153
|
+
/**
|
|
4154
|
+
* Disable specific year.
|
|
4155
|
+
* @template TDate
|
|
4156
|
+
* @param {TDate} year The year to test.
|
|
4157
|
+
* @returns {boolean} If `true`, the year will be disabled.
|
|
4158
|
+
*/
|
|
4159
|
+
shouldDisableYear: e.func,
|
|
4160
|
+
/**
|
|
4161
|
+
* If `true`, days outside the current month are rendered:
|
|
4162
|
+
*
|
|
4163
|
+
* - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
|
|
4164
|
+
*
|
|
4165
|
+
* - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
|
|
4166
|
+
*
|
|
4167
|
+
* - ignored if `calendars` equals more than `1` on range pickers.
|
|
4168
|
+
* @default false
|
|
4169
|
+
*/
|
|
4170
|
+
showDaysOutsideCurrentMonth: e.bool,
|
|
4171
|
+
/**
|
|
4172
|
+
* The props used for each component slot.
|
|
4173
|
+
* @default {}
|
|
4174
|
+
*/
|
|
4175
|
+
slotProps: e.object,
|
|
4176
|
+
/**
|
|
4177
|
+
* Overridable component slots.
|
|
4178
|
+
* @default {}
|
|
4179
|
+
*/
|
|
4180
|
+
slots: e.object,
|
|
4181
|
+
/**
|
|
4182
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
4183
|
+
*/
|
|
4184
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
4185
|
+
/**
|
|
4186
|
+
* Choose which timezone to use for the value.
|
|
4187
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
4188
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
4189
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
4190
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
4191
|
+
*/
|
|
4192
|
+
timezone: e.string,
|
|
4193
|
+
/**
|
|
4194
|
+
* The selected value.
|
|
4195
|
+
* Used when the component is controlled.
|
|
4196
|
+
*/
|
|
4197
|
+
value: e.any,
|
|
4198
|
+
/**
|
|
4199
|
+
* The visible view.
|
|
4200
|
+
* Used when the component view is controlled.
|
|
4201
|
+
* Must be a valid option from `views` list.
|
|
4202
|
+
*/
|
|
4203
|
+
view: e.oneOf(["day", "hours", "minutes", "month", "seconds", "year"]),
|
|
4204
|
+
/**
|
|
4205
|
+
* Define custom view renderers for each section.
|
|
4206
|
+
* If `null`, the section will only have field editing.
|
|
4207
|
+
* If `undefined`, internally defined view will be the used.
|
|
4208
|
+
*/
|
|
4209
|
+
viewRenderers: e.shape({
|
|
4210
|
+
day: e.func,
|
|
4211
|
+
hours: e.func,
|
|
4212
|
+
minutes: e.func,
|
|
4213
|
+
month: e.func,
|
|
4214
|
+
seconds: e.func,
|
|
4215
|
+
year: e.func
|
|
4216
|
+
}),
|
|
4217
|
+
/**
|
|
4218
|
+
* Available views.
|
|
4219
|
+
*/
|
|
4220
|
+
views: e.arrayOf(e.oneOf(["day", "hours", "minutes", "month", "seconds", "year"]).isRequired),
|
|
4221
|
+
/**
|
|
4222
|
+
* Years rendered per row.
|
|
4223
|
+
* @default 3
|
|
4224
|
+
*/
|
|
4225
|
+
yearsPerRow: e.oneOf([3, 4])
|
|
4226
|
+
};
|
|
4227
|
+
const Bs = ["desktopModeMediaQuery"], Hs = /* @__PURE__ */ P.forwardRef(function(t, a) {
|
|
4228
|
+
const s = ee({
|
|
4229
|
+
props: t,
|
|
4230
|
+
name: "MuiDateTimePicker"
|
|
4231
|
+
}), {
|
|
4232
|
+
desktopModeMediaQuery: n = st
|
|
4233
|
+
} = s, i = Z(s, Bs);
|
|
4234
|
+
return tt(n, {
|
|
4235
|
+
defaultMatches: !0
|
|
4236
|
+
}) ? /* @__PURE__ */ y(_o, b({
|
|
4237
|
+
ref: a
|
|
4238
|
+
}, i)) : /* @__PURE__ */ y(Lo, b({
|
|
4239
|
+
ref: a
|
|
4240
|
+
}, i));
|
|
4241
|
+
});
|
|
4242
|
+
process.env.NODE_ENV !== "production" && (Hs.propTypes = {
|
|
4243
|
+
// ----------------------------- Warning --------------------------------
|
|
4244
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
4245
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
4246
|
+
// ----------------------------------------------------------------------
|
|
4247
|
+
/**
|
|
4248
|
+
* 12h/24h view for hour selection clock.
|
|
4249
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
4250
|
+
*/
|
|
4251
|
+
ampm: e.bool,
|
|
4252
|
+
/**
|
|
4253
|
+
* Display ampm controls under the clock (instead of in the toolbar).
|
|
4254
|
+
* @default true on desktop, false on mobile
|
|
4255
|
+
*/
|
|
4256
|
+
ampmInClock: e.bool,
|
|
4257
|
+
/**
|
|
4258
|
+
* If `true`, the main element is focused during the first mount.
|
|
4259
|
+
* This main element is:
|
|
4260
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
4261
|
+
* - the `input` element if there is a field rendered.
|
|
4262
|
+
*/
|
|
4263
|
+
autoFocus: e.bool,
|
|
4264
|
+
/**
|
|
4265
|
+
* Class name applied to the root element.
|
|
4266
|
+
*/
|
|
4267
|
+
className: e.string,
|
|
4268
|
+
/**
|
|
4269
|
+
* If `true`, the popover or modal will close after submitting the full date.
|
|
4270
|
+
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
4271
|
+
*/
|
|
4272
|
+
closeOnSelect: e.bool,
|
|
4273
|
+
/**
|
|
4274
|
+
* Overridable components.
|
|
4275
|
+
* @default {}
|
|
4276
|
+
* @deprecated Please use `slots`.
|
|
4277
|
+
*/
|
|
4278
|
+
components: e.object,
|
|
4279
|
+
/**
|
|
4280
|
+
* The props used for each component slot.
|
|
4281
|
+
* @default {}
|
|
4282
|
+
* @deprecated Please use `slotProps`.
|
|
4283
|
+
*/
|
|
4284
|
+
componentsProps: e.object,
|
|
4285
|
+
/**
|
|
4286
|
+
* Formats the day of week displayed in the calendar header.
|
|
4287
|
+
* @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
|
|
4288
|
+
* @param {TDate} date The date of the day of week provided by the adapter.
|
|
4289
|
+
* @returns {string} The name to display.
|
|
4290
|
+
* @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
4291
|
+
*/
|
|
4292
|
+
dayOfWeekFormatter: e.func,
|
|
4293
|
+
/**
|
|
4294
|
+
* Default calendar month displayed when `value` and `defaultValue` are empty.
|
|
4295
|
+
* @deprecated Consider using `referenceDate` instead.
|
|
4296
|
+
*/
|
|
4297
|
+
defaultCalendarMonth: e.any,
|
|
4298
|
+
/**
|
|
4299
|
+
* The default value.
|
|
4300
|
+
* Used when the component is not controlled.
|
|
4301
|
+
*/
|
|
4302
|
+
defaultValue: e.any,
|
|
4303
|
+
/**
|
|
4304
|
+
* CSS media query when `Mobile` mode will be changed to `Desktop`.
|
|
4305
|
+
* @default '@media (pointer: fine)'
|
|
4306
|
+
* @example '@media (min-width: 720px)' or theme.breakpoints.up("sm")
|
|
4307
|
+
*/
|
|
4308
|
+
desktopModeMediaQuery: e.string,
|
|
4309
|
+
/**
|
|
4310
|
+
* If `true`, the picker and text field are disabled.
|
|
4311
|
+
* @default false
|
|
4312
|
+
*/
|
|
4313
|
+
disabled: e.bool,
|
|
4314
|
+
/**
|
|
4315
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
4316
|
+
* @default false
|
|
4317
|
+
*/
|
|
4318
|
+
disableFuture: e.bool,
|
|
4319
|
+
/**
|
|
4320
|
+
* If `true`, today's date is rendering without highlighting with circle.
|
|
4321
|
+
* @default false
|
|
4322
|
+
*/
|
|
4323
|
+
disableHighlightToday: e.bool,
|
|
4324
|
+
/**
|
|
4325
|
+
* Do not ignore date part when validating min/max time.
|
|
4326
|
+
* @default false
|
|
4327
|
+
*/
|
|
4328
|
+
disableIgnoringDatePartForTimeValidation: e.bool,
|
|
4329
|
+
/**
|
|
4330
|
+
* If `true`, the open picker button will not be rendered (renders only the field).
|
|
4331
|
+
* @default false
|
|
4332
|
+
*/
|
|
4333
|
+
disableOpenPicker: e.bool,
|
|
4334
|
+
/**
|
|
4335
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
4336
|
+
* @default false
|
|
4337
|
+
*/
|
|
4338
|
+
disablePast: e.bool,
|
|
4339
|
+
/**
|
|
4340
|
+
* If `true`, the week number will be display in the calendar.
|
|
4341
|
+
*/
|
|
4342
|
+
displayWeekNumber: e.bool,
|
|
4343
|
+
/**
|
|
4344
|
+
* Calendar will show more weeks in order to match this value.
|
|
4345
|
+
* Put it to 6 for having fix number of week in Gregorian calendars
|
|
4346
|
+
* @default undefined
|
|
4347
|
+
*/
|
|
4348
|
+
fixedWeekNumber: e.number,
|
|
4349
|
+
/**
|
|
4350
|
+
* Format of the date when rendered in the input(s).
|
|
4351
|
+
* Defaults to localized format based on the used `views`.
|
|
4352
|
+
*/
|
|
4353
|
+
format: e.string,
|
|
4354
|
+
/**
|
|
4355
|
+
* Density of the format when rendered in the input.
|
|
4356
|
+
* Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
|
|
4357
|
+
* @default "dense"
|
|
4358
|
+
*/
|
|
4359
|
+
formatDensity: e.oneOf(["dense", "spacious"]),
|
|
4360
|
+
/**
|
|
4361
|
+
* Pass a ref to the `input` element.
|
|
4362
|
+
*/
|
|
4363
|
+
inputRef: We,
|
|
4364
|
+
/**
|
|
4365
|
+
* The label content.
|
|
4366
|
+
*/
|
|
4367
|
+
label: e.node,
|
|
4368
|
+
/**
|
|
4369
|
+
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
4370
|
+
* Can be used to preload information and show it in calendar.
|
|
4371
|
+
* @default false
|
|
4372
|
+
*/
|
|
4373
|
+
loading: e.bool,
|
|
4374
|
+
/**
|
|
4375
|
+
* Locale for components texts.
|
|
4376
|
+
* Allows overriding texts coming from `LocalizationProvider` and `theme`.
|
|
4377
|
+
*/
|
|
4378
|
+
localeText: e.object,
|
|
4379
|
+
/**
|
|
4380
|
+
* Maximal selectable date.
|
|
4381
|
+
*/
|
|
4382
|
+
maxDate: e.any,
|
|
4383
|
+
/**
|
|
4384
|
+
* Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
|
|
4385
|
+
*/
|
|
4386
|
+
maxDateTime: e.any,
|
|
4387
|
+
/**
|
|
4388
|
+
* Maximal selectable time.
|
|
4389
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
4390
|
+
*/
|
|
4391
|
+
maxTime: e.any,
|
|
4392
|
+
/**
|
|
4393
|
+
* Minimal selectable date.
|
|
4394
|
+
*/
|
|
4395
|
+
minDate: e.any,
|
|
4396
|
+
/**
|
|
4397
|
+
* Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
|
|
4398
|
+
*/
|
|
4399
|
+
minDateTime: e.any,
|
|
4400
|
+
/**
|
|
4401
|
+
* Minimal selectable time.
|
|
4402
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
4403
|
+
*/
|
|
4404
|
+
minTime: e.any,
|
|
4405
|
+
/**
|
|
4406
|
+
* Step over minutes.
|
|
4407
|
+
* @default 1
|
|
4408
|
+
*/
|
|
4409
|
+
minutesStep: e.number,
|
|
4410
|
+
/**
|
|
4411
|
+
* Months rendered per row.
|
|
4412
|
+
* @default 3
|
|
4413
|
+
*/
|
|
4414
|
+
monthsPerRow: e.oneOf([3, 4]),
|
|
4415
|
+
/**
|
|
4416
|
+
* Name attribute used by the `input` element in the Field.
|
|
4417
|
+
*/
|
|
4418
|
+
name: e.string,
|
|
4419
|
+
/**
|
|
4420
|
+
* Callback fired when the value is accepted.
|
|
4421
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
4422
|
+
* @param {TValue} value The value that was just accepted.
|
|
4423
|
+
*/
|
|
4424
|
+
onAccept: e.func,
|
|
4425
|
+
/**
|
|
4426
|
+
* Callback fired when the value changes.
|
|
4427
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
4428
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
4429
|
+
* @param {TValue} value The new value.
|
|
4430
|
+
* @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
|
|
4431
|
+
*/
|
|
4432
|
+
onChange: e.func,
|
|
4433
|
+
/**
|
|
4434
|
+
* Callback fired when the popup requests to be closed.
|
|
4435
|
+
* Use in controlled mode (see `open`).
|
|
4436
|
+
*/
|
|
4437
|
+
onClose: e.func,
|
|
4438
|
+
/**
|
|
4439
|
+
* Callback fired when the error associated to the current value changes.
|
|
4440
|
+
* If the error has a non-null value, then the `TextField` will be rendered in `error` state.
|
|
4441
|
+
*
|
|
4442
|
+
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
4443
|
+
* @template TError The validation error type. Will be either `string` or a `null`. Can be in `[start, end]` format in case of range value.
|
|
4444
|
+
* @param {TError} error The new error describing why the current value is not valid.
|
|
4445
|
+
* @param {TValue} value The value associated to the error.
|
|
4446
|
+
*/
|
|
4447
|
+
onError: e.func,
|
|
4448
|
+
/**
|
|
4449
|
+
* Callback fired on month change.
|
|
4450
|
+
* @template TDate
|
|
4451
|
+
* @param {TDate} month The new month.
|
|
4452
|
+
*/
|
|
4453
|
+
onMonthChange: e.func,
|
|
4454
|
+
/**
|
|
4455
|
+
* Callback fired when the popup requests to be opened.
|
|
4456
|
+
* Use in controlled mode (see `open`).
|
|
4457
|
+
*/
|
|
4458
|
+
onOpen: e.func,
|
|
4459
|
+
/**
|
|
4460
|
+
* Callback fired when the selected sections change.
|
|
4461
|
+
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
4462
|
+
*/
|
|
4463
|
+
onSelectedSectionsChange: e.func,
|
|
4464
|
+
/**
|
|
4465
|
+
* Callback fired on view change.
|
|
4466
|
+
* @template TView
|
|
4467
|
+
* @param {TView} view The new view.
|
|
4468
|
+
*/
|
|
4469
|
+
onViewChange: e.func,
|
|
4470
|
+
/**
|
|
4471
|
+
* Callback fired on year change.
|
|
4472
|
+
* @template TDate
|
|
4473
|
+
* @param {TDate} year The new year.
|
|
4474
|
+
*/
|
|
4475
|
+
onYearChange: e.func,
|
|
4476
|
+
/**
|
|
4477
|
+
* Control the popup or dialog open state.
|
|
4478
|
+
* @default false
|
|
4479
|
+
*/
|
|
4480
|
+
open: e.bool,
|
|
4481
|
+
/**
|
|
4482
|
+
* The default visible view.
|
|
4483
|
+
* Used when the component view is not controlled.
|
|
4484
|
+
* Must be a valid option from `views` list.
|
|
4485
|
+
*/
|
|
4486
|
+
openTo: e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]),
|
|
4487
|
+
/**
|
|
4488
|
+
* Force rendering in particular orientation.
|
|
4489
|
+
*/
|
|
4490
|
+
orientation: e.oneOf(["landscape", "portrait"]),
|
|
4491
|
+
readOnly: e.bool,
|
|
4492
|
+
/**
|
|
4493
|
+
* If `true`, disable heavy animations.
|
|
4494
|
+
* @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
|
|
4495
|
+
*/
|
|
4496
|
+
reduceAnimations: e.bool,
|
|
4497
|
+
/**
|
|
4498
|
+
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
4499
|
+
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
4500
|
+
*/
|
|
4501
|
+
referenceDate: e.any,
|
|
4502
|
+
/**
|
|
4503
|
+
* Component displaying when passed `loading` true.
|
|
4504
|
+
* @returns {React.ReactNode} The node to render when loading.
|
|
4505
|
+
* @default () => <span data-mui-test="loading-progress">...</span>
|
|
4506
|
+
*/
|
|
4507
|
+
renderLoading: e.func,
|
|
4508
|
+
/**
|
|
4509
|
+
* The currently selected sections.
|
|
4510
|
+
* This prop accept four formats:
|
|
4511
|
+
* 1. If a number is provided, the section at this index will be selected.
|
|
4512
|
+
* 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
|
|
4513
|
+
* 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
|
|
4514
|
+
* 4. If `null` is provided, no section will be selected
|
|
4515
|
+
* If not provided, the selected sections will be handled internally.
|
|
4516
|
+
*/
|
|
4517
|
+
selectedSections: e.oneOfType([e.oneOf(["all", "day", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), e.number, e.shape({
|
|
4518
|
+
endIndex: e.number.isRequired,
|
|
4519
|
+
startIndex: e.number.isRequired
|
|
4520
|
+
})]),
|
|
4521
|
+
/**
|
|
4522
|
+
* Disable specific clock time.
|
|
4523
|
+
* @param {number} clockValue The value to check.
|
|
4524
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
4525
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
4526
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
4527
|
+
*/
|
|
4528
|
+
shouldDisableClock: e.func,
|
|
4529
|
+
/**
|
|
4530
|
+
* Disable specific date.
|
|
4531
|
+
*
|
|
4532
|
+
* Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
4533
|
+
*
|
|
4534
|
+
* @template TDate
|
|
4535
|
+
* @param {TDate} day The date to test.
|
|
4536
|
+
* @returns {boolean} If `true` the date will be disabled.
|
|
4537
|
+
*/
|
|
4538
|
+
shouldDisableDate: e.func,
|
|
4539
|
+
/**
|
|
4540
|
+
* Disable specific month.
|
|
4541
|
+
* @template TDate
|
|
4542
|
+
* @param {TDate} month The month to test.
|
|
4543
|
+
* @returns {boolean} If `true`, the month will be disabled.
|
|
4544
|
+
*/
|
|
4545
|
+
shouldDisableMonth: e.func,
|
|
4546
|
+
/**
|
|
4547
|
+
* Disable specific time.
|
|
4548
|
+
* @template TDate
|
|
4549
|
+
* @param {TDate} value The value to check.
|
|
4550
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
4551
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
4552
|
+
*/
|
|
4553
|
+
shouldDisableTime: e.func,
|
|
4554
|
+
/**
|
|
4555
|
+
* Disable specific year.
|
|
4556
|
+
* @template TDate
|
|
4557
|
+
* @param {TDate} year The year to test.
|
|
4558
|
+
* @returns {boolean} If `true`, the year will be disabled.
|
|
4559
|
+
*/
|
|
4560
|
+
shouldDisableYear: e.func,
|
|
4561
|
+
/**
|
|
4562
|
+
* If `true`, days outside the current month are rendered:
|
|
4563
|
+
*
|
|
4564
|
+
* - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
|
|
4565
|
+
*
|
|
4566
|
+
* - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
|
|
4567
|
+
*
|
|
4568
|
+
* - ignored if `calendars` equals more than `1` on range pickers.
|
|
4569
|
+
* @default false
|
|
4570
|
+
*/
|
|
4571
|
+
showDaysOutsideCurrentMonth: e.bool,
|
|
4572
|
+
/**
|
|
4573
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
4574
|
+
* @default false
|
|
4575
|
+
*/
|
|
4576
|
+
skipDisabled: e.bool,
|
|
4577
|
+
/**
|
|
4578
|
+
* The props used for each component slot.
|
|
4579
|
+
* @default {}
|
|
4580
|
+
*/
|
|
4581
|
+
slotProps: e.object,
|
|
4582
|
+
/**
|
|
4583
|
+
* Overridable component slots.
|
|
4584
|
+
* @default {}
|
|
4585
|
+
*/
|
|
4586
|
+
slots: e.object,
|
|
4587
|
+
/**
|
|
4588
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
4589
|
+
*/
|
|
4590
|
+
sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
|
|
4591
|
+
/**
|
|
4592
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
4593
|
+
* @default 24
|
|
4594
|
+
*/
|
|
4595
|
+
thresholdToRenderTimeInASingleColumn: e.number,
|
|
4596
|
+
/**
|
|
4597
|
+
* The time steps between two time unit options.
|
|
4598
|
+
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
4599
|
+
* When single column time renderer is used, only `timeStep.minutes` will be used.
|
|
4600
|
+
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
4601
|
+
*/
|
|
4602
|
+
timeSteps: e.shape({
|
|
4603
|
+
hours: e.number,
|
|
4604
|
+
minutes: e.number,
|
|
4605
|
+
seconds: e.number
|
|
4606
|
+
}),
|
|
4607
|
+
/**
|
|
4608
|
+
* Choose which timezone to use for the value.
|
|
4609
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
4610
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
4611
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
4612
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
4613
|
+
*/
|
|
4614
|
+
timezone: e.string,
|
|
4615
|
+
/**
|
|
4616
|
+
* The selected value.
|
|
4617
|
+
* Used when the component is controlled.
|
|
4618
|
+
*/
|
|
4619
|
+
value: e.any,
|
|
4620
|
+
/**
|
|
4621
|
+
* The visible view.
|
|
4622
|
+
* Used when the component view is controlled.
|
|
4623
|
+
* Must be a valid option from `views` list.
|
|
4624
|
+
*/
|
|
4625
|
+
view: e.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]),
|
|
4626
|
+
/**
|
|
4627
|
+
* Define custom view renderers for each section.
|
|
4628
|
+
* If `null`, the section will only have field editing.
|
|
4629
|
+
* If `undefined`, internally defined view will be the used.
|
|
4630
|
+
*/
|
|
4631
|
+
viewRenderers: e.shape({
|
|
4632
|
+
day: e.func,
|
|
4633
|
+
hours: e.func,
|
|
4634
|
+
meridiem: e.func,
|
|
4635
|
+
minutes: e.func,
|
|
4636
|
+
month: e.func,
|
|
4637
|
+
seconds: e.func,
|
|
4638
|
+
year: e.func
|
|
4639
|
+
}),
|
|
4640
|
+
/**
|
|
4641
|
+
* Available views.
|
|
4642
|
+
*/
|
|
4643
|
+
views: e.arrayOf(e.oneOf(["day", "hours", "minutes", "month", "seconds", "year"]).isRequired),
|
|
4644
|
+
/**
|
|
4645
|
+
* Years rendered per row.
|
|
4646
|
+
* @default 4 on desktop, 3 on mobile
|
|
4647
|
+
*/
|
|
4648
|
+
yearsPerRow: e.oneOf([3, 4])
|
|
4649
|
+
});
|
|
4650
|
+
export {
|
|
4651
|
+
Hs as D,
|
|
4652
|
+
tn as j
|
|
4653
|
+
};
|