PageSourceSearch

https://cairnjs.vercel.app/src/adapters/tailwind.js

js cairnjs.vercel.app collected 2026-10-03 06:21:46 UTC 1,027 bytes, 32 lines download raw bytes

1/**
2 * @cairn-js/core/adapters - Tailwind CSS Adapter
3 * Integrates Tailwind CSS utility classes into Cairn component rendering pipeline.
4 * Supports `tailwind: 'px-4 py-2 bg-blue-500'`, arrays of classes, and conditional objects.
5 */
6
7export const tailwind = {
8    name: 'tailwind',
9    transform(props = {}) {
10        const resolved = { ...props };
11        const tw = resolved.tailwind || resolved.tw;
12
13        if (tw) {
14            let twClasses = '';
15            if (Array.isArray(tw)) {
16                twClasses = tw.filter(Boolean).join(' ');
17            } else if (typeof tw === 'object' && tw !== null) {
18                twClasses = Object.entries(tw).filter(([, v]) => Boolean(v)).map(([k]) => k).join(' ');
19            } else {
20                twClasses = String(tw);
21            }
22
23            resolved.class = resolved.class ? `${resolved.class} ${twClasses}` : twClasses;
24            delete resolved.tailwind;
25            delete resolved.tw;
26        }
27
28        return resolved;
29    }
30};
31
32export default tailwind;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.