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.
- package/README.md +12 -16
- package/lib/commonjs/index.js +2 -2
- package/lib/commonjs/useTranslate.js +19 -15
- package/lib/commonjs/useTranslate.js.map +1 -1
- package/lib/module/index.js +3 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/useTranslate.js +15 -12
- package/lib/module/useTranslate.js.map +1 -1
- package/lib/typescript/IOSTranslateSheetViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/useTranslate.d.ts +6 -0
- package/lib/typescript/useTranslate.d.ts.map +1 -0
- package/package.json +12 -36
- package/src/useTranslate.tsx +14 -11
- package/android/generated/java/com/facebook/react/viewmanagers/IOSTranslateSheetViewManagerDelegate.java +0 -38
- package/android/generated/java/com/facebook/react/viewmanagers/IOSTranslateSheetViewManagerInterface.java +0 -20
- package/android/generated/jni/CMakeLists.txt +0 -36
- package/android/generated/jni/RNIOSTranslateSheetViewSpec-generated.cpp +0 -22
- package/android/generated/jni/RNIOSTranslateSheetViewSpec.h +0 -24
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ComponentDescriptors.cpp +0 -22
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ComponentDescriptors.h +0 -24
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.cpp +0 -24
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.h +0 -25
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.cpp +0 -27
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.h +0 -29
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpecJSI-generated.cpp +0 -17
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpecJSI.h +0 -19
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ShadowNodes.cpp +0 -17
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/ShadowNodes.h +0 -32
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/States.cpp +0 -16
- package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/States.h +0 -29
- package/ios/generated/RNIOSTranslateSheetViewSpec/ComponentDescriptors.cpp +0 -22
- package/ios/generated/RNIOSTranslateSheetViewSpec/ComponentDescriptors.h +0 -24
- package/ios/generated/RNIOSTranslateSheetViewSpec/EventEmitters.cpp +0 -24
- package/ios/generated/RNIOSTranslateSheetViewSpec/EventEmitters.h +0 -25
- package/ios/generated/RNIOSTranslateSheetViewSpec/Props.cpp +0 -27
- package/ios/generated/RNIOSTranslateSheetViewSpec/Props.h +0 -29
- package/ios/generated/RNIOSTranslateSheetViewSpec/RCTComponentViewHelpers.h +0 -20
- package/ios/generated/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpec-generated.mm +0 -16
- package/ios/generated/RNIOSTranslateSheetViewSpec/RNIOSTranslateSheetViewSpec.h +0 -38
- package/ios/generated/RNIOSTranslateSheetViewSpec/ShadowNodes.cpp +0 -17
- package/ios/generated/RNIOSTranslateSheetViewSpec/ShadowNodes.h +0 -32
- package/ios/generated/RNIOSTranslateSheetViewSpec/States.cpp +0 -16
- package/ios/generated/RNIOSTranslateSheetViewSpec/States.h +0 -29
- package/ios/generated/RNIOSTranslateSheetViewSpecJSI-generated.cpp +0 -17
- package/ios/generated/RNIOSTranslateSheetViewSpecJSI.h +0 -19
- package/lib/typescript/commonjs/src/IOSTranslateSheetViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/useTranslate.d.ts +0 -6
- package/lib/typescript/commonjs/src/useTranslate.d.ts.map +0 -1
- package/lib/typescript/module/src/IOSTranslateSheetViewNativeComponent.d.ts +0 -11
- package/lib/typescript/module/src/IOSTranslateSheetViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/module/src/index.d.ts +0 -4
- package/lib/typescript/module/src/index.d.ts.map +0 -1
- package/lib/typescript/module/src/useTranslate.d.ts +0 -6
- package/lib/typescript/module/src/useTranslate.d.ts.map +0 -1
- /package/lib/{typescript/commonjs → commonjs}/package.json +0 -0
- /package/lib/{typescript/module → module}/package.json +0 -0
- /package/lib/typescript/{commonjs/src/IOSTranslateSheetViewNativeComponent.d.ts → IOSTranslateSheetViewNativeComponent.d.ts} +0 -0
- /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 `
|
|
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 {
|
|
57
|
+
import { useIOSTranslateSheet } from 'react-native-ios-translate-sheet';
|
|
62
58
|
|
|
63
59
|
export default function App() {
|
|
64
|
-
const {
|
|
60
|
+
const { presentIOSTranslateSheet, IOSTranslateSheetView } = useIOSTranslateSheet();
|
|
65
61
|
|
|
66
62
|
const handleTranslate = () => {
|
|
67
|
-
|
|
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
|
|
73
|
-
<
|
|
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 `
|
|
95
|
+
The `useIOSTranslateSheet` hook provides:
|
|
100
96
|
|
|
101
|
-
- `
|
|
102
|
-
- `
|
|
103
|
-
- `
|
|
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 `
|
|
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
|
-
`<
|
|
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
|
|
package/lib/commonjs/index.js
CHANGED
|
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "IOSTranslateSheet", {
|
|
|
12
12
|
return _IOSTranslateSheetViewNativeComponent.default;
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
|
-
var _IOSTranslateSheetViewNativeComponent = _interopRequireWildcard(require("./IOSTranslateSheetViewNativeComponent
|
|
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
|
|
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.
|
|
6
|
+
exports.useIOSTranslateSheet = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var
|
|
9
|
+
var _IOSTranslateSheetViewNativeComponent = _interopRequireDefault(require("./IOSTranslateSheetViewNativeComponent"));
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
15
|
-
|
|
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
|
|
19
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
21
|
+
const IOSTranslateSheetView = () => {
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IOSTranslateSheetViewNativeComponent.default, {
|
|
20
23
|
text: text,
|
|
21
|
-
isPresented:
|
|
22
|
-
onHide: () =>
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
isIOSTranslateSheetPresented,
|
|
32
|
+
presentIOSTranslateSheet,
|
|
33
|
+
IOSTranslateSheetView
|
|
30
34
|
};
|
|
31
35
|
};
|
|
32
|
-
exports.
|
|
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","
|
|
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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { default as IOSTranslateSheet } from "./IOSTranslateSheetViewNativeComponent
|
|
4
|
-
export * from "./IOSTranslateSheetViewNativeComponent
|
|
5
|
-
export * from "./useTranslate
|
|
3
|
+
export { default as IOSTranslateSheet } from "./IOSTranslateSheetViewNativeComponent";
|
|
4
|
+
export * from "./IOSTranslateSheetViewNativeComponent";
|
|
5
|
+
export * from "./useTranslate";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","IOSTranslateSheet"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,iBAAiB,QAAQ,
|
|
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
|
|
5
|
+
import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
export const
|
|
8
|
-
const [
|
|
7
|
+
export const useIOSTranslateSheet = () => {
|
|
8
|
+
const [isIOSTranslateSheetPresented, setIsIOSTranslateSheetPresented] = useState(false);
|
|
9
9
|
const [text, setText] = useState("");
|
|
10
|
-
const
|
|
11
|
-
|
|
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
|
|
16
|
+
const IOSTranslateSheetView = () => {
|
|
15
17
|
return /*#__PURE__*/_jsx(IOSTranslateSheet, {
|
|
16
18
|
text: text,
|
|
17
|
-
isPresented:
|
|
18
|
-
onHide: () =>
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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","
|
|
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
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "SwiftUI Translate Sheet on React Native",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
|
-
"main": "
|
|
7
|
-
"
|
|
8
|
-
"
|
|
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.
|
|
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
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
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": {
|
package/src/useTranslate.tsx
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
2
|
import { StyleSheet } from "react-native";
|
|
3
|
-
import
|
|
3
|
+
import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
|
|
4
4
|
|
|
5
|
-
export const
|
|
6
|
-
const [
|
|
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
|
|
10
|
-
|
|
10
|
+
const presentIOSTranslateSheet = (_text: string, _opacity?: number) => {
|
|
11
|
+
setIsIOSTranslateSheetPresented(true);
|
|
11
12
|
setText(_text);
|
|
13
|
+
setOpacity(_opacity ?? 0);
|
|
12
14
|
};
|
|
13
15
|
|
|
14
|
-
const
|
|
16
|
+
const IOSTranslateSheetView = () => {
|
|
15
17
|
return (
|
|
16
18
|
<IOSTranslateSheet
|
|
17
19
|
text={text}
|
|
18
|
-
isPresented={
|
|
19
|
-
onHide={() =>
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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 ¶ms) {
|
|
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 ¶ms);
|
|
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
|
package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/EventEmitters.h
DELETED
|
@@ -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
|
package/android/generated/jni/react/renderer/components/RNIOSTranslateSheetViewSpec/Props.cpp
DELETED
|
@@ -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
|