lib/prawn_html/tags/ul.rb
# frozen_string_literal: true module PrawnHtml module Tags class Ul < Tag ELEMENTS = [:ul].freeze MARGIN_TOP = 15 MARGIN_LEFT = 40 MARGIN_BOTTOM = 15 def initialize(tag, attributes: {}, options: {}) super @first_level = false end def block? true end def on_context_add(context) return if context.map(&:tag).count { |el| el == :ul } > 1 @first_level = true end def tag_styles if @first_level <<~STYLES margin-top: #{MARGIN_TOP}px; margin-left: #{MARGIN_LEFT}px; margin-bottom: #{MARGIN_BOTTOM}px; STYLES else "margin-left: #{MARGIN_LEFT}px" end end end end end