| 
<?php// examples/bootstrap_example.php
 // Demonstrates using the HtmlElement library with Bootstrap classes via setClass()
 
 // Assumes Composer autoloader is included
 require_once __DIR__ . '/../vendor/autoload.php';
 
 use Hypertool\Html\HtmlElement;
 
 echo "--- Bootstrap Examples using setClass() ---\n\n";
 
 // --- Bootstrap Button ---
 echo "1. Bootstrap Button:\n";
 $button = HtmlElement::button('Primary Button')
 ->setClass('btn btn-primary'); // Apply Bootstrap button classes
 echo $button->output() . "\n\n";
 // Expected: <button class="btn btn-primary">Primary Button</button>
 
 // --- Bootstrap Alert ---
 echo "2. Bootstrap Alert:\n";
 $alert = HtmlElement::div('This is a success alert!')
 ->setClass('alert alert-success') // Apply Bootstrap alert classes
 ->setRole('alert'); // Add accessibility role
 echo $alert->output() . "\n\n";
 // Expected: <div class="alert alert-success" role="alert">This is a success alert!</div>
 
 // --- Bootstrap Card (Simple) ---
 echo "3. Bootstrap Card (Simple):\n";
 $cardDiv = HtmlElement::div()
 ->setClass('card') // Card container
 ->setStyle('width: 18rem;'); // Optional inline style
 
 $cardBody = HtmlElement::div()
 ->setClass('card-body'); // Card body
 
 $cardTitle = HtmlElement::h5('Card Title')->setClass('card-title');
 $cardText = HtmlElement::p('Some quick example text to build on the card title.')
 ->setClass('card-text');
 $cardLink = HtmlElement::a('Go somewhere')->setHref('#')->setClass('btn btn-info'); // Button inside card
 
 $cardBody->add_child('title', $cardTitle)
 ->add_child('text', $cardText)
 ->add_child('link', $cardLink);
 
 $cardDiv->add_child('body', $cardBody);
 
 echo $cardDiv->output() . "\n\n";
 /* Expected structure:
 <div class="card" style="width: 18rem;">
 <div class="card-body">
 <h5 class="card-title">Card Title</h5>
 <p class="card-text">Some quick example text...</p>
 <a href="#" class="btn btn-info">Go somewhere</a>
 </div>
 </div>
 */
 
 echo "--- End Bootstrap Examples ---\n";
 
 ?>
 |