{"version":3,"sources":["jsdelivr-header.js","/npm/pixel-to-css@1.0.3/src/pixelToCSS.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACJA,MAAM,MAAQ,QAAQ,YAGtB,SAAS,SAAS,EAAG,EAAG,GACtB,MAAO,MAAQ,GAAK,KAAO,GAAK,KAAO,GAAK,GAAK,GAAG,SAAS,IAAI,MAAM,EACzE,CAEA,MAAO,KAAM,KAAM,YAAc,QAAQ,KAAK,MAAM,GAEpD,eAAe,gBACb,MAAM,QAAY,MAAM,MAAM,KAAK,MAI7B,EAAW,EAAI,MACf,EAAQ,QAAQ,IAAa,EAAI,WAAW,GAC5C,EAAkB,QAAQ,IAAa,EAAM,iBAE7C,EAAQ,EAAI,MACZ,EAAS,EAAI,OAEb,EAAa,EAAI,iBAEvB,IAAI,EAAc,IAAI,6BAItB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,IAAK,CAC9B,MAAM,EAAY,EAAI,EAAQ,EACxB,GAAK,EAAI,GAAK,KACd,EAAI,EAAI,KACd,IAAK,GAA2C,IAAlC,EAAgB,GAAW,GAAU,CACjD,MAAO,EAAG,EAAG,GAAK,EAAW,GAC7B,GAA4B,GAAI,OAAO,IAAU,IAAN,EAAU,KAAO,MAAM,SAAS,EAAG,EAAG,KAAK,EAAY,EAAW,OAAS,EAAI,MAAQ,IACpI,CACF,CAEgD,QAA1B,EAAY,OAAO,KAEzC,EAAc,EAAY,MAAM,EAAG,EAAY,OAAS,IAE1D,GAA4B,OAE5B,QAAQ,IAAI,EACd,CAEA","file":"/npm/pixel-to-css@1.0.3/src/pixelToCSS.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/pixel-to-css@1.0.3/src/pixelToCSS.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\r\n\r\nconst imgJS = require(\"image-js\");\r\n\r\n// Helper function to convert R,G,B channels to a hex color value.\r\nfunction rgbToHex(r, g, b) {\r\n  return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\r\n}\r\n\r\nconst [file, SIZE, CLASS_NAME] = process.argv.slice(2);\r\n\r\nasync function getPixelArray() {\r\n  const img = await imgJS.Image.load(file);\r\n\r\n\r\n  // If there is an alpha layer we need to exclude transparent pixels.\r\n  const hasAlpha = img.alpha\r\n  const alpha = Boolean(hasAlpha) && img.getChannel(3);\r\n  const alphaPixelArray = Boolean(hasAlpha) && alpha.getPixelsArray();\r\n\r\n  const width = img.width;\r\n  const height = img.height;\r\n// getPixelsArray returns an Array of Arrays containing [R,G,B]\r\n  const pixelArray = img.getPixelsArray();\r\n\r\n  let classString = `.${CLASS_NAME}{\\n  box-shadow:`\r\n\r\n\r\n    // For every pixel in the image create a box-shadow entry at the correct position\r\n  for (let i = 0; i < height; i++) {\r\n    for (let j = 0; j < width; j++) {\r\n      const iteration = i * width + j\r\n      const x = (j + 1) * SIZE;\r\n      const y = i * SIZE;\r\n      if (!alpha || alphaPixelArray[iteration][0] !== 0) {\r\n        const [r, g, b] = pixelArray[iteration];\r\n        classString = classString + (`${x}px ${y}${y !== 0 ? \"px\" : \"\"} ${rgbToHex(r, g, b)}${iteration < pixelArray.length - 1 ? \",\\n\" : \"\"}`);\r\n      }\r\n    }\r\n  }\r\n  const isNotTerminated = classString.slice(-2) === \",\\n\"\r\n  if(isNotTerminated){\r\n    classString = classString.slice(0, classString.length - 2)\r\n  }\r\n  classString = classString + \"\\n};\"\r\n  // Return class string to STDOUT\r\n  console.log(classString)\r\n}\r\n\r\ngetPixelArray();\r\n"]}