import { t as B } from "./index.esm-0G7eAEV5.js";
import { t as _sfc_main$1 } from "./SecondaryButton-ub85RH3e.js";
import { A as _sfc_main$9, C as _sfc_main$5, F as _sfc_main$6, M as _sfc_main$4, S as _sfc_main$3, T as _sfc_main$7, Z as $extras, f as _sfc_main$8, vt as _sfc_main$10, w as _sfc_main$2 } from "../ssr.js";
import { n as _sfc_main$11 } from "./Form-BuxG2AwZ.js";
import { useForm } from "@inertiajs/vue3";
import { createTextVNode, createVNode, ref, toDisplayString, unref, useSSRContext, withCtx } from "vue";
import { ssrInterpolate, ssrRenderComponent } from "vue/server-renderer";
import dayjs from "dayjs";
//#region resources/js/Pages/Sma/Order/Income/Form.vue
var _sfc_main = {
	__name: "Form",
	__ssrInlineRender: true,
	props: [
		"current",
		"custom_fields",
		"countries",
		"customer_fields",
		"accounts"
	],
	emits: ["close", "done"],
	setup(__props, { emit: __emit }) {
		const add_customer = ref(false);
		const emits = __emit;
		const props = __props;
		const form = useForm({
			_method: props.current?.id ? "put" : "post",
			attachments: null,
			reference: props.current?.reference,
			details: props.current?.details,
			account_id: props.current?.account_id,
			customer_id: props.current?.customer_id,
			amount: props.current ? Number(props.current.amount) : null,
			date: dayjs(props.current?.date).format("YYYY-MM-DD"),
			extra_attributes: props.current ? $extras(props.custom_fields, props.current.extra_attributes) : $extras(props.custom_fields)
		});
		const close = () => {
			form.reset();
			emits("close");
		};
		return (_ctx, _push, _parent, _attrs) => {
			_push(`<!--[--><form><div class="border-b border-gray-200 px-6 py-4 dark:border-gray-700"><div class="sm:flex sm:items-baseline sm:justify-between"><div class="sm:w-0 sm:flex-1"><h1 class="text-focus text-base font-semibold">${ssrInterpolate(__props.current?.id ? _ctx.$t("Edit {x}", { x: _ctx.$t("Income") }) : _ctx.$t("Add {x}", { x: _ctx.$t("Income") }))}</h1><p class="text-mute mt-1 truncate text-sm">${ssrInterpolate(_ctx.$t("Please fill the form below to {action} {record}.", {
				record: _ctx.$t("income"),
				action: __props.current?.id ? _ctx.$t("edit") : _ctx.$t("add")
			}))}</p></div></div></div><div class="grid grid-cols-6 gap-6 p-6"><div class="col-span-6 sm:col-span-3">`);
			_push(ssrRenderComponent(unref(_sfc_main$2), {
				type: "date",
				id: "date",
				onChange: _ctx.saveForm,
				label: _ctx.$t("Date"),
				modelValue: unref(form).date,
				"onUpdate:modelValue": ($event) => unref(form).date = $event,
				error: unref(form).errors.date
			}, null, _parent));
			_push(`</div><div class="col-span-6 sm:col-span-3">`);
			_push(ssrRenderComponent(unref(_sfc_main$3), {
				id: "reference",
				onChange: _ctx.saveForm,
				label: _ctx.$t("Reference"),
				modelValue: unref(form).reference,
				"onUpdate:modelValue": ($event) => unref(form).reference = $event,
				error: unref(form).errors.reference
			}, null, _parent));
			_push(`</div><div class="col-span-6 sm:col-span-3">`);
			_push(ssrRenderComponent(unref(_sfc_main$4), {
				json: true,
				valueKey: "id",
				id: "customer_id",
				labelKey: "company",
				onChange: _ctx.saveForm,
				searchable: true,
				label: _ctx.$t("Customer"),
				modelValue: unref(form).customer_id,
				"onUpdate:modelValue": ($event) => unref(form).customer_id = $event,
				action: () => add_customer.value = true,
				error: _ctx.$page.props.errors.customer_id,
				suggestions: unref(B)("search.customers"),
				"action-text": _ctx.$t("Add {x}", { x: _ctx.$t("Customer") })
			}, null, _parent));
			_push(`</div><div class="col-span-6 sm:col-span-3">`);
			_push(ssrRenderComponent(unref(_sfc_main$4), {
				json: true,
				id: "account_id",
				searchable: false,
				label: _ctx.$t("Account"),
				suggestions: __props.accounts,
				modelValue: unref(form).account_id,
				"onUpdate:modelValue": ($event) => unref(form).account_id = $event,
				error: unref(form).errors.account_id
			}, null, _parent));
			_push(`</div><div class="col-span-6 sm:col-span-3">`);
			_push(ssrRenderComponent(unref(_sfc_main$3), {
				type: "number",
				id: "amount",
				label: _ctx.$t("Amount"),
				modelValue: unref(form).amount,
				"onUpdate:modelValue": ($event) => unref(form).amount = $event,
				error: unref(form).errors.amount
			}, null, _parent));
			_push(`</div><div class="col-span-6 sm:col-span-3">`);
			_push(ssrRenderComponent(unref(_sfc_main$5), {
				multiple: "",
				id: "attachments",
				label: _ctx.$t("Attachments"),
				modelValue: unref(form).attachments,
				"onUpdate:modelValue": ($event) => unref(form).attachments = $event,
				error: unref(form).errors.attachments,
				accept: _ctx.$page.props.settings?.attachment_exts || ".jpg,.png,.pdf,.xlsx,.docx,.zip"
			}, null, _parent));
			_push(`</div>`);
			if (__props.current && __props.current.attachments && __props.current.attachments.length) {
				_push(`<div class="col-span-full">`);
				_push(ssrRenderComponent(unref(_sfc_main$6), { attachments: __props.current.attachments || [] }, null, _parent));
				_push(`</div>`);
			} else _push(`<!---->`);
			_push(`<div class="col-span-full flex flex-col gap-6">`);
			_push(ssrRenderComponent(unref(_sfc_main$7), {
				errors: unref(form).errors,
				custom_fields: __props.custom_fields,
				extra_attributes: unref(form).extra_attributes
			}, null, _parent));
			_push(ssrRenderComponent(unref(_sfc_main$8), {
				label: _ctx.$t("Details"),
				modelValue: unref(form).details,
				"onUpdate:modelValue": ($event) => unref(form).details = $event,
				error: _ctx.$page.props.errors.details
			}, null, _parent));
			_push(`</div></div><div class="flex flex-row justify-end bg-gray-100 px-6 py-4 text-end dark:bg-gray-950">`);
			_push(ssrRenderComponent(unref(_sfc_main$1), { onClick: close }, {
				default: withCtx((_, _push, _parent, _scopeId) => {
					if (_push) _push(`${ssrInterpolate(_ctx.$t("Cancel"))}`);
					else return [createTextVNode(toDisplayString(_ctx.$t("Cancel")), 1)];
				}),
				_: 1
			}, _parent));
			_push(ssrRenderComponent(unref(_sfc_main$9), {
				class: "ms-3",
				loading: unref(form).processing
			}, {
				default: withCtx((_, _push, _parent, _scopeId) => {
					if (_push) _push(`${ssrInterpolate(_ctx.$t("Save"))}`);
					else return [createTextVNode(toDisplayString(_ctx.$t("Save")), 1)];
				}),
				_: 1
			}, _parent));
			_push(`</div></form>`);
			_push(ssrRenderComponent(unref(_sfc_main$10), {
				show: add_customer.value,
				backdrop: false,
				overflow: true,
				"max-width": "2xl",
				closeable: true,
				onClose: ($event) => add_customer.value = false
			}, {
				default: withCtx((_, _push, _parent, _scopeId) => {
					if (_push) _push(ssrRenderComponent(_sfc_main$11, {
						countries: __props.countries,
						custom_fields: __props.customer_fields,
						onClose: ($event) => add_customer.value = false,
						onDone: (e) => {
							unref(form).customer_id = e?.id;
							add_customer.value = false;
						}
					}, null, _parent, _scopeId));
					else return [createVNode(_sfc_main$11, {
						countries: __props.countries,
						custom_fields: __props.customer_fields,
						onClose: ($event) => add_customer.value = false,
						onDone: (e) => {
							unref(form).customer_id = e?.id;
							add_customer.value = false;
						}
					}, null, 8, [
						"countries",
						"custom_fields",
						"onClose",
						"onDone"
					])];
				}),
				_: 1
			}, _parent));
			_push(`<!--]-->`);
		};
	}
};
var _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
	const ssrContext = useSSRContext();
	(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("resources/js/Pages/Sma/Order/Income/Form.vue");
	return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
//#endregion
export { _sfc_main as default };
