react-native-typerich 0.1.4 → 0.1.5
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/typerich/TypeRichTextInputView.kt +23 -0
- package/android/src/main/java/com/typerich/TypeRichTextInputViewManager.kt +5 -0
- package/android/src/main/new_arch/CMakeLists.txt +9 -1
- package/lib/module/TypeRichTextInputNativeComponent.ts +1 -0
- package/lib/typescript/src/TypeRichTextInputNativeComponent.d.ts +1 -0
- package/lib/typescript/src/TypeRichTextInputNativeComponent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TypeRichTextInputNativeComponent.ts +1 -0
|
@@ -62,6 +62,7 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
62
62
|
private var defaultValueDirty: Boolean = false
|
|
63
63
|
private var keyboardAppearance: String = "default"
|
|
64
64
|
private var inputMethodManager: InputMethodManager? = null
|
|
65
|
+
private var lineHeightPx: Int? = null
|
|
65
66
|
|
|
66
67
|
constructor(context: Context) : super(context) {
|
|
67
68
|
prepareComponent()
|
|
@@ -471,6 +472,27 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
471
472
|
setTextIsSelectable(!isSecure)
|
|
472
473
|
}
|
|
473
474
|
|
|
475
|
+
fun setLineHeightReact(lineHeight: Float) {
|
|
476
|
+
if (lineHeight <= 0f) return
|
|
477
|
+
|
|
478
|
+
// RN sends lineHeight in DIP
|
|
479
|
+
val px = ceil(PixelUtil.toPixelFromDIP(lineHeight)).toInt()
|
|
480
|
+
lineHeightPx = px
|
|
481
|
+
applyLineHeight()
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
private fun applyLineHeight() {
|
|
485
|
+
val lh = lineHeightPx ?: return
|
|
486
|
+
|
|
487
|
+
val fontMetrics = paint.fontMetricsInt
|
|
488
|
+
val fontHeight = fontMetrics.descent - fontMetrics.ascent
|
|
489
|
+
|
|
490
|
+
val extra = lh - fontHeight
|
|
491
|
+
if (extra > 0) {
|
|
492
|
+
// same logic as ReactTextView
|
|
493
|
+
setLineSpacing(extra.toFloat(), 1f)
|
|
494
|
+
}
|
|
495
|
+
}
|
|
474
496
|
|
|
475
497
|
override fun isLayoutRequested(): Boolean {
|
|
476
498
|
return false
|
|
@@ -479,6 +501,7 @@ class TypeRichTextInputView : AppCompatEditText {
|
|
|
479
501
|
fun afterUpdateTransaction() {
|
|
480
502
|
updateTypeface()
|
|
481
503
|
updateDefaultValue()
|
|
504
|
+
applyLineHeight()
|
|
482
505
|
}
|
|
483
506
|
|
|
484
507
|
fun setDefaultValue(value: CharSequence?) {
|
|
@@ -135,6 +135,11 @@ class TypeRichTextInputViewManager :
|
|
|
135
135
|
) {
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
@ReactProp(name = "lineHeight")
|
|
139
|
+
override fun setLineHeight(view: TypeRichTextInputView?, lineHeight: Float) {
|
|
140
|
+
view?.setLineHeightReact(lineHeight)
|
|
141
|
+
}
|
|
142
|
+
|
|
138
143
|
override fun onAfterUpdateTransaction(view: TypeRichTextInputView) {
|
|
139
144
|
super.onAfterUpdateTransaction(view)
|
|
140
145
|
view.afterUpdateTransaction()
|
|
@@ -34,6 +34,14 @@ add_library(
|
|
|
34
34
|
${LIB_CODEGEN_SRCS}
|
|
35
35
|
)
|
|
36
36
|
|
|
37
|
+
set_target_properties(
|
|
38
|
+
${LIB_TARGET_NAME}
|
|
39
|
+
PROPERTIES
|
|
40
|
+
CXX_STANDARD 20
|
|
41
|
+
CXX_STANDARD_REQUIRED YES
|
|
42
|
+
CXX_EXTENSIONS NO
|
|
43
|
+
)
|
|
44
|
+
|
|
37
45
|
target_include_directories(
|
|
38
46
|
${LIB_TARGET_NAME}
|
|
39
47
|
PUBLIC
|
|
@@ -67,7 +75,7 @@ else()
|
|
|
67
75
|
endif()
|
|
68
76
|
|
|
69
77
|
target_include_directories(
|
|
70
|
-
${
|
|
78
|
+
${LIB_TARGET_NAME}
|
|
71
79
|
PUBLIC
|
|
72
80
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
73
81
|
)
|
|
@@ -44,6 +44,7 @@ export interface TypeRichTextInputNativeProps extends ViewProps {
|
|
|
44
44
|
fontFamily?: string;
|
|
45
45
|
fontWeight?: string;
|
|
46
46
|
fontStyle?: string;
|
|
47
|
+
lineHeight?: Float;
|
|
47
48
|
androidExperimentalSynchronousEvents?: boolean;
|
|
48
49
|
}
|
|
49
50
|
type ComponentType = HostComponent<TypeRichTextInputNativeProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeRichTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/TypeRichTextInputNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,KAAK,EACN,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAClD,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAE7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAM1E,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAI3D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,oCAAoC,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;AAEjE,UAAU,cAAc;IAEtB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E;AAED,eAAO,MAAM,QAAQ,EAAE,cAOrB,CAAC;wBAOE,aAAa,CAAC,4BAA4B,CAAC;AALhD,wBAKiD"}
|
|
1
|
+
{"version":3,"file":"TypeRichTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/TypeRichTextInputNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,KAAK,EACN,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAClD,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAE7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAM1E,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAI3D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;IAGnB,oCAAoC,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;AAEjE,UAAU,cAAc;IAEtB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E;AAED,eAAO,MAAM,QAAQ,EAAE,cAOrB,CAAC;wBAOE,aAAa,CAAC,4BAA4B,CAAC;AALhD,wBAKiD"}
|
package/package.json
CHANGED