@swim/ui v3.11.1
@swim/ui
@swim/ui implements a user interface toolkit for pervasively real-time applications. A unified view hierarchy, with builtin procedural styling and animation, makes it easy for @swim/ui components to uniformly style, animate, and render mixed HTML, SVG, Canvas, and WebGL components. @swim/ui is a part of the @swim/toolkit framework.
Framework
The @swim/ui umbrella package depends on, and re-exports, the following component libraries:
- @swim/angle (npm, doc) – dimensional angle types with unit-aware algebraic operators, conversions, and parsers.
- @swim/length (npm, doc) – DOM-relative length types with unit-aware algebraic operators, conversions, and parsers.
- @swim/color (npm, doc) – RGB and HSL color types with color-space-aware operators, conversions, and parsers.
- @swim/font (npm, doc) – CSS font property types and parsers.
- @swim/shadow (npm, doc) – CSS box shadow types and parsers.
- @swim/transform (npm, doc) – CSS and SVG compatible transform types with unit-aware algebraic operators and parsers.
- @swim/scale (npm, doc) – scale types that map numeric and temporal input domains to interpolated output ranges, with support for continuous domain clamping, domain solving, range unscaling, and interpolation between scales.
- @swim/transition (npm, doc) – transition types that specify duration, ease, interpolator, and lifecycle callback parameters for tween animations.
- @swim/animate (npm, doc) – property-managing animator types that efficiently tween values between discrete state changes.
- @swim/style (npm, doc) – CSS style types and universal style value parser.
- @swim/render (npm, doc) – renderable graphic types for SVG and Canvas compatible path drawing contexts, and Canvas compatible rendering contexts.
- @swim/constraint (npm, doc) – incremental solver for systems of linear layout constraints.
- @swim/view (npm, doc) – unified HTML, SVG, and Canvas view hierarchy, with integrated controller architecture, animated procedural styling, and constraint-based layouts.
- @swim/shape (npm, doc) – canvas shape views, with animated geometry and style properties.
- @swim/typeset (npm, doc) – canvas typesetting views, with animated text, layout, font, and style properties.
- @swim/gesture (npm, doc) – multitouch gesture recognizers, with kinematic surface modeling.
@swim/ui builds on the @swim/core framework; it has no additional dependencies.
Installation
npm
For an npm-managed project, npm install @swim/ui
to make it a dependency.
TypeScript sources will be installed into node_modules/@swim/ui/main
.
Transpiled JavaScript and TypeScript definition files install into
node_modules/@swim/ui/lib/main
. And a pre-built UMD script, which
bundles all @swim/ui component libraries, can be found in
node_modules/@swim/ui/dist/main/swim-ui.js
.
Browser
Browser applications can load swim-ui.js
, along with its swim-core.js
dependency, from the SwimOS CDN.
<!-- Development -->
<script src="https://cdn.swimos.org/js/latest/swim-core.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-ui.js"></script>
<!-- Production -->
<script src="https://cdn.swimos.org/js/latest/swim-core.min.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-ui.min.js"></script>
Alternatively, the swim-toolkit.js
script may be loaded, along with its
swim-system.js
dependency, from the SwimOS CDN. The swim-toolkit.js
script bundles @swim/ui together with all other
@swim/toolkit
frameworks.
<!-- Development -->
<script src="https://cdn.swimos.org/js/latest/swim-system.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-toolkit.js"></script>
<!-- Production -->
<script src="https://cdn.swimos.org/js/latest/swim-system.min.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-toolkit.min.js"></script>
Usage
ES6/TypeScript
@swim/ui can be imported as an ES6 module from TypeScript and other
ES6-compatible environments. All component libraries are re-exported by
the umbrella @swim/ui
module.
import * as swim from "@swim/ui";
CommonJS
@swim/ui can also be used with CommonJS-compatible module systems.
All component libraries are re-exported by the umbrella @swim/ui
module.
var swim = require("@swim/ui");
Browser
When loaded by a web browser, the swim-ui.js
script adds all component
library exports to the global swim
namespace. The swim-ui.js
script
requires that swim-core.js
has already been loaded.
The swim-toolkit.js
script also adds all @swim/ui component library
exports to the global swim
namespace, making it a drop-in replacement
for swim-ui.js
when additional @swim/toolkit frameworks are needed.
1 month ago
1 month ago
8 months ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago