*As of now we still are in an exploratory phase and the library is not ready for production. We appreciate the interest. We look forward to your feedback and welcome all kinds of contribution. :)*

<p align="center">
  <img src="https://raw.githubusercontent.com/astro-reactive/astro-reactive/main/.github/assets/logo/min-banner.png" alt="Astro Reactive Library Logo">
  <br />
  <strong>Astro Reactive Library</strong>
  <br />
  Server-Side Rendered, Dynamic Components
  <br />
  Let your data build your UI with <a href="https://astro.build">Astro</a>
  <br />
  <br />
  <a href="https://github.com/astro-reactive/astro-reactive/actions/workflows/build-and-test.yml">
    <img src="https://github.com/astro-reactive/astro-reactive/actions/workflows/build-and-test.yml/badge.svg?branch=main" alt="Build & Test Result" />
  </a>
  <a href="https://github.com/astro-reactive/astro-reactive">
    <img alt="Last Commit" src="https://img.shields.io/github/last-commit/astro-reactive/astro-reactive?logo=github" />
  </a>
  <a href="https://gitpod.io/#https://github.com/astro-reactive/astro-reactive.git">
  <img
    src="https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod"
    alt="Contribute with Gitpod"
  />
  </a>

  <br />
  <br />
<p>

| Package                                                                                              | Release notes                                                                                     | Description                                              |
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| [form](https://github.com/astro-reactive/astro-reactive/blob/main/packages/form/README.md)           | [![npm](https://img.shields.io/npm/v/@astro-reactive/form)](./packages/form/CHANGELOG.md)           | a dynamic form which can be modified programmatically    |
| [validator](https://github.com/astro-reactive/astro-reactive/blob/main/packages/validator/README.md) | [![npm](https://img.shields.io/npm/v/@astro-reactive/validator)](./packages/validator/CHANGELOG.md) | validators for editable fields                           |
| data-grid                                                                                            | 🛠                                                                                                 | a dynamic data grid of values                            |
| themes                                                                                               | 🛠                                                                                                 | easy-to-use, accessible, consistent cross-browser styles |
| viz                                                                                                  | 🛠                                                                                                 | data visualization that emits and responds to events     |

# Running locally

We mainly use the `demo` app to see changes we make on the packages. Do the following to start hacking:

1. Fork the project then clone to your computer

```
git clone git@github.com:<your-user-name>/astro-reactive.git
```

2. Go into the project directory

```
cd astro-reactive
```

3. Install the node dependencies

```
npm i
```

4. Run the demo application

```
npm start
```

5. Open the demo application on your browser. Browse to the address:

```
https://localhost:3000
```

6. To run the tests:

```
npm test
```

## Other apps

We also maintain the docs website and the project landing page in this repository. Run the following to start the dev servers:

```
npm run docs
```

```
npm run landing-page
```

# Contributors

This project is only possible because of the support and contribution of our community ❤️

<a href="https://github.com/astro-reactive/astro-reactive/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=astro-reactive/astro-reactive" />
</a>

👉 _[Join our contributors!](https://github.com/astro-reactive/astro-reactive/blob/main/CONTRIBUTING.md)_

<!--

## Play around examples:

  <a href="https://stackblitz.com/edit/github-ze9ebb-tthuka?file=package.json,src%2Fpages%2Findex.astro">
    <img
      src="https://developer.stackblitz.com/img/open_in_stackblitz_small.svg"
      alt="Play around in Stackblitz"
    />
  </a>
  <a href="https://codesandbox.io/s/astro-reactive-library-u72dgj?file=/src/pages/index.astro">
    <img
      src="https://img.shields.io/badge/Open%20in-CodeSandbox-040404?logo=codesandbox"
      alt="CodeSandbox"
    />
  </a>

-->