Class: Shadcn::AspectRatioComponent

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

Overview

Aspect Ratio component for maintaining content proportions Matches shadcn/ui AspectRatio component

Examples:

16:9 video ratio

<%= render Shadcn::AspectRatioComponent.new(ratio: 16.0/9.0) do %>
  <img src="image.jpg" class="h-full w-full object-cover" />
<% end %>

Square ratio

<%= render Shadcn::AspectRatioComponent.new(ratio: 1) do %>
  <img src="square.jpg" />
<% end %>

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(ratio: 1, **options) ⇒ AspectRatioComponent

Returns a new instance of AspectRatioComponent.

Parameters:

  • ratio (Float) (defaults to: 1)

    Aspect ratio (width/height, e.g. 16.0/9.0 for widescreen)



19
20
21
22
# File 'app/components/shadcn/aspect_ratio_component.rb', line 19

def initialize(ratio: 1, **options)
  super(**options)
  @ratio = ratio.to_f
end