{"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"}