UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

1 lines 1.72 kB
{"version":3,"file":"get-month-in-tab-order.cjs","names":["isMonthDisabled"],"sources":["../../../../src/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\nimport { PickerControlProps } from '../../PickerControl';\nimport { isMonthDisabled } from '../is-month-disabled/is-month-disabled';\n\ninterface GetMonthInTabOrderInput {\n months: DateStringValue[][];\n minDate: DateStringValue | undefined;\n maxDate: DateStringValue | undefined;\n getMonthControlProps: ((month: DateStringValue) => Partial<PickerControlProps>) | undefined;\n}\n\nexport function getMonthInTabOrder({\n months,\n minDate,\n maxDate,\n getMonthControlProps,\n}: GetMonthInTabOrderInput) {\n const enabledMonths = months\n .flat()\n .filter(\n (month) =>\n !isMonthDisabled({ month, minDate, maxDate }) && !getMonthControlProps?.(month)?.disabled\n );\n\n const selectedMonth = enabledMonths.find((month) => getMonthControlProps?.(month)?.selected);\n\n if (selectedMonth) {\n return selectedMonth;\n }\n\n const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, 'month'));\n\n if (currentMonth) {\n return currentMonth;\n }\n\n return enabledMonths[0];\n}\n"],"mappings":";;;;;;AAYA,SAAgB,mBAAmB,EACjC,QACA,SACA,SACA,wBAC0B;CAC1B,MAAM,gBAAgB,OACnB,KAAK,CAAC,CACN,QACE,UACC,CAACA,0BAAAA,gBAAgB;EAAE;EAAO;EAAS;CAAQ,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,EAAE,QACrF;CAEF,MAAM,gBAAgB,cAAc,MAAM,UAAU,uBAAuB,KAAK,CAAC,EAAE,QAAQ;CAE3F,IAAI,eACF,OAAO;CAGT,MAAM,eAAe,cAAc,MAAM,WAAA,GAAA,MAAA,QAAA,CAAgB,CAAC,CAAC,OAAO,OAAO,OAAO,CAAC;CAEjF,IAAI,cACF,OAAO;CAGT,OAAO,cAAc;AACvB"}