module Playbook::ZIndex

def self.included(base)

def self.included(base)
  base.prop :z_index
end

def screen_size_values

def screen_size_values
  %w[xs sm md lg xl]
end

def z_index_options

def z_index_options
  {
    z_index: "z-index",
  }
end

def z_index_props

def z_index_props
  selected_props = z_index_options.keys.select { |sk| try(sk) }
  return nil unless selected_props.present?
  responsive = selected_props.present? && try(:z_index).is_a?(::Hash)
  css = ""
  if responsive
    z_index_value = send(:z_index)
    z_index_value.each do |key, value|
      css += "z_index_#{key}_#{value} " if screen_size_values.include?(key.to_s) && z_index_values.include?(value.to_s)
    end
  else
    selected_props.each do |k|
      z_index_value = send(k)
      css += "z_index_#{z_index_value} " if z_index_values.include? z_index_value
    end
  end
  css unless css.blank?
end

def z_index_values

def z_index_values
  %w[1 2 3 4 5 6 7 8 9 10]
end