{"version":3,"file":"YearHeader.mjs","sources":["../../../../../../../../packages/vue-components/vc-picker/src/panels/YearPanel/YearHeader.tsx"],"sourcesContent":["import type { GenerateConfig } from '../../generate';\nimport useMergeProps from '../../hooks/useMergeProps';\nimport { useInjectPanel } from '../../PanelContext';\nimport Header from '../Header';\nimport { YEAR_DECADE_COUNT } from './constant';\n\nexport interface YearHeaderProps<DateType> {\n  prefixCls: string;\n  viewDate: DateType;\n  value?: DateType | null;\n  generateConfig: GenerateConfig<DateType>;\n\n  onPrevDecade: () => void;\n  onNextDecade: () => void;\n  onDecadeClick: () => void;\n}\n\nfunction YearHeader<DateType>(_props: YearHeaderProps<DateType>) {\n  const props = useMergeProps(_props);\n  const { prefixCls, generateConfig, viewDate, onPrevDecade, onNextDecade, onDecadeClick } = props;\n  const { hideHeader } = useInjectPanel();\n  if (hideHeader.value)\n    return null;\n\n  const headerPrefixCls = `${prefixCls}-header`;\n\n  const yearNumber = generateConfig.getYear(viewDate);\n  const startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n  const endYear = startYear + YEAR_DECADE_COUNT - 1;\n\n  return (\n    <Header\n      {...props}\n      prefixCls={headerPrefixCls}\n      onSuperPrev={onPrevDecade}\n      onSuperNext={onNextDecade}\n    >\n      <button type=\"button\" onClick={onDecadeClick} class={`${prefixCls}-decade-btn`}>\n        {startYear}\n        -\n        {endYear}\n      </button>\n    </Header>\n  );\n}\n\nYearHeader.displayName = 'YearHeader';\nYearHeader.inheritAttrs = false;\n\nexport default YearHeader;\n"],"names":["YearHeader","_props","props","useMergeProps","prefixCls","generateConfig","viewDate","onPrevDecade","onNextDecade","onDecadeClick","hideHeader","useInjectPanel","value","headerPrefixCls","yearNumber","getYear","startYear","Math","floor","YEAR_DECADE_COUNT","endYear","_createVNode","Header","default","_createTextVNode","displayName","inheritAttrs"],"mappings":";;;;;;AAiBA,SAASA,WAAqBC,MAAmC,EAAA;AAC/D,EAAMC,MAAAA,KAAAA,GAAQC,cAAcF,MAAM,CAAA,CAAA;AAClC,EAAM,MAAA;AAAA,IAAEG,SAAAA;AAAAA,IAAWC,cAAAA;AAAAA,IAAgBC,QAAAA;AAAAA,IAAUC,YAAAA;AAAAA,IAAcC,YAAAA;AAAAA,IAAcC,aAAAA;AAAAA,GAAkBP,GAAAA,KAAAA,CAAAA;AAC3F,EAAM,MAAA;AAAA,IAAEQ,UAAAA;AAAAA,MAAeC,cAAe,EAAA,CAAA;AACtC,EAAA,IAAID,UAAWE,CAAAA,KAAAA;AACb,IAAO,OAAA,IAAA,CAAA;AAET,EAAMC,MAAAA,eAAAA,GAAmB,GAAET,SAAU,CAAA,OAAA,CAAA,CAAA;AAErC,EAAMU,MAAAA,UAAAA,GAAaT,cAAeU,CAAAA,OAAAA,CAAQT,QAAQ,CAAA,CAAA;AAClD,EAAA,MAAMU,SAAYC,GAAAA,IAAAA,CAAKC,KAAMJ,CAAAA,UAAAA,GAAaK,iBAAiB,CAAIA,GAAAA,iBAAAA,CAAAA;AAC/D,EAAMC,MAAAA,OAAAA,GAAUJ,YAAYG,iBAAoB,GAAA,CAAA,CAAA;AAEhD,EAAA,OAAAE,YAAAC,MAAA,EAAA;AAAA,IAAA,GAEQpB,KAAAA;AAAAA,IAAK,WACEW,EAAAA,eAAAA;AAAAA,IAAe,aACbN,EAAAA,YAAAA;AAAAA,IAAY,aACZC,EAAAA,YAAAA;AAAAA,GAAY,EAAA;AAAA,IAAAe,OAAAA,EAAAA,MAAA,CAAAF,WAAAA,CAAA,QAAA,EAAA;AAAA,MAAA,MAAA,EAAA,QAAA;AAAA,MAAA,SAEMZ,EAAAA,aAAAA;AAAAA,MAAa,OAAA,EAAU,GAAEL,SAAU,CAAA,WAAA,CAAA;AAAA,KAAY,EAAA,CAC3EY,SAASQ,EAAAA,eAAAA,CAAA,GAAA,CAETJ,EAAAA,OAAO,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAIhB,CAAA;AAEApB,UAAAA,CAAWyB,WAAc,GAAA,YAAA,CAAA;AACzBzB,UAAAA,CAAW0B,YAAe,GAAA,KAAA;;;;"}