{"version":3,"file":"body.vue.mjs","sources":["../../../../../../../../packages/components/date-picker/src/panels/layout/body.vue"],"sourcesContent":["<script lang=\"ts\">\n  import { defineComponent } from 'vue'\n  import type { PropType } from 'vue'\n  import { getNamespace } from '../../../../../utils/global-config'\n  import type { DateCell } from '../../types'\n  export default defineComponent({\n    name: 'PanelBody',\n    props: {\n      rows: {\n        type: Array as PropType<DateCell[][]>,\n        default: () => []\n      }\n    },\n    emits: ['onCellClick', 'onCellRowClick', 'onCellMouseenter', 'onCellRowMouseenter'],\n    setup(props, { emit }) {\n      const ns = getNamespace('date-picker')\n      const handleCell = (cell: DateCell) => {\n        if (cell.isDisabled) return\n        emit('onCellClick', cell)\n      }\n\n      const handleCellRowClick = (row: DateCell[]) => {\n        if (isRowDisabled(row)) return\n        emit('onCellRowClick', row)\n      }\n\n      const handleCellMouseenter = (cell: DateCell) => {\n        if (cell.isDisabled) return\n        emit('onCellMouseenter', cell)\n      }\n\n      const handleCellRowMouseenter = (row: DateCell[]) => {\n        if (isRowDisabled(row)) return\n        emit('onCellRowMouseenter', row)\n      }\n\n      const isRowDisabled = (row: DateCell[]) => {\n        const exist = row.some((cell) => cell.isDisabled)\n        if (exist) {\n          return 'is-disabled'\n        }\n      }\n\n      return {\n        ns,\n        handleCell,\n        handleCellRowClick,\n        handleCellMouseenter,\n        handleCellRowMouseenter,\n        isRowDisabled\n      }\n    }\n  })\n</script>\n\n<template>\n  <div :class=\"[`${ns}__body`]\">\n    <div\n      v-for=\"(row, rowIndex) in rows\"\n      :key=\"rowIndex\"\n      :class=\"[`${ns}__cell-row`, isRowDisabled(row)]\"\n      @mouseenter=\"handleCellRowMouseenter(row)\"\n      @click=\"handleCellRowClick(row)\"\n    >\n      <div\n        v-for=\"cell in row\"\n        :key=\"cell.value\"\n        :class=\"[\n          `${ns}__cell`,\n          {\n            'is-cur': cell.isCur,\n            'is-prev': cell.isPrev,\n            'is-next': cell.isNext,\n            'is-select': cell.isSelect,\n            'is-now': cell.isNow,\n            'is-range': cell.isRange,\n            'is-range-start': cell.isRangeStart,\n            'is-range-end': cell.isRangeEnd,\n            'is-disabled': cell.isDisabled\n          }\n        ]\"\n        @click=\"handleCell(cell)\"\n        @mouseenter=\"handleCellMouseenter(cell)\"\n      >\n        <slot name=\"cell\" v-bind=\"{ cell }\">\n          <span :class=\"[`${ns}__cell-text`]\">\n            {{ cell.label }}\n          </span>\n        </slot>\n      </div>\n    </div>\n  </div>\n</template>\n"],"names":["ns","_createElementBlock","_Fragment","_renderList","_openBlock","_normalizeClass","handleCellRowClick","_renderSlot","_createElementVNode"],"mappings":";;;;;;AAwDa,SAAA,YAAA,IAAA,EAAA,MAAA,EAAMA,MAAE,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;;;;2BACjB,CAAA,CAiCM,CAAA,EAAA,IAAA,CAAA,UAAA,CAAA,CAAA;AAAA,KAAA;AAAA;iBA/BE,IAAQ,CAAA,EAAAC,kBAAA;AAAA,QAAAC,QAAA;AAAA,QAAA,IAAA;AAAA,QAAAC,UAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA,KAAA,QAAA,KAAA;UACR,OAAAC,SAAA,EAAQ,EAAAH,kBAAA,CAAA,KAAA,EAAA;AAAA,YACb,GAAA,EAAA,QAAA;AAAA,YACA,KAAA,EAAKI,cAAEC,CAAAA,CAAsB,CAAA,EAAA,IAAA,CAAA,gBAAA,IAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,YAAA,YAAA,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,wBAAA,GAAA,CAAA;AAAA,4BAE9B,KAAA,IAAA,CAyBM,mBAAA,GAAA,CAAA;AAAA,WAAA,EAAA;AAAA,aAvBEF,SAAA,CAAA,IAAK,CAAK,EAAAH,kBAAA;AAAA,cAAAC,QAAA;AAAA,cAAA,IAAA;AAAA,cAAAC,UAAA,CAAA,GAAA,EAAA,CAAA,IAAA,KAAA;AACV,gBAAA,OAAAC,SAAA,EAAA,EAAAH,kBAAA,CAAA,KAAA,EAAA;AAAA,kBAAA,KAAiBD,IAAE,CAAA,KAAA;AAAA,kBAAA,OAAAK,cAAA,CAAA;AAAA;;sBAAuH,UAAA,IAAA,CAAA,KAAA;AAAA,sBAAkC,WAAA,IAAA,CAAA,MAAA;AAAA,sBAAA,WAAqC,IAAK,CAAA,MAAA;AAAA,sBAAA,aAA+B,IAAK,CAAA,QAAA;AAAA,sBAAA,UAAA,IAAA,CAAA,KAAA;AAAA,sBAAsF,YAAA,IAAA,CAAA,OAAA;AAAA,sBAAA,kBAA4C,IAAK,CAAA,YAAA;AAAA,sBAAA,gBAAA,IAAA,CAAA,UAAA;AAAA;;;;kBAiBvY,YAIO,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,qBAAA,IAAA,CAAA;AAAA,iBAAA,EAAA;AAAA,kBAHOE,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,MAAA,EAAMP,UAAE,CAAA,EAAA,OAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAA,MAAA;AAAA,oBAAAQ,kBAAA;AAAA,sBACf,MAAA;AAAA,sBAAK;AAAA,wBAAA,OAAAH,cAAA,CAAA,CAAA,CAAA,EAAA,IAAA,CAAA,eAAA,CAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}