@carto/meridian-ds 1.3.6 → 1.4.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{Alert-C0xmyi3Z.cjs → Alert-B2JgFj6Y.cjs} +1 -1
  3. package/dist/{Alert-DbN79ENW.js → Alert-Cn0nq6aq.js} +1 -1
  4. package/dist/MenuItem-CuEx97RN.cjs +1 -0
  5. package/dist/MenuItem-vbfSlKyV.js +139 -0
  6. package/dist/TablePaginationActions-7wkkiCXh.cjs +9 -0
  7. package/dist/{TablePaginationActions-BmvmVQd9.js → TablePaginationActions-EC4ynZRa.js} +534 -734
  8. package/dist/components/index.cjs +1 -5
  9. package/dist/components/index.js +1374 -13834
  10. package/dist/theme/index.cjs +1 -1
  11. package/dist/theme/index.js +150 -79
  12. package/dist/types/components/molecules/Autocomplete/Autocomplete.d.ts +9 -0
  13. package/dist/types/components/molecules/Autocomplete/Autocomplete.d.ts.map +1 -0
  14. package/dist/types/components/molecules/Autocomplete/CreatableAutocomplete.d.ts +9 -0
  15. package/dist/types/components/molecules/Autocomplete/CreatableAutocomplete.d.ts.map +1 -0
  16. package/dist/types/components/molecules/Autocomplete/ListBoxWithFilter.d.ts +15 -0
  17. package/dist/types/components/molecules/Autocomplete/ListBoxWithFilter.d.ts.map +1 -0
  18. package/dist/types/components/molecules/Autocomplete/MultipleAutocomplete.d.ts +9 -0
  19. package/dist/types/components/molecules/Autocomplete/MultipleAutocomplete.d.ts.map +1 -0
  20. package/dist/types/components/molecules/Autocomplete/index.d.ts +4 -0
  21. package/dist/types/components/molecules/Autocomplete/index.d.ts.map +1 -0
  22. package/dist/types/components/molecules/Autocomplete/types.d.ts +42 -0
  23. package/dist/types/components/molecules/Autocomplete/types.d.ts.map +1 -0
  24. package/dist/types/components/molecules/Autocomplete/useAutocompleteRenderOption.d.ts +9 -0
  25. package/dist/types/components/molecules/Autocomplete/useAutocompleteRenderOption.d.ts.map +1 -0
  26. package/dist/types/components/molecules/Autocomplete/useCreatableAutocomplete.d.ts +17 -0
  27. package/dist/types/components/molecules/Autocomplete/useCreatableAutocomplete.d.ts.map +1 -0
  28. package/dist/types/components/molecules/Autocomplete/useMultipleAutocomplete.d.ts +20 -0
  29. package/dist/types/components/molecules/Autocomplete/useMultipleAutocomplete.d.ts.map +1 -0
  30. package/dist/types/components/molecules/Autocomplete/utils.d.ts +3 -0
  31. package/dist/types/components/molecules/Autocomplete/utils.d.ts.map +1 -0
  32. package/dist/types/components/molecules/Menu/MenuFilter.d.ts +8 -0
  33. package/dist/types/components/molecules/Menu/MenuFilter.d.ts.map +1 -0
  34. package/dist/types/components/molecules/Menu/index.d.ts +2 -0
  35. package/dist/types/components/molecules/Menu/index.d.ts.map +1 -1
  36. package/dist/types/components/molecules/index.d.ts +2 -2
  37. package/dist/types/components/molecules/index.d.ts.map +1 -1
  38. package/dist/types/components/organisms/Dialog/DialogContent.d.ts.map +1 -1
  39. package/dist/types/theme/sections/components/forms.d.ts.map +1 -1
  40. package/dist/types/theme/sections/components/navigation.d.ts.map +1 -1
  41. package/dist/types/widgets/CategoryWidgetUI/CategoryWidgetUI.d.ts.map +1 -1
  42. package/dist/widgets/index.cjs +5 -5
  43. package/dist/widgets/index.js +570 -568
  44. package/package.json +4 -2
  45. package/dist/MenuItem-B3IDLBB1.js +0 -3565
  46. package/dist/MenuItem-DUV2TC2p.cjs +0 -9
  47. package/dist/TablePaginationActions-Bv-6vZ7z.cjs +0 -9
  48. package/dist/types/components/molecules/Autocomplete.d.ts +0 -18
  49. package/dist/types/components/molecules/Autocomplete.d.ts.map +0 -1
  50. package/dist/types/components/molecules/MultipleSelectField/Filters.d.ts +0 -9
  51. package/dist/types/components/molecules/MultipleSelectField/Filters.d.ts.map +0 -1
@@ -1,3565 +0,0 @@
1
- import * as p from "react";
2
- import { jsx as C, jsxs as Se } from "react/jsx-runtime";
3
- import { P as a, _ as E } from "./TablePaginationActions-BmvmVQd9.js";
4
- import { useThemeProps as pe, styled as B, alpha as Le } from "@mui/material/styles";
5
- import pt from "@mui/material/MenuItem";
6
- import ht from "@mui/material/MenuList";
7
- import Ye from "@mui/material/IconButton";
8
- import gt from "@mui/material/Typography";
9
- import { createSvgIcon as Ce } from "@mui/material/utils";
10
- import { styled as Lt, MenuItem as $t } from "@mui/material";
11
- function ie(e, t) {
12
- if (e == null) return {};
13
- var n = {};
14
- for (var o in e) if ({}.hasOwnProperty.call(e, o)) {
15
- if (t.includes(o)) continue;
16
- n[o] = e[o];
17
- }
18
- return n;
19
- }
20
- function bt(e) {
21
- var t, n, o = "";
22
- if (typeof e == "string" || typeof e == "number") o += e;
23
- else if (typeof e == "object") if (Array.isArray(e)) {
24
- var r = e.length;
25
- for (t = 0; t < r; t++) e[t] && (n = bt(e[t])) && (o && (o += " "), o += n);
26
- } else for (n in e) e[n] && (o && (o += " "), o += n);
27
- return o;
28
- }
29
- function te() {
30
- for (var e, t, n = 0, o = "", r = arguments.length; n < r; n++) (e = arguments[n]) && (t = bt(e)) && (o && (o += " "), o += t);
31
- return o;
32
- }
33
- const Ht = /* @__PURE__ */ p.createContext();
34
- process.env.NODE_ENV !== "production" && (a.node, a.bool);
35
- const yt = () => {
36
- const e = p.useContext(Ht);
37
- return e ?? !1;
38
- };
39
- function Ft(e, t) {
40
- typeof e == "function" ? e(t) : e && (e.current = t);
41
- }
42
- const wt = typeof window < "u" ? p.useLayoutEffect : p.useEffect;
43
- let nt = 0;
44
- function Bt(e) {
45
- const [t, n] = p.useState(e), o = e || t;
46
- return p.useEffect(() => {
47
- t == null && (nt += 1, n(`mui-${nt}`));
48
- }, [t]), o;
49
- }
50
- const _t = {
51
- ...p
52
- }, ot = _t.useId;
53
- function zt(e) {
54
- if (ot !== void 0) {
55
- const t = ot();
56
- return e ?? t;
57
- }
58
- return Bt(e);
59
- }
60
- function We({
61
- controlled: e,
62
- default: t,
63
- name: n,
64
- state: o = "value"
65
- }) {
66
- const {
67
- current: r
68
- } = p.useRef(e !== void 0), [s, i] = p.useState(t), u = r ? e : s;
69
- if (process.env.NODE_ENV !== "production") {
70
- p.useEffect(() => {
71
- r !== (e !== void 0) && console.error([`MUI: A component is changing the ${r ? "" : "un"}controlled ${o} state of ${n} to be ${r ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${n} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join(`
72
- `));
73
- }, [o, n, e]);
74
- const {
75
- current: c
76
- } = p.useRef(t);
77
- p.useEffect(() => {
78
- !r && !Object.is(c, t) && console.error([`MUI: A component is changing the default ${o} state of an uncontrolled ${n} after being initialized. To suppress this warning opt to use a controlled ${n}.`].join(`
79
- `));
80
- }, [JSON.stringify(t)]);
81
- }
82
- const l = p.useCallback((c) => {
83
- r || i(c);
84
- }, []);
85
- return [u, l];
86
- }
87
- function ae(e) {
88
- const t = p.useRef(e);
89
- return wt(() => {
90
- t.current = e;
91
- }), p.useRef((...n) => (
92
- // @ts-expect-error hide `this`
93
- (0, t.current)(...n)
94
- )).current;
95
- }
96
- function Ge(...e) {
97
- return p.useMemo(() => e.every((t) => t == null) ? null : (t) => {
98
- e.forEach((n) => {
99
- Ft(n, t);
100
- });
101
- }, e);
102
- }
103
- function Me(e, t, n = void 0) {
104
- const o = {};
105
- for (const r in e) {
106
- const s = e[r];
107
- let i = "", u = !0;
108
- for (let l = 0; l < s.length; l += 1) {
109
- const c = s[l];
110
- c && (i += (u === !0 ? "" : " ") + t(c), u = !1, n && n[c] && (i += " " + n[c]));
111
- }
112
- o[r] = i;
113
- }
114
- return o;
115
- }
116
- const rt = (e) => e, jt = () => {
117
- let e = rt;
118
- return {
119
- configure(t) {
120
- e = t;
121
- },
122
- generate(t) {
123
- return e(t);
124
- },
125
- reset() {
126
- e = rt;
127
- }
128
- };
129
- }, Wt = jt(), Ut = {
130
- active: "active",
131
- checked: "checked",
132
- completed: "completed",
133
- disabled: "disabled",
134
- error: "error",
135
- expanded: "expanded",
136
- focused: "focused",
137
- focusVisible: "focusVisible",
138
- open: "open",
139
- readOnly: "readOnly",
140
- required: "required",
141
- selected: "selected"
142
- };
143
- function he(e, t, n = "Mui") {
144
- const o = Ut[t];
145
- return o ? `${n}-${o}` : `${Wt.generate(e)}-${t}`;
146
- }
147
- function De(e, t, n = "Mui") {
148
- const o = {};
149
- return t.forEach((r) => {
150
- o[r] = he(e, r, n);
151
- }), o;
152
- }
153
- function Yt(e) {
154
- return typeof e == "string";
155
- }
156
- function Gt(e, t, n) {
157
- return e === void 0 || Yt(e) ? t : {
158
- ...t,
159
- ownerState: {
160
- ...t.ownerState,
161
- ...n
162
- }
163
- };
164
- }
165
- function qt(e, t = []) {
166
- if (e === void 0)
167
- return {};
168
- const n = {};
169
- return Object.keys(e).filter((o) => o.match(/^on[A-Z]/) && typeof e[o] == "function" && !t.includes(o)).forEach((o) => {
170
- n[o] = e[o];
171
- }), n;
172
- }
173
- function st(e) {
174
- if (e === void 0)
175
- return {};
176
- const t = {};
177
- return Object.keys(e).filter((n) => !(n.match(/^on[A-Z]/) && typeof e[n] == "function")).forEach((n) => {
178
- t[n] = e[n];
179
- }), t;
180
- }
181
- function Zt(e) {
182
- const {
183
- getSlotProps: t,
184
- additionalProps: n,
185
- externalSlotProps: o,
186
- externalForwardedProps: r,
187
- className: s
188
- } = e;
189
- if (!t) {
190
- const g = te(n == null ? void 0 : n.className, s, r == null ? void 0 : r.className, o == null ? void 0 : o.className), d = {
191
- ...n == null ? void 0 : n.style,
192
- ...r == null ? void 0 : r.style,
193
- ...o == null ? void 0 : o.style
194
- }, y = {
195
- ...n,
196
- ...r,
197
- ...o
198
- };
199
- return g.length > 0 && (y.className = g), Object.keys(d).length > 0 && (y.style = d), {
200
- props: y,
201
- internalRef: void 0
202
- };
203
- }
204
- const i = qt({
205
- ...r,
206
- ...o
207
- }), u = st(o), l = st(r), c = t(i), f = te(c == null ? void 0 : c.className, n == null ? void 0 : n.className, s, r == null ? void 0 : r.className, o == null ? void 0 : o.className), m = {
208
- ...c == null ? void 0 : c.style,
209
- ...n == null ? void 0 : n.style,
210
- ...r == null ? void 0 : r.style,
211
- ...o == null ? void 0 : o.style
212
- }, b = {
213
- ...c,
214
- ...n,
215
- ...l,
216
- ...u
217
- };
218
- return f.length > 0 && (b.className = f), Object.keys(m).length > 0 && (b.style = m), {
219
- props: b,
220
- internalRef: c.ref
221
- };
222
- }
223
- function Kt(e, t, n) {
224
- return typeof e == "function" ? e(t, n) : e;
225
- }
226
- function Ne(e) {
227
- var m;
228
- const {
229
- elementType: t,
230
- externalSlotProps: n,
231
- ownerState: o,
232
- skipResolvingSlotProps: r = !1,
233
- ...s
234
- } = e, i = r ? {} : Kt(n, o), {
235
- props: u,
236
- internalRef: l
237
- } = Zt({
238
- ...s,
239
- externalSlotProps: i
240
- }), c = Ge(l, i == null ? void 0 : i.ref, (m = e.additionalProps) == null ? void 0 : m.ref);
241
- return Gt(t, {
242
- ...u,
243
- ref: c
244
- }, o);
245
- }
246
- const Xt = ["localeText"], $e = /* @__PURE__ */ p.createContext(null);
247
- process.env.NODE_ENV !== "production" && ($e.displayName = "MuiPickersAdapterContext");
248
- const Jt = function(t) {
249
- const {
250
- localeText: n
251
- } = t, o = ie(t, Xt), {
252
- utils: r,
253
- localeText: s
254
- } = p.useContext($e) ?? {
255
- utils: void 0,
256
- localeText: void 0
257
- }, i = pe({
258
- // We don't want to pass the `localeText` prop to the theme, that way it will always return the theme value,
259
- // We will then merge this theme value with our value manually
260
- props: o,
261
- name: "MuiLocalizationProvider"
262
- }), {
263
- children: u,
264
- dateAdapter: l,
265
- dateFormats: c,
266
- dateLibInstance: f,
267
- adapterLocale: m,
268
- localeText: b
269
- } = i, g = p.useMemo(() => E({}, b, s, n), [b, s, n]), d = p.useMemo(() => {
270
- if (!l)
271
- return r || null;
272
- const P = new l({
273
- locale: m,
274
- formats: c,
275
- instance: f
276
- });
277
- if (!P.isMUIAdapter)
278
- throw new Error(["MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`", "For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`", "More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation"].join(`
279
- `));
280
- return P;
281
- }, [l, m, c, f, r]), y = p.useMemo(() => d ? {
282
- minDate: d.date("1900-01-01T00:00:00.000"),
283
- maxDate: d.date("2099-12-31T00:00:00.000")
284
- } : null, [d]), k = p.useMemo(() => ({
285
- utils: d,
286
- defaultDates: y,
287
- localeText: g
288
- }), [y, d, g]);
289
- return /* @__PURE__ */ C($e.Provider, {
290
- value: k,
291
- children: u
292
- });
293
- };
294
- process.env.NODE_ENV !== "production" && (Jt.propTypes = {
295
- // ----------------------------- Warning --------------------------------
296
- // | These PropTypes are generated from the TypeScript type definitions |
297
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
298
- // ----------------------------------------------------------------------
299
- /**
300
- * Locale for the date library you are using
301
- */
302
- adapterLocale: a.any,
303
- children: a.node,
304
- /**
305
- * Date library adapter class function.
306
- * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
307
- */
308
- dateAdapter: a.func,
309
- /**
310
- * Formats that are used for any child pickers
311
- */
312
- dateFormats: a.shape({
313
- dayOfMonth: a.string,
314
- dayOfMonthFull: a.string,
315
- fullDate: a.string,
316
- fullTime: a.string,
317
- fullTime12h: a.string,
318
- fullTime24h: a.string,
319
- hours12h: a.string,
320
- hours24h: a.string,
321
- keyboardDate: a.string,
322
- keyboardDateTime: a.string,
323
- keyboardDateTime12h: a.string,
324
- keyboardDateTime24h: a.string,
325
- meridiem: a.string,
326
- minutes: a.string,
327
- month: a.string,
328
- monthShort: a.string,
329
- normalDate: a.string,
330
- normalDateWithWeekday: a.string,
331
- seconds: a.string,
332
- shortDate: a.string,
333
- weekday: a.string,
334
- weekdayShort: a.string,
335
- year: a.string
336
- }),
337
- /**
338
- * Date library instance you are using, if it has some global overrides
339
- * ```jsx
340
- * dateLibInstance={momentTimeZone}
341
- * ```
342
- */
343
- dateLibInstance: a.any,
344
- /**
345
- * Locale for components texts
346
- */
347
- localeText: a.object
348
- });
349
- const Qt = (e) => ({
350
- components: {
351
- MuiLocalizationProvider: {
352
- defaultProps: {
353
- localeText: E({}, e)
354
- }
355
- }
356
- }
357
- }), Fo = (e) => {
358
- const {
359
- utils: t,
360
- formatKey: n,
361
- contextTranslation: o,
362
- propsTranslation: r
363
- } = e;
364
- return (s) => {
365
- const i = s !== null && t.isValid(s) ? t.format(s, n) : null;
366
- return (r ?? o)(s, t, i);
367
- };
368
- }, vt = {
369
- // Calendar navigation
370
- previousMonth: "Previous month",
371
- nextMonth: "Next month",
372
- // View navigation
373
- openPreviousView: "Open previous view",
374
- openNextView: "Open next view",
375
- calendarViewSwitchingButtonAriaLabel: (e) => e === "year" ? "year view is open, switch to calendar view" : "calendar view is open, switch to year view",
376
- // DateRange labels
377
- start: "Start",
378
- end: "End",
379
- startDate: "Start date",
380
- startTime: "Start time",
381
- endDate: "End date",
382
- endTime: "End time",
383
- // Action bar
384
- cancelButtonLabel: "Cancel",
385
- clearButtonLabel: "Clear",
386
- okButtonLabel: "OK",
387
- todayButtonLabel: "Today",
388
- // Toolbar titles
389
- datePickerToolbarTitle: "Select date",
390
- dateTimePickerToolbarTitle: "Select date & time",
391
- timePickerToolbarTitle: "Select time",
392
- dateRangePickerToolbarTitle: "Select date range",
393
- // Clock labels
394
- clockLabelText: (e, t, n, o) => `Select ${e}. ${!o && (t === null || !n.isValid(t)) ? "No time selected" : `Selected time is ${o ?? n.format(t, "fullTime")}`}`,
395
- hoursClockNumberText: (e) => `${e} hours`,
396
- minutesClockNumberText: (e) => `${e} minutes`,
397
- secondsClockNumberText: (e) => `${e} seconds`,
398
- // Digital clock labels
399
- selectViewText: (e) => `Select ${e}`,
400
- // Calendar labels
401
- calendarWeekNumberHeaderLabel: "Week number",
402
- calendarWeekNumberHeaderText: "#",
403
- calendarWeekNumberAriaLabelText: (e) => `Week ${e}`,
404
- calendarWeekNumberText: (e) => `${e}`,
405
- // Open picker labels
406
- openDatePickerDialogue: (e, t, n) => n || e !== null && t.isValid(e) ? `Choose date, selected date is ${n ?? t.format(e, "fullDate")}` : "Choose date",
407
- openTimePickerDialogue: (e, t, n) => n || e !== null && t.isValid(e) ? `Choose time, selected time is ${n ?? t.format(e, "fullTime")}` : "Choose time",
408
- fieldClearLabel: "Clear",
409
- // Table labels
410
- timeTableLabel: "pick time",
411
- dateTableLabel: "pick date",
412
- // Field section placeholders
413
- fieldYearPlaceholder: (e) => "Y".repeat(e.digitAmount),
414
- fieldMonthPlaceholder: (e) => e.contentType === "letter" ? "MMMM" : "MM",
415
- fieldDayPlaceholder: () => "DD",
416
- fieldWeekDayPlaceholder: (e) => e.contentType === "letter" ? "EEEE" : "EE",
417
- fieldHoursPlaceholder: () => "hh",
418
- fieldMinutesPlaceholder: () => "mm",
419
- fieldSecondsPlaceholder: () => "ss",
420
- fieldMeridiemPlaceholder: () => "aa",
421
- // View names
422
- year: "Year",
423
- month: "Month",
424
- day: "Day",
425
- weekDay: "Week day",
426
- hours: "Hours",
427
- minutes: "Minutes",
428
- seconds: "Seconds",
429
- meridiem: "Meridiem",
430
- // Common
431
- empty: "Empty"
432
- }, en = vt;
433
- Qt(vt);
434
- const qe = () => {
435
- const e = p.useContext($e);
436
- if (e === null)
437
- throw new Error(["MUI X: Can not find the date and time pickers localization context.", "It looks like you forgot to wrap your component in LocalizationProvider.", "This can also happen if you are bundling multiple versions of the `@mui/x-date-pickers` package"].join(`
438
- `));
439
- if (e.utils === null)
440
- throw new Error(["MUI X: Can not find the date and time pickers adapter from its localization context.", "It looks like you forgot to pass a `dateAdapter` to your LocalizationProvider."].join(`
441
- `));
442
- const t = p.useMemo(() => E({}, en, e.localeText), [e.localeText]);
443
- return p.useMemo(() => E({}, e, {
444
- localeText: t
445
- }), [e, t]);
446
- }, ge = () => qe().utils, Bo = () => qe().defaultDates, Ze = (e) => {
447
- const t = ge(), n = p.useRef();
448
- return n.current === void 0 && (n.current = t.date(void 0, e)), n.current;
449
- }, Be = () => qe().localeText, _o = Ce(/* @__PURE__ */ C("path", {
450
- d: "M7 10l5 5 5-5z"
451
- }), "ArrowDropDown"), tn = Ce(/* @__PURE__ */ C("path", {
452
- d: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
453
- }), "ArrowLeft"), nn = Ce(/* @__PURE__ */ C("path", {
454
- d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"
455
- }), "ArrowRight"), zo = Ce(/* @__PURE__ */ C("path", {
456
- d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
457
- }), "Calendar"), jo = Ce(/* @__PURE__ */ Se(p.Fragment, {
458
- children: [/* @__PURE__ */ C("path", {
459
- d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
460
- }), /* @__PURE__ */ C("path", {
461
- d: "M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"
462
- })]
463
- }), "Clock"), Wo = Ce(/* @__PURE__ */ C("path", {
464
- d: "M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"
465
- }), "DateRange"), Uo = Ce(/* @__PURE__ */ Se(p.Fragment, {
466
- children: [/* @__PURE__ */ C("path", {
467
- d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
468
- }), /* @__PURE__ */ C("path", {
469
- d: "M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"
470
- })]
471
- }), "Time"), Yo = Ce(/* @__PURE__ */ C("path", {
472
- d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
473
- }), "Clear");
474
- function on(e) {
475
- return he("MuiPickersArrowSwitcher", e);
476
- }
477
- De("MuiPickersArrowSwitcher", ["root", "spacer", "button", "previousIconButton", "nextIconButton", "leftArrowIcon", "rightArrowIcon"]);
478
- const rn = ["children", "className", "slots", "slotProps", "isNextDisabled", "isNextHidden", "onGoToNext", "nextLabel", "isPreviousDisabled", "isPreviousHidden", "onGoToPrevious", "previousLabel", "labelId"], sn = ["ownerState"], an = ["ownerState"], ln = B("div", {
479
- name: "MuiPickersArrowSwitcher",
480
- slot: "Root",
481
- overridesResolver: (e, t) => t.root
482
- })({
483
- display: "flex"
484
- }), cn = B("div", {
485
- name: "MuiPickersArrowSwitcher",
486
- slot: "Spacer",
487
- overridesResolver: (e, t) => t.spacer
488
- })(({
489
- theme: e
490
- }) => ({
491
- width: e.spacing(3)
492
- })), at = B(Ye, {
493
- name: "MuiPickersArrowSwitcher",
494
- slot: "Button",
495
- overridesResolver: (e, t) => t.button
496
- })({
497
- variants: [{
498
- props: {
499
- hidden: !0
500
- },
501
- style: {
502
- visibility: "hidden"
503
- }
504
- }]
505
- }), un = (e) => {
506
- const {
507
- classes: t
508
- } = e;
509
- return Me({
510
- root: ["root"],
511
- spacer: ["spacer"],
512
- button: ["button"],
513
- previousIconButton: ["previousIconButton"],
514
- nextIconButton: ["nextIconButton"],
515
- leftArrowIcon: ["leftArrowIcon"],
516
- rightArrowIcon: ["rightArrowIcon"]
517
- }, on, t);
518
- }, dn = /* @__PURE__ */ p.forwardRef(function(t, n) {
519
- const o = yt(), r = pe({
520
- props: t,
521
- name: "MuiPickersArrowSwitcher"
522
- }), {
523
- children: s,
524
- className: i,
525
- slots: u,
526
- slotProps: l,
527
- isNextDisabled: c,
528
- isNextHidden: f,
529
- onGoToNext: m,
530
- nextLabel: b,
531
- isPreviousDisabled: g,
532
- isPreviousHidden: d,
533
- onGoToPrevious: y,
534
- previousLabel: k,
535
- labelId: P
536
- } = r, M = ie(r, rn), V = r, N = un(V), R = {
537
- isDisabled: c,
538
- isHidden: f,
539
- goTo: m,
540
- label: b
541
- }, H = {
542
- isDisabled: g,
543
- isHidden: d,
544
- goTo: y,
545
- label: k
546
- }, h = (u == null ? void 0 : u.previousIconButton) ?? at, x = Ne({
547
- elementType: h,
548
- externalSlotProps: l == null ? void 0 : l.previousIconButton,
549
- additionalProps: {
550
- size: "medium",
551
- title: H.label,
552
- "aria-label": H.label,
553
- disabled: H.isDisabled,
554
- edge: "end",
555
- onClick: H.goTo
556
- },
557
- ownerState: E({}, V, {
558
- hidden: H.isHidden
559
- }),
560
- className: te(N.button, N.previousIconButton)
561
- }), O = (u == null ? void 0 : u.nextIconButton) ?? at, L = Ne({
562
- elementType: O,
563
- externalSlotProps: l == null ? void 0 : l.nextIconButton,
564
- additionalProps: {
565
- size: "medium",
566
- title: R.label,
567
- "aria-label": R.label,
568
- disabled: R.isDisabled,
569
- edge: "start",
570
- onClick: R.goTo
571
- },
572
- ownerState: E({}, V, {
573
- hidden: R.isHidden
574
- }),
575
- className: te(N.button, N.nextIconButton)
576
- }), I = (u == null ? void 0 : u.leftArrowIcon) ?? tn, K = Ne({
577
- elementType: I,
578
- externalSlotProps: l == null ? void 0 : l.leftArrowIcon,
579
- additionalProps: {
580
- fontSize: "inherit"
581
- },
582
- ownerState: V,
583
- className: N.leftArrowIcon
584
- }), _ = ie(K, sn), ne = (u == null ? void 0 : u.rightArrowIcon) ?? nn, oe = Ne({
585
- elementType: ne,
586
- externalSlotProps: l == null ? void 0 : l.rightArrowIcon,
587
- additionalProps: {
588
- fontSize: "inherit"
589
- },
590
- ownerState: V,
591
- className: N.rightArrowIcon
592
- }), le = ie(oe, an);
593
- return /* @__PURE__ */ Se(ln, E({
594
- ref: n,
595
- className: te(N.root, i),
596
- ownerState: V
597
- }, M, {
598
- children: [/* @__PURE__ */ C(h, E({}, x, {
599
- children: o ? /* @__PURE__ */ C(ne, E({}, le)) : /* @__PURE__ */ C(I, E({}, _))
600
- })), s ? /* @__PURE__ */ C(gt, {
601
- variant: "subtitle1",
602
- component: "span",
603
- id: P,
604
- children: s
605
- }) : /* @__PURE__ */ C(cn, {
606
- className: N.spacer,
607
- ownerState: V
608
- }), /* @__PURE__ */ C(O, E({}, L, {
609
- children: o ? /* @__PURE__ */ C(I, E({}, _)) : /* @__PURE__ */ C(ne, E({}, le))
610
- }))]
611
- }));
612
- }), ue = (e, t) => e.length !== t.length ? !1 : t.every((n) => e.includes(n)), Go = ({
613
- openTo: e,
614
- defaultOpenTo: t,
615
- views: n,
616
- defaultViews: o
617
- }) => {
618
- const r = n ?? o;
619
- let s;
620
- if (e != null)
621
- s = e;
622
- else if (r.includes(t))
623
- s = t;
624
- else if (r.length > 0)
625
- s = r[0];
626
- else
627
- throw new Error("MUI X: The `views` prop must contain at least one view.");
628
- return {
629
- views: r,
630
- openTo: s
631
- };
632
- }, St = ["hours", "minutes", "seconds"], He = (e) => St.includes(e), qo = (e) => St.includes(e) || e === "meridiem", mn = (e, t) => e ? t.getHours(e) >= 12 ? "pm" : "am" : null, Oe = (e, t, n) => n && (e >= 12 ? "pm" : "am") !== t ? t === "am" ? e - 12 : e + 12 : e, fn = (e, t, n, o) => {
633
- const r = Oe(o.getHours(e), t, n);
634
- return o.setHours(e, r);
635
- }, it = (e, t) => t.getHours(e) * 3600 + t.getMinutes(e) * 60 + t.getSeconds(e), _e = (e, t) => (n, o) => e ? t.isAfter(n, o) : it(n, t) > it(o, t), Zo = (e, {
636
- format: t,
637
- views: n,
638
- ampm: o
639
- }) => {
640
- if (t != null)
641
- return t;
642
- const r = e.formats;
643
- return ue(n, ["hours"]) ? o ? `${r.hours12h} ${r.meridiem}` : r.hours24h : ue(n, ["minutes"]) ? r.minutes : ue(n, ["seconds"]) ? r.seconds : ue(n, ["minutes", "seconds"]) ? `${r.minutes}:${r.seconds}` : ue(n, ["hours", "minutes", "seconds"]) ? o ? `${r.hours12h}:${r.minutes}:${r.seconds} ${r.meridiem}` : `${r.hours24h}:${r.minutes}:${r.seconds}` : o ? `${r.hours12h}:${r.minutes} ${r.meridiem}` : `${r.hours24h}:${r.minutes}`;
644
- };
645
- let je = !1;
646
- function Ke({
647
- onChange: e,
648
- onViewChange: t,
649
- openTo: n,
650
- view: o,
651
- views: r,
652
- autoFocus: s,
653
- focusedView: i,
654
- onFocusedViewChange: u
655
- }) {
656
- process.env.NODE_ENV !== "production" && (je || (o != null && !r.includes(o) && (console.warn(`MUI X: \`view="${o}"\` is not a valid prop.`, `It must be an element of \`views=["${r.join('", "')}"]\`.`), je = !0), o == null && n != null && !r.includes(n) && (console.warn(`MUI X: \`openTo="${n}"\` is not a valid prop.`, `It must be an element of \`views=["${r.join('", "')}"]\`.`), je = !0)));
657
- const l = p.useRef(n), c = p.useRef(r), f = p.useRef(r.includes(n) ? n : r[0]), [m, b] = We({
658
- name: "useViews",
659
- state: "view",
660
- controlled: o,
661
- default: f.current
662
- }), g = p.useRef(s ? m : null), [d, y] = We({
663
- name: "useViews",
664
- state: "focusedView",
665
- controlled: i,
666
- default: g.current
667
- });
668
- p.useEffect(() => {
669
- (l.current && l.current !== n || c.current && c.current.some((h) => !r.includes(h))) && (b(r.includes(n) ? n : r[0]), c.current = r, l.current = n);
670
- }, [n, b, m, r]);
671
- const k = r.indexOf(m), P = r[k - 1] ?? null, M = r[k + 1] ?? null, V = ae((h, x) => {
672
- y(x ? h : (O) => h === O ? null : O), u == null || u(h, x);
673
- }), N = ae((h) => {
674
- V(h, !0), h !== m && (b(h), t && t(h));
675
- }), R = ae(() => {
676
- M && N(M);
677
- }), H = ae((h, x, O) => {
678
- const L = x === "finish", I = O ? (
679
- // handles case like `DateTimePicker`, where a view might return a `finish` selection state
680
- // but when it's not the final view given all `views` -> overall selection state should be `partial`.
681
- r.indexOf(O) < r.length - 1
682
- ) : !!M;
683
- if (e(h, L && I ? "partial" : x, O), O && O !== m) {
684
- const _ = r[r.indexOf(O) + 1];
685
- _ && N(_);
686
- } else L && R();
687
- });
688
- return {
689
- view: m,
690
- setView: N,
691
- focusedView: d,
692
- setFocusedView: V,
693
- nextView: M,
694
- previousView: P,
695
- // Always return up-to-date default view instead of the initial one (i.e. defaultView.current)
696
- defaultView: r.includes(n) ? n : r[0],
697
- goToNextView: R,
698
- setValueAndGoToNextView: H
699
- };
700
- }
701
- function Ko(e, {
702
- disableFuture: t,
703
- maxDate: n,
704
- timezone: o
705
- }) {
706
- const r = ge();
707
- return p.useMemo(() => {
708
- const s = r.date(void 0, o), i = r.startOfMonth(t && r.isBefore(s, n) ? s : n);
709
- return !r.isAfter(i, e);
710
- }, [t, n, e, r, o]);
711
- }
712
- function Xo(e, {
713
- disablePast: t,
714
- minDate: n,
715
- timezone: o
716
- }) {
717
- const r = ge();
718
- return p.useMemo(() => {
719
- const s = r.date(void 0, o), i = r.startOfMonth(t && r.isAfter(s, n) ? s : n);
720
- return !r.isBefore(i, e);
721
- }, [t, n, e, r, o]);
722
- }
723
- function Ct(e, t, n, o) {
724
- const r = ge(), s = mn(e, r), i = p.useCallback((u) => {
725
- const l = e == null ? null : fn(e, u, !!t, r);
726
- n(l, o ?? "partial");
727
- }, [t, e, n, o, r]);
728
- return {
729
- meridiemMode: s,
730
- handleMeridiemChange: i
731
- };
732
- }
733
- const Jo = 36, Qo = 2, pn = 320, er = 280, hn = 336, Mt = 232, gn = 48, Xe = B("div")({
734
- overflow: "hidden",
735
- width: pn,
736
- maxHeight: hn,
737
- display: "flex",
738
- flexDirection: "column",
739
- margin: "0 auto"
740
- });
741
- function bn(e) {
742
- return he("MuiTimeClock", e);
743
- }
744
- De("MuiTimeClock", ["root", "arrowSwitcher"]);
745
- const Te = 220, fe = 36, Pe = {
746
- x: Te / 2,
747
- y: Te / 2
748
- }, Dt = {
749
- x: Pe.x,
750
- y: 0
751
- }, yn = Dt.x - Pe.x, wn = Dt.y - Pe.y, vn = (e) => e * (180 / Math.PI), kt = (e, t, n) => {
752
- const o = t - Pe.x, r = n - Pe.y, s = Math.atan2(yn, wn) - Math.atan2(o, r);
753
- let i = vn(s);
754
- i = Math.round(i / e) * e, i %= 360;
755
- const u = Math.floor(i / e) || 0, l = o ** 2 + r ** 2, c = Math.sqrt(l);
756
- return {
757
- value: u,
758
- distance: c
759
- };
760
- }, Sn = (e, t, n = 1) => {
761
- const o = n * 6;
762
- let {
763
- value: r
764
- } = kt(o, e, t);
765
- return r = r * n % 60, r;
766
- }, Cn = (e, t, n) => {
767
- const {
768
- value: o,
769
- distance: r
770
- } = kt(30, e, t);
771
- let s = o || 12;
772
- return n ? s %= 12 : r < Te / 2 - fe && (s += 12, s %= 24), s;
773
- };
774
- function Mn(e) {
775
- return he("MuiClockPointer", e);
776
- }
777
- De("MuiClockPointer", ["root", "thumb"]);
778
- const Dn = ["className", "hasSelected", "isInner", "type", "viewValue"], kn = (e) => {
779
- const {
780
- classes: t
781
- } = e;
782
- return Me({
783
- root: ["root"],
784
- thumb: ["thumb"]
785
- }, Mn, t);
786
- }, xn = B("div", {
787
- name: "MuiClockPointer",
788
- slot: "Root",
789
- overridesResolver: (e, t) => t.root
790
- })(({
791
- theme: e
792
- }) => ({
793
- width: 2,
794
- backgroundColor: (e.vars || e).palette.primary.main,
795
- position: "absolute",
796
- left: "calc(50% - 1px)",
797
- bottom: "50%",
798
- transformOrigin: "center bottom 0px",
799
- variants: [{
800
- props: {
801
- shouldAnimate: !0
802
- },
803
- style: {
804
- transition: e.transitions.create(["transform", "height"])
805
- }
806
- }]
807
- })), Tn = B("div", {
808
- name: "MuiClockPointer",
809
- slot: "Thumb",
810
- overridesResolver: (e, t) => t.thumb
811
- })(({
812
- theme: e
813
- }) => ({
814
- width: 4,
815
- height: 4,
816
- backgroundColor: (e.vars || e).palette.primary.contrastText,
817
- borderRadius: "50%",
818
- position: "absolute",
819
- top: -21,
820
- left: `calc(50% - ${fe / 2}px)`,
821
- border: `${(fe - 4) / 2}px solid ${(e.vars || e).palette.primary.main}`,
822
- boxSizing: "content-box",
823
- variants: [{
824
- props: {
825
- hasSelected: !0
826
- },
827
- style: {
828
- backgroundColor: (e.vars || e).palette.primary.main
829
- }
830
- }]
831
- }));
832
- function In(e) {
833
- const t = pe({
834
- props: e,
835
- name: "MuiClockPointer"
836
- }), {
837
- className: n,
838
- isInner: o,
839
- type: r,
840
- viewValue: s
841
- } = t, i = ie(t, Dn), u = p.useRef(r);
842
- p.useEffect(() => {
843
- u.current = r;
844
- }, [r]);
845
- const l = E({}, t, {
846
- shouldAnimate: u.current !== r
847
- }), c = kn(l);
848
- return /* @__PURE__ */ C(xn, E({
849
- style: (() => {
850
- let b = 360 / (r === "hours" ? 12 : 60) * s;
851
- return r === "hours" && s > 12 && (b -= 360), {
852
- height: Math.round((o ? 0.26 : 0.4) * Te),
853
- transform: `rotateZ(${b}deg)`
854
- };
855
- })(),
856
- className: te(c.root, n),
857
- ownerState: l
858
- }, i, {
859
- children: /* @__PURE__ */ C(Tn, {
860
- ownerState: l,
861
- className: c.thumb
862
- })
863
- }));
864
- }
865
- function Vn(e) {
866
- return he("MuiClock", e);
867
- }
868
- De("MuiClock", ["root", "clock", "wrapper", "squareMask", "pin", "amButton", "pmButton", "meridiemText", "selected"]);
869
- const Ue = (e, t, n) => {
870
- let o = t;
871
- return o = e.setHours(o, e.getHours(n)), o = e.setMinutes(o, e.getMinutes(n)), o = e.setSeconds(o, e.getSeconds(n)), o = e.setMilliseconds(o, e.getMilliseconds(n)), o;
872
- }, tr = ({
873
- date: e,
874
- disableFuture: t,
875
- disablePast: n,
876
- maxDate: o,
877
- minDate: r,
878
- isDateDisabled: s,
879
- utils: i,
880
- timezone: u
881
- }) => {
882
- const l = Ue(i, i.date(void 0, u), e);
883
- n && i.isBefore(r, l) && (r = l), t && i.isAfter(o, l) && (o = l);
884
- let c = e, f = e;
885
- for (i.isBefore(e, r) && (c = r, f = null), i.isAfter(e, o) && (f && (f = o), c = null); c || f; ) {
886
- if (c && i.isAfter(c, o) && (c = null), f && i.isBefore(f, r) && (f = null), c) {
887
- if (!s(c))
888
- return c;
889
- c = i.addDays(c, 1);
890
- }
891
- if (f) {
892
- if (!s(f))
893
- return f;
894
- f = i.addDays(f, -1);
895
- }
896
- }
897
- return null;
898
- }, Nn = (e, t) => t == null || !e.isValid(t) ? null : t, nr = (e, t, n) => t == null || !e.isValid(t) ? n : t, On = (e, t, n) => !e.isValid(t) && t != null && !e.isValid(n) && n != null ? !0 : e.isEqual(t, n), xt = (e, t) => {
899
- const o = [e.startOfYear(t)];
900
- for (; o.length < 12; ) {
901
- const r = o[o.length - 1];
902
- o.push(e.addMonths(r, 1));
903
- }
904
- return o;
905
- }, Je = (e, t, n) => n === "date" ? e.startOfDay(e.date(void 0, t)) : e.date(void 0, t), xe = (e, t) => {
906
- const n = e.setHours(e.date(), t === "am" ? 2 : 14);
907
- return e.format(n, "meridiem");
908
- }, Pn = ["year", "month", "day"], or = (e) => Pn.includes(e), rr = (e, {
909
- format: t,
910
- views: n
911
- }, o) => {
912
- if (t != null)
913
- return t;
914
- const r = e.formats;
915
- return ue(n, ["year"]) ? r.year : ue(n, ["month"]) ? r.month : ue(n, ["day"]) ? r.dayOfMonth : ue(n, ["month", "year"]) ? `${r.month} ${r.year}` : ue(n, ["day", "month"]) ? `${r.month} ${r.dayOfMonth}` : o ? /en/.test(e.getCurrentLocaleCode()) ? r.normalDateWithWeekday : r.normalDate : r.keyboardDate;
916
- }, sr = (e, t) => {
917
- const n = e.startOfWeek(t);
918
- return [0, 1, 2, 3, 4, 5, 6].map((o) => e.addDays(n, o));
919
- }, Rn = (e) => {
920
- const {
921
- classes: t,
922
- meridiemMode: n
923
- } = e;
924
- return Me({
925
- root: ["root"],
926
- clock: ["clock"],
927
- wrapper: ["wrapper"],
928
- squareMask: ["squareMask"],
929
- pin: ["pin"],
930
- amButton: ["amButton", n === "am" && "selected"],
931
- pmButton: ["pmButton", n === "pm" && "selected"],
932
- meridiemText: ["meridiemText"]
933
- }, Vn, t);
934
- }, En = B("div", {
935
- name: "MuiClock",
936
- slot: "Root",
937
- overridesResolver: (e, t) => t.root
938
- })(({
939
- theme: e
940
- }) => ({
941
- display: "flex",
942
- justifyContent: "center",
943
- alignItems: "center",
944
- margin: e.spacing(2)
945
- })), An = B("div", {
946
- name: "MuiClock",
947
- slot: "Clock",
948
- overridesResolver: (e, t) => t.clock
949
- })({
950
- backgroundColor: "rgba(0,0,0,.07)",
951
- borderRadius: "50%",
952
- height: 220,
953
- width: 220,
954
- flexShrink: 0,
955
- position: "relative",
956
- pointerEvents: "none"
957
- }), Ln = B("div", {
958
- name: "MuiClock",
959
- slot: "Wrapper",
960
- overridesResolver: (e, t) => t.wrapper
961
- })({
962
- "&:focus": {
963
- outline: "none"
964
- }
965
- }), $n = B("div", {
966
- name: "MuiClock",
967
- slot: "SquareMask",
968
- overridesResolver: (e, t) => t.squareMask
969
- })({
970
- width: "100%",
971
- height: "100%",
972
- position: "absolute",
973
- pointerEvents: "auto",
974
- outline: 0,
975
- // Disable scroll capabilities.
976
- touchAction: "none",
977
- userSelect: "none",
978
- variants: [{
979
- props: {
980
- disabled: !1
981
- },
982
- style: {
983
- "@media (pointer: fine)": {
984
- cursor: "pointer",
985
- borderRadius: "50%"
986
- },
987
- "&:active": {
988
- cursor: "move"
989
- }
990
- }
991
- }]
992
- }), Hn = B("div", {
993
- name: "MuiClock",
994
- slot: "Pin",
995
- overridesResolver: (e, t) => t.pin
996
- })(({
997
- theme: e
998
- }) => ({
999
- width: 6,
1000
- height: 6,
1001
- borderRadius: "50%",
1002
- backgroundColor: (e.vars || e).palette.primary.main,
1003
- position: "absolute",
1004
- top: "50%",
1005
- left: "50%",
1006
- transform: "translate(-50%, -50%)"
1007
- })), Tt = (e, t) => ({
1008
- zIndex: 1,
1009
- bottom: 8,
1010
- paddingLeft: 4,
1011
- paddingRight: 4,
1012
- width: fe,
1013
- variants: [{
1014
- props: {
1015
- meridiemMode: t
1016
- },
1017
- style: {
1018
- backgroundColor: (e.vars || e).palette.primary.main,
1019
- color: (e.vars || e).palette.primary.contrastText,
1020
- "&:hover": {
1021
- backgroundColor: (e.vars || e).palette.primary.light
1022
- }
1023
- }
1024
- }]
1025
- }), Fn = B(Ye, {
1026
- name: "MuiClock",
1027
- slot: "AmButton",
1028
- overridesResolver: (e, t) => t.amButton
1029
- })(({
1030
- theme: e
1031
- }) => E({}, Tt(e, "am"), {
1032
- // keeping it here to make TS happy
1033
- position: "absolute",
1034
- left: 8
1035
- })), Bn = B(Ye, {
1036
- name: "MuiClock",
1037
- slot: "PmButton",
1038
- overridesResolver: (e, t) => t.pmButton
1039
- })(({
1040
- theme: e
1041
- }) => E({}, Tt(e, "pm"), {
1042
- // keeping it here to make TS happy
1043
- position: "absolute",
1044
- right: 8
1045
- })), lt = B(gt, {
1046
- name: "MuiClock",
1047
- slot: "meridiemText",
1048
- overridesResolver: (e, t) => t.meridiemText
1049
- })({
1050
- overflow: "hidden",
1051
- whiteSpace: "nowrap",
1052
- textOverflow: "ellipsis"
1053
- });
1054
- function _n(e) {
1055
- const t = pe({
1056
- props: e,
1057
- name: "MuiClock"
1058
- }), {
1059
- ampm: n,
1060
- ampmInClock: o,
1061
- autoFocus: r,
1062
- children: s,
1063
- value: i,
1064
- handleMeridiemChange: u,
1065
- isTimeDisabled: l,
1066
- meridiemMode: c,
1067
- minutesStep: f = 1,
1068
- onChange: m,
1069
- selectedId: b,
1070
- type: g,
1071
- viewValue: d,
1072
- viewRange: [y, k],
1073
- disabled: P = !1,
1074
- readOnly: M,
1075
- className: V
1076
- } = t, N = t, R = ge(), H = Be(), h = p.useRef(!1), x = Rn(N), O = l(d, g), L = !n && g === "hours" && (d < 1 || d > 12), I = (D, A) => {
1077
- P || M || l(D, g) || m(D, A);
1078
- }, K = (D, A) => {
1079
- let {
1080
- offsetX: Q,
1081
- offsetY: j
1082
- } = D;
1083
- if (Q === void 0) {
1084
- const q = D.target.getBoundingClientRect();
1085
- Q = D.changedTouches[0].clientX - q.left, j = D.changedTouches[0].clientY - q.top;
1086
- }
1087
- const ee = g === "seconds" || g === "minutes" ? Sn(Q, j, f) : Cn(Q, j, !!n);
1088
- I(ee, A);
1089
- }, _ = (D) => {
1090
- h.current = !0, K(D, "shallow");
1091
- }, ne = (D) => {
1092
- h.current && (K(D, "finish"), h.current = !1), D.preventDefault();
1093
- }, oe = (D) => {
1094
- D.buttons > 0 && K(D.nativeEvent, "shallow");
1095
- }, le = (D) => {
1096
- h.current && (h.current = !1), K(D.nativeEvent, "finish");
1097
- }, ce = p.useMemo(() => g === "hours" ? !0 : d % 5 === 0, [g, d]), X = g === "minutes" ? f : 1, de = p.useRef(null);
1098
- wt(() => {
1099
- r && de.current.focus();
1100
- }, [r]);
1101
- const F = (D) => Math.max(y, Math.min(k, D)), z = (D) => (D + (k + 1)) % (k + 1), G = (D) => {
1102
- if (!h.current)
1103
- switch (D.key) {
1104
- case "Home":
1105
- I(y, "partial"), D.preventDefault();
1106
- break;
1107
- case "End":
1108
- I(k, "partial"), D.preventDefault();
1109
- break;
1110
- case "ArrowUp":
1111
- I(z(d + X), "partial"), D.preventDefault();
1112
- break;
1113
- case "ArrowDown":
1114
- I(z(d - X), "partial"), D.preventDefault();
1115
- break;
1116
- case "PageUp":
1117
- I(F(d + 5), "partial"), D.preventDefault();
1118
- break;
1119
- case "PageDown":
1120
- I(F(d - 5), "partial"), D.preventDefault();
1121
- break;
1122
- case "Enter":
1123
- case " ":
1124
- I(d, "finish"), D.preventDefault();
1125
- break;
1126
- }
1127
- };
1128
- return /* @__PURE__ */ Se(En, {
1129
- className: te(x.root, V),
1130
- children: [/* @__PURE__ */ Se(An, {
1131
- className: x.clock,
1132
- children: [/* @__PURE__ */ C($n, {
1133
- onTouchMove: _,
1134
- onTouchStart: _,
1135
- onTouchEnd: ne,
1136
- onMouseUp: le,
1137
- onMouseMove: oe,
1138
- ownerState: {
1139
- disabled: P
1140
- },
1141
- className: x.squareMask
1142
- }), !O && /* @__PURE__ */ Se(p.Fragment, {
1143
- children: [/* @__PURE__ */ C(Hn, {
1144
- className: x.pin
1145
- }), i != null && /* @__PURE__ */ C(In, {
1146
- type: g,
1147
- viewValue: d,
1148
- isInner: L,
1149
- hasSelected: ce
1150
- })]
1151
- }), /* @__PURE__ */ C(Ln, {
1152
- "aria-activedescendant": b,
1153
- "aria-label": H.clockLabelText(g, i, R, i == null ? null : R.format(i, "fullTime")),
1154
- ref: de,
1155
- role: "listbox",
1156
- onKeyDown: G,
1157
- tabIndex: 0,
1158
- className: x.wrapper,
1159
- children: s
1160
- })]
1161
- }), n && o && /* @__PURE__ */ Se(p.Fragment, {
1162
- children: [/* @__PURE__ */ C(Fn, {
1163
- onClick: M ? void 0 : () => u("am"),
1164
- disabled: P || c === null,
1165
- ownerState: N,
1166
- className: x.amButton,
1167
- title: xe(R, "am"),
1168
- children: /* @__PURE__ */ C(lt, {
1169
- variant: "caption",
1170
- className: x.meridiemText,
1171
- children: xe(R, "am")
1172
- })
1173
- }), /* @__PURE__ */ C(Bn, {
1174
- disabled: P || c === null,
1175
- onClick: M ? void 0 : () => u("pm"),
1176
- ownerState: N,
1177
- className: x.pmButton,
1178
- title: xe(R, "pm"),
1179
- children: /* @__PURE__ */ C(lt, {
1180
- variant: "caption",
1181
- className: x.meridiemText,
1182
- children: xe(R, "pm")
1183
- })
1184
- })]
1185
- })]
1186
- });
1187
- }
1188
- function zn(e) {
1189
- return he("MuiClockNumber", e);
1190
- }
1191
- const Ae = De("MuiClockNumber", ["root", "selected", "disabled"]), jn = ["className", "disabled", "index", "inner", "label", "selected"], Wn = (e) => {
1192
- const {
1193
- classes: t,
1194
- selected: n,
1195
- disabled: o
1196
- } = e;
1197
- return Me({
1198
- root: ["root", n && "selected", o && "disabled"]
1199
- }, zn, t);
1200
- }, Un = B("span", {
1201
- name: "MuiClockNumber",
1202
- slot: "Root",
1203
- overridesResolver: (e, t) => [t.root, {
1204
- [`&.${Ae.disabled}`]: t.disabled
1205
- }, {
1206
- [`&.${Ae.selected}`]: t.selected
1207
- }]
1208
- })(({
1209
- theme: e
1210
- }) => ({
1211
- height: fe,
1212
- width: fe,
1213
- position: "absolute",
1214
- left: `calc((100% - ${fe}px) / 2)`,
1215
- display: "inline-flex",
1216
- justifyContent: "center",
1217
- alignItems: "center",
1218
- borderRadius: "50%",
1219
- color: (e.vars || e).palette.text.primary,
1220
- fontFamily: e.typography.fontFamily,
1221
- "&:focused": {
1222
- backgroundColor: (e.vars || e).palette.background.paper
1223
- },
1224
- [`&.${Ae.selected}`]: {
1225
- color: (e.vars || e).palette.primary.contrastText
1226
- },
1227
- [`&.${Ae.disabled}`]: {
1228
- pointerEvents: "none",
1229
- color: (e.vars || e).palette.text.disabled
1230
- },
1231
- variants: [{
1232
- props: {
1233
- inner: !0
1234
- },
1235
- style: E({}, e.typography.body2, {
1236
- color: (e.vars || e).palette.text.secondary
1237
- })
1238
- }]
1239
- }));
1240
- function It(e) {
1241
- const t = pe({
1242
- props: e,
1243
- name: "MuiClockNumber"
1244
- }), {
1245
- className: n,
1246
- disabled: o,
1247
- index: r,
1248
- inner: s,
1249
- label: i,
1250
- selected: u
1251
- } = t, l = ie(t, jn), c = t, f = Wn(c), m = r % 12 / 12 * Math.PI * 2 - Math.PI / 2, b = (Te - fe - 2) / 2 * (s ? 0.65 : 1), g = Math.round(Math.cos(m) * b), d = Math.round(Math.sin(m) * b);
1252
- return /* @__PURE__ */ C(Un, E({
1253
- className: te(f.root, n),
1254
- "aria-disabled": o ? !0 : void 0,
1255
- "aria-selected": u ? !0 : void 0,
1256
- role: "option",
1257
- style: {
1258
- transform: `translate(${g}px, ${d + (Te - fe) / 2}px`
1259
- },
1260
- ownerState: c
1261
- }, l, {
1262
- children: i
1263
- }));
1264
- }
1265
- const Yn = ({
1266
- ampm: e,
1267
- value: t,
1268
- getClockNumberText: n,
1269
- isDisabled: o,
1270
- selectedId: r,
1271
- utils: s
1272
- }) => {
1273
- const i = t ? s.getHours(t) : null, u = [], l = e ? 1 : 0, c = e ? 12 : 23, f = (m) => i === null ? !1 : e ? m === 12 ? i === 12 || i === 0 : i === m || i - 12 === m : i === m;
1274
- for (let m = l; m <= c; m += 1) {
1275
- let b = m.toString();
1276
- m === 0 && (b = "00");
1277
- const g = !e && (m === 0 || m > 12);
1278
- b = s.formatNumber(b);
1279
- const d = f(m);
1280
- u.push(/* @__PURE__ */ C(It, {
1281
- id: d ? r : void 0,
1282
- index: m,
1283
- inner: g,
1284
- selected: d,
1285
- disabled: o(m),
1286
- label: b,
1287
- "aria-label": n(b)
1288
- }, m));
1289
- }
1290
- return u;
1291
- }, ct = ({
1292
- utils: e,
1293
- value: t,
1294
- isDisabled: n,
1295
- getClockNumberText: o,
1296
- selectedId: r
1297
- }) => {
1298
- const s = e.formatNumber;
1299
- return [[5, s("05")], [10, s("10")], [15, s("15")], [20, s("20")], [25, s("25")], [30, s("30")], [35, s("35")], [40, s("40")], [45, s("45")], [50, s("50")], [55, s("55")], [0, s("00")]].map(([i, u], l) => {
1300
- const c = i === t;
1301
- return /* @__PURE__ */ C(It, {
1302
- label: u,
1303
- id: c ? r : void 0,
1304
- index: l + 1,
1305
- inner: !1,
1306
- disabled: n(i),
1307
- selected: c,
1308
- "aria-label": o(u)
1309
- }, i);
1310
- });
1311
- }, Gn = ({
1312
- timezone: e,
1313
- value: t,
1314
- defaultValue: n,
1315
- referenceDate: o,
1316
- onChange: r,
1317
- valueManager: s
1318
- }) => {
1319
- const i = ge(), u = p.useRef(n), l = t ?? u.current ?? s.emptyValue, c = p.useMemo(() => s.getTimezone(i, l), [i, s, l]), f = ae((d) => c == null ? d : s.setTimezone(i, c, d));
1320
- let m;
1321
- e ? m = e : c ? m = c : o ? m = i.getTimezone(o) : m = "default";
1322
- const b = p.useMemo(() => s.setTimezone(i, m, l), [s, i, m, l]), g = ae((d, ...y) => {
1323
- const k = f(d);
1324
- r == null || r(k, ...y);
1325
- });
1326
- return {
1327
- value: b,
1328
- handleValueChange: g,
1329
- timezone: m
1330
- };
1331
- }, Qe = ({
1332
- name: e,
1333
- timezone: t,
1334
- value: n,
1335
- defaultValue: o,
1336
- referenceDate: r,
1337
- onChange: s,
1338
- valueManager: i
1339
- }) => {
1340
- const [u, l] = We({
1341
- name: e,
1342
- state: "value",
1343
- controlled: n,
1344
- default: o ?? i.emptyValue
1345
- }), c = ae((f, ...m) => {
1346
- l(f), s == null || s(f, ...m);
1347
- });
1348
- return Gn({
1349
- timezone: t,
1350
- value: u,
1351
- defaultValue: void 0,
1352
- referenceDate: r,
1353
- onChange: c,
1354
- valueManager: i
1355
- });
1356
- }, ve = {
1357
- year: 1,
1358
- month: 2,
1359
- day: 3,
1360
- hours: 4,
1361
- minutes: 5,
1362
- seconds: 6,
1363
- milliseconds: 7
1364
- }, ar = (e) => Math.max(...e.map((t) => ve[t.type] ?? 1)), Ve = (e, t, n) => {
1365
- if (t === ve.year)
1366
- return e.startOfYear(n);
1367
- if (t === ve.month)
1368
- return e.startOfMonth(n);
1369
- if (t === ve.day)
1370
- return e.startOfDay(n);
1371
- let o = n;
1372
- return t < ve.minutes && (o = e.setMinutes(o, 0)), t < ve.seconds && (o = e.setSeconds(o, 0)), t < ve.milliseconds && (o = e.setMilliseconds(o, 0)), o;
1373
- }, qn = ({
1374
- props: e,
1375
- utils: t,
1376
- granularity: n,
1377
- timezone: o,
1378
- getTodayDate: r
1379
- }) => {
1380
- let s = r ? r() : Ve(t, n, Je(t, o));
1381
- e.minDate != null && t.isAfterDay(e.minDate, s) && (s = Ve(t, n, e.minDate)), e.maxDate != null && t.isBeforeDay(e.maxDate, s) && (s = Ve(t, n, e.maxDate));
1382
- const i = _e(e.disableIgnoringDatePartForTimeValidation ?? !1, t);
1383
- return e.minTime != null && i(e.minTime, s) && (s = Ve(t, n, e.disableIgnoringDatePartForTimeValidation ? e.minTime : Ue(t, s, e.minTime))), e.maxTime != null && i(s, e.maxTime) && (s = Ve(t, n, e.disableIgnoringDatePartForTimeValidation ? e.maxTime : Ue(t, s, e.maxTime))), s;
1384
- }, Zn = (e, t) => {
1385
- const n = e.formatTokenMap[t];
1386
- if (n == null)
1387
- throw new Error([`MUI X: The token "${t}" is not supported by the Date and Time Pickers.`, "Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported."].join(`
1388
- `));
1389
- return typeof n == "string" ? {
1390
- type: n,
1391
- contentType: n === "meridiem" ? "letter" : "digit",
1392
- maxLength: void 0
1393
- } : {
1394
- type: n.sectionType,
1395
- contentType: n.contentType,
1396
- maxLength: n.maxLength
1397
- };
1398
- }, Kn = (e) => {
1399
- switch (e) {
1400
- case "ArrowUp":
1401
- return 1;
1402
- case "ArrowDown":
1403
- return -1;
1404
- case "PageUp":
1405
- return 5;
1406
- case "PageDown":
1407
- return -5;
1408
- default:
1409
- return 0;
1410
- }
1411
- }, et = (e, t) => {
1412
- const n = [], o = e.date(void 0, "default"), r = e.startOfWeek(o), s = e.endOfWeek(o);
1413
- let i = r;
1414
- for (; e.isBefore(i, s); )
1415
- n.push(i), i = e.addDays(i, 1);
1416
- return n.map((u) => e.formatByString(u, t));
1417
- }, Xn = (e, t, n, o) => {
1418
- switch (n) {
1419
- case "month":
1420
- return xt(e, e.date(void 0, t)).map((r) => e.formatByString(r, o));
1421
- case "weekDay":
1422
- return et(e, o);
1423
- case "meridiem": {
1424
- const r = e.date(void 0, t);
1425
- return [e.startOfDay(r), e.endOfDay(r)].map((s) => e.formatByString(s, o));
1426
- }
1427
- default:
1428
- return [];
1429
- }
1430
- }, ut = "s", Jn = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], ir = (e) => {
1431
- const t = e.date(void 0);
1432
- return e.formatByString(e.setSeconds(t, 0), ut) === "0" ? Jn : Array.from({
1433
- length: 10
1434
- }).map((o, r) => e.formatByString(e.setSeconds(t, r), ut));
1435
- }, Re = (e, t) => {
1436
- if (t[0] === "0")
1437
- return e;
1438
- const n = [];
1439
- let o = "";
1440
- for (let r = 0; r < e.length; r += 1) {
1441
- o += e[r];
1442
- const s = t.indexOf(o);
1443
- s > -1 && (n.push(s.toString()), o = "");
1444
- }
1445
- return n.join("");
1446
- }, Qn = (e, t) => t[0] === "0" ? e : e.split("").map((n) => t[Number(n)]).join(""), lr = (e, t) => {
1447
- const n = Re(e, t);
1448
- return n !== " " && !Number.isNaN(Number(n));
1449
- }, eo = (e, t) => {
1450
- let n = e;
1451
- for (n = Number(n).toString(); n.length < t; )
1452
- n = `0${n}`;
1453
- return n;
1454
- }, to = (e, t, n, o, r) => {
1455
- if (process.env.NODE_ENV !== "production" && r.type !== "day" && r.contentType === "digit-with-letter")
1456
- throw new Error([`MUI X: The token "${r.format}" is a digit format with letter in it.'
1457
- This type of format is only supported for 'day' sections`].join(`
1458
- `));
1459
- if (r.type === "day" && r.contentType === "digit-with-letter") {
1460
- const i = e.setDate(n.longestMonth, t);
1461
- return e.formatByString(i, r.format);
1462
- }
1463
- let s = t.toString();
1464
- return r.hasLeadingZerosInInput && (s = eo(s, r.maxLength)), Qn(s, o);
1465
- }, cr = (e, t, n, o, r, s, i, u) => {
1466
- const l = Kn(o), c = o === "Home", f = o === "End", m = n.value === "" || c || f, b = () => {
1467
- const d = r[n.type]({
1468
- currentDate: i,
1469
- format: n.format,
1470
- contentType: n.contentType
1471
- }), y = (V) => to(e, V, d, s, n), k = n.type === "minutes" && (u != null && u.minutesStep) ? u.minutesStep : 1;
1472
- let M = parseInt(Re(n.value, s), 10) + l * k;
1473
- if (m) {
1474
- if (n.type === "year" && !f && !c)
1475
- return e.formatByString(e.date(void 0, t), n.format);
1476
- l > 0 || c ? M = d.minimum : M = d.maximum;
1477
- }
1478
- return M % k !== 0 && ((l < 0 || c) && (M += k - (k + M) % k), (l > 0 || f) && (M -= M % k)), M > d.maximum ? y(d.minimum + (M - d.maximum - 1) % (d.maximum - d.minimum + 1)) : M < d.minimum ? y(d.maximum - (d.minimum - M - 1) % (d.maximum - d.minimum + 1)) : y(M);
1479
- }, g = () => {
1480
- const d = Xn(e, t, n.type, n.format);
1481
- if (d.length === 0)
1482
- return n.value;
1483
- if (m)
1484
- return l > 0 || c ? d[0] : d[d.length - 1];
1485
- const P = ((d.indexOf(n.value) + l) % d.length + d.length) % d.length;
1486
- return d[P];
1487
- };
1488
- return n.contentType === "digit" || n.contentType === "digit-with-letter" ? b() : g();
1489
- }, Vt = (e, t, n) => {
1490
- let o = e.value || e.placeholder;
1491
- const r = t === "non-input" ? e.hasLeadingZerosInFormat : e.hasLeadingZerosInInput;
1492
- return t === "non-input" && e.hasLeadingZerosInInput && !e.hasLeadingZerosInFormat && (o = Number(Re(o, n)).toString()), ["input-rtl", "input-ltr"].includes(t) && e.contentType === "digit" && !r && o.length === 1 && (o = `${o}‎`), t === "input-rtl" && (o = `⁨${o}⁩`), o;
1493
- }, ur = (e, t, n, o) => {
1494
- if (process.env.NODE_ENV !== "production" && Zn(e, n).type === "weekDay")
1495
- throw new Error("changeSectionValueFormat doesn't support week day formats");
1496
- return e.formatByString(e.parse(t, n), o);
1497
- }, Nt = (e, t) => e.formatByString(e.date(void 0, "system"), t).length === 4, dr = (e, t, n, o) => {
1498
- if (t !== "digit")
1499
- return !1;
1500
- const r = e.date(void 0, "default");
1501
- switch (n) {
1502
- case "year":
1503
- return Nt(e, o) ? e.formatByString(e.setYear(r, 1), o) === "0001" : e.formatByString(e.setYear(r, 2001), o) === "01";
1504
- case "month":
1505
- return e.formatByString(e.startOfYear(r), o).length > 1;
1506
- case "day":
1507
- return e.formatByString(e.startOfMonth(r), o).length > 1;
1508
- case "weekDay":
1509
- return e.formatByString(e.startOfWeek(r), o).length > 1;
1510
- case "hours":
1511
- return e.formatByString(e.setHours(r, 1), o).length > 1;
1512
- case "minutes":
1513
- return e.formatByString(e.setMinutes(r, 1), o).length > 1;
1514
- case "seconds":
1515
- return e.formatByString(e.setSeconds(r, 1), o).length > 1;
1516
- default:
1517
- throw new Error("Invalid section type");
1518
- }
1519
- }, mr = (e, t, n) => {
1520
- const o = t.some((l) => l.type === "day"), r = [], s = [];
1521
- for (let l = 0; l < t.length; l += 1) {
1522
- const c = t[l];
1523
- o && c.type === "weekDay" || (r.push(c.format), s.push(Vt(c, "non-input", n)));
1524
- }
1525
- const i = r.join(" "), u = s.join(" ");
1526
- return e.parse(u, i);
1527
- }, no = (e) => e.map((t) => `${t.startSeparator}${t.value || t.placeholder}${t.endSeparator}`).join(""), oo = (e, t, n) => {
1528
- const r = e.map((s) => {
1529
- const i = Vt(s, n ? "input-rtl" : "input-ltr", t);
1530
- return `${s.startSeparator}${i}${s.endSeparator}`;
1531
- }).join("");
1532
- return n ? `⁦${r}⁩` : r;
1533
- }, fr = (e, t, n) => {
1534
- const o = e.date(void 0, n), r = e.endOfYear(o), s = e.endOfDay(o), {
1535
- maxDaysInMonth: i,
1536
- longestMonth: u
1537
- } = xt(e, o).reduce((l, c) => {
1538
- const f = e.getDaysInMonth(c);
1539
- return f > l.maxDaysInMonth ? {
1540
- maxDaysInMonth: f,
1541
- longestMonth: c
1542
- } : l;
1543
- }, {
1544
- maxDaysInMonth: 0,
1545
- longestMonth: null
1546
- });
1547
- return {
1548
- year: ({
1549
- format: l
1550
- }) => ({
1551
- minimum: 0,
1552
- maximum: Nt(e, l) ? 9999 : 99
1553
- }),
1554
- month: () => ({
1555
- minimum: 1,
1556
- // Assumption: All years have the same amount of months
1557
- maximum: e.getMonth(r) + 1
1558
- }),
1559
- day: ({
1560
- currentDate: l
1561
- }) => ({
1562
- minimum: 1,
1563
- maximum: l != null && e.isValid(l) ? e.getDaysInMonth(l) : i,
1564
- longestMonth: u
1565
- }),
1566
- weekDay: ({
1567
- format: l,
1568
- contentType: c
1569
- }) => {
1570
- if (c === "digit") {
1571
- const f = et(e, l).map(Number);
1572
- return {
1573
- minimum: Math.min(...f),
1574
- maximum: Math.max(...f)
1575
- };
1576
- }
1577
- return {
1578
- minimum: 1,
1579
- maximum: 7
1580
- };
1581
- },
1582
- hours: ({
1583
- format: l
1584
- }) => {
1585
- const c = e.getHours(s);
1586
- return Re(e.formatByString(e.endOfDay(o), l), t) !== c.toString() ? {
1587
- minimum: 1,
1588
- maximum: Number(Re(e.formatByString(e.startOfDay(o), l), t))
1589
- } : {
1590
- minimum: 0,
1591
- maximum: c
1592
- };
1593
- },
1594
- minutes: () => ({
1595
- minimum: 0,
1596
- // Assumption: All years have the same amount of minutes
1597
- maximum: e.getMinutes(s)
1598
- }),
1599
- seconds: () => ({
1600
- minimum: 0,
1601
- // Assumption: All years have the same amount of seconds
1602
- maximum: e.getSeconds(s)
1603
- }),
1604
- meridiem: () => ({
1605
- minimum: 0,
1606
- maximum: 1
1607
- }),
1608
- empty: () => ({
1609
- minimum: 0,
1610
- maximum: 0
1611
- })
1612
- };
1613
- };
1614
- let dt = !1;
1615
- const pr = (e, t) => {
1616
- if (process.env.NODE_ENV !== "production" && !dt) {
1617
- const n = ["empty"];
1618
- ["date", "date-time"].includes(t) && n.push("weekDay", "day", "month", "year"), ["time", "date-time"].includes(t) && n.push("hours", "minutes", "seconds", "meridiem");
1619
- const o = e.find((r) => !n.includes(r.type));
1620
- o && (console.warn(`MUI X: The field component you are using is not compatible with the "${o.type}" date section.`, `The supported date sections are ["${n.join('", "')}"]\`.`), dt = !0);
1621
- }
1622
- }, ro = (e, t, n, o) => {
1623
- switch (t.type) {
1624
- case "year":
1625
- return e.setYear(o, e.getYear(n));
1626
- case "month":
1627
- return e.setMonth(o, e.getMonth(n));
1628
- case "weekDay": {
1629
- const r = et(e, t.format), s = e.formatByString(n, t.format), i = r.indexOf(s), l = r.indexOf(t.value) - i;
1630
- return e.addDays(n, l);
1631
- }
1632
- case "day":
1633
- return e.setDate(o, e.getDate(n));
1634
- case "meridiem": {
1635
- const r = e.getHours(n) < 12, s = e.getHours(o);
1636
- return r && s >= 12 ? e.addHours(o, -12) : !r && s < 12 ? e.addHours(o, 12) : o;
1637
- }
1638
- case "hours":
1639
- return e.setHours(o, e.getHours(n));
1640
- case "minutes":
1641
- return e.setMinutes(o, e.getMinutes(n));
1642
- case "seconds":
1643
- return e.setSeconds(o, e.getSeconds(n));
1644
- default:
1645
- return o;
1646
- }
1647
- }, mt = {
1648
- year: 1,
1649
- month: 2,
1650
- day: 3,
1651
- weekDay: 4,
1652
- hours: 5,
1653
- minutes: 6,
1654
- seconds: 7,
1655
- meridiem: 8,
1656
- empty: 9
1657
- }, hr = (e, t, n, o, r) => (
1658
- // cloning sections before sort to avoid mutating it
1659
- [...n].sort((s, i) => mt[s.type] - mt[i.type]).reduce((s, i) => !r || i.modified ? ro(e, i, t, s) : s, o)
1660
- ), gr = () => navigator.userAgent.toLowerCase().includes("android"), br = (e, t) => {
1661
- const n = {};
1662
- if (!t)
1663
- return e.forEach((l, c) => {
1664
- const f = c === 0 ? null : c - 1, m = c === e.length - 1 ? null : c + 1;
1665
- n[c] = {
1666
- leftIndex: f,
1667
- rightIndex: m
1668
- };
1669
- }), {
1670
- neighbors: n,
1671
- startIndex: 0,
1672
- endIndex: e.length - 1
1673
- };
1674
- const o = {}, r = {};
1675
- let s = 0, i = 0, u = e.length - 1;
1676
- for (; u >= 0; ) {
1677
- i = e.findIndex(
1678
- // eslint-disable-next-line @typescript-eslint/no-loop-func
1679
- (l, c) => {
1680
- var f;
1681
- return c >= s && ((f = l.endSeparator) == null ? void 0 : f.includes(" ")) && // Special case where the spaces were not there in the initial input
1682
- l.endSeparator !== " / ";
1683
- }
1684
- ), i === -1 && (i = e.length - 1);
1685
- for (let l = i; l >= s; l -= 1)
1686
- r[l] = u, o[u] = l, u -= 1;
1687
- s = i + 1;
1688
- }
1689
- return e.forEach((l, c) => {
1690
- const f = r[c], m = f === 0 ? null : o[f - 1], b = f === e.length - 1 ? null : o[f + 1];
1691
- n[c] = {
1692
- leftIndex: m,
1693
- rightIndex: b
1694
- };
1695
- }), {
1696
- neighbors: n,
1697
- startIndex: o[0],
1698
- endIndex: o[e.length - 1]
1699
- };
1700
- }, yr = (e, t) => {
1701
- if (e == null)
1702
- return null;
1703
- if (e === "all")
1704
- return "all";
1705
- if (typeof e == "string") {
1706
- const n = t.findIndex((o) => o.type === e);
1707
- return n === -1 ? null : n;
1708
- }
1709
- return e;
1710
- }, wr = (e, t) => {
1711
- if (e.value)
1712
- switch (e.type) {
1713
- case "month": {
1714
- if (e.contentType === "digit")
1715
- return t.format(t.setMonth(t.date(), Number(e.value) - 1), "month");
1716
- const n = t.parse(e.value, e.format);
1717
- return n ? t.format(n, "month") : void 0;
1718
- }
1719
- case "day":
1720
- return e.contentType === "digit" ? t.format(t.setDate(t.startOfYear(t.date()), Number(e.value)), "dayOfMonthFull") : e.value;
1721
- case "weekDay":
1722
- return;
1723
- default:
1724
- return;
1725
- }
1726
- }, vr = (e, t) => {
1727
- if (e.value)
1728
- switch (e.type) {
1729
- case "weekDay":
1730
- return e.contentType === "letter" ? void 0 : Number(e.value);
1731
- case "meridiem": {
1732
- const n = t.parse(`01:00 ${e.value}`, `${t.formats.hours12h}:${t.formats.minutes} ${e.format}`);
1733
- return n ? t.getHours(n) >= 12 ? 1 : 0 : void 0;
1734
- }
1735
- case "day":
1736
- return e.contentType === "digit-with-letter" ? parseInt(e.value, 10) : Number(e.value);
1737
- case "month": {
1738
- if (e.contentType === "digit")
1739
- return Number(e.value);
1740
- const n = t.parse(e.value, e.format);
1741
- return n ? t.getMonth(n) + 1 : void 0;
1742
- }
1743
- default:
1744
- return e.contentType !== "letter" ? Number(e.value) : void 0;
1745
- }
1746
- }, so = ["value", "referenceDate"], ze = {
1747
- emptyValue: null,
1748
- getTodayValue: Je,
1749
- getInitialReferenceValue: (e) => {
1750
- let {
1751
- value: t,
1752
- referenceDate: n
1753
- } = e, o = ie(e, so);
1754
- return t != null && o.utils.isValid(t) ? t : n ?? qn(o);
1755
- },
1756
- cleanValue: Nn,
1757
- areValuesEqual: On,
1758
- isSameError: (e, t) => e === t,
1759
- hasError: (e) => e != null,
1760
- defaultErrorState: null,
1761
- getTimezone: (e, t) => t == null || !e.isValid(t) ? null : e.getTimezone(t),
1762
- setTimezone: (e, t, n) => n == null ? null : e.setTimezone(n, t)
1763
- }, Sr = {
1764
- updateReferenceValue: (e, t, n) => t == null || !e.isValid(t) ? n : t,
1765
- getSectionsFromValue: (e, t, n, o) => !e.isValid(t) && !!n ? n : o(t),
1766
- getV7HiddenInputValueFromSections: no,
1767
- getV6InputValueFromSections: oo,
1768
- getActiveDateManager: (e, t) => ({
1769
- date: t.value,
1770
- referenceDate: t.referenceValue,
1771
- getSections: (n) => n,
1772
- getNewValuesFromNewActiveDate: (n) => ({
1773
- value: n,
1774
- referenceValue: n == null || !e.isValid(n) ? t.referenceValue : n
1775
- })
1776
- }),
1777
- parseValueStr: (e, t, n) => n(e.trim(), t)
1778
- }, tt = ({
1779
- value: e,
1780
- referenceDate: t,
1781
- utils: n,
1782
- props: o,
1783
- timezone: r
1784
- }) => {
1785
- const s = p.useMemo(
1786
- () => ze.getInitialReferenceValue({
1787
- value: e,
1788
- utils: n,
1789
- props: o,
1790
- referenceDate: t,
1791
- granularity: ve.day,
1792
- timezone: r,
1793
- getTodayDate: () => Je(n, r, "date")
1794
- }),
1795
- // We only want to compute the reference date on mount.
1796
- []
1797
- // eslint-disable-line react-hooks/exhaustive-deps
1798
- );
1799
- return e ?? s;
1800
- }, ao = ["ampm", "ampmInClock", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "showViewSwitcher", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "timezone"], io = (e) => {
1801
- const {
1802
- classes: t
1803
- } = e;
1804
- return Me({
1805
- root: ["root"],
1806
- arrowSwitcher: ["arrowSwitcher"]
1807
- }, bn, t);
1808
- }, lo = B(Xe, {
1809
- name: "MuiTimeClock",
1810
- slot: "Root",
1811
- overridesResolver: (e, t) => t.root
1812
- })({
1813
- display: "flex",
1814
- flexDirection: "column",
1815
- position: "relative"
1816
- }), co = B(dn, {
1817
- name: "MuiTimeClock",
1818
- slot: "ArrowSwitcher",
1819
- overridesResolver: (e, t) => t.arrowSwitcher
1820
- })({
1821
- position: "absolute",
1822
- right: 12,
1823
- top: 15
1824
- }), uo = ["hours", "minutes"], Ot = /* @__PURE__ */ p.forwardRef(function(t, n) {
1825
- const o = ge(), r = pe({
1826
- props: t,
1827
- name: "MuiTimeClock"
1828
- }), {
1829
- ampm: s = o.is12HourCycleInCurrentLocale(),
1830
- ampmInClock: i = !1,
1831
- autoFocus: u,
1832
- slots: l,
1833
- slotProps: c,
1834
- value: f,
1835
- defaultValue: m,
1836
- referenceDate: b,
1837
- disableIgnoringDatePartForTimeValidation: g = !1,
1838
- maxTime: d,
1839
- minTime: y,
1840
- disableFuture: k,
1841
- disablePast: P,
1842
- minutesStep: M = 1,
1843
- shouldDisableTime: V,
1844
- showViewSwitcher: N,
1845
- onChange: R,
1846
- view: H,
1847
- views: h = uo,
1848
- openTo: x,
1849
- onViewChange: O,
1850
- focusedView: L,
1851
- onFocusedViewChange: I,
1852
- className: K,
1853
- disabled: _,
1854
- readOnly: ne,
1855
- timezone: oe
1856
- } = r, le = ie(r, ao), {
1857
- value: ce,
1858
- handleValueChange: X,
1859
- timezone: de
1860
- } = Qe({
1861
- name: "TimeClock",
1862
- timezone: oe,
1863
- value: f,
1864
- defaultValue: m,
1865
- referenceDate: b,
1866
- onChange: R,
1867
- valueManager: ze
1868
- }), F = tt({
1869
- value: ce,
1870
- referenceDate: b,
1871
- utils: o,
1872
- props: r,
1873
- timezone: de
1874
- }), z = Be(), G = Ze(de), {
1875
- view: D,
1876
- setView: A,
1877
- previousView: Q,
1878
- nextView: j,
1879
- setValueAndGoToNextView: ee
1880
- } = Ke({
1881
- view: H,
1882
- views: h,
1883
- openTo: x,
1884
- onViewChange: O,
1885
- onChange: X,
1886
- focusedView: L,
1887
- onFocusedViewChange: I
1888
- }), {
1889
- meridiemMode: q,
1890
- handleMeridiemChange: be
1891
- } = Ct(F, s, ee), me = p.useCallback((W, U) => {
1892
- const w = _e(g, o), $ = U === "hours" || U === "minutes" && h.includes("seconds"), v = ({
1893
- start: T,
1894
- end: J
1895
- }) => !(y && w(y, J) || d && w(T, d) || k && w(T, G) || P && w(G, $ ? J : T)), S = (T, J = 1) => {
1896
- if (T % J !== 0)
1897
- return !1;
1898
- if (V)
1899
- switch (U) {
1900
- case "hours":
1901
- return !V(o.setHours(F, T), "hours");
1902
- case "minutes":
1903
- return !V(o.setMinutes(F, T), "minutes");
1904
- case "seconds":
1905
- return !V(o.setSeconds(F, T), "seconds");
1906
- default:
1907
- return !1;
1908
- }
1909
- return !0;
1910
- };
1911
- switch (U) {
1912
- case "hours": {
1913
- const T = Oe(W, q, s), J = o.setHours(F, T);
1914
- if (o.getHours(J) !== T)
1915
- return !0;
1916
- const we = o.setSeconds(o.setMinutes(J, 0), 0), Ie = o.setSeconds(o.setMinutes(J, 59), 59);
1917
- return !v({
1918
- start: we,
1919
- end: Ie
1920
- }) || !S(T);
1921
- }
1922
- case "minutes": {
1923
- const T = o.setMinutes(F, W), J = o.setSeconds(T, 0), we = o.setSeconds(T, 59);
1924
- return !v({
1925
- start: J,
1926
- end: we
1927
- }) || !S(W, M);
1928
- }
1929
- case "seconds": {
1930
- const T = o.setSeconds(F, W);
1931
- return !v({
1932
- start: T,
1933
- end: T
1934
- }) || !S(W);
1935
- }
1936
- default:
1937
- throw new Error("not supported");
1938
- }
1939
- }, [s, F, g, d, q, y, M, V, o, k, P, G, h]), Z = zt(), ke = p.useMemo(() => {
1940
- switch (D) {
1941
- case "hours": {
1942
- const W = ($, v) => {
1943
- const S = Oe($, q, s);
1944
- ee(o.setHours(F, S), v, "hours");
1945
- }, U = o.getHours(F);
1946
- let w;
1947
- return s ? U > 12 ? w = [12, 23] : w = [0, 11] : w = [0, 23], {
1948
- onChange: W,
1949
- viewValue: U,
1950
- children: Yn({
1951
- value: ce,
1952
- utils: o,
1953
- ampm: s,
1954
- onChange: W,
1955
- getClockNumberText: z.hoursClockNumberText,
1956
- isDisabled: ($) => _ || me($, "hours"),
1957
- selectedId: Z
1958
- }),
1959
- viewRange: w
1960
- };
1961
- }
1962
- case "minutes": {
1963
- const W = o.getMinutes(F), U = (w, $) => {
1964
- ee(o.setMinutes(F, w), $, "minutes");
1965
- };
1966
- return {
1967
- viewValue: W,
1968
- onChange: U,
1969
- children: ct({
1970
- utils: o,
1971
- value: W,
1972
- onChange: U,
1973
- getClockNumberText: z.minutesClockNumberText,
1974
- isDisabled: (w) => _ || me(w, "minutes"),
1975
- selectedId: Z
1976
- }),
1977
- viewRange: [0, 59]
1978
- };
1979
- }
1980
- case "seconds": {
1981
- const W = o.getSeconds(F), U = (w, $) => {
1982
- ee(o.setSeconds(F, w), $, "seconds");
1983
- };
1984
- return {
1985
- viewValue: W,
1986
- onChange: U,
1987
- children: ct({
1988
- utils: o,
1989
- value: W,
1990
- onChange: U,
1991
- getClockNumberText: z.secondsClockNumberText,
1992
- isDisabled: (w) => _ || me(w, "seconds"),
1993
- selectedId: Z
1994
- }),
1995
- viewRange: [0, 59]
1996
- };
1997
- }
1998
- default:
1999
- throw new Error("You must provide the type for ClockView");
2000
- }
2001
- }, [D, o, ce, s, z.hoursClockNumberText, z.minutesClockNumberText, z.secondsClockNumberText, q, ee, F, me, Z, _]), re = r, ye = io(re);
2002
- return /* @__PURE__ */ Se(lo, E({
2003
- ref: n,
2004
- className: te(ye.root, K),
2005
- ownerState: re
2006
- }, le, {
2007
- children: [/* @__PURE__ */ C(_n, E({
2008
- autoFocus: u ?? !!L,
2009
- ampmInClock: i && h.includes("hours"),
2010
- value: ce,
2011
- type: D,
2012
- ampm: s,
2013
- minutesStep: M,
2014
- isTimeDisabled: me,
2015
- meridiemMode: q,
2016
- handleMeridiemChange: be,
2017
- selectedId: Z,
2018
- disabled: _,
2019
- readOnly: ne
2020
- }, ke)), N && /* @__PURE__ */ C(co, {
2021
- className: ye.arrowSwitcher,
2022
- slots: l,
2023
- slotProps: c,
2024
- onGoToPrevious: () => A(Q),
2025
- isPreviousDisabled: !Q,
2026
- previousLabel: z.openPreviousView,
2027
- onGoToNext: () => A(j),
2028
- isNextDisabled: !j,
2029
- nextLabel: z.openNextView,
2030
- ownerState: re
2031
- })]
2032
- }));
2033
- });
2034
- process.env.NODE_ENV !== "production" && (Ot.propTypes = {
2035
- // ----------------------------- Warning --------------------------------
2036
- // | These PropTypes are generated from the TypeScript type definitions |
2037
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
2038
- // ----------------------------------------------------------------------
2039
- /**
2040
- * 12h/24h view for hour selection clock.
2041
- * @default utils.is12HourCycleInCurrentLocale()
2042
- */
2043
- ampm: a.bool,
2044
- /**
2045
- * Display ampm controls under the clock (instead of in the toolbar).
2046
- * @default false
2047
- */
2048
- ampmInClock: a.bool,
2049
- /**
2050
- * If `true`, the main element is focused during the first mount.
2051
- * This main element is:
2052
- * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
2053
- * - the `input` element if there is a field rendered.
2054
- */
2055
- autoFocus: a.bool,
2056
- /**
2057
- * Override or extend the styles applied to the component.
2058
- */
2059
- classes: a.object,
2060
- className: a.string,
2061
- /**
2062
- * The default selected value.
2063
- * Used when the component is not controlled.
2064
- */
2065
- defaultValue: a.object,
2066
- /**
2067
- * If `true`, the picker views and text field are disabled.
2068
- * @default false
2069
- */
2070
- disabled: a.bool,
2071
- /**
2072
- * If `true`, disable values after the current date for date components, time for time components and both for date time components.
2073
- * @default false
2074
- */
2075
- disableFuture: a.bool,
2076
- /**
2077
- * Do not ignore date part when validating min/max time.
2078
- * @default false
2079
- */
2080
- disableIgnoringDatePartForTimeValidation: a.bool,
2081
- /**
2082
- * If `true`, disable values before the current date for date components, time for time components and both for date time components.
2083
- * @default false
2084
- */
2085
- disablePast: a.bool,
2086
- /**
2087
- * Controlled focused view.
2088
- */
2089
- focusedView: a.oneOf(["hours", "minutes", "seconds"]),
2090
- /**
2091
- * Maximal selectable time.
2092
- * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
2093
- */
2094
- maxTime: a.object,
2095
- /**
2096
- * Minimal selectable time.
2097
- * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
2098
- */
2099
- minTime: a.object,
2100
- /**
2101
- * Step over minutes.
2102
- * @default 1
2103
- */
2104
- minutesStep: a.number,
2105
- /**
2106
- * Callback fired when the value changes.
2107
- * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
2108
- * @template TView The view type. Will be one of date or time views.
2109
- * @param {TValue} value The new value.
2110
- * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
2111
- * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
2112
- */
2113
- onChange: a.func,
2114
- /**
2115
- * Callback fired on focused view change.
2116
- * @template TView
2117
- * @param {TView} view The new view to focus or not.
2118
- * @param {boolean} hasFocus `true` if the view should be focused.
2119
- */
2120
- onFocusedViewChange: a.func,
2121
- /**
2122
- * Callback fired on view change.
2123
- * @template TView
2124
- * @param {TView} view The new view.
2125
- */
2126
- onViewChange: a.func,
2127
- /**
2128
- * The default visible view.
2129
- * Used when the component view is not controlled.
2130
- * Must be a valid option from `views` list.
2131
- */
2132
- openTo: a.oneOf(["hours", "minutes", "seconds"]),
2133
- /**
2134
- * If `true`, the picker views and text field are read-only.
2135
- * @default false
2136
- */
2137
- readOnly: a.bool,
2138
- /**
2139
- * The date used to generate the new value when both `value` and `defaultValue` are empty.
2140
- * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
2141
- */
2142
- referenceDate: a.object,
2143
- /**
2144
- * Disable specific time.
2145
- * @template TDate
2146
- * @param {TDate} value The value to check.
2147
- * @param {TimeView} view The clock type of the timeValue.
2148
- * @returns {boolean} If `true` the time will be disabled.
2149
- */
2150
- shouldDisableTime: a.func,
2151
- showViewSwitcher: a.bool,
2152
- /**
2153
- * The props used for each component slot.
2154
- * @default {}
2155
- */
2156
- slotProps: a.object,
2157
- /**
2158
- * Overridable component slots.
2159
- * @default {}
2160
- */
2161
- slots: a.object,
2162
- /**
2163
- * The system prop that allows defining system overrides as well as additional CSS styles.
2164
- */
2165
- sx: a.oneOfType([a.arrayOf(a.oneOfType([a.func, a.object, a.bool])), a.func, a.object]),
2166
- /**
2167
- * Choose which timezone to use for the value.
2168
- * Example: "default", "system", "UTC", "America/New_York".
2169
- * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
2170
- * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
2171
- * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
2172
- */
2173
- timezone: a.string,
2174
- /**
2175
- * The selected value.
2176
- * Used when the component is controlled.
2177
- */
2178
- value: a.object,
2179
- /**
2180
- * The visible view.
2181
- * Used when the component view is controlled.
2182
- * Must be a valid option from `views` list.
2183
- */
2184
- view: a.oneOf(["hours", "minutes", "seconds"]),
2185
- /**
2186
- * Available views.
2187
- * @default ['hours', 'minutes']
2188
- */
2189
- views: a.arrayOf(a.oneOf(["hours", "minutes", "seconds"]).isRequired)
2190
- });
2191
- function mo(e) {
2192
- return he("MuiDigitalClock", e);
2193
- }
2194
- const Cr = De("MuiDigitalClock", ["root", "list", "item"]);
2195
- function Mr(e, t) {
2196
- return Array.isArray(t) ? t.every((n) => e.indexOf(n) !== -1) : e.indexOf(t) !== -1;
2197
- }
2198
- const Dr = (e, t) => (n) => {
2199
- (n.key === "Enter" || n.key === " ") && (e(n), n.preventDefault(), n.stopPropagation());
2200
- }, Pt = (e = document) => {
2201
- const t = e.activeElement;
2202
- return t ? t.shadowRoot ? Pt(t.shadowRoot) : t : null;
2203
- }, Fe = (e) => Array.from(e.children).indexOf(Pt(document)), kr = "@media (pointer: fine)", fo = ["ampm", "timeStep", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "onChange", "view", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "views", "skipDisabled", "timezone"], po = (e) => {
2204
- const {
2205
- classes: t
2206
- } = e;
2207
- return Me({
2208
- root: ["root"],
2209
- list: ["list"],
2210
- item: ["item"]
2211
- }, mo, t);
2212
- }, ho = B(Xe, {
2213
- name: "MuiDigitalClock",
2214
- slot: "Root",
2215
- overridesResolver: (e, t) => t.root
2216
- })({
2217
- overflowY: "auto",
2218
- width: "100%",
2219
- "@media (prefers-reduced-motion: no-preference)": {
2220
- scrollBehavior: "auto"
2221
- },
2222
- maxHeight: Mt,
2223
- variants: [{
2224
- props: {
2225
- alreadyRendered: !0
2226
- },
2227
- style: {
2228
- "@media (prefers-reduced-motion: no-preference)": {
2229
- scrollBehavior: "smooth"
2230
- }
2231
- }
2232
- }]
2233
- }), go = B(ht, {
2234
- name: "MuiDigitalClock",
2235
- slot: "List",
2236
- overridesResolver: (e, t) => t.list
2237
- })({
2238
- padding: 0
2239
- }), bo = B(pt, {
2240
- name: "MuiDigitalClock",
2241
- slot: "Item",
2242
- overridesResolver: (e, t) => t.item
2243
- })(({
2244
- theme: e
2245
- }) => ({
2246
- padding: "8px 16px",
2247
- margin: "2px 4px",
2248
- "&:first-of-type": {
2249
- marginTop: 4
2250
- },
2251
- "&:hover": {
2252
- backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.hoverOpacity})` : Le(e.palette.primary.main, e.palette.action.hoverOpacity)
2253
- },
2254
- "&.Mui-selected": {
2255
- backgroundColor: (e.vars || e).palette.primary.main,
2256
- color: (e.vars || e).palette.primary.contrastText,
2257
- "&:focus-visible, &:hover": {
2258
- backgroundColor: (e.vars || e).palette.primary.dark
2259
- }
2260
- },
2261
- "&.Mui-focusVisible": {
2262
- backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.focusOpacity})` : Le(e.palette.primary.main, e.palette.action.focusOpacity)
2263
- }
2264
- })), Rt = /* @__PURE__ */ p.forwardRef(function(t, n) {
2265
- const o = ge(), r = p.useRef(null), s = Ge(n, r), i = p.useRef(null), u = pe({
2266
- props: t,
2267
- name: "MuiDigitalClock"
2268
- }), {
2269
- ampm: l = o.is12HourCycleInCurrentLocale(),
2270
- timeStep: c = 30,
2271
- autoFocus: f,
2272
- slots: m,
2273
- slotProps: b,
2274
- value: g,
2275
- defaultValue: d,
2276
- referenceDate: y,
2277
- disableIgnoringDatePartForTimeValidation: k = !1,
2278
- maxTime: P,
2279
- minTime: M,
2280
- disableFuture: V,
2281
- disablePast: N,
2282
- minutesStep: R = 1,
2283
- shouldDisableTime: H,
2284
- onChange: h,
2285
- view: x,
2286
- openTo: O,
2287
- onViewChange: L,
2288
- focusedView: I,
2289
- onFocusedViewChange: K,
2290
- className: _,
2291
- disabled: ne,
2292
- readOnly: oe,
2293
- views: le = ["hours"],
2294
- skipDisabled: ce = !1,
2295
- timezone: X
2296
- } = u, de = ie(u, fo), {
2297
- value: F,
2298
- handleValueChange: z,
2299
- timezone: G
2300
- } = Qe({
2301
- name: "DigitalClock",
2302
- timezone: X,
2303
- value: g,
2304
- defaultValue: d,
2305
- referenceDate: y,
2306
- onChange: h,
2307
- valueManager: ze
2308
- }), D = Be(), A = Ze(G), Q = p.useMemo(() => E({}, u, {
2309
- alreadyRendered: !!r.current
2310
- }), [u]), j = po(Q), ee = (m == null ? void 0 : m.digitalClockItem) ?? bo, q = Ne({
2311
- elementType: ee,
2312
- externalSlotProps: b == null ? void 0 : b.digitalClockItem,
2313
- ownerState: {},
2314
- className: j.item
2315
- }), be = tt({
2316
- value: F,
2317
- referenceDate: y,
2318
- utils: o,
2319
- props: u,
2320
- timezone: G
2321
- }), me = ae((w) => z(w, "finish", "hours")), {
2322
- setValueAndGoToNextView: Z
2323
- } = Ke({
2324
- view: x,
2325
- views: le,
2326
- openTo: O,
2327
- onViewChange: L,
2328
- onChange: me,
2329
- focusedView: I,
2330
- onFocusedViewChange: K
2331
- }), ke = ae((w) => {
2332
- Z(w, "finish");
2333
- });
2334
- p.useEffect(() => {
2335
- if (r.current === null)
2336
- return;
2337
- const w = r.current.querySelector('[role="listbox"] [role="option"][tabindex="0"], [role="listbox"] [role="option"][aria-selected="true"]');
2338
- if (!w)
2339
- return;
2340
- const $ = w.offsetTop;
2341
- (f || I) && w.focus(), r.current.scrollTop = $ - 4;
2342
- });
2343
- const re = p.useCallback((w) => {
2344
- const $ = _e(k, o), v = () => !(M && $(M, w) || P && $(w, P) || V && $(w, A) || N && $(A, w)), S = () => o.getMinutes(w) % R !== 0 ? !1 : H ? !H(w, "hours") : !0;
2345
- return !v() || !S();
2346
- }, [k, o, M, P, V, A, N, R, H]), ye = p.useMemo(() => {
2347
- const w = [];
2348
- let v = o.startOfDay(be);
2349
- for (; o.isSameDay(be, v); )
2350
- w.push(v), v = o.addMinutes(v, c);
2351
- return w;
2352
- }, [be, c, o]), W = ye.findIndex((w) => o.isEqual(w, be)), U = (w) => {
2353
- switch (w.key) {
2354
- case "PageUp": {
2355
- const $ = Fe(i.current) - 5, v = i.current.children, S = Math.max(0, $), T = v[S];
2356
- T && T.focus(), w.preventDefault();
2357
- break;
2358
- }
2359
- case "PageDown": {
2360
- const $ = Fe(i.current) + 5, v = i.current.children, S = Math.min(v.length - 1, $), T = v[S];
2361
- T && T.focus(), w.preventDefault();
2362
- break;
2363
- }
2364
- }
2365
- };
2366
- return /* @__PURE__ */ C(ho, E({
2367
- ref: s,
2368
- className: te(j.root, _),
2369
- ownerState: Q
2370
- }, de, {
2371
- children: /* @__PURE__ */ C(go, {
2372
- ref: i,
2373
- role: "listbox",
2374
- "aria-label": D.timePickerToolbarTitle,
2375
- className: j.list,
2376
- onKeyDown: U,
2377
- children: ye.map((w, $) => {
2378
- if (ce && re(w))
2379
- return null;
2380
- const v = o.isEqual(w, F), S = o.format(w, l ? "fullTime12h" : "fullTime24h"), T = W === $ || W === -1 && $ === 0 ? 0 : -1;
2381
- return /* @__PURE__ */ C(ee, E({
2382
- onClick: () => !oe && ke(w),
2383
- selected: v,
2384
- disabled: ne || re(w),
2385
- disableRipple: oe,
2386
- role: "option",
2387
- "aria-disabled": oe,
2388
- "aria-selected": v,
2389
- tabIndex: T
2390
- }, q, {
2391
- children: S
2392
- }), `${w.valueOf()}-${S}`);
2393
- })
2394
- })
2395
- }));
2396
- });
2397
- process.env.NODE_ENV !== "production" && (Rt.propTypes = {
2398
- // ----------------------------- Warning --------------------------------
2399
- // | These PropTypes are generated from the TypeScript type definitions |
2400
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
2401
- // ----------------------------------------------------------------------
2402
- /**
2403
- * 12h/24h view for hour selection clock.
2404
- * @default utils.is12HourCycleInCurrentLocale()
2405
- */
2406
- ampm: a.bool,
2407
- /**
2408
- * If `true`, the main element is focused during the first mount.
2409
- * This main element is:
2410
- * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
2411
- * - the `input` element if there is a field rendered.
2412
- */
2413
- autoFocus: a.bool,
2414
- /**
2415
- * Override or extend the styles applied to the component.
2416
- */
2417
- classes: a.object,
2418
- className: a.string,
2419
- /**
2420
- * The default selected value.
2421
- * Used when the component is not controlled.
2422
- */
2423
- defaultValue: a.object,
2424
- /**
2425
- * If `true`, the picker views and text field are disabled.
2426
- * @default false
2427
- */
2428
- disabled: a.bool,
2429
- /**
2430
- * If `true`, disable values after the current date for date components, time for time components and both for date time components.
2431
- * @default false
2432
- */
2433
- disableFuture: a.bool,
2434
- /**
2435
- * Do not ignore date part when validating min/max time.
2436
- * @default false
2437
- */
2438
- disableIgnoringDatePartForTimeValidation: a.bool,
2439
- /**
2440
- * If `true`, disable values before the current date for date components, time for time components and both for date time components.
2441
- * @default false
2442
- */
2443
- disablePast: a.bool,
2444
- /**
2445
- * Controlled focused view.
2446
- */
2447
- focusedView: a.oneOf(["hours"]),
2448
- /**
2449
- * Maximal selectable time.
2450
- * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
2451
- */
2452
- maxTime: a.object,
2453
- /**
2454
- * Minimal selectable time.
2455
- * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
2456
- */
2457
- minTime: a.object,
2458
- /**
2459
- * Step over minutes.
2460
- * @default 1
2461
- */
2462
- minutesStep: a.number,
2463
- /**
2464
- * Callback fired when the value changes.
2465
- * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
2466
- * @template TView The view type. Will be one of date or time views.
2467
- * @param {TValue} value The new value.
2468
- * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
2469
- * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
2470
- */
2471
- onChange: a.func,
2472
- /**
2473
- * Callback fired on focused view change.
2474
- * @template TView
2475
- * @param {TView} view The new view to focus or not.
2476
- * @param {boolean} hasFocus `true` if the view should be focused.
2477
- */
2478
- onFocusedViewChange: a.func,
2479
- /**
2480
- * Callback fired on view change.
2481
- * @template TView
2482
- * @param {TView} view The new view.
2483
- */
2484
- onViewChange: a.func,
2485
- /**
2486
- * The default visible view.
2487
- * Used when the component view is not controlled.
2488
- * Must be a valid option from `views` list.
2489
- */
2490
- openTo: a.oneOf(["hours"]),
2491
- /**
2492
- * If `true`, the picker views and text field are read-only.
2493
- * @default false
2494
- */
2495
- readOnly: a.bool,
2496
- /**
2497
- * The date used to generate the new value when both `value` and `defaultValue` are empty.
2498
- * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
2499
- */
2500
- referenceDate: a.object,
2501
- /**
2502
- * Disable specific time.
2503
- * @template TDate
2504
- * @param {TDate} value The value to check.
2505
- * @param {TimeView} view The clock type of the timeValue.
2506
- * @returns {boolean} If `true` the time will be disabled.
2507
- */
2508
- shouldDisableTime: a.func,
2509
- /**
2510
- * If `true`, disabled digital clock items will not be rendered.
2511
- * @default false
2512
- */
2513
- skipDisabled: a.bool,
2514
- /**
2515
- * The props used for each component slot.
2516
- * @default {}
2517
- */
2518
- slotProps: a.object,
2519
- /**
2520
- * Overrideable component slots.
2521
- * @default {}
2522
- */
2523
- slots: a.object,
2524
- /**
2525
- * The system prop that allows defining system overrides as well as additional CSS styles.
2526
- */
2527
- sx: a.oneOfType([a.arrayOf(a.oneOfType([a.func, a.object, a.bool])), a.func, a.object]),
2528
- /**
2529
- * The time steps between two time options.
2530
- * For example, if `timeStep = 45`, then the available time options will be `[00:00, 00:45, 01:30, 02:15, 03:00, etc.]`.
2531
- * @default 30
2532
- */
2533
- timeStep: a.number,
2534
- /**
2535
- * Choose which timezone to use for the value.
2536
- * Example: "default", "system", "UTC", "America/New_York".
2537
- * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
2538
- * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
2539
- * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
2540
- */
2541
- timezone: a.string,
2542
- /**
2543
- * The selected value.
2544
- * Used when the component is controlled.
2545
- */
2546
- value: a.object,
2547
- /**
2548
- * The visible view.
2549
- * Used when the component view is controlled.
2550
- * Must be a valid option from `views` list.
2551
- */
2552
- view: a.oneOf(["hours"]),
2553
- /**
2554
- * Available views.
2555
- * @default ['hours']
2556
- */
2557
- views: a.arrayOf(a.oneOf(["hours"]))
2558
- });
2559
- function yo(e) {
2560
- return he("MuiMultiSectionDigitalClock", e);
2561
- }
2562
- const xr = De("MuiMultiSectionDigitalClock", ["root"]);
2563
- function wo(e) {
2564
- return he("MuiMultiSectionDigitalClockSection", e);
2565
- }
2566
- const Tr = De("MuiMultiSectionDigitalClockSection", ["root", "item"]), vo = ["autoFocus", "onChange", "className", "disabled", "readOnly", "items", "active", "slots", "slotProps", "skipDisabled"], So = (e) => {
2567
- const {
2568
- classes: t
2569
- } = e;
2570
- return Me({
2571
- root: ["root"],
2572
- item: ["item"]
2573
- }, wo, t);
2574
- }, Co = B(ht, {
2575
- name: "MuiMultiSectionDigitalClockSection",
2576
- slot: "Root",
2577
- overridesResolver: (e, t) => t.root
2578
- })(({
2579
- theme: e
2580
- }) => ({
2581
- maxHeight: Mt,
2582
- width: 56,
2583
- padding: 0,
2584
- overflow: "hidden",
2585
- "@media (prefers-reduced-motion: no-preference)": {
2586
- scrollBehavior: "auto"
2587
- },
2588
- "@media (pointer: fine)": {
2589
- "&:hover": {
2590
- overflowY: "auto"
2591
- }
2592
- },
2593
- "@media (pointer: none), (pointer: coarse)": {
2594
- overflowY: "auto"
2595
- },
2596
- "&:not(:first-of-type)": {
2597
- borderLeft: `1px solid ${(e.vars || e).palette.divider}`
2598
- },
2599
- "&::after": {
2600
- display: "block",
2601
- content: '""',
2602
- // subtracting the height of one item, extra margin and borders to make sure the max height is correct
2603
- height: "calc(100% - 40px - 6px)"
2604
- },
2605
- variants: [{
2606
- props: {
2607
- alreadyRendered: !0
2608
- },
2609
- style: {
2610
- "@media (prefers-reduced-motion: no-preference)": {
2611
- scrollBehavior: "smooth"
2612
- }
2613
- }
2614
- }]
2615
- })), Mo = B(pt, {
2616
- name: "MuiMultiSectionDigitalClockSection",
2617
- slot: "Item",
2618
- overridesResolver: (e, t) => t.item
2619
- })(({
2620
- theme: e
2621
- }) => ({
2622
- padding: 8,
2623
- margin: "2px 4px",
2624
- width: gn,
2625
- justifyContent: "center",
2626
- "&:first-of-type": {
2627
- marginTop: 4
2628
- },
2629
- "&:hover": {
2630
- backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.hoverOpacity})` : Le(e.palette.primary.main, e.palette.action.hoverOpacity)
2631
- },
2632
- "&.Mui-selected": {
2633
- backgroundColor: (e.vars || e).palette.primary.main,
2634
- color: (e.vars || e).palette.primary.contrastText,
2635
- "&:focus-visible, &:hover": {
2636
- backgroundColor: (e.vars || e).palette.primary.dark
2637
- }
2638
- },
2639
- "&.Mui-focusVisible": {
2640
- backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.focusOpacity})` : Le(e.palette.primary.main, e.palette.action.focusOpacity)
2641
- }
2642
- })), Do = /* @__PURE__ */ p.forwardRef(function(t, n) {
2643
- const o = p.useRef(null), r = Ge(n, o), s = p.useRef(null), i = pe({
2644
- props: t,
2645
- name: "MuiMultiSectionDigitalClockSection"
2646
- }), {
2647
- autoFocus: u,
2648
- onChange: l,
2649
- className: c,
2650
- disabled: f,
2651
- readOnly: m,
2652
- items: b,
2653
- active: g,
2654
- slots: d,
2655
- slotProps: y,
2656
- skipDisabled: k
2657
- } = i, P = ie(i, vo), M = p.useMemo(() => E({}, i, {
2658
- alreadyRendered: !!o.current
2659
- }), [i]), V = So(M), N = (d == null ? void 0 : d.digitalClockSectionItem) ?? Mo;
2660
- p.useEffect(() => {
2661
- if (o.current === null)
2662
- return;
2663
- const h = o.current.querySelector('[role="option"][tabindex="0"], [role="option"][aria-selected="true"]');
2664
- if (g && u && h && h.focus(), !h || s.current === h)
2665
- return;
2666
- s.current = h;
2667
- const x = h.offsetTop;
2668
- o.current.scrollTop = x - 4;
2669
- });
2670
- const R = b.findIndex((h) => h.isFocused(h.value)), H = (h) => {
2671
- switch (h.key) {
2672
- case "PageUp": {
2673
- const x = Fe(o.current) - 5, O = o.current.children, L = Math.max(0, x), I = O[L];
2674
- I && I.focus(), h.preventDefault();
2675
- break;
2676
- }
2677
- case "PageDown": {
2678
- const x = Fe(o.current) + 5, O = o.current.children, L = Math.min(O.length - 1, x), I = O[L];
2679
- I && I.focus(), h.preventDefault();
2680
- break;
2681
- }
2682
- }
2683
- };
2684
- return /* @__PURE__ */ C(Co, E({
2685
- ref: r,
2686
- className: te(V.root, c),
2687
- ownerState: M,
2688
- autoFocusItem: u && g,
2689
- role: "listbox",
2690
- onKeyDown: H
2691
- }, P, {
2692
- children: b.map((h, x) => {
2693
- var _;
2694
- const O = (_ = h.isDisabled) == null ? void 0 : _.call(h, h.value), L = f || O;
2695
- if (k && L)
2696
- return null;
2697
- const I = h.isSelected(h.value), K = R === x || R === -1 && x === 0 ? 0 : -1;
2698
- return /* @__PURE__ */ C(N, E({
2699
- onClick: () => !m && l(h.value),
2700
- selected: I,
2701
- disabled: L,
2702
- disableRipple: m,
2703
- role: "option",
2704
- "aria-disabled": m || L || void 0,
2705
- "aria-label": h.ariaLabel,
2706
- "aria-selected": I,
2707
- tabIndex: K,
2708
- className: V.item
2709
- }, y == null ? void 0 : y.digitalClockSectionItem, {
2710
- children: h.label
2711
- }), h.label);
2712
- })
2713
- }));
2714
- }), ko = ({
2715
- now: e,
2716
- value: t,
2717
- utils: n,
2718
- ampm: o,
2719
- isDisabled: r,
2720
- resolveAriaLabel: s,
2721
- timeStep: i,
2722
- valueOrReferenceDate: u
2723
- }) => {
2724
- const l = t ? n.getHours(t) : null, c = [], f = (g, d) => {
2725
- const y = d ?? l;
2726
- return y === null ? !1 : o ? g === 12 ? y === 12 || y === 0 : y === g || y - 12 === g : y === g;
2727
- }, m = (g) => f(g, n.getHours(u)), b = o ? 11 : 23;
2728
- for (let g = 0; g <= b; g += i) {
2729
- let d = n.format(n.setHours(e, g), o ? "hours12h" : "hours24h");
2730
- const y = s(parseInt(d, 10).toString());
2731
- d = n.formatNumber(d), c.push({
2732
- value: g,
2733
- label: d,
2734
- isSelected: f,
2735
- isDisabled: r,
2736
- isFocused: m,
2737
- ariaLabel: y
2738
- });
2739
- }
2740
- return c;
2741
- }, ft = ({
2742
- value: e,
2743
- utils: t,
2744
- isDisabled: n,
2745
- timeStep: o,
2746
- resolveLabel: r,
2747
- resolveAriaLabel: s,
2748
- hasValue: i = !0
2749
- }) => {
2750
- const u = (c) => e === null ? !1 : i && e === c, l = (c) => e === c;
2751
- return [...Array.from({
2752
- length: Math.ceil(60 / o)
2753
- }, (c, f) => {
2754
- const m = o * f;
2755
- return {
2756
- value: m,
2757
- label: t.formatNumber(r(m)),
2758
- isDisabled: n,
2759
- isSelected: u,
2760
- isFocused: l,
2761
- ariaLabel: s(m.toString())
2762
- };
2763
- })];
2764
- }, xo = ["ampm", "timeSteps", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "skipDisabled", "timezone"], To = (e) => {
2765
- const {
2766
- classes: t
2767
- } = e;
2768
- return Me({
2769
- root: ["root"]
2770
- }, yo, t);
2771
- }, Io = B(Xe, {
2772
- name: "MuiMultiSectionDigitalClock",
2773
- slot: "Root",
2774
- overridesResolver: (e, t) => t.root
2775
- })(({
2776
- theme: e
2777
- }) => ({
2778
- display: "flex",
2779
- flexDirection: "row",
2780
- width: "100%",
2781
- borderBottom: `1px solid ${(e.vars || e).palette.divider}`
2782
- })), Et = /* @__PURE__ */ p.forwardRef(function(t, n) {
2783
- const o = ge(), r = yt(), s = pe({
2784
- props: t,
2785
- name: "MuiMultiSectionDigitalClock"
2786
- }), {
2787
- ampm: i = o.is12HourCycleInCurrentLocale(),
2788
- timeSteps: u,
2789
- autoFocus: l,
2790
- slots: c,
2791
- slotProps: f,
2792
- value: m,
2793
- defaultValue: b,
2794
- referenceDate: g,
2795
- disableIgnoringDatePartForTimeValidation: d = !1,
2796
- maxTime: y,
2797
- minTime: k,
2798
- disableFuture: P,
2799
- disablePast: M,
2800
- minutesStep: V = 1,
2801
- shouldDisableTime: N,
2802
- onChange: R,
2803
- view: H,
2804
- views: h = ["hours", "minutes"],
2805
- openTo: x,
2806
- onViewChange: O,
2807
- focusedView: L,
2808
- onFocusedViewChange: I,
2809
- className: K,
2810
- disabled: _,
2811
- readOnly: ne,
2812
- skipDisabled: oe = !1,
2813
- timezone: le
2814
- } = s, ce = ie(s, xo), {
2815
- value: X,
2816
- handleValueChange: de,
2817
- timezone: F
2818
- } = Qe({
2819
- name: "MultiSectionDigitalClock",
2820
- timezone: le,
2821
- value: m,
2822
- defaultValue: b,
2823
- referenceDate: g,
2824
- onChange: R,
2825
- valueManager: ze
2826
- }), z = Be(), G = Ze(F), D = p.useMemo(() => E({
2827
- hours: 1,
2828
- minutes: 5,
2829
- seconds: 5
2830
- }, u), [u]), A = tt({
2831
- value: X,
2832
- referenceDate: g,
2833
- utils: o,
2834
- props: s,
2835
- timezone: F
2836
- }), Q = ae((v, S, T) => de(v, S, T)), j = p.useMemo(() => !i || !h.includes("hours") || h.includes("meridiem") ? h : [...h, "meridiem"], [i, h]), {
2837
- view: ee,
2838
- setValueAndGoToNextView: q,
2839
- focusedView: be
2840
- } = Ke({
2841
- view: H,
2842
- views: j,
2843
- openTo: x,
2844
- onViewChange: O,
2845
- onChange: Q,
2846
- focusedView: L,
2847
- onFocusedViewChange: I
2848
- }), me = ae((v) => {
2849
- q(v, "finish", "meridiem");
2850
- }), {
2851
- meridiemMode: Z,
2852
- handleMeridiemChange: ke
2853
- } = Ct(A, i, me, "finish"), re = p.useCallback((v, S) => {
2854
- const T = _e(d, o), J = S === "hours" || S === "minutes" && j.includes("seconds"), we = ({
2855
- start: Y,
2856
- end: se
2857
- }) => !(k && T(k, se) || y && T(Y, y) || P && T(Y, G) || M && T(G, J ? se : Y)), Ie = (Y, se = 1) => {
2858
- if (Y % se !== 0)
2859
- return !1;
2860
- if (N)
2861
- switch (S) {
2862
- case "hours":
2863
- return !N(o.setHours(A, Y), "hours");
2864
- case "minutes":
2865
- return !N(o.setMinutes(A, Y), "minutes");
2866
- case "seconds":
2867
- return !N(o.setSeconds(A, Y), "seconds");
2868
- default:
2869
- return !1;
2870
- }
2871
- return !0;
2872
- };
2873
- switch (S) {
2874
- case "hours": {
2875
- const Y = Oe(v, Z, i), se = o.setHours(A, Y);
2876
- if (o.getHours(se) !== Y)
2877
- return !0;
2878
- const Ee = o.setSeconds(o.setMinutes(se, 0), 0), At = o.setSeconds(o.setMinutes(se, 59), 59);
2879
- return !we({
2880
- start: Ee,
2881
- end: At
2882
- }) || !Ie(Y);
2883
- }
2884
- case "minutes": {
2885
- const Y = o.setMinutes(A, v), se = o.setSeconds(Y, 0), Ee = o.setSeconds(Y, 59);
2886
- return !we({
2887
- start: se,
2888
- end: Ee
2889
- }) || !Ie(v, V);
2890
- }
2891
- case "seconds": {
2892
- const Y = o.setSeconds(A, v);
2893
- return !we({
2894
- start: Y,
2895
- end: Y
2896
- }) || !Ie(v);
2897
- }
2898
- default:
2899
- throw new Error("not supported");
2900
- }
2901
- }, [i, A, d, y, Z, k, V, N, o, P, M, G, j]), ye = p.useCallback((v) => {
2902
- switch (v) {
2903
- case "hours":
2904
- return {
2905
- onChange: (S) => {
2906
- const T = Oe(S, Z, i);
2907
- q(o.setHours(A, T), "finish", "hours");
2908
- },
2909
- items: ko({
2910
- now: G,
2911
- value: X,
2912
- ampm: i,
2913
- utils: o,
2914
- isDisabled: (S) => re(S, "hours"),
2915
- timeStep: D.hours,
2916
- resolveAriaLabel: z.hoursClockNumberText,
2917
- valueOrReferenceDate: A
2918
- })
2919
- };
2920
- case "minutes":
2921
- return {
2922
- onChange: (S) => {
2923
- q(o.setMinutes(A, S), "finish", "minutes");
2924
- },
2925
- items: ft({
2926
- value: o.getMinutes(A),
2927
- utils: o,
2928
- isDisabled: (S) => re(S, "minutes"),
2929
- resolveLabel: (S) => o.format(o.setMinutes(G, S), "minutes"),
2930
- timeStep: D.minutes,
2931
- hasValue: !!X,
2932
- resolveAriaLabel: z.minutesClockNumberText
2933
- })
2934
- };
2935
- case "seconds":
2936
- return {
2937
- onChange: (S) => {
2938
- q(o.setSeconds(A, S), "finish", "seconds");
2939
- },
2940
- items: ft({
2941
- value: o.getSeconds(A),
2942
- utils: o,
2943
- isDisabled: (S) => re(S, "seconds"),
2944
- resolveLabel: (S) => o.format(o.setSeconds(G, S), "seconds"),
2945
- timeStep: D.seconds,
2946
- hasValue: !!X,
2947
- resolveAriaLabel: z.secondsClockNumberText
2948
- })
2949
- };
2950
- case "meridiem": {
2951
- const S = xe(o, "am"), T = xe(o, "pm");
2952
- return {
2953
- onChange: ke,
2954
- items: [{
2955
- value: "am",
2956
- label: S,
2957
- isSelected: () => !!X && Z === "am",
2958
- isFocused: () => !!A && Z === "am",
2959
- ariaLabel: S
2960
- }, {
2961
- value: "pm",
2962
- label: T,
2963
- isSelected: () => !!X && Z === "pm",
2964
- isFocused: () => !!A && Z === "pm",
2965
- ariaLabel: T
2966
- }]
2967
- };
2968
- }
2969
- default:
2970
- throw new Error(`Unknown view: ${v} found.`);
2971
- }
2972
- }, [G, X, i, o, D.hours, D.minutes, D.seconds, z.hoursClockNumberText, z.minutesClockNumberText, z.secondsClockNumberText, Z, q, A, re, ke]), W = p.useMemo(() => {
2973
- if (!r)
2974
- return j;
2975
- const v = j.filter((S) => S !== "meridiem");
2976
- return v.reverse(), j.includes("meridiem") && v.push("meridiem"), v;
2977
- }, [r, j]), U = p.useMemo(() => j.reduce((v, S) => E({}, v, {
2978
- [S]: ye(S)
2979
- }), {}), [j, ye]), w = s, $ = To(w);
2980
- return /* @__PURE__ */ C(Io, E({
2981
- ref: n,
2982
- className: te($.root, K),
2983
- ownerState: w,
2984
- role: "group"
2985
- }, ce, {
2986
- children: W.map((v) => /* @__PURE__ */ C(Do, {
2987
- items: U[v].items,
2988
- onChange: U[v].onChange,
2989
- active: ee === v,
2990
- autoFocus: l ?? be === v,
2991
- disabled: _,
2992
- readOnly: ne,
2993
- slots: c,
2994
- slotProps: f,
2995
- skipDisabled: oe,
2996
- "aria-label": z.selectViewText(v)
2997
- }, v))
2998
- }));
2999
- });
3000
- process.env.NODE_ENV !== "production" && (Et.propTypes = {
3001
- // ----------------------------- Warning --------------------------------
3002
- // | These PropTypes are generated from the TypeScript type definitions |
3003
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
3004
- // ----------------------------------------------------------------------
3005
- /**
3006
- * 12h/24h view for hour selection clock.
3007
- * @default utils.is12HourCycleInCurrentLocale()
3008
- */
3009
- ampm: a.bool,
3010
- /**
3011
- * If `true`, the main element is focused during the first mount.
3012
- * This main element is:
3013
- * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
3014
- * - the `input` element if there is a field rendered.
3015
- */
3016
- autoFocus: a.bool,
3017
- /**
3018
- * Override or extend the styles applied to the component.
3019
- */
3020
- classes: a.object,
3021
- className: a.string,
3022
- /**
3023
- * The default selected value.
3024
- * Used when the component is not controlled.
3025
- */
3026
- defaultValue: a.object,
3027
- /**
3028
- * If `true`, the picker views and text field are disabled.
3029
- * @default false
3030
- */
3031
- disabled: a.bool,
3032
- /**
3033
- * If `true`, disable values after the current date for date components, time for time components and both for date time components.
3034
- * @default false
3035
- */
3036
- disableFuture: a.bool,
3037
- /**
3038
- * Do not ignore date part when validating min/max time.
3039
- * @default false
3040
- */
3041
- disableIgnoringDatePartForTimeValidation: a.bool,
3042
- /**
3043
- * If `true`, disable values before the current date for date components, time for time components and both for date time components.
3044
- * @default false
3045
- */
3046
- disablePast: a.bool,
3047
- /**
3048
- * Controlled focused view.
3049
- */
3050
- focusedView: a.oneOf(["hours", "meridiem", "minutes", "seconds"]),
3051
- /**
3052
- * Maximal selectable time.
3053
- * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
3054
- */
3055
- maxTime: a.object,
3056
- /**
3057
- * Minimal selectable time.
3058
- * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
3059
- */
3060
- minTime: a.object,
3061
- /**
3062
- * Step over minutes.
3063
- * @default 1
3064
- */
3065
- minutesStep: a.number,
3066
- /**
3067
- * Callback fired when the value changes.
3068
- * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
3069
- * @template TView The view type. Will be one of date or time views.
3070
- * @param {TValue} value The new value.
3071
- * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
3072
- * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
3073
- */
3074
- onChange: a.func,
3075
- /**
3076
- * Callback fired on focused view change.
3077
- * @template TView
3078
- * @param {TView} view The new view to focus or not.
3079
- * @param {boolean} hasFocus `true` if the view should be focused.
3080
- */
3081
- onFocusedViewChange: a.func,
3082
- /**
3083
- * Callback fired on view change.
3084
- * @template TView
3085
- * @param {TView} view The new view.
3086
- */
3087
- onViewChange: a.func,
3088
- /**
3089
- * The default visible view.
3090
- * Used when the component view is not controlled.
3091
- * Must be a valid option from `views` list.
3092
- */
3093
- openTo: a.oneOf(["hours", "meridiem", "minutes", "seconds"]),
3094
- /**
3095
- * If `true`, the picker views and text field are read-only.
3096
- * @default false
3097
- */
3098
- readOnly: a.bool,
3099
- /**
3100
- * The date used to generate the new value when both `value` and `defaultValue` are empty.
3101
- * @default The closest valid time using the validation props, except callbacks such as `shouldDisableTime`.
3102
- */
3103
- referenceDate: a.object,
3104
- /**
3105
- * Disable specific time.
3106
- * @template TDate
3107
- * @param {TDate} value The value to check.
3108
- * @param {TimeView} view The clock type of the timeValue.
3109
- * @returns {boolean} If `true` the time will be disabled.
3110
- */
3111
- shouldDisableTime: a.func,
3112
- /**
3113
- * If `true`, disabled digital clock items will not be rendered.
3114
- * @default false
3115
- */
3116
- skipDisabled: a.bool,
3117
- /**
3118
- * The props used for each component slot.
3119
- * @default {}
3120
- */
3121
- slotProps: a.object,
3122
- /**
3123
- * Overrideable component slots.
3124
- * @default {}
3125
- */
3126
- slots: a.object,
3127
- /**
3128
- * The system prop that allows defining system overrides as well as additional CSS styles.
3129
- */
3130
- sx: a.oneOfType([a.arrayOf(a.oneOfType([a.func, a.object, a.bool])), a.func, a.object]),
3131
- /**
3132
- * The time steps between two time unit options.
3133
- * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
3134
- * @default{ hours: 1, minutes: 5, seconds: 5 }
3135
- */
3136
- timeSteps: a.shape({
3137
- hours: a.number,
3138
- minutes: a.number,
3139
- seconds: a.number
3140
- }),
3141
- /**
3142
- * Choose which timezone to use for the value.
3143
- * Example: "default", "system", "UTC", "America/New_York".
3144
- * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
3145
- * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
3146
- * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
3147
- */
3148
- timezone: a.string,
3149
- /**
3150
- * The selected value.
3151
- * Used when the component is controlled.
3152
- */
3153
- value: a.object,
3154
- /**
3155
- * The visible view.
3156
- * Used when the component view is controlled.
3157
- * Must be a valid option from `views` list.
3158
- */
3159
- view: a.oneOf(["hours", "meridiem", "minutes", "seconds"]),
3160
- /**
3161
- * Available views.
3162
- * @default ['hours', 'minutes']
3163
- */
3164
- views: a.arrayOf(a.oneOf(["hours", "meridiem", "minutes", "seconds"]).isRequired)
3165
- });
3166
- const Ir = ({
3167
- view: e,
3168
- onViewChange: t,
3169
- focusedView: n,
3170
- onFocusedViewChange: o,
3171
- views: r,
3172
- value: s,
3173
- defaultValue: i,
3174
- referenceDate: u,
3175
- onChange: l,
3176
- className: c,
3177
- classes: f,
3178
- disableFuture: m,
3179
- disablePast: b,
3180
- minTime: g,
3181
- maxTime: d,
3182
- shouldDisableTime: y,
3183
- minutesStep: k,
3184
- ampm: P,
3185
- ampmInClock: M,
3186
- slots: V,
3187
- slotProps: N,
3188
- readOnly: R,
3189
- disabled: H,
3190
- sx: h,
3191
- autoFocus: x,
3192
- showViewSwitcher: O,
3193
- disableIgnoringDatePartForTimeValidation: L,
3194
- timezone: I
3195
- }) => /* @__PURE__ */ C(Ot, {
3196
- view: e,
3197
- onViewChange: t,
3198
- focusedView: n && He(n) ? n : null,
3199
- onFocusedViewChange: o,
3200
- views: r.filter(He),
3201
- value: s,
3202
- defaultValue: i,
3203
- referenceDate: u,
3204
- onChange: l,
3205
- className: c,
3206
- classes: f,
3207
- disableFuture: m,
3208
- disablePast: b,
3209
- minTime: g,
3210
- maxTime: d,
3211
- shouldDisableTime: y,
3212
- minutesStep: k,
3213
- ampm: P,
3214
- ampmInClock: M,
3215
- slots: V,
3216
- slotProps: N,
3217
- readOnly: R,
3218
- disabled: H,
3219
- sx: h,
3220
- autoFocus: x,
3221
- showViewSwitcher: O,
3222
- disableIgnoringDatePartForTimeValidation: L,
3223
- timezone: I
3224
- }), Vr = ({
3225
- view: e,
3226
- onViewChange: t,
3227
- focusedView: n,
3228
- onFocusedViewChange: o,
3229
- views: r,
3230
- value: s,
3231
- defaultValue: i,
3232
- referenceDate: u,
3233
- onChange: l,
3234
- className: c,
3235
- classes: f,
3236
- disableFuture: m,
3237
- disablePast: b,
3238
- minTime: g,
3239
- maxTime: d,
3240
- shouldDisableTime: y,
3241
- minutesStep: k,
3242
- ampm: P,
3243
- slots: M,
3244
- slotProps: V,
3245
- readOnly: N,
3246
- disabled: R,
3247
- sx: H,
3248
- autoFocus: h,
3249
- disableIgnoringDatePartForTimeValidation: x,
3250
- timeSteps: O,
3251
- skipDisabled: L,
3252
- timezone: I
3253
- }) => /* @__PURE__ */ C(Rt, {
3254
- view: e,
3255
- onViewChange: t,
3256
- focusedView: n,
3257
- onFocusedViewChange: o,
3258
- views: r.filter(He),
3259
- value: s,
3260
- defaultValue: i,
3261
- referenceDate: u,
3262
- onChange: l,
3263
- className: c,
3264
- classes: f,
3265
- disableFuture: m,
3266
- disablePast: b,
3267
- minTime: g,
3268
- maxTime: d,
3269
- shouldDisableTime: y,
3270
- minutesStep: k,
3271
- ampm: P,
3272
- slots: M,
3273
- slotProps: V,
3274
- readOnly: N,
3275
- disabled: R,
3276
- sx: H,
3277
- autoFocus: h,
3278
- disableIgnoringDatePartForTimeValidation: x,
3279
- timeStep: O == null ? void 0 : O.minutes,
3280
- skipDisabled: L,
3281
- timezone: I
3282
- }), Nr = ({
3283
- view: e,
3284
- onViewChange: t,
3285
- focusedView: n,
3286
- onFocusedViewChange: o,
3287
- views: r,
3288
- value: s,
3289
- defaultValue: i,
3290
- referenceDate: u,
3291
- onChange: l,
3292
- className: c,
3293
- classes: f,
3294
- disableFuture: m,
3295
- disablePast: b,
3296
- minTime: g,
3297
- maxTime: d,
3298
- shouldDisableTime: y,
3299
- minutesStep: k,
3300
- ampm: P,
3301
- slots: M,
3302
- slotProps: V,
3303
- readOnly: N,
3304
- disabled: R,
3305
- sx: H,
3306
- autoFocus: h,
3307
- disableIgnoringDatePartForTimeValidation: x,
3308
- timeSteps: O,
3309
- skipDisabled: L,
3310
- timezone: I
3311
- }) => /* @__PURE__ */ C(Et, {
3312
- view: e,
3313
- onViewChange: t,
3314
- focusedView: n,
3315
- onFocusedViewChange: o,
3316
- views: r.filter(He),
3317
- value: s,
3318
- defaultValue: i,
3319
- referenceDate: u,
3320
- onChange: l,
3321
- className: c,
3322
- classes: f,
3323
- disableFuture: m,
3324
- disablePast: b,
3325
- minTime: g,
3326
- maxTime: d,
3327
- shouldDisableTime: y,
3328
- minutesStep: k,
3329
- ampm: P,
3330
- slots: M,
3331
- slotProps: V,
3332
- readOnly: N,
3333
- disabled: R,
3334
- sx: H,
3335
- autoFocus: h,
3336
- disableIgnoringDatePartForTimeValidation: x,
3337
- timeSteps: O,
3338
- skipDisabled: L,
3339
- timezone: I
3340
- }), Vo = Lt($t, {
3341
- shouldForwardProp: (e) => !["subtitle", "destructive", "extended", "fixed", "iconColor"].includes(
3342
- e
3343
- )
3344
- })(
3345
- ({
3346
- theme: e,
3347
- dense: t,
3348
- subtitle: n,
3349
- destructive: o,
3350
- extended: r,
3351
- fixed: s,
3352
- iconColor: i = "primary"
3353
- }) => ({
3354
- ...n && {
3355
- pointerEvents: "none",
3356
- columnGap: 0,
3357
- ...e.typography.caption,
3358
- fontWeight: 500,
3359
- color: e.palette.text.secondary,
3360
- ".MuiListItemText-root .MuiTypography-root": {
3361
- ...e.typography.caption,
3362
- fontWeight: 500,
3363
- color: e.palette.text.secondary
3364
- },
3365
- "&.MuiMenuItem-root": {
3366
- minHeight: e.spacing(3),
3367
- paddingTop: 0,
3368
- paddingBottom: 0,
3369
- marginTop: e.spacing(1),
3370
- "&:not(:first-of-type)": {
3371
- marginTop: e.spacing(2),
3372
- "&::before": {
3373
- content: '""',
3374
- position: "absolute",
3375
- top: e.spacing(-1),
3376
- left: 0,
3377
- right: 0,
3378
- height: 1,
3379
- backgroundColor: e.palette.divider
3380
- }
3381
- }
3382
- }
3383
- },
3384
- ...i === "primary" && {
3385
- ".MuiListItemIcon-root svg path": {
3386
- fill: e.palette.text.primary
3387
- },
3388
- "&.Mui-selected .MuiListItemIcon-root svg path": {
3389
- fill: e.palette.primary.main
3390
- },
3391
- '.MuiAutocomplete-listbox &[aria-selected="true"] svg path': {
3392
- fill: e.palette.primary.main
3393
- }
3394
- },
3395
- ...o && {
3396
- color: e.palette.error.main,
3397
- ".MuiTypography-root": {
3398
- color: e.palette.error.main
3399
- },
3400
- "svg, & .MuiSvgIcon-root": {
3401
- color: e.palette.error.main
3402
- },
3403
- ".MuiListItemIcon-root svg path": {
3404
- fill: e.palette.error.main
3405
- },
3406
- "&.Mui-selected .MuiListItemIcon-root svg path": {
3407
- fill: e.palette.error.main
3408
- },
3409
- "&:hover": {
3410
- backgroundColor: e.palette.error.relatedLight
3411
- },
3412
- "&.Mui-selected": {
3413
- color: e.palette.error.main,
3414
- ".MuiTypography-root": {
3415
- color: e.palette.error.main
3416
- },
3417
- "svg, & .MuiSvgIcon-root": {
3418
- color: e.palette.error.main
3419
- }
3420
- },
3421
- "&.Mui-disabled": {
3422
- color: e.palette.text.disabled,
3423
- ".MuiTypography-root": {
3424
- color: e.palette.text.disabled
3425
- },
3426
- svg: {
3427
- color: e.palette.text.disabled
3428
- }
3429
- }
3430
- },
3431
- ...r && {
3432
- "&.MuiButtonBase-root.MuiMenuItem-root": {
3433
- minHeight: e.spacing(6)
3434
- }
3435
- },
3436
- ...s && {
3437
- "&.MuiMenuItem-root": {
3438
- position: "sticky",
3439
- top: 0,
3440
- left: 0,
3441
- bottom: 0,
3442
- right: 0,
3443
- zIndex: 2,
3444
- minHeight: e.spacing(6),
3445
- marginBottom: e.spacing(1),
3446
- padding: e.spacing(0.5, 1.5),
3447
- backgroundColor: e.palette.background.paper,
3448
- borderBottom: `1px solid ${e.palette.divider}`
3449
- },
3450
- ".MuiAutocomplete-listbox &.MuiAutocomplete-option:first-of-type": {
3451
- minHeight: e.spacing(6),
3452
- marginTop: 0,
3453
- "&:hover": {
3454
- backgroundColor: e.palette.background.paper
3455
- }
3456
- }
3457
- },
3458
- ...!s && {
3459
- ".MuiList-root &:first-of-type": {
3460
- marginTop: e.spacing(1)
3461
- }
3462
- },
3463
- ...t && {
3464
- "&.MuiButtonBase-root.MuiMenuItem-root": {
3465
- minHeight: e.spacing(3),
3466
- padding: e.spacing(0.25, 1.5)
3467
- }
3468
- }
3469
- })
3470
- );
3471
- function Or(e) {
3472
- return /* @__PURE__ */ C(Vo, { ...e });
3473
- }
3474
- export {
3475
- tr as $,
3476
- We as A,
3477
- yr as B,
3478
- mr as C,
3479
- Jo as D,
3480
- hr as E,
3481
- lr as F,
3482
- ur as G,
3483
- et as H,
3484
- to as I,
3485
- Xn as J,
3486
- zt as K,
3487
- Pt as L,
3488
- Or as M,
3489
- vr as N,
3490
- wr as O,
3491
- gr as P,
3492
- Vt as Q,
3493
- br as R,
3494
- cr as S,
3495
- Ne as T,
3496
- Yo as U,
3497
- Jt as V,
3498
- Bo as W,
3499
- Sr as X,
3500
- ve as Y,
3501
- Ze as Z,
3502
- ie as _,
3503
- he as a,
3504
- sr as a0,
3505
- pn as a1,
3506
- Qe as a2,
3507
- xt as a3,
3508
- er as a4,
3509
- _o as a5,
3510
- Ko as a6,
3511
- Xo as a7,
3512
- dn as a8,
3513
- Xe as a9,
3514
- hn as aa,
3515
- Ke as ab,
3516
- Ue as ac,
3517
- rr as ad,
3518
- Go as ae,
3519
- He as af,
3520
- Mr as ag,
3521
- or as ah,
3522
- zo as ai,
3523
- Kt as aj,
3524
- Fo as ak,
3525
- Dr as al,
3526
- kr as am,
3527
- Ct as an,
3528
- xe as ao,
3529
- Zo as ap,
3530
- qo as aq,
3531
- Nr as ar,
3532
- jo as as,
3533
- Ir as at,
3534
- Wo as au,
3535
- Uo as av,
3536
- gn as aw,
3537
- xr as ax,
3538
- Tr as ay,
3539
- Cr as az,
3540
- Qo as b,
3541
- Ge as c,
3542
- wt as d,
3543
- te as e,
3544
- Me as f,
3545
- De as g,
3546
- nr as h,
3547
- _e as i,
3548
- qe as j,
3549
- ae as k,
3550
- Zn as l,
3551
- dr as m,
3552
- Qn as n,
3553
- eo as o,
3554
- Re as p,
3555
- Be as q,
3556
- Vr as r,
3557
- ze as s,
3558
- yt as t,
3559
- ge as u,
3560
- Gn as v,
3561
- ir as w,
3562
- fr as x,
3563
- pr as y,
3564
- ar as z
3565
- };