UNPKG

@mantine/tiptap

Version:

Rich text editor based on tiptap

39 lines (38 loc) 2 kB
"use client"; require("../_virtual/_rolldown/runtime.cjs"); const require_RichTextEditor_context = require("../RichTextEditor.context.cjs"); const require_Icons = require("../icons/Icons.cjs"); const require_RichTextEditorControl = require("./RichTextEditorControl.cjs"); let react = require("react"); let _mantine_core = require("@mantine/core"); let react_jsx_runtime = require("react/jsx-runtime"); //#region packages/@mantine/tiptap/src/RichTextEditorControl/RichTextEditorSourceCodeControl.tsx const defaultProps = {}; function RichTextEditorSourceCodeControl(props) { const { ...others } = (0, _mantine_core.useProps)("RichTextEditorSourceCodeControl", defaultProps, props); const { editor, labels, variant, onSourceCodeTextSwitch } = require_RichTextEditor_context.useRichTextEditorContext(); const [isSourceCodeModeActive, setIsSourceCodeModeActive] = (0, react.useState)(false); const handleStateChange = () => { if (isSourceCodeModeActive) editor?.commands.setContent(editor.getText(), { emitUpdate: true }); else editor?.commands.setContent(`<textarea>${editor.getHTML()}</textarea>`); const isSourceCodeModeActiveNew = !isSourceCodeModeActive; setIsSourceCodeModeActive(isSourceCodeModeActiveNew); onSourceCodeTextSwitch?.(isSourceCodeModeActiveNew); }; return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_RichTextEditorControl.RichTextEditorControl, { ...others, variant, active: isSourceCodeModeActive, "aria-label": labels.sourceCodeControlLabel, title: labels.sourceCodeControlLabel, onClick: () => handleStateChange(), children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icons.IconBraces, { style: { width: (0, _mantine_core.rem)(16), height: (0, _mantine_core.rem)(16) } }) }); } RichTextEditorSourceCodeControl.displayName = "@mantine/tiptap/RichTextEditorSourceCodeControl"; //#endregion exports.RichTextEditorSourceCodeControl = RichTextEditorSourceCodeControl; //# sourceMappingURL=RichTextEditorSourceCodeControl.cjs.map