react-native-keyboard-controller 1.16.6 → 1.16.7
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/android/src/main/java/com/reactnativekeyboardcontroller/extensions/EditText.kt +15 -15
- package/lib/commonjs/module.js +2 -5
- package/lib/commonjs/module.js.map +1 -1
- package/lib/module/module.js +2 -5
- package/lib/module/module.js.map +1 -1
- package/package.json +1 -1
- package/src/module.ts +3 -3
|
@@ -180,11 +180,6 @@ class KeyboardControllerSelectionWatcher(
|
|
|
180
180
|
lastSelectionEnd = end
|
|
181
181
|
lastEditTextHeight = editTextHeight
|
|
182
182
|
|
|
183
|
-
val cursorPositionStartX: Float
|
|
184
|
-
val cursorPositionStartY: Float
|
|
185
|
-
val cursorPositionEndX: Float
|
|
186
|
-
val cursorPositionEndY: Float
|
|
187
|
-
|
|
188
183
|
val realStart = min(start, end)
|
|
189
184
|
val realEnd = max(start, end)
|
|
190
185
|
|
|
@@ -201,24 +196,29 @@ class KeyboardControllerSelectionWatcher(
|
|
|
201
196
|
val gravity = editText.gravity and Gravity.VERTICAL_GRAVITY_MASK
|
|
202
197
|
val paddingVertical = editText.paddingTop + editText.paddingBottom
|
|
203
198
|
val lineHeightHalfHearted = editText.lineHeight / 2
|
|
199
|
+
val availableVertical = editTextHeight - paddingVertical
|
|
204
200
|
val verticalOffset =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
201
|
+
if (textHeight <= availableVertical) {
|
|
202
|
+
when (gravity) {
|
|
203
|
+
Gravity.CENTER_VERTICAL ->
|
|
204
|
+
(availableVertical - textHeight) / 2 + editText.paddingTop + lineHeightHalfHearted
|
|
205
|
+
Gravity.BOTTOM ->
|
|
206
|
+
editText.paddingTop + (availableVertical - textHeight) + lineHeightHalfHearted
|
|
207
|
+
else -> editText.paddingTop + lineHeightHalfHearted
|
|
208
|
+
}
|
|
209
|
+
} else {
|
|
210
|
+
editText.paddingTop + lineHeightHalfHearted
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
cursorPositionStartX = layout.getPrimaryHorizontal(realStart)
|
|
214
|
-
cursorPositionStartY = (baselineStart + verticalOffset).toFloat()
|
|
213
|
+
val cursorPositionStartX = layout.getPrimaryHorizontal(realStart)
|
|
214
|
+
val cursorPositionStartY = (baselineStart + verticalOffset - view.scrollY).toFloat()
|
|
215
215
|
|
|
216
216
|
val lineEnd = layout.getLineForOffset(realEnd)
|
|
217
217
|
val right = layout.getPrimaryHorizontal(realEnd)
|
|
218
218
|
val bottom = layout.getLineBottom(lineEnd)
|
|
219
219
|
|
|
220
|
-
cursorPositionEndX = right + cursorWidth
|
|
221
|
-
cursorPositionEndY = (bottom + verticalOffset).toFloat()
|
|
220
|
+
val cursorPositionEndX = right + cursorWidth
|
|
221
|
+
val cursorPositionEndY = (bottom + verticalOffset - view.scrollY).toFloat()
|
|
222
222
|
|
|
223
223
|
action(
|
|
224
224
|
start,
|
package/lib/commonjs/module.js
CHANGED
|
@@ -15,11 +15,8 @@ _bindings.KeyboardEvents.addListener("keyboardDidShow", e => {
|
|
|
15
15
|
isClosed = false;
|
|
16
16
|
lastEvent = e;
|
|
17
17
|
});
|
|
18
|
-
const dismiss = async
|
|
19
|
-
keepFocus
|
|
20
|
-
} = {
|
|
21
|
-
keepFocus: false
|
|
22
|
-
}) => {
|
|
18
|
+
const dismiss = async options => {
|
|
19
|
+
const keepFocus = (options === null || options === void 0 ? void 0 : options.keepFocus) ?? false;
|
|
23
20
|
return new Promise(resolve => {
|
|
24
21
|
if (isClosed) {
|
|
25
22
|
resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bindings","require","isClosed","lastEvent","KeyboardEvents","addListener","e","dismiss","keepFocus","Promise","resolve","subscription","undefined","remove","KeyboardControllerNative","isVisible","state","KeyboardController","exports","setDefaultMode","setInputMode","setFocusTo"],"sources":["module.ts"],"sourcesContent":["import { KeyboardControllerNative, KeyboardEvents } from \"./bindings\";\n\nimport type {\n DismissOptions,\n KeyboardControllerModule,\n KeyboardEventData,\n} from \"./types\";\n\nlet isClosed = false;\nlet lastEvent: KeyboardEventData | null = null;\n\nKeyboardEvents.addListener(\"keyboardDidHide\", (e) => {\n isClosed = true;\n lastEvent = e;\n});\n\nKeyboardEvents.addListener(\"keyboardDidShow\", (e) => {\n isClosed = false;\n lastEvent = e;\n});\n\nconst dismiss = async (
|
|
1
|
+
{"version":3,"names":["_bindings","require","isClosed","lastEvent","KeyboardEvents","addListener","e","dismiss","options","keepFocus","Promise","resolve","subscription","undefined","remove","KeyboardControllerNative","isVisible","state","KeyboardController","exports","setDefaultMode","setInputMode","setFocusTo"],"sources":["module.ts"],"sourcesContent":["import { KeyboardControllerNative, KeyboardEvents } from \"./bindings\";\n\nimport type {\n DismissOptions,\n KeyboardControllerModule,\n KeyboardEventData,\n} from \"./types\";\n\nlet isClosed = false;\nlet lastEvent: KeyboardEventData | null = null;\n\nKeyboardEvents.addListener(\"keyboardDidHide\", (e) => {\n isClosed = true;\n lastEvent = e;\n});\n\nKeyboardEvents.addListener(\"keyboardDidShow\", (e) => {\n isClosed = false;\n lastEvent = e;\n});\n\nconst dismiss = async (options?: DismissOptions): Promise<void> => {\n const keepFocus = options?.keepFocus ?? false;\n\n return new Promise((resolve) => {\n if (isClosed) {\n resolve();\n\n return;\n }\n\n const subscription = KeyboardEvents.addListener(\"keyboardDidHide\", () => {\n resolve(undefined);\n subscription.remove();\n });\n\n KeyboardControllerNative.dismiss(keepFocus);\n });\n};\nconst isVisible = () => !isClosed;\nconst state = () => lastEvent;\n\nexport const KeyboardController: KeyboardControllerModule = {\n setDefaultMode: KeyboardControllerNative.setDefaultMode,\n setInputMode: KeyboardControllerNative.setInputMode,\n setFocusTo: KeyboardControllerNative.setFocusTo,\n dismiss,\n isVisible,\n state,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAQA,IAAIC,QAAQ,GAAG,KAAK;AACpB,IAAIC,SAAmC,GAAG,IAAI;AAE9CC,wBAAc,CAACC,WAAW,CAAC,iBAAiB,EAAGC,CAAC,IAAK;EACnDJ,QAAQ,GAAG,IAAI;EACfC,SAAS,GAAGG,CAAC;AACf,CAAC,CAAC;AAEFF,wBAAc,CAACC,WAAW,CAAC,iBAAiB,EAAGC,CAAC,IAAK;EACnDJ,QAAQ,GAAG,KAAK;EAChBC,SAAS,GAAGG,CAAC;AACf,CAAC,CAAC;AAEF,MAAMC,OAAO,GAAG,MAAOC,OAAwB,IAAoB;EACjE,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAI,KAAK;EAE7C,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9B,IAAIT,QAAQ,EAAE;MACZS,OAAO,CAAC,CAAC;MAET;IACF;IAEA,MAAMC,YAAY,GAAGR,wBAAc,CAACC,WAAW,CAAC,iBAAiB,EAAE,MAAM;MACvEM,OAAO,CAACE,SAAS,CAAC;MAClBD,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFC,kCAAwB,CAACR,OAAO,CAACE,SAAS,CAAC;EAC7C,CAAC,CAAC;AACJ,CAAC;AACD,MAAMO,SAAS,GAAGA,CAAA,KAAM,CAACd,QAAQ;AACjC,MAAMe,KAAK,GAAGA,CAAA,KAAMd,SAAS;AAEtB,MAAMe,kBAA4C,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAC1DE,cAAc,EAAEL,kCAAwB,CAACK,cAAc;EACvDC,YAAY,EAAEN,kCAAwB,CAACM,YAAY;EACnDC,UAAU,EAAEP,kCAAwB,CAACO,UAAU;EAC/Cf,OAAO;EACPS,SAAS;EACTC;AACF,CAAC","ignoreList":[]}
|
package/lib/module/module.js
CHANGED
|
@@ -9,11 +9,8 @@ KeyboardEvents.addListener("keyboardDidShow", e => {
|
|
|
9
9
|
isClosed = false;
|
|
10
10
|
lastEvent = e;
|
|
11
11
|
});
|
|
12
|
-
const dismiss = async
|
|
13
|
-
keepFocus
|
|
14
|
-
} = {
|
|
15
|
-
keepFocus: false
|
|
16
|
-
}) => {
|
|
12
|
+
const dismiss = async options => {
|
|
13
|
+
const keepFocus = (options === null || options === void 0 ? void 0 : options.keepFocus) ?? false;
|
|
17
14
|
return new Promise(resolve => {
|
|
18
15
|
if (isClosed) {
|
|
19
16
|
resolve();
|
package/lib/module/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeyboardControllerNative","KeyboardEvents","isClosed","lastEvent","addListener","e","dismiss","keepFocus","Promise","resolve","subscription","undefined","remove","isVisible","state","KeyboardController","setDefaultMode","setInputMode","setFocusTo"],"sources":["module.ts"],"sourcesContent":["import { KeyboardControllerNative, KeyboardEvents } from \"./bindings\";\n\nimport type {\n DismissOptions,\n KeyboardControllerModule,\n KeyboardEventData,\n} from \"./types\";\n\nlet isClosed = false;\nlet lastEvent: KeyboardEventData | null = null;\n\nKeyboardEvents.addListener(\"keyboardDidHide\", (e) => {\n isClosed = true;\n lastEvent = e;\n});\n\nKeyboardEvents.addListener(\"keyboardDidShow\", (e) => {\n isClosed = false;\n lastEvent = e;\n});\n\nconst dismiss = async (
|
|
1
|
+
{"version":3,"names":["KeyboardControllerNative","KeyboardEvents","isClosed","lastEvent","addListener","e","dismiss","options","keepFocus","Promise","resolve","subscription","undefined","remove","isVisible","state","KeyboardController","setDefaultMode","setInputMode","setFocusTo"],"sources":["module.ts"],"sourcesContent":["import { KeyboardControllerNative, KeyboardEvents } from \"./bindings\";\n\nimport type {\n DismissOptions,\n KeyboardControllerModule,\n KeyboardEventData,\n} from \"./types\";\n\nlet isClosed = false;\nlet lastEvent: KeyboardEventData | null = null;\n\nKeyboardEvents.addListener(\"keyboardDidHide\", (e) => {\n isClosed = true;\n lastEvent = e;\n});\n\nKeyboardEvents.addListener(\"keyboardDidShow\", (e) => {\n isClosed = false;\n lastEvent = e;\n});\n\nconst dismiss = async (options?: DismissOptions): Promise<void> => {\n const keepFocus = options?.keepFocus ?? false;\n\n return new Promise((resolve) => {\n if (isClosed) {\n resolve();\n\n return;\n }\n\n const subscription = KeyboardEvents.addListener(\"keyboardDidHide\", () => {\n resolve(undefined);\n subscription.remove();\n });\n\n KeyboardControllerNative.dismiss(keepFocus);\n });\n};\nconst isVisible = () => !isClosed;\nconst state = () => lastEvent;\n\nexport const KeyboardController: KeyboardControllerModule = {\n setDefaultMode: KeyboardControllerNative.setDefaultMode,\n setInputMode: KeyboardControllerNative.setInputMode,\n setFocusTo: KeyboardControllerNative.setFocusTo,\n dismiss,\n isVisible,\n state,\n};\n"],"mappings":"AAAA,SAASA,wBAAwB,EAAEC,cAAc,QAAQ,YAAY;AAQrE,IAAIC,QAAQ,GAAG,KAAK;AACpB,IAAIC,SAAmC,GAAG,IAAI;AAE9CF,cAAc,CAACG,WAAW,CAAC,iBAAiB,EAAGC,CAAC,IAAK;EACnDH,QAAQ,GAAG,IAAI;EACfC,SAAS,GAAGE,CAAC;AACf,CAAC,CAAC;AAEFJ,cAAc,CAACG,WAAW,CAAC,iBAAiB,EAAGC,CAAC,IAAK;EACnDH,QAAQ,GAAG,KAAK;EAChBC,SAAS,GAAGE,CAAC;AACf,CAAC,CAAC;AAEF,MAAMC,OAAO,GAAG,MAAOC,OAAwB,IAAoB;EACjE,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAI,KAAK;EAE7C,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9B,IAAIR,QAAQ,EAAE;MACZQ,OAAO,CAAC,CAAC;MAET;IACF;IAEA,MAAMC,YAAY,GAAGV,cAAc,CAACG,WAAW,CAAC,iBAAiB,EAAE,MAAM;MACvEM,OAAO,CAACE,SAAS,CAAC;MAClBD,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFb,wBAAwB,CAACM,OAAO,CAACE,SAAS,CAAC;EAC7C,CAAC,CAAC;AACJ,CAAC;AACD,MAAMM,SAAS,GAAGA,CAAA,KAAM,CAACZ,QAAQ;AACjC,MAAMa,KAAK,GAAGA,CAAA,KAAMZ,SAAS;AAE7B,OAAO,MAAMa,kBAA4C,GAAG;EAC1DC,cAAc,EAAEjB,wBAAwB,CAACiB,cAAc;EACvDC,YAAY,EAAElB,wBAAwB,CAACkB,YAAY;EACnDC,UAAU,EAAEnB,wBAAwB,CAACmB,UAAU;EAC/Cb,OAAO;EACPQ,SAAS;EACTC;AACF,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
package/src/module.ts
CHANGED
|
@@ -19,9 +19,9 @@ KeyboardEvents.addListener("keyboardDidShow", (e) => {
|
|
|
19
19
|
lastEvent = e;
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
const dismiss = async (
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
const dismiss = async (options?: DismissOptions): Promise<void> => {
|
|
23
|
+
const keepFocus = options?.keepFocus ?? false;
|
|
24
|
+
|
|
25
25
|
return new Promise((resolve) => {
|
|
26
26
|
if (isClosed) {
|
|
27
27
|
resolve();
|