{"version":3,"file":"QuarterBody.mjs","sources":["../../../../../../../../packages/vue-components/vc-picker/src/panels/QuarterPanel/QuarterBody.tsx"],"sourcesContent":["import type { GenerateConfig } from '../../generate';\nimport type { Locale } from '../../interface';\nimport useCellClassName from '../../hooks/useCellClassName';\nimport useMergeProps from '../../hooks/useMergeProps';\nimport { useInjectRange } from '../../RangeContext';\nimport { formatValue, isSameQuarter } from '../../utils/dateUtil';\nimport PanelBody from '../PanelBody';\n\nexport const QUARTER_COL_COUNT = 4;\nconst QUARTER_ROW_COUNT = 1;\n\nexport interface QuarterBodyProps<DateType> {\n  prefixCls: string;\n  locale: Locale;\n  generateConfig: GenerateConfig<DateType>;\n  value?: DateType | null;\n  viewDate: DateType;\n  disabledDate?: (date: DateType) => boolean;\n  onSelect: (value: DateType) => void;\n}\n\nfunction QuarterBody<DateType>(_props: QuarterBodyProps<DateType>) {\n  const props = useMergeProps(_props);\n  const { prefixCls, locale, value, viewDate, generateConfig } = props;\n\n  const { rangedValue, hoverRangedValue } = useInjectRange();\n\n  const cellPrefixCls = `${prefixCls}-cell`;\n\n  const getCellClassName = useCellClassName({\n    cellPrefixCls,\n    value,\n    generateConfig,\n    rangedValue: rangedValue.value,\n    hoverRangedValue: hoverRangedValue.value,\n    isSameCell: (current, target) => isSameQuarter(generateConfig, current, target),\n    isInView: () => true,\n    offsetCell: (date, offset) => generateConfig.addMonth(date, offset * 3),\n  });\n\n  const baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);\n\n  return (\n    <PanelBody\n      {...props}\n      rowNum={QUARTER_ROW_COUNT}\n      colNum={QUARTER_COL_COUNT}\n      baseDate={baseQuarter}\n      getCellText={date =>\n        formatValue(date, {\n          locale,\n          format: locale.quarterFormat || '[Q]Q',\n          generateConfig,\n        })}\n      getCellClassName={getCellClassName}\n      getCellDate={(date, offset) => generateConfig.addMonth(date, offset * 3)}\n      titleCell={date =>\n        formatValue(date, {\n          locale,\n          format: 'YYYY-[Q]Q',\n          generateConfig,\n        })}\n    />\n  );\n}\n\nQuarterBody.displayName = 'QuarterBody';\nQuarterBody.inheritAttrs = false;\nexport default QuarterBody;\n"],"names":["QUARTER_COL_COUNT","QUARTER_ROW_COUNT","QuarterBody","_props","props","useMergeProps","prefixCls","locale","value","viewDate","generateConfig","rangedValue","hoverRangedValue","useInjectRange","cellPrefixCls","getCellClassName","useCellClassName","isSameCell","current","target","isSameQuarter","isInView","offsetCell","date","offset","addMonth","baseQuarter","setDate","setMonth","_createVNode","PanelBody","formatValue","format","quarterFormat","getCellDate","displayName","inheritAttrs"],"mappings":";;;;;;;AAQO,MAAMA,iBAAoB,GAAA,EAAA;AACjC,MAAMC,iBAAoB,GAAA,CAAA,CAAA;AAY1B,SAASC,YAAsBC,MAAoC,EAAA;AACjE,EAAMC,MAAAA,KAAAA,GAAQC,cAAcF,MAAM,CAAA,CAAA;AAClC,EAAM,MAAA;AAAA,IAAEG,SAAAA;AAAAA,IAAWC,MAAAA;AAAAA,IAAQC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAUC,cAAAA;AAAAA,GAAmBN,GAAAA,KAAAA,CAAAA;AAE/D,EAAM,MAAA;AAAA,IAAEO,WAAAA;AAAAA,IAAaC,gBAAAA;AAAAA,MAAqBC,cAAe,EAAA,CAAA;AAEzD,EAAMC,MAAAA,aAAAA,GAAiB,GAAER,SAAU,CAAA,KAAA,CAAA,CAAA;AAEnC,EAAA,MAAMS,mBAAmBC,gBAAiB,CAAA;AAAA,IACxCF,aAAAA;AAAAA,IACAN,KAAAA;AAAAA,IACAE,cAAAA;AAAAA,IACAC,aAAaA,WAAYH,CAAAA,KAAAA;AAAAA,IACzBI,kBAAkBA,gBAAiBJ,CAAAA,KAAAA;AAAAA,IACnCS,YAAYA,CAACC,OAAAA,EAASC,WAAWC,aAAcV,CAAAA,cAAAA,EAAgBQ,SAASC,MAAM,CAAA;AAAA,IAC9EE,UAAUA,MAAM,IAAA;AAAA,IAChBC,UAAAA,EAAYA,CAACC,IAAMC,EAAAA,MAAAA,KAAWd,eAAee,QAASF,CAAAA,IAAAA,EAAMC,SAAS,CAAC,CAAA;AAAA,GACvE,CAAA,CAAA;AAED,EAAME,MAAAA,WAAAA,GAAchB,eAAeiB,OAAQjB,CAAAA,cAAAA,CAAekB,SAASnB,QAAU,EAAA,CAAC,GAAG,CAAC,CAAA,CAAA;AAElF,EAAA,OAAAoB,YAAAC,SAAA,EAAA;AAAA,IAAA,GAEQ1B,KAAAA;AAAAA,IAAK,QACDH,EAAAA,iBAAAA;AAAAA,IAAiB,QACjBD,EAAAA,iBAAAA;AAAAA,IAAiB,UACf0B,EAAAA,WAAAA;AAAAA,IAAW,aAAA,EACRH,CACXQ,IAAAA,KAAAA,WAAAA,CAAYR,IAAM,EAAA;AAAA,MAChBhB,MAAAA;AAAAA,MACAyB,MAAAA,EAAQzB,OAAO0B,aAAiB,IAAA,MAAA;AAAA,MAChCvB,cAAAA;AAAAA,KACD,CAAA;AAAA,IAAC,kBACcK,EAAAA,gBAAAA;AAAAA,IAAgB,aAAA,EACrBmB,CAACX,IAAMC,EAAAA,MAAAA,KAAWd,eAAee,QAASF,CAAAA,IAAAA,EAAMC,SAAS,CAAC,CAAA;AAAA,IAAC,WAAA,EAC7DD,CACTQ,IAAAA,KAAAA,WAAAA,CAAYR,IAAM,EAAA;AAAA,MAChBhB,MAAAA;AAAAA,MACAyB,MAAQ,EAAA,WAAA;AAAA,MACRtB,cAAAA;AAAAA,KACD,CAAA;AAAA,KAAC,IAAA,CAAA,CAAA;AAGV,CAAA;AAEAR,WAAAA,CAAYiC,WAAc,GAAA,aAAA,CAAA;AAC1BjC,WAAAA,CAAYkC,YAAe,GAAA,KAAA;;;;"}