Sha256: 3042a877df4520caeca90c140b3537ab63c26b770b985627fa9d9764a8dccc0e

Contents?: true

Size: 1.67 KB

Versions: 27

Compression:

Stored size: 1.67 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbPopover
    class Popover
      include Playbook::Props
      partial "pb_popover/popover"

      prop :position, type: Playbook::Props::Enum,
                      values: %w[top bottom left right],
                      default: "left"
      prop :trigger_element_id
      prop :tooltip_id
      prop :max_height
      prop :max_width
      prop :min_width
      prop :min_height
      prop :z_index, type: Playbook::Props::String
      prop :offset, type: Playbook::Props::Boolean, default: false
      prop :close_on_click, type: Playbook::Props::Enum,
                            values: %w[none outside inside any],
                            default: "none"

      def classname
        generate_classname_without_spacing("pb_popover_kit")
      end

      def popover_spacing_helper
        generate_classname(spacing_props.nil? ? "p_sm" : spacing_props)
      end

      def z_index_helper
        z_index.present? ? "z-index: #{z_index}" : ""
      end

      def width_height_helper
        out = ""
        out += "max-height: #{max_height}; " if max_height.present?
        out += "max-width: #{max_width}; " if max_width.present?
        out += "min-height: #{min_height}; " if min_height.present?
        out += "min-width: #{min_width};" if min_width.present?
        out
      end

      def data
        Hash(values[:data]).merge(
          pb_popover_kit: true,
          pb_popover_position: position,
          pb_popover_trigger_element_id: trigger_element_id,
          pb_popover_tooltip_id: tooltip_id,
          pb_popover_offset: offset,
          pb_popover_close_on_click: close_on_click
        )
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
playbook_ui-5.2.0.pre.alpha15 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha14 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha13 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha12 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha11 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha10 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha9 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha8 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha7 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.3.0.pre.alpha1 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.4.0 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha6 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha5 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.3.0 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha4 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha3 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0.pre.alpha2 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.2.0 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.1.0 app/pb_kits/playbook/pb_popover/popover.rb
playbook_ui-5.0.3 app/pb_kits/playbook/pb_popover/popover.rb