{"version":3,"file":"index.mjs","sources":["../../../../../../../../packages/vue-components/vc-picker/src/panels/DecadePanel/index.tsx"],"sourcesContent":["import type { PanelSharedProps } from '../../interface';\nimport useMergeProps from '../../hooks/useMergeProps';\nimport { createKeydownHandler } from '../../utils/uiUtil';\nimport { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF } from './constant';\nimport DecadeBody, { DECADE_COL_COUNT } from './DecadeBody';\nimport DecadeHeader from './DecadeHeader';\n\nexport type DecadePanelProps<DateType> = PanelSharedProps<DateType>;\n\nfunction DecadePanel<DateType>(_props: DecadePanelProps<DateType>) {\n  const props = useMergeProps(_props);\n  const {\n    prefixCls,\n    onViewDateChange,\n    generateConfig,\n    viewDate,\n    operationRef,\n    onSelect,\n    onPanelChange,\n  } = props;\n\n  const panelPrefixCls = `${prefixCls}-decade-panel`;\n\n  // ======================= Keyboard =======================\n  operationRef.value = {\n    onKeydown: (event: KeyboardEvent) =>\n      createKeydownHandler(event, {\n        onLeftRight: (diff) => {\n          onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF), 'key');\n        },\n        onCtrlLeftRight: (diff) => {\n          onSelect(generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT), 'key');\n        },\n        onUpDown: (diff) => {\n          onSelect(\n            generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF * DECADE_COL_COUNT),\n            'key',\n          );\n        },\n        onEnter: () => {\n          onPanelChange('year', viewDate);\n        },\n      }),\n  };\n\n  // ==================== View Operation ====================\n  const onDecadesChange = (diff: number) => {\n    const newDate = generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT);\n    onViewDateChange(newDate);\n    onPanelChange(null, newDate);\n  };\n\n  const onInternalSelect = (date: DateType) => {\n    onSelect(date, 'mouse');\n    onPanelChange('year', date);\n  };\n\n  return (\n    <div class={panelPrefixCls}>\n      <DecadeHeader\n        {...props}\n        prefixCls={prefixCls}\n        onPrevDecades={() => {\n          onDecadesChange(-1);\n        }}\n        onNextDecades={() => {\n          onDecadesChange(1);\n        }}\n      />\n      <DecadeBody {...props} prefixCls={prefixCls} onSelect={onInternalSelect} />\n    </div>\n  );\n}\n\nDecadePanel.displayName = 'DecadePanel';\nDecadePanel.inheritAttrs = false;\n\nexport default DecadePanel;\n"],"names":["DecadePanel","_props","props","useMergeProps","prefixCls","onViewDateChange","generateConfig","viewDate","operationRef","onSelect","onPanelChange","panelPrefixCls","value","onKeydown","event","createKeydownHandler","onLeftRight","diff","addYear","DECADE_UNIT_DIFF","onCtrlLeftRight","DECADE_DISTANCE_COUNT","onUpDown","DECADE_COL_COUNT","onEnter","onDecadesChange","newDate","onInternalSelect","date","_createVNode","DecadeHeader","onPrevDecades","onNextDecades","DecadeBody","displayName","inheritAttrs"],"mappings":";;;;;;;AASA,SAASA,YAAsBC,MAAoC,EAAA;AACjE,EAAMC,MAAAA,KAAAA,GAAQC,cAAcF,MAAM,CAAA,CAAA;AAClC,EAAM,MAAA;AAAA,IACJG,SAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,QAAAA;AAAAA,IACAC,YAAAA;AAAAA,IACAC,QAAAA;AAAAA,IACAC,aAAAA;AAAAA,GACER,GAAAA,KAAAA,CAAAA;AAEJ,EAAMS,MAAAA,cAAAA,GAAkB,GAAEP,SAAU,CAAA,aAAA,CAAA,CAAA;AAGpCI,EAAAA,YAAAA,CAAaI,KAAQ,GAAA;AAAA,IACnBC,SAAAA,EAAYC,CACVC,KAAAA,KAAAA,oBAAAA,CAAqBD,KAAO,EAAA;AAAA,MAC1BE,aAAcC,CAAS,IAAA,KAAA;AACrBR,QAAAA,QAAAA,CAASH,eAAeY,OAAQX,CAAAA,QAAAA,EAAUU,IAAOE,GAAAA,gBAAgB,GAAG,KAAK,CAAA,CAAA;AAAA,OAC3E;AAAA,MACAC,iBAAkBH,CAAS,IAAA,KAAA;AACzBR,QAAAA,QAAAA,CAASH,eAAeY,OAAQX,CAAAA,QAAAA,EAAUU,IAAOI,GAAAA,qBAAqB,GAAG,KAAK,CAAA,CAAA;AAAA,OAChF;AAAA,MACAC,UAAWL,CAAS,IAAA,KAAA;AAClBR,QAAAA,QAAAA,CACEH,eAAeY,OAAQX,CAAAA,QAAAA,EAAUU,OAAOE,gBAAmBI,GAAAA,gBAAgB,GAC3E,KACF,CAAA,CAAA;AAAA,OACF;AAAA,MACAC,SAASA,MAAM;AACbd,QAAAA,aAAAA,CAAc,QAAQH,QAAQ,CAAA,CAAA;AAAA,OAChC;AAAA,KACD,CAAA;AAAA,GACL,CAAA;AAGA,EAAA,MAAMkB,kBAAmBR,CAAiB,IAAA,KAAA;AACxC,IAAA,MAAMS,OAAUpB,GAAAA,cAAAA,CAAeY,OAAQX,CAAAA,QAAAA,EAAUU,OAAOI,qBAAqB,CAAA,CAAA;AAC7EhB,IAAAA,gBAAAA,CAAiBqB,OAAO,CAAA,CAAA;AACxBhB,IAAAA,aAAAA,CAAc,MAAMgB,OAAO,CAAA,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,MAAMC,mBAAoBC,CAAmB,IAAA,KAAA;AAC3CnB,IAAAA,QAAAA,CAASmB,MAAM,OAAO,CAAA,CAAA;AACtBlB,IAAAA,aAAAA,CAAc,QAAQkB,IAAI,CAAA,CAAA;AAAA,GAC5B,CAAA;AAEA,EAAA,OAAAC,YAAA,KAAA,EAAA;AAAA,IAAA,OACclB,EAAAA,cAAAA;AAAAA,GAAc,EAAAkB,CAAAA,WAAAA,CAAAC,YAAA,EAAA;AAAA,IAAA,GAElB5B,KAAAA;AAAAA,IAAK,WACEE,EAAAA,SAAAA;AAAAA,IAAS,iBACL2B,MAAM;AACnBN,MAAAA,eAAAA,CAAgB,CAAE,CAAA,CAAA,CAAA;AAAA,KACpB;AAAA,IAAC,iBACcO,MAAM;AACnBP,MAAAA,eAAAA,CAAgB,CAAC,CAAA,CAAA;AAAA,KACnB;AAAA,GAACI,EAAAA,IAAAA,CAAAA,EAAAA,WAAAA,CAAAI,UAAA,EAAA;AAAA,IAAA,GAEa/B,KAAAA;AAAAA,IAAK,WAAaE,EAAAA,SAAAA;AAAAA,IAAS,UAAYuB,EAAAA,gBAAAA;AAAAA,GAAgB,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAG7E,CAAA;AAEA3B,WAAAA,CAAYkC,WAAc,GAAA,aAAA,CAAA;AAC1BlC,WAAAA,CAAYmC,YAAe,GAAA,KAAA;;;;"}