UNPKG

@fifteen/design-system-vue

Version:

Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System

41 lines (40 loc) 938 B
import { defineComponent as u, openBlock as c, createElementBlock as p, withModifiers as f, renderSlot as d, unref as v } from "vue"; import { useForm as F } from "vee-validate"; const b = /* @__PURE__ */ u({ __name: "FForm", props: { initialValues: {} }, emits: ["valid", "error"], setup(i, { expose: n, emit: a }) { const l = i, t = a, { values: o, validate: m, resetForm: s } = F({ initialValues: l.initialValues }); async function r() { const e = await m(); return e.valid && t("valid", o), e.errors.length && t("error", e.errors), { errors: e.errors, values: o }; } return n({ reset: s, submit: r }), (e, _) => (c(), p("form", { class: "FForm", onSubmit: f(r, ["prevent"]) }, [ d(e.$slots, "default", { submit: r, reset: v(s) }) ], 32)); } }); export { b as default };