@mantine/dates
Version:
Calendars, date and time pickers based on Mantine components
1 lines • 1.68 kB
Source Map (JSON)
{"version":3,"file":"get-year-in-tab-order.cjs","names":["isYearDisabled"],"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"],"mappings":";;;;;;AAYA,SAAgB,kBAAkB,EAChC,OACA,SACA,SACA,uBACyB;CACzB,MAAM,eAAe,MAClB,KAAK,CAAC,CACN,QACE,SACC,CAACA,yBAAAA,eAAe;EAAE;EAAM;EAAS;CAAQ,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,EAAE,QACjF;CAEF,MAAM,eAAe,aAAa,MAAM,SAAS,sBAAsB,IAAI,CAAC,EAAE,QAAQ;CAEtF,IAAI,cACF,OAAO;CAGT,MAAM,cAAc,aAAa,MAAM,UAAA,GAAA,MAAA,QAAA,CAAe,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC;CAE5E,IAAI,aACF,OAAO;CAGT,OAAO,aAAa;AACtB"}