dhre-ui-kit 0.0.373 → 0.0.375
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +1 -0
- package/lib/index.js +45 -2
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +44 -2
- package/lib/index.mjs.map +1 -1
- package/package.json +2 -1
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var reactRedux = require('react-redux');
|
|
7
7
|
var reactNative = require('react-native');
|
|
8
|
+
var translate = require('google-translate-api-x');
|
|
8
9
|
var Modal = require('react-native-modal');
|
|
9
10
|
var Clipboard = require('@react-native-clipboard/clipboard');
|
|
10
11
|
var LottieView = require('lottie-react-native');
|
|
@@ -41,6 +42,7 @@ function _interopNamespace(e) {
|
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
45
|
+
var translate__default = /*#__PURE__*/_interopDefaultLegacy(translate);
|
|
44
46
|
var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
|
|
45
47
|
var Clipboard__default = /*#__PURE__*/_interopDefaultLegacy(Clipboard);
|
|
46
48
|
var LottieView__default = /*#__PURE__*/_interopDefaultLegacy(LottieView);
|
|
@@ -374,14 +376,55 @@ const FONT_STYLES = {
|
|
|
374
376
|
[FontStyle.L3_REGULAR]: createFontStyle("MeraasAktiv-Regular", 10, 14)
|
|
375
377
|
};
|
|
376
378
|
|
|
379
|
+
const translateToArabic = async (text) => {
|
|
380
|
+
if (!text || text.trim() === "") {
|
|
381
|
+
return text;
|
|
382
|
+
}
|
|
383
|
+
try {
|
|
384
|
+
const result = await translate__default["default"](text, { to: "ar" });
|
|
385
|
+
return result.text || text;
|
|
386
|
+
} catch (error) {
|
|
387
|
+
console.error("Translation error:", error);
|
|
388
|
+
return text;
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
const useArabicTranslation = (text, shouldTranslate = false) => {
|
|
392
|
+
const [translatedText, setTranslatedText] = React.useState(text || "");
|
|
393
|
+
const [isTranslating, setIsTranslating] = React.useState(false);
|
|
394
|
+
const [error, setError] = React.useState(null);
|
|
395
|
+
React.useEffect(() => {
|
|
396
|
+
if (!shouldTranslate || !text) {
|
|
397
|
+
setTranslatedText(text || "");
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
const translate2 = async () => {
|
|
401
|
+
setIsTranslating(true);
|
|
402
|
+
setError(null);
|
|
403
|
+
try {
|
|
404
|
+
const translated = await translateToArabic(text);
|
|
405
|
+
setTranslatedText(translated);
|
|
406
|
+
} catch (err) {
|
|
407
|
+
setError(err instanceof Error ? err.message : "Translation failed");
|
|
408
|
+
setTranslatedText(text);
|
|
409
|
+
} finally {
|
|
410
|
+
setIsTranslating(false);
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
translate2();
|
|
414
|
+
}, [text, shouldTranslate]);
|
|
415
|
+
return { translatedText, isTranslating, error };
|
|
416
|
+
};
|
|
417
|
+
|
|
377
418
|
const CustomTypography = ({
|
|
378
419
|
variant,
|
|
379
420
|
style,
|
|
380
421
|
text,
|
|
381
422
|
testID = "CUSTOM_TYPOGRAPHY",
|
|
423
|
+
translateToArabic = true,
|
|
382
424
|
...props
|
|
383
425
|
}) => {
|
|
384
426
|
const textStyle = FONT_STYLES[variant];
|
|
427
|
+
const { translatedText } = useArabicTranslation(text, translateToArabic);
|
|
385
428
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
386
429
|
reactNative.Text,
|
|
387
430
|
{
|
|
@@ -389,7 +432,7 @@ const CustomTypography = ({
|
|
|
389
432
|
style: [textStyle, styles$B.container, style],
|
|
390
433
|
...props
|
|
391
434
|
},
|
|
392
|
-
|
|
435
|
+
translatedText
|
|
393
436
|
);
|
|
394
437
|
};
|
|
395
438
|
const styles$B = reactNative.StyleSheet.create({
|
|
@@ -408,7 +451,7 @@ const CustomText = ({
|
|
|
408
451
|
CustomTypography,
|
|
409
452
|
{
|
|
410
453
|
variant,
|
|
411
|
-
text: "
|
|
454
|
+
text: text || "",
|
|
412
455
|
style: [{ color: theme[textColor] }, style],
|
|
413
456
|
...props
|
|
414
457
|
}
|