Sha256: ba1125b0d02579e39fb2bc1b2efcde63a352fdb97135d8780f4681d34e9fc0bf

Contents?: true

Size: 900 Bytes

Versions: 6

Compression:

Stored size: 900 Bytes

Contents

module Voom
  module Presenters
    module DSL
      module Components
        class PageTitle < Typography
          include Mixins::Grids
          include Mixins::Append
          include Components::Mixins::Typography
          include Components::Mixins::Icons
          include Components::Mixins::Buttons

          attr_accessor :components

          def initialize(parent:, level: nil, **attribs_, &block)
            @components = []
            super(type: :page_title,
                  parent: parent,
                  level: level,
                  **attribs_, &block)
            self.icon(attribs.delete(:icon)) if attribs.key?(:icon)
          end

          def icon(icon = nil, **attribs, &block)
            self << Components::Icon.new(parent: self, icon: icon,
                                         **attribs, &block)
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
voom-presenters-2.1.2 lib/voom/presenters/dsl/components/page_title.rb
voom-presenters-2.1.0 lib/voom/presenters/dsl/components/page_title.rb
voom-presenters-2.0.3 lib/voom/presenters/dsl/components/page_title.rb
voom-presenters-2.0.2 lib/voom/presenters/dsl/components/page_title.rb
voom-presenters-2.0.1 lib/voom/presenters/dsl/components/page_title.rb
voom-presenters-2.0.0 lib/voom/presenters/dsl/components/page_title.rb