@brandsync/wc 0.0.3 → 0.0.5
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/custom-elements.json +417 -0
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-f9e93a35.entry.js → p-0ded3be8.entry.js} +1 -1
- package/dist/brandsync-wc/p-1dc6d7f5.entry.js +1 -0
- package/dist/brandsync-wc/{p-2b693545.entry.js → p-27288299.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c2cc0d6f.entry.js → p-2742ecef.entry.js} +1 -1
- package/dist/brandsync-wc/p-300eea85.entry.js +1 -0
- package/dist/brandsync-wc/{p-69faa19c.entry.js → p-6c1fa4da.entry.js} +1 -1
- package/dist/brandsync-wc/{p-da11e421.entry.js → p-880ea3f8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f0ca3562.entry.js → p-9e5d2211.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3134f5f5.entry.js → p-ab5cc7af.entry.js} +1 -1
- package/dist/brandsync-wc/p-b24c455f.entry.js +1 -0
- package/dist/brandsync-wc/p-cdbad27a.entry.js +1 -0
- package/dist/brandsync-wc/{p-5739acaf.entry.js → p-cfc3421b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-BOj_41o9.js → p-nLORuTUY.js} +2 -2
- package/dist/cjs/brandsync-wc.cjs.js +2 -2
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-card.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +144 -0
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +92 -0
- package/dist/cjs/bs-composer.cjs.entry.js +1 -1
- package/dist/cjs/bs-data-table.cjs.entry.js +1 -1
- package/dist/cjs/bs-input.cjs.entry.js +3 -3
- package/dist/cjs/bs-menu-item.cjs.entry.js +29 -0
- package/dist/cjs/bs-menu.cjs.entry.js +17 -0
- package/dist/cjs/bs-modal.cjs.entry.js +1 -1
- package/dist/cjs/{index-nyOcuVbF.js → index-CVh-sqA_.js} +3 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +5 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.cmp.test.js +94 -0
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.css +81 -0
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +194 -0
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.stories.js +53 -0
- package/dist/collection/components/bs-chatbot-header/genie-logo.js +86 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.cmp.test.js +174 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +120 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +280 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.stories.js +129 -0
- package/dist/collection/components/bs-input/bs-input.js +2 -2
- package/dist/collection/components/bs-menu/bs-menu.cmp.test.js +18 -0
- package/dist/collection/components/bs-menu/bs-menu.css +20 -0
- package/dist/collection/components/bs-menu/bs-menu.js +39 -0
- package/dist/collection/components/bs-menu/bs-menu.stories.js +15 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.cmp.test.js +33 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.css +68 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +79 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.stories.js +37 -0
- package/dist/components/bs-badge.js +1 -1
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-button.js +1 -1
- package/dist/components/bs-card.js +1 -1
- package/dist/components/bs-chatbot-header.d.ts +11 -0
- package/dist/components/bs-chatbot-header.js +1 -0
- package/dist/components/bs-chatbot-response-action.d.ts +11 -0
- package/dist/components/bs-chatbot-response-action.js +1 -0
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-menu-item.d.ts +11 -0
- package/dist/components/bs-menu-item.js +1 -0
- package/dist/components/bs-menu.d.ts +11 -0
- package/dist/components/bs-menu.js +1 -0
- package/dist/components/bs-modal.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-Cu4gTknX.js → p-BpvhHQSw.js} +1 -1
- package/dist/esm/brandsync-wc.js +3 -3
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-button-skeleton.entry.js +1 -1
- package/dist/esm/bs-button.entry.js +1 -1
- package/dist/esm/bs-card.entry.js +1 -1
- package/dist/esm/bs-chatbot-header.entry.js +142 -0
- package/dist/esm/bs-chatbot-response-action.entry.js +90 -0
- package/dist/esm/bs-composer.entry.js +1 -1
- package/dist/esm/bs-data-table.entry.js +1 -1
- package/dist/esm/bs-input.entry.js +3 -3
- package/dist/esm/bs-menu-item.entry.js +27 -0
- package/dist/esm/bs-menu.entry.js +15 -0
- package/dist/esm/bs-modal.entry.js +1 -1
- package/dist/esm/{index-BOj_41o9.js → index-nLORuTUY.js} +3 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/bs-chatbot-header/bs-chatbot-header.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-chatbot-header/bs-chatbot-header.d.ts +59 -0
- package/dist/types/components/bs-chatbot-header/bs-chatbot-header.stories.d.ts +9 -0
- package/dist/types/components/bs-chatbot-header/genie-logo.d.ts +1 -0
- package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.d.ts +81 -0
- package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.stories.d.ts +11 -0
- package/dist/types/components/bs-menu/bs-menu.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-menu/bs-menu.d.ts +24 -0
- package/dist/types/components/bs-menu/bs-menu.stories.d.ts +5 -0
- package/dist/types/components/bs-menu-item/bs-menu-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-menu-item/bs-menu-item.d.ts +38 -0
- package/dist/types/components/bs-menu-item/bs-menu-item.stories.d.ts +7 -0
- package/dist/types/components.d.ts +507 -0
- package/package.json +2 -1
- package/readme.md +38 -0
- package/dist/brandsync-wc/brandsync-wc.esm.js.map +0 -1
- package/dist/brandsync-wc/index-Cqxk7LcP.js.map +0 -1
- package/dist/brandsync-wc/index.esm.js.map +0 -1
|
@@ -123,6 +123,73 @@ export namespace Components {
|
|
|
123
123
|
*/
|
|
124
124
|
"surface": BsCardSurface;
|
|
125
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* The header bar that sits above `bs-composer` in a Genie AI chat panel: the Genie brand mark on
|
|
128
|
+
* the left and four fixed actions (new chat, history, expand, close) on the right.
|
|
129
|
+
* ## When to use
|
|
130
|
+
* - The top bar of a Genie AI chat panel, directly above a `bs-composer`.
|
|
131
|
+
* ## When not to use
|
|
132
|
+
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
133
|
+
* Genie chat panel, not a general navigation bar.
|
|
134
|
+
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
135
|
+
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
136
|
+
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
137
|
+
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
138
|
+
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
139
|
+
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
140
|
+
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
141
|
+
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
142
|
+
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
143
|
+
* @prop --bs-chatbot-header-button-pressed - Icon button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
144
|
+
* @prop --bs-chatbot-header-icon - Icon color. Aliased to `--bs-icon-default`.
|
|
145
|
+
*/
|
|
146
|
+
interface BsChatbotHeader {
|
|
147
|
+
/**
|
|
148
|
+
* Whether the chat panel is currently expanded (e.g. to full viewport width/height). This component has no visibility into the surrounding layout, so it does not resize anything itself -- it only tracks and reflects the toggle state (via the `expanded` attribute, for CSS hooks, and `aria-pressed`/`aria-label` on the expand button) and emits `bsExpand` with the new value. The consuming app is responsible for actually resizing its own chat panel container in response to that event, since only the app knows what that container is.
|
|
149
|
+
* @default false
|
|
150
|
+
*/
|
|
151
|
+
"expanded": boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Accessible label for the header landmark, and alt text context for the logo image.
|
|
154
|
+
* @default 'Genie'
|
|
155
|
+
*/
|
|
156
|
+
"heading": string;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* The row of action buttons that appears below an AI response message in a Genie chat panel:
|
|
160
|
+
* like, dislike, copy, regenerate, and more-options icon buttons, plus an optional "N sources"
|
|
161
|
+
* button.
|
|
162
|
+
* ## When to use
|
|
163
|
+
* - Directly below an AI-generated response message in a Genie chat panel.
|
|
164
|
+
* ## When not to use
|
|
165
|
+
* - Below a user's own message -- these actions (regenerate, like/dislike a response, etc.) only
|
|
166
|
+
* make sense for AI-generated content.
|
|
167
|
+
* @prop --bs-chatbot-response-action-gap - Gap between all buttons in the row. Aliased to `--bs-spacing-100`.
|
|
168
|
+
* @prop --bs-chatbot-response-action-padding-top - Aliased to `--bs-spacing-150`.
|
|
169
|
+
* @prop --bs-chatbot-response-action-padding-bottom - Aliased to `--bs-spacing-50`.
|
|
170
|
+
* @prop --bs-chatbot-response-action-button-size - Width/height of each icon button. Aliased to `--bs-spacing-400`.
|
|
171
|
+
* @prop --bs-chatbot-response-action-button-radius - Corner radius of each button. Aliased to `--bs-border-radius-100`.
|
|
172
|
+
* @prop --bs-chatbot-response-action-button-hover - Button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
173
|
+
* @prop --bs-chatbot-response-action-button-pressed - Button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
174
|
+
* @prop --bs-chatbot-response-action-icon - Icon color. Aliased to `--bs-icon-neutral-default`.
|
|
175
|
+
* @prop --bs-chatbot-response-action-sources-gap - Gap between the sources icon and its label. Aliased to `--bs-spacing-50`.
|
|
176
|
+
* @prop --bs-chatbot-response-action-sources-padding-left - Aliased to `--bs-spacing-100`.
|
|
177
|
+
* @prop --bs-chatbot-response-action-sources-padding-right - Aliased to `--bs-spacing-150`.
|
|
178
|
+
* @prop --bs-chatbot-response-action-sources-color - Text color of the sources label. Aliased to `--bs-text-neutral-default`.
|
|
179
|
+
* @prop --bs-chatbot-response-action-sources-font-size - Aliased to `--bs-font-size-sm`.
|
|
180
|
+
* @prop --bs-chatbot-response-action-sources-line-height - Aliased to `--bs-line-height-body-sm`.
|
|
181
|
+
*/
|
|
182
|
+
interface BsChatbotResponseAction {
|
|
183
|
+
/**
|
|
184
|
+
* Whether the "more options" popup menu (the `menu` slot) is currently open. Mutable + reflected so the component can track/close itself (kebab click, click outside, Escape) the same way `bs-chatbot-header`'s `expanded` prop tracks its own toggle state, while still emitting `bsMenuOpen` for the consumer to react to.
|
|
185
|
+
* @default false
|
|
186
|
+
*/
|
|
187
|
+
"menuOpen": boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Number of sources backing the response. When set to a positive number, renders the "N sources" button (singular "1 source" / plural "N sources"). When unset or `0`, the button is not rendered at all.
|
|
190
|
+
*/
|
|
191
|
+
"sourcesCount"?: number;
|
|
192
|
+
}
|
|
126
193
|
/**
|
|
127
194
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
128
195
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -245,6 +312,44 @@ export namespace Components {
|
|
|
245
312
|
*/
|
|
246
313
|
"value": string;
|
|
247
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
317
|
+
* `bs-menu-item` elements).
|
|
318
|
+
* ## When to use
|
|
319
|
+
* - A popup list of actions/options triggered by another control (e.g. a "more options" kebab
|
|
320
|
+
* button), such as `bs-chatbot-response-action`'s `menu` slot.
|
|
321
|
+
* ## When not to use
|
|
322
|
+
* - A persistent, always-visible list of options -- this component is purpose-built as a popup
|
|
323
|
+
* surface (rounded corners, elevation shadow), not a plain list.
|
|
324
|
+
* @prop --bs-menu-bg - Background of the menu box. Aliased to `--bs-surface-raised`.
|
|
325
|
+
* @prop --bs-menu-radius - Corner radius of the menu box. Aliased to `--bs-border-radius-100`.
|
|
326
|
+
* @prop --bs-menu-padding-y - Top/bottom padding of the menu box. Aliased to `--bs-spacing-50`.
|
|
327
|
+
* @prop --bs-menu-gap - Gap between slotted items. Aliased to `--bs-spacing-50`.
|
|
328
|
+
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
329
|
+
*/
|
|
330
|
+
interface BsMenu {
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
334
|
+
* real `<button>` for correct keyboard/click semantics.
|
|
335
|
+
* ## When to use
|
|
336
|
+
* - As a child of `bs-menu`, one per selectable action/option.
|
|
337
|
+
* ## When not to use
|
|
338
|
+
* - Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the
|
|
339
|
+
* menu's rounded, padded list box.
|
|
340
|
+
* @prop --bs-menu-item-radius - Corner radius of the row. Aliased to `--bs-border-radius-100`.
|
|
341
|
+
* @prop --bs-menu-item-padding-y - Top/bottom padding. Aliased to `--bs-spacing-100`.
|
|
342
|
+
* @prop --bs-menu-item-padding-x - Left/right padding. Aliased to `--bs-spacing-150`.
|
|
343
|
+
* @prop --bs-menu-item-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
344
|
+
* @prop --bs-menu-item-hover - Background on hover. Aliased to `--bs-color-neutral-container`.
|
|
345
|
+
* @prop --bs-menu-item-pressed - Background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
346
|
+
* @prop --bs-menu-item-icon-color - Icon color. Aliased to `--bs-icon-default`.
|
|
347
|
+
* @prop --bs-menu-item-color - Label text color. Aliased to `--bs-text-muted`.
|
|
348
|
+
* @prop --bs-menu-item-font-size - Aliased to `--bs-font-size-md`.
|
|
349
|
+
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
350
|
+
*/
|
|
351
|
+
interface BsMenuItem {
|
|
352
|
+
}
|
|
248
353
|
/**
|
|
249
354
|
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
250
355
|
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
@@ -269,6 +374,14 @@ export namespace Components {
|
|
|
269
374
|
"size": BsModalSize;
|
|
270
375
|
}
|
|
271
376
|
}
|
|
377
|
+
export interface BsChatbotHeaderCustomEvent<T> extends CustomEvent<T> {
|
|
378
|
+
detail: T;
|
|
379
|
+
target: HTMLBsChatbotHeaderElement;
|
|
380
|
+
}
|
|
381
|
+
export interface BsChatbotResponseActionCustomEvent<T> extends CustomEvent<T> {
|
|
382
|
+
detail: T;
|
|
383
|
+
target: HTMLBsChatbotResponseActionElement;
|
|
384
|
+
}
|
|
272
385
|
export interface BsComposerCustomEvent<T> extends CustomEvent<T> {
|
|
273
386
|
detail: T;
|
|
274
387
|
target: HTMLBsComposerElement;
|
|
@@ -281,6 +394,10 @@ export interface BsInputCustomEvent<T> extends CustomEvent<T> {
|
|
|
281
394
|
detail: T;
|
|
282
395
|
target: HTMLBsInputElement;
|
|
283
396
|
}
|
|
397
|
+
export interface BsMenuItemCustomEvent<T> extends CustomEvent<T> {
|
|
398
|
+
detail: T;
|
|
399
|
+
target: HTMLBsMenuItemElement;
|
|
400
|
+
}
|
|
284
401
|
export interface BsModalCustomEvent<T> extends CustomEvent<T> {
|
|
285
402
|
detail: T;
|
|
286
403
|
target: HTMLBsModalElement;
|
|
@@ -365,6 +482,92 @@ declare global {
|
|
|
365
482
|
prototype: HTMLBsCardElement;
|
|
366
483
|
new (): HTMLBsCardElement;
|
|
367
484
|
};
|
|
485
|
+
interface HTMLBsChatbotHeaderElementEventMap {
|
|
486
|
+
"bsNewChat": void;
|
|
487
|
+
"bsHistory": void;
|
|
488
|
+
"bsExpand": boolean;
|
|
489
|
+
"bsClose": void;
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* The header bar that sits above `bs-composer` in a Genie AI chat panel: the Genie brand mark on
|
|
493
|
+
* the left and four fixed actions (new chat, history, expand, close) on the right.
|
|
494
|
+
* ## When to use
|
|
495
|
+
* - The top bar of a Genie AI chat panel, directly above a `bs-composer`.
|
|
496
|
+
* ## When not to use
|
|
497
|
+
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
498
|
+
* Genie chat panel, not a general navigation bar.
|
|
499
|
+
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
500
|
+
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
501
|
+
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
502
|
+
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
503
|
+
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
504
|
+
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
505
|
+
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
506
|
+
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
507
|
+
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
508
|
+
* @prop --bs-chatbot-header-button-pressed - Icon button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
509
|
+
* @prop --bs-chatbot-header-icon - Icon color. Aliased to `--bs-icon-default`.
|
|
510
|
+
*/
|
|
511
|
+
interface HTMLBsChatbotHeaderElement extends Components.BsChatbotHeader, HTMLStencilElement {
|
|
512
|
+
addEventListener<K extends keyof HTMLBsChatbotHeaderElementEventMap>(type: K, listener: (this: HTMLBsChatbotHeaderElement, ev: BsChatbotHeaderCustomEvent<HTMLBsChatbotHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
513
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
514
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
515
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
516
|
+
removeEventListener<K extends keyof HTMLBsChatbotHeaderElementEventMap>(type: K, listener: (this: HTMLBsChatbotHeaderElement, ev: BsChatbotHeaderCustomEvent<HTMLBsChatbotHeaderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
517
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
518
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
519
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
520
|
+
}
|
|
521
|
+
var HTMLBsChatbotHeaderElement: {
|
|
522
|
+
prototype: HTMLBsChatbotHeaderElement;
|
|
523
|
+
new (): HTMLBsChatbotHeaderElement;
|
|
524
|
+
};
|
|
525
|
+
interface HTMLBsChatbotResponseActionElementEventMap {
|
|
526
|
+
"bsLike": void;
|
|
527
|
+
"bsDislike": void;
|
|
528
|
+
"bsCopy": void;
|
|
529
|
+
"bsRegenerate": void;
|
|
530
|
+
"bsMenuOpen": boolean;
|
|
531
|
+
"bsSourcesClick": void;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* The row of action buttons that appears below an AI response message in a Genie chat panel:
|
|
535
|
+
* like, dislike, copy, regenerate, and more-options icon buttons, plus an optional "N sources"
|
|
536
|
+
* button.
|
|
537
|
+
* ## When to use
|
|
538
|
+
* - Directly below an AI-generated response message in a Genie chat panel.
|
|
539
|
+
* ## When not to use
|
|
540
|
+
* - Below a user's own message -- these actions (regenerate, like/dislike a response, etc.) only
|
|
541
|
+
* make sense for AI-generated content.
|
|
542
|
+
* @prop --bs-chatbot-response-action-gap - Gap between all buttons in the row. Aliased to `--bs-spacing-100`.
|
|
543
|
+
* @prop --bs-chatbot-response-action-padding-top - Aliased to `--bs-spacing-150`.
|
|
544
|
+
* @prop --bs-chatbot-response-action-padding-bottom - Aliased to `--bs-spacing-50`.
|
|
545
|
+
* @prop --bs-chatbot-response-action-button-size - Width/height of each icon button. Aliased to `--bs-spacing-400`.
|
|
546
|
+
* @prop --bs-chatbot-response-action-button-radius - Corner radius of each button. Aliased to `--bs-border-radius-100`.
|
|
547
|
+
* @prop --bs-chatbot-response-action-button-hover - Button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
548
|
+
* @prop --bs-chatbot-response-action-button-pressed - Button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
549
|
+
* @prop --bs-chatbot-response-action-icon - Icon color. Aliased to `--bs-icon-neutral-default`.
|
|
550
|
+
* @prop --bs-chatbot-response-action-sources-gap - Gap between the sources icon and its label. Aliased to `--bs-spacing-50`.
|
|
551
|
+
* @prop --bs-chatbot-response-action-sources-padding-left - Aliased to `--bs-spacing-100`.
|
|
552
|
+
* @prop --bs-chatbot-response-action-sources-padding-right - Aliased to `--bs-spacing-150`.
|
|
553
|
+
* @prop --bs-chatbot-response-action-sources-color - Text color of the sources label. Aliased to `--bs-text-neutral-default`.
|
|
554
|
+
* @prop --bs-chatbot-response-action-sources-font-size - Aliased to `--bs-font-size-sm`.
|
|
555
|
+
* @prop --bs-chatbot-response-action-sources-line-height - Aliased to `--bs-line-height-body-sm`.
|
|
556
|
+
*/
|
|
557
|
+
interface HTMLBsChatbotResponseActionElement extends Components.BsChatbotResponseAction, HTMLStencilElement {
|
|
558
|
+
addEventListener<K extends keyof HTMLBsChatbotResponseActionElementEventMap>(type: K, listener: (this: HTMLBsChatbotResponseActionElement, ev: BsChatbotResponseActionCustomEvent<HTMLBsChatbotResponseActionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
559
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
560
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
561
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
562
|
+
removeEventListener<K extends keyof HTMLBsChatbotResponseActionElementEventMap>(type: K, listener: (this: HTMLBsChatbotResponseActionElement, ev: BsChatbotResponseActionCustomEvent<HTMLBsChatbotResponseActionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
563
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
564
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
565
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
566
|
+
}
|
|
567
|
+
var HTMLBsChatbotResponseActionElement: {
|
|
568
|
+
prototype: HTMLBsChatbotResponseActionElement;
|
|
569
|
+
new (): HTMLBsChatbotResponseActionElement;
|
|
570
|
+
};
|
|
368
571
|
interface HTMLBsComposerElementEventMap {
|
|
369
572
|
"bsInput": string;
|
|
370
573
|
"bsSubmit": void;
|
|
@@ -475,6 +678,63 @@ declare global {
|
|
|
475
678
|
prototype: HTMLBsInputElement;
|
|
476
679
|
new (): HTMLBsInputElement;
|
|
477
680
|
};
|
|
681
|
+
/**
|
|
682
|
+
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
683
|
+
* `bs-menu-item` elements).
|
|
684
|
+
* ## When to use
|
|
685
|
+
* - A popup list of actions/options triggered by another control (e.g. a "more options" kebab
|
|
686
|
+
* button), such as `bs-chatbot-response-action`'s `menu` slot.
|
|
687
|
+
* ## When not to use
|
|
688
|
+
* - A persistent, always-visible list of options -- this component is purpose-built as a popup
|
|
689
|
+
* surface (rounded corners, elevation shadow), not a plain list.
|
|
690
|
+
* @prop --bs-menu-bg - Background of the menu box. Aliased to `--bs-surface-raised`.
|
|
691
|
+
* @prop --bs-menu-radius - Corner radius of the menu box. Aliased to `--bs-border-radius-100`.
|
|
692
|
+
* @prop --bs-menu-padding-y - Top/bottom padding of the menu box. Aliased to `--bs-spacing-50`.
|
|
693
|
+
* @prop --bs-menu-gap - Gap between slotted items. Aliased to `--bs-spacing-50`.
|
|
694
|
+
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
695
|
+
*/
|
|
696
|
+
interface HTMLBsMenuElement extends Components.BsMenu, HTMLStencilElement {
|
|
697
|
+
}
|
|
698
|
+
var HTMLBsMenuElement: {
|
|
699
|
+
prototype: HTMLBsMenuElement;
|
|
700
|
+
new (): HTMLBsMenuElement;
|
|
701
|
+
};
|
|
702
|
+
interface HTMLBsMenuItemElementEventMap {
|
|
703
|
+
"bsSelect": void;
|
|
704
|
+
}
|
|
705
|
+
/**
|
|
706
|
+
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
707
|
+
* real `<button>` for correct keyboard/click semantics.
|
|
708
|
+
* ## When to use
|
|
709
|
+
* - As a child of `bs-menu`, one per selectable action/option.
|
|
710
|
+
* ## When not to use
|
|
711
|
+
* - Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the
|
|
712
|
+
* menu's rounded, padded list box.
|
|
713
|
+
* @prop --bs-menu-item-radius - Corner radius of the row. Aliased to `--bs-border-radius-100`.
|
|
714
|
+
* @prop --bs-menu-item-padding-y - Top/bottom padding. Aliased to `--bs-spacing-100`.
|
|
715
|
+
* @prop --bs-menu-item-padding-x - Left/right padding. Aliased to `--bs-spacing-150`.
|
|
716
|
+
* @prop --bs-menu-item-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
717
|
+
* @prop --bs-menu-item-hover - Background on hover. Aliased to `--bs-color-neutral-container`.
|
|
718
|
+
* @prop --bs-menu-item-pressed - Background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
719
|
+
* @prop --bs-menu-item-icon-color - Icon color. Aliased to `--bs-icon-default`.
|
|
720
|
+
* @prop --bs-menu-item-color - Label text color. Aliased to `--bs-text-muted`.
|
|
721
|
+
* @prop --bs-menu-item-font-size - Aliased to `--bs-font-size-md`.
|
|
722
|
+
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
723
|
+
*/
|
|
724
|
+
interface HTMLBsMenuItemElement extends Components.BsMenuItem, HTMLStencilElement {
|
|
725
|
+
addEventListener<K extends keyof HTMLBsMenuItemElementEventMap>(type: K, listener: (this: HTMLBsMenuItemElement, ev: BsMenuItemCustomEvent<HTMLBsMenuItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
726
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
727
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
728
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
729
|
+
removeEventListener<K extends keyof HTMLBsMenuItemElementEventMap>(type: K, listener: (this: HTMLBsMenuItemElement, ev: BsMenuItemCustomEvent<HTMLBsMenuItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
730
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
731
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
732
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
733
|
+
}
|
|
734
|
+
var HTMLBsMenuItemElement: {
|
|
735
|
+
prototype: HTMLBsMenuItemElement;
|
|
736
|
+
new (): HTMLBsMenuItemElement;
|
|
737
|
+
};
|
|
478
738
|
interface HTMLBsModalElementEventMap {
|
|
479
739
|
"bsClose": void;
|
|
480
740
|
}
|
|
@@ -508,9 +768,13 @@ declare global {
|
|
|
508
768
|
"bs-button": HTMLBsButtonElement;
|
|
509
769
|
"bs-button-skeleton": HTMLBsButtonSkeletonElement;
|
|
510
770
|
"bs-card": HTMLBsCardElement;
|
|
771
|
+
"bs-chatbot-header": HTMLBsChatbotHeaderElement;
|
|
772
|
+
"bs-chatbot-response-action": HTMLBsChatbotResponseActionElement;
|
|
511
773
|
"bs-composer": HTMLBsComposerElement;
|
|
512
774
|
"bs-data-table": HTMLBsDataTableElement;
|
|
513
775
|
"bs-input": HTMLBsInputElement;
|
|
776
|
+
"bs-menu": HTMLBsMenuElement;
|
|
777
|
+
"bs-menu-item": HTMLBsMenuItemElement;
|
|
514
778
|
"bs-modal": HTMLBsModalElement;
|
|
515
779
|
}
|
|
516
780
|
}
|
|
@@ -618,6 +882,113 @@ declare namespace LocalJSX {
|
|
|
618
882
|
*/
|
|
619
883
|
"surface"?: BsCardSurface;
|
|
620
884
|
}
|
|
885
|
+
/**
|
|
886
|
+
* The header bar that sits above `bs-composer` in a Genie AI chat panel: the Genie brand mark on
|
|
887
|
+
* the left and four fixed actions (new chat, history, expand, close) on the right.
|
|
888
|
+
* ## When to use
|
|
889
|
+
* - The top bar of a Genie AI chat panel, directly above a `bs-composer`.
|
|
890
|
+
* ## When not to use
|
|
891
|
+
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
892
|
+
* Genie chat panel, not a general navigation bar.
|
|
893
|
+
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
894
|
+
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
895
|
+
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
896
|
+
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
897
|
+
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
898
|
+
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
899
|
+
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
900
|
+
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
901
|
+
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
902
|
+
* @prop --bs-chatbot-header-button-pressed - Icon button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
903
|
+
* @prop --bs-chatbot-header-icon - Icon color. Aliased to `--bs-icon-default`.
|
|
904
|
+
*/
|
|
905
|
+
interface BsChatbotHeader {
|
|
906
|
+
/**
|
|
907
|
+
* Whether the chat panel is currently expanded (e.g. to full viewport width/height). This component has no visibility into the surrounding layout, so it does not resize anything itself -- it only tracks and reflects the toggle state (via the `expanded` attribute, for CSS hooks, and `aria-pressed`/`aria-label` on the expand button) and emits `bsExpand` with the new value. The consuming app is responsible for actually resizing its own chat panel container in response to that event, since only the app knows what that container is.
|
|
908
|
+
* @default false
|
|
909
|
+
*/
|
|
910
|
+
"expanded"?: boolean;
|
|
911
|
+
/**
|
|
912
|
+
* Accessible label for the header landmark, and alt text context for the logo image.
|
|
913
|
+
* @default 'Genie'
|
|
914
|
+
*/
|
|
915
|
+
"heading"?: string;
|
|
916
|
+
/**
|
|
917
|
+
* Fires when the "Close" button is clicked.
|
|
918
|
+
*/
|
|
919
|
+
"onBsClose"?: (event: BsChatbotHeaderCustomEvent<void>) => void;
|
|
920
|
+
/**
|
|
921
|
+
* Fires when the "Expand"/"Collapse" button is clicked, with the new `expanded` value.
|
|
922
|
+
*/
|
|
923
|
+
"onBsExpand"?: (event: BsChatbotHeaderCustomEvent<boolean>) => void;
|
|
924
|
+
/**
|
|
925
|
+
* Fires when the "History" button is clicked.
|
|
926
|
+
*/
|
|
927
|
+
"onBsHistory"?: (event: BsChatbotHeaderCustomEvent<void>) => void;
|
|
928
|
+
/**
|
|
929
|
+
* Fires when the "New chat" button is clicked.
|
|
930
|
+
*/
|
|
931
|
+
"onBsNewChat"?: (event: BsChatbotHeaderCustomEvent<void>) => void;
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* The row of action buttons that appears below an AI response message in a Genie chat panel:
|
|
935
|
+
* like, dislike, copy, regenerate, and more-options icon buttons, plus an optional "N sources"
|
|
936
|
+
* button.
|
|
937
|
+
* ## When to use
|
|
938
|
+
* - Directly below an AI-generated response message in a Genie chat panel.
|
|
939
|
+
* ## When not to use
|
|
940
|
+
* - Below a user's own message -- these actions (regenerate, like/dislike a response, etc.) only
|
|
941
|
+
* make sense for AI-generated content.
|
|
942
|
+
* @prop --bs-chatbot-response-action-gap - Gap between all buttons in the row. Aliased to `--bs-spacing-100`.
|
|
943
|
+
* @prop --bs-chatbot-response-action-padding-top - Aliased to `--bs-spacing-150`.
|
|
944
|
+
* @prop --bs-chatbot-response-action-padding-bottom - Aliased to `--bs-spacing-50`.
|
|
945
|
+
* @prop --bs-chatbot-response-action-button-size - Width/height of each icon button. Aliased to `--bs-spacing-400`.
|
|
946
|
+
* @prop --bs-chatbot-response-action-button-radius - Corner radius of each button. Aliased to `--bs-border-radius-100`.
|
|
947
|
+
* @prop --bs-chatbot-response-action-button-hover - Button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
948
|
+
* @prop --bs-chatbot-response-action-button-pressed - Button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
949
|
+
* @prop --bs-chatbot-response-action-icon - Icon color. Aliased to `--bs-icon-neutral-default`.
|
|
950
|
+
* @prop --bs-chatbot-response-action-sources-gap - Gap between the sources icon and its label. Aliased to `--bs-spacing-50`.
|
|
951
|
+
* @prop --bs-chatbot-response-action-sources-padding-left - Aliased to `--bs-spacing-100`.
|
|
952
|
+
* @prop --bs-chatbot-response-action-sources-padding-right - Aliased to `--bs-spacing-150`.
|
|
953
|
+
* @prop --bs-chatbot-response-action-sources-color - Text color of the sources label. Aliased to `--bs-text-neutral-default`.
|
|
954
|
+
* @prop --bs-chatbot-response-action-sources-font-size - Aliased to `--bs-font-size-sm`.
|
|
955
|
+
* @prop --bs-chatbot-response-action-sources-line-height - Aliased to `--bs-line-height-body-sm`.
|
|
956
|
+
*/
|
|
957
|
+
interface BsChatbotResponseAction {
|
|
958
|
+
/**
|
|
959
|
+
* Whether the "more options" popup menu (the `menu` slot) is currently open. Mutable + reflected so the component can track/close itself (kebab click, click outside, Escape) the same way `bs-chatbot-header`'s `expanded` prop tracks its own toggle state, while still emitting `bsMenuOpen` for the consumer to react to.
|
|
960
|
+
* @default false
|
|
961
|
+
*/
|
|
962
|
+
"menuOpen"?: boolean;
|
|
963
|
+
/**
|
|
964
|
+
* Fires when the "Copy" button is clicked.
|
|
965
|
+
*/
|
|
966
|
+
"onBsCopy"?: (event: BsChatbotResponseActionCustomEvent<void>) => void;
|
|
967
|
+
/**
|
|
968
|
+
* Fires when the "Dislike" button is clicked.
|
|
969
|
+
*/
|
|
970
|
+
"onBsDislike"?: (event: BsChatbotResponseActionCustomEvent<void>) => void;
|
|
971
|
+
/**
|
|
972
|
+
* Fires when the "Like" button is clicked.
|
|
973
|
+
*/
|
|
974
|
+
"onBsLike"?: (event: BsChatbotResponseActionCustomEvent<void>) => void;
|
|
975
|
+
/**
|
|
976
|
+
* Fires when the "More options" button is clicked or the menu is closed (click outside, Escape), with the new `menuOpen` value.
|
|
977
|
+
*/
|
|
978
|
+
"onBsMenuOpen"?: (event: BsChatbotResponseActionCustomEvent<boolean>) => void;
|
|
979
|
+
/**
|
|
980
|
+
* Fires when the "Regenerate" button is clicked.
|
|
981
|
+
*/
|
|
982
|
+
"onBsRegenerate"?: (event: BsChatbotResponseActionCustomEvent<void>) => void;
|
|
983
|
+
/**
|
|
984
|
+
* Fires when the "N sources" button is clicked.
|
|
985
|
+
*/
|
|
986
|
+
"onBsSourcesClick"?: (event: BsChatbotResponseActionCustomEvent<void>) => void;
|
|
987
|
+
/**
|
|
988
|
+
* Number of sources backing the response. When set to a positive number, renders the "N sources" button (singular "1 source" / plural "N sources"). When unset or `0`, the button is not rendered at all.
|
|
989
|
+
*/
|
|
990
|
+
"sourcesCount"?: number;
|
|
991
|
+
}
|
|
621
992
|
/**
|
|
622
993
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
623
994
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -768,6 +1139,48 @@ declare namespace LocalJSX {
|
|
|
768
1139
|
*/
|
|
769
1140
|
"value"?: string;
|
|
770
1141
|
}
|
|
1142
|
+
/**
|
|
1143
|
+
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
1144
|
+
* `bs-menu-item` elements).
|
|
1145
|
+
* ## When to use
|
|
1146
|
+
* - A popup list of actions/options triggered by another control (e.g. a "more options" kebab
|
|
1147
|
+
* button), such as `bs-chatbot-response-action`'s `menu` slot.
|
|
1148
|
+
* ## When not to use
|
|
1149
|
+
* - A persistent, always-visible list of options -- this component is purpose-built as a popup
|
|
1150
|
+
* surface (rounded corners, elevation shadow), not a plain list.
|
|
1151
|
+
* @prop --bs-menu-bg - Background of the menu box. Aliased to `--bs-surface-raised`.
|
|
1152
|
+
* @prop --bs-menu-radius - Corner radius of the menu box. Aliased to `--bs-border-radius-100`.
|
|
1153
|
+
* @prop --bs-menu-padding-y - Top/bottom padding of the menu box. Aliased to `--bs-spacing-50`.
|
|
1154
|
+
* @prop --bs-menu-gap - Gap between slotted items. Aliased to `--bs-spacing-50`.
|
|
1155
|
+
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
1156
|
+
*/
|
|
1157
|
+
interface BsMenu {
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
1161
|
+
* real `<button>` for correct keyboard/click semantics.
|
|
1162
|
+
* ## When to use
|
|
1163
|
+
* - As a child of `bs-menu`, one per selectable action/option.
|
|
1164
|
+
* ## When not to use
|
|
1165
|
+
* - Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the
|
|
1166
|
+
* menu's rounded, padded list box.
|
|
1167
|
+
* @prop --bs-menu-item-radius - Corner radius of the row. Aliased to `--bs-border-radius-100`.
|
|
1168
|
+
* @prop --bs-menu-item-padding-y - Top/bottom padding. Aliased to `--bs-spacing-100`.
|
|
1169
|
+
* @prop --bs-menu-item-padding-x - Left/right padding. Aliased to `--bs-spacing-150`.
|
|
1170
|
+
* @prop --bs-menu-item-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
1171
|
+
* @prop --bs-menu-item-hover - Background on hover. Aliased to `--bs-color-neutral-container`.
|
|
1172
|
+
* @prop --bs-menu-item-pressed - Background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
1173
|
+
* @prop --bs-menu-item-icon-color - Icon color. Aliased to `--bs-icon-default`.
|
|
1174
|
+
* @prop --bs-menu-item-color - Label text color. Aliased to `--bs-text-muted`.
|
|
1175
|
+
* @prop --bs-menu-item-font-size - Aliased to `--bs-font-size-md`.
|
|
1176
|
+
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
1177
|
+
*/
|
|
1178
|
+
interface BsMenuItem {
|
|
1179
|
+
/**
|
|
1180
|
+
* Fires when the item is clicked.
|
|
1181
|
+
*/
|
|
1182
|
+
"onBsSelect"?: (event: BsMenuItemCustomEvent<void>) => void;
|
|
1183
|
+
}
|
|
771
1184
|
/**
|
|
772
1185
|
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
773
1186
|
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
@@ -809,6 +1222,14 @@ declare namespace LocalJSX {
|
|
|
809
1222
|
interface BsCardAttributes {
|
|
810
1223
|
"surface": BsCardSurface;
|
|
811
1224
|
}
|
|
1225
|
+
interface BsChatbotHeaderAttributes {
|
|
1226
|
+
"heading": string;
|
|
1227
|
+
"expanded": boolean;
|
|
1228
|
+
}
|
|
1229
|
+
interface BsChatbotResponseActionAttributes {
|
|
1230
|
+
"sourcesCount": number;
|
|
1231
|
+
"menuOpen": boolean;
|
|
1232
|
+
}
|
|
812
1233
|
interface BsComposerAttributes {
|
|
813
1234
|
"variant": BsComposerVariant;
|
|
814
1235
|
"placeholder": string;
|
|
@@ -841,9 +1262,13 @@ declare namespace LocalJSX {
|
|
|
841
1262
|
"bs-button": Omit<BsButton, keyof BsButtonAttributes> & { [K in keyof BsButton & keyof BsButtonAttributes]?: BsButton[K] } & { [K in keyof BsButton & keyof BsButtonAttributes as `attr:${K}`]?: BsButtonAttributes[K] } & { [K in keyof BsButton & keyof BsButtonAttributes as `prop:${K}`]?: BsButton[K] };
|
|
842
1263
|
"bs-button-skeleton": Omit<BsButtonSkeleton, keyof BsButtonSkeletonAttributes> & { [K in keyof BsButtonSkeleton & keyof BsButtonSkeletonAttributes]?: BsButtonSkeleton[K] } & { [K in keyof BsButtonSkeleton & keyof BsButtonSkeletonAttributes as `attr:${K}`]?: BsButtonSkeletonAttributes[K] } & { [K in keyof BsButtonSkeleton & keyof BsButtonSkeletonAttributes as `prop:${K}`]?: BsButtonSkeleton[K] };
|
|
843
1264
|
"bs-card": Omit<BsCard, keyof BsCardAttributes> & { [K in keyof BsCard & keyof BsCardAttributes]?: BsCard[K] } & { [K in keyof BsCard & keyof BsCardAttributes as `attr:${K}`]?: BsCardAttributes[K] } & { [K in keyof BsCard & keyof BsCardAttributes as `prop:${K}`]?: BsCard[K] };
|
|
1265
|
+
"bs-chatbot-header": Omit<BsChatbotHeader, keyof BsChatbotHeaderAttributes> & { [K in keyof BsChatbotHeader & keyof BsChatbotHeaderAttributes]?: BsChatbotHeader[K] } & { [K in keyof BsChatbotHeader & keyof BsChatbotHeaderAttributes as `attr:${K}`]?: BsChatbotHeaderAttributes[K] } & { [K in keyof BsChatbotHeader & keyof BsChatbotHeaderAttributes as `prop:${K}`]?: BsChatbotHeader[K] };
|
|
1266
|
+
"bs-chatbot-response-action": Omit<BsChatbotResponseAction, keyof BsChatbotResponseActionAttributes> & { [K in keyof BsChatbotResponseAction & keyof BsChatbotResponseActionAttributes]?: BsChatbotResponseAction[K] } & { [K in keyof BsChatbotResponseAction & keyof BsChatbotResponseActionAttributes as `attr:${K}`]?: BsChatbotResponseActionAttributes[K] } & { [K in keyof BsChatbotResponseAction & keyof BsChatbotResponseActionAttributes as `prop:${K}`]?: BsChatbotResponseAction[K] };
|
|
844
1267
|
"bs-composer": Omit<BsComposer, keyof BsComposerAttributes> & { [K in keyof BsComposer & keyof BsComposerAttributes]?: BsComposer[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `attr:${K}`]?: BsComposerAttributes[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `prop:${K}`]?: BsComposer[K] };
|
|
845
1268
|
"bs-data-table": Omit<BsDataTable, keyof BsDataTableAttributes> & { [K in keyof BsDataTable & keyof BsDataTableAttributes]?: BsDataTable[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `attr:${K}`]?: BsDataTableAttributes[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `prop:${K}`]?: BsDataTable[K] };
|
|
846
1269
|
"bs-input": Omit<BsInput, keyof BsInputAttributes> & { [K in keyof BsInput & keyof BsInputAttributes]?: BsInput[K] } & { [K in keyof BsInput & keyof BsInputAttributes as `attr:${K}`]?: BsInputAttributes[K] } & { [K in keyof BsInput & keyof BsInputAttributes as `prop:${K}`]?: BsInput[K] };
|
|
1270
|
+
"bs-menu": BsMenu;
|
|
1271
|
+
"bs-menu-item": BsMenuItem;
|
|
847
1272
|
"bs-modal": Omit<BsModal, keyof BsModalAttributes> & { [K in keyof BsModal & keyof BsModalAttributes]?: BsModal[K] } & { [K in keyof BsModal & keyof BsModalAttributes as `attr:${K}`]?: BsModalAttributes[K] } & { [K in keyof BsModal & keyof BsModalAttributes as `prop:${K}`]?: BsModal[K] };
|
|
848
1273
|
}
|
|
849
1274
|
}
|
|
@@ -910,6 +1335,52 @@ declare module "@stencil/core" {
|
|
|
910
1335
|
* - For a dismissible/transient message — use a modal or a dedicated notification component.
|
|
911
1336
|
*/
|
|
912
1337
|
"bs-card": LocalJSX.IntrinsicElements["bs-card"] & JSXBase.HTMLAttributes<HTMLBsCardElement>;
|
|
1338
|
+
/**
|
|
1339
|
+
* The header bar that sits above `bs-composer` in a Genie AI chat panel: the Genie brand mark on
|
|
1340
|
+
* the left and four fixed actions (new chat, history, expand, close) on the right.
|
|
1341
|
+
* ## When to use
|
|
1342
|
+
* - The top bar of a Genie AI chat panel, directly above a `bs-composer`.
|
|
1343
|
+
* ## When not to use
|
|
1344
|
+
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
1345
|
+
* Genie chat panel, not a general navigation bar.
|
|
1346
|
+
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
1347
|
+
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
1348
|
+
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
1349
|
+
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
1350
|
+
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
1351
|
+
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
1352
|
+
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
1353
|
+
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
1354
|
+
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
1355
|
+
* @prop --bs-chatbot-header-button-pressed - Icon button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
1356
|
+
* @prop --bs-chatbot-header-icon - Icon color. Aliased to `--bs-icon-default`.
|
|
1357
|
+
*/
|
|
1358
|
+
"bs-chatbot-header": LocalJSX.IntrinsicElements["bs-chatbot-header"] & JSXBase.HTMLAttributes<HTMLBsChatbotHeaderElement>;
|
|
1359
|
+
/**
|
|
1360
|
+
* The row of action buttons that appears below an AI response message in a Genie chat panel:
|
|
1361
|
+
* like, dislike, copy, regenerate, and more-options icon buttons, plus an optional "N sources"
|
|
1362
|
+
* button.
|
|
1363
|
+
* ## When to use
|
|
1364
|
+
* - Directly below an AI-generated response message in a Genie chat panel.
|
|
1365
|
+
* ## When not to use
|
|
1366
|
+
* - Below a user's own message -- these actions (regenerate, like/dislike a response, etc.) only
|
|
1367
|
+
* make sense for AI-generated content.
|
|
1368
|
+
* @prop --bs-chatbot-response-action-gap - Gap between all buttons in the row. Aliased to `--bs-spacing-100`.
|
|
1369
|
+
* @prop --bs-chatbot-response-action-padding-top - Aliased to `--bs-spacing-150`.
|
|
1370
|
+
* @prop --bs-chatbot-response-action-padding-bottom - Aliased to `--bs-spacing-50`.
|
|
1371
|
+
* @prop --bs-chatbot-response-action-button-size - Width/height of each icon button. Aliased to `--bs-spacing-400`.
|
|
1372
|
+
* @prop --bs-chatbot-response-action-button-radius - Corner radius of each button. Aliased to `--bs-border-radius-100`.
|
|
1373
|
+
* @prop --bs-chatbot-response-action-button-hover - Button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
1374
|
+
* @prop --bs-chatbot-response-action-button-pressed - Button background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
1375
|
+
* @prop --bs-chatbot-response-action-icon - Icon color. Aliased to `--bs-icon-neutral-default`.
|
|
1376
|
+
* @prop --bs-chatbot-response-action-sources-gap - Gap between the sources icon and its label. Aliased to `--bs-spacing-50`.
|
|
1377
|
+
* @prop --bs-chatbot-response-action-sources-padding-left - Aliased to `--bs-spacing-100`.
|
|
1378
|
+
* @prop --bs-chatbot-response-action-sources-padding-right - Aliased to `--bs-spacing-150`.
|
|
1379
|
+
* @prop --bs-chatbot-response-action-sources-color - Text color of the sources label. Aliased to `--bs-text-neutral-default`.
|
|
1380
|
+
* @prop --bs-chatbot-response-action-sources-font-size - Aliased to `--bs-font-size-sm`.
|
|
1381
|
+
* @prop --bs-chatbot-response-action-sources-line-height - Aliased to `--bs-line-height-body-sm`.
|
|
1382
|
+
*/
|
|
1383
|
+
"bs-chatbot-response-action": LocalJSX.IntrinsicElements["bs-chatbot-response-action"] & JSXBase.HTMLAttributes<HTMLBsChatbotResponseActionElement>;
|
|
913
1384
|
/**
|
|
914
1385
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
915
1386
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -965,6 +1436,42 @@ declare module "@stencil/core" {
|
|
|
965
1436
|
* - A fixed set of choices — use a select/radio/checkbox component instead of free text.
|
|
966
1437
|
*/
|
|
967
1438
|
"bs-input": LocalJSX.IntrinsicElements["bs-input"] & JSXBase.HTMLAttributes<HTMLBsInputElement>;
|
|
1439
|
+
/**
|
|
1440
|
+
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
1441
|
+
* `bs-menu-item` elements).
|
|
1442
|
+
* ## When to use
|
|
1443
|
+
* - A popup list of actions/options triggered by another control (e.g. a "more options" kebab
|
|
1444
|
+
* button), such as `bs-chatbot-response-action`'s `menu` slot.
|
|
1445
|
+
* ## When not to use
|
|
1446
|
+
* - A persistent, always-visible list of options -- this component is purpose-built as a popup
|
|
1447
|
+
* surface (rounded corners, elevation shadow), not a plain list.
|
|
1448
|
+
* @prop --bs-menu-bg - Background of the menu box. Aliased to `--bs-surface-raised`.
|
|
1449
|
+
* @prop --bs-menu-radius - Corner radius of the menu box. Aliased to `--bs-border-radius-100`.
|
|
1450
|
+
* @prop --bs-menu-padding-y - Top/bottom padding of the menu box. Aliased to `--bs-spacing-50`.
|
|
1451
|
+
* @prop --bs-menu-gap - Gap between slotted items. Aliased to `--bs-spacing-50`.
|
|
1452
|
+
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
1453
|
+
*/
|
|
1454
|
+
"bs-menu": LocalJSX.IntrinsicElements["bs-menu"] & JSXBase.HTMLAttributes<HTMLBsMenuElement>;
|
|
1455
|
+
/**
|
|
1456
|
+
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
1457
|
+
* real `<button>` for correct keyboard/click semantics.
|
|
1458
|
+
* ## When to use
|
|
1459
|
+
* - As a child of `bs-menu`, one per selectable action/option.
|
|
1460
|
+
* ## When not to use
|
|
1461
|
+
* - Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the
|
|
1462
|
+
* menu's rounded, padded list box.
|
|
1463
|
+
* @prop --bs-menu-item-radius - Corner radius of the row. Aliased to `--bs-border-radius-100`.
|
|
1464
|
+
* @prop --bs-menu-item-padding-y - Top/bottom padding. Aliased to `--bs-spacing-100`.
|
|
1465
|
+
* @prop --bs-menu-item-padding-x - Left/right padding. Aliased to `--bs-spacing-150`.
|
|
1466
|
+
* @prop --bs-menu-item-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
1467
|
+
* @prop --bs-menu-item-hover - Background on hover. Aliased to `--bs-color-neutral-container`.
|
|
1468
|
+
* @prop --bs-menu-item-pressed - Background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
1469
|
+
* @prop --bs-menu-item-icon-color - Icon color. Aliased to `--bs-icon-default`.
|
|
1470
|
+
* @prop --bs-menu-item-color - Label text color. Aliased to `--bs-text-muted`.
|
|
1471
|
+
* @prop --bs-menu-item-font-size - Aliased to `--bs-font-size-md`.
|
|
1472
|
+
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
1473
|
+
*/
|
|
1474
|
+
"bs-menu-item": LocalJSX.IntrinsicElements["bs-menu-item"] & JSXBase.HTMLAttributes<HTMLBsMenuItemElement>;
|
|
968
1475
|
/**
|
|
969
1476
|
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
970
1477
|
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brandsync/wc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"@stencil/core": "^4.27.1 || ^5.0.0-0",
|
|
53
53
|
"@stencil/react-output-target": "^1.6.2",
|
|
54
54
|
"@stencil/vitest": "^1.8.3",
|
|
55
|
+
"@storybook/addon-a11y": "^10.5.8",
|
|
55
56
|
"@storybook/addon-docs": "^10.5.8",
|
|
56
57
|
"@storybook/web-components-vite": "^10.5.8",
|
|
57
58
|
"@types/node": "^22.13.5",
|