/* ------------------------------------------------------------------------ *\
   mixins.util.mediaquery
\* ------------------------------------------------------------------------ */


mediaqueries = {}
mediaqueries.offset = .01em


/**
 * [min description]
 * @param  {[type]} size  [description]
 * @param  {[type]} block =             null [description]
 * @return {[type]}       [description]
 */
u-mediaquery--min(size, block = null)
  @media (min-width: nix.mq[size] - mediaqueries.offset)
    {block}


/**
 * [max description]
 * @param  {[type]} size  [description]
 * @param  {[type]} block =             null [description]
 * @return {[type]}       [description]
 */
u-mediaquery--max(size, block = null)
  @media (max-width: (nix.mq[size] - mediaqueries.offset))
    {block}


/**
 * [range description]
 * @param  {[type]} sizeMin [description]
 * @param  {[type]} sizeMax [description]
 * @param  {[type]} block   =             null [description]
 * @return {[type]}         [description]
 */
u-mediaquery--range(sizeMin, sizeMax, block = null)
  @media (min-width: nix.mq[sizeMin]) and (max-width: (nix.mq[sizeMax] - mediaqueries.offset))
    {block}


/**
 * [mediaquery description]
 * @param  {[type]} sizeMin =             null [description]
 * @param  {[type]} sizeMax =             null [description]
 * @return {[type]}         [description]
 */
u-mediaquery(sizeMin = null, sizeMax = null)
  if sizeMin && sizeMax != null
    u-mediaquery--range(sizeMin, sizeMax, block)

  else if sizeMin != null
    u-mediaquery--min(sizeMin, block)

  else
    u-mediaquery--max(sizeMax, block)
