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.