{"version":3,"file":"icon-dimensions.mjs","sourceRoot":"","sources":["../../../src/manifest/validators/icon-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAmB;AAG9C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,QAAQ,EAAE,SAAS;IACnB,aAAa,CAAC,KAAK,EAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,IAAI,UAAU,IAAI,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1D,OAAO,CAAC,MAAM,CACZ,iBAAiB,EACjB,mGAAmG,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC","sourcesContent":["import { getSvgDimensions } from '../../icon';\nimport type { ValidatorMeta } from '../validator-types';\n\n/**\n * Verify the icon is square.\n */\nexport const iconDimensions: ValidatorMeta = {\n  severity: 'warning',\n  semanticCheck(files, context) {\n    if (!files.svgIcon) {\n      return;\n    }\n\n    const dimensions = getSvgDimensions(files.svgIcon.toString());\n    if (dimensions && dimensions?.height !== dimensions.width) {\n      context.report(\n        'icon-dimensions',\n        'The icon in the Snap manifest is not square. It is recommended to use a square icon for the Snap.',\n      );\n    }\n  },\n};\n"]}