F1 component kit/Forms and editing/Rich-text editorDesktop

Rich-text editor

Missing · new20 · rich-text

Tiptap in the kit skin: full toolbar for articles and drip steps, minimal for ticket replies, image upload with progress, the link popover, and a failed upload that keeps the text.

Covers: M16. Exports: RichText.

Whole page:Phone is fixed at comfortable (POWERUPS #15).Laravel · navyDTC · midnight green

Anatomy

The component as it sits in the product: English, compact, real data shapes.

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).

States

7 states, left to right, top to bottom. A mock poll never finishes, so each state is drawn on purpose.

full toolbar

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
minimal toolbar

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
focus

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
link popover

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
https://journal.rjmtm.com/articles/lining-care
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
image uploading

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
upload failed

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
Image upload failed (413: over 5 MB). The text is kept.
Phone: minimal toolbar (ticket replies).
empty

Write the article…

412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).

Density

The phone shell is always comfortable (POWERUPS #15): 44px tap targets, 16px inputs. Compact exists on desktop only; see the desktop page.

comfortable · phone default

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).

English · 中文

Staff pick en or cn (T001 Q25). Labels arrive localised; CJK falls back to PingFang SC / Noto Sans SC.

en

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
中文 · lang=zh-Hans

首次干洗后的里布保养

低温从内侧蒸烫里布。切勿直接熨烫 铜氨里布 。

  • 使用定型衣架
  • 顺毛刷
412 字草稿已自动保存 14:31
手机:精简工具栏(工单回复)。

Long string · permission denied

The long-string case (PL-063) and what a role without the permission sees (the server decides; T003).

long string

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap

Customer-supplied note copied from WeChat: https://journal.rjmtm.com/articles/lining-care-after-the-first-dry-clean-for-bemberg-cupro-and-viscose-blends-2026-edition

412 wordsDraft autosaved 14:31
Phone: minimal toolbar (ticket replies).
permission denied

Lining care after the first dry clean

Steam the lining from the inside at low heat. Never press the bemberg lining directly.

  • Hang on a shaped hanger
  • Brush with the nap
Read only · needs edit articles
Phone: minimal toolbar (ticket replies).

Contract

The @rj/admin-kit API for this family. Mirrored in CONTRACT.md.

Export
RichText · @rj/admin-kit
Props
value (HTML) · toolbar full|minimal · onImageUpload · maxBytes
States
empty · focus · link · uploading · error · read-only
shadcn / Radix
Popover (link) + Toggle (toolbar)
Package underneath
@tiptap/react + starter-kit + extension-link / image / placeholder (MIT only)
Accessibility
toolbar is role=toolbar with arrow-key focus; ⌘B / ⌘I / ⌘K
API operations
admin.articles.store / .update / .upload-image · admin.drip-sequences.steps.store
Phone variant
minimal toolbar