Added Statistics calculation
Statistics now show calculated values
This commit is contained in:
parent
fe87374e47
commit
fc0f69dacb
2147 changed files with 141321 additions and 39 deletions
13
node_modules/@mui/x-date-pickers/internals/utils/createNonRangePickerStepNavigation.d.ts
generated
vendored
Normal file
13
node_modules/@mui/x-date-pickers/internals/utils/createNonRangePickerStepNavigation.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
import { DateOrTimeViewWithMeridiem } from "../models/common.js";
|
||||
export declare function createNonRangePickerStepNavigation(parameters: CreateNonRangePickerStepNavigationParameters): import("./createStepNavigation.js").CreateStepNavigationReturnValue;
|
||||
export interface PickerStep {
|
||||
/**
|
||||
* The views that are handled inside this step.
|
||||
* If null, all views are handled by this step.
|
||||
*/
|
||||
views: readonly DateOrTimeViewWithMeridiem[] | null;
|
||||
}
|
||||
interface CreateNonRangePickerStepNavigationParameters {
|
||||
steps: PickerStep[] | null;
|
||||
}
|
||||
export {};
|
||||
30
node_modules/@mui/x-date-pickers/internals/utils/createNonRangePickerStepNavigation.js
generated
vendored
Normal file
30
node_modules/@mui/x-date-pickers/internals/utils/createNonRangePickerStepNavigation.js
generated
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.createNonRangePickerStepNavigation = createNonRangePickerStepNavigation;
|
||||
var _createStepNavigation = require("./createStepNavigation");
|
||||
function createNonRangePickerStepNavigation(parameters) {
|
||||
const {
|
||||
steps
|
||||
} = parameters;
|
||||
return (0, _createStepNavigation.createStepNavigation)({
|
||||
steps,
|
||||
isViewMatchingStep: (view, step) => {
|
||||
return step.views == null || step.views.includes(view);
|
||||
},
|
||||
onStepChange: ({
|
||||
step,
|
||||
defaultView,
|
||||
setView,
|
||||
view,
|
||||
views
|
||||
}) => {
|
||||
const targetView = step.views == null ? defaultView : step.views.find(viewBis => views.includes(viewBis));
|
||||
if (targetView !== view) {
|
||||
setView(targetView);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
49
node_modules/@mui/x-date-pickers/internals/utils/createStepNavigation.d.ts
generated
vendored
Normal file
49
node_modules/@mui/x-date-pickers/internals/utils/createStepNavigation.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import { DateOrTimeViewWithMeridiem } from "../models/index.js";
|
||||
export declare const DEFAULT_STEP_NAVIGATION: {
|
||||
hasNextStep: boolean;
|
||||
hasSeveralSteps: boolean;
|
||||
goToNextStep: () => void;
|
||||
areViewsInSameStep: () => boolean;
|
||||
};
|
||||
/**
|
||||
* Create an object that determines whether there is a next step and allows to go to the next step.
|
||||
* @param {CreateStepNavigationParameters<TStep>} parameters The parameters of the createStepNavigation function
|
||||
* @returns {CreateStepNavigationReturnValue} The return value of the createStepNavigation function
|
||||
*/
|
||||
export declare function createStepNavigation<TStep extends {}>(parameters: CreateStepNavigationParameters<TStep>): CreateStepNavigationReturnValue;
|
||||
interface CreateStepNavigationParameters<TStep extends {}> {
|
||||
steps: TStep[] | null;
|
||||
isViewMatchingStep: (view: DateOrTimeViewWithMeridiem, step: TStep) => boolean;
|
||||
onStepChange: (parameters: UseRangePickerStepNavigationOnStepChangeParameters<TStep>) => void;
|
||||
}
|
||||
export type CreateStepNavigationReturnValue = (parameters: CreateStepNavigationReturnValueParameters) => {
|
||||
/**
|
||||
* Whether there is a next step.
|
||||
*/
|
||||
hasNextStep: boolean;
|
||||
/**
|
||||
* Whether there are several steps.
|
||||
*/
|
||||
hasSeveralSteps: boolean;
|
||||
/**
|
||||
* Go to the next step if any.
|
||||
*/
|
||||
goToNextStep: () => void;
|
||||
/**
|
||||
* Whether the two views are in the same step.
|
||||
* @param {DateOrTimeViewWithMeridiem} viewA The first view to compare.
|
||||
* @param {DateOrTimeViewWithMeridiem} viewB The second view to compare.
|
||||
* @returns {boolean} Whether the two views are in the same step.
|
||||
*/
|
||||
areViewsInSameStep: (viewA: DateOrTimeViewWithMeridiem, viewB: DateOrTimeViewWithMeridiem) => boolean;
|
||||
};
|
||||
export interface CreateStepNavigationReturnValueParameters {
|
||||
defaultView: DateOrTimeViewWithMeridiem;
|
||||
view: DateOrTimeViewWithMeridiem;
|
||||
views: readonly DateOrTimeViewWithMeridiem[];
|
||||
setView: (view: any) => void;
|
||||
}
|
||||
interface UseRangePickerStepNavigationOnStepChangeParameters<TStep extends {}> extends CreateStepNavigationReturnValueParameters {
|
||||
step: TStep;
|
||||
}
|
||||
export {};
|
||||
52
node_modules/@mui/x-date-pickers/internals/utils/createStepNavigation.js
generated
vendored
Normal file
52
node_modules/@mui/x-date-pickers/internals/utils/createStepNavigation.js
generated
vendored
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.DEFAULT_STEP_NAVIGATION = void 0;
|
||||
exports.createStepNavigation = createStepNavigation;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
const DEFAULT_STEP_NAVIGATION = exports.DEFAULT_STEP_NAVIGATION = {
|
||||
hasNextStep: false,
|
||||
hasSeveralSteps: false,
|
||||
goToNextStep: () => {},
|
||||
areViewsInSameStep: () => true
|
||||
};
|
||||
|
||||
/**
|
||||
* Create an object that determines whether there is a next step and allows to go to the next step.
|
||||
* @param {CreateStepNavigationParameters<TStep>} parameters The parameters of the createStepNavigation function
|
||||
* @returns {CreateStepNavigationReturnValue} The return value of the createStepNavigation function
|
||||
*/
|
||||
function createStepNavigation(parameters) {
|
||||
const {
|
||||
steps,
|
||||
isViewMatchingStep,
|
||||
onStepChange
|
||||
} = parameters;
|
||||
return parametersBis => {
|
||||
if (steps == null) {
|
||||
return DEFAULT_STEP_NAVIGATION;
|
||||
}
|
||||
const currentStepIndex = steps.findIndex(step => isViewMatchingStep(parametersBis.view, step));
|
||||
const nextStep = currentStepIndex === -1 || currentStepIndex === steps.length - 1 ? null : steps[currentStepIndex + 1];
|
||||
return {
|
||||
hasNextStep: nextStep != null,
|
||||
hasSeveralSteps: steps.length > 1,
|
||||
goToNextStep: () => {
|
||||
if (nextStep == null) {
|
||||
return;
|
||||
}
|
||||
onStepChange((0, _extends2.default)({}, parametersBis, {
|
||||
step: nextStep
|
||||
}));
|
||||
},
|
||||
areViewsInSameStep: (viewA, viewB) => {
|
||||
const stepA = steps.find(step => isViewMatchingStep(viewA, step));
|
||||
const stepB = steps.find(step => isViewMatchingStep(viewB, step));
|
||||
return stepA === stepB;
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
26
node_modules/@mui/x-date-pickers/internals/utils/date-time-utils.d.ts
generated
vendored
Normal file
26
node_modules/@mui/x-date-pickers/internals/utils/date-time-utils.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import { DefaultizedProps } from '@mui/x-internals/types';
|
||||
import { DateOrTimeView, MuiPickersAdapter } from "../../models/index.js";
|
||||
import { DateOrTimeViewWithMeridiem } from "../models/index.js";
|
||||
import { DigitalTimePickerProps } from "../models/props/time.js";
|
||||
export declare const resolveDateTimeFormat: (adapter: MuiPickersAdapter, {
|
||||
views,
|
||||
format,
|
||||
...other
|
||||
}: {
|
||||
format?: string;
|
||||
views: readonly DateOrTimeViewWithMeridiem[];
|
||||
ampm: boolean;
|
||||
}, ignoreDateResolving?: boolean) => string;
|
||||
interface DefaultizedTimeViewsProps<TView = DateOrTimeView> extends DefaultizedProps<DigitalTimePickerProps, 'ampm'> {
|
||||
views: readonly TView[];
|
||||
}
|
||||
interface DefaultizedTimeViewsResponse<TView = DateOrTimeViewWithMeridiem> extends Required<Pick<DefaultizedTimeViewsProps<TView>, 'thresholdToRenderTimeInASingleColumn' | 'timeSteps' | 'views'>> {
|
||||
shouldRenderTimeInASingleColumn: boolean;
|
||||
}
|
||||
export declare function resolveTimeViewsResponse<InTView extends DateOrTimeView = DateOrTimeView, OutTView extends DateOrTimeViewWithMeridiem = DateOrTimeViewWithMeridiem>({
|
||||
thresholdToRenderTimeInASingleColumn: inThreshold,
|
||||
ampm,
|
||||
timeSteps: inTimeSteps,
|
||||
views
|
||||
}: DefaultizedTimeViewsProps<InTView>): DefaultizedTimeViewsResponse<OutTView>;
|
||||
export {};
|
||||
77
node_modules/@mui/x-date-pickers/internals/utils/date-time-utils.js
generated
vendored
Normal file
77
node_modules/@mui/x-date-pickers/internals/utils/date-time-utils.js
generated
vendored
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.resolveDateTimeFormat = void 0;
|
||||
exports.resolveTimeViewsResponse = resolveTimeViewsResponse;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
||||
var _timeUtils = require("./time-utils");
|
||||
var _dateUtils = require("./date-utils");
|
||||
const _excluded = ["views", "format"];
|
||||
const resolveDateTimeFormat = (adapter, _ref, ignoreDateResolving) => {
|
||||
let {
|
||||
views,
|
||||
format
|
||||
} = _ref,
|
||||
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
||||
if (format) {
|
||||
return format;
|
||||
}
|
||||
const dateViews = [];
|
||||
const timeViews = [];
|
||||
views.forEach(view => {
|
||||
if ((0, _timeUtils.isTimeView)(view)) {
|
||||
timeViews.push(view);
|
||||
} else if ((0, _dateUtils.isDatePickerView)(view)) {
|
||||
dateViews.push(view);
|
||||
}
|
||||
});
|
||||
if (timeViews.length === 0) {
|
||||
return (0, _dateUtils.resolveDateFormat)(adapter, (0, _extends2.default)({
|
||||
views: dateViews
|
||||
}, other), false);
|
||||
}
|
||||
if (dateViews.length === 0) {
|
||||
return (0, _timeUtils.resolveTimeFormat)(adapter, (0, _extends2.default)({
|
||||
views: timeViews
|
||||
}, other));
|
||||
}
|
||||
const timeFormat = (0, _timeUtils.resolveTimeFormat)(adapter, (0, _extends2.default)({
|
||||
views: timeViews
|
||||
}, other));
|
||||
const dateFormat = ignoreDateResolving ? adapter.formats.keyboardDate : (0, _dateUtils.resolveDateFormat)(adapter, (0, _extends2.default)({
|
||||
views: dateViews
|
||||
}, other), false);
|
||||
return `${dateFormat} ${timeFormat}`;
|
||||
};
|
||||
exports.resolveDateTimeFormat = resolveDateTimeFormat;
|
||||
const resolveViews = (ampm, views, shouldUseSingleColumn) => {
|
||||
if (shouldUseSingleColumn) {
|
||||
return views.filter(view => !(0, _timeUtils.isInternalTimeView)(view) || view === 'hours');
|
||||
}
|
||||
return ampm ? [...views, 'meridiem'] : views;
|
||||
};
|
||||
const resolveShouldRenderTimeInASingleColumn = (timeSteps, threshold) => 24 * 60 / ((timeSteps.hours ?? 1) * (timeSteps.minutes ?? 5)) <= threshold;
|
||||
function resolveTimeViewsResponse({
|
||||
thresholdToRenderTimeInASingleColumn: inThreshold,
|
||||
ampm,
|
||||
timeSteps: inTimeSteps,
|
||||
views
|
||||
}) {
|
||||
const thresholdToRenderTimeInASingleColumn = inThreshold ?? 24;
|
||||
const timeSteps = (0, _extends2.default)({
|
||||
hours: 1,
|
||||
minutes: 5,
|
||||
seconds: 5
|
||||
}, inTimeSteps);
|
||||
const shouldRenderTimeInASingleColumn = resolveShouldRenderTimeInASingleColumn(timeSteps, thresholdToRenderTimeInASingleColumn);
|
||||
return {
|
||||
thresholdToRenderTimeInASingleColumn,
|
||||
timeSteps,
|
||||
shouldRenderTimeInASingleColumn,
|
||||
views: resolveViews(ampm, views, shouldRenderTimeInASingleColumn)
|
||||
};
|
||||
}
|
||||
40
node_modules/@mui/x-date-pickers/internals/utils/date-utils.d.ts
generated
vendored
Normal file
40
node_modules/@mui/x-date-pickers/internals/utils/date-utils.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import { DateView, MuiPickersAdapter, PickersTimezone, PickerValidDate, PickerValueType } from "../../models/index.js";
|
||||
import { DateOrTimeViewWithMeridiem } from "../models/index.js";
|
||||
export declare const mergeDateAndTime: (adapter: MuiPickersAdapter, dateParam: PickerValidDate, timeParam: PickerValidDate) => PickerValidDate;
|
||||
interface FindClosestDateParams {
|
||||
date: PickerValidDate;
|
||||
disableFuture?: boolean;
|
||||
disablePast?: boolean;
|
||||
maxDate: PickerValidDate;
|
||||
minDate: PickerValidDate;
|
||||
isDateDisabled: (date: PickerValidDate) => boolean;
|
||||
adapter: MuiPickersAdapter;
|
||||
timezone: PickersTimezone;
|
||||
}
|
||||
export declare const findClosestEnabledDate: ({
|
||||
date,
|
||||
disableFuture,
|
||||
disablePast,
|
||||
maxDate,
|
||||
minDate,
|
||||
isDateDisabled,
|
||||
adapter,
|
||||
timezone
|
||||
}: FindClosestDateParams) => PickerValidDate | null;
|
||||
export declare const replaceInvalidDateByNull: (adapter: MuiPickersAdapter, value: PickerValidDate | null) => PickerValidDate | null;
|
||||
export declare const applyDefaultDate: (adapter: MuiPickersAdapter, value: PickerValidDate | null | undefined, defaultValue: PickerValidDate) => PickerValidDate;
|
||||
export declare const areDatesEqual: (adapter: MuiPickersAdapter, a: PickerValidDate | null, b: PickerValidDate | null) => boolean;
|
||||
export declare const getMonthsInYear: (adapter: MuiPickersAdapter, year: PickerValidDate) => PickerValidDate[];
|
||||
export declare const getTodayDate: (adapter: MuiPickersAdapter, timezone: PickersTimezone, valueType?: PickerValueType) => PickerValidDate;
|
||||
export declare const formatMeridiem: (adapter: MuiPickersAdapter, meridiem: "am" | "pm") => string;
|
||||
export declare const DATE_VIEWS: readonly ["year", "month", "day"];
|
||||
export declare const isDatePickerView: (view: DateOrTimeViewWithMeridiem) => view is DateView;
|
||||
export declare const resolveDateFormat: (adapter: MuiPickersAdapter, {
|
||||
format,
|
||||
views
|
||||
}: {
|
||||
format?: string;
|
||||
views: readonly DateView[];
|
||||
}, isInToolbar: boolean) => string;
|
||||
export declare const getWeekdays: (adapter: MuiPickersAdapter, date: PickerValidDate) => PickerValidDate[];
|
||||
export {};
|
||||
141
node_modules/@mui/x-date-pickers/internals/utils/date-utils.js
generated
vendored
Normal file
141
node_modules/@mui/x-date-pickers/internals/utils/date-utils.js
generated
vendored
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.resolveDateFormat = exports.replaceInvalidDateByNull = exports.mergeDateAndTime = exports.isDatePickerView = exports.getWeekdays = exports.getTodayDate = exports.getMonthsInYear = exports.formatMeridiem = exports.findClosestEnabledDate = exports.areDatesEqual = exports.applyDefaultDate = exports.DATE_VIEWS = void 0;
|
||||
var _views = require("./views");
|
||||
const mergeDateAndTime = (adapter, dateParam, timeParam) => {
|
||||
let mergedDate = dateParam;
|
||||
mergedDate = adapter.setHours(mergedDate, adapter.getHours(timeParam));
|
||||
mergedDate = adapter.setMinutes(mergedDate, adapter.getMinutes(timeParam));
|
||||
mergedDate = adapter.setSeconds(mergedDate, adapter.getSeconds(timeParam));
|
||||
mergedDate = adapter.setMilliseconds(mergedDate, adapter.getMilliseconds(timeParam));
|
||||
return mergedDate;
|
||||
};
|
||||
exports.mergeDateAndTime = mergeDateAndTime;
|
||||
const findClosestEnabledDate = ({
|
||||
date,
|
||||
disableFuture,
|
||||
disablePast,
|
||||
maxDate,
|
||||
minDate,
|
||||
isDateDisabled,
|
||||
adapter,
|
||||
timezone
|
||||
}) => {
|
||||
const today = mergeDateAndTime(adapter, adapter.date(undefined, timezone), date);
|
||||
if (disablePast && adapter.isBefore(minDate, today)) {
|
||||
minDate = today;
|
||||
}
|
||||
if (disableFuture && adapter.isAfter(maxDate, today)) {
|
||||
maxDate = today;
|
||||
}
|
||||
let forward = date;
|
||||
let backward = date;
|
||||
if (adapter.isBefore(date, minDate)) {
|
||||
forward = minDate;
|
||||
backward = null;
|
||||
}
|
||||
if (adapter.isAfter(date, maxDate)) {
|
||||
if (backward) {
|
||||
backward = maxDate;
|
||||
}
|
||||
forward = null;
|
||||
}
|
||||
while (forward || backward) {
|
||||
if (forward && adapter.isAfter(forward, maxDate)) {
|
||||
forward = null;
|
||||
}
|
||||
if (backward && adapter.isBefore(backward, minDate)) {
|
||||
backward = null;
|
||||
}
|
||||
if (forward) {
|
||||
if (!isDateDisabled(forward)) {
|
||||
return forward;
|
||||
}
|
||||
forward = adapter.addDays(forward, 1);
|
||||
}
|
||||
if (backward) {
|
||||
if (!isDateDisabled(backward)) {
|
||||
return backward;
|
||||
}
|
||||
backward = adapter.addDays(backward, -1);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
exports.findClosestEnabledDate = findClosestEnabledDate;
|
||||
const replaceInvalidDateByNull = (adapter, value) => !adapter.isValid(value) ? null : value;
|
||||
exports.replaceInvalidDateByNull = replaceInvalidDateByNull;
|
||||
const applyDefaultDate = (adapter, value, defaultValue) => {
|
||||
if (value == null || !adapter.isValid(value)) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
};
|
||||
exports.applyDefaultDate = applyDefaultDate;
|
||||
const areDatesEqual = (adapter, a, b) => {
|
||||
if (!adapter.isValid(a) && a != null && !adapter.isValid(b) && b != null) {
|
||||
return true;
|
||||
}
|
||||
return adapter.isEqual(a, b);
|
||||
};
|
||||
exports.areDatesEqual = areDatesEqual;
|
||||
const getMonthsInYear = (adapter, year) => {
|
||||
const firstMonth = adapter.startOfYear(year);
|
||||
const months = [firstMonth];
|
||||
while (months.length < 12) {
|
||||
const prevMonth = months[months.length - 1];
|
||||
months.push(adapter.addMonths(prevMonth, 1));
|
||||
}
|
||||
return months;
|
||||
};
|
||||
exports.getMonthsInYear = getMonthsInYear;
|
||||
const getTodayDate = (adapter, timezone, valueType) => valueType === 'date' ? adapter.startOfDay(adapter.date(undefined, timezone)) : adapter.date(undefined, timezone);
|
||||
exports.getTodayDate = getTodayDate;
|
||||
const formatMeridiem = (adapter, meridiem) => {
|
||||
const date = adapter.setHours(adapter.date(), meridiem === 'am' ? 2 : 14);
|
||||
return adapter.format(date, 'meridiem');
|
||||
};
|
||||
exports.formatMeridiem = formatMeridiem;
|
||||
const DATE_VIEWS = exports.DATE_VIEWS = ['year', 'month', 'day'];
|
||||
const isDatePickerView = view => DATE_VIEWS.includes(view);
|
||||
exports.isDatePickerView = isDatePickerView;
|
||||
const resolveDateFormat = (adapter, {
|
||||
format,
|
||||
views
|
||||
}, isInToolbar) => {
|
||||
if (format != null) {
|
||||
return format;
|
||||
}
|
||||
const formats = adapter.formats;
|
||||
if ((0, _views.areViewsEqual)(views, ['year'])) {
|
||||
return formats.year;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['month'])) {
|
||||
return formats.month;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['day'])) {
|
||||
return formats.dayOfMonth;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['month', 'year'])) {
|
||||
return `${formats.month} ${formats.year}`;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['day', 'month'])) {
|
||||
return `${formats.month} ${formats.dayOfMonth}`;
|
||||
}
|
||||
if (isInToolbar) {
|
||||
// Little localization hack (Google is doing the same for android native pickers):
|
||||
// For english localization it is convenient to include weekday into the date "Mon, Jun 1".
|
||||
// For other locales using strings like "June 1", without weekday.
|
||||
return /en/.test(adapter.getCurrentLocaleCode()) ? formats.normalDateWithWeekday : formats.normalDate;
|
||||
}
|
||||
return formats.keyboardDate;
|
||||
};
|
||||
exports.resolveDateFormat = resolveDateFormat;
|
||||
const getWeekdays = (adapter, date) => {
|
||||
const start = adapter.startOfWeek(date);
|
||||
return [0, 1, 2, 3, 4, 5, 6].map(diff => adapter.addDays(start, diff));
|
||||
};
|
||||
exports.getWeekdays = getWeekdays;
|
||||
31
node_modules/@mui/x-date-pickers/internals/utils/getDefaultReferenceDate.d.ts
generated
vendored
Normal file
31
node_modules/@mui/x-date-pickers/internals/utils/getDefaultReferenceDate.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import { FieldSection, MuiPickersAdapter, PickersTimezone, PickerValidDate } from "../../models/index.js";
|
||||
export interface GetDefaultReferenceDateProps {
|
||||
maxDate?: PickerValidDate;
|
||||
minDate?: PickerValidDate;
|
||||
minTime?: PickerValidDate;
|
||||
maxTime?: PickerValidDate;
|
||||
disableIgnoringDatePartForTimeValidation?: boolean;
|
||||
}
|
||||
export declare const SECTION_TYPE_GRANULARITY: {
|
||||
year: number;
|
||||
month: number;
|
||||
day: number;
|
||||
hours: number;
|
||||
minutes: number;
|
||||
seconds: number;
|
||||
milliseconds: number;
|
||||
};
|
||||
export declare const getSectionTypeGranularity: (sections: FieldSection[]) => number;
|
||||
export declare const getDefaultReferenceDate: ({
|
||||
props,
|
||||
adapter,
|
||||
granularity,
|
||||
timezone,
|
||||
getTodayDate: inGetTodayDate
|
||||
}: {
|
||||
props: GetDefaultReferenceDateProps;
|
||||
adapter: MuiPickersAdapter;
|
||||
granularity: number;
|
||||
timezone: PickersTimezone;
|
||||
getTodayDate?: () => PickerValidDate;
|
||||
}) => PickerValidDate;
|
||||
67
node_modules/@mui/x-date-pickers/internals/utils/getDefaultReferenceDate.js
generated
vendored
Normal file
67
node_modules/@mui/x-date-pickers/internals/utils/getDefaultReferenceDate.js
generated
vendored
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.getSectionTypeGranularity = exports.getDefaultReferenceDate = exports.SECTION_TYPE_GRANULARITY = void 0;
|
||||
var _timeUtils = require("./time-utils");
|
||||
var _dateUtils = require("./date-utils");
|
||||
const SECTION_TYPE_GRANULARITY = exports.SECTION_TYPE_GRANULARITY = {
|
||||
year: 1,
|
||||
month: 2,
|
||||
day: 3,
|
||||
hours: 4,
|
||||
minutes: 5,
|
||||
seconds: 6,
|
||||
milliseconds: 7
|
||||
};
|
||||
const getSectionTypeGranularity = sections => Math.max(...sections.map(section => SECTION_TYPE_GRANULARITY[section.type] ?? 1));
|
||||
exports.getSectionTypeGranularity = getSectionTypeGranularity;
|
||||
const roundDate = (adapter, granularity, date) => {
|
||||
if (granularity === SECTION_TYPE_GRANULARITY.year) {
|
||||
return adapter.startOfYear(date);
|
||||
}
|
||||
if (granularity === SECTION_TYPE_GRANULARITY.month) {
|
||||
return adapter.startOfMonth(date);
|
||||
}
|
||||
if (granularity === SECTION_TYPE_GRANULARITY.day) {
|
||||
return adapter.startOfDay(date);
|
||||
}
|
||||
|
||||
// We don't have startOfHour / startOfMinute / startOfSecond
|
||||
let roundedDate = date;
|
||||
if (granularity < SECTION_TYPE_GRANULARITY.minutes) {
|
||||
roundedDate = adapter.setMinutes(roundedDate, 0);
|
||||
}
|
||||
if (granularity < SECTION_TYPE_GRANULARITY.seconds) {
|
||||
roundedDate = adapter.setSeconds(roundedDate, 0);
|
||||
}
|
||||
if (granularity < SECTION_TYPE_GRANULARITY.milliseconds) {
|
||||
roundedDate = adapter.setMilliseconds(roundedDate, 0);
|
||||
}
|
||||
return roundedDate;
|
||||
};
|
||||
const getDefaultReferenceDate = ({
|
||||
props,
|
||||
adapter,
|
||||
granularity,
|
||||
timezone,
|
||||
getTodayDate: inGetTodayDate
|
||||
}) => {
|
||||
let referenceDate = inGetTodayDate ? inGetTodayDate() : roundDate(adapter, granularity, (0, _dateUtils.getTodayDate)(adapter, timezone));
|
||||
if (props.minDate != null && adapter.isAfterDay(props.minDate, referenceDate)) {
|
||||
referenceDate = roundDate(adapter, granularity, props.minDate);
|
||||
}
|
||||
if (props.maxDate != null && adapter.isBeforeDay(props.maxDate, referenceDate)) {
|
||||
referenceDate = roundDate(adapter, granularity, props.maxDate);
|
||||
}
|
||||
const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(props.disableIgnoringDatePartForTimeValidation ?? false, adapter);
|
||||
if (props.minTime != null && isAfter(props.minTime, referenceDate)) {
|
||||
referenceDate = roundDate(adapter, granularity, props.disableIgnoringDatePartForTimeValidation ? props.minTime : (0, _dateUtils.mergeDateAndTime)(adapter, referenceDate, props.minTime));
|
||||
}
|
||||
if (props.maxTime != null && isAfter(referenceDate, props.maxTime)) {
|
||||
referenceDate = roundDate(adapter, granularity, props.disableIgnoringDatePartForTimeValidation ? props.maxTime : (0, _dateUtils.mergeDateAndTime)(adapter, referenceDate, props.maxTime));
|
||||
}
|
||||
return referenceDate;
|
||||
};
|
||||
exports.getDefaultReferenceDate = getDefaultReferenceDate;
|
||||
21
node_modules/@mui/x-date-pickers/internals/utils/time-utils.d.ts
generated
vendored
Normal file
21
node_modules/@mui/x-date-pickers/internals/utils/time-utils.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { MuiPickersAdapter, PickerValidDate } from "../../models/index.js";
|
||||
import { DateOrTimeViewWithMeridiem, TimeViewWithMeridiem } from "../models/index.js";
|
||||
export declare const EXPORTED_TIME_VIEWS: readonly ["hours", "minutes", "seconds"];
|
||||
export declare const TIME_VIEWS: readonly ["hours", "minutes", "seconds", "meridiem"];
|
||||
export declare const isTimeView: (view: DateOrTimeViewWithMeridiem) => boolean;
|
||||
export declare const isInternalTimeView: (view: DateOrTimeViewWithMeridiem) => view is TimeViewWithMeridiem;
|
||||
export type Meridiem = 'am' | 'pm';
|
||||
export declare const getMeridiem: (date: PickerValidDate | null, adapter: MuiPickersAdapter) => Meridiem | null;
|
||||
export declare const convertValueToMeridiem: (value: number, meridiem: Meridiem | null, ampm: boolean) => number;
|
||||
export declare const convertToMeridiem: (time: PickerValidDate, meridiem: Meridiem, ampm: boolean, adapter: MuiPickersAdapter) => PickerValidDate;
|
||||
export declare const getSecondsInDay: (date: PickerValidDate, adapter: MuiPickersAdapter) => number;
|
||||
export declare const createIsAfterIgnoreDatePart: (disableIgnoringDatePartForTimeValidation: boolean, adapter: MuiPickersAdapter) => (dateLeft: PickerValidDate, dateRight: PickerValidDate) => boolean;
|
||||
export declare const resolveTimeFormat: (adapter: MuiPickersAdapter, {
|
||||
format,
|
||||
views,
|
||||
ampm
|
||||
}: {
|
||||
format?: string;
|
||||
views: readonly TimeViewWithMeridiem[];
|
||||
ampm: boolean;
|
||||
}) => string;
|
||||
73
node_modules/@mui/x-date-pickers/internals/utils/time-utils.js
generated
vendored
Normal file
73
node_modules/@mui/x-date-pickers/internals/utils/time-utils.js
generated
vendored
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.resolveTimeFormat = exports.isTimeView = exports.isInternalTimeView = exports.getSecondsInDay = exports.getMeridiem = exports.createIsAfterIgnoreDatePart = exports.convertValueToMeridiem = exports.convertToMeridiem = exports.TIME_VIEWS = exports.EXPORTED_TIME_VIEWS = void 0;
|
||||
var _views = require("./views");
|
||||
const EXPORTED_TIME_VIEWS = exports.EXPORTED_TIME_VIEWS = ['hours', 'minutes', 'seconds'];
|
||||
const TIME_VIEWS = exports.TIME_VIEWS = ['hours', 'minutes', 'seconds', 'meridiem'];
|
||||
const isTimeView = view => EXPORTED_TIME_VIEWS.includes(view);
|
||||
exports.isTimeView = isTimeView;
|
||||
const isInternalTimeView = view => TIME_VIEWS.includes(view);
|
||||
exports.isInternalTimeView = isInternalTimeView;
|
||||
const getMeridiem = (date, adapter) => {
|
||||
if (!date) {
|
||||
return null;
|
||||
}
|
||||
return adapter.getHours(date) >= 12 ? 'pm' : 'am';
|
||||
};
|
||||
exports.getMeridiem = getMeridiem;
|
||||
const convertValueToMeridiem = (value, meridiem, ampm) => {
|
||||
if (ampm) {
|
||||
const currentMeridiem = value >= 12 ? 'pm' : 'am';
|
||||
if (currentMeridiem !== meridiem) {
|
||||
return meridiem === 'am' ? value - 12 : value + 12;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
exports.convertValueToMeridiem = convertValueToMeridiem;
|
||||
const convertToMeridiem = (time, meridiem, ampm, adapter) => {
|
||||
const newHoursAmount = convertValueToMeridiem(adapter.getHours(time), meridiem, ampm);
|
||||
return adapter.setHours(time, newHoursAmount);
|
||||
};
|
||||
exports.convertToMeridiem = convertToMeridiem;
|
||||
const getSecondsInDay = (date, adapter) => {
|
||||
return adapter.getHours(date) * 3600 + adapter.getMinutes(date) * 60 + adapter.getSeconds(date);
|
||||
};
|
||||
exports.getSecondsInDay = getSecondsInDay;
|
||||
const createIsAfterIgnoreDatePart = (disableIgnoringDatePartForTimeValidation, adapter) => (dateLeft, dateRight) => {
|
||||
if (disableIgnoringDatePartForTimeValidation) {
|
||||
return adapter.isAfter(dateLeft, dateRight);
|
||||
}
|
||||
return getSecondsInDay(dateLeft, adapter) > getSecondsInDay(dateRight, adapter);
|
||||
};
|
||||
exports.createIsAfterIgnoreDatePart = createIsAfterIgnoreDatePart;
|
||||
const resolveTimeFormat = (adapter, {
|
||||
format,
|
||||
views,
|
||||
ampm
|
||||
}) => {
|
||||
if (format != null) {
|
||||
return format;
|
||||
}
|
||||
const formats = adapter.formats;
|
||||
if ((0, _views.areViewsEqual)(views, ['hours'])) {
|
||||
return ampm ? `${formats.hours12h} ${formats.meridiem}` : formats.hours24h;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['minutes'])) {
|
||||
return formats.minutes;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['seconds'])) {
|
||||
return formats.seconds;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['minutes', 'seconds'])) {
|
||||
return `${formats.minutes}:${formats.seconds}`;
|
||||
}
|
||||
if ((0, _views.areViewsEqual)(views, ['hours', 'minutes', 'seconds'])) {
|
||||
return ampm ? `${formats.hours12h}:${formats.minutes}:${formats.seconds} ${formats.meridiem}` : `${formats.hours24h}:${formats.minutes}:${formats.seconds}`;
|
||||
}
|
||||
return ampm ? `${formats.hours12h}:${formats.minutes} ${formats.meridiem}` : `${formats.hours24h}:${formats.minutes}`;
|
||||
};
|
||||
exports.resolveTimeFormat = resolveTimeFormat;
|
||||
22
node_modules/@mui/x-date-pickers/internals/utils/utils.d.ts
generated
vendored
Normal file
22
node_modules/@mui/x-date-pickers/internals/utils/utils.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import { Theme } from '@mui/material/styles';
|
||||
import { SxProps, SystemStyleObject } from '@mui/system';
|
||||
import * as React from 'react';
|
||||
export declare function arrayIncludes<T>(array: T[] | readonly T[], itemOrItems: T | T[]): boolean;
|
||||
export declare const onSpaceOrEnter: (innerFn: (ev: React.MouseEvent<any> | React.KeyboardEvent<any>) => void, externalEvent?: (event: React.KeyboardEvent<any>) => void) => (event: React.KeyboardEvent) => void;
|
||||
export declare const executeInTheNextEventLoopTick: (fn: () => void) => void;
|
||||
/**
|
||||
* Gets the currently active element within a given node's document.
|
||||
* This function traverses shadow DOM if necessary.
|
||||
* @param node - The node from which to get the active element.
|
||||
* @returns The currently active element, or null if none is found.
|
||||
*/
|
||||
export declare const getActiveElement: (node: Node | null | undefined) => Element | null;
|
||||
/**
|
||||
* Gets the index of the focused list item in a given ul list element.
|
||||
*
|
||||
* @param {HTMLUListElement} listElement - The list element to search within.
|
||||
* @returns {number} The index of the focused list item, or -1 if none is focused.
|
||||
*/
|
||||
export declare const getFocusedListItemIndex: (listElement: HTMLUListElement) => number;
|
||||
export declare const DEFAULT_DESKTOP_MODE_MEDIA_QUERY = "@media (pointer: fine)";
|
||||
export declare function mergeSx(...sxProps: (SxProps<Theme> | undefined)[]): ReadonlyArray<boolean | SystemStyleObject<Theme> | ((theme: Theme) => SystemStyleObject<Theme>)>;
|
||||
82
node_modules/@mui/x-date-pickers/internals/utils/utils.js
generated
vendored
Normal file
82
node_modules/@mui/x-date-pickers/internals/utils/utils.js
generated
vendored
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.DEFAULT_DESKTOP_MODE_MEDIA_QUERY = void 0;
|
||||
exports.arrayIncludes = arrayIncludes;
|
||||
exports.getFocusedListItemIndex = exports.getActiveElement = exports.executeInTheNextEventLoopTick = void 0;
|
||||
exports.mergeSx = mergeSx;
|
||||
exports.onSpaceOrEnter = void 0;
|
||||
var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
|
||||
/* Use it instead of .includes method for IE support */
|
||||
function arrayIncludes(array, itemOrItems) {
|
||||
if (Array.isArray(itemOrItems)) {
|
||||
return itemOrItems.every(item => array.indexOf(item) !== -1);
|
||||
}
|
||||
return array.indexOf(itemOrItems) !== -1;
|
||||
}
|
||||
const onSpaceOrEnter = (innerFn, externalEvent) => event => {
|
||||
if (event.key === 'Enter' || event.key === ' ') {
|
||||
innerFn(event);
|
||||
|
||||
// prevent any side effects
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
if (externalEvent) {
|
||||
externalEvent(event);
|
||||
}
|
||||
};
|
||||
exports.onSpaceOrEnter = onSpaceOrEnter;
|
||||
const executeInTheNextEventLoopTick = fn => {
|
||||
setTimeout(fn, 0);
|
||||
};
|
||||
|
||||
// https://www.abeautifulsite.net/posts/finding-the-active-element-in-a-shadow-root/
|
||||
exports.executeInTheNextEventLoopTick = executeInTheNextEventLoopTick;
|
||||
const getActiveElementInternal = (root = document) => {
|
||||
const activeEl = root.activeElement;
|
||||
if (!activeEl) {
|
||||
return null;
|
||||
}
|
||||
if (activeEl.shadowRoot) {
|
||||
return getActiveElementInternal(activeEl.shadowRoot);
|
||||
}
|
||||
return activeEl;
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets the currently active element within a given node's document.
|
||||
* This function traverses shadow DOM if necessary.
|
||||
* @param node - The node from which to get the active element.
|
||||
* @returns The currently active element, or null if none is found.
|
||||
*/
|
||||
const getActiveElement = node => {
|
||||
return getActiveElementInternal((0, _ownerDocument.default)(node));
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets the index of the focused list item in a given ul list element.
|
||||
*
|
||||
* @param {HTMLUListElement} listElement - The list element to search within.
|
||||
* @returns {number} The index of the focused list item, or -1 if none is focused.
|
||||
*/
|
||||
exports.getActiveElement = getActiveElement;
|
||||
const getFocusedListItemIndex = listElement => {
|
||||
const children = Array.from(listElement.children);
|
||||
return children.indexOf(getActiveElement(listElement));
|
||||
};
|
||||
exports.getFocusedListItemIndex = getFocusedListItemIndex;
|
||||
const DEFAULT_DESKTOP_MODE_MEDIA_QUERY = exports.DEFAULT_DESKTOP_MODE_MEDIA_QUERY = '@media (pointer: fine)';
|
||||
function mergeSx(...sxProps) {
|
||||
return sxProps.reduce((acc, sxProp) => {
|
||||
if (Array.isArray(sxProp)) {
|
||||
acc.push(...sxProp);
|
||||
} else if (sxProp != null) {
|
||||
acc.push(sxProp);
|
||||
}
|
||||
return acc;
|
||||
}, []);
|
||||
}
|
||||
7
node_modules/@mui/x-date-pickers/internals/utils/valueManagers.d.ts
generated
vendored
Normal file
7
node_modules/@mui/x-date-pickers/internals/utils/valueManagers.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import type { PickerValueManager } from "../models/index.js";
|
||||
import { DateValidationError, TimeValidationError, DateTimeValidationError } from "../../models/index.js";
|
||||
import type { FieldValueManager } from "../hooks/useField/index.js";
|
||||
import { PickerValue } from "../models/index.js";
|
||||
export type SingleItemPickerValueManager<TError extends DateValidationError | TimeValidationError | DateTimeValidationError = any> = PickerValueManager<PickerValue, TError>;
|
||||
export declare const singleItemValueManager: SingleItemPickerValueManager;
|
||||
export declare const singleItemFieldValueManager: FieldValueManager<PickerValue>;
|
||||
51
node_modules/@mui/x-date-pickers/internals/utils/valueManagers.js
generated
vendored
Normal file
51
node_modules/@mui/x-date-pickers/internals/utils/valueManagers.js
generated
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.singleItemValueManager = exports.singleItemFieldValueManager = void 0;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
||||
var _dateUtils = require("./date-utils");
|
||||
var _getDefaultReferenceDate = require("./getDefaultReferenceDate");
|
||||
var _useField = require("../hooks/useField/useField.utils");
|
||||
const _excluded = ["value", "referenceDate"];
|
||||
const singleItemValueManager = exports.singleItemValueManager = {
|
||||
emptyValue: null,
|
||||
getTodayValue: _dateUtils.getTodayDate,
|
||||
getInitialReferenceValue: _ref => {
|
||||
let {
|
||||
value,
|
||||
referenceDate
|
||||
} = _ref,
|
||||
params = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
||||
if (params.adapter.isValid(value)) {
|
||||
return value;
|
||||
}
|
||||
if (referenceDate != null) {
|
||||
return referenceDate;
|
||||
}
|
||||
return (0, _getDefaultReferenceDate.getDefaultReferenceDate)(params);
|
||||
},
|
||||
cleanValue: _dateUtils.replaceInvalidDateByNull,
|
||||
areValuesEqual: _dateUtils.areDatesEqual,
|
||||
isSameError: (a, b) => a === b,
|
||||
hasError: error => error != null,
|
||||
defaultErrorState: null,
|
||||
getTimezone: (adapter, value) => adapter.isValid(value) ? adapter.getTimezone(value) : null,
|
||||
setTimezone: (adapter, timezone, value) => value == null ? null : adapter.setTimezone(value, timezone)
|
||||
};
|
||||
const singleItemFieldValueManager = exports.singleItemFieldValueManager = {
|
||||
updateReferenceValue: (adapter, value, prevReferenceValue) => adapter.isValid(value) ? value : prevReferenceValue,
|
||||
getSectionsFromValue: (date, getSectionsFromDate) => getSectionsFromDate(date),
|
||||
getV7HiddenInputValueFromSections: _useField.createDateStrForV7HiddenInputFromSections,
|
||||
getV6InputValueFromSections: _useField.createDateStrForV6InputFromSections,
|
||||
parseValueStr: (valueStr, referenceValue, parseDate) => parseDate(valueStr.trim(), referenceValue),
|
||||
getDateFromSection: value => value,
|
||||
getDateSectionsFromValue: sections => sections,
|
||||
updateDateInValue: (value, activeSection, activeDate) => activeDate,
|
||||
clearDateSections: sections => sections.map(section => (0, _extends2.default)({}, section, {
|
||||
value: ''
|
||||
}))
|
||||
};
|
||||
16
node_modules/@mui/x-date-pickers/internals/utils/views.d.ts
generated
vendored
Normal file
16
node_modules/@mui/x-date-pickers/internals/utils/views.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
import { DateOrTimeViewWithMeridiem } from "../models/index.js";
|
||||
export declare const areViewsEqual: <TView extends DateOrTimeViewWithMeridiem>(views: ReadonlyArray<DateOrTimeViewWithMeridiem>, expectedViews: TView[]) => views is ReadonlyArray<TView>;
|
||||
export declare const applyDefaultViewProps: <TView extends DateOrTimeViewWithMeridiem>({
|
||||
openTo,
|
||||
defaultOpenTo,
|
||||
views,
|
||||
defaultViews
|
||||
}: {
|
||||
openTo: TView | undefined;
|
||||
defaultOpenTo: TView;
|
||||
views: readonly TView[] | undefined;
|
||||
defaultViews: readonly TView[];
|
||||
}) => {
|
||||
views: readonly TView[];
|
||||
openTo: TView;
|
||||
};
|
||||
36
node_modules/@mui/x-date-pickers/internals/utils/views.js
generated
vendored
Normal file
36
node_modules/@mui/x-date-pickers/internals/utils/views.js
generated
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.areViewsEqual = exports.applyDefaultViewProps = void 0;
|
||||
const areViewsEqual = (views, expectedViews) => {
|
||||
if (views.length !== expectedViews.length) {
|
||||
return false;
|
||||
}
|
||||
return expectedViews.every(expectedView => views.includes(expectedView));
|
||||
};
|
||||
exports.areViewsEqual = areViewsEqual;
|
||||
const applyDefaultViewProps = ({
|
||||
openTo,
|
||||
defaultOpenTo,
|
||||
views,
|
||||
defaultViews
|
||||
}) => {
|
||||
const viewsWithDefault = views ?? defaultViews;
|
||||
let openToWithDefault;
|
||||
if (openTo != null) {
|
||||
openToWithDefault = openTo;
|
||||
} else if (viewsWithDefault.includes(defaultOpenTo)) {
|
||||
openToWithDefault = defaultOpenTo;
|
||||
} else if (viewsWithDefault.length > 0) {
|
||||
openToWithDefault = viewsWithDefault[0];
|
||||
} else {
|
||||
throw new Error('MUI X: The `views` prop must contain at least one view.');
|
||||
}
|
||||
return {
|
||||
views: viewsWithDefault,
|
||||
openTo: openToWithDefault
|
||||
};
|
||||
};
|
||||
exports.applyDefaultViewProps = applyDefaultViewProps;
|
||||
Loading…
Add table
Add a link
Reference in a new issue