@herca/rn-kit 0.1.55 → 0.1.56
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/lib/module/TextEditor/TextEditor.js +38 -53
- package/lib/module/TextEditor/TextEditor.js.map +1 -1
- package/lib/module/Ui/Footer.js.map +1 -1
- package/lib/typescript/src/TextEditor/TextEditor.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Footer.d.ts +2 -2
- package/lib/typescript/src/Ui/Footer.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TextEditor/TextEditor.tsx +62 -80
- package/src/Ui/Footer.tsx +7 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
4
|
-
import { Alert, Dimensions, Keyboard, KeyboardAvoidingView, Platform,
|
|
4
|
+
import { Alert, Dimensions, Keyboard, KeyboardAvoidingView, Platform, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import { WebView } from 'react-native-webview';
|
|
6
6
|
import BottomSheet from "../BottomSheet/BottomSheet.js";
|
|
7
7
|
import Button from "../Button/Button.js";
|
|
@@ -10,6 +10,7 @@ import Icon from "../Icon/index.js";
|
|
|
10
10
|
import Input from "../Input/Input.js";
|
|
11
11
|
import LabelForm from "../LabelForm/LabelForm.js";
|
|
12
12
|
import Typography from "../Typography/Typography.js";
|
|
13
|
+
import Footer from "../Ui/Footer.js";
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
const TextEditor = /*#__PURE__*/forwardRef(({
|
|
15
16
|
label,
|
|
@@ -38,6 +39,7 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
38
39
|
const [isEditingLink, setIsEditingLink] = useState(false);
|
|
39
40
|
const webviewRef = useRef(null);
|
|
40
41
|
const inputUrlRef = useRef(null);
|
|
42
|
+
const [keyboardHeight, setKeyboardHeight] = useState(0);
|
|
41
43
|
|
|
42
44
|
// Sekarang handleOnChange hanya dipanggil sebagai fallback
|
|
43
45
|
const handleOnChange = data => {
|
|
@@ -355,37 +357,19 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
355
357
|
if (webviewRef.current) {
|
|
356
358
|
if (Platform.OS === 'ios') {
|
|
357
359
|
webviewRef.current.injectJavaScript(`
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
// Force update formats after command
|
|
363
|
-
setTimeout(() => {
|
|
364
|
-
const formats = [];
|
|
365
|
-
if (document.queryCommandState('bold')) formats.push('bold');
|
|
366
|
-
if (document.queryCommandState('italic')) formats.push('italic');
|
|
367
|
-
if (document.queryCommandState('underline')) formats.push('underline');
|
|
368
|
-
if (document.queryCommandState('strikeThrough')) formats.push('strikeThrough');
|
|
369
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({
|
|
370
|
-
type: 'formats',
|
|
371
|
-
formats: formats
|
|
372
|
-
}));
|
|
373
|
-
window.ReactNativeWebView.postMessage(editor.innerHTML);
|
|
374
|
-
}, 50);
|
|
375
|
-
true;
|
|
376
|
-
`);
|
|
360
|
+
document.execCommand('${command}', false, '');
|
|
361
|
+
true; //di ios harus biar berfunsi boldnya
|
|
362
|
+
`);
|
|
377
363
|
} else {
|
|
378
364
|
webviewRef.current.postMessage(command);
|
|
379
365
|
}
|
|
380
366
|
}
|
|
381
367
|
};
|
|
382
368
|
const openLinkModal = () => {
|
|
369
|
+
setShowLinkModal(true);
|
|
383
370
|
if (webviewRef.current) {
|
|
384
371
|
webviewRef.current.postMessage('getSelectedText');
|
|
385
372
|
}
|
|
386
|
-
setTimeout(() => {
|
|
387
|
-
setShowLinkModal(true);
|
|
388
|
-
}, 50);
|
|
389
373
|
setTimeout(() => {
|
|
390
374
|
inputUrlRef.current?.focus();
|
|
391
375
|
}, 350);
|
|
@@ -483,11 +467,9 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
483
467
|
};
|
|
484
468
|
const closeLinkModal = () => {
|
|
485
469
|
setShowLinkModal(false);
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
setIsEditingLink(false);
|
|
490
|
-
}, 300);
|
|
470
|
+
setLinkText('');
|
|
471
|
+
setLinkUrl('');
|
|
472
|
+
setIsEditingLink(false);
|
|
491
473
|
};
|
|
492
474
|
const handleWebViewMessage = event => {
|
|
493
475
|
const data = event.nativeEvent.data;
|
|
@@ -532,11 +514,13 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
532
514
|
}
|
|
533
515
|
};
|
|
534
516
|
useEffect(() => {
|
|
535
|
-
const showSub = Keyboard.addListener('keyboardDidShow',
|
|
517
|
+
const showSub = Keyboard.addListener('keyboardDidShow', e => {
|
|
536
518
|
setShowToolbar(true);
|
|
519
|
+
setKeyboardHeight(e.endCoordinates.height);
|
|
537
520
|
});
|
|
538
521
|
const hideSub = Keyboard.addListener('keyboardDidHide', () => {
|
|
539
522
|
setShowToolbar(false);
|
|
523
|
+
setKeyboardHeight(0);
|
|
540
524
|
});
|
|
541
525
|
return () => {
|
|
542
526
|
showSub.remove();
|
|
@@ -560,9 +544,12 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
560
544
|
command: 'strikeThrough',
|
|
561
545
|
icon: 'strike-through',
|
|
562
546
|
label: 'Strike'
|
|
563
|
-
},
|
|
564
|
-
|
|
565
|
-
|
|
547
|
+
}, {
|
|
548
|
+
command: 'link',
|
|
549
|
+
icon: 'Link',
|
|
550
|
+
label: 'Link',
|
|
551
|
+
isSpecial: true
|
|
552
|
+
}, {
|
|
566
553
|
command: 'insertUnorderedList',
|
|
567
554
|
icon: 'list-un-ordered',
|
|
568
555
|
label: 'Bullet'
|
|
@@ -621,26 +608,7 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
621
608
|
weight: "medium",
|
|
622
609
|
children: [characterCount, "/", maxLength]
|
|
623
610
|
})]
|
|
624
|
-
}) : null,
|
|
625
|
-
behavior: Platform.OS === 'ios' ? 'position' : 'padding',
|
|
626
|
-
children: /*#__PURE__*/_jsx(SafeAreaView, {
|
|
627
|
-
style: [styles.toolbar, Platform?.OS === 'android' && Platform.Version < 35 ? styles.mt10p : undefined],
|
|
628
|
-
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
629
|
-
horizontal: true,
|
|
630
|
-
showsHorizontalScrollIndicator: false,
|
|
631
|
-
contentContainerStyle: styles.toolbarContent,
|
|
632
|
-
children: toolbarButtons.map(button => /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
633
|
-
onPress: () => button.isSpecial ? openLinkModal() : formatText(button.command),
|
|
634
|
-
style: [styles.toolButton, isFormatActive(button.command) && styles.toolButtonActive],
|
|
635
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
636
|
-
name: button.icon,
|
|
637
|
-
size: 20,
|
|
638
|
-
color: isFormatActive(button.command) ? '#fff' : Color.gray[900]
|
|
639
|
-
})
|
|
640
|
-
}, button.command))
|
|
641
|
-
})
|
|
642
|
-
})
|
|
643
|
-
}), /*#__PURE__*/_jsxs(BottomSheet, {
|
|
611
|
+
}) : null, /*#__PURE__*/_jsxs(BottomSheet, {
|
|
644
612
|
isOpen: showLinkModal,
|
|
645
613
|
onClose: () => setShowLinkModal(false),
|
|
646
614
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
@@ -679,6 +647,24 @@ const TextEditor = /*#__PURE__*/forwardRef(({
|
|
|
679
647
|
})
|
|
680
648
|
})]
|
|
681
649
|
})]
|
|
650
|
+
}), showToolbar && /*#__PURE__*/_jsx(Footer, {
|
|
651
|
+
style: [styles.toolbar, {
|
|
652
|
+
bottom: Platform.OS === 'android' && Platform.Version < 35 ? keyboardHeight - keyboardHeight : keyboardHeight
|
|
653
|
+
}],
|
|
654
|
+
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
655
|
+
horizontal: true,
|
|
656
|
+
showsHorizontalScrollIndicator: false,
|
|
657
|
+
contentContainerStyle: styles.toolbarContent,
|
|
658
|
+
children: toolbarButtons.map(button => /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
659
|
+
onPress: () => button.isSpecial ? openLinkModal() : formatText(button.command),
|
|
660
|
+
style: [styles.toolButton, isFormatActive(button.command) && styles.toolButtonActive],
|
|
661
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
662
|
+
name: button.icon,
|
|
663
|
+
size: 20,
|
|
664
|
+
color: isFormatActive(button.command) ? '#fff' : Color.gray[900]
|
|
665
|
+
})
|
|
666
|
+
}, button.command))
|
|
667
|
+
})
|
|
682
668
|
})]
|
|
683
669
|
});
|
|
684
670
|
});
|
|
@@ -712,7 +698,6 @@ const styles = StyleSheet.create({
|
|
|
712
698
|
backgroundColor: '#fff',
|
|
713
699
|
paddingVertical: 8,
|
|
714
700
|
position: 'absolute',
|
|
715
|
-
left: -24,
|
|
716
701
|
width: Dimensions.get('screen').width,
|
|
717
702
|
alignItems: 'center'
|
|
718
703
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","useState","Alert","Dimensions","Keyboard","KeyboardAvoidingView","Platform","SafeAreaView","ScrollView","StyleSheet","TouchableOpacity","View","WebView","BottomSheet","Button","Color","Icon","Input","LabelForm","Typography","jsx","_jsx","jsxs","_jsxs","TextEditor","label","hasError","hint","onChange","height","initialValue","placeholder","maxLength","onFocus","onBlur","inputLinkTextPlacholder","inputLinkUrlPlacholder","inputLabelLinkText","inputLabelLinkUrl","saveLinkButtonText","cancelLinkButtonText","ref","showToolbar","setShowToolbar","activeFormats","setActiveFormats","Set","characterCount","setCharacterCount","showLinkModal","setShowLinkModal","linkText","setLinkText","linkUrl","setLinkUrl","isEditingLink","setIsEditingLink","webviewRef","inputUrlRef","handleOnChange","data","textOnly","replace","trim","length","getContent","current","postMessage","setContent","html","escapedHtml","injectJavaScript","clearContent","htmlEditor","gray","formatText","command","OS","openLinkModal","setTimeout","focus","insertLink","alert","finalUrl","match","linkData","JSON","stringify","text","url","isExisting","closeLinkModal","handleWebViewMessage","event","nativeEvent","parsed","parse","type","requestAnimationFrame","formats","cleanUrl","showSub","addListener","hideSub","remove","isFormatActive","format","has","toolbarButtons","icon","style","styles","container","children","title","editorWrapper","minHeight","behavior","undefined","originWhitelist","source","onMessage","webview","javaScriptEnabled","domStorageEnabled","mixedContentMode","allowUniversalAccessFromFileURLs","allowFileAccess","scrollEnabled","hintContainer","color","danger","variant","weight","toolbar","Version","mt10p","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","toolbarContent","map","button","onPress","isSpecial","toolButton","toolButtonActive","name","size","isOpen","onClose","modalBody","value","onChangeText","autoCapitalize","keyboardType","modalActions","flex1","displayName","create","backgroundColor","gap","position","flex","borderWidth","borderColor","borderRadius","overflow","paddingVertical","paddingHorizontal","flexDirection","justifyContent","alignItems","borderTopWidth","left","width","get","padding","marginHorizontal","minWidth","primary","marginTop"],"sourceRoot":"../../../src","sources":["TextEditor/TextEditor.tsx"],"mappings":"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AW;AACnC,qBAAqBhB,KAAK,CAAC2D,IAAI,CAAC,GAAG,CAAC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE5C,YAAY;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","useState","Alert","Dimensions","Keyboard","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","TouchableOpacity","View","WebView","BottomSheet","Button","Color","Icon","Input","LabelForm","Typography","Footer","jsx","_jsx","jsxs","_jsxs","TextEditor","label","hasError","hint","onChange","height","initialValue","placeholder","maxLength","onFocus","onBlur","inputLinkTextPlacholder","inputLinkUrlPlacholder","inputLabelLinkText","inputLabelLinkUrl","saveLinkButtonText","cancelLinkButtonText","ref","showToolbar","setShowToolbar","activeFormats","setActiveFormats","Set","characterCount","setCharacterCount","showLinkModal","setShowLinkModal","linkText","setLinkText","linkUrl","setLinkUrl","isEditingLink","setIsEditingLink","webviewRef","inputUrlRef","keyboardHeight","setKeyboardHeight","handleOnChange","data","textOnly","replace","trim","length","getContent","current","postMessage","setContent","html","escapedHtml","injectJavaScript","clearContent","htmlEditor","gray","formatText","command","OS","openLinkModal","setTimeout","focus","insertLink","alert","finalUrl","match","linkData","JSON","stringify","text","url","isExisting","closeLinkModal","handleWebViewMessage","event","nativeEvent","parsed","parse","type","requestAnimationFrame","formats","cleanUrl","showSub","addListener","e","endCoordinates","hideSub","remove","isFormatActive","format","has","toolbarButtons","icon","isSpecial","style","styles","container","children","title","editorWrapper","minHeight","behavior","undefined","originWhitelist","source","onMessage","webview","javaScriptEnabled","domStorageEnabled","mixedContentMode","allowUniversalAccessFromFileURLs","allowFileAccess","scrollEnabled","hintContainer","color","danger","variant","weight","isOpen","onClose","modalBody","value","onChangeText","autoCapitalize","keyboardType","modalActions","flex1","onPress","toolbar","bottom","Version","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","toolbarContent","map","button","toolButton","toolButtonActive","name","size","displayName","create","backgroundColor","gap","position","flex","borderWidth","borderColor","borderRadius","overflow","paddingVertical","paddingHorizontal","flexDirection","justifyContent","alignItems","borderTopWidth","width","get","padding","marginHorizontal","minWidth","primary","marginTop","mt10p"],"sourceRoot":"../../../src","sources":["TextEditor/TextEditor.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,SAAS,EACTC,mBAAmB,EACnBC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,EACVC,UAAU,EAEVC,gBAAgB,EAChBC,IAAI,QAEC,cAAc;AACrB,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAOC,WAAW,MAAM,+BAA4B;AACpD,OAAOC,MAAM,MAAM,qBAAkB;AACrC,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,IAAI,MAA8B,kBAAS;AAClD,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,SAAS,MAAM,2BAAwB;AAC9C,OAAOC,UAAU,MAAM,6BAA0B;AACjD,OAAOC,MAAM,MAAM,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA0ClC,MAAMC,UAAU,gBAAG3B,UAAU,CAC3B,CACE;EACE4B,KAAK;EACLC,QAAQ;EACRC,IAAI;EACJC,QAAQ;EACRC,MAAM,GAAG,GAAG;EACZC,YAAY,GAAG,EAAE;EACjBC,WAAW,GAAG,0BAA0B;EACxCC,SAAS;EACTC,OAAO;EACPC,MAAM;EACNC,uBAAuB,GAAG,UAAU;EACpCC,sBAAsB,GAAG,yBAAyB;EAClDC,kBAAkB,GAAG,WAAW;EAChCC,iBAAiB,GAAG,UAAU;EAC9BC,kBAAkB,GAAG,QAAQ;EAC7BC,oBAAoB,GAAG;AACzB,CAAC,EACDC,GAAG,KACA;EACH,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG1C,QAAQ,CAAU,KAAK,CAAC;EAC9D,MAAM,CAAC2C,aAAa,EAAEC,gBAAgB,CAAC,GAAG5C,QAAQ,CAAc,IAAI6C,GAAG,CAAC,CAAC,CAAC;EAC1E,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG/C,QAAQ,CAAC,CAAC,CAAC;EACvD,MAAM,CAACgD,aAAa,EAAEC,gBAAgB,CAAC,GAAGjD,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACkD,QAAQ,EAAEC,WAAW,CAAC,GAAGnD,QAAQ,CAAC,EAAE,CAAC;EAC5C,MAAM,CAACoD,OAAO,EAAEC,UAAU,CAAC,GAAGrD,QAAQ,CAAC,EAAE,CAAC;EAC1C,MAAM,CAACsD,aAAa,EAAEC,gBAAgB,CAAC,GAAGvD,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAMwD,UAAU,GAAGzD,MAAM,CAAU,IAAI,CAAC;EACxC,MAAM0D,WAAW,GAAG1D,MAAM,CAAY,IAAI,CAAC;EAC3C,MAAM,CAAC2D,cAAc,EAAEC,iBAAiB,CAAC,GAAG3D,QAAQ,CAAC,CAAC,CAAC;;EAEvD;EACA,MAAM4D,cAAc,GAAIC,IAAY,IAAK;IACvC;IACA,MAAMC,QAAQ,GAAGD,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC;IACpDjB,iBAAiB,CAACe,QAAQ,CAACG,MAAM,CAAC;IAElC,IAAIlC,SAAS,IAAI+B,QAAQ,CAACG,MAAM,GAAGlC,SAAS,EAAE;MAC5C;IACF;IAEAJ,QAAQ,GAAGkC,IAAI,CAAC;EAClB,CAAC;;EAED;EACA/D,mBAAmB,CAAC0C,GAAG,EAAE,OAAO;IAC9B0B,UAAU,EAAEA,CAAA,KAAM;MAChBV,UAAU,CAACW,OAAO,EAAEC,WAAW,CAAC,YAAY,CAAC;IAC/C,CAAC;IACDC,UAAU,EAAGC,IAAY,IAAK;MAC5B,MAAMC,WAAW,GAAGD,IAAI,CAACP,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;MACnEP,UAAU,CAACW,OAAO,EAAEK,gBAAgB,CAAC;AAC7C;AACA,+BAA+BD,WAAW;AAC1C;AACA;AACA;AACA;AACA,OAAO,CAAC;IACF,CAAC;IACDE,YAAY,EAAEA,CAAA,KAAM;MAClBjB,UAAU,CAACW,OAAO,EAAEK,gBAAgB,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACF;EACF,CAAC,CAAC,CAAC;EAEH,MAAME,UAAU,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB5C,WAAW;AACnC,qBAAqBjB,KAAK,CAAC8D,IAAI,CAAC,GAAG,CAAC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE9C,YAAY;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","SafeAreaView","StyleSheet","useFooter","Color","useOptionalFocusEffect","jsx","_jsx","Footer","children","style","setFooter","footerElement","styles","container","create","backgroundColor","base","white100","position","bottom","left","right","zIndex"],"sourceRoot":"../../../src","sources":["Ui/Footer.tsx"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,
|
|
1
|
+
{"version":3,"names":["React","useMemo","SafeAreaView","StyleSheet","useFooter","Color","useOptionalFocusEffect","jsx","_jsx","Footer","children","style","setFooter","footerElement","styles","container","create","backgroundColor","base","white100","position","bottom","left","right","zIndex"],"sourceRoot":"../../../src","sources":["Ui/Footer.tsx"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SACEC,YAAY,EACZC,UAAU,QAGL,cAAc;AACrB,SAASC,SAAS,QAAQ,yBAAsB;AAChD,OAAOC,KAAK,MAAM,mBAAgB;AAClC,SAASC,sBAAsB,QAAQ,oCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzE,MAAMC,MAA6B,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC7D,MAAM;IAAEC;EAAU,CAAC,GAAGR,SAAS,CAAC,CAAC;EAEjC,MAAMS,aAAa,GAAGZ,OAAO,CAC3B,mBACEO,IAAA,CAACN,YAAY;IAACS,KAAK,EAAE,CAACG,MAAM,CAACC,SAAS,EAAEJ,KAAK,CAAE;IAAAD,QAAA,EAAEA;EAAQ,CAAe,CACzE,EACD,CAACA,QAAQ,EAAEC,KAAK,CAClB,CAAC;EAEDL,sBAAsB,CAAC,MAAM;IAC3BM,SAAS,CAACC,aAAa,CAAC;IACxB,OAAO,MAAMD,SAAS,CAAC,IAAI,CAAC;EAC9B,CAAC,CAAC;EAEF,OAAO,IAAI;AACb,CAAC;AAED,eAAeH,MAAM;AAErB,MAAMK,MAAM,GAAGX,UAAU,CAACa,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,eAAe,EAAEZ,KAAK,CAACa,IAAI,CAACC,QAAQ;IACpCC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../src/TextEditor/TextEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../../src/TextEditor/TextEditor.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,UAAU,sBAAuB,SAAQ,cAAc;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAqBD,QAAA,MAAM,UAAU,kHAyrBf,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type ViewStyle } from 'react-native';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
interface FooterProps {
|
|
4
4
|
children: React.ReactNode;
|
|
5
|
-
style?: ViewStyle
|
|
5
|
+
style?: StyleProp<ViewStyle>;
|
|
6
6
|
}
|
|
7
7
|
declare const Footer: React.FC<FooterProps>;
|
|
8
8
|
export default Footer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/Ui/Footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/Ui/Footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,UAAU,WAAW;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgBjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,12 +11,12 @@ import {
|
|
|
11
11
|
Keyboard,
|
|
12
12
|
KeyboardAvoidingView,
|
|
13
13
|
Platform,
|
|
14
|
-
SafeAreaView,
|
|
15
14
|
ScrollView,
|
|
16
15
|
StyleSheet,
|
|
17
16
|
TextInput,
|
|
18
17
|
TouchableOpacity,
|
|
19
18
|
View,
|
|
19
|
+
type KeyboardEvent,
|
|
20
20
|
} from 'react-native';
|
|
21
21
|
import { WebView } from 'react-native-webview';
|
|
22
22
|
import BottomSheet from '../BottomSheet/BottomSheet';
|
|
@@ -26,6 +26,7 @@ import Icon, { type IconNameProps } from '../Icon';
|
|
|
26
26
|
import Input from '../Input/Input';
|
|
27
27
|
import LabelForm from '../LabelForm/LabelForm';
|
|
28
28
|
import Typography from '../Typography/Typography';
|
|
29
|
+
import Footer from '../Ui/Footer';
|
|
29
30
|
import type { TextEditorType } from './types';
|
|
30
31
|
|
|
31
32
|
export interface TextEditorRef {
|
|
@@ -98,6 +99,7 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
98
99
|
const [isEditingLink, setIsEditingLink] = useState(false);
|
|
99
100
|
const webviewRef = useRef<WebView>(null);
|
|
100
101
|
const inputUrlRef = useRef<TextInput>(null);
|
|
102
|
+
const [keyboardHeight, setKeyboardHeight] = useState(0);
|
|
101
103
|
|
|
102
104
|
// Sekarang handleOnChange hanya dipanggil sebagai fallback
|
|
103
105
|
const handleOnChange = (data: string) => {
|
|
@@ -419,25 +421,9 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
419
421
|
if (webviewRef.current) {
|
|
420
422
|
if (Platform.OS === 'ios') {
|
|
421
423
|
webviewRef.current.injectJavaScript(`
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
// Force update formats after command
|
|
427
|
-
setTimeout(() => {
|
|
428
|
-
const formats = [];
|
|
429
|
-
if (document.queryCommandState('bold')) formats.push('bold');
|
|
430
|
-
if (document.queryCommandState('italic')) formats.push('italic');
|
|
431
|
-
if (document.queryCommandState('underline')) formats.push('underline');
|
|
432
|
-
if (document.queryCommandState('strikeThrough')) formats.push('strikeThrough');
|
|
433
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({
|
|
434
|
-
type: 'formats',
|
|
435
|
-
formats: formats
|
|
436
|
-
}));
|
|
437
|
-
window.ReactNativeWebView.postMessage(editor.innerHTML);
|
|
438
|
-
}, 50);
|
|
439
|
-
true;
|
|
440
|
-
`);
|
|
424
|
+
document.execCommand('${command}', false, '');
|
|
425
|
+
true; //di ios harus biar berfunsi boldnya
|
|
426
|
+
`);
|
|
441
427
|
} else {
|
|
442
428
|
webviewRef.current.postMessage(command);
|
|
443
429
|
}
|
|
@@ -445,14 +431,11 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
445
431
|
};
|
|
446
432
|
|
|
447
433
|
const openLinkModal = () => {
|
|
434
|
+
setShowLinkModal(true);
|
|
448
435
|
if (webviewRef.current) {
|
|
449
436
|
webviewRef.current.postMessage('getSelectedText');
|
|
450
437
|
}
|
|
451
438
|
|
|
452
|
-
setTimeout(() => {
|
|
453
|
-
setShowLinkModal(true);
|
|
454
|
-
}, 50);
|
|
455
|
-
|
|
456
439
|
setTimeout(() => {
|
|
457
440
|
inputUrlRef.current?.focus();
|
|
458
441
|
}, 350);
|
|
@@ -557,11 +540,9 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
557
540
|
const closeLinkModal = () => {
|
|
558
541
|
setShowLinkModal(false);
|
|
559
542
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
setIsEditingLink(false);
|
|
564
|
-
}, 300);
|
|
543
|
+
setLinkText('');
|
|
544
|
+
setLinkUrl('');
|
|
545
|
+
setIsEditingLink(false);
|
|
565
546
|
};
|
|
566
547
|
|
|
567
548
|
const handleWebViewMessage = (event: any) => {
|
|
@@ -611,11 +592,16 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
611
592
|
};
|
|
612
593
|
|
|
613
594
|
useEffect(() => {
|
|
614
|
-
const showSub = Keyboard.addListener(
|
|
615
|
-
|
|
616
|
-
|
|
595
|
+
const showSub = Keyboard.addListener(
|
|
596
|
+
'keyboardDidShow',
|
|
597
|
+
(e: KeyboardEvent) => {
|
|
598
|
+
setShowToolbar(true);
|
|
599
|
+
setKeyboardHeight(e.endCoordinates.height);
|
|
600
|
+
}
|
|
601
|
+
);
|
|
617
602
|
const hideSub = Keyboard.addListener('keyboardDidHide', () => {
|
|
618
603
|
setShowToolbar(false);
|
|
604
|
+
setKeyboardHeight(0);
|
|
619
605
|
});
|
|
620
606
|
|
|
621
607
|
return () => {
|
|
@@ -631,7 +617,7 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
631
617
|
{ command: 'italic', icon: 'Italic', label: 'Italic' },
|
|
632
618
|
{ command: 'underline', icon: 'UnderLine', label: 'Underline' },
|
|
633
619
|
{ command: 'strikeThrough', icon: 'strike-through', label: 'Strike' },
|
|
634
|
-
|
|
620
|
+
{ command: 'link', icon: 'Link', label: 'Link', isSpecial: true },
|
|
635
621
|
{
|
|
636
622
|
command: 'insertUnorderedList',
|
|
637
623
|
icon: 'list-un-ordered',
|
|
@@ -692,52 +678,6 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
692
678
|
</View>
|
|
693
679
|
) : null}
|
|
694
680
|
|
|
695
|
-
{showToolbar && (
|
|
696
|
-
<KeyboardAvoidingView
|
|
697
|
-
behavior={Platform.OS === 'ios' ? 'position' : 'padding'}
|
|
698
|
-
>
|
|
699
|
-
<SafeAreaView
|
|
700
|
-
style={[
|
|
701
|
-
styles.toolbar,
|
|
702
|
-
Platform?.OS === 'android' && Platform.Version < 35
|
|
703
|
-
? styles.mt10p
|
|
704
|
-
: undefined,
|
|
705
|
-
]}
|
|
706
|
-
>
|
|
707
|
-
<ScrollView
|
|
708
|
-
horizontal
|
|
709
|
-
showsHorizontalScrollIndicator={false}
|
|
710
|
-
contentContainerStyle={styles.toolbarContent}
|
|
711
|
-
>
|
|
712
|
-
{toolbarButtons.map((button) => (
|
|
713
|
-
<TouchableOpacity
|
|
714
|
-
key={button.command}
|
|
715
|
-
onPress={() =>
|
|
716
|
-
button.isSpecial
|
|
717
|
-
? openLinkModal()
|
|
718
|
-
: formatText(button.command)
|
|
719
|
-
}
|
|
720
|
-
style={[
|
|
721
|
-
styles.toolButton,
|
|
722
|
-
isFormatActive(button.command) && styles.toolButtonActive,
|
|
723
|
-
]}
|
|
724
|
-
>
|
|
725
|
-
<Icon
|
|
726
|
-
name={button.icon}
|
|
727
|
-
size={20}
|
|
728
|
-
color={
|
|
729
|
-
isFormatActive(button.command)
|
|
730
|
-
? '#fff'
|
|
731
|
-
: Color.gray[900]
|
|
732
|
-
}
|
|
733
|
-
/>
|
|
734
|
-
</TouchableOpacity>
|
|
735
|
-
))}
|
|
736
|
-
</ScrollView>
|
|
737
|
-
</SafeAreaView>
|
|
738
|
-
</KeyboardAvoidingView>
|
|
739
|
-
)}
|
|
740
|
-
|
|
741
681
|
{/* Link Modal */}
|
|
742
682
|
<BottomSheet
|
|
743
683
|
isOpen={showLinkModal}
|
|
@@ -779,6 +719,49 @@ const TextEditor = forwardRef<TextEditorRef, ExtendedTextEditorType>(
|
|
|
779
719
|
</View>
|
|
780
720
|
</View>
|
|
781
721
|
</BottomSheet>
|
|
722
|
+
|
|
723
|
+
{showToolbar && (
|
|
724
|
+
<Footer
|
|
725
|
+
style={[
|
|
726
|
+
styles.toolbar,
|
|
727
|
+
{
|
|
728
|
+
bottom:
|
|
729
|
+
Platform.OS === 'android' && Platform.Version < 35
|
|
730
|
+
? keyboardHeight - keyboardHeight
|
|
731
|
+
: keyboardHeight,
|
|
732
|
+
},
|
|
733
|
+
]}
|
|
734
|
+
>
|
|
735
|
+
<ScrollView
|
|
736
|
+
horizontal
|
|
737
|
+
showsHorizontalScrollIndicator={false}
|
|
738
|
+
contentContainerStyle={styles.toolbarContent}
|
|
739
|
+
>
|
|
740
|
+
{toolbarButtons.map((button) => (
|
|
741
|
+
<TouchableOpacity
|
|
742
|
+
key={button.command}
|
|
743
|
+
onPress={() =>
|
|
744
|
+
button.isSpecial
|
|
745
|
+
? openLinkModal()
|
|
746
|
+
: formatText(button.command)
|
|
747
|
+
}
|
|
748
|
+
style={[
|
|
749
|
+
styles.toolButton,
|
|
750
|
+
isFormatActive(button.command) && styles.toolButtonActive,
|
|
751
|
+
]}
|
|
752
|
+
>
|
|
753
|
+
<Icon
|
|
754
|
+
name={button.icon}
|
|
755
|
+
size={20}
|
|
756
|
+
color={
|
|
757
|
+
isFormatActive(button.command) ? '#fff' : Color.gray[900]
|
|
758
|
+
}
|
|
759
|
+
/>
|
|
760
|
+
</TouchableOpacity>
|
|
761
|
+
))}
|
|
762
|
+
</ScrollView>
|
|
763
|
+
</Footer>
|
|
764
|
+
)}
|
|
782
765
|
</View>
|
|
783
766
|
);
|
|
784
767
|
}
|
|
@@ -816,7 +799,6 @@ const styles = StyleSheet.create({
|
|
|
816
799
|
backgroundColor: '#fff',
|
|
817
800
|
paddingVertical: 8,
|
|
818
801
|
position: 'absolute',
|
|
819
|
-
left: -24,
|
|
820
802
|
width: Dimensions.get('screen').width,
|
|
821
803
|
alignItems: 'center',
|
|
822
804
|
},
|
package/src/Ui/Footer.tsx
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
// Footer.tsx
|
|
2
2
|
import React, { useMemo } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
SafeAreaView,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
type StyleProp,
|
|
7
|
+
type ViewStyle,
|
|
8
|
+
} from 'react-native';
|
|
4
9
|
import { useFooter } from '../Provider/Provider';
|
|
5
10
|
import Color from '../Color/Color';
|
|
6
11
|
import { useOptionalFocusEffect } from '../hooks/useOptionalFocusEffect';
|
|
7
12
|
|
|
8
13
|
interface FooterProps {
|
|
9
14
|
children: React.ReactNode;
|
|
10
|
-
style?: ViewStyle
|
|
15
|
+
style?: StyleProp<ViewStyle>;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
const Footer: React.FC<FooterProps> = ({ children, style }) => {
|