UNPKG

@gechiui/block-editor

Version:
68 lines (58 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@gechiui/element"); var _lodash = require("lodash"); var _components = require("@gechiui/components"); var _i18n = require("@gechiui/i18n"); /** * External dependencies */ /** * GeChiUI dependencies */ const DEFAULT_PICKER_OPTIONS = [{ id: 'createEmbed', label: (0, _i18n.__)('Create embed'), value: 'createEmbed', onSelect: _lodash.noop }, { id: 'createLink', label: (0, _i18n.__)('Create link'), value: 'createLink', onSelect: _lodash.noop }]; const EmbedHandlerPicker = (0, _element.forwardRef)((_ref, ref) => { let {} = _ref; const pickerRef = (0, _element.useRef)(); const pickerOptions = (0, _element.useRef)(DEFAULT_PICKER_OPTIONS).current; const onPickerSelect = (0, _element.useCallback)(value => { const selectedItem = pickerOptions.find(item => item.value === value); selectedItem.onSelect(); }, [pickerOptions]); (0, _element.useImperativeHandle)(ref, () => ({ presentPicker: _ref2 => { var _pickerRef$current; let { createEmbed, createLink } = _ref2; pickerOptions[0].onSelect = createEmbed; pickerOptions[1].onSelect = createLink; (_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 ? void 0 : _pickerRef$current.presentPicker(); } })); return (0, _element.createElement)(_components.Picker, { ref: pickerRef, options: pickerOptions, onChange: onPickerSelect, testID: "embed-handler-picker", hideCancelButton: true, leftAlign: true }); }); var _default = (0, _element.memo)(EmbedHandlerPicker); exports.default = _default; //# sourceMappingURL=embed-handler-picker.native.js.map