---
id: ""
title: "Active Foundation"
description: "The developer basis of the Active packages. What it offers, how far this version goes, and where to begin."
url: "/"
locale: "en"
revision: "498c38ce1ae947b2"
---

# Active Foundation

Active Foundation is where the reusable Active packages are documented, demonstrated and handed to
the projects that use them. This site explains what each package does, when you use it, how you
configure it and what it does when something is missing, with working examples next to the code
that runs them.

You do not need to know the repositories the packages come from. Everything a package expects from
your application is described on its pages.

## What Foundation offers

- **Packages** you add to your own repository: formatting, a UI kit, translation, state, data grid,
  charts and maps. See the [package catalogue](/catalog) for what each one is and how far it is.
- **One supported way to receive them**: a managed source transfer that copies the package source
  into your repository, with a record of where it came from. See
  [Receiving packages](/receiving-packages).
- **Guides, working examples and an API reference** for every documented package.
- **A shared development basis**: lint and TypeScript presets, the Prettier configuration and the
  development standards, so code in every repository looks, checks and reads the same. See
  [Development basis](/development-basis).

## What this version contains

This version documents the functional packages Foundation maintains:

- [`@workspace/active-format`](/packages/active-format): formatting and parsing of dates, numbers,
  currency amounts, percentages and byte counts.
- [`@workspace/active-ui`](/packages/active-ui): the component library this site is built with.
  Every public module has a page with a working example and an API reference generated from its
  source.
- [`@workspace/active-state`](/packages/active-state) and
  [`@workspace/active-virtual`](/packages/active-virtual): client state with owned async work, and
  layout-stable virtualization.
- [`@workspace/active-i18n`](/packages/active-i18n): translations, language choice and reading
  direction, with a server example.
- [`@workspace/active-grid`](/packages/active-grid), [`@workspace/active-charts`](/packages/active-charts)
  and [`@workspace/active-geo`](/packages/active-geo): the data grid, with client, simulated and
  real server examples; every chart family; and maps.
- [`@workspace/active-helpers`](/packages/active-helpers): the small helpers the grid, the charts
  and the maps share.

It also documents the two configuration packages of the development basis,
[`@workspace/eslint-config`](/packages/eslint-config) and
[`@workspace/typescript-config`](/packages/typescript-config).

Every package is maintained here and still in development; none is released from Foundation yet.
That covers each package, not that every page is finished: the content is still being reviewed,
and a page names the limits it knows of.

## How to read the labels

Every package page shows the version this site documents, read from the package itself, and its
release status, read from the release register of Foundation, which maintains the package. A
version number alone is not a release:

- **Released**: the release register records this version, with exactly this content.
- **Development**: maintained and tested here, and not recorded as a release. Its contract can
  still change.
- **Status unknown**: the site has no reliable record of a release, for example for content that
  differs from the release recorded under its version. Treat it as unreleased.

Every example says what it proves:

- **Client**: runs entirely in your browser.
- **Simulation**: a server imitated in your browser. It shows the interaction, never a working
  server integration.
- **Server**: calls a real route of this site, which does the work on the server.

## Where to begin

1. Read the [catalogue](/catalog) to find the package you need.
2. Follow [Receiving packages](/receiving-packages) to bring it into your repository.
3. Start with the package's **Getting started** page, then the guides for what you build.
