From fa2a48da2d64ffaeaace663da83773b61012ce4f Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 1 Apr 2026 22:30:43 -0400 Subject: [PATCH] feat(actions-bar): add color property to ActionsBarButton Add an optional `color` property to `ActionsBarButtonProps` and `ActionsBarButton`, defaulting to 'primary'. This allows plugins to specify button color variants (e.g., 'default' for a neutral button). Companion change to bigbluebutton/bigbluebutton#24719, which reads `plugin.color` in the HTML5 client's actions bar rendering. Co-Authored-By: Claude Opus 4.6 --- src/extensible-areas/actions-bar-item/component.ts | 5 +++++ src/extensible-areas/actions-bar-item/types.ts | 1 + 2 files changed, 6 insertions(+) diff --git a/src/extensible-areas/actions-bar-item/component.ts b/src/extensible-areas/actions-bar-item/component.ts index 41184646..1f5c3b45 100644 --- a/src/extensible-areas/actions-bar-item/component.ts +++ b/src/extensible-areas/actions-bar-item/component.ts @@ -46,6 +46,8 @@ export class ActionsBarButton extends ActionsBarItem { onClick: () => void; + color: string; + /** * Returns object to be used in the setter for action bar. In this case, * a button. @@ -56,11 +58,13 @@ export class ActionsBarButton extends ActionsBarItem { * @param dataTest - string attribute to be used for testing * @param onClick - function to be called when clicking the button * @param position - position that this button will be displayed, see {@link ActionsBarPosition} + * @param color - button color variant, defaults to 'primary' * * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5) */ constructor({ id, icon, tooltip = '', dataTest = '', onClick = () => {}, position = ActionsBarPosition.RIGHT, + color = 'primary', }: ActionsBarButtonProps) { super({ id, type: ActionsBarItemType.BUTTON, position, dataTest, @@ -69,6 +73,7 @@ export class ActionsBarButton extends ActionsBarItem { this.tooltip = tooltip; this.dataTest = dataTest; this.onClick = onClick; + this.color = color; } } diff --git a/src/extensible-areas/actions-bar-item/types.ts b/src/extensible-areas/actions-bar-item/types.ts index 6c8746f9..e20eb602 100644 --- a/src/extensible-areas/actions-bar-item/types.ts +++ b/src/extensible-areas/actions-bar-item/types.ts @@ -36,6 +36,7 @@ export interface ActionsBarButtonProps { position: ActionsBarPosition; dataTest?: string; onClick: () => void; + color?: string; } export interface ActionsBarSeparatorProps {