@wordpress/format-library 3.12.0 → 3.14.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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 3.14.0 (2022-08-24)
6
+
7
+ ## 3.13.0 (2022-08-10)
8
+
5
9
  ## 3.12.0 (2022-07-27)
6
10
 
7
11
  ## 3.11.0 (2022-07-13)
@@ -13,8 +13,6 @@ var _reactNative = require("react-native");
13
13
 
14
14
  var _native = require("@react-navigation/native");
15
15
 
16
- var _lodash = require("lodash");
17
-
18
16
  var _components = require("@wordpress/components");
19
17
 
20
18
  var _screens = _interopRequireDefault(require("./screens"));
@@ -33,6 +31,8 @@ var _screens = _interopRequireDefault(require("./screens"));
33
31
  const LinkPickerScreen = () => {
34
32
  const navigation = (0, _native.useNavigation)();
35
33
  const route = (0, _native.useRoute)();
34
+ const navigateToLinkTimeoutRef = (0, _element.useRef)(null);
35
+ const navigateBackTimeoutRef = (0, _element.useRef)(null);
36
36
 
37
37
  const onLinkPicked = _ref => {
38
38
  let {
@@ -42,7 +42,7 @@ const LinkPickerScreen = () => {
42
42
 
43
43
  _reactNative.Keyboard.dismiss();
44
44
 
45
- (0, _lodash.delay)(() => {
45
+ navigateToLinkTimeoutRef.current = setTimeout(() => {
46
46
  navigation.navigate(_screens.default.settings, {
47
47
  inputValue: url,
48
48
  text: title
@@ -53,11 +53,17 @@ const LinkPickerScreen = () => {
53
53
  const onCancel = () => {
54
54
  _reactNative.Keyboard.dismiss();
55
55
 
56
- (0, _lodash.delay)(() => {
56
+ navigateBackTimeoutRef.current = setTimeout(() => {
57
57
  navigation.goBack();
58
58
  }, 100);
59
59
  };
60
60
 
61
+ (0, _element.useEffect)(() => {
62
+ return () => {
63
+ clearTimeout(navigateToLinkTimeoutRef.current);
64
+ clearTimeout(navigateBackTimeoutRef.current);
65
+ };
66
+ }, []);
61
67
  const {
62
68
  inputValue
63
69
  } = route.params;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/format-library/src/link/modal-screens/link-picker-screen.native.js"],"names":["LinkPickerScreen","navigation","route","onLinkPicked","url","title","Keyboard","dismiss","navigate","linkSettingsScreens","settings","inputValue","text","onCancel","goBack","params"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AACA;;AAMA;;AAKA;;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;AAGA,MAAMA,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,UAAU,GAAG,4BAAnB;AACA,QAAMC,KAAK,GAAG,uBAAd;;AACA,QAAMC,YAAY,GAAG,QAAsB;AAAA,QAApB;AAAEC,MAAAA,GAAF;AAAOC,MAAAA;AAAP,KAAoB;;AAC1CC,0BAASC,OAAT;;AACA,uBAAO,MAAM;AACZN,MAAAA,UAAU,CAACO,QAAX,CAAqBC,iBAAoBC,QAAzC,EAAmD;AAClDC,QAAAA,UAAU,EAAEP,GADsC;AAElDQ,QAAAA,IAAI,EAAEP;AAF4C,OAAnD;AAIA,KALD,EAKG,GALH;AAMA,GARD;;AAUA,QAAMQ,QAAQ,GAAG,MAAM;AACtBP,0BAASC,OAAT;;AACA,uBAAO,MAAM;AACZN,MAAAA,UAAU,CAACa,MAAX;AACA,KAFD,EAEG,GAFH;AAGA,GALD;;AAOA,QAAM;AAAEH,IAAAA;AAAF,MAAiBT,KAAK,CAACa,MAA7B;AACA,SAAO,sBAAS,MAAM;AACrB,WACC,4BAAC,sBAAD;AACC,MAAA,KAAK,EAAGJ,UADT;AAEC,MAAA,YAAY,EAAGR,YAFhB;AAGC,MAAA,QAAQ,EAAGU;AAHZ,MADD;AAOA,GARM,EAQJ,CAAEF,UAAF,CARI,CAAP;AASA,CA9BD;;eAgCeX,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { delay } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\nimport { LinkPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport linkSettingsScreens from './screens';\n\nconst LinkPickerScreen = () => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tdelay( () => {\n\t\t\tnavigation.navigate( linkSettingsScreens.settings, {\n\t\t\t\tinputValue: url,\n\t\t\t\ttext: title,\n\t\t\t} );\n\t\t}, 100 );\n\t};\n\n\tconst onCancel = () => {\n\t\tKeyboard.dismiss();\n\t\tdelay( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\n\t};\n\n\tconst { inputValue } = route.params;\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkPicker\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\tonCancel={ onCancel }\n\t\t\t/>\n\t\t);\n\t}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"]}
1
+ {"version":3,"sources":["@wordpress/format-library/src/link/modal-screens/link-picker-screen.native.js"],"names":["LinkPickerScreen","navigation","route","navigateToLinkTimeoutRef","navigateBackTimeoutRef","onLinkPicked","url","title","Keyboard","dismiss","current","setTimeout","navigate","linkSettingsScreens","settings","inputValue","text","onCancel","goBack","clearTimeout","params"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAOA;;AAKA;;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;AAGA,MAAMA,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,UAAU,GAAG,4BAAnB;AACA,QAAMC,KAAK,GAAG,uBAAd;AACA,QAAMC,wBAAwB,GAAG,qBAAQ,IAAR,CAAjC;AACA,QAAMC,sBAAsB,GAAG,qBAAQ,IAAR,CAA/B;;AAEA,QAAMC,YAAY,GAAG,QAAsB;AAAA,QAApB;AAAEC,MAAAA,GAAF;AAAOC,MAAAA;AAAP,KAAoB;;AAC1CC,0BAASC,OAAT;;AACAN,IAAAA,wBAAwB,CAACO,OAAzB,GAAmCC,UAAU,CAAE,MAAM;AACpDV,MAAAA,UAAU,CAACW,QAAX,CAAqBC,iBAAoBC,QAAzC,EAAmD;AAClDC,QAAAA,UAAU,EAAET,GADsC;AAElDU,QAAAA,IAAI,EAAET;AAF4C,OAAnD;AAIA,KAL4C,EAK1C,GAL0C,CAA7C;AAMA,GARD;;AAUA,QAAMU,QAAQ,GAAG,MAAM;AACtBT,0BAASC,OAAT;;AACAL,IAAAA,sBAAsB,CAACM,OAAvB,GAAiCC,UAAU,CAAE,MAAM;AAClDV,MAAAA,UAAU,CAACiB,MAAX;AACA,KAF0C,EAExC,GAFwC,CAA3C;AAGA,GALD;;AAOA,0BAAW,MAAM;AAChB,WAAO,MAAM;AACZC,MAAAA,YAAY,CAAEhB,wBAAwB,CAACO,OAA3B,CAAZ;AACAS,MAAAA,YAAY,CAAEf,sBAAsB,CAACM,OAAzB,CAAZ;AACA,KAHD;AAIA,GALD,EAKG,EALH;AAOA,QAAM;AAAEK,IAAAA;AAAF,MAAiBb,KAAK,CAACkB,MAA7B;AACA,SAAO,sBAAS,MAAM;AACrB,WACC,4BAAC,sBAAD;AACC,MAAA,KAAK,EAAGL,UADT;AAEC,MAAA,YAAY,EAAGV,YAFhB;AAGC,MAAA,QAAQ,EAAGY;AAHZ,MADD;AAOA,GARM,EAQJ,CAAEF,UAAF,CARI,CAAP;AASA,CAxCD;;eA0Cef,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\n\nimport { LinkPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport linkSettingsScreens from './screens';\n\nconst LinkPickerScreen = () => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst navigateToLinkTimeoutRef = useRef( null );\n\tconst navigateBackTimeoutRef = useRef( null );\n\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tnavigateToLinkTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.navigate( linkSettingsScreens.settings, {\n\t\t\t\tinputValue: url,\n\t\t\t\ttext: title,\n\t\t\t} );\n\t\t}, 100 );\n\t};\n\n\tconst onCancel = () => {\n\t\tKeyboard.dismiss();\n\t\tnavigateBackTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\n\t};\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tclearTimeout( navigateToLinkTimeoutRef.current );\n\t\t\tclearTimeout( navigateBackTimeoutRef.current );\n\t\t};\n\t}, [] );\n\n\tconst { inputValue } = route.params;\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkPicker\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\tonCancel={ onCancel }\n\t\t\t/>\n\t\t);\n\t}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"]}
@@ -5,12 +5,11 @@ import { createElement } from "@wordpress/element";
5
5
  */
6
6
  import { Keyboard } from 'react-native';
7
7
  import { useNavigation, useRoute } from '@react-navigation/native';
8
- import { delay } from 'lodash';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
12
11
 
13
- import { useMemo } from '@wordpress/element';
12
+ import { useEffect, useMemo, useRef } from '@wordpress/element';
14
13
  import { LinkPicker } from '@wordpress/components';
15
14
  /**
16
15
  * Internal dependencies
@@ -21,6 +20,8 @@ import linkSettingsScreens from './screens';
21
20
  const LinkPickerScreen = () => {
22
21
  const navigation = useNavigation();
23
22
  const route = useRoute();
23
+ const navigateToLinkTimeoutRef = useRef(null);
24
+ const navigateBackTimeoutRef = useRef(null);
24
25
 
25
26
  const onLinkPicked = _ref => {
26
27
  let {
@@ -28,7 +29,7 @@ const LinkPickerScreen = () => {
28
29
  title
29
30
  } = _ref;
30
31
  Keyboard.dismiss();
31
- delay(() => {
32
+ navigateToLinkTimeoutRef.current = setTimeout(() => {
32
33
  navigation.navigate(linkSettingsScreens.settings, {
33
34
  inputValue: url,
34
35
  text: title
@@ -38,11 +39,17 @@ const LinkPickerScreen = () => {
38
39
 
39
40
  const onCancel = () => {
40
41
  Keyboard.dismiss();
41
- delay(() => {
42
+ navigateBackTimeoutRef.current = setTimeout(() => {
42
43
  navigation.goBack();
43
44
  }, 100);
44
45
  };
45
46
 
47
+ useEffect(() => {
48
+ return () => {
49
+ clearTimeout(navigateToLinkTimeoutRef.current);
50
+ clearTimeout(navigateBackTimeoutRef.current);
51
+ };
52
+ }, []);
46
53
  const {
47
54
  inputValue
48
55
  } = route.params;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/format-library/src/link/modal-screens/link-picker-screen.native.js"],"names":["Keyboard","useNavigation","useRoute","delay","useMemo","LinkPicker","linkSettingsScreens","LinkPickerScreen","navigation","route","onLinkPicked","url","title","dismiss","navigate","settings","inputValue","text","onCancel","goBack","params"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,cAAzB;AACA,SAASC,aAAT,EAAwBC,QAAxB,QAAwC,0BAAxC;AACA,SAASC,KAAT,QAAsB,QAAtB;AACA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA,SAASC,UAAT,QAA2B,uBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,WAAhC;;AAEA,MAAMC,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,UAAU,GAAGP,aAAa,EAAhC;AACA,QAAMQ,KAAK,GAAGP,QAAQ,EAAtB;;AACA,QAAMQ,YAAY,GAAG,QAAsB;AAAA,QAApB;AAAEC,MAAAA,GAAF;AAAOC,MAAAA;AAAP,KAAoB;AAC1CZ,IAAAA,QAAQ,CAACa,OAAT;AACAV,IAAAA,KAAK,CAAE,MAAM;AACZK,MAAAA,UAAU,CAACM,QAAX,CAAqBR,mBAAmB,CAACS,QAAzC,EAAmD;AAClDC,QAAAA,UAAU,EAAEL,GADsC;AAElDM,QAAAA,IAAI,EAAEL;AAF4C,OAAnD;AAIA,KALI,EAKF,GALE,CAAL;AAMA,GARD;;AAUA,QAAMM,QAAQ,GAAG,MAAM;AACtBlB,IAAAA,QAAQ,CAACa,OAAT;AACAV,IAAAA,KAAK,CAAE,MAAM;AACZK,MAAAA,UAAU,CAACW,MAAX;AACA,KAFI,EAEF,GAFE,CAAL;AAGA,GALD;;AAOA,QAAM;AAAEH,IAAAA;AAAF,MAAiBP,KAAK,CAACW,MAA7B;AACA,SAAOhB,OAAO,CAAE,MAAM;AACrB,WACC,cAAC,UAAD;AACC,MAAA,KAAK,EAAGY,UADT;AAEC,MAAA,YAAY,EAAGN,YAFhB;AAGC,MAAA,QAAQ,EAAGQ;AAHZ,MADD;AAOA,GARa,EAQX,CAAEF,UAAF,CARW,CAAd;AASA,CA9BD;;AAgCA,eAAeT,gBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { delay } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\nimport { LinkPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport linkSettingsScreens from './screens';\n\nconst LinkPickerScreen = () => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tdelay( () => {\n\t\t\tnavigation.navigate( linkSettingsScreens.settings, {\n\t\t\t\tinputValue: url,\n\t\t\t\ttext: title,\n\t\t\t} );\n\t\t}, 100 );\n\t};\n\n\tconst onCancel = () => {\n\t\tKeyboard.dismiss();\n\t\tdelay( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\n\t};\n\n\tconst { inputValue } = route.params;\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkPicker\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\tonCancel={ onCancel }\n\t\t\t/>\n\t\t);\n\t}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"]}
1
+ {"version":3,"sources":["@wordpress/format-library/src/link/modal-screens/link-picker-screen.native.js"],"names":["Keyboard","useNavigation","useRoute","useEffect","useMemo","useRef","LinkPicker","linkSettingsScreens","LinkPickerScreen","navigation","route","navigateToLinkTimeoutRef","navigateBackTimeoutRef","onLinkPicked","url","title","dismiss","current","setTimeout","navigate","settings","inputValue","text","onCancel","goBack","clearTimeout","params"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,cAAzB;AACA,SAASC,aAAT,EAAwBC,QAAxB,QAAwC,0BAAxC;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,OAApB,EAA6BC,MAA7B,QAA2C,oBAA3C;AAEA,SAASC,UAAT,QAA2B,uBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,WAAhC;;AAEA,MAAMC,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,UAAU,GAAGR,aAAa,EAAhC;AACA,QAAMS,KAAK,GAAGR,QAAQ,EAAtB;AACA,QAAMS,wBAAwB,GAAGN,MAAM,CAAE,IAAF,CAAvC;AACA,QAAMO,sBAAsB,GAAGP,MAAM,CAAE,IAAF,CAArC;;AAEA,QAAMQ,YAAY,GAAG,QAAsB;AAAA,QAApB;AAAEC,MAAAA,GAAF;AAAOC,MAAAA;AAAP,KAAoB;AAC1Cf,IAAAA,QAAQ,CAACgB,OAAT;AACAL,IAAAA,wBAAwB,CAACM,OAAzB,GAAmCC,UAAU,CAAE,MAAM;AACpDT,MAAAA,UAAU,CAACU,QAAX,CAAqBZ,mBAAmB,CAACa,QAAzC,EAAmD;AAClDC,QAAAA,UAAU,EAAEP,GADsC;AAElDQ,QAAAA,IAAI,EAAEP;AAF4C,OAAnD;AAIA,KAL4C,EAK1C,GAL0C,CAA7C;AAMA,GARD;;AAUA,QAAMQ,QAAQ,GAAG,MAAM;AACtBvB,IAAAA,QAAQ,CAACgB,OAAT;AACAJ,IAAAA,sBAAsB,CAACK,OAAvB,GAAiCC,UAAU,CAAE,MAAM;AAClDT,MAAAA,UAAU,CAACe,MAAX;AACA,KAF0C,EAExC,GAFwC,CAA3C;AAGA,GALD;;AAOArB,EAAAA,SAAS,CAAE,MAAM;AAChB,WAAO,MAAM;AACZsB,MAAAA,YAAY,CAAEd,wBAAwB,CAACM,OAA3B,CAAZ;AACAQ,MAAAA,YAAY,CAAEb,sBAAsB,CAACK,OAAzB,CAAZ;AACA,KAHD;AAIA,GALQ,EAKN,EALM,CAAT;AAOA,QAAM;AAAEI,IAAAA;AAAF,MAAiBX,KAAK,CAACgB,MAA7B;AACA,SAAOtB,OAAO,CAAE,MAAM;AACrB,WACC,cAAC,UAAD;AACC,MAAA,KAAK,EAAGiB,UADT;AAEC,MAAA,YAAY,EAAGR,YAFhB;AAGC,MAAA,QAAQ,EAAGU;AAHZ,MADD;AAOA,GARa,EAQX,CAAEF,UAAF,CARW,CAAd;AASA,CAxCD;;AA0CA,eAAeb,gBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\n\nimport { LinkPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport linkSettingsScreens from './screens';\n\nconst LinkPickerScreen = () => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst navigateToLinkTimeoutRef = useRef( null );\n\tconst navigateBackTimeoutRef = useRef( null );\n\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tnavigateToLinkTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.navigate( linkSettingsScreens.settings, {\n\t\t\t\tinputValue: url,\n\t\t\t\ttext: title,\n\t\t\t} );\n\t\t}, 100 );\n\t};\n\n\tconst onCancel = () => {\n\t\tKeyboard.dismiss();\n\t\tnavigateBackTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\n\t};\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tclearTimeout( navigateToLinkTimeoutRef.current );\n\t\t\tclearTimeout( navigateBackTimeoutRef.current );\n\t\t};\n\t}, [] );\n\n\tconst { inputValue } = route.params;\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkPicker\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\tonCancel={ onCancel }\n\t\t\t/>\n\t\t);\n\t}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/format-library",
3
- "version": "3.12.0",
3
+ "version": "3.14.0",
4
4
  "description": "Format library for the WordPress editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -26,17 +26,17 @@
26
26
  "react-native": "src/index",
27
27
  "dependencies": {
28
28
  "@babel/runtime": "^7.16.0",
29
- "@wordpress/a11y": "^3.14.0",
30
- "@wordpress/block-editor": "^9.6.0",
31
- "@wordpress/components": "^19.16.0",
32
- "@wordpress/compose": "^5.12.0",
33
- "@wordpress/data": "^6.14.0",
34
- "@wordpress/element": "^4.12.0",
35
- "@wordpress/html-entities": "^3.14.0",
36
- "@wordpress/i18n": "^4.14.0",
37
- "@wordpress/icons": "^9.5.0",
38
- "@wordpress/rich-text": "^5.12.0",
39
- "@wordpress/url": "^3.15.0",
29
+ "@wordpress/a11y": "^3.16.0",
30
+ "@wordpress/block-editor": "^9.8.0",
31
+ "@wordpress/components": "^20.0.0",
32
+ "@wordpress/compose": "^5.14.0",
33
+ "@wordpress/data": "^7.0.0",
34
+ "@wordpress/element": "^4.14.0",
35
+ "@wordpress/html-entities": "^3.16.0",
36
+ "@wordpress/i18n": "^4.16.0",
37
+ "@wordpress/icons": "^9.7.0",
38
+ "@wordpress/rich-text": "^5.14.0",
39
+ "@wordpress/url": "^3.17.0",
40
40
  "lodash": "^4.17.21"
41
41
  },
42
42
  "peerDependencies": {
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "0315dbc240cb2aa146d7c1bafd251f004b88300e"
49
+ "gitHead": "171b87c7465b93e685e081c5f57f153507363c95"
50
50
  }
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import { Keyboard } from 'react-native';
5
5
  import { useNavigation, useRoute } from '@react-navigation/native';
6
- import { delay } from 'lodash';
6
+
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useMemo } from '@wordpress/element';
10
+ import { useEffect, useMemo, useRef } from '@wordpress/element';
11
11
 
12
12
  import { LinkPicker } from '@wordpress/components';
13
13
 
@@ -19,9 +19,12 @@ import linkSettingsScreens from './screens';
19
19
  const LinkPickerScreen = () => {
20
20
  const navigation = useNavigation();
21
21
  const route = useRoute();
22
+ const navigateToLinkTimeoutRef = useRef( null );
23
+ const navigateBackTimeoutRef = useRef( null );
24
+
22
25
  const onLinkPicked = ( { url, title } ) => {
23
26
  Keyboard.dismiss();
24
- delay( () => {
27
+ navigateToLinkTimeoutRef.current = setTimeout( () => {
25
28
  navigation.navigate( linkSettingsScreens.settings, {
26
29
  inputValue: url,
27
30
  text: title,
@@ -31,11 +34,18 @@ const LinkPickerScreen = () => {
31
34
 
32
35
  const onCancel = () => {
33
36
  Keyboard.dismiss();
34
- delay( () => {
37
+ navigateBackTimeoutRef.current = setTimeout( () => {
35
38
  navigation.goBack();
36
39
  }, 100 );
37
40
  };
38
41
 
42
+ useEffect( () => {
43
+ return () => {
44
+ clearTimeout( navigateToLinkTimeoutRef.current );
45
+ clearTimeout( navigateBackTimeoutRef.current );
46
+ };
47
+ }, [] );
48
+
39
49
  const { inputValue } = route.params;
40
50
  return useMemo( () => {
41
51
  return (