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

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 (60) hide show
  1. package/README.md +12 -16
  2. package/lib/commonjs/index.js +2 -2
  3. package/lib/commonjs/useTranslate.js +19 -15
  4. package/lib/commonjs/useTranslate.js.map +1 -1
  5. package/lib/module/index.js +3 -3
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/useTranslate.js +15 -12
  8. package/lib/module/useTranslate.js.map +1 -1
  9. package/lib/typescript/IOSTranslateSheetViewNativeComponent.d.ts.map +1 -0
  10. package/lib/typescript/index.d.ts.map +1 -0
  11. package/lib/typescript/useTranslate.d.ts +6 -0
  12. package/lib/typescript/useTranslate.d.ts.map +1 -0
  13. package/package.json +12 -36
  14. package/src/useTranslate.tsx +14 -11
  15. package/android/generated/java/com/facebook/react/viewmanagers/IOSTranslateSheetViewManagerDelegate.java +0 -38
  16. package/android/generated/java/com/facebook/react/viewmanagers/IOSTranslateSheetViewManagerInterface.java +0 -20
  17. package/android/generated/jni/CMakeLists.txt +0 -36
  18. package/android/generated/jni/RNIOSTranslateSheetViewSpec-generated.cpp +0 -22
  19. package/android/generated/jni/RNIOSTranslateSheetViewSpec.h +0 -24
  20. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ComponentDescriptors.cpp +0 -22
  21. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ComponentDescriptors.h +0 -24
  22. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.cpp +0 -24
  23. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.h +0 -25
  24. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.cpp +0 -27
  25. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.h +0 -29
  26. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpecJSI-generated.cpp +0 -17
  27. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpecJSI.h +0 -19
  28. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ShadowNodes.cpp +0 -17
  29. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ShadowNodes.h +0 -32
  30. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/States.cpp +0 -16
  31. package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/States.h +0 -29
  32. package/ios/generated/RNIOSTranslateSheetViewSpec/ComponentDescriptors.cpp +0 -22
  33. package/ios/generated/RNIOSTranslateSheetViewSpec/ComponentDescriptors.h +0 -24
  34. package/ios/generated/RNIOSTranslateSheetViewSpec/EventEmitters.cpp +0 -24
  35. package/ios/generated/RNIOSTranslateSheetViewSpec/EventEmitters.h +0 -25
  36. package/ios/generated/RNIOSTranslateSheetViewSpec/Props.cpp +0 -27
  37. package/ios/generated/RNIOSTranslateSheetViewSpec/Props.h +0 -29
  38. package/ios/generated/RNIOSTranslateSheetViewSpec/RCTComponentViewHelpers.h +0 -20
  39. package/ios/generated/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpec-generated.mm +0 -16
  40. package/ios/generated/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpec.h +0 -38
  41. package/ios/generated/RNIOSTranslateSheetViewSpec/ShadowNodes.cpp +0 -17
  42. package/ios/generated/RNIOSTranslateSheetViewSpec/ShadowNodes.h +0 -32
  43. package/ios/generated/RNIOSTranslateSheetViewSpec/States.cpp +0 -16
  44. package/ios/generated/RNIOSTranslateSheetViewSpec/States.h +0 -29
  45. package/ios/generated/RNIOSTranslateSheetViewSpecJSI-generated.cpp +0 -17
  46. package/ios/generated/RNIOSTranslateSheetViewSpecJSI.h +0 -19
  47. package/lib/typescript/commonjs/src/IOSTranslateSheetViewNativeComponent.d.ts.map +0 -1
  48. package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
  49. package/lib/typescript/commonjs/src/useTranslate.d.ts +0 -6
  50. package/lib/typescript/commonjs/src/useTranslate.d.ts.map +0 -1
  51. package/lib/typescript/module/src/IOSTranslateSheetViewNativeComponent.d.ts +0 -11
  52. package/lib/typescript/module/src/IOSTranslateSheetViewNativeComponent.d.ts.map +0 -1
  53. package/lib/typescript/module/src/index.d.ts +0 -4
  54. package/lib/typescript/module/src/index.d.ts.map +0 -1
  55. package/lib/typescript/module/src/useTranslate.d.ts +0 -6
  56. package/lib/typescript/module/src/useTranslate.d.ts.map +0 -1
  57. /package/lib/{typescript/commonjs → commonjs}/package.json +0 -0
  58. /package/lib/{typescript/module → module}/package.json +0 -0
  59. /package/lib/typescript/{commonjs/src/IOSTranslateSheetViewNativeComponent.d.ts → IOSTranslateSheetViewNativeComponent.d.ts} +0 -0
  60. /package/lib/typescript/{commonjs/src/index.d.ts → index.d.ts} +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
 
@@ -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,7 +24,7 @@ Object.keys(_IOSTranslateSheetViewNativeComponent).forEach(function (key) {
24
24
  }
25
25
  });
26
26
  });
27
- var _useTranslate = require("./useTranslate.js");
27
+ var _useTranslate = require("./useTranslate");
28
28
  Object.keys(_useTranslate).forEach(function (key) {
29
29
  if (key === "default" || key === "__esModule") return;
30
30
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -3,33 +3,37 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useTranslate = void 0;
6
+ exports.useIOSTranslateSheet = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeIosTranslateSheet = require("react-native-ios-translate-sheet");
9
+ var _IOSTranslateSheetViewNativeComponent = _interopRequireDefault(require("./IOSTranslateSheetViewNativeComponent"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
- const useTranslate = () => {
12
- const [isPresented, setIsPresented] = (0, _react.useState)(false);
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const useIOSTranslateSheet = () => {
13
+ const [isIOSTranslateSheetPresented, setIsIOSTranslateSheetPresented] = (0, _react.useState)(false);
13
14
  const [text, setText] = (0, _react.useState)("");
14
- const translate = _text => {
15
- setIsPresented(true);
15
+ const [opacity, setOpacity] = (0, _react.useState)(0);
16
+ const presentIOSTranslateSheet = (_text, _opacity) => {
17
+ setIsIOSTranslateSheetPresented(true);
16
18
  setText(_text);
19
+ setOpacity(_opacity ?? 0);
17
20
  };
18
- const TranslateView = () => {
19
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeIosTranslateSheet.IOSTranslateSheet, {
21
+ const IOSTranslateSheetView = () => {
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IOSTranslateSheetViewNativeComponent.default, {
20
23
  text: text,
21
- isPresented: isPresented,
22
- onHide: () => setIsPresented(false),
23
- style: styles.translateView
24
+ isPresented: isIOSTranslateSheetPresented,
25
+ onHide: () => setIsIOSTranslateSheetPresented(false),
26
+ style: styles.translateView,
27
+ opacity: opacity
24
28
  });
25
29
  };
26
30
  return {
27
- isPresented,
28
- translate,
29
- TranslateView
31
+ isIOSTranslateSheetPresented,
32
+ presentIOSTranslateSheet,
33
+ IOSTranslateSheetView
30
34
  };
31
35
  };
32
- exports.useTranslate = useTranslate;
36
+ exports.useIOSTranslateSheet = useIOSTranslateSheet;
33
37
  const styles = _reactNative.StyleSheet.create({
34
38
  translateView: {
35
39
  position: "absolute",
@@ -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","_reactNative","_IOSTranslateSheetViewNativeComponent","_interopRequireDefault","_jsxRuntime","e","__esModule","default","useIOSTranslateSheet","isIOSTranslateSheetPresented","setIsIOSTranslateSheetPresented","useState","text","setText","opacity","setOpacity","presentIOSTranslateSheet","_text","_opacity","IOSTranslateSheetView","jsx","isPresented","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,qCAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAuE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhE,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM,CAACC,4BAA4B,EAAEC,+BAA+B,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvF,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,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACE,IAAAf,WAAA,CAAAgB,GAAA,EAAClB,qCAAA,CAAAK,OAAiB;MAChBK,IAAI,EAAEA,IAAK;MACXS,WAAW,EAAEZ,4BAA6B;MAC1Ca,MAAM,EAAEA,CAAA,KAAMZ,+BAA+B,CAAC,KAAK,CAAE;MACrDa,KAAK,EAAEC,MAAM,CAACC,aAAc;MAC5BX,OAAO,EAAEA;IAAQ,CAClB,CAAC;EAEN,CAAC;EAED,OAAO;IACLL,4BAA4B;IAC5BO,wBAAwB;IACxBG;EACF,CAAC;AACH,CAAC;AAACO,OAAA,CAAAlB,oBAAA,GAAAA,oBAAA;AAEF,MAAMgB,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,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 "./useTranslate";
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,gBAAgB","ignoreList":[]}
@@ -2,27 +2,30 @@
2
2
 
3
3
  import { useState } from "react";
4
4
  import { StyleSheet } from "react-native";
5
- import { IOSTranslateSheet } from "react-native-ios-translate-sheet";
5
+ import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export const useTranslate = () => {
8
- const [isPresented, setIsPresented] = useState(false);
7
+ export const useIOSTranslateSheet = () => {
8
+ const [isIOSTranslateSheetPresented, setIsIOSTranslateSheetPresented] = useState(false);
9
9
  const [text, setText] = useState("");
10
- const translate = _text => {
11
- setIsPresented(true);
10
+ const [opacity, setOpacity] = useState(0);
11
+ const presentIOSTranslateSheet = (_text, _opacity) => {
12
+ setIsIOSTranslateSheetPresented(true);
12
13
  setText(_text);
14
+ setOpacity(_opacity ?? 0);
13
15
  };
14
- const TranslateView = () => {
16
+ const IOSTranslateSheetView = () => {
15
17
  return /*#__PURE__*/_jsx(IOSTranslateSheet, {
16
18
  text: text,
17
- isPresented: isPresented,
18
- onHide: () => setIsPresented(false),
19
- style: styles.translateView
19
+ isPresented: isIOSTranslateSheetPresented,
20
+ onHide: () => setIsIOSTranslateSheetPresented(false),
21
+ style: styles.translateView,
22
+ opacity: opacity
20
23
  });
21
24
  };
22
25
  return {
23
- isPresented,
24
- translate,
25
- TranslateView
26
+ isIOSTranslateSheetPresented,
27
+ presentIOSTranslateSheet,
28
+ IOSTranslateSheetView
26
29
  };
27
30
  };
28
31
  const styles = StyleSheet.create({
@@ -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","StyleSheet","IOSTranslateSheet","jsx","_jsx","useIOSTranslateSheet","isIOSTranslateSheetPresented","setIsIOSTranslateSheetPresented","text","setText","opacity","setOpacity","presentIOSTranslateSheet","_text","_opacity","IOSTranslateSheetView","isPresented","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,OAAOC,iBAAiB,MAAM,wCAAwC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvE,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM,CAACC,4BAA4B,EAAEC,+BAA+B,CAAC,GAAGP,QAAQ,CAAC,KAAK,CAAC;EACvF,MAAM,CAACQ,IAAI,EAAEC,OAAO,CAAC,GAAGT,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM,CAACU,OAAO,EAAEC,UAAU,CAAC,GAAGX,QAAQ,CAAC,CAAC,CAAC;EAEzC,MAAMY,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,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACEX,IAAA,CAACF,iBAAiB;MAChBM,IAAI,EAAEA,IAAK;MACXQ,WAAW,EAAEV,4BAA6B;MAC1CW,MAAM,EAAEA,CAAA,KAAMV,+BAA+B,CAAC,KAAK,CAAE;MACrDW,KAAK,EAAEC,MAAM,CAACC,aAAc;MAC5BV,OAAO,EAAEA;IAAQ,CAClB,CAAC;EAEN,CAAC;EAED,OAAO;IACLJ,4BAA4B;IAC5BM,wBAAwB;IACxBG;EACF,CAAC;AACH,CAAC;AAED,MAAMI,MAAM,GAAGlB,UAAU,CAACoB,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":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOSTranslateSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../src/IOSTranslateSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,UAAU,WAAY,SAAQ,SAAS;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;;AAED,wBAA4E"}
@@ -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,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const useIOSTranslateSheet: () => {
2
+ isIOSTranslateSheetPresented: boolean;
3
+ presentIOSTranslateSheet: (_text: string, _opacity?: number) => void;
4
+ IOSTranslateSheetView: () => import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ //# sourceMappingURL=useTranslate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslate.d.ts","sourceRoot":"","sources":["../../src/useTranslate.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB;;sCAKU,MAAM,aAAa,MAAM;;CAuBnE,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.0",
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,31 +1,34 @@
1
1
  import { useState } from "react";
2
2
  import { StyleSheet } from "react-native";
3
- import { IOSTranslateSheet } from "react-native-ios-translate-sheet";
3
+ import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
4
4
 
5
- export const useTranslate = () => {
6
- const [isPresented, setIsPresented] = useState(false);
5
+ export const useIOSTranslateSheet = () => {
6
+ const [isIOSTranslateSheetPresented, setIsIOSTranslateSheetPresented] = useState(false);
7
7
  const [text, setText] = useState("");
8
+ const [opacity, setOpacity] = useState(0);
8
9
 
9
- const translate = (_text: string) => {
10
- setIsPresented(true);
10
+ const presentIOSTranslateSheet = (_text: string, _opacity?: number) => {
11
+ setIsIOSTranslateSheetPresented(true);
11
12
  setText(_text);
13
+ setOpacity(_opacity ?? 0);
12
14
  };
13
15
 
14
- const TranslateView = () => {
16
+ const IOSTranslateSheetView = () => {
15
17
  return (
16
18
  <IOSTranslateSheet
17
19
  text={text}
18
- isPresented={isPresented}
19
- onHide={() => setIsPresented(false)}
20
+ isPresented={isIOSTranslateSheetPresented}
21
+ onHide={() => setIsIOSTranslateSheetPresented(false)}
20
22
  style={styles.translateView}
23
+ opacity={opacity}
21
24
  />
22
25
  );
23
26
  };
24
27
 
25
28
  return {
26
- isPresented,
27
- translate,
28
- TranslateView,
29
+ isIOSTranslateSheetPresented,
30
+ presentIOSTranslateSheet,
31
+ IOSTranslateSheetView,
29
32
  };
30
33
  };
31
34
 
@@ -1,38 +0,0 @@
1
- /**
2
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
- *
4
- * Do not edit this file as changes may cause incorrect behavior and will be lost
5
- * once the code is regenerated.
6
- *
7
- * @generated by codegen project: GeneratePropsJavaDelegate.js
8
- */
9
-
10
- package com.facebook.react.viewmanagers;
11
-
12
- import android.view.View;
13
- import androidx.annotation.Nullable;
14
- import com.facebook.react.uimanager.BaseViewManager;
15
- import com.facebook.react.uimanager.BaseViewManagerDelegate;
16
- import com.facebook.react.uimanager.LayoutShadowNode;
17
-
18
- public class IOSTranslateSheetViewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & IOSTranslateSheetViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
19
- public IOSTranslateSheetViewManagerDelegate(U viewManager) {
20
- super(viewManager);
21
- }
22
- @Override
23
- public void setProperty(T view, String propName, @Nullable Object value) {
24
- switch (propName) {
25
- case "text":
26
- mViewManager.setText(view, value == null ? null : (String) value);
27
- break;
28
- case "isPresented":
29
- mViewManager.setIsPresented(view, value == null ? false : (boolean) value);
30
- break;
31
- case "opacity":
32
- mViewManager.setOpacity(view, value == null ? 0f : ((Double) value).floatValue());
33
- break;
34
- default:
35
- super.setProperty(view, propName, value);
36
- }
37
- }
38
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
- *
4
- * Do not edit this file as changes may cause incorrect behavior and will be lost
5
- * once the code is regenerated.
6
- *
7
- * @generated by codegen project: GeneratePropsJavaInterface.js
8
- */
9
-
10
- package com.facebook.react.viewmanagers;
11
-
12
- import android.view.View;
13
- import androidx.annotation.Nullable;
14
- import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
-
16
- public interface IOSTranslateSheetViewManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
- void setText(T view, @Nullable String value);
18
- void setIsPresented(T view, boolean value);
19
- void setOpacity(T view, float value);
20
- }
@@ -1,36 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- cmake_minimum_required(VERSION 3.13)
7
- set(CMAKE_VERBOSE_MAKEFILE on)
8
-
9
- file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/RNIOSTranslateSheetViewSpec/*.cpp)
10
-
11
- add_library(
12
- react_codegen_RNIOSTranslateSheetViewSpec
13
- OBJECT
14
- ${react_codegen_SRCS}
15
- )
16
-
17
- target_include_directories(react_codegen_RNIOSTranslateSheetViewSpec PUBLIC . react/renderer/components/RNIOSTranslateSheetViewSpec)
18
-
19
- target_link_libraries(
20
- react_codegen_RNIOSTranslateSheetViewSpec
21
- fbjni
22
- jsi
23
- # We need to link different libraries based on whether we are building rncore or not, that's necessary
24
- # because we want to break a circular dependency between react_codegen_rncore and reactnative
25
- reactnative
26
- )
27
-
28
- target_compile_options(
29
- react_codegen_RNIOSTranslateSheetViewSpec
30
- PRIVATE
31
- -DLOG_TAG=\"ReactNative\"
32
- -fexceptions
33
- -frtti
34
- -std=c++20
35
- -Wall
36
- )
@@ -1,22 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateModuleJniCpp.js
9
- */
10
-
11
- #include "RNIOSTranslateSheetViewSpec.h"
12
-
13
- namespace facebook::react {
14
-
15
-
16
-
17
- std::shared_ptr<TurboModule> RNIOSTranslateSheetViewSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
18
-
19
- return nullptr;
20
- }
21
-
22
- } // namespace facebook::react
@@ -1,24 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateModuleJniH.js
9
- */
10
-
11
- #pragma once
12
-
13
- #include <ReactCommon/JavaTurboModule.h>
14
- #include <ReactCommon/TurboModule.h>
15
- #include <jsi/jsi.h>
16
-
17
- namespace facebook::react {
18
-
19
-
20
-
21
- JSI_EXPORT
22
- std::shared_ptr<TurboModule> RNIOSTranslateSheetViewSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);
23
-
24
- } // namespace facebook::react
@@ -1,22 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateComponentDescriptorCpp.js
9
- */
10
-
11
- #include "ComponentDescriptors.h"
12
- #include <react/renderer/core/ConcreteComponentDescriptor.h>
13
- #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
14
-
15
- namespace facebook::react {
16
-
17
- void RNIOSTranslateSheetViewSpec_registerComponentDescriptorsFromCodegen(
18
- std::shared_ptr<const ComponentDescriptorProviderRegistry> registry) {
19
- registry->add(concreteComponentDescriptorProvider<IOSTranslateSheetViewComponentDescriptor>());
20
- }
21
-
22
- } // namespace facebook::react
@@ -1,24 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateComponentDescriptorH.js
9
- */
10
-
11
- #pragma once
12
-
13
- #include "ShadowNodes.h"
14
- #include <react/renderer/core/ConcreteComponentDescriptor.h>
15
- #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
16
-
17
- namespace facebook::react {
18
-
19
- using IOSTranslateSheetViewComponentDescriptor = ConcreteComponentDescriptor<IOSTranslateSheetViewShadowNode>;
20
-
21
- void RNIOSTranslateSheetViewSpec_registerComponentDescriptorsFromCodegen(
22
- std::shared_ptr<const ComponentDescriptorProviderRegistry> registry);
23
-
24
- } // namespace facebook::react
@@ -1,24 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateEventEmitterCpp.js
9
- */
10
-
11
- #include "EventEmitters.h"
12
-
13
-
14
- namespace facebook::react {
15
-
16
- void IOSTranslateSheetViewEventEmitter::onHide(OnHide $event) const {
17
- dispatchEvent("hide", [](jsi::Runtime &runtime) {
18
- auto $payload = jsi::Object(runtime);
19
-
20
- return $payload;
21
- });
22
- }
23
-
24
- } // namespace facebook::react
@@ -1,25 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateEventEmitterH.js
9
- */
10
- #pragma once
11
-
12
- #include <react/renderer/components/view/ViewEventEmitter.h>
13
-
14
-
15
- namespace facebook::react {
16
- class IOSTranslateSheetViewEventEmitter : public ViewEventEmitter {
17
- public:
18
- using ViewEventEmitter::ViewEventEmitter;
19
-
20
- struct OnHide {
21
-
22
- };
23
- void onHide(OnHide value) const;
24
- };
25
- } // namespace facebook::react
@@ -1,27 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GeneratePropsCpp.js
9
- */
10
-
11
- #include "Props.h"
12
- #include <react/renderer/core/PropsParserContext.h>
13
- #include <react/renderer/core/propsConversions.h>
14
-
15
- namespace facebook::react {
16
-
17
- IOSTranslateSheetViewProps::IOSTranslateSheetViewProps(
18
- const PropsParserContext &context,
19
- const IOSTranslateSheetViewProps &sourceProps,
20
- const RawProps &rawProps): ViewProps(context, sourceProps, rawProps),
21
-
22
- text(convertRawProp(context, rawProps, "text", sourceProps.text, {})),
23
- isPresented(convertRawProp(context, rawProps, "isPresented", sourceProps.isPresented, {false})),
24
- opacity(convertRawProp(context, rawProps, "opacity", sourceProps.opacity, {0.0}))
25
- {}
26
-
27
- } // namespace facebook::react