mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-21 08:42:39 +00:00
* feat(plugins): unify source installation and simplify plugin settings * feat(plugins): install npm sources and review CLI updates Treat install selectors as one-time choices. Keep source identity separate from the installed revision, and resolve ordinary updates from the current upstream default. npm only acquires directories; plugin loading remains independent of npm. * fix(plugins): preserve CLI diagnostics and exercise reviewed updates Move new source capability coverage to real browser journeys. Update the requirements regression to exercise preview and apply, and preserve the existing duplicate-selector diagnostic across positional option scopes. * test(plugins): remove unused pending helper * test(plugins): pack registry fixtures with the Windows command runner * test(plugins): assert failed client contribution setup * docs(plugins): consolidate guides and document npm publishing * docs(plugins): introduce publishing choices before npm instructions * test(plugins): own browser journey cleanup in a fixture * feat(plugins): prepare scaffolded packages for publishing
42 lines
4.0 KiB
Markdown
42 lines
4.0 KiB
Markdown
# Header buttons and composer pills
|
|
|
|
Install this directory as a plugin, open an agent, and choose **Button examples: action** in the
|
|
Command Center. One header button and one composer pill appear. Choose another mode to update
|
|
those same registrations. Switching agents moves the example to that agent's workspace and composer.
|
|
|
|
| Command Center command | Header | Composer | Try |
|
|
| ------------------------------------- | ------------------------------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
| **Button examples: action** | Refresh icon only | Refresh icon and label | Refresh reads the workspace from the daemon and updates the label and tooltip. Paseo owns pending and error feedback. |
|
|
| **Button examples: menu** | Wrench, Tools, chevron | Wrench and Tools | Refresh, a separator, custom details, a Display submenu, and a disabled item. |
|
|
| **Button examples: popover** | Reactive status dot, Details, chevron | Reactive status dot and Details | Workspace data updates through `useWorkspace`; Done closes the surface. |
|
|
| **Button examples: hide / show** | Hide or restore the button | Hide or restore the pill | Visibility changes through `registration.update({ visible })`. |
|
|
| **Button examples: disable / enable** | Disable or enable the button | Disable or enable the pill | Disabled state changes through `registration.update({ disabled })`. |
|
|
|
|
On compact layouts the header button is borderless and icon-only. Menus and custom content open
|
|
bottom sheets. Composer pills keep their icon and label, without a chevron, on every layout.
|
|
|
|
The example contributes one header button at a time. Additional actions live under the named
|
|
**Tools** button; the example does not add a three-dot control or trigger plugin overflow.
|
|
|
|
| Action | Menu | Custom content | Compact sheet |
|
|
| ------------------------------------------------------------- | ----------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------- |
|
|
|  |  |  |  |
|
|
|
|
The client entry owns the active example. [client/examples.tsx](client/examples.tsx) contains the
|
|
descriptors, updates, and React content. Return `.remove()` cleanup when the example moves or stops.
|
|
See the [button reference](../../public-docs/plugins/reference.md#button-descriptor) and
|
|
[composer migration](../../public-docs/plugins/migration.md#composer-pills).
|
|
|
|
From the repository root, `npm run typecheck --workspace=@getpaseo/plugin` checks this example
|
|
against the SDK. Existing plugin projects must update `@getpaseo/plugin` before running their own
|
|
`npm run typecheck` to detect the old `Component`/`onPress` pill shape and callable cleanup handle.
|
|
|
|
The browser regression installs this exact directory in an isolated daemon and exercises both
|
|
layouts, updates, and cleanup:
|
|
|
|
```sh
|
|
npm run test:e2e --workspace=@getpaseo/app -- e2e/browser/plugin-button-example.spec.ts
|
|
```
|
|
|
|
The captures use Chromium at desktop and phone widths; native iOS and Android were not exercised.
|