# Concorde by Supersoniks > Concorde is the Supersoniks Lit web-components library (UI, DataProvider, decorators, forms, SDUI). > npm: `@supersoniks/concorde` — https://www.npmjs.com/package/@supersoniks/concorde > Site: https://concorde.supersoniks.org/ ## Developer resources - [Homepage (HTML)](https://concorde.supersoniks.org/) — interactive docs SPA - [Homepage (Markdown)](https://concorde.supersoniks.org/index.md) — also via `Accept: text/markdown` on https://concorde.supersoniks.org/ - [llms-full.txt](https://concorde.supersoniks.org/llms-full.txt) — full plain-text mirror - [Docs index](https://concorde.supersoniks.org/docs/index.html) - [Sitemap](https://concorde.supersoniks.org/sitemap.xml) - [npm package @supersoniks/concorde](https://www.npmjs.com/package/@supersoniks/concorde) - [Getting started](https://concorde.supersoniks.org/docs/getting-started/start) - [AI agents (skill)](https://concorde.supersoniks.org/docs/getting-started/ai-agents) - [Components index](https://concorde.supersoniks.org/docs/getting-started/components) - [custom-elements.json](https://concorde.supersoniks.org/custom-elements.json) — Custom Elements Manifest: attributes, properties, events and slots of every `sonic-*` element - [About](https://concorde.supersoniks.org/about) · [Privacy](https://concorde.supersoniks.org/privacy) Doc pages use the same pathnames as the interactive site (`/docs/…`, `/core/…`). Markdown: same URL with `.md` (e.g. `/docs/getting-started/start.md`), or `Accept: text/markdown` on the pathname. HTML crawlers receive a static HTML variant of the same URL. ## Topic hubs (start here for RAG) - [Concorde decorators reference](https://concorde.supersoniks.org/hubs/decorators.html) (hubs/decorators, 12 pages) - [Fetching remote data in Concorde](https://concorde.supersoniks.org/hubs/remote-data.html) (hubs/remote-data, 11 pages) - [Concorde form components](https://concorde.supersoniks.org/hubs/form-components.html) (hubs/form-components, 9 pages) ## Docs - [Date](https://concorde.supersoniks.org/core/components/functional/date) (core/components/functional/date/date): sonic-date formats a date or a date range with Intl.DateTimeFormat. Pass a Unix timestamp in seconds (date) or a parsable string (date_string), add end_date for a range, and tune each part (weekday · - [Fetch](https://concorde.supersoniks.org/core/components/functional/fetch) (core/components/functional/fetch/fetch): sonic-fetch sends a GET request to serviceURL + endPoint and publishes the response under dataProvider, so its children and any subscriber of that provider can render it. In a Lit component, prefer th - [If](https://concorde.supersoniks.org/core/components/functional/if) (core/components/functional/if/if): sonic-if renders its default slot only while condition is true. Use it to show or hide a block from reactive state; with no condition, the content is not rendered. The host uses display: contents, so - [Jsonata](https://concorde.supersoniks.org/core/components/functional/jsonata) (core/components/functional/jsonata/jsonata): sonic-jsonata reads one data provider, evaluates a JSONata expression on it and writes the result to another data provider. Use it for read-only aggregates such as groups, rankings and totals; use Mix - [List](https://concorde.supersoniks.org/core/components/functional/list) (core/components/functional/list/list): sonic-list renders one row per entry of its props array, either set directly or loaded with fetch. In TypeScript, prefer the .items row renderer (with .separator · .noItems · .skeleton);