bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
52 lines (51 loc) • 2.47 kB
JavaScript
import { t as useAriaInvalid } from "./useAriaInvalid-DcG6BhdW.mjs";
import { t as useStateClass } from "./useStateClass-DXbp5rFK.mjs";
import { computed, readonly, toRef, toValue } from "vue";
//#region src/composables/useFormCheck.ts
var getClasses = (items) => computed(() => {
const resolvedItems = toValue(items);
return {
"form-check": !resolvedItems.plain && !resolvedItems.button && resolvedItems.hasDefaultSlot,
"form-check-reverse": resolvedItems.reverse === true,
"form-check-inline": resolvedItems.inline === true,
"form-switch": resolvedItems.switch === true,
[`form-control-${resolvedItems.size}`]: resolvedItems.size !== void 0 && resolvedItems.size !== "md" && !resolvedItems.button
};
});
var getInputClasses = (items) => {
const resolvedItems = readonly(toRef(items));
const stateClass = useStateClass(() => resolvedItems.value.state ?? null);
return computed(() => [stateClass.value, {
"form-check-input": !resolvedItems.value.plain && !resolvedItems.value.button,
"btn-check": resolvedItems.value.button === true
}]);
};
var getLabelClasses = (items) => computed(() => {
const resolvedItems = toValue(items);
return {
"form-check-label": !resolvedItems.plain && !resolvedItems.button,
"btn": resolvedItems.button === true,
[`btn-${resolvedItems.buttonVariant}`]: resolvedItems.button === true && resolvedItems.buttonVariant !== void 0 && resolvedItems.buttonVariant !== null,
[`btn-${resolvedItems.size}`]: resolvedItems.button && resolvedItems.size && resolvedItems.size !== "md"
};
});
var getGroupAttr = (items) => {
const resolvedItems = readonly(toRef(items));
const computedAriaInvalid = useAriaInvalid(() => resolvedItems.value.ariaInvalid, () => resolvedItems.value.state);
return computed(() => ({
"aria-invalid": computedAriaInvalid.value,
"aria-required": resolvedItems.value.required === true ? true : void 0
}));
};
var getGroupClasses = (items) => computed(() => {
const resolvedItems = toValue(items);
return {
"was-validated": resolvedItems.validated === true,
"btn-group": resolvedItems.buttons === true && resolvedItems.stacked === false,
"btn-group-vertical": resolvedItems.stacked === true && resolvedItems.buttons === true,
[`btn-group-${resolvedItems.size}`]: resolvedItems.size !== void 0
};
});
//#endregion
export { getLabelClasses as a, getInputClasses as i, getGroupAttr as n, getGroupClasses as r, getClasses as t };
//# sourceMappingURL=useFormCheck-9Ne69Sw9.mjs.map