Search by

nordwerk / contao-sheet-bundle

wiesson

Native, dependency-free sheet content elements for Contao

Package info

github.com/studio-nordwerk/contao-sheet

Type:contao-bundle

pkg:composer/nordwerk/contao-sheet-bundle

Statistics

Installs: 13

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-10-01 05:04 UTC

This package is auto-updated.

Last update: 2026-10-01 06:31:13 UTC


README

Symbol

Dialoge, Bottom-Sheets und Offcanvas-Navigation mit nativen Contao-Inhalten und <dialog>, ohne jQuery oder JavaScript-Laufzeitabhängigkeiten. Native Buttons funktionieren ohne JavaScript; die kleine Original-Komponente ergänzt Einrastpunkte, Hintergrund-Schließen, Fokus-Rückgabe und History.

Für Contao ^5.7 || ^6.0. PHP 8.3+ für 5.7, PHP 8.4+ für 6.0. MIT. Version 0.1.0.

Installation

Im Contao Manager nach nordwerk/contao-sheet-bundle suchen oder das Manager-ZIP aus den GitHub-Releases hochladen. Alternativ:

composer require nordwerk/contao-sheet-bundle
vendor/bin/contao-console contao:migrate

Verwendung

„Dialog / Sheet“ in einem Artikel anlegen, Dialogtitel, Darstellung und Optionen wählen. Über das Kind-Element-Symbol beliebige Contao-Inhalte einfügen. „Dialog-Button“ auf derselben Seite anlegen und das Ziel-Sheet auswählen. Die Aktion „Öffnen“ erzeugt einen nativen commandfor-Button, „Schließen“ eignet sich als Abschluss-Button innerhalb eines Sheets.

Einrastpunkte wie 50,75 sind Prozentwerte der Viewport-Höhe (5–95). Sie gelten für Bottom-Sheets. Ohne „Schließen erlauben“ bleiben Escape, Hintergrund und Wegwischen ohne Wirkung; ein ausdrücklich eingefügter Abschluss-Button darf weiterhin schließen. Deshalb immer einen erreichbaren Abschluss anbieten.

Für Offcanvas zuerst ein Kern-Navigationsmodul anlegen. Danach „Offcanvas-Navigation“ erstellen, das Navigationsmodul und die Darstellung wählen und das Modul im Layout oder als Inhaltselement einbinden. Der Burger öffnet die native Seitenleiste; die Zurück-Taste schließt sie über das Original-History-Plugin.

Ohne JavaScript funktionieren Öffnen, Schließtaste und Escape mit Invoker Commands (Chromium 135+, Firefox 144+, Safari 26.2+). Ältere Browser erhalten den Fallback mit JS. Hintergrund-Tipp, Fokuskorrekturen, Einrastpunkt beim Öffnen und History sind progressive Verbesserungen.

Templates: content_element/nw_sheet.html.twig, content_element/nw_sheet_button.html.twig, frontend_module/nw_offcanvas_navigation.html.twig, component/_nw_sheet.html.twig. Theme über die Custom Properties der OSS-Komponente. Unveränderte Assets: @nordwerk/scroll-sheet@0.5.0, MIT.

Twig-Integration

Alle Bausteine funktionieren als Include/Embed ohne Inhaltselement. CSS und Module laden automatisch genau einmal; bei eigenem Markup gibt es nw_sheet_assets(). Variablen, Blöcke, Browsergrenzen und das Beispiel „Produktbilder mit Lightbox“: Integrationsdokumentation.

Ausgelieferte Größe

Einzeln gzip-komprimierte Dateien (Bytes; Original-ESM, ohne nachträgliche Minifizierung), inklusive statischer Importe und Contao-Anbindung. Dynamische Plugins zählen nur bei Nutzung. Bilder, HTML und HTTP-Header sind nicht enthalten. Reproduzierbar im Monorepo mit python3 scripts/asset-sizes.py.

Teil gzip, Bytes
JavaScript mit Contao-Anbindung 4528
CSS mit Farb-Tokens 4717
Mausziehen zusätzlich 1482
History zusätzlich 1096
Nicht wegklickbar: CSS zusätzlich 592

Screenshots aus Playwright

Helle Darstellung

Dunkle Darstellung

Quellen und Grenzen

Original-Assets von @nordwerk/scroll-sheet 0.5.0, MIT. Ohne JS benötigen die Buttons Invoker Commands; ältere Browser erhalten den JS-Fallback. Ein nicht wegklickbarer Dialog muss einen expliziten Abschluss anbieten.

Die unveränderten npm-Dateien werden im Monorepo gepinnt und mit Prüfsummen abgeglichen. Kein Build bei Contao-Nutzern. Geprüft mit PHPUnit, PHPStan, ECS, Twig-CS, Contao-Lints sowie Playwright und Axe auf Contao 5.7/6.0.