module Playbook::PbFormsGlobalPropsHelper

def extract_all_props(options)

def extract_all_props(options)
  global_props = %i[
    padding padding_top padding_bottom padding_left padding_right padding_x padding_y
    margin margin_top margin_bottom margin_left margin_right margin_x margin_y
    shadow width min_width max_width height min_height max_height
    position vertical_alignment z_index line_height number_spacing
    border_radius text_size letter_spacing display cursor hover
    text_align overflow overflow_x overflow_y truncate group_hover
  ]
  props = {}
  form_opts = options.dup
  global_props.each { |prop| props[prop] = form_opts.delete(prop) if form_opts.key?(prop) }
  if form_opts[:props].is_a?(Hash)
    nested_props = form_opts.delete(:props)
    props.merge!(nested_props.slice(*global_props))
  end
  [props, form_opts]
end