v0.0.12
Breaking component API changes
This is an intentionally Breaking alpha release. The exact migration base
is v0.0.11 (10b4dcbf3da3c1dd534d8d2baa949d043b9d0f1f).
Read the complete component API migration guide
before upgrading.
Source-breaking
- Added the root
components.Component/Kindidentity contract and a stable
74-entryAllKinds()registry. Sixty-seven same-name public constructors now
return exported concrete instance types instead oftempl.Component.
Seven new or renamed split constructors complete the 74-constructor
inventory. - Replaced ambiguous component
VariantandStyleAPIs with package-owned
dimensions such asTone,Appearance, andMode. There is no universal
VariantAPI and there are no compatibility aliases. - Split primitives whose semantics or interaction contracts differ:
Banner/CookieBanner,Carousel/CardCarousel,Modal/
AlertDialog,Rating/RatingDisplay, andToast/MessageToast,
including their OOB toast forms. - Replaced the exported Button, Link, Kbd, and Tooltip config constructors with
required core arguments plus typed functional options. - Removed or privatized accidental render fragments, mutable defaults,
CSS-class assemblers, resolved-ID/default helpers, and render-only
predicates. Notable removals include
accordion.AccordionItemData, Card's inert price/rating API and
StarRating, Combobox's six public fragments and five inert option
presentation fields, Table's duplicate action/status helpers and initial
head/body/pagination fragments, andtoast.Container.
Behavior and effective defaults
- Carousel overlays are inferred from slide content; card carousel behavior is
a separate primitive. - Alert dialogs now own
role="alertdialog", semantic Tone, and their
single-action contract. Read-only rating output now has its own non-form
primitive and accessible-label behavior. - Toast events distinguish semantic and message kinds; message actions render
only when configured. Custom Tooltip triggers preserve consumer state and
wire accessibility to the actual focus target. Search navigation targets are
revalidated at the client-side sink. - Constructor defaults are explicit for the four functional-option APIs.
Several default Appearance/Mode constants now use the empty string while
preserving their effective rendered treatment; consumers should compare
typed constants rather than raw strings.
Documentation and verification
- Published the consumer component model across source docs, the demo site, and
the generatedusing-goshtosoreference. - Replaced flat hand-written API tables with source-checked structured
references covering 42 component pages, 74 Kinds, every supported public
constructor/configuration type, and effective rendered defaults. - Added registry-driven direct-load and HTMX-navigation smoke coverage for the
complete component catalog plus a representative light/dark Goshtoso/Minimal
theme matrix.
Build artifacts
Built with Tailwind CSS 4.3.0.
Assets attached: styles.css (serve directly) and goshtoso-theme.css (import into your own Tailwind v4 build).