addComponent($title); // Button with m-10 p-10, should be: 12 (text) + 10 (padding-top) + 10 (padding-bottom) = 32px height $button1 = new Button( text: 'Click Me', style: 'm-10 p-10 bg-blue-500 rounded-lg', ); $mainContainer->addComponent($button1); // Button with different padding $button2 = new Button( text: 'Another Button', style: 'm-5 p-15 bg-green-500 rounded-lg', onClick: function () { echo 'test2'; }, ); $mainContainer->addComponent($button2); // Button with no padding $button3 = new Button( text: 'No Padding', style: 'm-10 bg-red-500 rounded-lg', ); $mainContainer->addComponent($button3); // Container with multiple labels (should stack) $labelContainer = new Container(style: 'm-10 p-10 bg-white rounded-lg'); $labelContainer->addComponent(new Label( text: 'Label 1', style: 'text-black', )); $labelContainer->addComponent(new Label( text: 'Label 2', style: 'text-black', )); $labelContainer->addComponent(new Label( text: 'Label 3', style: 'text-black', )); $mainContainer->addComponent($labelContainer); // Info text $info = new Label( text: 'Containers should auto-size to their content', style: 'text-black m-10', ); $mainContainer->addComponent($info); $app->setRoot($mainContainer); $app->run();