UNPKG

nilfam-editor

Version:

A powerful, customizable rich-text editor built with TipTap, React, and Tailwind CSS. Supports RTL/LTR text, resizable media (images/videos), tables, code blocks, font styling, and more for an enhanced content creation experience.

41 lines (34 loc) 1.65 kB
// HeadingButtons.jsx import {t} from "../Lang/i18n.js"; function HeadingButtons({ editor,lang}) { if (!editor) return null let currentLevel = null for (let lvl = 1; lvl <= 6; lvl++) { if (editor.isActive('heading', { level: lvl })) { currentLevel = lvl break } } const handleChange = (event) => { const level = parseInt(event.target.value, 10) if (!level) { editor.chain().focus().setParagraph().run() } else { editor.chain().focus().toggleHeading({ level }).run() } } return ( <div> <select className="tw:border tw:dark:text-gray-300 tw:border-gray-300 tw:dark:border-gray-700 tw:rounded tw:p-1 tw:text-sm tw:w-28" value={currentLevel || ''} onChange={handleChange}> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="">{t('heading', lang)}</option> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="1">H1</option> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="2">H2</option> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="3">H3</option> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="4">H4</option> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="5">H5</option> <option className="tw:dark:bg-gray-700 tw:dark:text-gray-300" value="6">H6</option> </select> </div> ) } export default HeadingButtons