UNPKG

@rtdui/editor

Version:

React rich text editor based on tiptap

39 lines (35 loc) 1.03 kB
'use client'; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var React = require('react'); var ControlBase = require('./ControlBase.cjs'); var ControlContext = require('./ControlContext.cjs'); function createTiptapControl({ label, isActive, operation, icon }) { const Control = React.forwardRef( (props, ref) => { const { editor, labels } = ControlContext.useEditorContext(); const _label = labels[label]; return /* @__PURE__ */ jsxRuntime.jsx( ControlBase.ControlBase, { "aria-label": _label, title: _label, active: isActive?.name ? editor?.isActive(isActive.name, isActive.attributes) : false, ref, onClick: () => (editor?.chain().focus())[operation.name](operation.attributes).run(), icon, ...props } ); } ); Control.displayName = `@rtdui/editor/Control_${label}`; return Control; } module.exports = createTiptapControl; //# sourceMappingURL=createTiptapControl.cjs.map