Class: Panda::Core::Base
- Inherits:
-
ViewComponent::Base
- Object
- ViewComponent::Base
- Panda::Core::Base
- Defined in:
- app/components/panda/core/base.rb
Overview
Base class for all ViewComponent components in the Panda ecosystem.
This base component provides:
- Tailwind CSS class merging via TailwindMerge
- Attribute merging with sensible defaults
- Rails helper integration (inherited from ViewComponent::Base)
- Development-mode debugging comments
Direct Known Subclasses
Admin::AttributeDiffComponent, Admin::BreadcrumbComponent, Admin::BreadcrumbsComponent, Admin::ButtonComponent, Admin::CalloutComponent, Admin::CodeBlockComponent, Admin::ContainerComponent, Admin::ContributorsSummaryComponent, Admin::DashboardDefaultContentComponent, Admin::DeleteButtonComponent, Admin::DropdownButtonComponent, Admin::DropdownButtonComponent::ItemComponent, Admin::DropdownComponent, Admin::DropdownComponent::ItemComponent, Admin::EmptyStateComponent, Admin::FileGalleryComponent, Admin::FilterPillsComponent, Admin::FlashMessageComponent, Admin::FormErrorComponent, Admin::FormFooterComponent, Admin::FormInputComponent, Admin::FormSectionComponent, Admin::FormSelectComponent, Admin::HeadingComponent, Admin::LoginFormComponent, Admin::MyProfile::ConnectedAccountComponent, Admin::Navigation::ItemComponent, Admin::Navigation::SubItemComponent, Admin::Navigation::UserMenuComponent, Admin::PageHeaderComponent, Admin::PaginationComponent, Admin::PanelComponent, Admin::ProsePanelComponent, Admin::SearchBarComponent, Admin::SearchFilterBarComponent, Admin::SecretFieldComponent, Admin::SidebarComponent, Admin::SlideoverComponent, Admin::StatisticsComponent, Admin::TabBarComponent, Admin::TableComponent, Admin::TagBadgeComponent, Admin::TagComponent, Admin::TagInputComponent, Admin::TagsPanelComponent, Admin::UserActivityComponent, Admin::UserDisplayComponent, UI::Badge, UI::Button, UI::Card
Constant Summary collapse
- TAILWIND_MERGER =
Frozen instance of TailwindMerge for efficient class merging
::TailwindMerge::Merger.new.freeze
Instance Method Summary collapse
-
#initialize(**user_attrs) ⇒ Base
constructor
Initialize the component with user-provided attributes.
Constructor Details
#initialize(**user_attrs) ⇒ Base
Initialize the component with user-provided attributes. Subclasses should call super(**attrs) after setting their own instance variables.
59 60 61 62 |
# File 'app/components/panda/core/base.rb', line 59 def initialize(**user_attrs) super() @attrs = merge_attrs(user_attrs, default_attrs) end |