Sha256: 04f9f71381f10bc69f4f55af56fdd695c221adffa6fa882693822124458c688f
Contents?: true
Size: 984 Bytes
Versions: 1
Compression:
Stored size: 984 Bytes
Contents
# frozen_string_literal: true module Grid module Columns class ColumnsComponent < ViewComponent::Base BREAK_POINTS = [:xs, :sm, :md, :lg, :xl, :xxl] def initialize(**options) @columns = options[:col] @offsets = options[:offset] @classes = options[:classes] @styles = options[:styles] end def call content_tag(:div, content, class: column_class_builder, style: @styles, ) end private def column_class_builder "#{column_breakpoint} #{column_offset} #{@classes}" end def class_parser(option, klass) option.map do |key, value| if BREAK_POINTS.include?(key) "#{klass}-#{key}-#{value} " end end.join('').strip end def column_breakpoint class_parser(@columns, 'col') end def column_offset class_parser(@offsets, 'offset') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bsvc-0.1.0 | app/components/grid/columns/columns_component.rb |