Skip to main content
WireKit

WireKit v2.15.0

Minor release

Feature release. A broad set of marketing, ecommerce, control and mobile components — the blocks a landing page, a store, and a mobile app-shell were missing — plus SEO structured-data builders and a drop-in dark-mode toggle. All additive; one existing component (Carousel) was rebuilt on a more robust foundation with no API break.

Added

  • Pricing Table. The plan grid — tiers, features, a highlighted plan, monthly/annual framing — the shape a SaaS pricing page needs, composed from tokens rather than a bespoke layout.
  • Testimonial. A cited quote with author, role, avatar and an optional read-only star rating (announced as a single record, never an operable control), plus a grid to lay several out.
  • FAQ. An accordion of questions that emits FAQPage JSON-LD derived from what it actually rendered — the structured data can't drift from the visible copy because it is generated from it.
  • Logo Cloud and Team Section. The two marketing blocks WireKit had no exemplar for — a "trusted by" logo strip and a people grid.
  • Announcement Banner. A dismissible page-edge bar (top or bottom) with an optional inline CTA. The dismissal persists by default; set persist off for a session-only bar that reappears next visit instead of being remembered.
  • Bento Grid. An asymmetric feature showcase — cells span a real column/row ladder and collapse to a single stacked column when the grid itself is narrow (a container query — a sidebar, a card, a split view — reflowing on its own width, independent of the viewport), reclaiming their spans once it is wide again; an unknown span degrades to a normal cell rather than a broken track claim.
  • Mockup. Frame chrome — browser, window, code, phone and tablet — for screenshots and demos. Every surface, border and shadow is a design token, so the frame follows the theme; the chrome is decorative and hidden from assistive technology.
  • Product Card. The ecommerce keystone — image, price with an optional compare-at, rating, stock state, and a call-to-action.
  • Button Group. Welds adjacent controls (buttons, an input + button) into one unit — inner radii collapsed to a single seam, RTL-safe via logical properties.
  • Toggle Button. An aria-pressed toggle — a button that stays down, for a single on/off state. Opt into self-toggle and it flips its own pressed state on click (a formatting toolbar with no wiring); the controlled form — the pressed state lives in your app — stays the default.
  • Indicator. A corner-badge positioner — a count or dot that rides the corner of any element (an avatar, an icon button) via logical insets.
  • Radial Progress. A circular progress ring — a real progressbar with the value announced, drawn from tokens. Opt into animate to sweep the fill from empty on first paint and animate later value changes instead of snapping, gated by prefers-reduced-motion.
  • Bottom Nav and FAB. The two mobile app-shell pieces WireKit was missing — a fixed bottom tab bar (opt into interactive to track the current tab client-side: clicking a tab marks it active with no page load) and a floating action button that fans out into secondary actions (keyboard-operable).
  • Theme Controller and Swap. Drop-in dark mode — a control that toggles the theme with no wiring and no flash-of-wrong-theme, and a swap primitive that cross-fades between two states (the sun/moon icon being the canonical case).
  • Schema builders. Typed PHP builders for schema.org JSON-LD (the same engine the FAQ block uses to derive its FAQPage data), for emitting structured data from your own components.

Changed

  • Carousel was rebuilt on native scroll-snap. The slider now rides the browser's own scroll-snap instead of a JavaScript transform, so it is smoother, keyboard- and touch-native, and lighter; autoplay gained a stop button, and a perView shows 2–4 slides at once. No API break — existing usage keeps working.

Fixed

  • Progress — label and value no longer jam at narrow widths. The label / value row gained a column gap so the two can never touch.