UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

1 lines 2.04 kB
{"version":3,"file":"get-formatted-date.mjs","names":[],"sources":["../../../src/utils/get-formatted-date/get-formatted-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DatePickerType, DatePickerValue, DateStringValue } from '../../types';\n\ninterface DateFormatterInput {\n type: DatePickerType;\n date: DatePickerValue<DatePickerType>;\n locale: string;\n format: string;\n labelSeparator: string;\n}\n\nexport type DateFormatter = (input: DateFormatterInput) => string;\n\nexport function defaultDateFormatter({\n type,\n date,\n locale,\n format,\n labelSeparator,\n}: DateFormatterInput) {\n const formatDate = (value: DateStringValue | Date) => dayjs(value).locale(locale).format(format);\n\n if (type === 'default') {\n return date === null ? '' : formatDate(date as DateStringValue);\n }\n\n if (type === 'multiple') {\n return (date as DateStringValue[]).map(formatDate).join(', ');\n }\n\n if (type === 'range' && Array.isArray(date)) {\n if (date[0] && date[1]) {\n return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;\n }\n\n if (date[0]) {\n return `${formatDate(date[0])} ${labelSeparator} `;\n }\n\n return '';\n }\n\n return '';\n}\n\ninterface GetFormattedDateInput extends DateFormatterInput {\n formatter?: DateFormatter;\n}\n\nexport function getFormattedDate({ formatter, ...others }: GetFormattedDateInput) {\n return (formatter || defaultDateFormatter)(others);\n}\n"],"mappings":";;;AAaA,SAAgB,qBAAqB,EACnC,MACA,MACA,QACA,QACA,kBACqB;CACrB,MAAM,cAAc,UAAkC,MAAM,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,MAAM;CAE/F,IAAI,SAAS,WACX,OAAO,SAAS,OAAO,KAAK,WAAW,IAAuB;CAGhE,IAAI,SAAS,YACX,OAAQ,KAA2B,IAAI,UAAU,CAAC,CAAC,KAAK,IAAI;CAG9D,IAAI,SAAS,WAAW,MAAM,QAAQ,IAAI,GAAG;EAC3C,IAAI,KAAK,MAAM,KAAK,IAClB,OAAO,GAAG,WAAW,KAAK,EAAE,EAAE,GAAG,eAAe,GAAG,WAAW,KAAK,EAAE;EAGvE,IAAI,KAAK,IACP,OAAO,GAAG,WAAW,KAAK,EAAE,EAAE,GAAG,eAAe;EAGlD,OAAO;CACT;CAEA,OAAO;AACT;AAMA,SAAgB,iBAAiB,EAAE,WAAW,GAAG,UAAiC;CAChF,QAAQ,aAAa,qBAAA,CAAsB,MAAM;AACnD"}