Project Init

This commit is contained in:
Muluhabt
2026-05-29 15:23:46 +03:00
commit 2fbc557aac
67387 changed files with 6063341 additions and 0 deletions

View File

@@ -0,0 +1,120 @@
'use client';
import { jsx } from 'react/jsx-runtime';
import dayjs from 'dayjs';
import { factory, useProps, useStyles, Box } from '@mantine/core';
import '../DatesProvider/DatesProvider.mjs';
import { useDatesContext } from '../DatesProvider/use-dates-context.mjs';
import { PickerControl } from '../PickerControl/PickerControl.mjs';
import { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order.mjs';
import { getYearsData } from './get-years-data/get-years-data.mjs';
import { isYearDisabled } from './is-year-disabled/is-year-disabled.mjs';
import classes from './YearsList.module.css.mjs';
const defaultProps = {
yearsListFormat: "YYYY",
withCellSpacing: true
};
const YearsList = factory((_props, ref) => {
const props = useProps("YearsList", defaultProps, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
decade,
yearsListFormat,
locale,
minDate,
maxDate,
getYearControlProps,
__staticSelector,
__getControlRef,
__onControlKeyDown,
__onControlClick,
__onControlMouseEnter,
__preventFocus,
__stopPropagation,
withCellSpacing,
size,
attributes,
...others
} = props;
const getStyles = useStyles({
name: __staticSelector || "YearsList",
classes,
props,
className,
style,
classNames,
styles,
unstyled,
attributes,
vars,
rootSelector: "yearsList"
});
const ctx = useDatesContext();
const years = getYearsData(decade);
const yearInTabOrder = getYearInTabOrder({
years,
minDate,
maxDate,
getYearControlProps
});
const rows = years.map((yearsRow, rowIndex) => {
const cells = yearsRow.map((year, cellIndex) => {
const controlProps = getYearControlProps?.(year);
const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, "year");
return /* @__PURE__ */ jsx(
"td",
{
...getStyles("yearsListCell"),
"data-with-spacing": withCellSpacing || void 0,
children: /* @__PURE__ */ jsx(
PickerControl,
{
...getStyles("yearsListControl"),
size,
unstyled,
"data-mantine-stop-propagation": __stopPropagation || void 0,
disabled: isYearDisabled({ year, minDate, maxDate }),
ref: (node) => {
if (node) {
__getControlRef?.(rowIndex, cellIndex, node);
}
},
...controlProps,
onKeyDown: (event) => {
controlProps?.onKeyDown?.(event);
__onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });
},
onClick: (event) => {
controlProps?.onClick?.(event);
__onControlClick?.(event, year);
},
onMouseEnter: (event) => {
controlProps?.onMouseEnter?.(event);
__onControlMouseEnter?.(event, year);
},
onMouseDown: (event) => {
controlProps?.onMouseDown?.(event);
__preventFocus && event.preventDefault();
},
tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0,
children: controlProps?.children ?? dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)
}
)
},
cellIndex
);
});
return /* @__PURE__ */ jsx("tr", { ...getStyles("yearsListRow"), children: cells }, rowIndex);
});
return /* @__PURE__ */ jsx(Box, { component: "table", ref, size, ...getStyles("yearsList"), ...others, children: /* @__PURE__ */ jsx("tbody", { children: rows }) });
});
YearsList.classes = classes;
YearsList.displayName = "@mantine/dates/YearsList";
export { YearsList };
//# sourceMappingURL=YearsList.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,5 @@
'use client';
var classes = {"yearsList":"m_9206547b","yearsListCell":"m_c5a19c7d"};
export { classes as default };
//# sourceMappingURL=YearsList.module.css.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"YearsList.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}

View File

@@ -0,0 +1,26 @@
'use client';
import dayjs from 'dayjs';
import { isYearDisabled } from '../is-year-disabled/is-year-disabled.mjs';
function getYearInTabOrder({
years,
minDate,
maxDate,
getYearControlProps
}) {
const enabledYears = years.flat().filter(
(year) => !isYearDisabled({ year, minDate, maxDate }) && !getYearControlProps?.(year)?.disabled
);
const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);
if (selectedYear) {
return selectedYear;
}
const currentYear = enabledYears.find((year) => dayjs().isSame(year, "year"));
if (currentYear) {
return currentYear;
}
return enabledYears[0];
}
export { getYearInTabOrder };
//# sourceMappingURL=get-year-in-tab-order.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-year-in-tab-order.mjs","sources":["../../../../src/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\nimport { PickerControlProps } from '../../PickerControl';\nimport { isYearDisabled } from '../is-year-disabled/is-year-disabled';\n\ninterface GetYearInTabOrderInput {\n years: DateStringValue[][];\n minDate: DateStringValue | Date | undefined;\n maxDate: DateStringValue | Date | undefined;\n getYearControlProps: ((year: DateStringValue) => Partial<PickerControlProps>) | undefined;\n}\n\nexport function getYearInTabOrder({\n years,\n minDate,\n maxDate,\n getYearControlProps,\n}: GetYearInTabOrderInput) {\n const enabledYears = years\n .flat()\n .filter(\n (year) =>\n !isYearDisabled({ year, minDate, maxDate }) && !getYearControlProps?.(year)?.disabled\n );\n\n const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);\n\n if (selectedYear) {\n return selectedYear;\n }\n\n const currentYear = enabledYears.find((year) => dayjs().isSame(year, 'year'));\n\n if (currentYear) {\n return currentYear;\n }\n\n return enabledYears[0];\n}\n"],"names":[],"mappings":";;;;AAYO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAA,CAAkB,CAAA;AAAA,CAAA,CAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAA2B,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACC,CAAC,IAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAC,cAAA,CAAe,CAAA,CAAE,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,mBAAA,CAAA,CAAA,CAAsB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACjF,CAAA;AAEF,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,IAAA,CAAK,CAAC,CAAA,CAAA,CAAA,MAAS,mBAAA,CAAA,CAAA,CAAsB,CAAA,CAAA,CAAA,CAAI,GAAG,QAAQ,CAAA,CAAA;AAEtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,YAAA,CAAA,CAAc,CAAA;AAChB,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,YAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,CAAA,GAAM,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA;AAE5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,WAAA,CAAA,CAAa,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAC,CAAA,CAAA;AACvB,CAAA;;"}

View File

@@ -0,0 +1,20 @@
'use client';
import dayjs from 'dayjs';
function getYearsData(decade) {
const year = dayjs(decade).year();
const rounded = year - year % 10;
let currentYearIndex = 0;
const results = [[], [], [], []];
for (let i = 0; i < 4; i += 1) {
const max = i === 3 ? 1 : 3;
for (let j = 0; j < max; j += 1) {
results[i].push(dayjs(new Date(rounded + currentYearIndex, 0)).format("YYYY-MM-DD"));
currentYearIndex += 1;
}
}
return results;
}
export { getYearsData };
//# sourceMappingURL=get-years-data.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-years-data.mjs","sources":["../../../../src/components/YearsList/get-years-data/get-years-data.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\nexport function getYearsData(decade: DateStringValue) {\n const year = dayjs(decade).year();\n\n const rounded = year - (year % 10);\n\n let currentYearIndex = 0;\n const results: DateStringValue[][] = [[], [], [], []];\n\n for (let i = 0; i < 4; i += 1) {\n const max = i === 3 ? 1 : 3;\n for (let j = 0; j < max; j += 1) {\n results[i].push(dayjs(new Date(rounded + currentYearIndex, 0)).format('YYYY-MM-DD'));\n currentYearIndex += 1;\n }\n }\n\n return results;\n}\n"],"names":[],"mappings":";;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAEhC,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,OAAQ,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA;AAE/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAA,CAAC,CAAA,CAAG,CAAA,CAAC,CAAA,CAAG,CAAA,CAAC,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA;AAEpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAG,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAA,CAAA,CAAA,CAAM,CAAA,KAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAA,CAAG,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,OAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA;AACnF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAoB,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACtB,CAAA;AAAA,CAAA,CACF,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}

View File

@@ -0,0 +1,18 @@
'use client';
import dayjs from 'dayjs';
function isYearDisabled({ year, minDate, maxDate }) {
if (!minDate && !maxDate) {
return false;
}
if (minDate && dayjs(year).isBefore(minDate, "year")) {
return true;
}
if (maxDate && dayjs(year).isAfter(maxDate, "year")) {
return true;
}
return false;
}
export { isYearDisabled };
//# sourceMappingURL=is-year-disabled.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"is-year-disabled.mjs","sources":["../../../../src/components/YearsList/is-year-disabled/is-year-disabled.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\ninterface IsYearDisabledInput {\n year: DateStringValue;\n minDate: DateStringValue | Date | undefined;\n maxDate: DateStringValue | Date | undefined;\n}\n\nexport function isYearDisabled({ year, minDate, maxDate }: IsYearDisabledInput): boolean {\n if (!minDate && !maxDate) {\n return false;\n }\n\n if (minDate && dayjs(year).isBefore(minDate, 'year')) {\n return true;\n }\n\n if (maxDate && dayjs(year).isAfter(maxDate, 'year')) {\n return true;\n }\n\n return false;\n}\n"],"names":[],"mappings":";;;AASO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAiC,CAAA;AACvF,CAAA,CAAA,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,OAAA,CAAA,CAAS,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA;AACpD,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA;AACnD,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}