"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePrint",props:{align:{type:String,default:()=>(0,_ui.getConfig)().print.align},title:String,headerAlign:{type:String,default:()=>(0,_ui.getConfig)().print.headerAlign},footerAlign:{type:String,default:()=>(0,_ui.getConfig)().print.footerAlign},showPageNumber:{type:Boolean,default:()=>(0,_ui.getConfig)().print.showPageNumber},customLayout:Boolean,pageBreaks:Array,content:String,html:String,headerHtml:String,footerHtml:String,leftHtml:String,rightHtml:String,showAllPageTitle:{type:Boolean,default:()=>(0,_ui.getConfig)().print.showAllPageTitle},pageStyle:{type:Object,default:()=>(0,_ui.getConfig)().print.pageStyle},customStyle:{type:String,default:()=>(0,_ui.getConfig)().print.customStyle},beforeMethod:Function},emits:[],setup(c,e){const{slots:h,emit:i}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),n=(0,_vue.reactive)({staticPageBreaks:[]}),r={refElem:a},l={},f={xID:t,props:c,context:e,reactData:n,getRefMaps:()=>r,getComputeMaps:()=>l};Object.assign(f,{dispatchEvent:(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$print:f},t))},print(){var e=a.value;return(0,_util.printHtml)(Object.assign({},c,{_pageBreaks:!!n.staticPageBreaks.length,html:(0,_util.trimHtml)(e?e.outerHTML:"")||c.html||c.content||""}))}},{});return f.renderVN=()=>{var e=c["customLayout"],t=n["staticPageBreaks"],r=h.default;return(0,_vue.h)("div",{ref:a,class:["vxe-print"]},e?r?(0,_vn.getSlotVNs)(r({})):[]:[(0,_vue.h)("div",{key:"slot",class:"vxe-print-slots"},r?(0,_vn.getSlotVNs)(r({})):[])].concat((t.length?()=>{const{title:u,showPageNumber:o,showAllPageTitle:g,align:p,headerAlign:v,footerAlign:d}=c;var e=n["staticPageBreaks"];const _=e.length;return e.map((e,t)=>{var e=e.slots||{},r=t+1,i=e.default,a=e.header||h.header,n=e.footer||h.footer,l=e.left||h.left,e=e.right||h.right,s={currentPage:r,pageCount:_};return(0,_vue.h)("div",{class:["vxe-print-page-break",p?"align--"+p:""]},[(0,_vue.h)("div",{class:["vxe-print-page-break--header",v?"align--"+v:""]},a?(0,_vn.getSlotVNs)(a(s)):[!u||!g&&t?(0,_ui.renderEmptyElement)(f):(0,_vue.h)("div",{class:"vxe-print-page-break--header-title"},""+(u||""))]),(0,_vue.h)("div",{class:"vxe-print-page-break--body"},[(0,_vue.h)("div",{class:"vxe-print-page-break--left"},l?(0,_vn.getSlotVNs)(l(s)):[]),(0,_vue.h)("div",{class:"vxe-print-page-break--content"},i?(0,_vn.getSlotVNs)(i(s)):[]),(0,_vue.h)("div",{class:"vxe-print-page-break--right"},e?(0,_vn.getSlotVNs)(e(s)):[])]),(0,_vue.h)("div",{class:["vxe-print-page-break--footer",d?"align--"+d:""]},n?(0,_vn.getSlotVNs)(n(s)):[o?(0,_vue.h)("div",{class:"vxe-print-page-break--footer-page-number"},r+"/"+_):(0,_ui.renderEmptyElement)(f)])])})}:()=>{const{title:u,showPageNumber:o,showAllPageTitle:g,align:p,headerAlign:v,footerAlign:d}=c;var e=c.pageBreaks||[];const _=e.length;return e.map((e,t)=>{var r=e.bodyHtml,i=e.headerHtml||c.headerHtml,a=e.footerHtml||c.footerHtml,n=e.leftHtml||c.leftHtml,e=e.rightHtml||c.rightHtml,l=t+1,s={currentPage:l,pageCount:_};return(0,_vue.h)("div",{class:["vxe-print-page-break",p?"align--"+p:""]},[(0,_vue.h)("div",{class:["vxe-print-page-break--header",v?"align--"+v:""]},i?""+(_xeUtils.default.isFunction(i)?i(s):i||""):[!u||!g&&t?(0,_ui.renderEmptyElement)(f):(0,_vue.h)("div",{class:"vxe-print-page-break--header-title"},""+(u||""))]),(0,_vue.h)("div",{class:"vxe-print-page-break--body"},[(0,_vue.h)("div",{class:"vxe-print-page-break--left"},""+(_xeUtils.default.isFunction(n)?n(s):n||"")),(0,_vue.h)("div",{class:"vxe-print-page-break--content"},""+(_xeUtils.default.isFunction(r)?r(s):r||"")),(0,_vue.h)("div",{class:"vxe-print-page-break--right"},""+(_xeUtils.default.isFunction(e)?e(s):e||""))]),(0,_vue.h)("div",{class:["vxe-print-page-break--footer",d?"align--"+d:""]},a?""+(_xeUtils.default.isFunction(a)?a(s):a||""):[o?(0,_vue.h)("div",{class:"vxe-print-page-break--footer-page-number"},l+"/"+_):(0,_ui.renderEmptyElement)(f)])])})})()))},(0,_vue.provide)("$xePrint",f),f},render(){return this.renderVN()}});