UNPKG

@transkripid/flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork

1 lines 3.99 kB
{"version":3,"file":"Months.mjs","sources":["../../../../src/components/Datepicker/Views/Months.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { twMerge } from 'tailwind-merge';\nimport { mergeDeep } from '../../../helpers/merge-deep';\nimport { useDatePickerContext } from '../DatepickerContext';\nimport { Views, getFormattedDate, isDateEqual, isDateInRange } from '../helpers';\n\nexport interface FlowbiteDatepickerViewsMonthsTheme {\n items: {\n base: string;\n item: {\n base: string;\n selected: string;\n disabled: string;\n };\n };\n}\n\nexport interface DatepickerViewsMonthsProps {\n theme?: FlowbiteDatepickerViewsMonthsTheme;\n}\n\nexport const DatepickerViewsMonth: FC<DatepickerViewsMonthsProps> = ({ theme: customTheme = {} }) => {\n const {\n theme: rootTheme,\n minDate,\n maxDate,\n selectedDate,\n viewDate,\n language,\n setViewDate,\n setView,\n } = useDatePickerContext();\n\n const theme = mergeDeep(rootTheme.views.months, customTheme);\n\n return (\n <div className={theme.items.base}>\n {[...Array(12)].map((_month, index) => {\n const newDate = new Date(viewDate.getTime());\n newDate.setMonth(index);\n const month = getFormattedDate(language, newDate, { month: 'short' });\n\n const isSelected = isDateEqual(selectedDate, newDate);\n const isDisabled = !isDateInRange(newDate, minDate, maxDate);\n\n return (\n <button\n disabled={isDisabled}\n key={index}\n type=\"button\"\n className={twMerge(\n theme.items.item.base,\n isSelected && theme.items.item.selected,\n isDisabled && theme.items.item.disabled,\n )}\n onClick={() => {\n if (isDisabled) return;\n\n setViewDate(newDate);\n setView(Views.Days);\n }}\n >\n {month}\n </button>\n );\n })}\n </div>\n );\n};\n"],"names":["DatepickerViewsMonth","t0","$","_c","theme","t1","t2","undefined","customTheme","rootTheme","minDate","maxDate","selectedDate","viewDate","language","setViewDate","setView","useDatePickerContext","t3","views","months","mergeDeep","jsx","items","base","Array","map","_month","index","newDate","Date","getTime","setMonth","month","getFormattedDate","isSelected","isDateEqual","isDisabled","isDateInRange","twMerge","item","selected","disabled","Views","Days"],"mappings":";;;;;;AAqBO,MAAMA,IAAuDC,CAAAA,MAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA,GAAC;AAAA,IAAAC,OAAAC;AAAAA,EAAAJ,IAAAA;AAA2BK,MAAAA;AAAAJ,EAAAA,SAAAG,KAAlBA,IAAAA,MAAgBE,cAAhBF,GAAgBH,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAhB,QAAAM,IAAAF,GAC5E;AAAA,IAAAF,OAAAK;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,SAAAA;AAAAA,MASIC,EAAqB;AAAEC,MAAAA;AAAA,MAAAhB,EAAAM,CAAAA,MAAAA,KAAAN,SAAAY,KAAAZ,EAAA,CAAA,MAAAS,KAAAT,SAAAQ,KAAAR,EAAAO,CAAAA,MAAAA,EAAAU,MAAAC,UAAAlB,EAAA,CAAA,MAAAU,KAAAV,EAAAc,CAAAA,MAAAA,KAAAd,EAAA,CAAA,MAAAa,KAAAb,UAAAW,GAAA;AAE3B,UAAAT,IAAciB,EAAUZ,EAASU,MAAAC,QAAeZ,CAAW;AAGzDU,IAAAA,IAAA,gBAAAI,EAAA,OAAA,EAAgB,WAAAlB,EAAKmB,MAAAC,MAClB,UAAA,CAAA,GAAIC,MAAQ,EAAA,CAAC,EAAAC,IAAA,CAAAC,GAAAC,MAAA;AACZ,YAAAC,QAAAC,KAAyBjB,EAAQkB,QAAU,CAAA;AAC3CF,MAAAA,EAAOG,SAAUJ,CAAK;AACtBK,YAAAA,IAAcC,EAAiBpB,GAAUe,GAAO;AAAA,QAAAI,OAAW;AAAA,MAAA,CAAS,GAEpEE,IAAmBC,EAAYxB,GAAciB,CAAO,GACpDQ,KAAoBC,EAAcT,GAASnB,GAASC,CAAO;AAGzD,aAAA,gBAAAW,EAAA,UACYe,EAAAA,aAEL,MAAA,UACM,WAAAE,EACTnC,EAAKmB,MAAAiB,KAAAhB,MACLW,KAAc/B,EAAKmB,MAAAiB,KAAAC,UACnBJ,KAAcjC,EAAKmB,MAAAiB,KAAAE,QACrB,GACS,SAAA,MAAA;AAAA,QACHL,MAEJtB,EAAYc,CAAO,GACnBb,EAAO2B,EAAAC,IAAW;AAAA,MAAC,GAGpBX,eAdIL,CAeP;AAAA,IAEH,CAAA,EACH,CAAA,GAAM1B,OAAAM,GAAAN,OAAAY,GAAAZ,OAAAS,GAAAT,OAAAQ,GAAAD,EAAAA,CAAAA,IAAAA,EAAAU,MAAAC,QAAAlB,OAAAU,GAAAV,OAAAc,GAAAd,OAAAa,GAAAb,QAAAW,GAAAX,QAAAgB;AAAAA,EAAAA;AAAAA,IAAAA,IAAAhB,EAAA,EAAA;AA9BNgB,SAAAA;AA8BM;"}