* Use new async FilterableTreeView for global project selector
* Remove replaced angular component
* Fine tune sorting and expansion state of the new project selector
* Update primer to 0.86.1
* Add workspace information and filter results hierarchy information to project selector
* Include review feedback: Harmonize I18n keys, fix visible scope, use guarded local storage
* Add a turboFrame in the project select overlay to only load the projects when it is actually opened
* Restore BIM tab styles which were broken for a while already but the new project selector changes made it so bad that the test broke because the plus icon was overlapping the checkbox
* Clarify spec expectation
Introduces a shared BorderBox-backed list component and moves the
Backlogs-specific work package card list into the Backlogs module.
Wires Backlogs callers to the new component API, keeps specialized
card rendering behind an item factory hook, and replaces old OpPrimer
work-package card list coverage with focused component specs.
https://community.openproject.org/wp/74684
Teaches `WorkPackageCardBoxComponent` an optional
`with_show_more(truncate_middle:, text:)` slot. When set, the box
truncates `work_packages` to the first `truncate_middle` rows plus
a derived tail (20% of first page, min 1) and emits a
`Box-row scheme: :neutral` between them advertising the omitted
middle. The slot is also the toggle — leaving it unset means no
truncation, preserving sprint and bucket behaviour.
Default copy is sourced from the new
`work_package_card_box_component.show_more` locale key with
`one`/`other` plurals; consumers can override via `text:` (with a
`%{count}` placeholder). Adds a Lookbook preview for the slot.
https://community.openproject.org/wp/73968
This is intended to become a replacement for the angular-based
<opce-macro-wp-quickinfo> component.
However, the new component should be more generic, so that it can
also be used for other cases, such as rich links to wiki pages.
Clean-up sass code
Avoid that the type selector in the WP from is scrolled two far when being activated. Currently, it is scrolled twice (one time when activating it and once again when selecting an item). Thus the dropdown overlaps the actual input
Move logo to the left side
Make naming consistent for MainMenuToggleComponent and add a component test
Let menu toggle button scroll with the rest of the page
Move modules menu to the left and show it on mobile
Creates the following Primerized components:
* `AttributeHelpTextComponent` to render an icon that will invoke the
attribute help text dialog on click.
* `AttributeLabelComponent` to render an attribute label and help text
icon together with the correct spacing.
* `AttributeHelpTexts::ShowDialogComponent` to render the attribute help
text dialog itself.
Also creates accompanying Controller actions, routes and specs.
- admin setting forms can use as base component
`AdminSettingsFormComponent` and will benefit from the general
approved form container for admin setting pages
This commit introduces a new type of input field which can handle autocomplete with 'tokens', so that we can build
patterns like `Example pattern {{token}} value`.
Users who do not have commenting permissions: typically the `add_work_package_notes` and anonymous
users cannot add new reactions but they can view any existing reactions. Futher, the "Add reactions" button
is also hidden from them.
In view only state, the emoji reactions render as primer invisible buttons in disabled state.
> They can respond to user input and provide feedback, but it does not trigger any actions.
> See: https://primer.style/components/button#inactive
The view only reactions mimic primer inactive buttons but without the muted styling and cursor change