# Community Marquee `{% communityMarquee %}` is a scrolling ticker with extra flair — content that slides continuously across the row (logos, announcements, a tagline). On top of the left/right/up/down scroll of the built-in [`{% marquee %}`](/components/layout/marquee/), this variant adds isometric and circle layouts, fade-edge modes, repeat control, and 3D tilt/perspective/rotate/skew. > **A Community Component** — wraps [Marquee](https://gfazioli.github.io/mantine-marquee/) by > **gfazioli**, **MIT** licensed, npm `@gfazioli/mantine-marquee`. Because Mantine core already ships a native `Marquee` (the one behind the built-in `{% marquee %}`), the community variant is registered under the distinct tag **`communityMarquee`** so the two never collide — both are available. Use it as `{% communityMarquee %}` in Markdown, or call it from Python logic (loops, snippets) via `component('aardvark', 'communityMarquee', …)`. ## Demonstrations ### Basic ticker The block body is the scrolling content. `direction` (left, right, up, down) sets the scroll axis; `duration` is the seconds for one loop. Ship docs faster · Built-in components · No JavaScript to write · Markdown all the way down ·
Source: Markdown ```aardvark {% communityMarquee duration=20 %} Ship docs faster · Built-in components · No JavaScript to write · Markdown all the way down · {% endCommunityMarquee %} ``` Source: Python ```python component('aardvark', 'communityMarquee', duration=20, children='Ship docs faster · Built-in components · No JavaScript to write ·') ``` ### Pause on hover and fade edges `pauseOnHover` stops the scroll while the pointer is over it; `fadeEdges` softens the edges so content fades in and out instead of clipping (set it to a bare flag for the default fade, or name a mode — `linear`, `ellipse`, `rect`). React · Mantine · Aardvark · Static sites · Islands · Markdown ·
Source: Markdown ```aardvark {% communityMarquee duration=25 pauseOnHover=true fadeEdges='linear' %} React · Mantine · Aardvark · Static sites · Islands · Markdown · {% endCommunityMarquee %} ``` ### Reverse direction `direction='right'` scrolls the other way; `direction='up'` / `direction='down'` scroll vertically. ← scrolling the other way · keep it moving · ← scrolling the other way ·
Source: Markdown ```aardvark {% communityMarquee direction='right' duration=20 %} ← scrolling the other way · keep it moving · {% endCommunityMarquee %} ``` ### Isometric variant `variant='isometric'` tilts the row into a 3D plane; tune it with `tilt`, `perspective`, `rotate`, and `skew`. Isometric · 3D ticker · Tilt and perspective · Isometric · 3D ticker ·
Source: Markdown ```aardvark {% communityMarquee variant='isometric' duration=22 tilt=45 %} Isometric · 3D ticker · Tilt and perspective · {% endCommunityMarquee %} ``` ## With other components The scrolling content can be any Aardvark tags, already rendered — here a row of [Badges](/components/data-display/badge/) glides across as a feature ticker. Fast Themeable Accessible Open
Source: Markdown ```aardvark {% communityMarquee duration=18 gap='1.5rem' %} {% badge variant='light' color='grape' %}Fast{% endBadge %} {% badge variant='light' color='indigo' %}Themeable{% endBadge %} {% badge variant='light' color='teal' %}Accessible{% endBadge %} {% endCommunityMarquee %} ``` ## Attributes Omit any attribute to take its default. Bare flags (e.g. `pauseOnHover`, `fadeEdges`) become `=True`. | Attribute | Valid values | Description | | --- | --- | --- | | `direction` | `left` / `right` / `up` / `down` (default `left`) | Scroll axis and direction. Maps to the package's `vertical` (up/down) + `reverse` (right/down). | | `variant` | `default` / `isometric` / `circle` | Layout variant. `isometric` and `circle` add a 3D / ring presentation. | | `duration` | Integer (seconds) | Seconds for one full loop. | | `gap` | A CSS length (e.g. `2rem`) | Space between the looping copies of the content. | | `repeat` | Integer | How many times the content is cloned to fill the row. | | `pauseOnHover` | `true` / `false` (default `false`) | Pause scrolling while the pointer is over the marquee. | | `fadeEdges` | bare flag / `linear` / `ellipse` / `rect` | Fade the leading/trailing edges. A bare flag uses the default fade; a named value picks the mask shape. | | `fadeEdgesSize` | `xs`–`xl` or a percentage | Size of the edge fade. | | `tilt` | Integer (degrees) | 3D tilt angle (isometric variant). | | `perspective` | Integer (px) | Depth of the 3D scene (3D variants). | | `rotate` | Integer (degrees) | In-plane rotation (isometric variant). | | `skew` | Integer (degrees) | Horizontal skew (isometric variant). | | `attr={…}` | An object of HTML attributes | Forwards raw HTML attributes onto the rendered element (see [Injecting Attributes](#injecting-attributes)). | ## CSS Selector The mounted island is wrapped in an element carrying `data-aardvark-island="CommunityMarquee"`, so you can target the whole ticker from your own CSS: ```css [data-aardvark-island='CommunityMarquee'] { margin-block: 2rem; } ``` The package itself styles the track and fade with its own data-attribute selectors (`[data-variant]`, `[data-vertical]`, `[data-fade-edges]`) and CSS variables (`--marquee-gap`, `--marquee-fade-edge-size`, …); the stylesheet ships from `@gfazioli/mantine-marquee/styles.css`, imported automatically by the island. ## Injecting Attributes Pass `attr={…}` to forward raw HTML attributes onto the rendered element — useful for `id`, `data-*` hooks, ARIA, or analytics attributes that aren't component props: Tagged for analytics · Accessible label · Tagged for analytics ·
Source: Markdown ```aardvark {% communityMarquee duration=20 attr={'data-analytics': 'home-ticker', 'aria-label': 'Feature ticker'} %} Tagged for analytics · Accessible label · {% endCommunityMarquee %} ``` Source: Python ```python component('aardvark', 'communityMarquee', duration=20, attr={'data-analytics': 'home-ticker', 'aria-label': 'Feature ticker'}, children='Tagged for analytics · Accessible label ·') ```