UNPKG

@wordpress/components

Version:
82 lines (67 loc) 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _reactNative = require("react-native"); var _native = require("@react-navigation/native"); var _ = require("./"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const LinkPickerScreen = _ref => { let { returnScreenName } = _ref; const navigation = (0, _native.useNavigation)(); const route = (0, _native.useRoute)(); const navigateToLinkTimeoutRef = (0, _element.useRef)(null); const navigateBackTimeoutRef = (0, _element.useRef)(null); const onLinkPicked = _ref2 => { let { url, title } = _ref2; _reactNative.Keyboard.dismiss(); navigateToLinkTimeoutRef.current = setTimeout(() => { navigation.navigate(returnScreenName, { inputValue: url, text: title }); }, 100); }; const onCancel = () => { _reactNative.Keyboard.dismiss(); navigateBackTimeoutRef.current = setTimeout(() => { navigation.goBack(); }, 100); }; (0, _element.useEffect)(() => { return () => { clearTimeout(navigateToLinkTimeoutRef.current); clearTimeout(navigateBackTimeoutRef.current); }; }, []); const { inputValue } = route.params; return (0, _element.useMemo)(() => { return (0, _element.createElement)(_.LinkPicker, { value: inputValue, onLinkPicked: onLinkPicked, onCancel: onCancel }); // Disable reason: deferring this refactor to the native team. // see https://github.com/WordPress/gutenberg/pull/41166 // eslint-disable-next-line react-hooks/exhaustive-deps }, [inputValue]); }; var _default = LinkPickerScreen; exports.default = _default; //# sourceMappingURL=link-picker-screen.native.js.map