Class: LightningUiKit::AspectRatioComponent

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

Instance Method Summary collapse

Constructor Details

#initialize(ratio: "1 / 1", **options) ⇒ AspectRatioComponent

Returns a new instance of AspectRatioComponent.



2
3
4
5
# File 'app/components/lightning_ui_kit/aspect_ratio_component.rb', line 2

def initialize(ratio: "1 / 1", **options)
  @ratio = normalize_ratio(ratio)
  @options = options
end

Instance Method Details

#classesObject



7
8
9
10
11
12
13
# File 'app/components/lightning_ui_kit/aspect_ratio_component.rb', line 7

def classes
  merge_classes([
    "lui:relative lui:w-full lui:overflow-hidden",
    "lui:[&>img]:size-full lui:[&>img]:object-cover lui:[&>video]:size-full lui:[&>video]:object-cover",
    @options[:class]
  ].compact.join(" "))
end

#dataObject



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

def data
  @options[:data] || {}
end

#styleObject



15
16
17
# File 'app/components/lightning_ui_kit/aspect_ratio_component.rb', line 15

def style
  "aspect-ratio: #{@ratio};"
end