UNPKG

@oruga-ui/oruga-next

Version:

UI components for Vue.js and CSS framework agnostic

51 lines (50 loc) 1.59 kB
/*! Oruga v0.11.4 | MIT License | github.com/oruga-ui/oruga */ import { inject, computed, provide } from "vue"; import { c as getOption } from "./config-BhtJomvl.mjs"; const $FieldKey = Symbol("FielData"); function provideField(data) { provide($FieldKey, data); } function injectField() { const parentField = inject( $FieldKey, computed(() => void 0) ); const statusMessage = computed(() => { if (Array.isArray(parentField?.value?.message) && !parentField?.value?.message.length || !Array.isArray(parentField?.value?.message) && !parentField?.value?.message) return void 0; return parentField?.value.message; }); const statusVariant = computed(() => { if (!parentField?.value?.variant) return void 0; if (typeof parentField.value.variant === "string") return parentField.value.variant; if (Array.isArray(parentField.value.variant)) { for (const key in parentField.value.variant) { if (parentField.value.variant[key]) return key; } } return void 0; }); const statusVariantIconConfig = getOption("statusVariantIcon", { success: "check", danger: "alert-circle", info: "information", warning: "alert" }); const statusVariantIcon = computed(() => { if (!statusVariant.value || !statusVariantIconConfig) return ""; return statusVariantIconConfig[statusVariant.value] || ""; }); return { parentField, statusVariant, statusVariantIcon, statusMessage }; } export { injectField as i, provideField as p }; //# sourceMappingURL=fieldInjection-D83UnufB.mjs.map