desktop_ui_kit 0.1.0 copy "desktop_ui_kit: ^0.1.0" to clipboard
desktop_ui_kit: ^0.1.0 copied to clipboard

A comprehensive, platform-adaptive desktop widget library for Flutter. Native OS conventions, keyboard-first navigation, full accessibility, and design tokens for Windows (Fluent), macOS (HIG), and Li [...]

desktop_ui_kit #

pub package License: MIT GitHub

A comprehensive, platform-adaptive desktop widget library for Flutter.

Native OS conventions. Keyboard-first. Fully accessible.

Targets Windows (Fluent Design), macOS (Human Interface Guidelines), and Linux (GNOME/GTK) from a single codebase.


Features #

  • 🎨 Platform-Adaptive Theming — Design tokens, light/dark/high-contrast, auto-detects platform fonts (Segoe UI, SF Pro, Cantarell)
  • 🧩 Desktop Widgets — Button, DataTable, TreeView, SplitPanel, MenuBar, Dialog, CommandPalette
  • ⌨️ Keyboard-First — Shortcuts, focus management, accessible by design
  • 🖥️ Desktop-Convenient — Status bar, toolbars, panel layouts, window management primitives
  • ♿ Accessible — Full Semantics tree on every widget, high-contrast mode support

Installation #

dependencies:
  desktop_ui_kit: ^0.1.0

Quick Start #

import 'package:flutter/material.dart';
import 'package:desktop_ui_kit/desktop_ui_kit.dart';

void main() {
  runApp(const DesktopApp(home: MyHomePage()));
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final theme = DesktopTheme.of(context);

    return Scaffold(
      body: Column(
        children: [
          DesktopMenuBar(groups: [
            DesktopMenuGroup('File', [
              DesktopMenuEntry(label: 'Open', onPressed: () {}),
              DesktopMenuEntry(label: 'Save', onPressed: () {}),
            ]),
          ]),
          Expanded(
            child: Center(
              child: DesktopButton(
                label: 'Hello Desktop',
                icon: Icons.desktop_windows,
                onPressed: () {},
              ),
            ),
          ),
        ],
      ),
    );
  }
}

Widgets #

Widget Description
DesktopButton Primary, secondary, ghost, danger variants with loading state
DesktopDataTable Sortable columns, selectable rows, resizable headers
DesktopTreeView Expandable tree with icons, selection, custom depth
DesktopSplitPanel Horizontal or vertical draggable splitter
DesktopMenuBar Native-style top menu bar with groups
DesktopDialog Modal dialog with title bar, content, and action bar
DesktopCommandPalette VS Code-style fuzzy-search command palette
DesktopApp Root widget setting up theme and platform defaults

Theming #

Design Tokens #

DesktopTokens.spaceMd   // 12
DesktopTokens.radiusLg  // 6
DesktopTokens.iconSm    // 16
DesktopTokens.elevation(2)

Color Schemes #

DesktopColorScheme.light
DesktopColorScheme.dark

Typography #

final typography = DesktopTextStyle.platformAdaptive(colorScheme: colorScheme);
typography.heading1  // 32px bold, platform font family
typography.body      // 14px regular
typography.code      // Monospace stack

Platform Support #

Platform Status
Windows
macOS
Linux
Android ❌ (mobile not in scope)
iOS ❌ (mobile not in scope)
Web ⚠️ (limited)

Contact #

Created by Ali Rajabalirajab.dev@gmail.com

License #

MIT

0
likes
0
points
378
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

A comprehensive, platform-adaptive desktop widget library for Flutter. Native OS conventions, keyboard-first navigation, full accessibility, and design tokens for Windows (Fluent), macOS (HIG), and Linux (GNOME/GTK).

Repository (GitHub)
View/report issues

Topics

#desktop #ui #widget #design-system #cross-platform

Funding

Consider supporting this project:

github.com

License

unknown (license)

Dependencies

flutter

More

Packages that depend on desktop_ui_kit