@wordpress/format-library
Version:
Format library for the WordPress editor.
67 lines (63 loc) • 1.84 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
var _native = require("@react-navigation/native");
var _element = require("@wordpress/element");
var _components = require("@wordpress/components");
var _screens = _interopRequireDefault(require("./screens"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const LinkPickerScreen = () => {
const navigation = (0, _native.useNavigation)();
const route = (0, _native.useRoute)();
const navigateToLinkTimeoutRef = (0, _element.useRef)(null);
const navigateBackTimeoutRef = (0, _element.useRef)(null);
const onLinkPicked = ({
url,
title
}) => {
_reactNative.Keyboard.dismiss();
navigateToLinkTimeoutRef.current = setTimeout(() => {
navigation.navigate(_screens.default.settings, {
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 /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.LinkPicker, {
value: inputValue,
onLinkPicked: onLinkPicked,
onCancel: onCancel
});
}, [inputValue]);
};
var _default = exports.default = LinkPickerScreen;
//# sourceMappingURL=link-picker-screen.native.js.map
;