0.2.0

Borda targets modern browsers that support ES2020+. The compiled output uses async/await, optional chaining, nullish coalescing, and IntersectionObserver — all available in current versions of major browsers without polyfills.

Supported browsers

BrowserMinimum version
Chrome80+
Firefox80+
Safari14+
Edge80+ (Chromium-based)
Opera67+
Samsung Internet13+

Required Web APIs

Borda relies on the following browser APIs at runtime:

APIUsed for
IntersectionObserverDetecting target element visibility for spotlight positioning
ResizeObserverAdapting tooltip and overlay layout when the container resizes
customElementsCustom Element registration (defineBordaElement())
matchMediaResponsive breakpoint detection
CSS Custom PropertiesTheming and dynamic style overrides

All listed APIs are supported in the browsers above. If you need to support older browsers, include the corresponding polyfills before loading Borda.

Internet Explorer

Internet Explorer is not supported. Borda uses ES Module syntax, CSS custom properties, and modern DOM APIs that have no IE equivalents.

Mobile browsers

Borda works on mobile Chrome, Safari (iOS), Firefox, and Samsung Internet. The spotlight overlay, tooltip positioning, and keyboard navigation all work on touch devices. Keyboard navigation is optional and can be disabled via tour.hasKeyboardControl: false.

Node.js

For SSR or prerendering scenarios, Borda requires Node.js 16.0 or later. The CommonJS build is available for require() usage. Note that actual tour rendering requires a browser DOM — the Node.js build is intended for server-side mounting logic and config preparation.