UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

1 lines 3.57 kB
{"version":3,"file":"TimePresets.cjs","names":["useTimePickerContext","TimePresetControl","isSameTime","ScrollArea","SimpleGrid","TimePresetGroup"],"sources":["../../../../src/components/TimePicker/TimePresets/TimePresets.tsx"],"sourcesContent":["import { ScrollArea, SimpleGrid } from '@mantine/core';\nimport { useTimePickerContext } from '../TimePicker.context';\nimport {\n TimePickerAmPmLabels,\n TimePickerFormat,\n TimePickerPresetGroup,\n TimePickerPresets,\n} from '../TimePicker.types';\nimport { isSameTime } from '../utils/is-same-time/is-same-time';\nimport { TimePresetControl } from './TimePresetControl';\nimport { TimePresetGroup } from './TimePresetGroup';\n\ninterface TimePresetsProps {\n presets: TimePickerPresets;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n value: string;\n withSeconds: boolean;\n onChange: (value: string) => void;\n}\n\nexport function TimePresets({\n presets,\n format,\n amPmLabels,\n withSeconds,\n value,\n onChange,\n}: TimePresetsProps) {\n const ctx = useTimePickerContext();\n\n if (presets.length === 0) {\n return null;\n }\n\n if (typeof presets[0] === 'string') {\n const items = (presets as string[]).map((item) => (\n <TimePresetControl\n key={item}\n value={item}\n format={format}\n amPmLabels={amPmLabels}\n withSeconds={withSeconds}\n active={isSameTime({ time: item, compare: value, withSeconds })}\n onChange={onChange}\n />\n ));\n\n return (\n <ScrollArea.Autosize\n mah={ctx.maxDropdownContentHeight}\n type=\"never\"\n {...ctx.getStyles('scrollarea')}\n {...ctx.scrollAreaProps}\n >\n <div {...ctx.getStyles('presetsRoot')}>\n <SimpleGrid cols={withSeconds ? 2 : 3} spacing={4}>\n {items}\n </SimpleGrid>\n </div>\n </ScrollArea.Autosize>\n );\n }\n\n const groups = (presets as TimePickerPresetGroup[]).map((group, index) => (\n <TimePresetGroup\n key={index}\n data={group}\n value={value}\n format={format}\n amPmLabels={amPmLabels}\n withSeconds={withSeconds}\n onChange={onChange}\n />\n ));\n\n return (\n <ScrollArea.Autosize\n mah={ctx.maxDropdownContentHeight}\n type=\"never\"\n {...ctx.getStyles('scrollarea')}\n {...ctx.scrollAreaProps}\n >\n <div {...ctx.getStyles('presetsRoot')}>{groups}</div>\n </ScrollArea.Autosize>\n );\n}\n\nTimePresets.displayName = '@mantine/dates/TimePresets';\n"],"mappings":";;;;;;;;AAqBA,SAAgB,YAAY,EAC1B,SACA,QACA,YACA,aACA,OACA,YACmB;CACnB,MAAM,MAAMA,2BAAAA,qBAAqB;CAEjC,IAAI,QAAQ,WAAW,GACrB,OAAO;CAGT,IAAI,OAAO,QAAQ,OAAO,UAAU;EAClC,MAAM,QAAS,QAAqB,KAAK,SACvC,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GAEE,OAAO;GACC;GACI;GACC;GACb,QAAQC,qBAAAA,WAAW;IAAE,MAAM;IAAM,SAAS;IAAO;GAAY,CAAC;GACpD;EACX,GAPM,IAON,CACF;EAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,WAAW,UAAZ;GACE,KAAK,IAAI;GACT,MAAK;GACL,GAAI,IAAI,UAAU,YAAY;GAC9B,GAAI,IAAI;aAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,GAAI,IAAI,UAAU,aAAa;cAClC,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,YAAD;KAAY,MAAM,cAAc,IAAI;KAAG,SAAS;eAC7C;IACS,CAAA;GACT,CAAA;EACc,CAAA;CAEzB;CAEA,MAAM,SAAU,QAAoC,KAAK,OAAO,UAC9D,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD;EAEE,MAAM;EACC;EACC;EACI;EACC;EACH;CACX,GAPM,KAON,CACF;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,cAAAA,WAAW,UAAZ;EACE,KAAK,IAAI;EACT,MAAK;EACL,GAAI,IAAI,UAAU,YAAY;EAC9B,GAAI,IAAI;YAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,GAAI,IAAI,UAAU,aAAa;aAAI;EAAY,CAAA;CACjC,CAAA;AAEzB;AAEA,YAAY,cAAc"}