1from __future__ import annotations
 2
 3from typing import Any
 4
 5from jinja2.runtime import Context
 6
 7from plain.assets.finders import _APP_ASSETS_DIR
 8from plain.runtime import settings
 9from plain.templates import register_template_extension
10from plain.templates.jinja.extensions import InclusionTagExtension
11
12
13@register_template_extension
14class TailwindCSSExtension(InclusionTagExtension):
15    tags = {"tailwind_css"}
16    template_name = "tailwind/css.html"
17
18    def get_context(
19        self, context: Context, *args: Any, **kwargs: Any
20    ) -> dict[str, str]:
21        tailwind_css_path = str(
22            settings.TAILWIND_DIST_PATH.relative_to(_APP_ASSETS_DIR)
23        )
24        return {"tailwind_css_path": tailwind_css_path}