react-native-ios-translate-sheet 0.0.1 → 1.0.1

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.
Files changed (72) hide show
  1. package/README.md +12 -16
  2. package/lib/commonjs/IOSTranslateSheetViewNativeComponent.js.map +1 -1
  3. package/lib/commonjs/TranslateContext.js +55 -0
  4. package/lib/commonjs/TranslateContext.js.map +1 -0
  5. package/lib/commonjs/index.js +5 -5
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/useTranslate.js +15 -28
  8. package/lib/commonjs/useTranslate.js.map +1 -1
  9. package/lib/module/IOSTranslateSheetViewNativeComponent.js.map +1 -1
  10. package/lib/module/TranslateContext.js +48 -0
  11. package/lib/module/TranslateContext.js.map +1 -0
  12. package/lib/module/index.js +3 -3
  13. package/lib/module/index.js.map +1 -1
  14. package/lib/module/useTranslate.js +13 -26
  15. package/lib/module/useTranslate.js.map +1 -1
  16. package/lib/typescript/{module/src/IOSTranslateSheetViewNativeComponent.d.ts → IOSTranslateSheetViewNativeComponent.d.ts} +3 -3
  17. package/lib/typescript/IOSTranslateSheetViewNativeComponent.d.ts.map +1 -0
  18. package/lib/typescript/TranslateContext.d.ts +10 -0
  19. package/lib/typescript/TranslateContext.d.ts.map +1 -0
  20. package/lib/typescript/{commonjs/src/index.d.ts → index.d.ts} +1 -1
  21. package/lib/typescript/index.d.ts.map +1 -0
  22. package/lib/typescript/useTranslate.d.ts +8 -0
  23. package/lib/typescript/useTranslate.d.ts.map +1 -0
  24. package/package.json +12 -36
  25. package/src/IOSTranslateSheetViewNativeComponent.ts +5 -3
  26. package/src/TranslateContext.tsx +53 -0
  27. package/src/index.tsx +1 -1
  28. package/src/useTranslate.tsx +14 -28
  29. package/android/generated/java/com/facebook/react/viewmanagers/IOSTranslateSheetViewManagerDelegate.java +0 -38
  30. package/android/generated/java/com/facebook/react/viewmanagers/IOSTranslateSheetViewManagerInterface.java +0 -20
  31. package/android/generated/jni/CMakeLists.txt +0 -36
  32. package/android/generated/jni/RNIOSTranslateSheetViewSpec-generated.cpp +0 -22
  33. package/android/generated/jni/RNIOSTranslateSheetViewSpec.h +0 -24
  34. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ComponentDescriptors.cpp +0 -22
  35. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ComponentDescriptors.h +0 -24
  36. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.cpp +0 -24
  37. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.h +0 -25
  38. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.cpp +0 -27
  39. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.h +0 -29
  40. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpecJSI-generated.cpp +0 -17
  41. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpecJSI.h +0 -19
  42. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ShadowNodes.cpp +0 -17
  43. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ShadowNodes.h +0 -32
  44. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/States.cpp +0 -16
  45. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/States.h +0 -29
  46. package/ios/generated/RNIOSTranslateSheetViewSpec/ComponentDescriptors.cpp +0 -22
  47. package/ios/generated/RNIOSTranslateSheetViewSpec/ComponentDescriptors.h +0 -24
  48. package/ios/generated/RNIOSTranslateSheetViewSpec/EventEmitters.cpp +0 -24
  49. package/ios/generated/RNIOSTranslateSheetViewSpec/EventEmitters.h +0 -25
  50. package/ios/generated/RNIOSTranslateSheetViewSpec/Props.cpp +0 -27
  51. package/ios/generated/RNIOSTranslateSheetViewSpec/Props.h +0 -29
  52. package/ios/generated/RNIOSTranslateSheetViewSpec/RCTComponentViewHelpers.h +0 -20
  53. package/ios/generated/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpec-generated.mm +0 -16
  54. package/ios/generated/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpec.h +0 -38
  55. package/ios/generated/RNIOSTranslateSheetViewSpec/ShadowNodes.cpp +0 -17
  56. package/ios/generated/RNIOSTranslateSheetViewSpec/ShadowNodes.h +0 -32
  57. package/ios/generated/RNIOSTranslateSheetViewSpec/States.cpp +0 -16
  58. package/ios/generated/RNIOSTranslateSheetViewSpec/States.h +0 -29
  59. package/ios/generated/RNIOSTranslateSheetViewSpecJSI-generated.cpp +0 -17
  60. package/ios/generated/RNIOSTranslateSheetViewSpecJSI.h +0 -19
  61. package/lib/typescript/commonjs/src/IOSTranslateSheetViewNativeComponent.d.ts +0 -11
  62. package/lib/typescript/commonjs/src/IOSTranslateSheetViewNativeComponent.d.ts.map +0 -1
  63. package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
  64. package/lib/typescript/commonjs/src/useTranslate.d.ts +0 -6
  65. package/lib/typescript/commonjs/src/useTranslate.d.ts.map +0 -1
  66. package/lib/typescript/module/src/IOSTranslateSheetViewNativeComponent.d.ts.map +0 -1
  67. package/lib/typescript/module/src/index.d.ts +0 -4
  68. package/lib/typescript/module/src/index.d.ts.map +0 -1
  69. package/lib/typescript/module/src/useTranslate.d.ts +0 -6
  70. package/lib/typescript/module/src/useTranslate.d.ts.map +0 -1
  71. /package/lib/{typescript/commonjs → commonjs}/package.json +0 -0
  72. /package/lib/{typescript/module → module}/package.json +0 -0
package/README.md CHANGED
@@ -22,10 +22,6 @@
22
22
  - 🌐 Access to all languages supported by iOS translation
23
23
  - 📱 Native iOS UI and interactions
24
24
 
25
- ## Requirements
26
-
27
- - iOS 17.4 or later
28
-
29
25
  ## Platform Compatibility
30
26
 
31
27
  This library is designed specifically for iOS 17.4 and above. It can be safely installed in your React Native project regardless of your target iOS version or if you're developing for Android. However, please note:
@@ -53,24 +49,24 @@ cd ios && pod install
53
49
 
54
50
  ### Using the Hook
55
51
 
56
- For a more convenient implementation, you can use the provided `useTranslate` hook:
52
+ For a more convenient implementation, you can use the provided `useIOSTranslateSheet` hook:
57
53
 
58
54
  ```jsx
59
55
  import React from 'react';
60
56
  import { View, Button, StyleSheet, Text } from 'react-native';
61
- import { useTranslate } from 'react-native-ios-translate-sheet';
57
+ import { useIOSTranslateSheet } from 'react-native-ios-translate-sheet';
62
58
 
63
59
  export default function App() {
64
- const { translate, TranslateView } = useTranslate();
60
+ const { presentIOSTranslateSheet, IOSTranslateSheetView } = useIOSTranslateSheet();
65
61
 
66
62
  const handleTranslate = () => {
67
- translate('Hello world! This is a sample text to translate.');
63
+ presentIOSTranslateSheet('Hello world! This is a sample text to translate.');
68
64
  };
69
65
 
70
66
  return (
71
67
  <View style={styles.container}>
72
- {/* Add the TranslateView component to your render tree */}
73
- <TranslateView />
68
+ {/* Add the IOSTranslateSheetView component to your render tree */}
69
+ <IOSTranslateSheetView />
74
70
  <Text style={styles.text}>
75
71
  Press the button below to translate text
76
72
  </Text>
@@ -96,11 +92,11 @@ const styles = StyleSheet.create({
96
92
  });
97
93
  ```
98
94
 
99
- The `useTranslate` hook provides:
95
+ The `useIOSTranslateSheet` hook provides:
100
96
 
101
- - `translate(text)`: Function to show the translation sheet with the provided text
102
- - `TranslateView`: A pre-configured component that handles the translation UI
103
- - `isPresented`: Boolean state indicating if the translation sheet is currently visible
97
+ - `presentIOSTranslateSheet(text)`: Function to show the translation sheet with the provided text
98
+ - `IOSTranslateSheetView`: A pre-configured component that handles the translation UI
99
+ - `isIOSTranslateSheetPresented`: Boolean state indicating if the translation sheet is currently visible
104
100
 
105
101
  This approach simplifies state management and allows you to trigger translations from anywhere in your component.
106
102
 
@@ -159,7 +155,7 @@ const styles = StyleSheet.create({
159
155
 
160
156
  ### Important Note on View Positioning
161
157
 
162
- > ⚠️ **Warning**: The `IOSTranslateSheetView` or `TranslateView` from the hook **must** cover the entire screen to work properly.
158
+ > ⚠️ **Warning**: The `IOSTranslateSheetView` or `IOSTranslateSheetView` from the hook **must** cover the entire screen to work properly.
163
159
 
164
160
  This is necessary because:
165
161
 
@@ -167,7 +163,7 @@ This is necessary because:
167
163
  2. The component needs to overlay all other UI elements to ensure proper interaction
168
164
  3. The iOS translation sheet is presented modally on top of your app's content
169
165
 
170
- `<TranslateView />` from the `useTranslate` hook is an absolute full-screen view, so place it well on your component tree to ensure it covers the entire screen. A good practice is to place it at the root level of your app or screen component.
166
+ `<IOSTranslateSheetView />` from the `useIOSTranslateSheet` hook is an absolute full-screen view, so place it well on your component tree to ensure it covers the entire screen. A good practice is to place it at the root level of your app or screen component.
171
167
 
172
168
  If the view is not positioned correctly, the translation sheet may not appear or function as expected.
173
169
 
@@ -1 +1 @@
1
- {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../src","sources":["IOSTranslateSheetViewNativeComponent.ts"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAS9E,IAAAG,+BAAsB,EAAc,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../src","sources":["IOSTranslateSheetViewNativeComponent.ts"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAS9E,IAAAG,+BAAsB,EACnC,uBACF,CAAC","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIOSTranslateSheet = exports.TranslateProvider = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _IOSTranslateSheetViewNativeComponent = _interopRequireDefault(require("./IOSTranslateSheetViewNativeComponent"));
10
+ var _useTranslate = require("./useTranslate");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const TranslateContext = /*#__PURE__*/(0, _react.createContext)(null);
14
+ const TranslateProvider = ({
15
+ children
16
+ }) => {
17
+ const {
18
+ presentIOSTranslateSheet,
19
+ isIOSTranslateSheetPresented,
20
+ text,
21
+ opacity,
22
+ hideTranslateSheet
23
+ } = (0, _useTranslate.useInternalTranslateSheet)();
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TranslateContext.Provider, {
25
+ value: {
26
+ presentIOSTranslateSheet
27
+ },
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IOSTranslateSheetViewNativeComponent.default, {
29
+ text: text,
30
+ isPresented: isIOSTranslateSheetPresented,
31
+ onHide: hideTranslateSheet,
32
+ opacity: opacity,
33
+ style: styles.translateView
34
+ }), children]
35
+ });
36
+ };
37
+ exports.TranslateProvider = TranslateProvider;
38
+ const useIOSTranslateSheet = () => {
39
+ const context = (0, _react.useContext)(TranslateContext);
40
+ if (!context) {
41
+ throw new Error("useTranslateSheet must be used within a TranslateProvider");
42
+ }
43
+ return context;
44
+ };
45
+ exports.useIOSTranslateSheet = useIOSTranslateSheet;
46
+ const styles = _reactNative.StyleSheet.create({
47
+ translateView: {
48
+ position: "absolute",
49
+ top: 0,
50
+ left: 0,
51
+ right: 0,
52
+ bottom: 0
53
+ }
54
+ });
55
+ //# sourceMappingURL=TranslateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_IOSTranslateSheetViewNativeComponent","_interopRequireDefault","_useTranslate","_jsxRuntime","e","__esModule","default","TranslateContext","createContext","TranslateProvider","children","presentIOSTranslateSheet","isIOSTranslateSheetPresented","text","opacity","hideTranslateSheet","useInternalTranslateSheet","jsxs","Provider","value","jsx","isPresented","onHide","style","styles","translateView","exports","useIOSTranslateSheet","context","useContext","Error","StyleSheet","create","position","top","left","right","bottom"],"sourceRoot":"../../src","sources":["TranslateContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,qCAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA2D,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM3D,MAAMG,gBAAgB,gBAAG,IAAAC,oBAAa,EAA8B,IAAI,CAAC;AAElE,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EAC1E,MAAM;IACJC,wBAAwB;IACxBC,4BAA4B;IAC5BC,IAAI;IACJC,OAAO;IACPC;EACF,CAAC,GAAG,IAAAC,uCAAyB,EAAC,CAAC;EAE/B,oBACE,IAAAb,WAAA,CAAAc,IAAA,EAACV,gBAAgB,CAACW,QAAQ;IAACC,KAAK,EAAE;MAAER;IAAyB,CAAE;IAAAD,QAAA,gBAC7D,IAAAP,WAAA,CAAAiB,GAAA,EAACpB,qCAAA,CAAAM,OAAiB;MAChBO,IAAI,EAAEA,IAAK;MACXQ,WAAW,EAAET,4BAA6B;MAC1CU,MAAM,EAAEP,kBAAmB;MAC3BD,OAAO,EAAEA,OAAQ;MACjBS,KAAK,EAAEC,MAAM,CAACC;IAAc,CAC7B,CAAC,EACDf,QAAQ;EAAA,CACgB,CAAC;AAEhC,CAAC;AAACgB,OAAA,CAAAjB,iBAAA,GAAAA,iBAAA;AAEK,MAAMkB,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACtB,gBAAgB,CAAC;EAC5C,IAAI,CAACqB,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CACb,2DACF,CAAC;EACH;EACA,OAAOF,OAAO;AAChB,CAAC;AAACF,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAEF,MAAMH,MAAM,GAAGO,uBAAU,CAACC,MAAM,CAAC;EAC/BP,aAAa,EAAE;IACbQ,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "IOSTranslateSheet", {
12
12
  return _IOSTranslateSheetViewNativeComponent.default;
13
13
  }
14
14
  });
15
- var _IOSTranslateSheetViewNativeComponent = _interopRequireWildcard(require("./IOSTranslateSheetViewNativeComponent.js"));
15
+ var _IOSTranslateSheetViewNativeComponent = _interopRequireWildcard(require("./IOSTranslateSheetViewNativeComponent"));
16
16
  Object.keys(_IOSTranslateSheetViewNativeComponent).forEach(function (key) {
17
17
  if (key === "default" || key === "__esModule") return;
18
18
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -24,15 +24,15 @@ Object.keys(_IOSTranslateSheetViewNativeComponent).forEach(function (key) {
24
24
  }
25
25
  });
26
26
  });
27
- var _useTranslate = require("./useTranslate.js");
28
- Object.keys(_useTranslate).forEach(function (key) {
27
+ var _TranslateContext = require("./TranslateContext");
28
+ Object.keys(_TranslateContext).forEach(function (key) {
29
29
  if (key === "default" || key === "__esModule") return;
30
30
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
- if (key in exports && exports[key] === _useTranslate[key]) return;
31
+ if (key in exports && exports[key] === _TranslateContext[key]) return;
32
32
  Object.defineProperty(exports, key, {
33
33
  enumerable: true,
34
34
  get: function () {
35
- return _useTranslate[key];
35
+ return _TranslateContext[key];
36
36
  }
37
37
  });
38
38
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_IOSTranslateSheetViewNativeComponent","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTranslate","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,qCAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,qCAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,qCAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,qCAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,aAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,aAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,aAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAA+B,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAN,GAAA,CAAAG,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAApB,cAAA,CAAAC,IAAA,CAAAQ,CAAA,EAAAW,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAV,CAAA,EAAAW,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAAf,GAAA,IAAAe,CAAA,CAAAC,GAAA,IAAA3B,MAAA,CAAAS,cAAA,CAAAY,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_IOSTranslateSheetViewNativeComponent","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_TranslateContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,qCAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,qCAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,qCAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,qCAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,iBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,iBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,iBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAAmC,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAN,GAAA,CAAAG,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAApB,cAAA,CAAAC,IAAA,CAAAQ,CAAA,EAAAW,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAV,CAAA,EAAAW,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAAf,GAAA,IAAAe,CAAA,CAAAC,GAAA,IAAA3B,MAAA,CAAAS,cAAA,CAAAY,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA","ignoreList":[]}
@@ -3,40 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useTranslate = void 0;
6
+ exports.useInternalTranslateSheet = void 0;
7
7
  var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _reactNativeIosTranslateSheet = require("react-native-ios-translate-sheet");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- const useTranslate = () => {
12
- const [isPresented, setIsPresented] = (0, _react.useState)(false);
8
+ const useInternalTranslateSheet = () => {
9
+ const [isIOSTranslateSheetPresented, setIsIOSTranslateSheetPresented] = (0, _react.useState)(false);
13
10
  const [text, setText] = (0, _react.useState)("");
14
- const translate = _text => {
15
- setIsPresented(true);
11
+ const [opacity, setOpacity] = (0, _react.useState)(0);
12
+ const presentIOSTranslateSheet = (_text, _opacity) => {
13
+ setIsIOSTranslateSheetPresented(true);
16
14
  setText(_text);
15
+ setOpacity(_opacity ?? 0);
17
16
  };
18
- const TranslateView = () => {
19
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeIosTranslateSheet.IOSTranslateSheet, {
20
- text: text,
21
- isPresented: isPresented,
22
- onHide: () => setIsPresented(false),
23
- style: styles.translateView
24
- });
17
+ const hideTranslateSheet = () => {
18
+ setIsIOSTranslateSheetPresented(false);
25
19
  };
26
20
  return {
27
- isPresented,
28
- translate,
29
- TranslateView
21
+ isIOSTranslateSheetPresented,
22
+ presentIOSTranslateSheet,
23
+ hideTranslateSheet,
24
+ text,
25
+ opacity
30
26
  };
31
27
  };
32
- exports.useTranslate = useTranslate;
33
- const styles = _reactNative.StyleSheet.create({
34
- translateView: {
35
- position: "absolute",
36
- top: 0,
37
- left: 0,
38
- right: 0,
39
- bottom: 0
40
- }
41
- });
28
+ exports.useInternalTranslateSheet = useInternalTranslateSheet;
42
29
  //# sourceMappingURL=useTranslate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeIosTranslateSheet","_jsxRuntime","useTranslate","isPresented","setIsPresented","useState","text","setText","translate","_text","TranslateView","jsx","IOSTranslateSheet","onHide","style","styles","translateView","exports","StyleSheet","create","position","top","left","right","bottom"],"sourceRoot":"../../src","sources":["useTranslate.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AAAqE,IAAAG,WAAA,GAAAH,OAAA;AAE9D,MAAMI,YAAY,GAAGA,CAAA,KAAM;EAChC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EAEpC,MAAMG,SAAS,GAAIC,KAAa,IAAK;IACnCL,cAAc,CAAC,IAAI,CAAC;IACpBG,OAAO,CAACE,KAAK,CAAC;EAChB,CAAC;EAED,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,oBACE,IAAAT,WAAA,CAAAU,GAAA,EAACX,6BAAA,CAAAY,iBAAiB;MAChBN,IAAI,EAAEA,IAAK;MACXH,WAAW,EAAEA,WAAY;MACzBU,MAAM,EAAEA,CAAA,KAAMT,cAAc,CAAC,KAAK,CAAE;MACpCU,KAAK,EAAEC,MAAM,CAACC;IAAc,CAC7B,CAAC;EAEN,CAAC;EAED,OAAO;IACLb,WAAW;IACXK,SAAS;IACTE;EACF,CAAC;AACH,CAAC;AAACO,OAAA,CAAAf,YAAA,GAAAA,YAAA;AAEF,MAAMa,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAC/BH,aAAa,EAAE;IACbI,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","useInternalTranslateSheet","isIOSTranslateSheetPresented","setIsIOSTranslateSheetPresented","useState","text","setText","opacity","setOpacity","presentIOSTranslateSheet","_text","_opacity","hideTranslateSheet","exports"],"sourceRoot":"../../src","sources":["useTranslate.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC7C,MAAM,CAACC,4BAA4B,EAAEC,+BAA+B,CAAC,GACnE,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACjB,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACpC,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC,CAAC;EAEzC,MAAMK,wBAAwB,GAAGA,CAACC,KAAa,EAAEC,QAAiB,KAAK;IACrER,+BAA+B,CAAC,IAAI,CAAC;IACrCG,OAAO,CAACI,KAAK,CAAC;IACdF,UAAU,CAACG,QAAQ,IAAI,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/BT,+BAA+B,CAAC,KAAK,CAAC;EACxC,CAAC;EAED,OAAO;IACLD,4BAA4B;IAC5BO,wBAAwB;IACxBG,kBAAkB;IAClBP,IAAI;IACJE;EACF,CAAC;AACH,CAAC;AAACM,OAAA,CAAAZ,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../src","sources":["IOSTranslateSheetViewNativeComponent.ts"],"mappings":";;AAKA,OAAOA,sBAAsB,MAAM,yDAAyD;AAS5F,eAAeA,sBAAsB,CAAc,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../src","sources":["IOSTranslateSheetViewNativeComponent.ts"],"mappings":";;AAKA,OAAOA,sBAAsB,MAAM,yDAAyD;AAS5F,eAAeA,sBAAsB,CACnC,uBACF,CAAC","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from "react";
4
+ import { StyleSheet } from "react-native";
5
+ import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
6
+ import { useInternalTranslateSheet } from "./useTranslate";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const TranslateContext = /*#__PURE__*/createContext(null);
9
+ export const TranslateProvider = ({
10
+ children
11
+ }) => {
12
+ const {
13
+ presentIOSTranslateSheet,
14
+ isIOSTranslateSheetPresented,
15
+ text,
16
+ opacity,
17
+ hideTranslateSheet
18
+ } = useInternalTranslateSheet();
19
+ return /*#__PURE__*/_jsxs(TranslateContext.Provider, {
20
+ value: {
21
+ presentIOSTranslateSheet
22
+ },
23
+ children: [/*#__PURE__*/_jsx(IOSTranslateSheet, {
24
+ text: text,
25
+ isPresented: isIOSTranslateSheetPresented,
26
+ onHide: hideTranslateSheet,
27
+ opacity: opacity,
28
+ style: styles.translateView
29
+ }), children]
30
+ });
31
+ };
32
+ export const useIOSTranslateSheet = () => {
33
+ const context = useContext(TranslateContext);
34
+ if (!context) {
35
+ throw new Error("useTranslateSheet must be used within a TranslateProvider");
36
+ }
37
+ return context;
38
+ };
39
+ const styles = StyleSheet.create({
40
+ translateView: {
41
+ position: "absolute",
42
+ top: 0,
43
+ left: 0,
44
+ right: 0,
45
+ bottom: 0
46
+ }
47
+ });
48
+ //# sourceMappingURL=TranslateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","StyleSheet","IOSTranslateSheet","useInternalTranslateSheet","jsx","_jsx","jsxs","_jsxs","TranslateContext","TranslateProvider","children","presentIOSTranslateSheet","isIOSTranslateSheetPresented","text","opacity","hideTranslateSheet","Provider","value","isPresented","onHide","style","styles","translateView","useIOSTranslateSheet","context","Error","create","position","top","left","right","bottom"],"sourceRoot":"../../src","sources":["TranslateContext.tsx"],"mappings":";;AAAA,SAAyBA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AACjE,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,iBAAiB,MAAM,wCAAwC;AACtE,SAASC,yBAAyB,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM3D,MAAMC,gBAAgB,gBAAGT,aAAa,CAA8B,IAAI,CAAC;AAEzE,OAAO,MAAMU,iBAAiB,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EAC1E,MAAM;IACJC,wBAAwB;IACxBC,4BAA4B;IAC5BC,IAAI;IACJC,OAAO;IACPC;EACF,CAAC,GAAGZ,yBAAyB,CAAC,CAAC;EAE/B,oBACEI,KAAA,CAACC,gBAAgB,CAACQ,QAAQ;IAACC,KAAK,EAAE;MAAEN;IAAyB,CAAE;IAAAD,QAAA,gBAC7DL,IAAA,CAACH,iBAAiB;MAChBW,IAAI,EAAEA,IAAK;MACXK,WAAW,EAAEN,4BAA6B;MAC1CO,MAAM,EAAEJ,kBAAmB;MAC3BD,OAAO,EAAEA,OAAQ;MACjBM,KAAK,EAAEC,MAAM,CAACC;IAAc,CAC7B,CAAC,EACDZ,QAAQ;EAAA,CACgB,CAAC;AAEhC,CAAC;AAED,OAAO,MAAMa,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,OAAO,GAAGxB,UAAU,CAACQ,gBAAgB,CAAC;EAC5C,IAAI,CAACgB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,2DACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,MAAMH,MAAM,GAAGpB,UAAU,CAACyB,MAAM,CAAC;EAC/BJ,aAAa,EAAE;IACbK,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- export { default as IOSTranslateSheet } from "./IOSTranslateSheetViewNativeComponent.js";
4
- export * from "./IOSTranslateSheetViewNativeComponent.js";
5
- export * from "./useTranslate.js";
3
+ export { default as IOSTranslateSheet } from "./IOSTranslateSheetViewNativeComponent";
4
+ export * from "./IOSTranslateSheetViewNativeComponent";
5
+ export * from "./TranslateContext";
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","IOSTranslateSheet"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,iBAAiB,QAAQ,2CAAwC;AACrF,cAAc,2CAAwC;AACtD,cAAc,mBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["default","IOSTranslateSheet"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,iBAAiB,QAAQ,wCAAwC;AACrF,cAAc,wCAAwC;AACtD,cAAc,oBAAoB","ignoreList":[]}
@@ -1,37 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  import { useState } from "react";
4
- import { StyleSheet } from "react-native";
5
- import { IOSTranslateSheet } from "react-native-ios-translate-sheet";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- export const useTranslate = () => {
8
- const [isPresented, setIsPresented] = useState(false);
4
+ export const useInternalTranslateSheet = () => {
5
+ const [isIOSTranslateSheetPresented, setIsIOSTranslateSheetPresented] = useState(false);
9
6
  const [text, setText] = useState("");
10
- const translate = _text => {
11
- setIsPresented(true);
7
+ const [opacity, setOpacity] = useState(0);
8
+ const presentIOSTranslateSheet = (_text, _opacity) => {
9
+ setIsIOSTranslateSheetPresented(true);
12
10
  setText(_text);
11
+ setOpacity(_opacity ?? 0);
13
12
  };
14
- const TranslateView = () => {
15
- return /*#__PURE__*/_jsx(IOSTranslateSheet, {
16
- text: text,
17
- isPresented: isPresented,
18
- onHide: () => setIsPresented(false),
19
- style: styles.translateView
20
- });
13
+ const hideTranslateSheet = () => {
14
+ setIsIOSTranslateSheetPresented(false);
21
15
  };
22
16
  return {
23
- isPresented,
24
- translate,
25
- TranslateView
17
+ isIOSTranslateSheetPresented,
18
+ presentIOSTranslateSheet,
19
+ hideTranslateSheet,
20
+ text,
21
+ opacity
26
22
  };
27
23
  };
28
- const styles = StyleSheet.create({
29
- translateView: {
30
- position: "absolute",
31
- top: 0,
32
- left: 0,
33
- right: 0,
34
- bottom: 0
35
- }
36
- });
37
24
  //# sourceMappingURL=useTranslate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","StyleSheet","IOSTranslateSheet","jsx","_jsx","useTranslate","isPresented","setIsPresented","text","setText","translate","_text","TranslateView","onHide","style","styles","translateView","create","position","top","left","right","bottom"],"sourceRoot":"../../src","sources":["useTranslate.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,iBAAiB,QAAQ,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErE,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAChC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGP,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAACQ,IAAI,EAAEC,OAAO,CAAC,GAAGT,QAAQ,CAAC,EAAE,CAAC;EAEpC,MAAMU,SAAS,GAAIC,KAAa,IAAK;IACnCJ,cAAc,CAAC,IAAI,CAAC;IACpBE,OAAO,CAACE,KAAK,CAAC;EAChB,CAAC;EAED,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,oBACER,IAAA,CAACF,iBAAiB;MAChBM,IAAI,EAAEA,IAAK;MACXF,WAAW,EAAEA,WAAY;MACzBO,MAAM,EAAEA,CAAA,KAAMN,cAAc,CAAC,KAAK,CAAE;MACpCO,KAAK,EAAEC,MAAM,CAACC;IAAc,CAC7B,CAAC;EAEN,CAAC;EAED,OAAO;IACLV,WAAW;IACXI,SAAS;IACTE;EACF,CAAC;AACH,CAAC;AAED,MAAMG,MAAM,GAAGd,UAAU,CAACgB,MAAM,CAAC;EAC/BD,aAAa,EAAE;IACbE,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useState","useInternalTranslateSheet","isIOSTranslateSheetPresented","setIsIOSTranslateSheetPresented","text","setText","opacity","setOpacity","presentIOSTranslateSheet","_text","_opacity","hideTranslateSheet"],"sourceRoot":"../../src","sources":["useTranslate.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC7C,MAAM,CAACC,4BAA4B,EAAEC,+BAA+B,CAAC,GACnEH,QAAQ,CAAC,KAAK,CAAC;EACjB,MAAM,CAACI,IAAI,EAAEC,OAAO,CAAC,GAAGL,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM,CAACM,OAAO,EAAEC,UAAU,CAAC,GAAGP,QAAQ,CAAC,CAAC,CAAC;EAEzC,MAAMQ,wBAAwB,GAAGA,CAACC,KAAa,EAAEC,QAAiB,KAAK;IACrEP,+BAA+B,CAAC,IAAI,CAAC;IACrCE,OAAO,CAACI,KAAK,CAAC;IACdF,UAAU,CAACG,QAAQ,IAAI,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/BR,+BAA+B,CAAC,KAAK,CAAC;EACxC,CAAC;EAED,OAAO;IACLD,4BAA4B;IAC5BM,wBAAwB;IACxBG,kBAAkB;IAClBP,IAAI;IACJE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import type { ViewProps } from "react-native";
1
+ import type { HostComponent, ViewProps } from "react-native";
2
2
  import type { DirectEventHandler, Float } from "react-native/Libraries/Types/CodegenTypes";
3
- interface NativeProps extends ViewProps {
3
+ export interface IOSTranslateSheetProps extends ViewProps {
4
4
  text: string;
5
5
  isPresented: boolean;
6
6
  onHide: DirectEventHandler<null>;
7
7
  opacity?: Float;
8
8
  }
9
- declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
9
+ declare const _default: HostComponent<IOSTranslateSheetProps>;
10
10
  export default _default;
11
11
  //# sourceMappingURL=IOSTranslateSheetViewNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOSTranslateSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../src/IOSTranslateSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;wBAII,aAAa,CAAC,sBAAsB,CAAC;AAF1C,wBAE2C"}
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from "react";
2
+ type TranslateContextType = {
3
+ presentIOSTranslateSheet: (text: string, opacity?: number) => void;
4
+ };
5
+ export declare const TranslateProvider: ({ children }: {
6
+ children: ReactNode;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const useIOSTranslateSheet: () => TranslateContextType;
9
+ export {};
10
+ //# sourceMappingURL=TranslateContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslateContext.d.ts","sourceRoot":"","sources":["../../src/TranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,OAAO,CAAC;AAKlE,KAAK,oBAAoB,GAAG;IAC1B,wBAAwB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE,CAAC;AAIF,eAAO,MAAM,iBAAiB,iBAAkB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAqBtE,CAAC;AAEF,eAAO,MAAM,oBAAoB,4BAQhC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { default as IOSTranslateSheet } from "./IOSTranslateSheetViewNativeComponent";
2
2
  export * from "./IOSTranslateSheetViewNativeComponent";
3
- export * from "./useTranslate";
3
+ export * from "./TranslateContext";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,cAAc,wCAAwC,CAAC;AACvD,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const useInternalTranslateSheet: () => {
2
+ isIOSTranslateSheetPresented: boolean;
3
+ presentIOSTranslateSheet: (_text: string, _opacity?: number) => void;
4
+ hideTranslateSheet: () => void;
5
+ text: string;
6
+ opacity: number;
7
+ };
8
+ //# sourceMappingURL=useTranslate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslate.d.ts","sourceRoot":"","sources":["../../src/useTranslate.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB;;sCAMK,MAAM,aAAa,MAAM;;;;CAiBnE,CAAC"}
package/package.json CHANGED
@@ -1,22 +1,12 @@
1
1
  {
2
2
  "name": "react-native-ios-translate-sheet",
3
- "version": "0.0.1",
3
+ "version": "1.0.1",
4
4
  "description": "SwiftUI Translate Sheet on React Native",
5
5
  "source": "./src/index.tsx",
6
- "main": "./lib/commonjs/index.js",
7
- "module": "./lib/module/index.js",
8
- "exports": {
9
- ".": {
10
- "import": {
11
- "types": "./lib/typescript/module/src/index.d.ts",
12
- "default": "./lib/module/index.js"
13
- },
14
- "require": {
15
- "types": "./lib/typescript/commonjs/src/index.d.ts",
16
- "default": "./lib/commonjs/index.js"
17
- }
18
- }
19
- },
6
+ "main": "lib/commonjs/index.js",
7
+ "react-native": "src/index.tsx",
8
+ "module": "lib/module/index.js",
9
+ "types": "lib/typescript/index.d.ts",
20
10
  "files": [
21
11
  "src",
22
12
  "lib",
@@ -70,8 +60,10 @@
70
60
  "devDependencies": {
71
61
  "@biomejs/biome": "^1.9.4",
72
62
  "@commitlint/config-conventional": "^17.0.2",
73
- "@react-native-community/cli": "15.0.1",
63
+ "@react-native-community/cli": "15.1.3",
74
64
  "@release-it/conventional-changelog": "^9.0.2",
65
+ "@semantic-release/changelog": "^6.0.3",
66
+ "@semantic-release/git": "^10.0.1",
75
67
  "@types/jest": "^29.5.5",
76
68
  "@types/react": "^18.2.44",
77
69
  "commitlint": "^17.0.2",
@@ -82,6 +74,7 @@
82
74
  "react-native": "0.78.0",
83
75
  "react-native-builder-bob": "^0.37.0",
84
76
  "release-it": "^17.10.0",
77
+ "semantic-release": "^24.2.3",
85
78
  "turbo": "^1.10.7",
86
79
  "typescript": "^5.2.2"
87
80
  },
@@ -129,26 +122,9 @@
129
122
  "source": "src",
130
123
  "output": "lib",
131
124
  "targets": [
132
- "codegen",
133
- [
134
- "commonjs",
135
- {
136
- "esm": true
137
- }
138
- ],
139
- [
140
- "module",
141
- {
142
- "esm": true
143
- }
144
- ],
145
- [
146
- "typescript",
147
- {
148
- "project": "tsconfig.build.json",
149
- "esm": true
150
- }
151
- ]
125
+ "commonjs",
126
+ "module",
127
+ "typescript"
152
128
  ]
153
129
  },
154
130
  "codegenConfig": {
@@ -1,15 +1,17 @@
1
- import type { ViewProps } from "react-native";
1
+ import type { HostComponent, ViewProps } from "react-native";
2
2
  import type {
3
3
  DirectEventHandler,
4
4
  Float,
5
5
  } from "react-native/Libraries/Types/CodegenTypes";
6
6
  import codegenNativeComponent from "react-native/Libraries/Utilities/codegenNativeComponent";
7
7
 
8
- interface NativeProps extends ViewProps {
8
+ export interface IOSTranslateSheetProps extends ViewProps {
9
9
  text: string;
10
10
  isPresented: boolean;
11
11
  onHide: DirectEventHandler<null>;
12
12
  opacity?: Float;
13
13
  }
14
14
 
15
- export default codegenNativeComponent<NativeProps>("IOSTranslateSheetView");
15
+ export default codegenNativeComponent<IOSTranslateSheetProps>(
16
+ "IOSTranslateSheetView",
17
+ ) as HostComponent<IOSTranslateSheetProps>;
@@ -0,0 +1,53 @@
1
+ import { type ReactNode, createContext, useContext } from "react";
2
+ import { StyleSheet } from "react-native";
3
+ import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
4
+ import { useInternalTranslateSheet } from "./useTranslate";
5
+
6
+ type TranslateContextType = {
7
+ presentIOSTranslateSheet: (text: string, opacity?: number) => void;
8
+ };
9
+
10
+ const TranslateContext = createContext<TranslateContextType | null>(null);
11
+
12
+ export const TranslateProvider = ({ children }: { children: ReactNode }) => {
13
+ const {
14
+ presentIOSTranslateSheet,
15
+ isIOSTranslateSheetPresented,
16
+ text,
17
+ opacity,
18
+ hideTranslateSheet,
19
+ } = useInternalTranslateSheet();
20
+
21
+ return (
22
+ <TranslateContext.Provider value={{ presentIOSTranslateSheet }}>
23
+ <IOSTranslateSheet
24
+ text={text}
25
+ isPresented={isIOSTranslateSheetPresented}
26
+ onHide={hideTranslateSheet}
27
+ opacity={opacity}
28
+ style={styles.translateView}
29
+ />
30
+ {children}
31
+ </TranslateContext.Provider>
32
+ );
33
+ };
34
+
35
+ export const useIOSTranslateSheet = () => {
36
+ const context = useContext(TranslateContext);
37
+ if (!context) {
38
+ throw new Error(
39
+ "useTranslateSheet must be used within a TranslateProvider",
40
+ );
41
+ }
42
+ return context;
43
+ };
44
+
45
+ const styles = StyleSheet.create({
46
+ translateView: {
47
+ position: "absolute",
48
+ top: 0,
49
+ left: 0,
50
+ right: 0,
51
+ bottom: 0,
52
+ },
53
+ });
package/src/index.tsx CHANGED
@@ -1,3 +1,3 @@
1
1
  export { default as IOSTranslateSheet } from "./IOSTranslateSheetViewNativeComponent";
2
2
  export * from "./IOSTranslateSheetViewNativeComponent";
3
- export * from "./useTranslate";
3
+ export * from "./TranslateContext";