@transkripid/flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork
1 lines • 3.88 kB
Source Map (JSON)
{"version":3,"file":"Decades.mjs","sources":["../../../../src/components/Datepicker/Views/Decades.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { twMerge } from 'tailwind-merge';\nimport { mergeDeep } from '../../../helpers/merge-deep';\nimport { useDatePickerContext } from '../DatepickerContext';\nimport { Views, addYears, isDateInDecade, isDateInRange, startOfYearPeriod } from '../helpers';\n\nexport interface FlowbiteDatepickerViewsDecadesTheme {\n items: {\n base: string;\n item: {\n base: string;\n selected: string;\n disabled: string;\n };\n };\n}\n\nexport interface DatepickerViewsDecadesProps {\n theme?: FlowbiteDatepickerViewsDecadesTheme;\n}\n\nexport const DatepickerViewsDecades: FC<DatepickerViewsDecadesProps> = ({ theme: customTheme = {} }) => {\n const { theme: rootTheme, selectedDate, viewDate, setViewDate, setView } = useDatePickerContext();\n\n const theme = mergeDeep(rootTheme.views.decades, customTheme);\n\n return (\n <div className={theme.items.base}>\n {[...Array(12)].map((_year, index) => {\n const first = startOfYearPeriod(viewDate, 100);\n const year = first - 10 + index * 10;\n const firstDate = new Date(year, 0, 1);\n const lastDate = addYears(firstDate, 9);\n\n const isSelected = isDateInDecade(viewDate, year);\n const isDisabled = !isDateInRange(viewDate, firstDate, lastDate);\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(addYears(viewDate, year - selectedDate.getFullYear()));\n setView(Views.Years);\n }}\n >\n {year}\n </button>\n );\n })}\n </div>\n );\n};\n"],"names":["DatepickerViewsDecades","t0","$","_c","theme","t1","t2","undefined","customTheme","rootTheme","selectedDate","viewDate","setViewDate","setView","useDatePickerContext","t3","views","decades","mergeDeep","jsx","items","base","Array","map","_year","index","year","startOfYearPeriod","firstDate","Date","lastDate","addYears","isSelected","isDateInDecade","isDisabled","isDateInRange","twMerge","item","selected","disabled","getFullYear","Views","Years"],"mappings":";;;;;;AAqBO,MAAMA,IAA0DC,CAAAA,MAAA;AAAAC,QAAAA,IAAAC,EAAA,CAAA,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,GAC/E;AAAA,IAAAF,OAAAK;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,SAAAA;AAAAA,MAA2EC,EAAqB;AAAEC,MAAAA;AAAAb,MAAAA,EAAAM,CAAAA,MAAAA,KAAAN,EAAAO,CAAAA,MAAAA,EAAAO,MAAAC,WAAAf,SAAAQ,KAAAR,EAAA,CAAA,MAAAW,KAAAX,EAAA,CAAA,MAAAU,KAAAV,EAAA,CAAA,MAAAS,GAAA;AAElG,UAAAP,IAAcc,EAAUT,EAASO,MAAAC,SAAgBT,CAAW;AAG1DO,IAAAA,IAAA,gBAAAI,EAAA,OAAA,EAAgB,WAAAf,EAAKgB,MAAAC,MAClB,UAAA,CAAA,GAAIC,MAAQ,EAAA,CAAC,EAAAC,IAAA,CAAAC,GAAAC,MAAA;AAEZC,YAAAA,IADcC,EAAkBhB,MAAa,IACtB,KAAGc,IAAU,IACpCG,IAAA,IAAAC,KAA2BH,GAAI,GAAA,CAAA,GAC/BI,IAAiBC,EAASH,IAAY,GAEtCI,IAAmBC,EAAetB,GAAUe,CAAI,GAChDQ,KAAoBC,EAAcxB,GAAUiB,GAAWE,CAAQ;AAG7D,aAAA,gBAAAX,EAAA,UACYe,EAAAA,aAEL,MAAA,UACM,WAAAE,EACThC,EAAKgB,MAAAiB,KAAAhB,MACLW,KAAc5B,EAAKgB,MAAAiB,KAAAC,UACnBJ,KAAc9B,EAAKgB,MAAAiB,KAAAE,QACrB,GACS,SAAA,MAAA;AAAA,QACHL,MAEJtB,EAAYmB,EAASpB,GAAUe,IAAOhB,EAAY8B,YAAc,CAAA,CAAC,GACjE3B,EAAO4B,EAAAC,KAAY;AAAA,MAAC,GAGrBhB,eAdID,CAeP;AAAA,IAEH,CAAA,EACH,CAAA,GAAMvB,OAAAM,GAAAC,EAAAA,CAAAA,IAAAA,EAAAO,MAAAC,SAAAf,OAAAQ,GAAAR,OAAAW,GAAAX,OAAAU,GAAAV,OAAAS,GAAAT,OAAAa;AAAAA,EAAAA;AAAAA,IAAAA,IAAAb,EAAA,CAAA;AA/BNa,SAAAA;AA+BM;"}