UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

78 lines (77 loc) 3.45 kB
"use client"; const require_runtime = require("../../_virtual/_rolldown/runtime.cjs"); const require_use_dates_context = require("../DatesProvider/use-dates-context.cjs"); const require_YearsList = require("../YearsList/YearsList.cjs"); const require_CalendarHeader = require("../CalendarHeader/CalendarHeader.cjs"); const require_get_decade_range = require("./get-decade-range/get-decade-range.cjs"); let dayjs = require("dayjs"); dayjs = require_runtime.__toESM(dayjs); let react_jsx_runtime = require("react/jsx-runtime"); let _mantine_core = require("@mantine/core"); //#region packages/@mantine/dates/src/components/DecadeLevel/DecadeLevel.tsx const defaultProps = { decadeLabelFormat: "YYYY" }; const DecadeLevel = (0, _mantine_core.factory)((_props) => { const { decade, locale, minDate, maxDate, yearsListFormat, getYearControlProps, __getControlRef, __onControlKeyDown, __onControlClick, __onControlMouseEnter, withCellSpacing, __preventFocus, nextIcon, previousIcon, nextLabel, previousLabel, onNext, onPrevious, nextDisabled, previousDisabled, levelControlAriaLabel, withNext, withPrevious, headerControlsOrder, decadeLabelFormat, classNames, styles, unstyled, __staticSelector, __stopPropagation, size, fullWidth, attributes, ...others } = (0, _mantine_core.useProps)("DecadeLevel", defaultProps, _props); const ctx = require_use_dates_context.useDatesContext(); const [startOfDecade, endOfDecade] = require_get_decade_range.getDecadeRange(decade); const stylesApiProps = { __staticSelector: __staticSelector || "DecadeLevel", classNames, styles, unstyled, size, attributes }; const _nextDisabled = typeof nextDisabled === "boolean" ? nextDisabled : maxDate ? !(0, dayjs.default)(endOfDecade).endOf("year").isBefore(maxDate) : false; const _previousDisabled = typeof previousDisabled === "boolean" ? previousDisabled : minDate ? !(0, dayjs.default)(startOfDecade).startOf("year").isAfter(minDate) : false; const formatDecade = (date, format) => (0, dayjs.default)(date).locale(locale || ctx.locale).format(format); return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, { "data-decade-level": true, size, ...others, children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CalendarHeader.CalendarHeader, { label: typeof decadeLabelFormat === "function" ? decadeLabelFormat(startOfDecade, endOfDecade) : `${formatDecade(startOfDecade, decadeLabelFormat)}${formatDecade(endOfDecade, decadeLabelFormat)}`, __preventFocus, __stopPropagation, nextIcon, previousIcon, nextLabel, previousLabel, onNext, onPrevious, nextDisabled: _nextDisabled, previousDisabled: _previousDisabled, hasNextLevel: false, levelControlAriaLabel, withNext, withPrevious, headerControlsOrder, fullWidth, ...stylesApiProps }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_YearsList.YearsList, { decade, locale, minDate, maxDate, yearsListFormat, getYearControlProps, __getControlRef, __onControlKeyDown, __onControlClick, __onControlMouseEnter, __preventFocus, __stopPropagation, withCellSpacing, fullWidth, ...stylesApiProps })] }); }); DecadeLevel.classes = { ...require_YearsList.YearsList.classes, ...require_CalendarHeader.CalendarHeader.classes }; DecadeLevel.displayName = "@mantine/dates/DecadeLevel"; //#endregion exports.DecadeLevel = DecadeLevel; //# sourceMappingURL=DecadeLevel.cjs.map