v1.8.0 — Editor, Stepper & Banner
Three new components plus a dependency restructure.
New components
Editor — Rich-text WYSIWYG
Built on Tiptap v3 + ProseMirror. Sub-exported via sv5ui/editor so Tiptap stays out of the bundle for consumers who don't use it.
- Phase 1: 23 toolbar actions, HTML/JSON output, bindable
value+api, bubble menu, char/word counter, sticky toolbar, custom snippets, extension escape hatches. - Phase 2: Form/FormField integration, image upload (
onImageUploador URL prompt fallback), resizable tables (8×8 dimension picker),@-mentions with floating popup, markdown output. - Phase 3a: Slash commands (
/palette), YouTube embeds, drag handle (block reordering), URL prompt modal (<Modal>+<Form>+<FormField>with valibot schemas requiringhttp(s)://),markdownAllowHtmlopt-in (defaults tofalsefor safety).
Banner — Full-width announcement bar
8 colors, optional icon/title, inline actions, dismiss button, clickable mode (to/target), localStorage-backed dismissal persistence when id is provided.
Stepper — Multi-step wizard
Horizontal/vertical, 5 sizes, 8 colors, pending/active/completed states, linear gating, bindable imperative api (next / prev / goTo / hasNext / hasPrev), roving keyboard navigation. Fully custom — no bits-ui primitive.
Dependency restructure
Tiptap moved from dependencies → optional peerDependencies (matching the existing joi/yup/zod/valibot pattern):
- Consumers who don't use
<Editor>no longer install ~71MB of Tiptap node_modules. - Consumers who do use
<Editor>install Tiptap peers alongside — see the JSDoc onsv5ui/editorfor the install command.
SemVer
Minor bump (1.7.0 → 1.8.0). No breaking changes — all three components are new, and the Tiptap deps move only affects <Editor> users (which didn't exist in 1.7.0).
Stats
- 2368/2368 tests passing
- 54 new Editor tests + new Banner/Stepper specs
Full changelog: https://github.com/ndlabdev/sv5ui/blob/main/CHANGELOG.md#180---2026-05-28