Upgrade from 0.9 to 0.10
0.10 changes visual defaults and removes the adapter and controlled-modal
paths deprecated in 0.7. The structured changes are in
MIGRATIONS.json.
Update imports and modal ownership
Remove imports from @ponchia/ui/react, /solid, /qwik, /svelte, and
/vue. Import class names from @ponchia/ui/classes and initialization functions from
@ponchia/ui/behaviors. Call each initialization function after the DOM root exists and
call its cleanup on component removal. The integration guide links
the host lifecycle recipes.
Replace initModal, ModalCloseDetail, and @ponchia/ui/behaviors/modal with
native <dialog> and initDialog. Remove data-bronto-modal and the
ui.modal({ open: true }) option. Open with showModal() and close with
close() or the existing data-bronto-open / data-bronto-close triggers.
Use the native cancel and close events instead of bronto:modal:close.
The ui-modal and drawer classes remain; .is-open no longer opens them.
Review complete screens
- The root respects the browser's default size: 16px at the usual setting. The small text steps are 12px, 13px, and 14px rather than approximately 10.8px, 11.4px, and 12.9px.
- Headings and controls use sans and sentence case. Keep an intentional
display title by applying
ui-display, not by restyling every heading. - Service panels lose redundant frames, metrics stay compact, and narrow navigation wraps. Remove consumer overrides that recreated those fixes.
- Reports use larger screen prose, a reading measure, and 11pt print text.
Prefer a decision before navigation; a
details.ui-report__toccan collapse its contents without JavaScript. Anav.ui-report__tocremains expanded. - Inspectors adapt property rows to their own width. Splitter collapse policy remains host-owned; use the composition recipe.
Check your real content at narrow, laptop, and desktop sizes, in both themes, with keyboard and touch input. Review print output for reports. Upgrade from the packed candidate before changing production version pins.
Retained and new surface
Core CSS, class recipes, vanilla behaviors, tokens, report and analytical
leaves remain framework-neutral. ui-timestrip and ui-severity-tone,
previously unreleased on main, are included. ui-chip--dense replaces repeated
static-label height overrides. Specialist behavior libraries may live in a
consumer; the core still has no runtime or peer dependencies.