v0.24.6
Released June 23, 2026 · All releases
Changes
- Add a
searchopt-out and document search setup. - New
SiteConfig.searchoption (refrakt.config.json). Defaults totrue; setfalseto omit the search chrome entirely — no trigger button and thesearchbehavior (includingCmd/Ctrl+K) is never initialized. @refrakt-md/transformexportswithoutSearch(layouts)/withoutSearchLayout(layout)helpers andrenderPagenow accepts asearchflag. The opt-out is wired through every adapter: SvelteKit reads it from config automatically (virtual theme module); Astro (<BaseLayout search>), Next (<RefraktContent search>), Nuxt/HTML (renderPage({ search })), and Eleventy (createDataFile({ search })) expose it as a passthrough sourced fromSiteConfig.search.create-refraktSvelteKit scaffolds now wire Pagefind out of the box:pagefinddevDependency + avite build && pagefind --site buildbuild step, so new projects get working search results instead of an empty "Search is not available." dialog.- New docs page "Setting up Search" covering how the Pagefind index is built and served, the dev-vs-production gotcha, per-adapter build steps, and the
search: falseopt-out. - Also unifies the two header buttons: the theme toggle now shares the search trigger's chrome (surface fill, full radius, muted colour, primary hover), and the collapsed mobile search trigger is fully rounded to match the toggle.
- Add the
frame-overflow: clip | bleedmedia-frame facet (SPEC-116, WORK-444). A guest whose content is wider than its frame — a fixed-width or naturally wide component — is clipped at the rounded inset edge by default;frame-overflow="bleed"instead runs an overflowing guest's inline-end out to the layout edge on a narrow viewport and squares those corners, so it reads as cropped by the screen. - It's a universal frame facet (host/slot-set), resolved onto the media zone as
data-frame-overflow, and gated by a runtime per-guestdata-overflowingsignal — the guest reports the fact (thesandboxmeasures its iframe with hysteresis), the host decides the policy. It's meaningful only on a bleed host (hero/feature); on a clip host (card/bento-cell) the media well crops the over-width, so it's a no-op and emits a build warning. The bleed reaches a layout-owned boundary (--rf-bleed-room-end, default the page gutter), never the raw viewport, so a chrome'd layout can cap it at the content row. v1 is collapsed-viewport, inline-end only; direction (viaframe-anchor) and side-by-side are deferred.