// plugin/vue-renderer/renderer/render-page.js
// idea taken from: https://lachlan-miller.me/articles/vue-3-pdf-customer-renderer

import { renderPageApp } from './render-page-app.js'

// import createComponent from '../component/nc-form/nc-form-col-row.js'
import NcForm from '../component/nc-form/nc-form.js'
import NcRow from '../component/nc-form/nc-row.js'
import NcCol from '../component/nc-form/nc-col.js'
import NcFormField from '../component/nc-form/nc-form-field.js'
import NcFormFields from '../component/nc-form/nc-form-fields.js'
import NcPageHeader from '../component/nc-form/nc-page-header.js'

import NcReportHeader from '../component/nc-form/nc-report-header.js'
import NcReportFooter from '../component/nc-form/nc-report-footer.js'
import NcReportSummary from '../component/nc-form/nc-report-summary.js'
import NcGroup from '../component/nc-form/nc-group.js'
import NcGroupHeader from '../component/nc-form/nc-group-header.js'
import NcGroupFooter from '../component/nc-form/nc-group-footer.js'
import NcBackground from '../component/nc-form/nc-background.js'
import NcDetail from '../component/nc-form/nc-detail.js'

// import NcTranslate from '../component/nc-input/nc-translate.js'
import NcSpan from '../component/nc-input/nc-span.js'
import NcLabel from '../component/nc-input/nc-label.js'
import NcInput from '../component/nc-input/nc-input.js'
import NcTextarea from '../component/nc-input/nc-textarea.js'
import NcLabelInput from '../component/nc-input/nc-label-input.js'
import NcLabelTextarea from '../component/nc-input/nc-label-textarea.js'
import NcRect from '../component/nc-draw/nc-rect.js'
import NcLine from '../component/nc-draw/nc-line.js'
import NcLineV from '../component/nc-draw/nc-line-v.js'
import NcImage from '../component/nc-draw/nc-image.js'
import NcIcon from '../component/nc-draw/nc-icon.js'
import NcBarcode from '../component/nc-barcode/nc-barcode.js'

const componentArray = {
	NcForm,
	NcRow,
	NcCol,
	NcFormField,
	NcFormFields,
	NcPageHeader,
	NcReportHeader,
	NcReportFooter,
	NcGroup,
	NcGroupHeader,
	NcGroupFooter,
	NcBackground,
	NcDetail,
	NcReportSummary,
	// NcTranslate,
	NcSpan,
	NcLabel,
	NcInput,
	NcTextarea,
	NcLabelInput,
	NcLabelTextarea,
	NcRect,
	NcLine,
	NcLineV,
	NcImage,
	NcIcon,
	NcBarcode
}

export function renderPage(arg) {
	return renderPageApp(componentArray, arg)
}
