{{- $groups := dict
" Generic" $.Site.Data.components.state_stores.generic
"Microsoft Azure" $.Site.Data.components.state_stores.azure
"Google Cloud Platform (GCP)" $.Site.Data.components.state_stores.gcp
"Amazon Web Services (AWS)" $.Site.Data.components.state_stores.aws
"Cloudflare" $.Site.Data.components.state_stores.cloudflare
"Oracle Cloud" $.Site.Data.components.state_stores.oracle
}}

{{ range $group, $components := $groups }}
<h3>{{ $group }}</h3>
<table width="100%">
    <tr>
        <th>Component</th>
        <th>CRUD</th>
        <th>Transactional</th>
        <th>ETag</th>
        <th>TTL</th>
        <th>Actors</th>
        <th>Query</th>
        <th>Status</th>
        <th>Component version</th>
        <th>Since runtime version</th>
    </tr>
    {{ range sort $components "component" }}
    <tr>
        <td>
            <a href="/reference/components-reference/supported-state-stores/{{ .link }}/">{{ .component }}</a>
        </td>
        <td align="center">
            {{ if .features.crud }}
                <span role="img" aria-label="CRUD: Supported">✅</span>
            {{else}}
                <img src="/images/emptybox.png" alt="CRUD: Not supported" aria-label="CRUD: Not supported" />
            {{ end }}
        </td>
        <td align="center">
            {{ if .features.transactions }}
                <span role="img" aria-label="Transactions: Supported">✅</span>
            {{else}}
                <img src="/images/emptybox.png" alt="Transactions: Not supported" aria-label="Transactions: Not supported" />
            {{ end }}
        </td>
        <td align="center">
            {{ if .features.etag }}
                <span role="img" aria-label="ETag: Supported">✅</span>
            {{else}}
                <img src="/images/emptybox.png" alt="ETag: Not supported" aria-label="ETag: Not supported" />
            {{ end }}
        </td>
        <td align="center">
            {{ if .features.ttl }}
                <span role="img" aria-label="TTL: Supported">✅</span>
            {{else}}
                <img src="/images/emptybox.png" alt="TTL: Not supported" aria-label="TTL: Not supported" />
            {{ end }}
        </td>
        <td align="center">
            {{ if (and .features.transactions .features.etag) }}
                <span role="img" aria-label="Actors: Supported">✅</span>
            {{else}}
                <img src="/images/emptybox.png" alt="Actors: Not supported" aria-label="Actors: Not supported" />
            {{ end }}
        </td>
        <td align="center">
            {{ if .features.query }}
                <span role="img" aria-label="Query: Supported">✅</span>
            {{else}}
                <img src="/images/emptybox.png" alt="Query: Not supported" aria-label="Query: Not supported" />
            {{ end }}
        </td>
        <td>{{ .state }}</td>
        <td>{{ .version }}</td>
        <td>{{ .since }}</td>
    </tr>
    {{ end }}
</table>
{{ end }}

{{ partial "components/componenttoc.html" . }}