Class: Shadcn::SpinnerComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/shadcn/spinner_component.rb

Overview

Spinner component for loading states Matches shadcn/ui Spinner component

Examples:

Basic spinner

<%= render Shadcn::SpinnerComponent.new %>

With size

<%= render Shadcn::SpinnerComponent.new(size: :sm) %>
<%= render Shadcn::SpinnerComponent.new(size: :lg) %>

Custom color

<%= render Shadcn::SpinnerComponent.new(class_name: "text-primary") %>

Constant Summary collapse

SIZES =
{
  sm: "h-4 w-4",
  default: "h-6 w-6",
  lg: "h-8 w-8",
  xl: "h-12 w-12"
}.freeze
BASE_CLASSES =
"animate-spin text-muted-foreground"

Instance Attribute Summary

Attributes inherited from BaseComponent

#class_name, #data, #html_options

Instance Method Summary collapse

Methods inherited from BaseComponent

#content

Methods included from Rails::Helpers::ClassNameHelper

#cn

Constructor Details

#initialize(size: :default, **options) ⇒ SpinnerComponent

Returns a new instance of SpinnerComponent.

Parameters:

  • size (Symbol) (defaults to: :default)

    Spinner size (:sm, :default, :lg, :xl)



28
29
30
31
# File 'app/components/shadcn/spinner_component.rb', line 28

def initialize(size: :default, **options)
  super(**options)
  @size = size.to_sym
end