Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
Windows Tipps & SecurityUbuntu 26.10 adds a Windows-style window snapping panel(25.09.2026 um 00:01 Uhr)
•
AI & KI NachrichtenJulian Goldie SEO: OpenAI Just Dropped Two New GPT-6 Models(25.09.2026 um 01:00 Uhr)
•
KI & AI VideosPatrick Collison on Claude Code at Stripe(25.09.2026 um 00:57 Uhr)
••
AI & KI Nachrichtendeleting-the-trace(24.09.2026 um 23:28 Uhr)
•
IT Security ToolsAjar(25.09.2026 um 00:29 Uhr)
•••
AI & KI NachrichtenGitHub Release: openai/codex vrust-v0.158.0-alpha.11 (25.09.2026)(25.09.2026 um 01:32 Uhr)
••
Windows Tipps & SecurityUbuntu 26.10 adds a Windows-style window snapping panel(25.09.2026 um 00:01 Uhr)
•
AI & KI NachrichtenJulian Goldie SEO: OpenAI Just Dropped Two New GPT-6 Models(25.09.2026 um 01:00 Uhr)
•
KI & AI VideosPatrick Collison on Claude Code at Stripe(25.09.2026 um 00:57 Uhr)
••
AI & KI Nachrichtendeleting-the-trace(24.09.2026 um 23:28 Uhr)
•
IT Security ToolsAjar(25.09.2026 um 00:29 Uhr)
•••
AI & KI NachrichtenGitHub Release: openai/codex vrust-v0.158.0-alpha.11 (25.09.2026)(25.09.2026 um 01:32 Uhr)
••
Intelligence View
⚡ tsecurity.de Intelligence

Mantine List View Table - From Table to Finder

Row selection, keyboard navigation, context menus, column visibility, dual resize modes, and 6 exported hooks — one release, zero compromises. Introduction Picture the macOS Finder: you click a file, Shift+click to select a r…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

Row selection, keyboard navigation, context menus, column visibility, dual resize modes, and 6 exported hooks — one release, zero compromises.







Introduction



Picture the macOS Finder: you click a file, Shift+click to select a range, right-click for a context menu, double-click a column divider to auto-fit, and hide columns you don't need. Now picture doing all of that in a React table component — with full Mantine integration and zero external dependencies. That's what @gfazioli/mantine-list-view-table 2.0.0 delivers. This isn't an incremental update; it's a rewrite that transforms a sortable table into a complete Finder-style list view, with every piece of logic extracted into reusable, publicly exported hooks.






What's New






✨ Row Selection



Select rows exactly like macOS Finder. Single click selects one row, Cmd/Ctrl+Click toggles, Shift+Click selects a range. Both single and multiple modes are supported, with controlled and uncontrolled state.




<ListViewTable
columns={columns}
data={data}
rowKey="id"
selectionMode="multiple"
onSelectionChange={(keys, records) => setSelected(keys)}
selectedRowColor="blue"
/>






Selected rows get a visible highlight that desaturates when the component loses focus — matching Finder's behavior pixel for pixel.






⌨️ Keyboard Navigation



When selectionMode is set, keyboard navigation activates automatically:
































Key Action
Arrow Up/Down Move focus between rows
Enter Activate row (onRowActivate)
Space Toggle selection
Home / End Jump to first / last row
Cmd/Ctrl+A Select all (multiple mode)





<ListViewTable
selectionMode="multiple"
enableKeyboardNavigation
onRowActivate={(record) => openFile(record)}
/>









🖱️ Context Menu



Right-click any row to show a context menu powered by Mantine's Menu component. The clicked row is automatically selected before the menu appears. You get Mantine's full accessibility, keyboard support, and dark mode out of the box.




<ListViewTable
selectionMode="single"
renderContextMenu={({ record }) => (
<>
<Menu.Item leftSection={<IconCopy size={14} />}>Copy</Menu.Item>
<Menu.Item leftSection={<IconDownload size={14} />}>Download</Menu.Item>
<Menu.Divider />
<Menu.Item color="red" leftSection={<IconTrash size={14} />}>Delete</Menu.Item>
</>
)}
/>









👁️ Column Visibility



Hide and show columns programmatically or let users toggle them by right-clicking the table header. Supports both controlled and uncontrolled modes.




<ListViewTable
hiddenColumns={['size', 'modified']}
onHiddenColumnsChange={setHiddenColumns}
enableColumnVisibilityToggle
/>









↔️ Dual Resize Modes



The new resizeMode prop gives you two column resize behaviors:





  • standard (default) — width is traded between the dragged column and its right neighbor. Total table width stays fixed. Great for fixed-width layouts.


  • finder — only the dragged column changes width. The table grows freely, just like Finder. Pair with Table.ScrollContainer for horizontal scrolling.




<ListViewTable enableColumnResizing resizeMode="finder" />









🎯 Double-Click Auto-Fit



Double-click any resize handle to auto-fit the column to its content — measured accurately using off-screen DOM clones. In standard mode, the adjacent column compensates to keep the total width constant.






🪝 6 Exported Hooks



Every piece of internal logic is now a standalone, reusable hook:




































Hook Purpose
useSorting Sort state with controlled/uncontrolled modes
useColumnReorder Drag-and-drop column reordering
useColumnResize Column resize with standard/finder modes
useRowSelection Row selection (single, multiple, range)
useKeyboardNavigation Arrow/Enter/Space keyboard navigation
useColumnVisibility Column show/hide management


Import them directly for advanced compositions:




import { useRowSelection, useKeyboardNavigation } from '@gfazioli/mantine-list-view-table';









📋 New Props Summary


























































































































Prop Type Default Description
selectionMode `'single' \ 'multiple'` —
selectedRows React.Key[] — Controlled selected row keys
defaultSelectedRows React.Key[] — Default selected keys (uncontrolled)
onSelectionChange (keys, records) => void — Selection change callback
selectedRowColor MantineColor — Selected row background color
enableKeyboardNavigation boolean
true when selectionMode is set
Enable keyboard nav
onRowActivate (record, index) => void — Enter key callback
renderContextMenu (info) => ReactNode — Context menu content (use Menu.Item)
onRowContextMenu (record, index, event) => void — Right-click callback
hiddenColumns string[] — Controlled hidden column keys
defaultHiddenColumns string[] — Default hidden columns (uncontrolled)
onHiddenColumnsChange (keys) => void — Hidden columns change callback
enableColumnVisibilityToggle boolean false Right-click header to toggle columns
resizeMode `'standard' \ 'finder'` 'standard'
tableProps Partial<TableProps> — Props passed to inner <Table>
stickyHeader boolean false Sticky table header
stickyHeaderOffset `number \ string` 0
tabularNums boolean false Tabular number alignment





🎨 New Styles API



New selectors: selectedRow, focusedRow



New CSS variables:




















Variable Description
--list-view-selected-row-color Background color of selected rows
--list-view-sticky-blur Backdrop blur for sticky column overlay





💥 Breaking Changes




[!CAUTION]

This release contains breaking changes. Review the migration guide below before upgrading.







1. Props interface no longer extends TableProps



Table-level props (variant, layout, etc.) must now be passed through tableProps:




// Before
<ListViewTable variant="vertical" />

// After
<ListViewTable tableProps={{ variant: 'vertical' }} />









2. enableColumnReordering and enableColumnResizing default to false



Previously both defaulted to true. Now you must opt in:




<ListViewTable enableColumnReordering enableColumnResizing />









3. Component ref type changed






// Before
const ref = useRef<HTMLTableElement>(null);

// After
const ref = useRef<HTMLDivElement>(null);









4. Context menu requires Menu.Item elements



The renderContextMenu prop must now return Mantine Menu.Item / Menu.Divider components instead of arbitrary JSX:




// Before
renderContextMenu={() => (
<Stack gap={0}>
<UnstyledButton>Copy</UnstyledButton>
</Stack>
)}

// After
renderContextMenu={() => (
<>
<Menu.Item leftSection={<IconCopy size={14} />}>Copy</Menu.Item>
</>
)}









5. visibleMediaQuery removed from column config



Use the new hiddenColumns prop instead for programmatic column visibility.






6. contextMenu Styles API selector removed



The context menu is now powered by Mantine's Menu, which has its own styling system.






🐛 Bug Fixes





  • Double-click no longer triggers drag resize — event.detail >= 2 guard prevents mousedown from starting a drag during double-click


  • Auto-fit preserves table width — adjacent column compensates the exact delta in standard mode


  • Controlled sort respects external data order — no internal re-sorting when sortStatus + onSort are both provided


  • Keyboard navigation bounds check — Enter/Space no longer fire with invalid indices after data filtering


  • Range selection clamped — Shift+click clamps to [0, data.length - 1] when data changes between clicks






🔧 Improvements





  • Resize handle UX overhaul — 14px hit area (20px touch), animated indicator line with spring curve


  • Finder-style header focus — inset bottom border instead of background highlight


  • Accessible focus indicator — :focus-visible outline on root element for keyboard users


  • Sticky columns without !important — cleaner CSS specificity


  • Vertical variant — now supports dot-notation keys (getNestedValue) and renderCell






Migration Guide






Step 1: Install the update






yarn add @gfazioli/mantine-list-view-table@^2.0.0









Step 2: Wrap Table props in tableProps



If you passed Mantine Table props directly, move them:




// Before
<ListViewTable variant="vertical" layout="fixed" />

// After
<ListViewTable tableProps={{ variant: 'vertical', layout: 'fixed' }} />









Step 3: Opt in to reordering/resizing






<ListViewTable enableColumnReordering enableColumnResizing />









Step 4: Update ref type






const ref = useRef<HTMLDivElement>(null); // was HTMLTableElement









Step 5: Update context menu



Replace custom JSX with Menu.Item from @mantine/core:




import { Menu } from '@mantine/core';

renderContextMenu={({ record }) => (
<>
<Menu.Item leftSection={<IconCopy size={14} />}>Copy</Menu.Item>
<Menu.Divider />
<Menu.Item color="red" leftSection={<IconTrash size={14} />}>Delete</Menu.Item>
</>
)}









Step 6: Replace visibleMediaQuery






// Before (on column)
{ key: 'size', visibleMediaQuery: '(min-width: 768px)' }

// After (on component)
<ListViewTable hiddenColumns={isMobile ? ['size'] : []} />









Compatibility





  • Mantine: 8.x


  • React: 18.x / 19.x


  • @tabler/icons-react: ^3.34.0


  • License: MIT





SOC Incident Playbook: Remote Code Execution (RCE) Defense
Syntax validiert (0 Fehler)
title: Detect Exploitation - Mantine List View Table - From Table to Finder
id: 32d04b0f-3450-409a-8169-330727127cc8
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-25
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
Syntax validiert (0 Fehler)
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-25"
        description = "YARA Signature for "
    strings:
        $str = "Mantine List View Table - From" ascii wide
    condition:
        any of them
}
Syntax validiert (0 Fehler)
index=security sourcetype IN ("cisco:asa", "pan:traffic", "zeek_conn", "suricata", "WinEventLog:Security")
("Mantine List View Table - From Table to ")
| stats count earliest(_time) as first_seen latest(_time) as last_seen by src_ip, dest_ip, dest_host, signature
| eval first_seen=strftime(first_seen, "%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen, "%Y-%m-%d %H:%M:%S")
| sort - count
Syntax validiert (0 Fehler)
message: "*Mantine List View Table - From Table to *"
Syntax validiert (0 Fehler)
CommonSecurityLog
| where Message has "Mantine List View Table - From Table to "
| summarize EventCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SourceIP, DestinationIP, DestinationPort, Activity
| extend DetectionRule = "iShareStuff-CTI-Compiled"
| sort by EventCount desc
🎯
MITRE ATT&CK Matrix Navigator 14 Taktiken
Reconnaissance
-
Resource Development
-
Initial Access
Execution
Persistence
-
Privilege Escalation
Defense Evasion
Credential Access
-
Discovery
-
Lateral Movement
-
Collection
-
Command and Control
Exfiltration
-
Impact
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich Mantine List View Table - From Table to .... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

⚡ Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Mantine List View Table - From Table to Finder

Thematisch verwandte Begriffe: Mantine, List, View, Table · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY Kritische Sicherheitsmeldung
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel • Rechts: nächster Artikel • unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...
↗ Original-Quelle