react-native-ios-translate-sheet 1.1.0 → 1.1.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.
- package/README.md +20 -103
- package/lib/commonjs/TranslateContext.js +6 -6
- package/lib/commonjs/TranslateContext.js.map +1 -1
- package/lib/commonjs/{useTranslate.js → hooks/useInternalTranslate.js} +1 -1
- package/lib/commonjs/hooks/useInternalTranslate.js.map +1 -0
- package/lib/commonjs/index.js +0 -24
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/TranslateContext.js +3 -3
- package/lib/module/TranslateContext.js.map +1 -1
- package/lib/module/{useTranslate.js → hooks/useInternalTranslate.js} +1 -1
- package/lib/module/hooks/useInternalTranslate.js.map +1 -0
- package/lib/module/index.js +0 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/TranslateContext.d.ts +1 -1
- package/lib/typescript/TranslateContext.d.ts.map +1 -1
- package/lib/typescript/{useTranslate.d.ts → hooks/useInternalTranslate.d.ts} +1 -1
- package/lib/typescript/hooks/useInternalTranslate.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +0 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -20
- package/src/TranslateContext.tsx +5 -3
- package/src/index.tsx +0 -2
- package/lib/commonjs/useTranslate.js.map +0 -1
- package/lib/module/useTranslate.js.map +0 -1
- package/lib/typescript/useTranslate.d.ts.map +0 -1
- /package/src/{useTranslate.tsx → hooks/useInternalTranslate.tsx} +0 -0
package/README.md
CHANGED
|
@@ -47,125 +47,42 @@ cd ios && pod install
|
|
|
47
47
|
|
|
48
48
|
## Usage
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
1. First, wrap your app (or the part where you want to use the translation sheet) with the `IOSTranslateSheetProvider`:
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
```tsx
|
|
53
|
+
import { IOSTranslateSheetProvider } from 'react-native-ios-translate-sheet';
|
|
53
54
|
|
|
54
|
-
|
|
55
|
-
import React from 'react';
|
|
56
|
-
import { View, Button, StyleSheet, Text } from 'react-native';
|
|
57
|
-
import { useIOSTranslateSheet } from 'react-native-ios-translate-sheet';
|
|
58
|
-
|
|
59
|
-
export default function App() {
|
|
60
|
-
const { presentIOSTranslateSheet, IOSTranslateSheetView } = useIOSTranslateSheet();
|
|
61
|
-
|
|
62
|
-
const handleTranslate = () => {
|
|
63
|
-
presentIOSTranslateSheet('Hello world! This is a sample text to translate.');
|
|
64
|
-
};
|
|
65
|
-
|
|
55
|
+
function App() {
|
|
66
56
|
return (
|
|
67
|
-
<
|
|
68
|
-
{/*
|
|
69
|
-
|
|
70
|
-
<Text style={styles.text}>
|
|
71
|
-
Press the button below to translate text
|
|
72
|
-
</Text>
|
|
73
|
-
<Button
|
|
74
|
-
title="Translate Text"
|
|
75
|
-
onPress={handleTranslate}
|
|
76
|
-
/>
|
|
77
|
-
</View>
|
|
57
|
+
<IOSTranslateSheetProvider>
|
|
58
|
+
{/* Your app content */}
|
|
59
|
+
</IOSTranslateSheetProvider>
|
|
78
60
|
);
|
|
79
61
|
}
|
|
80
|
-
|
|
81
|
-
const styles = StyleSheet.create({
|
|
82
|
-
container: {
|
|
83
|
-
flex: 1,
|
|
84
|
-
justifyContent: 'center',
|
|
85
|
-
alignItems: 'center',
|
|
86
|
-
padding: 20,
|
|
87
|
-
},
|
|
88
|
-
text: {
|
|
89
|
-
marginBottom: 20,
|
|
90
|
-
textAlign: 'center',
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
62
|
```
|
|
94
63
|
|
|
95
|
-
|
|
64
|
+
2. Then, use the `useIOSTranslateSheet` hook in any component where you want to trigger the translation sheet:
|
|
96
65
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- `isIOSTranslateSheetPresented`: Boolean state indicating if the translation sheet is currently visible
|
|
100
|
-
|
|
101
|
-
This approach simplifies state management and allows you to trigger translations from anywhere in your component.
|
|
66
|
+
```tsx
|
|
67
|
+
import { useIOSTranslateSheet } from 'react-native-ios-translate-sheet';
|
|
102
68
|
|
|
103
|
-
|
|
69
|
+
function MyComponent() {
|
|
70
|
+
const { presentIOSTranslateSheet } = useIOSTranslateSheet();
|
|
104
71
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
import { IOSTranslateSheetView } from 'react-native-ios-translate-sheet';
|
|
72
|
+
const handleTranslate = () => {
|
|
73
|
+
presentIOSTranslateSheet('Text to translate');
|
|
74
|
+
};
|
|
109
75
|
|
|
110
|
-
export default function App() {
|
|
111
|
-
const [isTranslateVisible, setTranslateVisible] = useState(false);
|
|
112
|
-
|
|
113
76
|
return (
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
opacity={0.1}
|
|
119
|
-
onHide={() => setTranslateVisible(false)}
|
|
120
|
-
style={styles.translateView}
|
|
121
|
-
/>
|
|
122
|
-
<Button
|
|
123
|
-
title="Translate Text"
|
|
124
|
-
onPress={() => setTranslateVisible(true)}
|
|
125
|
-
/>
|
|
126
|
-
</View>
|
|
77
|
+
<Button
|
|
78
|
+
title="Translate"
|
|
79
|
+
onPress={handleTranslate}
|
|
80
|
+
/>
|
|
127
81
|
);
|
|
128
82
|
}
|
|
129
|
-
|
|
130
|
-
const styles = StyleSheet.create({
|
|
131
|
-
container: {
|
|
132
|
-
flex: 1,
|
|
133
|
-
justifyContent: 'center',
|
|
134
|
-
alignItems: 'center',
|
|
135
|
-
},
|
|
136
|
-
translateView: {
|
|
137
|
-
position: 'absolute',
|
|
138
|
-
top: 0,
|
|
139
|
-
left: 0,
|
|
140
|
-
right: 0,
|
|
141
|
-
bottom: 0,
|
|
142
|
-
},
|
|
143
|
-
});
|
|
144
83
|
```
|
|
145
84
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
| Prop | Type | Required | Description |
|
|
149
|
-
|------|------|----------|-------------|
|
|
150
|
-
| `text` | string | Yes | The text to be translated |
|
|
151
|
-
| `isPresented` | boolean | Yes | Controls the visibility of the translation sheet |
|
|
152
|
-
| `opacity` | number | No | Background opacity when the sheet is presented (0.0 - 1.0) |
|
|
153
|
-
| `onHide` | function | No | Callback function triggered when the sheet is dismissed |
|
|
154
|
-
| `style` | ViewStyle | No | Style for the container view |
|
|
155
|
-
|
|
156
|
-
### Important Note on View Positioning
|
|
157
|
-
|
|
158
|
-
> ⚠️ **Warning**: The `IOSTranslateSheetView` or `IOSTranslateSheetView` from the hook **must** cover the entire screen to work properly.
|
|
159
|
-
|
|
160
|
-
This is necessary because:
|
|
161
|
-
|
|
162
|
-
1. The native SwiftUI translation sheet requires a full-screen container to display correctly
|
|
163
|
-
2. The component needs to overlay all other UI elements to ensure proper interaction
|
|
164
|
-
3. The iOS translation sheet is presented modally on top of your app's content
|
|
165
|
-
|
|
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.
|
|
167
|
-
|
|
168
|
-
If the view is not positioned correctly, the translation sheet may not appear or function as expected.
|
|
85
|
+
Note: The translation sheet will only appear on iOS devices running version 17.4 or later. On other platforms or iOS versions below 17.4, the `presentIOSTranslateSheet` function will do nothing.
|
|
169
86
|
|
|
170
87
|
## Contributing
|
|
171
88
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.useIOSTranslateSheet = exports.
|
|
6
|
+
exports.useIOSTranslateSheet = exports.IOSTranslateSheetProvider = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _IOSTranslateSheetViewNativeComponent = _interopRequireDefault(require("./IOSTranslateSheetViewNativeComponent"));
|
|
10
|
-
var
|
|
10
|
+
var _useInternalTranslate = require("./hooks/useInternalTranslate");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const TranslateContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
14
|
-
const
|
|
14
|
+
const IOSTranslateSheetProvider = ({
|
|
15
15
|
children
|
|
16
16
|
}) => {
|
|
17
17
|
const {
|
|
@@ -20,7 +20,7 @@ const TranslateProvider = ({
|
|
|
20
20
|
text,
|
|
21
21
|
opacity,
|
|
22
22
|
hideTranslateSheet
|
|
23
|
-
} = (0,
|
|
23
|
+
} = (0, _useInternalTranslate.useInternalTranslateSheet)();
|
|
24
24
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TranslateContext.Provider, {
|
|
25
25
|
value: {
|
|
26
26
|
presentIOSTranslateSheet
|
|
@@ -34,11 +34,11 @@ const TranslateProvider = ({
|
|
|
34
34
|
}), children]
|
|
35
35
|
});
|
|
36
36
|
};
|
|
37
|
-
exports.
|
|
37
|
+
exports.IOSTranslateSheetProvider = IOSTranslateSheetProvider;
|
|
38
38
|
const useIOSTranslateSheet = () => {
|
|
39
39
|
const context = (0, _react.useContext)(TranslateContext);
|
|
40
40
|
if (!context) {
|
|
41
|
-
throw new Error("
|
|
41
|
+
throw new Error("useIOSTranslateSheet must be used within a IOSTranslateSheetProvider");
|
|
42
42
|
}
|
|
43
43
|
return context;
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_IOSTranslateSheetViewNativeComponent","_interopRequireDefault","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_IOSTranslateSheetViewNativeComponent","_interopRequireDefault","_useInternalTranslate","_jsxRuntime","e","__esModule","default","TranslateContext","createContext","IOSTranslateSheetProvider","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,qBAAA,GAAAJ,OAAA;AAAyE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMzE,MAAMG,gBAAgB,gBAAG,IAAAC,oBAAa,EAA8B,IAAI,CAAC;AAElE,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC;AACuB,CAAC,KAAK;EAC7B,MAAM;IACJC,wBAAwB;IACxBC,4BAA4B;IAC5BC,IAAI;IACJC,OAAO;IACPC;EACF,CAAC,GAAG,IAAAC,+CAAyB,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,yBAAA,GAAAA,yBAAA;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,sEACF,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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useInternalTranslateSheet","isIOSTranslateSheetPresented","setIsIOSTranslateSheetPresented","useState","text","setText","opacity","setOpacity","presentIOSTranslateSheet","_text","_opacity","hideTranslateSheet","exports"],"sourceRoot":"../../../src","sources":["hooks/useInternalTranslate.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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,31 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
IOSTranslateSheet: true
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "IOSTranslateSheet", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: function () {
|
|
12
|
-
return _IOSTranslateSheetViewNativeComponent.default;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
var _IOSTranslateSheetViewNativeComponent = _interopRequireWildcard(require("./IOSTranslateSheetViewNativeComponent"));
|
|
16
|
-
Object.keys(_IOSTranslateSheetViewNativeComponent).forEach(function (key) {
|
|
17
|
-
if (key === "default" || key === "__esModule") return;
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
19
|
-
if (key in exports && exports[key] === _IOSTranslateSheetViewNativeComponent[key]) return;
|
|
20
|
-
Object.defineProperty(exports, key, {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
get: function () {
|
|
23
|
-
return _IOSTranslateSheetViewNativeComponent[key];
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
6
|
var _TranslateContext = require("./TranslateContext");
|
|
28
7
|
Object.keys(_TranslateContext).forEach(function (key) {
|
|
29
8
|
if (key === "default" || key === "__esModule") return;
|
|
30
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
31
9
|
if (key in exports && exports[key] === _TranslateContext[key]) return;
|
|
32
10
|
Object.defineProperty(exports, key, {
|
|
33
11
|
enumerable: true,
|
|
@@ -36,6 +14,4 @@ Object.keys(_TranslateContext).forEach(function (key) {
|
|
|
36
14
|
}
|
|
37
15
|
});
|
|
38
16
|
});
|
|
39
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
40
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
41
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_TranslateContext","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import { createContext, useContext } from "react";
|
|
4
4
|
import { StyleSheet } from "react-native";
|
|
5
5
|
import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
|
|
6
|
-
import { useInternalTranslateSheet } from "./
|
|
6
|
+
import { useInternalTranslateSheet } from "./hooks/useInternalTranslate";
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
8
|
const TranslateContext = /*#__PURE__*/createContext(null);
|
|
9
|
-
export const
|
|
9
|
+
export const IOSTranslateSheetProvider = ({
|
|
10
10
|
children
|
|
11
11
|
}) => {
|
|
12
12
|
const {
|
|
@@ -32,7 +32,7 @@ export const TranslateProvider = ({
|
|
|
32
32
|
export const useIOSTranslateSheet = () => {
|
|
33
33
|
const context = useContext(TranslateContext);
|
|
34
34
|
if (!context) {
|
|
35
|
-
throw new Error("
|
|
35
|
+
throw new Error("useIOSTranslateSheet must be used within a IOSTranslateSheetProvider");
|
|
36
36
|
}
|
|
37
37
|
return context;
|
|
38
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","StyleSheet","IOSTranslateSheet","useInternalTranslateSheet","jsx","_jsx","jsxs","_jsxs","TranslateContext","
|
|
1
|
+
{"version":3,"names":["createContext","useContext","StyleSheet","IOSTranslateSheet","useInternalTranslateSheet","jsx","_jsx","jsxs","_jsxs","TranslateContext","IOSTranslateSheetProvider","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,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMzE,MAAMC,gBAAgB,gBAAGT,aAAa,CAA8B,IAAI,CAAC;AAEzE,OAAO,MAAMU,yBAAyB,GAAGA,CAAC;EACxCC;AACuB,CAAC,KAAK;EAC7B,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,sEACF,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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useInternalTranslateSheet","isIOSTranslateSheetPresented","setIsIOSTranslateSheetPresented","text","setText","opacity","setOpacity","presentIOSTranslateSheet","_text","_opacity","hideTranslateSheet"],"sourceRoot":"../../../src","sources":["hooks/useInternalTranslate.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":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,oBAAoB","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { type ReactNode } from "react";
|
|
|
2
2
|
type TranslateContextType = {
|
|
3
3
|
presentIOSTranslateSheet: (text: string, opacity?: number) => void;
|
|
4
4
|
};
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const IOSTranslateSheetProvider: ({ children, }: {
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare const useIOSTranslateSheet: () => TranslateContextType;
|
|
@@ -1 +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,
|
|
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,yBAAyB,kBAEnC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAqBzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,4BAQhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInternalTranslate.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInternalTranslate.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB;;sCAMK,MAAM,aAAa,MAAM;;;;CAiBnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ios-translate-sheet",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "SwiftUI Translate Sheet on React Native",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "lib/commonjs/index.js",
|
|
@@ -61,7 +61,6 @@
|
|
|
61
61
|
"@biomejs/biome": "^1.9.4",
|
|
62
62
|
"@commitlint/config-conventional": "^17.0.2",
|
|
63
63
|
"@react-native-community/cli": "15.1.3",
|
|
64
|
-
"@release-it/conventional-changelog": "^9.0.2",
|
|
65
64
|
"@semantic-release/changelog": "^6.0.3",
|
|
66
65
|
"@semantic-release/git": "^10.0.1",
|
|
67
66
|
"@types/jest": "^29.5.5",
|
|
@@ -73,7 +72,6 @@
|
|
|
73
72
|
"react": "19.0.0",
|
|
74
73
|
"react-native": "0.78.0",
|
|
75
74
|
"react-native-builder-bob": "^0.37.0",
|
|
76
|
-
"release-it": "^17.10.0",
|
|
77
75
|
"semantic-release": "^24.2.3",
|
|
78
76
|
"turbo": "^1.10.7",
|
|
79
77
|
"typescript": "^5.2.2"
|
|
@@ -101,23 +99,6 @@
|
|
|
101
99
|
"@commitlint/config-conventional"
|
|
102
100
|
]
|
|
103
101
|
},
|
|
104
|
-
"release-it": {
|
|
105
|
-
"git": {
|
|
106
|
-
"commitMessage": "chore: release ${version}",
|
|
107
|
-
"tagName": "v${version}"
|
|
108
|
-
},
|
|
109
|
-
"npm": {
|
|
110
|
-
"publish": true
|
|
111
|
-
},
|
|
112
|
-
"github": {
|
|
113
|
-
"release": true
|
|
114
|
-
},
|
|
115
|
-
"plugins": {
|
|
116
|
-
"@release-it/conventional-changelog": {
|
|
117
|
-
"preset": "angular"
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
102
|
"react-native-builder-bob": {
|
|
122
103
|
"source": "src",
|
|
123
104
|
"output": "lib",
|
package/src/TranslateContext.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactNode, createContext, useContext } from "react";
|
|
2
2
|
import { StyleSheet } from "react-native";
|
|
3
3
|
import IOSTranslateSheet from "./IOSTranslateSheetViewNativeComponent";
|
|
4
|
-
import { useInternalTranslateSheet } from "./
|
|
4
|
+
import { useInternalTranslateSheet } from "./hooks/useInternalTranslate";
|
|
5
5
|
|
|
6
6
|
type TranslateContextType = {
|
|
7
7
|
presentIOSTranslateSheet: (text: string, opacity?: number) => void;
|
|
@@ -9,7 +9,9 @@ type TranslateContextType = {
|
|
|
9
9
|
|
|
10
10
|
const TranslateContext = createContext<TranslateContextType | null>(null);
|
|
11
11
|
|
|
12
|
-
export const
|
|
12
|
+
export const IOSTranslateSheetProvider = ({
|
|
13
|
+
children,
|
|
14
|
+
}: { children: ReactNode }) => {
|
|
13
15
|
const {
|
|
14
16
|
presentIOSTranslateSheet,
|
|
15
17
|
isIOSTranslateSheetPresented,
|
|
@@ -36,7 +38,7 @@ export const useIOSTranslateSheet = () => {
|
|
|
36
38
|
const context = useContext(TranslateContext);
|
|
37
39
|
if (!context) {
|
|
38
40
|
throw new Error(
|
|
39
|
-
"
|
|
41
|
+
"useIOSTranslateSheet must be used within a IOSTranslateSheetProvider",
|
|
40
42
|
);
|
|
41
43
|
}
|
|
42
44
|
return context;
|
package/src/index.tsx
CHANGED
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTranslate.d.ts","sourceRoot":"","sources":["../../src/useTranslate.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB;;sCAMK,MAAM,aAAa,MAAM;;;;CAiBnE,CAAC"}
|
|
File without changes
|