Part of the Droost ecosystem · 5 projects
Build Manage Display from Single Directory Components, through
Droost's site-building tools.
Drupal Canvas builds freeform pages from Single Directory Components (SDCs).
Droost UI Kit does the same for Manage Display: an entity's fields are
bound to a component's props and slots, deterministically, with
UI Patterns 2 as the storage
underneath.
entity fields → source mapping → SDC props and slots → render
The tools
Tool Kind What it answersdroost_sdc_components (droost_build)
read
What components exist? What props, slots and schemas does one have?
droost_display_get (droost_build)
read
What does a display look like now, as a field-to-component mapping?
droost_display_check (droost_build)
read
Does every binding a stored display names (component, source, context) exist?
droost_display_sources
read
What can feed a prop or slot, including a field's own properties and formatters?
droost_display_compose
write (gated)
Bind fields to components; validate everything; save.
An agent picks a component, picks its sources, composes with
dry_run: true, then composes for real and views the entity:
drush droost:tool droost_display_sources '{"prop_type":"slot","bundle":"event","field":"body"}'
drush droost:tool droost_display_compose help
Safe by construction
droost_display_composeis a droost write tool: it needs the
allow_config_writegate, which a person arms (drush droost:gate), and
runs from the command line only.- Validation is all or nothing: one error anywhere and nothing is written.
- A binding written any other way, through
droost_config_set, is held to
the same rule. - The configuration it writes passes Drupal's strict schema check.
- Composing twice gives the same result, so verify with
droost_display_getinstead of retrying.
Install
For development sites: like droost's build tools, this module belongs in
require-dev.
composer require --dev 'drupal/tool:^1.0@beta' 'drupal/droost:^2.0' \
'drupal/droost_build:^2.0' 'drupal/droost_ui_kit:^2.0'
drush en droost_ui_kit
Tool API is still in beta, so the site requires it at that stability.
drupal.org resolves this module's dependency on droost_build as the
package drupal/droost_build, so require it at droost's version.
Canvas and UI Patterns, together
Canvas and UI Patterns both take over Drupal's SDC plugin manager
(#3561618). From UI
Patterns 2.0.22, which this module requires, the two coexist with no patch
and no bridge module (measured on Canvas 1.12.0).
Formerly Droost UI Patterns
This module began as a droost submodule (droost_display, then
droost_ui_patterns) and became its own project as
Droost UI Patterns. It
was renamed Droost UI Kit because the old name never reached
packages.drupal.org. Droost UI Patterns is retired. The tool ids,
configuration and gate are unchanged.
Requirements
- Drupal 11.3 or later, PHP 8.3 or later.
- Droost 2.0.0 or later, with its
droost_buildsubmodule (enabled with this module). - UI Patterns 2.0.22 or later,
withui_patterns_field_formatters.
Part of Droost Framework
Droost Framework is the
map of the whole ecosystem: the droost command, its repositories and the
documentation at droost.org. The Drupal projects:
Ask your assistant about Droost UI Kit
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
- Droost
- Droost droost_build
- UI Patterns (SDC in Drupal UI)
- UI Patterns (SDC in Drupal UI) ui_patterns_field_formatters
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
More in the Droost ecosystem
Most installed first