Type aliases
AttributeAnimatorType
AttributeAnimatorType: typeof String | typeof Boolean | typeof Number | typeof Length | typeof Color | typeof Transform | [typeof Number, typeof String] | [typeof Length, typeof String] | [typeof Color, typeof String]
LayoutAnchorGetState
LayoutAnchorGetState<S>: (this: S, oldState: number) => number
Type parameters
Type declaration
-
- (this: S, oldState: number): number
-
Parameters
Returns number
LayoutAnchorSetValue
LayoutAnchorSetValue<S>: (this: S, newValue: number) => void
Type parameters
Type declaration
-
- (this: S, newValue: number): void
MemberAnimatorDescriptorType
MemberAnimatorDescriptorType<C>: C extends typeof Transform ? MemberAnimatorDescriptor<Transform, AnyTransform> : C extends typeof Font ? MemberAnimatorDescriptor<Font, AnyFont> : C extends typeof Color ? MemberAnimatorDescriptor<Color, AnyColor> : C extends typeof Length ? MemberAnimatorDescriptor<Length, AnyLength> : C extends typeof Angle ? MemberAnimatorDescriptor<Angle, AnyAngle> : C extends typeof Number ? MemberAnimatorDescriptor<number, number | string> : C extends typeof Boolean ? MemberAnimatorDescriptor<boolean, boolean | string> : C extends typeof String ? MemberAnimatorDescriptor<string> : C extends typeof Object ? MemberAnimatorDescriptor<Object> : C extends FromAny<any> ? MemberAnimatorDescriptor<any> : MemberAnimatorDescriptor<any>
Type parameters
MemberAnimatorTypeConstructor
Member
AnimatorTypeConstructor: FromAny<any> | typeof Object | typeof String | typeof Boolean | typeof Number | typeof Angle | typeof Length | typeof Color | typeof Font | typeof Transform
PopoverPlacement
PopoverPlacement: "none" | "above" | "below" | "over" | "top" | "bottom" | "right" | "left"
PopoverState
PopoverState: "hidden" | "showing" | "shown" | "hiding"
StyleAnimatorType
StyleAnimatorType: typeof String | typeof Number | typeof Length | typeof Color | typeof LineHeight | typeof FontFamily | typeof Transform | typeof BoxShadow | [typeof Number, typeof String] | [typeof Length, typeof String] | [typeof Color, typeof String]
ViewIdiom
ViewIdiom: "unspecified" | "mobile" | "tablet" | "desktop"
@swim/view
@swim/view provides a unified HTML, SVG, and Canvas view hierarchy, with integrated controller architecture, animated procedural styling, and constraint-based layouts. @swim/view is part of the @swim/ui framework.
Installation
npm
For an npm-managed project,
npm install @swim/view
to make it a dependency. TypeScript sources will be installed intonode_modules/@swim/view/main
. Transpiled JavaScript and TypeScript definition files install intonode_modules/@swim/view/lib/main
. And a pre-built UMD script can be found innode_modules/@swim/view/dist/main/swim-view.js
.Browser
Browser applications can load
swim-ui.js
—which bundles the @swim/view library—along with itsswim-core.js
dependency, directly 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 standalone
swim-system.js
script may be loaded from the swimOS CDN, which bundles @swim/view together with all other @swim/system libraries.<!-- Development --> <script src="https://cdn.swimos.org/js/latest/swim-system.js"></script> <!-- Production --> <script src="https://cdn.swimos.org/js/latest/swim-system.min.js"></script>
Usage
ES6/TypeScript
@swim/view can be imported as an ES6 module from TypeScript and other ES6-compatible environments.
import * as view from "@swim/view";
CommonJS/Node.js
@swim/view can also be used as a CommonJS module in Node.js applications.
var view = require("@swim/view");
Browser
When loaded by a web browser, the
swim-ui.js
script adds all @swim/view library exports to the globalswim
namespace. Theswim-ui.js
script requires thatswim-core.js
has already been loaded.The
swim-system.js
script also adds all @swim/view library exports to the globalswim
namespace, making it a drop-in replacement for 'swim-core.js' andswim-ui.js
when additional @swim/system libraries are needed.