@gechiui/block-editor
Version:
68 lines (58 loc) • 1.79 kB
JavaScript
;
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