@oruga-ui/oruga-next
Version:
UI components for Vue.js and CSS framework agnostic
51 lines (50 loc) • 1.59 kB
JavaScript
/*! 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