Skip to content
Brok UI

Loading…

No results

Compatibility

This page defines the supported platform and behavior contract for the current Brok release. Each stable release copies this matrix into its release notes.

Current support matrix

Design system Laravel Livewire Tailwind CSS PHP
Brok 0.2.x
foundation 2.0.x
11.x, 12.x, 13.x Optional: ^3.8.5 or ^4.4.1 4.x ^8.2

Laravel 13 requires PHP 8.3 or newer through Laravel's package constraints. The release gate tests PHP 8.2 through 8.5 where the Laravel version permits it.

Warning

Brok 0.x is pre-stable. A breaking 0.x change must be named in the changelog, include a migration, and receive release-owner approval.

Minimum browser support

BrowserMinimum supported release
Chrome and EdgeCurrent stable major and the two previous major releases
FirefoxCurrent stable major and the two previous major releases
Safari on macOSCurrent major and the previous major release
Safari on iOS and iPadOSCurrent major and the previous major release
Chrome on AndroidCurrent stable major and the previous major release

Each release records the exact versions used for sign-off. Internet Explorer and end-of-life embedded browsers are not supported. Dropping a browser from this window is a breaking change.

Browser support tiers

Brok uses a rolling browser window while keeping server-rendered content and native form semantics useful when an enhanced browser API or JavaScript behavior is unavailable.

TierExpectationExamples
A — supportedChrome, Edge, and Firefox support the current stable major and two previous majors. Safari supports the current and previous major. Chrome on Android supports the current and previous major.Chromium desktop/mobile; Firefox desktop; WebKit desktop/mobile
B — functionalOlder engines may lose cosmetic motion or advanced positioning, but content and native forms remain usable.Graceful CSS/API fallback
UnsupportedEnd-of-life browsers without the JavaScript, CSS custom-property, or module baseline are not tested.Legacy embedded engines

Note

The automated matrix runs Chromium on desktop and mobile, Firefox on desktop, and WebKit on desktop and mobile. Release sign-off adds manual VoiceOver checks in Safari and NVDA checks in Firefox or Chrome.

Progressive enhancement rules

  • Native form controls remain the baseline when custom selection behavior is unnecessary.
  • Popover positioning, view transitions, and advanced motion are enhancements; content must not depend on animation.
  • Dialog, sheet, menu, combobox, drag, and canvas behaviors require their installed Alpine module.
  • prefers-reduced-motion, keyboard input, touch input, and zoomed layouts are part of supported behavior.

Note

A copied component belongs to your application. If your product supports a narrower or older browser matrix, keep that matrix in application tests and adapt the editable source where necessary.

Theme and token compatibility

The foundation version covers resources/css/ui.css and resources/views/components/ui/_styles.php. Themes are sparse overrides of the public token schema. They can omit tokens and inherit the foundation defaults.

  • Adding a token is normally non-breaking.
  • Removing or renaming a token, changing its type, or changing its semantic meaning is breaking.
  • A breaking token change needs a foundation major, a migration record, and an explicit replacement map.
  • A token value can change in a patch or minor only inside its documented semantic and accessibility boundary.

JavaScript requirements

Blade-only components need no JavaScript. Interactive components require Alpine.js 3.x, an ES-module-capable supported browser, the installed resources/js/ui/index.js entry, and each npm dependency declared by the item.

Vite is recommended, not required. Another bundler is supported when it loads standard ES modules and dynamic import(). Brok prints npm install commands but does not run them.

Server rendering and no-JavaScript behavior

Brok renders Blade on the server. The first response contains meaningful HTML and native form semantics. Rendering never calls a hosted Brok service.

Component contractWithout JavaScript
noneThe complete component works.
progressive enhancementCore content and native actions work. Enhanced motion, positioning, or feedback can be absent.
requiredContent stays readable and causes no browser error, but the custom interaction is unavailable. Item docs identify the missing interaction.

Deprecation and support lifetime

A stable contract remains functional for at least one minor release and 90 days after deprecation. Removal requires a breaking release and a migration.

Brok has no LTS line during 0.x. Security and compatibility fixes target only the latest released 0.x version. After 1.0.0, the latest minor of the current major is supported. An older major or LTS line receives updates only when its release notes give an end-of-support date.

Semantic versioning in Brok

  • A material change to default layout, density, typography scale, color meaning, or another documented visual contract is breaking.
  • Removing or renaming a token, or changing its type or meaning, is breaking.
  • Adding an optional prop without changing the default is normally non-breaking.
  • Changing documented focus behavior is breaking. A patch can only restore the documented behavior; a minor can add opt-in behavior.
  • Generated markup changes are breaking when they alter a documented element, DOM order, selector hook, data-slot, form value, ARIA relationship, or snapshot contract.
  • Dropping a supported runtime, framework, browser, or foundation range is breaking.

Warning

An accessibility regression is not an acceptable breaking change. It blocks the release.