@get-bb/plugin-sdk 0.5.31 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,9 +13,13 @@ the built-in `bb-plugin-authoring` skill synchronized with those declarations.
13
13
 
14
14
  Composer UI extensions register through `app.composer.customize(...)`. A
15
15
  `ComposerCustomization` can contribute React action and banner components,
16
- host-rendered `ComposerPlusMenuItem` rows, and `ComposerRichTextSpec` rules.
17
- Mounted components use `useComposer()` for writes, effects, and input locking,
18
- and `useComposerView()` for the reactive scope, layout, draft, and run state.
16
+ host-rendered `ComposerPlusMenuItem` and `ComposerSendMenuItem` rows, and
17
+ `ComposerRichTextSpec` rules. Mounted components use `useComposer()`: one
18
+ stable handle for the composer's text, mentions, picker selection, scope,
19
+ layout, run and submit state, writes, effects, and input locking. Selection is
20
+ reactive and is `null` for composers without pickers. Panels and pages that
21
+ write into a composer the user picks use `useComposers()`, one handle per
22
+ composer on screen.
19
23
  Any mounted plugin component can use
20
24
  `useBbNavigate().openThreadPanel(...)` to request one of the
21
25
  same plugin's registered thread-panel actions; it returns false when the
@@ -70,7 +74,7 @@ app-wide floating React UI. BB mounts the component once per app window through
70
74
  the normal plugin slot boundary, so SDK hooks and plugin CSS work and React
71
75
  context survives portals. This app-level boundary includes the sidebar thread
72
76
  data and action hooks. Hooks whose contract requires a particular surface,
73
- including `useComposer` and `useComposerView`, remain limited to that surface.
77
+ including `useComposer`, remain limited to that surface.
74
78
  The plugin owns the overlay's chrome, positioning, visibility, focus, and
75
79
  responsive behavior; a crashing overlay is hidden without affecting siblings.
76
80
  Use a content script for app-wide DOM behavior that does not need React context.