{"version":3,"file":"index.cjs","names":["React"],"sources":["../../../../@mongez/react-localization/src/converters.tsx","../../../../@mongez/react-localization/src/translator.ts"],"sourcesContent":["import React from \"react\";\r\n\r\n/**\r\n * JSX converter\r\n *\r\n * @param translation The translation string containing placeholders.\r\n * @param placeholders An object mapping placeholder names to their values.\r\n * @param placeholderPattern A RegExp pattern for matching placeholders in the translation string.\r\n * @returns An array of React elements where placeholders are replaced with their corresponding values.\r\n */\r\nexport function jsxConverter(\r\n  translation: string,\r\n  placeholders: any,\r\n  placeholderPattern: RegExp,\r\n) {\r\n  if (\r\n    placeholders == null ||\r\n    typeof placeholders !== \"object\" ||\r\n    Object.keys(placeholders).length === 0\r\n  ) {\r\n    return translation;\r\n  }\r\n\r\n  // Split the translation string based on the placeholder pattern\r\n  const parts = translation.split(placeholderPattern);\r\n\r\n  // Map over the parts to replace placeholders with React.Fragment\r\n  return parts.map((part, index) => {\r\n    // Check if this part is a placeholder or text\r\n    if (index % 2 === 1) {\r\n      // This is a placeholder (odd index) based on splitting pattern\r\n      const placeholderKey = part; // Get the placeholder key\r\n      const value = placeholders[placeholderKey];\r\n      part = value === undefined || value === null ? placeholderKey : value;\r\n    }\r\n\r\n    return <React.Fragment key={index}>{part}</React.Fragment>;\r\n  });\r\n}\r\n","import { getTranslationLocaleCode, transFrom } from \"@mongez/localization\";\r\nimport { jsxConverter } from \"./converters\";\r\n\r\n/**\r\n * Translate for jsx\r\n */\r\nexport function transX(keyword: string, placeholders?: any) {\r\n  return transFrom(\r\n    getTranslationLocaleCode(),\r\n    keyword,\r\n    placeholders,\r\n    jsxConverter,\r\n  );\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAgB,aACd,aACA,cACA,oBACA;CACA,IACE,gBAAgB,QAChB,OAAO,iBAAiB,YACxB,OAAO,KAAK,YAAY,EAAE,WAAW,GAErC,OAAO;CAOT,OAHc,YAAY,MAAM,kBAGrB,EAAE,KAAK,MAAM,UAAU;EAEhC,IAAI,QAAQ,MAAM,GAAG;GAEnB,MAAM,iBAAiB;GACvB,MAAM,QAAQ,aAAa;GAC3B,OAAO,UAAU,UAAa,UAAU,OAAO,iBAAiB;EAClE;EAEA,OAAO,2CAACA,cAAM,UAAP,YAA6B,KAAqB,GAA7B,KAA6B;CAC3D,CAAC;AACH;;;;;;;AChCA,SAAgB,OAAO,SAAiB,cAAoB;CAC1D,8FAC2B,GACzB,SACA,cACA,YACF;AACF"}