{"version":3,"file":"Cell.mjs","sources":["../../../../../components/date-picker/components/base/Cell.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue';\nimport { usePrefixClass } from '@tdesign/shared-hooks';\nimport { extractTimeObj } from '@tdesign/common-js/date-picker/utils';\nimport { Dayjs } from 'dayjs';\n\nexport default defineComponent({\n  name: 'TDatePickerCell',\n  props: {\n    time: String,\n    text: [String, Number],\n    value: Date,\n    active: Boolean,\n    highlight: Boolean,\n    disabled: Boolean,\n    startOfRange: Boolean,\n    endOfRange: Boolean,\n    hoverHighlight: Boolean,\n    hoverStartOfRange: Boolean,\n    hoverEndOfRange: Boolean,\n    additional: Boolean,\n    now: Boolean,\n    firstDayOfMonth: Boolean,\n    lastDayOfMonth: Boolean,\n    onClick: Function,\n    onMouseEnter: Function,\n    dayjsObj: Dayjs,\n  },\n  setup(props) {\n    const COMPONENT_NAME = usePrefixClass('date-picker__cell');\n\n    const cellClass = computed(() => [\n      COMPONENT_NAME.value,\n      {\n        [`${COMPONENT_NAME.value}--now`]: props.now,\n        [`${COMPONENT_NAME.value}--active`]: props.active,\n        [`${COMPONENT_NAME.value}--disabled`]: props.disabled,\n        [`${COMPONENT_NAME.value}--highlight`]: props.highlight,\n        [`${COMPONENT_NAME.value}--hover-highlight`]: props.hoverHighlight,\n        [`${COMPONENT_NAME.value}--active-start`]: props.startOfRange,\n        [`${COMPONENT_NAME.value}--active-end`]: props.endOfRange,\n        [`${COMPONENT_NAME.value}--hover-start`]: props.hoverStartOfRange,\n        [`${COMPONENT_NAME.value}--hover-end`]: props.hoverEndOfRange,\n        [`${COMPONENT_NAME.value}--additional`]: props.additional,\n        [`${COMPONENT_NAME.value}--first-day-of-month`]: props.firstDayOfMonth,\n        [`${COMPONENT_NAME.value}--last-day-of-month`]: props.lastDayOfMonth,\n      },\n    ]);\n\n    function handleClick(e: MouseEvent) {\n      if (props.disabled) return;\n      if (props.time) {\n        const { hours, minutes, seconds, milliseconds, meridiem } = extractTimeObj(props.time);\n        // am pm 12小时制转化 24小时制\n        let nextHours = hours;\n        if (/am/i.test(meridiem) && nextHours === 12) nextHours -= 12;\n        if (/pm/i.test(meridiem) && nextHours < 12) nextHours += 12;\n        props.value.setHours(nextHours);\n        props.value.setMinutes(minutes);\n        props.value.setSeconds(seconds);\n        props.value.setMilliseconds(milliseconds);\n      }\n      props.onClick?.(props.value, { e });\n    }\n\n    function handleMouseEnter() {\n      if (props.disabled) return;\n      if (props.time) {\n        const { hours, minutes, seconds, milliseconds, meridiem } = extractTimeObj(props.time);\n        // am pm 12小时制转化 24小时制\n        let nextHours = hours;\n        if (/am/i.test(meridiem) && nextHours === 12) nextHours -= 12;\n        if (/pm/i.test(meridiem) && nextHours < 12) nextHours += 12;\n        props.value.setHours(nextHours);\n        props.value.setMinutes(minutes);\n        props.value.setSeconds(seconds);\n        props.value.setMilliseconds(milliseconds);\n      }\n      props.onMouseEnter?.(props.value);\n    }\n\n    return () => (\n      <td class={cellClass.value} onClick={handleClick} onMouseenter={handleMouseEnter}>\n        <div class={`${COMPONENT_NAME.value}-inner`}>{props.text}</div>\n      </td>\n    );\n  },\n});\n"],"names":["defineComponent","name","props","time","String","text","Number","value","Date","active","Boolean","highlight","disabled","startOfRange","endOfRange","hoverHighlight","hoverStartOfRange","hoverEndOfRange","additional","now","firstDayOfMonth","lastDayOfMonth","onClick","Function","onMouseEnter","dayjsObj","Dayjs","setup","COMPONENT_NAME","usePrefixClass","cellClass","computed","_ref","_defineProperty","concat","handleClick","e","_props$onClick","_extractTimeObj","extractTimeObj","hours","minutes","seconds","milliseconds","meridiem","nextHours","test","setHours","setMinutes","setSeconds","setMilliseconds","call","handleMouseEnter","_props$onMouseEnter","_extractTimeObj2","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,iBAAA;AACNC,EAAAA,KAAO,EAAA;AACLC,IAAAA,IAAM,EAAAC,MAAA;AACNC,IAAAA,IAAA,EAAM,CAACD,MAAA,EAAQE,MAAM,CAAA;AACrBC,IAAAA,KAAO,EAAAC,IAAA;AACPC,IAAAA,MAAQ,EAAAC,OAAA;AACRC,IAAAA,SAAW,EAAAD,OAAA;AACXE,IAAAA,QAAU,EAAAF,OAAA;AACVG,IAAAA,YAAc,EAAAH,OAAA;AACdI,IAAAA,UAAY,EAAAJ,OAAA;AACZK,IAAAA,cAAgB,EAAAL,OAAA;AAChBM,IAAAA,iBAAmB,EAAAN,OAAA;AACnBO,IAAAA,eAAiB,EAAAP,OAAA;AACjBQ,IAAAA,UAAY,EAAAR,OAAA;AACZS,IAAAA,GAAK,EAAAT,OAAA;AACLU,IAAAA,eAAiB,EAAAV,OAAA;AACjBW,IAAAA,cAAgB,EAAAX,OAAA;AAChBY,IAAAA,OAAS,EAAAC,QAAA;AACTC,IAAAA,YAAc,EAAAD,QAAA;AACdE,IAAAA,QAAU,EAAAC,sBAAAA;GACZ;AACAC,EAAAA,OAAAA,SAAAA,MAAMzB,KAAO,EAAA;AACL,IAAA,IAAA0B,cAAA,GAAiBC,eAAe,mBAAmB,CAAA,CAAA;IAEnD,IAAAC,SAAA,GAAYC,SAAS,YAAA;AAAA,MAAA,IAAAC,IAAA,CAAA;AAAA,MAAA,OAAM,CAC/BJ,cAAe,CAAArB,KAAA,GAAAyB,IAAA,GAAA,EAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,IAAA,EAAA,EAAA,CAAAE,MAAA,CAETN,cAAe,CAAArB,KAAA,YAAeL,KAAM,CAAAiB,GAAA,CAAA,EAAA,EAAA,CAAAe,MAAA,CACpCN,cAAe,CAAArB,KAAA,eAAkBL,KAAM,CAAAO,MAAA,CAAA,EAAA,EAAA,CAAAyB,MAAA,CACvCN,cAAe,CAAArB,KAAA,iBAAoBL,KAAM,CAAAU,QAAA,CAAA,EAAA,EAAA,CAAAsB,MAAA,CACzCN,cAAe,CAAArB,KAAA,kBAAqBL,KAAM,CAAAS,SAAA,CAAA,EAAA,EAAA,CAAAuB,MAAA,CAC1CN,cAAe,CAAArB,KAAA,wBAA2BL,KAAM,CAAAa,cAAA,CAAA,EAAA,EAAA,CAAAmB,MAAA,CAChDN,cAAe,CAAArB,KAAA,EAAwBL,gBAAAA,CAAAA,EAAAA,KAAM,CAAAW,YAAA,MAAAqB,MAAA,CAC7CN,cAAe,CAAArB,KAAA,EAAsBL,cAAAA,CAAAA,EAAAA,KAAM,CAAAY,UAAA,MAAAoB,MAAA,CAC3CN,cAAe,CAAArB,KAAA,EAAuBL,eAAAA,CAAAA,EAAAA,KAAM,CAAAc,iBAAA,MAAAkB,MAAA,CAC5CN,cAAe,CAAArB,KAAA,EAAqBL,aAAAA,CAAAA,EAAAA,KAAM,CAAAe,eAAA,MAAAiB,MAAA,CAC1CN,cAAe,CAAArB,KAAA,EAAsBL,cAAAA,CAAAA,EAAAA,KAAM,CAAAgB,UAAA,GAAAe,eAAA,CAAAA,eAAA,CAAAD,IAAA,EAAAE,EAAAA,CAAAA,MAAA,CAC3CN,cAAe,CAAArB,KAAA,EAAA,sBAAA,CAAA,EAA8BL,KAAM,CAAAkB,eAAA,CAAAc,EAAAA,EAAAA,CAAAA,MAAA,CACnDN,cAAe,CAAArB,KAAA,EAAA,qBAAA,CAAA,EAA6BL,KAAM,CAAAmB,cAAA,CAEzD,EAAA,CAAA;KAAA,CAAA,CAAA;IAED,SAASc,YAAYC,CAAe,EAAA;AAAA,MAAA,IAAAC,cAAA,CAAA;MAClC,IAAInC,KAAM,CAAAU,QAAA,EAAU,OAAA;MACpB,IAAIV,MAAMC,IAAM,EAAA;AACR,QAAA,IAAAmC,eAAA,GAAsDC,cAAe,CAAArC,KAAA,CAAMC,IAAI,CAAA;UAA7EqC,wBAAAA;UAAOC,OAAS,GAAAH,eAAA,CAATG,OAAS;UAAAC,OAAA,GAAAJ,eAAA,CAAAI,OAAA;UAASC,+BAAAA;UAAcC,QAAS,GAAAN,eAAA,CAATM,QAAS,CAAA;QAExD,IAAIC,SAAY,GAAAL,KAAA,CAAA;AAChB,QAAA,IAAI,KAAM,CAAAM,IAAA,CAAKF,QAAQ,CAAA,IAAKC,SAAc,KAAA,EAAA,EAAiBA,SAAA,IAAA,EAAA,CAAA;AAC3D,QAAA,IAAI,KAAM,CAAAC,IAAA,CAAKF,QAAQ,CAAA,IAAKC,SAAY,GAAA,EAAA,EAAiBA,SAAA,IAAA,EAAA,CAAA;AACnD3C,QAAAA,KAAA,CAAAK,KAAA,CAAMwC,SAASF,SAAS,CAAA,CAAA;AACxB3C,QAAAA,KAAA,CAAAK,KAAA,CAAMyC,WAAWP,OAAO,CAAA,CAAA;AACxBvC,QAAAA,KAAA,CAAAK,KAAA,CAAM0C,WAAWP,OAAO,CAAA,CAAA;AACxBxC,QAAAA,KAAA,CAAAK,KAAA,CAAM2C,gBAAgBP,YAAY,CAAA,CAAA;AAC1C,OAAA;AACA,MAAA,CAAAN,cAAA,GAAAnC,KAAA,CAAMoB,OAAU,cAAAe,cAAA,KAAA,KAAA,CAAA,IAAhBA,cAAA,CAAAc,IAAA,CAAAjD,KAAA,EAAgBA,KAAA,CAAMK,KAAO,EAAA;AAAE6B,QAAAA,GAAAA,CAAAA;AAAE,OAAC,CAAA,CAAA;AACpC,KAAA;IAEA,SAASgB,gBAAmBA,GAAA;AAAA,MAAA,IAAAC,mBAAA,CAAA;MAC1B,IAAInD,KAAM,CAAAU,QAAA,EAAU,OAAA;MACpB,IAAIV,MAAMC,IAAM,EAAA;AACR,QAAA,IAAAmD,gBAAA,GAAsDf,cAAe,CAAArC,KAAA,CAAMC,IAAI,CAAA;UAA7EqC,yBAAAA;UAAOC,OAAS,GAAAa,gBAAA,CAATb,OAAS;UAAAC,OAAA,GAAAY,gBAAA,CAAAZ,OAAA;UAASC,gCAAAA;UAAcC,QAAS,GAAAU,gBAAA,CAATV,QAAS,CAAA;QAExD,IAAIC,SAAY,GAAAL,KAAA,CAAA;AAChB,QAAA,IAAI,KAAM,CAAAM,IAAA,CAAKF,QAAQ,CAAA,IAAKC,SAAc,KAAA,EAAA,EAAiBA,SAAA,IAAA,EAAA,CAAA;AAC3D,QAAA,IAAI,KAAM,CAAAC,IAAA,CAAKF,QAAQ,CAAA,IAAKC,SAAY,GAAA,EAAA,EAAiBA,SAAA,IAAA,EAAA,CAAA;AACnD3C,QAAAA,KAAA,CAAAK,KAAA,CAAMwC,SAASF,SAAS,CAAA,CAAA;AACxB3C,QAAAA,KAAA,CAAAK,KAAA,CAAMyC,WAAWP,OAAO,CAAA,CAAA;AACxBvC,QAAAA,KAAA,CAAAK,KAAA,CAAM0C,WAAWP,OAAO,CAAA,CAAA;AACxBxC,QAAAA,KAAA,CAAAK,KAAA,CAAM2C,gBAAgBP,YAAY,CAAA,CAAA;AAC1C,OAAA;AACM,MAAA,CAAAU,mBAAA,GAAAnD,KAAA,CAAAsB,YAAA,cAAA6B,mBAAA,KAAA,KAAA,CAAA,IAAAA,mBAAA,CAAAF,IAAA,CAAAjD,KAAA,EAAeA,MAAMK,KAAK,CAAA,CAAA;AAClC,KAAA;IAEO,OAAA,YAAA;AAAA,MAAA,OAAAgD,WAAA,CAAA,IAAA,EAAA;QAAA,OACMzB,EAAAA,UAAUvB,KAAO;AAAA,QAAA,SAAA,EAAS4B;sBAA2BiB,EAAAA,gBAAAA;AAAA,OAAA,EAAA,CAAAG,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAArB,MAAA,CAC/CN,cAAe,CAAArB,KAAA,EAAA,QAAA,CAAA;OAAgBL,EAAAA,CAAAA,MAAMG,IAAK,CAAA,CAAA,CAAA,CAAA,CAAA;KAD1D,CAAA;AAIL,GAAA;AACF,CAAC,CAAA;;;;"}