@oruga-ui/oruga-next
Version:
UI components for Vue.js and CSS framework agnostic
50 lines (49 loc) • 1.62 kB
JavaScript
;
/*! Oruga v0.11.4 | MIT License | github.com/oruga-ui/oruga */
const vue = require("vue");
const config = require("./config-D4SNSQp_.cjs");
const $FieldKey = Symbol("FielData");
function provideField(data) {
vue.provide($FieldKey, data);
}
function injectField() {
const parentField = vue.inject(
$FieldKey,
vue.computed(() => void 0)
);
const statusMessage = vue.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 = vue.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 = config.getOption("statusVariantIcon", {
success: "check",
danger: "alert-circle",
info: "information",
warning: "alert"
});
const statusVariantIcon = vue.computed(() => {
if (!statusVariant.value || !statusVariantIconConfig) return "";
return statusVariantIconConfig[statusVariant.value] || "";
});
return {
parentField,
statusVariant,
statusVariantIcon,
statusMessage
};
}
exports.injectField = injectField;
exports.provideField = provideField;
//# sourceMappingURL=fieldInjection-D1hnNd0L.cjs.map