Commit Graph
21 Commits
Author SHA1 Message Date
Joseph Anglada 49d865dbdd Add caller-styled dialog section frames
Group related dialog and inspector settings in reusable frames with optional accessible headings.

Makes the reusable part of [WordCraft #4038](https://github.com/storytold/wordcraft/pull/4038) available to other Craft apps. Includes API documentation, integration guidance and regression coverage. Consumer adoption remains separate; applications retain their themes, localization and command adapters.

Validation on Windows: workspace formatting, strict Clippy and tests; craft-ui Clippy/tests with all features; craft-ui WASM check with all features. Upstream CI results are tracked on this PR.

Includes the shared test-portability prerequisite [#267](https://github.com/storytold/craft-libs/pull/267); the feature itself is independent of the other UI proposals.

[Integration guide](https://github.com/fluorine/craft-libs/blob/fad5c05170d43f9bdf86c6063131e28669fcb176/crates/ui/README.md).

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
<!-- coderabbit-ai-generated:v1 -->

## Summary by CodeRabbit

* **New Features**
  * Added customizable sections for grouping content vertically, with optional headings and configurable spacing.
  * Sections can fill the available width or use a caller-defined width, and return the result of their content callback.
* **Documentation**
  * Added usage guidance and an example for styling sections in dialogs and inspector panels.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-11-11 07:31:25 +01:00
ruchirguitar bb8320f5fa ui: resize iconic flyouts from their free edges (#627)
* ui: resize iconic flyouts from their free edges (#5713)

* ui: persist independent flyout widths per group (#5713)

* ui: keep constrained flyouts resizable (#5713)

* ui: document flyout helpers for storytold/vectorcraft#5713

* ui: honor host header minimums for storytold/vectorcraft#5713

* ui: keep constrained frame axes resizable for storytold/vectorcraft#5713
2026-11-10 12:23:09 +01:00
KotovGGG 71e5ecf285 test(ui): verify floating frame compatibility and resize constraints 2026-11-01 12:39:28 +03:00
KotovGGG 4f263edcdd fix(ui): omit stock body bands for host-owned dock groups 2026-11-01 01:31:53 +03:00
KotovGGG 235fffbdbe fix(ui): preserve host docking geometry and split ownership 2026-11-01 00:02:55 +03:00
KotovGGG dcd94c27e7 feat(ui): add host-owned docking surfaces and fitted resize chrome 2026-10-31 18:57:49 +03:00
aiongg 3c574ddc61 craft-ui: interface fonts, text direction, IME composer, localized widgets and screen testing
craft-fonts-build gains Embed::serve (served faces for web builds) and the coverage module that craft-ui's fonts use.
2026-10-25 19:08:59 +00:00
skylartaylor 650b1c0b05 M037: reconcile current libraries and preserve native IME reset acknowledgements 2026-10-25 01:58:55 +02:00
aiongg c98ee15a7f docking: tabs shrink before they overflow (#295)
* docking: tabs shrink before they overflow

Tabs in a narrow strip shrink, widest first, down to DockStyle::min_tab_width (54 pt at the
default font), cutting their labels with "…" and naming them in a tooltip. Only tabs that do
not fit at that width go to the overflow menu.

* docking: the drag bar narrows once the strip is narrower than the header plus the bar
2026-10-24 17:13:12 -04:00
skylartaylor c488caa9fb egui037: add shared screenshot and text helpers 2026-10-24 05:25:10 +02:00
aionggandDavis Brief 3832c47ef6 craft-ui: update egui to 0.37 (#199)
* craft-ui: match guard for a stack's hit test (clippy 1.95 collapsible_match)

* Update egui to 0.37

egui 0.37 replaces WidgetType with accesskit's Role and renames a few
methods. Mapped per egui's own table (WidgetType docs): Checkbox is
CheckBox, SelectableLabel is Button, Other is Unknown; UiBuilder::id and
Ui::id are scope_id; Id::new is Id::unique (the same hash). No behaviour
change.

egui's test harness now panics on a glyph no installed font has, and its
bundled fonts dropped U+22EE, so the docking fixture's group header draws
an ellipsis instead of a vertical ellipsis.

* craft-ui: README says egui 0.37

---------

Co-authored-by: Davis Brief <davisbrief@gmail.com>
2026-10-23 20:02:10 -04:00
aiongg e1b7733a1d docking: tabs keep their names and the rest go to the overflow menu 2026-10-19 14:02:05 +00:00
skylar taylor-barrick b700ae753f Add shared printer settings and asynchronous job feedback 2026-10-12 02:32:49 +02:00
skylar taylor-barrick f23c9f9c4a UI.8: preserve application docking chrome and group gestures 2026-10-10 10:47:52 -06:00
skylar taylor-barrick d9077e2c09 UI.7: add shared panel docking transactions and workspace renderer 2026-10-09 22:29:35 -06:00
skylar taylor-barrick 67ce2e9a82 UI.6: add precise visual regressions and toolbar overflow fitting 2026-10-09 19:15:10 -06:00
skylar taylor-barrick 5de0356334 UI.5: document suite adoption and acceptance limits 2026-10-09 15:16:54 -06:00
skylar taylor-barrick a4ea89de41 UI.5: preserve single-shape button frame rendering 2026-10-09 14:28:46 -06:00
skylar taylor-barrick 9198fae30e UI.4: share widget-state theme application 2026-10-09 13:14:03 -06:00
skylar taylor-barrick dc26460f61 UI.3: share tab strips and bounded pane controls 2026-10-09 13:04:21 -06:00
skylar taylor-barrick 9843bec261 UI.2: share styled icon buttons in craft-ui 2026-10-09 12:00:06 -06:00