# Ranking components for the FSI website

<a href="https://www.npmjs.com/@tax-justice-network/fsi-components" target="_blank">
  <img src="https://img.shields.io/npm/v/@tax-justice-network/fsi-components.svg" alt="FSI Components package on npm" />
</a>
  
## Changelog

See the [CHANGELOG.md](CHANGELOG.md) for a detailed list of changes.

## Usage

### 1. Add configuration just before the closing `</head>` tag

💡 Replace `API TOKEN FOR ACCESSING FSI DATA` with your API token.

```html
<script>
  window.TJN_API_ROOT = "https://api.data.taxjustice.net/v1";
  window.TJN_API_TOKEN = "API TOKEN FOR ACCESSING FSI DATA";
  window.TJN_FSI_EDITION = "fsi2026";
</script>
```

| Variable          | Description                                                                                              |
| ----------------- | -------------------------------------------------------------------------------------------------------- |
| `TJN_API_ROOT`    | API root URL for the components to load data from.<br> **Default:** `https://api.data.taxjustice.net/v1` |
| `TJN_API_TOKEN`   | API token for accessing FSI data. You can obtain an API token by contacting the TJN team.                |
| `TJN_FSI_EDITION` | Edition of the FSI to load data from. Endpoints are then called as `${edition}_${endpoint}`              |

### 2. Include JS script below the configuration, just before the closing `</head>` tag

💡 You have to update this code to update to the new version of the components

<!-- SCRIPTS -->
```html
<script
  type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/@tax-justice-network/fsi-components@3.3.1/package/components.js"
  crossorigin="anonymous"
  integrity="sha384-St2j9WCn1zlMM7V3lVL5dH8T0QRjDW8wVUK364+Swz76jltqVYYUgDT0v/vMGQLT"
  async
></script>
```
<!-- SCRIPTS END -->

### 3. Add the components to your HTML

💡 Use the `Custom HTML` block in Wordpress  
💡 The `lang="..."` parameter can be one of: `en`,`fr`,`es`,`pt`,`ar`

#### Ranking Table

💡Component uses the latest scoring with the provided `methodology_id` at load time and shows a selector to switch between other scorings.

```html
<tjn-country-ranking methodology_id="fsi_8.0" detail_url="/country-detail" lang="en"></tjn-country-ranking>
```

#### Country detail

💡The `tjn-country-detail` and `tjn-country-breakdown` components need `scoring_id` and `jurisdiction_id` parameters in the URL, but those are automatically provided by the `<tjn-country-selector>` component.

```html
<tjn-country-selector lang="en"></tjn-country-selector>

<tjn-country-detail lang="en"></tjn-country-detail>

<tjn-country-breakdown lang="en"></tjn-country-breakdown>
```

#### Indicator detail

💡You must provide indicator variable in URL after the `#` sign, e.g. `https://fsi.taxjustice.net/indicator-detail/#indicator=SI01` otherwise component will be empty.  
💡Component uses the latest scoring with the provided `methodology_id`.

```html
<tjn-indicator-detail methodology_id="fsi_8.0" lang="en"></tjn-indicator-detail>
```
