Skip to content

Releases: swiftuijs/ui

@swiftuijs/ui 0.1.4

Choose a tag to compare

@oe oe released this 07 Oct 16:24
c83ef47

This patch improves optional glass materials with live, shape-aware edge refraction in Chromium and clearer material previews.

  • SVG edge refraction follows the surface's size and corner radii while foreground text and controls stay sharp and interactive. Navigation controls, toolbar groups, tab bars, menus, context menus, popovers and presentations share the renderer.
  • Clear material uses less blur and tint. Sheets, alerts and confirmation dialogs inherit appearance preferences and default to regular material for legibility; large sheets favor opacity and automatic full-screen sheets remain opaque.
  • Kitchensink improves Appearance panel spacing and adds a material selector and grid-backed preview. The Glass reference includes an interactive optics example and concise browser, SSR, CSP and performance requirements.
  • Refraction maps load after hydration, share a bounded cache and rebuild after resize bursts settle. No new runtime dependencies, graphics engine or continuous animation loop are added.
npm install @swiftuijs/ui@0.1.4

Requires React 18.2+ or 19, matching react-dom, and a bundler that supports CSS imports. Import @swiftuijs/ui/style/index.css once at the application root. Glass remains opt-in; use glass={{ renderer: 'css' }} to select CSS everywhere. Safari and Firefox retain CSS materials. SVG data images require CSP img-src data:; blocked images retain CSS. Reduced transparency, increased contrast and forced colors use opaque surfaces. This web approximation does not reproduce Apple's full native optical model or system vibrancy.

Only @swiftuijs/ui is published. The workspace, documentation and Storybook remain private.

Validation covers 440 UI unit tests, 37 documentation tests, 332 component checks, 20 Kitchensink checks and 36 documentation reading checks, plus packed types/CSS/SSR, React 18.2/18.3/19 hydration and interactions, and production performance budgets. Rendering acceptance uses Chromium; native Apple parity, other engines' visual parity and device FPS are not claimed.

@swiftuijs/ui 0.1.3

Choose a tag to compare

@oe oe released this 05 Oct 02:07
f4470f9

This patch reduces unnecessary rendering and repeated overlay measurements while keeping existing import paths compatible.

  • Stable layout context values reduce updates when a parent rerenders.
  • New useHorizontalSizeClass and useVerticalSizeClass hooks subscribe to the relevant breakpoint, avoiding updates for every viewport pixel change. They return null during SSR and initial hydration.
  • Reduced Motion consumers share one native media-query listener, released after the last consumer unmounts.
  • NavigationSplitView filters unchanged container size classes. Menus and popovers coalesce scroll, resize and observer measurements into one animation frame and cancel pending work when closed.
  • Added production performance budgets and a concise performance guide. Repository tooling and documentation sources are consolidated, with historical proposals clearly archived.
npm install @swiftuijs/ui@0.1.3

Requires React 18.2+ or 19, matching react-dom, and a bundler that supports CSS imports. Import @swiftuijs/ui/style/index.css once at the application root. Only @swiftuijs/ui is published; the workspace, docs and Storybook remain private.

Validation covers unit tests, packed-consumer types, CSS and SSR, React 18.2/18.3/19 hydration and interactions, production performance budgets, and Chromium acceptance for components, Kitchensink and documentation. Performance budgets measure work counts in fixed scenarios; they are not FPS guarantees. Verify behavior on your application's target browsers and devices.

@swiftuijs/ui 0.1.2

Choose a tag to compare

@oe oe released this 04 Oct 18:01

This patch improves presentation motion and fixes responsive overlays, including full-width phone sheets in portrait and short-screen landscape.

  • Paired entry/exit animations for sheets, alerts, confirmation dialogs, menus, context menus and popovers; navigation honors its transition settings.
  • Reduced Motion stops loops and pauses automatic animation sequences while preserving manual controls.
  • Safe-area padding, scrolling for short-screen alerts and long menus, correctly anchored nested popovers/menus, and predictable submenu focus.
  • Clear motion and responsive guides, with live examples and platform limitations. Documentation navigation now keeps GitHub and project resources visible.
npm install @swiftuijs/ui@0.1.2

Requires React 18.2+ or 19, matching react-dom, and a bundler that supports CSS imports. Import @swiftuijs/ui/style/index.css once at the application root. Only @swiftuijs/ui is published; the workspace, docs app and Storybook remain private.

Validation includes 425 UI tests, 312 component browser checks, 20 Kitchensink checks, 36 documentation browser checks and React 18.2/18.3/19 packed-consumer checks for declarations, SSR, hydration and interaction. Browser acceptance covers Chromium; real-device Safari and Firefox still need application-specific validation. Motion curves and optional glass are CSS adaptations, not native physics springs or optical refraction. Text/number interpolation and automatic matched geometry remain unsupported.

@swiftuijs/ui 0.1.1

Choose a tag to compare

@oe oe released this 04 Oct 02:57
bd8427a

@swiftuijs/ui@0.1.1 supports React 18.2+ and React 19. React 18 projects can now install the package without overriding its peer dependencies.

npm install @swiftuijs/ui@0.1.1

Keep react and react-dom on the same version. TypeScript projects should use the matching @types/react and @types/react-dom major versions. Import @swiftuijs/ui/style/index.css once at your application root.

  • Added packed-consumer CI checks for React 18.2.0, 18.3.1 and latest React 19, with matching public type declarations.
  • Verified SSR, StrictMode hydration, forwarded refs, forms, menus, sheets, popovers, navigation, virtual scrolling and unmount at mobile/desktop widths.
  • Updated installation requirements in the package README and documentation.

Only @swiftuijs/ui is published. The workspace, documentation app and Storybook remain private. Browser acceptance covers Chromium; existing platform limits still apply.

@swiftuijs/ui 0.1.0

Choose a tag to compare

@oe oe released this 03 Oct 16:53
2b6f5e8

First public release of @swiftuijs/ui. Only the UI package is published; the workspace, documentation app and Storybook remain private.

npm install @swiftuijs/ui@0.1.0 react@^19 react-dom@^19

Import @swiftuijs/ui/style/index.css once at your application root.

  • SwiftUI-inspired layouts and browser-native controls, with measured lazy virtualization and container-aware navigation.
  • Accessible modal focus management, draggable sheet detents, keyboard navigation and updated control styling.
  • Scoped light/dark/system themes, accent colors, design tokens and optional glass materials.
  • Live documentation examples, explicit platform limits and package/SSR/browser acceptance checks.

Requires React 19 and a CSS-capable bundler. Glass is a CSS approximation; native optical refraction and complete SwiftUI API parity are not implemented. Browser acceptance currently covers Chromium; validate the components and browser integrations your application uses.