<?php 
// examples/tailwind_example.php 
// Demonstrates using the HtmlElement library with Tailwind CSS classes via setClass() 
 
// Assumes Composer autoloader is included 
require_once __DIR__ . '/../vendor/autoload.php'; 
 
use Hypertool\Html\HtmlElement; 
 
echo "--- Tailwind CSS Examples using setClass() ---\n\n"; 
 
// --- Tailwind Styled Button --- 
echo "1. Tailwind Styled Button:\n"; 
$button = HtmlElement::button('Styled Button') 
    ->setClass('bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded'); // Apply Tailwind utility classes 
echo $button->output() . "\n\n"; 
// Expected: <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Styled Button</button> 
 
// --- Tailwind Card --- 
echo "2. Tailwind Card:\n"; 
$card = HtmlElement::div() 
    ->setClass('max-w-sm rounded overflow-hidden shadow-lg bg-white'); // Apply Tailwind card container classes 
 
$image = HtmlElement::img() 
    ->setSrc('/img/card-top.jpg') // Placeholder image path 
    ->setAlt('Sunset in the mountains') 
    ->setClass('w-full'); 
 
$contentDiv = HtmlElement::div()->setClass('px-6 py-4'); 
 
$title = HtmlElement::div('The Coldest Sunset') 
    ->setClass('font-bold text-xl mb-2'); 
 
$text = HtmlElement::p('Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatibus quia, nulla! Maiores et perferendis eaque, exercitationem praesentium nihil.') 
    ->setClass('text-gray-700 text-base'); 
 
$contentDiv->add_child('title', $title)->add_child('text', $text); 
 
$tagsDiv = HtmlElement::div()->setClass('px-6 pt-4 pb-2'); 
 
$tag1 = HtmlElement::span('#photography')->setClass('inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2'); 
$tag2 = HtmlElement::span('#travel')->setClass('inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2'); 
$tag3 = HtmlElement::span('#winter')->setClass('inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2'); 
 
$tagsDiv->add_child('tag1', $tag1)->add_child('tag2', $tag2)->add_child('tag3', $tag3); 
 
$card->add_child('image', $image) 
     ->add_child('content', $contentDiv) 
     ->add_child('tags', $tagsDiv); 
 
echo $card->output() . "\n\n"; 
/* Expected structure similar to Tailwind card component example */ 
 
echo "--- End Tailwind CSS Examples ---\n"; 
 
?>
 
 |