Sha256: 5a52d8c14f67035fb584d84a64d6dfc7011866da0e8b49c4b4df9e18469e2b88

Contents?: true

Size: 860 Bytes

Versions: 1

Compression:

Stored size: 860 Bytes

Contents

module Plutonium::Ui
  class BlockComponent < Plutonium::Ui::Base
    option :rounded, optional: true
    option :scroll, optional: true

    private

    def classname
      classnames = ["relative bg-white dark:bg-gray-800 shadow-md", rounded_classes, scroll_classes]
      classnames << super.presence
      classnames.compact.join " "
    end

    def scroll_classes
      case scroll
      when :x
        "overflow-x-auto"
      when :y
        "overflow-y-auto"
      when :both
        "overflow-auto"
      else
        "overflow-hidden"
      end
    end

    def rounded_classes
      case rounded
      when :top
        "sm:rounded-t-lg mt-3"
      when :bottom
        "sm:rounded-b-lg mb-3"
      when :all
        "sm:rounded-lg my-3"
      end
    end
  end
end

Plutonium::ComponentRegistry.register :block, to: Plutonium::Ui::BlockComponent

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plutonium-0.8.0 app/views/components/block/block_component.rb