Skip to content

About

Foldkit UI building blocks: time-grid scheduler, grouped side navigation, ⌘K command palette

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

foldkit-extras

UI building blocks for Foldkit — the Elm Architecture on Effect — that @foldkit/ui does not ship. Each one is an ordinary Foldkit Submodel: a Schema Model, a Message union, a pure update, Subscriptions for what happens outside the component, and a view. The host owns the data and hears intents back as OutMessages.

Package What it is
foldkit-scheduler Time grid: resources × time, drag to create / move / resize with mouse and long-press touch, overlapping events in lanes, blocked ranges, a now-line, keyboard moves.
foldkit-sidenav Grouped side navigation: groups that expand in place, an icon rail with an overlay on narrower screens, a full mode for phone drawers, focus management and aria-current.
foldkit-command-palette ⌘K / Ctrl+K palette on @foldkit/ui Dialog: sectioned listbox with aria-activedescendant, arrow keys with wrap, loading / error / empty states; the host supplies the items.

All three are themed through CSS custom properties with neutral defaults, so a light and a dark theme are one set of variables each. They carry no domain types.

Requirements

  • effect 4.x (tested with 4.0.0-rc.112)
  • foldkit 0.158.x (and @foldkit/ui 0.158.x for the palette)
pnpm add foldkit-scheduler foldkit-sidenav foldkit-command-palette

Each package's README has a complete, compiled host example.

Status

0.1.x: built for and used in the author's own app, not yet widely used; the API may still move with Foldkit and the Effect 4 release candidates. Known limitations are listed in each README.

Development

pnpm install
pnpm check   # typecheck, tests (Story/Scene tests with foldkit/test), build

Support

If one of these packages saved you time, a ⭐ on GitHub helps others find it. Issues and pull requests are welcome.

License

MIT © Oleksandr Antonenko

About

Foldkit UI building blocks: time-grid scheduler, grouped side navigation, ⌘K command palette

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages