Skip to content

use/combineClasses

Type Aliases

CSSClasses

CSSClasses = string | string[] | {[key: string]: boolean | Ref<boolean, boolean>; } | Ref

The accepted ways of specifying CSS classes to useCombineClasses (a string, array, class-map, or ref thereof).

Type Parameters

Functions

useCombineClasses()

useCombineClasses(...classes): Ref<CombinedClasses, CombinedClasses>

Normalize various ways of specifying CSS classes into an object for use in Vue.js with reactivity. If refs are present, the resulting object will be a ref containing an array of objects to preserve order of operations in reactive contexts.

Parameters

classes

...CSSClasses[]

A mixed array containing multiple ways of specifying CSS classes.

Returns

Ref<CombinedClasses, CombinedClasses>

  • A ref containing an object or array of objects containing CSS classes. Arrays are used if refs are present, to preserve order of operations in reactive contexts.

Example

vue
<script setup>
import { useCombineClasses } from "@arrai-innovations/reactive-helpers";
import { ref } from "vue";
const myClasses = useCombineClasses(
    "class1",
    ["class2", "class3"],
    { class4: true, class5: false },
    ref("class6"),
    ref(["class7", "class8"]),
    ref({ class9: true, class10: false }),
);
// myClasses.value = [
//     { class1: true, class2: true, class3: true, class4: true, class5: false },
//     { class6: true, class7: true, class8: true, class9: true, class10: false }
// ]
</script>