Class: CubitComponents::ContentBlockComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
lib/cubit_components/content_block_component.rb

Constant Summary collapse

DEFAULT_CLASSES =
"max-w-screen mx-auto"
VALID_VATTRS =
Set.new(
  %w[
    max-w-3xs max-w-2xs max-w-xs
    max-w-sm max-w-md max-w-lg
    max-w-xl max-w-2xl max-w-3xl max-w-4xl max-w-5xl max-w-6xl max-w-7xl
    max-w-none max-w-full max-w-screen
  ]
)

Instance Method Summary collapse

Methods inherited from BaseComponent

#call

Constructor Details

#initialize(element: "div", classes: "", vattrs: []) ⇒ ContentBlockComponent

No extra vattr validation is required, so simply merge with default classes.



14
15
16
17
18
19
# File 'lib/cubit_components/content_block_component.rb', line 14

def initialize(element: "div", classes: "", vattrs: [])
  default_classes = DEFAULT_CLASSES.split(" ")
  default_classes.delete("max-w-screen") if vattrs.any? { |v| v.start_with?("max-w-") }
  merged_classes = [*default_classes, classes].join(" ").strip
  super(element: element, classes: merged_classes, vattrs: vattrs)
end