{"version":3,"file":"json2mq.mjs","sources":["../../../../packages/utils/json2mq.ts"],"sourcesContent":["/**\n * source by `json2mq`\n * https://github.com/akiran/json2mq.git\n */\n\nconst camel2hyphen = function (str: string) {\n  return str\n    .replace(/[A-Z]/g, (match) => {\n      return `-${match.toLowerCase()}`;\n    })\n    .toLowerCase();\n};\n\nconst isDimension = function (feature: string) {\n  const re = /[height|width]$/;\n  return re.test(feature);\n};\n\nconst obj2mq = function (obj: { [x: string]: any }) {\n  let mq = '';\n  const features = Object.keys(obj);\n  features.forEach((feature, index) => {\n    let value = obj[feature];\n    feature = camel2hyphen(feature);\n    // Add px to dimension features\n    if (isDimension(feature) && typeof value === 'number')\n      value = `${value}px`;\n\n    if (value === true)\n      mq += feature;\n    else if (value === false)\n      mq += `not ${feature}`;\n    else\n      mq += `(${feature}: ${value})`;\n\n    if (index < features.length - 1)\n      mq += ' and ';\n  });\n  return mq;\n};\n\nexport default function (query: any[]) {\n  let mq = '';\n  if (typeof query === 'string')\n    return query;\n\n  // Handling array of media queries\n  if (Array.isArray(query)) {\n    query.forEach((q, index) => {\n      mq += obj2mq(q);\n      if (index < query.length - 1)\n        mq += ', ';\n    });\n    return mq;\n  }\n  // Handling single media query\n  return obj2mq(query);\n}\n"],"names":[],"mappings":"AAKA,MAAM,YAAA,GAAe,SAAU,GAAa,EAAA;AAC1C,EAAA,OAAO,GACJ,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,KAAU,KAAA;AAC5B,IAAO,OAAA,CAAA,CAAA,EAAI,KAAM,CAAA,WAAA,EAAa,CAAA,CAAA,CAAA;AAAA,GAC/B,EACA,WAAY,EAAA,CAAA;AACjB,CAAA,CAAA;AAEA,MAAM,WAAA,GAAc,SAAU,OAAiB,EAAA;AAC7C,EAAA,MAAM,EAAK,GAAA,iBAAA,CAAA;AACX,EAAO,OAAA,EAAA,CAAG,KAAK,OAAO,CAAA,CAAA;AACxB,CAAA,CAAA;AAEA,MAAM,MAAA,GAAS,SAAU,GAA2B,EAAA;AAClD,EAAA,IAAI,EAAK,GAAA,EAAA,CAAA;AACT,EAAM,MAAA,QAAA,GAAW,MAAO,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAChC,EAAS,QAAA,CAAA,OAAA,CAAQ,CAAC,OAAA,EAAS,KAAU,KAAA;AACnC,IAAI,IAAA,KAAA,GAAQ,IAAI,OAAO,CAAA,CAAA;AACvB,IAAA,OAAA,GAAU,aAAa,OAAO,CAAA,CAAA;AAE9B,IAAA,IAAI,WAAY,CAAA,OAAO,CAAK,IAAA,OAAO,KAAU,KAAA,QAAA;AAC3C,MAAA,KAAA,GAAQ,GAAG,KAAK,CAAA,EAAA,CAAA,CAAA;AAElB,IAAA,IAAI,KAAU,KAAA,IAAA;AACZ,MAAM,EAAA,IAAA,OAAA,CAAA;AAAA,SAAA,IACC,KAAU,KAAA,KAAA;AACjB,MAAA,EAAA,IAAM,OAAO,OAAO,CAAA,CAAA,CAAA;AAAA;AAEpB,MAAM,EAAA,IAAA,CAAA,CAAA,EAAI,OAAO,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAA,CAAA;AAE7B,IAAI,IAAA,KAAA,GAAQ,SAAS,MAAS,GAAA,CAAA;AAC5B,MAAM,EAAA,IAAA,OAAA,CAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAO,OAAA,EAAA,CAAA;AACT,CAAA,CAAA;AAEA,gBAAA,CAAyB,KAAc,EAAA;AACrC,EAAA,IAAI,EAAK,GAAA,EAAA,CAAA;AACT,EAAA,IAAI,OAAO,KAAU,KAAA,QAAA;AACnB,IAAO,OAAA,KAAA,CAAA;AAGT,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,IAAM,KAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,KAAU,KAAA;AAC1B,MAAA,EAAA,IAAM,OAAO,CAAC,CAAA,CAAA;AACd,MAAI,IAAA,KAAA,GAAQ,MAAM,MAAS,GAAA,CAAA;AACzB,QAAM,EAAA,IAAA,IAAA,CAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,OAAO,KAAK,CAAA,CAAA;AACrB;;;;"}