Sha256: af9daf9ba74b18671b6a34bc6fa08b6da98cbbc9c29292d90ee49c3977ee9344

Contents?: true

Size: 1.41 KB

Versions: 546

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

module Playbook
  module Hover
    def self.included(base)
      base.prop :hover
    end

    def hover_options
      {
        hover: "hover",
      }
    end

    def hover_shadow_values
      %w[deep deeper deepest]
    end

    def hover_scale_values
      %w[sm md lg]
    end

    def hover_background_values
      []
    end

    def hover_color_values
      []
    end

    def hover_values
      hover_options.keys.select { |sk| try(sk) }
    end

    def hover_attributes
      %w[background shadow scale color]
    end

    def hover_props
      selected_props = hover_options.keys.select { |sk| try(sk) }
      return nil unless selected_props.present?

      responsive = selected_props.present? && try(selected_props.first).is_a?(::Hash)
      css = ""
      selected_props.each do |prop|
        value = send(prop)
        prefix = hover_options[prop]
        if responsive
          value.each do |key, val|
            if %i[background color].include?(key)
              css += "#{prefix}_#{key}_#{val} " if hover_attributes.include?(key.to_s)
            elsif hover_attributes.include?(key.to_s) && send("hover_#{key}_values").include?(val.to_s)
              css += "#{prefix}_#{key}_#{val} "
            end
          end
        elsif send("hover_#{prop}_values").include?(value)
          css += "#{prefix}_#{value} "
        end
      end

      css.strip unless css.blank?
    end
  end
end

Version data entries

546 entries across 546 versions & 1 rubygems

Version Path
playbook_ui-14.5.0.pre.alpha.play1586datearea4115 lib/playbook/hover.rb
playbook_ui-14.6.0.pre.rc.16 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4098 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4097 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4094 lib/playbook/hover.rb
playbook_ui-14.6.0.pre.rc.15 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4077 lib/playbook/hover.rb
playbook_ui-14.6.0.pre.rc.14 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4073 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PBNTR600reactfilterdisplayzeroresults4068 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY15814066 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PBNTR568dropdowncleaning4044 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PBNTR568dropdowncleaning4041 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY15814040 lib/playbook/hover.rb
playbook_ui-14.6.0.pre.rc.13 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4037 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.20241007playbookwebsiteaddrdbms4036 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PBNTR606multilevelselectreset4035 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4032 lib/playbook/hover.rb
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4028 lib/playbook/hover.rb