@props(['type' => 'info', 'dismissible' => false])
@php
$classes = [
'info' => 'bg-blue-100 border-blue-500 text-blue-700',
'success' => 'bg-green-100 border-green-500 text-green-700',
<?php
namespace App\Http\Livewire;
use App\Models\Post;
use Livewire\Component;
import React, { createContext, useContext, useState, ReactNode } from 'react'
interface TabsContextType {
activeTab: string
setActiveTab: (tab: string) => void
}
class ButtonComponent < ViewComponent::Base
VARIANTS = {
primary: "bg-blue-600 hover:bg-blue-700 text-white",
secondary: "bg-gray-200 hover:bg-gray-300 text-gray-900",
danger: "bg-red-600 hover:bg-red-700 text-white"
}.freeze
# Gemfile
gem 'view_component'
# app/components/button_component.rb
class ButtonComponent < ViewComponent::Base
VARIANTS = %w[primary secondary danger].freeze