> ## Documentation Index
> Fetch the complete documentation index at: https://www.propeldata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Embeddable UI

> Build custom dashboards insanely fast.

<div />

An open-source React library to build  dashboards and data apps with a few lines of code.

<Frame caption="A dashboard built with Propel's Embeddable UI">
  <img src="https://mintcdn.com/propeldocs/r8FN1fDId_ZpxHvr/images/docs/ui-kit-dashboard.png?fit=max&auto=format&n=r8FN1fDId_ZpxHvr&q=85&s=1dc11765735bf85d0653b216d1985d5d" width="2270" height="1222" data-path="images/docs/ui-kit-dashboard.png" />
</Frame>

## Install

<Steps>
  <Step title="Install the package">
    Install the package from your command line.

    <CodeGroup>
      ```shell npm theme={"system"}
      npm install @propeldata/ui-kit
      ```

      ```shell yarn theme={"system"}
      yarn add @propeldata/ui-kit
      ```
    </CodeGroup>
  </Step>

  <Step title="Add the Theme component">
    Add `ThemeProvider` to your application, wrapping the root component inside of `body`.

    ```jsx {7,9} theme={"system"}
    import { ThemeProvider } from "@propeldata/ui-kit";

    export default function () {
      return (
        <html>
          <body>
            <ThemeProvider>
              <MyApp />
            </ThemeProvider>
          </body>
        </html>
      );
    }
    ```
  </Step>
</Steps>

## Components

### Visualizations

<CardGroup cols={2}>
  <Card title="Time series" icon="chart-line" href="/docs/embeddable-ui/components/time-series">
    Visualize time-series data.
  </Card>

  <Card title="Counter" icon="calculator" href="/docs/embeddable-ui/components/counter">
    Visualize a single value.
  </Card>

  <Card title="Data grid" icon="table" href="/docs/embeddable-ui/components/data-grid">
    Visualize records in table format.
  </Card>

  <Card title="Leaderboard" icon="trophy" href="/docs/embeddable-ui/components/leaderboard">
    Display ranked aggregate data.
  </Card>

  <Card title="Pie chart" icon="chart-pie" href="/docs/embeddable-ui/components/pie-chart">
    Show part-to-whole relationships.
  </Card>
</CardGroup>

### Inputs

<CardGroup cols={2}>
  <Card title="Time range picker" icon="calendar" href="/docs/embeddable-ui/components/time-range-picker">
    Select date ranges for analysis.
  </Card>

  <Card title="Simple filter" icon="filter" href="/docs/embeddable-ui/components/simple-filter">
    Filter data using a dropdown.
  </Card>

  <Card title="Time grain picker" icon="clock" href="/docs/embeddable-ui/components/time-grain-picker">
    Choose a time granularity for aggregation.
  </Card>

  <Card title="Group by" icon="layer-group" href="/docs/embeddable-ui/components/group-by">
    Break down data by dimensions.
  </Card>
</CardGroup>

### Providers

<CardGroup cols={2}>
  <Card title="Access token provider" icon="key" href="/docs/embeddable-ui/components/access-token-provider">
    Manage authentication across components.
  </Card>

  <Card title="Theme provider" icon="palette" href="/docs/embeddable-ui/components/theme-provider">
    Customize the look and feel of components.
  </Card>

  <Card title="Filter provider" icon="filter" href="/docs/embeddable-ui/components/filter-provider">
    Applies filters to child components.
  </Card>
</CardGroup>

### Query Hooks

Query hooks fetch data from the Query APIs from your frontend application. They are designed to work with any 3rd-party charting library such as Echarts, Chart.js, or D3.js.

<CardGroup cols={2}>
  <Card title="useSql" icon="code" href="/docs/embeddable-ui/components/use-sql">
    Query data using SQL.
  </Card>

  <Card title="useCounter" icon="code" href="/docs/embeddable-ui/components/use-counter">
    Fetch a single aggregated value from the Counter API.
  </Card>

  <Card title="useDataGrid" icon="code" href="/docs/embeddable-ui/components/use-data-grid">
    Fetch tabular data from the Data Grid API.
  </Card>

  <Card title="useLeaderboard" icon="code" href="/docs/embeddable-ui/components/use-leaderboard">
    Fetch ranked data from the Leaderboard API.
  </Card>

  <Card title="useTimeSeries" icon="code" href="/docs/embeddable-ui/components/use-time-series">
    Fetch time-series data from the Time Series API.
  </Card>

  <Card title="useTopValues" icon="code" href="/docs/embeddable-ui/components/use-top-values">
    Fetch top values from the Top Values API.
  </Card>
</CardGroup>
