{"version":3,"file":"index.cjs","sources":["../../../../../../../../packages/vue-components/vc-picker/src/panels/QuarterPanel/index.tsx"],"sourcesContent":["import type { PanelSharedProps } from '../../interface';\nimport useMergeProps from '../../hooks/useMergeProps';\nimport { createKeydownHandler } from '../../utils/uiUtil';\nimport QuarterBody from './QuarterBody';\nimport QuarterHeader from './QuarterHeader';\n\nexport type QuarterPanelProps<DateType> = {} & PanelSharedProps<DateType>;\n\nfunction QuarterPanel<DateType>(_props: QuarterPanelProps<DateType>) {\n  const props = useMergeProps(_props);\n  const {\n    prefixCls,\n    operationRef,\n    onViewDateChange,\n    generateConfig,\n    value,\n    viewDate,\n    onPanelChange,\n    onSelect,\n  } = props;\n\n  const panelPrefixCls = `${prefixCls}-quarter-panel`;\n\n  // ======================= Keyboard =======================\n  operationRef.value = {\n    onKeydown: (event: KeyboardEvent) =>\n      createKeydownHandler(event, {\n        onLeftRight: (diff) => {\n          onSelect(generateConfig.addMonth(value || viewDate, diff * 3), 'key');\n        },\n        onCtrlLeftRight: (diff) => {\n          onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n        },\n        onUpDown: (diff) => {\n          onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n        },\n      }),\n  };\n\n  // ==================== View Operation ====================\n  const onYearChange = (diff: number) => {\n    const newDate = generateConfig.addYear(viewDate, diff);\n    onViewDateChange(newDate);\n    onPanelChange(null, newDate);\n  };\n\n  return (\n    <div class={panelPrefixCls}>\n      <QuarterHeader\n        {...props}\n        prefixCls={prefixCls}\n        onPrevYear={() => {\n          onYearChange(-1);\n        }}\n        onNextYear={() => {\n          onYearChange(1);\n        }}\n        onYearClick={() => {\n          onPanelChange('year', viewDate);\n        }}\n      />\n      <QuarterBody<DateType>\n        {...props}\n        prefixCls={prefixCls}\n        onSelect={(date) => {\n          onSelect(date, 'mouse');\n        }}\n      />\n    </div>\n  );\n}\n\nQuarterPanel.displayName = 'QuarterPanel';\nQuarterPanel.inheritAttrs = false;\n\nexport default QuarterPanel;\n"],"names":["QuarterPanel","_props","props","useMergeProps","prefixCls","operationRef","onViewDateChange","generateConfig","value","viewDate","onPanelChange","onSelect","panelPrefixCls","onKeydown","event","createKeydownHandler","onLeftRight","diff","addMonth","onCtrlLeftRight","addYear","onUpDown","onYearChange","newDate","_createVNode","QuarterHeader","onPrevYear","onNextYear","onYearClick","QuarterBody","date","displayName","inheritAttrs"],"mappings":";;;;;;;;;;AAQA,SAASA,aAAuBC,MAAqC,EAAA;AACnE,EAAMC,MAAAA,KAAAA,GAAQC,sBAAcF,MAAM,CAAA,CAAA;AAClC,EAAM,MAAA;AAAA,IACJG,SAAAA;AAAAA,IACAC,YAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC,QAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,QAAAA;AAAAA,GACET,GAAAA,KAAAA,CAAAA;AAEJ,EAAMU,MAAAA,cAAAA,GAAkB,GAAER,SAAU,CAAA,cAAA,CAAA,CAAA;AAGpCC,EAAAA,YAAAA,CAAaG,KAAQ,GAAA;AAAA,IACnBK,SAAAA,EAAYC,CACVC,KAAAA,KAAAA,2BAAAA,CAAqBD,KAAO,EAAA;AAAA,MAC1BE,aAAcC,CAAS,IAAA,KAAA;AACrBN,QAAAA,QAAAA,CAASJ,eAAeW,QAASV,CAAAA,KAAAA,IAASC,UAAUQ,IAAO,GAAA,CAAC,GAAG,KAAK,CAAA,CAAA;AAAA,OACtE;AAAA,MACAE,iBAAkBF,CAAS,IAAA,KAAA;AACzBN,QAAAA,QAAAA,CAASJ,eAAea,OAAQZ,CAAAA,KAAAA,IAASC,QAAUQ,EAAAA,IAAI,GAAG,KAAK,CAAA,CAAA;AAAA,OACjE;AAAA,MACAI,UAAWJ,CAAS,IAAA,KAAA;AAClBN,QAAAA,QAAAA,CAASJ,eAAea,OAAQZ,CAAAA,KAAAA,IAASC,QAAUQ,EAAAA,IAAI,GAAG,KAAK,CAAA,CAAA;AAAA,OACjE;AAAA,KACD,CAAA;AAAA,GACL,CAAA;AAGA,EAAA,MAAMK,eAAgBL,CAAiB,IAAA,KAAA;AACrC,IAAA,MAAMM,OAAUhB,GAAAA,cAAAA,CAAea,OAAQX,CAAAA,QAAAA,EAAUQ,IAAI,CAAA,CAAA;AACrDX,IAAAA,gBAAAA,CAAiBiB,OAAO,CAAA,CAAA;AACxBb,IAAAA,aAAAA,CAAc,MAAMa,OAAO,CAAA,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,OAAAC,gBAAA,KAAA,EAAA;AAAA,IAAA,OACcZ,EAAAA,cAAAA;AAAAA,GAAc,EAAAY,CAAAA,eAAAA,CAAAC,qBAAA,EAAA;AAAA,IAAA,GAElBvB,KAAAA;AAAAA,IAAK,WACEE,EAAAA,SAAAA;AAAAA,IAAS,cACRsB,MAAM;AAChBJ,MAAAA,YAAAA,CAAa,CAAE,CAAA,CAAA,CAAA;AAAA,KACjB;AAAA,IAAC,cACWK,MAAM;AAChBL,MAAAA,YAAAA,CAAa,CAAC,CAAA,CAAA;AAAA,KAChB;AAAA,IAAC,eACYM,MAAM;AACjBlB,MAAAA,aAAAA,CAAc,QAAQD,QAAQ,CAAA,CAAA;AAAA,KAChC;AAAA,GAACe,EAAAA,IAAAA,CAAAA,EAAAA,eAAAA,CAAAK,mBAAA,EAAA;AAAA,IAAA,GAGG3B,KAAAA;AAAAA,IAAK,WACEE,EAAAA,SAAAA;AAAAA,IAAS,YACT0B,CAAS,IAAA,KAAA;AAClBnB,MAAAA,QAAAA,CAASmB,MAAM,OAAO,CAAA,CAAA;AAAA,KACxB;AAAA,GAAC,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAIT,CAAA;AAEA9B,YAAAA,CAAa+B,WAAc,GAAA,cAAA,CAAA;AAC3B/B,YAAAA,CAAagC,YAAe,GAAA,KAAA;;;;"}