{
  "version": 3,
  "sources": ["../../../src/components/dataform-layouts/validation-badge.tsx"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Badge } from '@wordpress/ui';\nimport { sprintf, _n } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { FieldValidity } from '../../types';\n\nfunction countInvalidFields( validity: FieldValidity | undefined ): number {\n\tif ( ! validity ) {\n\t\treturn 0;\n\t}\n\n\tlet count = 0;\n\tconst validityRules = Object.keys( validity ).filter(\n\t\t( key ) => key !== 'children'\n\t);\n\n\tfor ( const key of validityRules ) {\n\t\tconst rule = validity[ key as keyof Omit< FieldValidity, 'children' > ];\n\t\tif ( rule?.type === 'invalid' ) {\n\t\t\tcount++;\n\t\t}\n\t}\n\n\t// Count children recursively\n\tif ( validity.children ) {\n\t\tfor ( const childValidity of Object.values( validity.children ) ) {\n\t\t\tcount += countInvalidFields( childValidity );\n\t\t}\n\t}\n\n\treturn count;\n}\n\nexport default function ValidationBadge( {\n\tvalidity,\n}: {\n\tvalidity: FieldValidity | undefined;\n} ) {\n\tconst invalidCount = countInvalidFields( validity );\n\n\tif ( invalidCount === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Badge intent=\"high\">\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %d: Number of fields that need attention */\n\t\t\t\t_n(\n\t\t\t\t\t'%d field needs attention',\n\t\t\t\t\t'%d fields need attention',\n\t\t\t\t\tinvalidCount\n\t\t\t\t),\n\t\t\t\tinvalidCount\n\t\t\t) }\n\t\t</Badge>\n\t);\n}\n"],
  "mappings": ";AAGA,SAAS,aAAa;AACtB,SAAS,SAAS,UAAU;AA8C1B;AAvCF,SAAS,mBAAoB,UAA8C;AAC1E,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,MAAI,QAAQ;AACZ,QAAM,gBAAgB,OAAO,KAAM,QAAS,EAAE;AAAA,IAC7C,CAAE,QAAS,QAAQ;AAAA,EACpB;AAEA,aAAY,OAAO,eAAgB;AAClC,UAAM,OAAO,SAAU,GAA+C;AACtE,QAAK,MAAM,SAAS,WAAY;AAC/B;AAAA,IACD;AAAA,EACD;AAGA,MAAK,SAAS,UAAW;AACxB,eAAY,iBAAiB,OAAO,OAAQ,SAAS,QAAS,GAAI;AACjE,eAAS,mBAAoB,aAAc;AAAA,IAC5C;AAAA,EACD;AAEA,SAAO;AACR;AAEe,SAAR,gBAAkC;AAAA,EACxC;AACD,GAEI;AACH,QAAM,eAAe,mBAAoB,QAAS;AAElD,MAAK,iBAAiB,GAAI;AACzB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,SAAM,QAAO,QACX;AAAA;AAAA,IAED;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,EACD,GACD;AAEF;",
  "names": []
}
