Skip to content

Repository files navigation

@fest-lib/fl-ui
Chromium-first shell UI: windows, taskbar, App Menu, flyouts, toasts, Speed Dial.

npm MIT stars

Styles default to Veela (optional peer). Native control chrome stays on .btn unless you opt into host-wide rules. Speed Dial tiles: square / circle / squircle / wavy / shapeless (icon-as-shape + silhouette).

core · dom · object · lure · uniform · veela?
 └── fest/fl-ui       ← you are here
      └── environment-shell · CWSP-shell

Install

npm install @fest-lib/core @fest-lib/dom @fest-lib/object @fest-lib/uniform @fest-lib/lure @fest-lib/fl-ui
npm install @fest-lib/veela   # optional, recommended

Call configureFlUI before importing chrome if you need a non-default variant:

import { configureFlUI, loadFlUIGlobalNativeControlStyles, getFlUIConfig } from "@fest-lib/fl-ui";

configureFlUI({
    styleVariant: "veela-advanced",       // or "veela-basic"
    includeGlobalNativeControlStyles: false,
    loadStyles: true
});

// later, legacy document-wide inputs:
await loadFlUIGlobalNativeControlStyles();

The package auto-loads its SCSS via @fest-lib/dom loadInlineStyle unless loadStyles: false.

SCSS subpaths

@use "@fest-lib/fl-ui/styles";
@use "@fest-lib/fl-ui/styles/core";
@use "@fest-lib/fl-ui/styles/lib";

Surfaces (this package)

Area Path
Windows / modal src/ui/containers/*
Taskbar, statusbar, App Menu, calendar, QS src/ui/navigation/*
Speed Dial, icon picker, tile shapes src/ui/speed-dial/*
Toasts src/misc/Toast.ts

App Menu (CWSP-shell): app info, Android settings, edit launch, uninstall. Speed Dial keeps icon and label layers separate over persisted cells.

Overlays must use LUR.E TriggerCore / bindOutsideDismiss / resolvePlacement and Veela tokens — do not invent a second palette.

Dev playground

cd modules/projects/fl.ui
npm run dev              # HTTPS, port 8434 (`?suite=explorer`, OPFS)
npm run dev:http         # HTTP only
npm run dev:8434
npm run build
npm run publish

Browser checks live under test/ (workspace-snapshot, modal-lifecycle, chrome-flyout-lifecycle, form-binding-lifecycle, playground suites). License: MIT.

About

💐 FL.ui 💐 - 🚧 full rehaul of our UI systems... full restart of UI project. 🚧

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages