@brandsync/wc 0.0.6 → 0.0.7
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 +133 -1
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-6648d251.entry.js → p-5a0fe72e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4d999a8d.entry.js → p-6abdfaf0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-27288299.entry.js → p-76eca100.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4a0da8e9.entry.js → p-a12d0a60.entry.js} +1 -1
- package/dist/brandsync-wc/p-bfd09c98.entry.js +1 -0
- package/dist/brandsync-wc/p-c63d16e1.entry.js +1 -0
- package/dist/brandsync-wc/{p-b24c455f.entry.js → p-dd0fea0e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-518b02bf.entry.js → p-f5f443e2.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1dc6d7f5.entry.js → p-f88d9a6e.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +1 -1
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +34 -0
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-input.cjs.entry.js +2 -2
- package/dist/cjs/bs-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-menu.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip.cjs.entry.js +24 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.cmp.test.js +28 -0
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.css +60 -0
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +72 -0
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.stories.js +21 -0
- package/dist/collection/components/bs-ai-thinking/genie-mark-icon.js +14 -0
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.css +33 -0
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +9 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-input/bs-input.js +2 -2
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
- package/dist/collection/components/bs-tooltip/bs-tooltip.cmp.test.js +16 -0
- package/dist/collection/components/bs-tooltip/bs-tooltip.css +45 -0
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +83 -0
- package/dist/collection/components/bs-tooltip/bs-tooltip.stories.js +26 -0
- package/dist/components/bs-ai-thinking.d.ts +11 -0
- package/dist/components/bs-ai-thinking.js +1 -0
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-chatbot-header.js +1 -1
- package/dist/components/bs-chatbot-response-action.js +1 -1
- package/dist/components/bs-chatbot-suggestion-button.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-tooltip.d.ts +11 -0
- package/dist/components/bs-tooltip.js +1 -0
- package/dist/components/p-CoC4LQCI.js +1 -0
- package/dist/esm/brandsync-wc.js +1 -1
- package/dist/esm/bs-ai-thinking.entry.js +32 -0
- package/dist/esm/bs-button-skeleton.entry.js +1 -1
- package/dist/esm/bs-chatbot-header.entry.js +2 -2
- package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
- package/dist/esm/bs-input.entry.js +2 -2
- package/dist/esm/bs-menu-item.entry.js +1 -1
- package/dist/esm/bs-menu.entry.js +1 -1
- package/dist/esm/bs-tooltip.entry.js +22 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/bs-ai-thinking/bs-ai-thinking.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-ai-thinking/bs-ai-thinking.d.ts +32 -0
- package/dist/types/components/bs-ai-thinking/bs-ai-thinking.stories.d.ts +10 -0
- package/dist/types/components/bs-ai-thinking/genie-mark-icon.d.ts +1 -0
- package/dist/types/components/bs-chatbot-header/bs-chatbot-header.d.ts +8 -0
- package/dist/types/components/bs-tooltip/bs-tooltip.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tooltip/bs-tooltip.d.ts +44 -0
- package/dist/types/components/bs-tooltip/bs-tooltip.stories.d.ts +9 -0
- package/dist/types/components.d.ts +272 -0
- package/package.json +1 -1
|
@@ -20,6 +20,34 @@ export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-
|
|
|
20
20
|
export { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
|
|
21
21
|
export { BsModalSize } from "./components/bs-modal/bs-modal";
|
|
22
22
|
export namespace Components {
|
|
23
|
+
/**
|
|
24
|
+
* A small inline status indicator for Genie AI surfaces: the colorful Genie mark next to a label
|
|
25
|
+
* (e.g. "Retrieving", "Thinking", "Searching") whose text pulses in a slow breathing loop while
|
|
26
|
+
* an operation is in progress.
|
|
27
|
+
* ## When to use
|
|
28
|
+
* - Inline in a Genie AI chat transcript to show what the assistant is currently doing while a
|
|
29
|
+
* response is being generated (retrieving context, searching, thinking).
|
|
30
|
+
* ## When not to use
|
|
31
|
+
* - A blocking/full-panel loading state -- this is a small inline indicator, not a spinner overlay.
|
|
32
|
+
* The label's pulse animation reproduces Figma's exact keyframe track (a plain opacity
|
|
33
|
+
* fade-in/hold/reset with the source's own cubic-bezier easing) rather than an invented
|
|
34
|
+
* shimmer-sweep -- the source design only specifies this one animation.
|
|
35
|
+
* @prop --bs-ai-thinking-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
36
|
+
* @prop --bs-ai-thinking-icon-size - Width/height of the icon.
|
|
37
|
+
* @prop --bs-ai-thinking-text - Label color. Aliased to `--bs-text-muted`.
|
|
38
|
+
* @prop --bs-ai-thinking-font-size - Label font size. Aliased to `--bs-font-size-md`.
|
|
39
|
+
* @prop --bs-ai-thinking-line-height - Label line height. Aliased to `--bs-line-height-body-md`.
|
|
40
|
+
* @prop --bs-ai-thinking-cycle-duration - Duration of one pulse loop. Figma specifies exactly 2s,
|
|
41
|
+
* longer than any `--bs-duration-*` token (max `--bs-duration-slower` is 500ms), so this is
|
|
42
|
+
* aliased directly to the literal value.
|
|
43
|
+
*/
|
|
44
|
+
interface BsAiThinking {
|
|
45
|
+
/**
|
|
46
|
+
* The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching".
|
|
47
|
+
* @default 'Thinking'
|
|
48
|
+
*/
|
|
49
|
+
"label": string;
|
|
50
|
+
}
|
|
23
51
|
/**
|
|
24
52
|
* A small status or category pill, usually paired with a label or list item.
|
|
25
53
|
* ## When to use
|
|
@@ -131,12 +159,19 @@ export namespace Components {
|
|
|
131
159
|
* ## When not to use
|
|
132
160
|
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
133
161
|
* Genie chat panel, not a general navigation bar.
|
|
162
|
+
* Each action button shows a `bs-tooltip` (placement="top", i.e. positioned below the button with
|
|
163
|
+
* its arrow pointing up toward it -- fits naturally since this header sits at the top of a panel)
|
|
164
|
+
* on hover/focus, driven by plain CSS (`:hover`/`:focus-within` on a wrapper, no extra JS state).
|
|
165
|
+
* The tooltip is `aria-hidden` since it's a purely visual reinforcement of each button's existing
|
|
166
|
+
* `aria-label` -- screen readers already get the accessible name from the button itself, so the
|
|
167
|
+
* tooltip doesn't need to be (and shouldn't be) announced a second time.
|
|
134
168
|
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
135
169
|
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
136
170
|
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
137
171
|
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
138
172
|
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
139
173
|
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
174
|
+
* @prop --bs-chatbot-header-actions-gap - Gap between the individual action buttons. Aliased to `--bs-spacing-100`.
|
|
140
175
|
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
141
176
|
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
142
177
|
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
@@ -411,6 +446,40 @@ export namespace Components {
|
|
|
411
446
|
*/
|
|
412
447
|
"size": BsModalSize;
|
|
413
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* A dark tooltip bubble with a pointer arrow, used to surface a short hint of extra information
|
|
451
|
+
* next to a trigger element.
|
|
452
|
+
* `bs-tooltip` is a purely presentational bubble -- like `bs-menu`, it does not manage its own
|
|
453
|
+
* visibility, hover/focus triggering, or positioning relative to a trigger element. A consuming
|
|
454
|
+
* app is responsible for showing/hiding it and for positioning it against its trigger (e.g. via a
|
|
455
|
+
* wrapping `position: relative`/`absolute` pattern, the same approach used by
|
|
456
|
+
* `bs-chatbot-response-action` for its own `menu` slot).
|
|
457
|
+
* ## When to use
|
|
458
|
+
* - A short, contextual hint of extra information shown next to a trigger element on hover/focus,
|
|
459
|
+
* where the host app owns the show/hide and positioning logic.
|
|
460
|
+
* ## When not to use
|
|
461
|
+
* - A component that manages its own trigger interaction (hover/focus listeners) or positioning --
|
|
462
|
+
* this component intentionally does not do that; wire that up in the consuming app instead.
|
|
463
|
+
* @prop --bs-tooltip-bg - Background of the bubble and arrow. Aliased to `--bs-surface-inverse`.
|
|
464
|
+
* @prop --bs-tooltip-color - Text color of the slotted content. Aliased to `--bs-text-inverse`.
|
|
465
|
+
* @prop --bs-tooltip-radius - Corner radius of the bubble. Aliased to `--bs-border-radius-50`.
|
|
466
|
+
* @prop --bs-tooltip-padding-x - Left/right padding of the bubble. Aliased to `--bs-spacing-200`.
|
|
467
|
+
* @prop --bs-tooltip-padding-y - Top/bottom padding of the bubble. Aliased to `--bs-spacing-100`.
|
|
468
|
+
* @prop --bs-tooltip-max-width - Max width of the bubble. Aliased to `200px`, Figma's own reference
|
|
469
|
+
* width (the bubble's width is otherwise variable based on content).
|
|
470
|
+
* @prop --bs-tooltip-shadow - Elevation shadow of the bubble. See `bs-tooltip.css` for why this is
|
|
471
|
+
* a literal value rather than a `--bs-shadow-*` token alias.
|
|
472
|
+
* @prop --bs-tooltip-font-size - Font size of the slotted content. Aliased to `--bs-font-size-sm`.
|
|
473
|
+
* @prop --bs-tooltip-line-height - Line height of the slotted content. Aliased to
|
|
474
|
+
* `--bs-line-height-body-sm`.
|
|
475
|
+
*/
|
|
476
|
+
interface BsTooltip {
|
|
477
|
+
/**
|
|
478
|
+
* Which edge of the bubble the arrow points from, and therefore which side of a trigger the bubble should be placed on. `'top'` is the only value implemented -- it is the only variant confirmed from the Figma "EG Tooltip" component (arrow at the top of the bubble, pointing up). Bottom/left/right variants aren't implemented pending further Figma design confirmation.
|
|
479
|
+
* @default 'top'
|
|
480
|
+
*/
|
|
481
|
+
"placement": 'top';
|
|
482
|
+
}
|
|
414
483
|
}
|
|
415
484
|
export interface BsChatbotHeaderCustomEvent<T> extends CustomEvent<T> {
|
|
416
485
|
detail: T;
|
|
@@ -445,6 +514,33 @@ export interface BsModalCustomEvent<T> extends CustomEvent<T> {
|
|
|
445
514
|
target: HTMLBsModalElement;
|
|
446
515
|
}
|
|
447
516
|
declare global {
|
|
517
|
+
/**
|
|
518
|
+
* A small inline status indicator for Genie AI surfaces: the colorful Genie mark next to a label
|
|
519
|
+
* (e.g. "Retrieving", "Thinking", "Searching") whose text pulses in a slow breathing loop while
|
|
520
|
+
* an operation is in progress.
|
|
521
|
+
* ## When to use
|
|
522
|
+
* - Inline in a Genie AI chat transcript to show what the assistant is currently doing while a
|
|
523
|
+
* response is being generated (retrieving context, searching, thinking).
|
|
524
|
+
* ## When not to use
|
|
525
|
+
* - A blocking/full-panel loading state -- this is a small inline indicator, not a spinner overlay.
|
|
526
|
+
* The label's pulse animation reproduces Figma's exact keyframe track (a plain opacity
|
|
527
|
+
* fade-in/hold/reset with the source's own cubic-bezier easing) rather than an invented
|
|
528
|
+
* shimmer-sweep -- the source design only specifies this one animation.
|
|
529
|
+
* @prop --bs-ai-thinking-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
530
|
+
* @prop --bs-ai-thinking-icon-size - Width/height of the icon.
|
|
531
|
+
* @prop --bs-ai-thinking-text - Label color. Aliased to `--bs-text-muted`.
|
|
532
|
+
* @prop --bs-ai-thinking-font-size - Label font size. Aliased to `--bs-font-size-md`.
|
|
533
|
+
* @prop --bs-ai-thinking-line-height - Label line height. Aliased to `--bs-line-height-body-md`.
|
|
534
|
+
* @prop --bs-ai-thinking-cycle-duration - Duration of one pulse loop. Figma specifies exactly 2s,
|
|
535
|
+
* longer than any `--bs-duration-*` token (max `--bs-duration-slower` is 500ms), so this is
|
|
536
|
+
* aliased directly to the literal value.
|
|
537
|
+
*/
|
|
538
|
+
interface HTMLBsAiThinkingElement extends Components.BsAiThinking, HTMLStencilElement {
|
|
539
|
+
}
|
|
540
|
+
var HTMLBsAiThinkingElement: {
|
|
541
|
+
prototype: HTMLBsAiThinkingElement;
|
|
542
|
+
new (): HTMLBsAiThinkingElement;
|
|
543
|
+
};
|
|
448
544
|
/**
|
|
449
545
|
* A small status or category pill, usually paired with a label or list item.
|
|
450
546
|
* ## When to use
|
|
@@ -538,12 +634,19 @@ declare global {
|
|
|
538
634
|
* ## When not to use
|
|
539
635
|
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
540
636
|
* Genie chat panel, not a general navigation bar.
|
|
637
|
+
* Each action button shows a `bs-tooltip` (placement="top", i.e. positioned below the button with
|
|
638
|
+
* its arrow pointing up toward it -- fits naturally since this header sits at the top of a panel)
|
|
639
|
+
* on hover/focus, driven by plain CSS (`:hover`/`:focus-within` on a wrapper, no extra JS state).
|
|
640
|
+
* The tooltip is `aria-hidden` since it's a purely visual reinforcement of each button's existing
|
|
641
|
+
* `aria-label` -- screen readers already get the accessible name from the button itself, so the
|
|
642
|
+
* tooltip doesn't need to be (and shouldn't be) announced a second time.
|
|
541
643
|
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
542
644
|
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
543
645
|
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
544
646
|
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
545
647
|
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
546
648
|
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
649
|
+
* @prop --bs-chatbot-header-actions-gap - Gap between the individual action buttons. Aliased to `--bs-spacing-100`.
|
|
547
650
|
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
548
651
|
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
549
652
|
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
@@ -853,7 +956,41 @@ declare global {
|
|
|
853
956
|
prototype: HTMLBsModalElement;
|
|
854
957
|
new (): HTMLBsModalElement;
|
|
855
958
|
};
|
|
959
|
+
/**
|
|
960
|
+
* A dark tooltip bubble with a pointer arrow, used to surface a short hint of extra information
|
|
961
|
+
* next to a trigger element.
|
|
962
|
+
* `bs-tooltip` is a purely presentational bubble -- like `bs-menu`, it does not manage its own
|
|
963
|
+
* visibility, hover/focus triggering, or positioning relative to a trigger element. A consuming
|
|
964
|
+
* app is responsible for showing/hiding it and for positioning it against its trigger (e.g. via a
|
|
965
|
+
* wrapping `position: relative`/`absolute` pattern, the same approach used by
|
|
966
|
+
* `bs-chatbot-response-action` for its own `menu` slot).
|
|
967
|
+
* ## When to use
|
|
968
|
+
* - A short, contextual hint of extra information shown next to a trigger element on hover/focus,
|
|
969
|
+
* where the host app owns the show/hide and positioning logic.
|
|
970
|
+
* ## When not to use
|
|
971
|
+
* - A component that manages its own trigger interaction (hover/focus listeners) or positioning --
|
|
972
|
+
* this component intentionally does not do that; wire that up in the consuming app instead.
|
|
973
|
+
* @prop --bs-tooltip-bg - Background of the bubble and arrow. Aliased to `--bs-surface-inverse`.
|
|
974
|
+
* @prop --bs-tooltip-color - Text color of the slotted content. Aliased to `--bs-text-inverse`.
|
|
975
|
+
* @prop --bs-tooltip-radius - Corner radius of the bubble. Aliased to `--bs-border-radius-50`.
|
|
976
|
+
* @prop --bs-tooltip-padding-x - Left/right padding of the bubble. Aliased to `--bs-spacing-200`.
|
|
977
|
+
* @prop --bs-tooltip-padding-y - Top/bottom padding of the bubble. Aliased to `--bs-spacing-100`.
|
|
978
|
+
* @prop --bs-tooltip-max-width - Max width of the bubble. Aliased to `200px`, Figma's own reference
|
|
979
|
+
* width (the bubble's width is otherwise variable based on content).
|
|
980
|
+
* @prop --bs-tooltip-shadow - Elevation shadow of the bubble. See `bs-tooltip.css` for why this is
|
|
981
|
+
* a literal value rather than a `--bs-shadow-*` token alias.
|
|
982
|
+
* @prop --bs-tooltip-font-size - Font size of the slotted content. Aliased to `--bs-font-size-sm`.
|
|
983
|
+
* @prop --bs-tooltip-line-height - Line height of the slotted content. Aliased to
|
|
984
|
+
* `--bs-line-height-body-sm`.
|
|
985
|
+
*/
|
|
986
|
+
interface HTMLBsTooltipElement extends Components.BsTooltip, HTMLStencilElement {
|
|
987
|
+
}
|
|
988
|
+
var HTMLBsTooltipElement: {
|
|
989
|
+
prototype: HTMLBsTooltipElement;
|
|
990
|
+
new (): HTMLBsTooltipElement;
|
|
991
|
+
};
|
|
856
992
|
interface HTMLElementTagNameMap {
|
|
993
|
+
"bs-ai-thinking": HTMLBsAiThinkingElement;
|
|
857
994
|
"bs-badge": HTMLBsBadgeElement;
|
|
858
995
|
"bs-button": HTMLBsButtonElement;
|
|
859
996
|
"bs-button-skeleton": HTMLBsButtonSkeletonElement;
|
|
@@ -867,9 +1004,38 @@ declare global {
|
|
|
867
1004
|
"bs-menu": HTMLBsMenuElement;
|
|
868
1005
|
"bs-menu-item": HTMLBsMenuItemElement;
|
|
869
1006
|
"bs-modal": HTMLBsModalElement;
|
|
1007
|
+
"bs-tooltip": HTMLBsTooltipElement;
|
|
870
1008
|
}
|
|
871
1009
|
}
|
|
872
1010
|
declare namespace LocalJSX {
|
|
1011
|
+
/**
|
|
1012
|
+
* A small inline status indicator for Genie AI surfaces: the colorful Genie mark next to a label
|
|
1013
|
+
* (e.g. "Retrieving", "Thinking", "Searching") whose text pulses in a slow breathing loop while
|
|
1014
|
+
* an operation is in progress.
|
|
1015
|
+
* ## When to use
|
|
1016
|
+
* - Inline in a Genie AI chat transcript to show what the assistant is currently doing while a
|
|
1017
|
+
* response is being generated (retrieving context, searching, thinking).
|
|
1018
|
+
* ## When not to use
|
|
1019
|
+
* - A blocking/full-panel loading state -- this is a small inline indicator, not a spinner overlay.
|
|
1020
|
+
* The label's pulse animation reproduces Figma's exact keyframe track (a plain opacity
|
|
1021
|
+
* fade-in/hold/reset with the source's own cubic-bezier easing) rather than an invented
|
|
1022
|
+
* shimmer-sweep -- the source design only specifies this one animation.
|
|
1023
|
+
* @prop --bs-ai-thinking-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
1024
|
+
* @prop --bs-ai-thinking-icon-size - Width/height of the icon.
|
|
1025
|
+
* @prop --bs-ai-thinking-text - Label color. Aliased to `--bs-text-muted`.
|
|
1026
|
+
* @prop --bs-ai-thinking-font-size - Label font size. Aliased to `--bs-font-size-md`.
|
|
1027
|
+
* @prop --bs-ai-thinking-line-height - Label line height. Aliased to `--bs-line-height-body-md`.
|
|
1028
|
+
* @prop --bs-ai-thinking-cycle-duration - Duration of one pulse loop. Figma specifies exactly 2s,
|
|
1029
|
+
* longer than any `--bs-duration-*` token (max `--bs-duration-slower` is 500ms), so this is
|
|
1030
|
+
* aliased directly to the literal value.
|
|
1031
|
+
*/
|
|
1032
|
+
interface BsAiThinking {
|
|
1033
|
+
/**
|
|
1034
|
+
* The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching".
|
|
1035
|
+
* @default 'Thinking'
|
|
1036
|
+
*/
|
|
1037
|
+
"label"?: string;
|
|
1038
|
+
}
|
|
873
1039
|
/**
|
|
874
1040
|
* A small status or category pill, usually paired with a label or list item.
|
|
875
1041
|
* ## When to use
|
|
@@ -981,12 +1147,19 @@ declare namespace LocalJSX {
|
|
|
981
1147
|
* ## When not to use
|
|
982
1148
|
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
983
1149
|
* Genie chat panel, not a general navigation bar.
|
|
1150
|
+
* Each action button shows a `bs-tooltip` (placement="top", i.e. positioned below the button with
|
|
1151
|
+
* its arrow pointing up toward it -- fits naturally since this header sits at the top of a panel)
|
|
1152
|
+
* on hover/focus, driven by plain CSS (`:hover`/`:focus-within` on a wrapper, no extra JS state).
|
|
1153
|
+
* The tooltip is `aria-hidden` since it's a purely visual reinforcement of each button's existing
|
|
1154
|
+
* `aria-label` -- screen readers already get the accessible name from the button itself, so the
|
|
1155
|
+
* tooltip doesn't need to be (and shouldn't be) announced a second time.
|
|
984
1156
|
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
985
1157
|
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
986
1158
|
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
987
1159
|
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
988
1160
|
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
989
1161
|
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
1162
|
+
* @prop --bs-chatbot-header-actions-gap - Gap between the individual action buttons. Aliased to `--bs-spacing-100`.
|
|
990
1163
|
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
991
1164
|
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
992
1165
|
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
@@ -1338,7 +1511,44 @@ declare namespace LocalJSX {
|
|
|
1338
1511
|
*/
|
|
1339
1512
|
"size"?: BsModalSize;
|
|
1340
1513
|
}
|
|
1514
|
+
/**
|
|
1515
|
+
* A dark tooltip bubble with a pointer arrow, used to surface a short hint of extra information
|
|
1516
|
+
* next to a trigger element.
|
|
1517
|
+
* `bs-tooltip` is a purely presentational bubble -- like `bs-menu`, it does not manage its own
|
|
1518
|
+
* visibility, hover/focus triggering, or positioning relative to a trigger element. A consuming
|
|
1519
|
+
* app is responsible for showing/hiding it and for positioning it against its trigger (e.g. via a
|
|
1520
|
+
* wrapping `position: relative`/`absolute` pattern, the same approach used by
|
|
1521
|
+
* `bs-chatbot-response-action` for its own `menu` slot).
|
|
1522
|
+
* ## When to use
|
|
1523
|
+
* - A short, contextual hint of extra information shown next to a trigger element on hover/focus,
|
|
1524
|
+
* where the host app owns the show/hide and positioning logic.
|
|
1525
|
+
* ## When not to use
|
|
1526
|
+
* - A component that manages its own trigger interaction (hover/focus listeners) or positioning --
|
|
1527
|
+
* this component intentionally does not do that; wire that up in the consuming app instead.
|
|
1528
|
+
* @prop --bs-tooltip-bg - Background of the bubble and arrow. Aliased to `--bs-surface-inverse`.
|
|
1529
|
+
* @prop --bs-tooltip-color - Text color of the slotted content. Aliased to `--bs-text-inverse`.
|
|
1530
|
+
* @prop --bs-tooltip-radius - Corner radius of the bubble. Aliased to `--bs-border-radius-50`.
|
|
1531
|
+
* @prop --bs-tooltip-padding-x - Left/right padding of the bubble. Aliased to `--bs-spacing-200`.
|
|
1532
|
+
* @prop --bs-tooltip-padding-y - Top/bottom padding of the bubble. Aliased to `--bs-spacing-100`.
|
|
1533
|
+
* @prop --bs-tooltip-max-width - Max width of the bubble. Aliased to `200px`, Figma's own reference
|
|
1534
|
+
* width (the bubble's width is otherwise variable based on content).
|
|
1535
|
+
* @prop --bs-tooltip-shadow - Elevation shadow of the bubble. See `bs-tooltip.css` for why this is
|
|
1536
|
+
* a literal value rather than a `--bs-shadow-*` token alias.
|
|
1537
|
+
* @prop --bs-tooltip-font-size - Font size of the slotted content. Aliased to `--bs-font-size-sm`.
|
|
1538
|
+
* @prop --bs-tooltip-line-height - Line height of the slotted content. Aliased to
|
|
1539
|
+
* `--bs-line-height-body-sm`.
|
|
1540
|
+
*/
|
|
1541
|
+
interface BsTooltip {
|
|
1542
|
+
/**
|
|
1543
|
+
* Which edge of the bubble the arrow points from, and therefore which side of a trigger the bubble should be placed on. `'top'` is the only value implemented -- it is the only variant confirmed from the Figma "EG Tooltip" component (arrow at the top of the bubble, pointing up). Bottom/left/right variants aren't implemented pending further Figma design confirmation.
|
|
1544
|
+
* @default 'top'
|
|
1545
|
+
*/
|
|
1546
|
+
"placement"?: 'top';
|
|
1547
|
+
}
|
|
1341
1548
|
|
|
1549
|
+
interface BsAiThinkingAttributes {
|
|
1550
|
+
"label": string;
|
|
1551
|
+
}
|
|
1342
1552
|
interface BsBadgeAttributes {
|
|
1343
1553
|
"variant": BsBadgeVariant;
|
|
1344
1554
|
}
|
|
@@ -1392,8 +1602,12 @@ declare namespace LocalJSX {
|
|
|
1392
1602
|
"heading": string;
|
|
1393
1603
|
"size": BsModalSize;
|
|
1394
1604
|
}
|
|
1605
|
+
interface BsTooltipAttributes {
|
|
1606
|
+
"placement": 'top';
|
|
1607
|
+
}
|
|
1395
1608
|
|
|
1396
1609
|
interface IntrinsicElements {
|
|
1610
|
+
"bs-ai-thinking": Omit<BsAiThinking, keyof BsAiThinkingAttributes> & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes]?: BsAiThinking[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `attr:${K}`]?: BsAiThinkingAttributes[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `prop:${K}`]?: BsAiThinking[K] };
|
|
1397
1611
|
"bs-badge": Omit<BsBadge, keyof BsBadgeAttributes> & { [K in keyof BsBadge & keyof BsBadgeAttributes]?: BsBadge[K] } & { [K in keyof BsBadge & keyof BsBadgeAttributes as `attr:${K}`]?: BsBadgeAttributes[K] } & { [K in keyof BsBadge & keyof BsBadgeAttributes as `prop:${K}`]?: BsBadge[K] };
|
|
1398
1612
|
"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] };
|
|
1399
1613
|
"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] };
|
|
@@ -1407,12 +1621,35 @@ declare namespace LocalJSX {
|
|
|
1407
1621
|
"bs-menu": BsMenu;
|
|
1408
1622
|
"bs-menu-item": BsMenuItem;
|
|
1409
1623
|
"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] };
|
|
1624
|
+
"bs-tooltip": Omit<BsTooltip, keyof BsTooltipAttributes> & { [K in keyof BsTooltip & keyof BsTooltipAttributes]?: BsTooltip[K] } & { [K in keyof BsTooltip & keyof BsTooltipAttributes as `attr:${K}`]?: BsTooltipAttributes[K] } & { [K in keyof BsTooltip & keyof BsTooltipAttributes as `prop:${K}`]?: BsTooltip[K] };
|
|
1410
1625
|
}
|
|
1411
1626
|
}
|
|
1412
1627
|
export { LocalJSX as JSX };
|
|
1413
1628
|
declare module "@stencil/core" {
|
|
1414
1629
|
export namespace JSX {
|
|
1415
1630
|
interface IntrinsicElements {
|
|
1631
|
+
/**
|
|
1632
|
+
* A small inline status indicator for Genie AI surfaces: the colorful Genie mark next to a label
|
|
1633
|
+
* (e.g. "Retrieving", "Thinking", "Searching") whose text pulses in a slow breathing loop while
|
|
1634
|
+
* an operation is in progress.
|
|
1635
|
+
* ## When to use
|
|
1636
|
+
* - Inline in a Genie AI chat transcript to show what the assistant is currently doing while a
|
|
1637
|
+
* response is being generated (retrieving context, searching, thinking).
|
|
1638
|
+
* ## When not to use
|
|
1639
|
+
* - A blocking/full-panel loading state -- this is a small inline indicator, not a spinner overlay.
|
|
1640
|
+
* The label's pulse animation reproduces Figma's exact keyframe track (a plain opacity
|
|
1641
|
+
* fade-in/hold/reset with the source's own cubic-bezier easing) rather than an invented
|
|
1642
|
+
* shimmer-sweep -- the source design only specifies this one animation.
|
|
1643
|
+
* @prop --bs-ai-thinking-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
1644
|
+
* @prop --bs-ai-thinking-icon-size - Width/height of the icon.
|
|
1645
|
+
* @prop --bs-ai-thinking-text - Label color. Aliased to `--bs-text-muted`.
|
|
1646
|
+
* @prop --bs-ai-thinking-font-size - Label font size. Aliased to `--bs-font-size-md`.
|
|
1647
|
+
* @prop --bs-ai-thinking-line-height - Label line height. Aliased to `--bs-line-height-body-md`.
|
|
1648
|
+
* @prop --bs-ai-thinking-cycle-duration - Duration of one pulse loop. Figma specifies exactly 2s,
|
|
1649
|
+
* longer than any `--bs-duration-*` token (max `--bs-duration-slower` is 500ms), so this is
|
|
1650
|
+
* aliased directly to the literal value.
|
|
1651
|
+
*/
|
|
1652
|
+
"bs-ai-thinking": LocalJSX.IntrinsicElements["bs-ai-thinking"] & JSXBase.HTMLAttributes<HTMLBsAiThinkingElement>;
|
|
1416
1653
|
/**
|
|
1417
1654
|
* A small status or category pill, usually paired with a label or list item.
|
|
1418
1655
|
* ## When to use
|
|
@@ -1480,12 +1717,19 @@ declare module "@stencil/core" {
|
|
|
1480
1717
|
* ## When not to use
|
|
1481
1718
|
* - A generic app/page header — this component's layout and actions are purpose-built for the
|
|
1482
1719
|
* Genie chat panel, not a general navigation bar.
|
|
1720
|
+
* Each action button shows a `bs-tooltip` (placement="top", i.e. positioned below the button with
|
|
1721
|
+
* its arrow pointing up toward it -- fits naturally since this header sits at the top of a panel)
|
|
1722
|
+
* on hover/focus, driven by plain CSS (`:hover`/`:focus-within` on a wrapper, no extra JS state).
|
|
1723
|
+
* The tooltip is `aria-hidden` since it's a purely visual reinforcement of each button's existing
|
|
1724
|
+
* `aria-label` -- screen readers already get the accessible name from the button itself, so the
|
|
1725
|
+
* tooltip doesn't need to be (and shouldn't be) announced a second time.
|
|
1483
1726
|
* @prop --bs-chatbot-header-bg - Background of the header bar. Aliased to `--bs-surface-base`.
|
|
1484
1727
|
* @prop --bs-chatbot-header-border - Bottom border color. Aliased to `--bs-border-default`.
|
|
1485
1728
|
* @prop --bs-chatbot-header-padding-top - Aliased to `--bs-spacing-200`.
|
|
1486
1729
|
* @prop --bs-chatbot-header-padding-bottom - Aliased to `--bs-spacing-100`.
|
|
1487
1730
|
* @prop --bs-chatbot-header-padding-x - Aliased to `--bs-margin-fluid`.
|
|
1488
1731
|
* @prop --bs-chatbot-header-gap - Gap between the logo and the button group. Aliased to `--bs-navigation-header-gap`.
|
|
1732
|
+
* @prop --bs-chatbot-header-actions-gap - Gap between the individual action buttons. Aliased to `--bs-spacing-100`.
|
|
1489
1733
|
* @prop --bs-chatbot-header-button-size - Width/height of each icon button. Aliased to `--bs-spacing-600`.
|
|
1490
1734
|
* @prop --bs-chatbot-header-button-radius - Corner radius of each icon button. Aliased to `--bs-border-radius-100`.
|
|
1491
1735
|
* @prop --bs-chatbot-header-button-hover - Icon button background on hover. Aliased to `--bs-color-neutral-container`.
|
|
@@ -1653,6 +1897,34 @@ declare module "@stencil/core" {
|
|
|
1653
1897
|
* modal that just gets taller and taller.
|
|
1654
1898
|
*/
|
|
1655
1899
|
"bs-modal": LocalJSX.IntrinsicElements["bs-modal"] & JSXBase.HTMLAttributes<HTMLBsModalElement>;
|
|
1900
|
+
/**
|
|
1901
|
+
* A dark tooltip bubble with a pointer arrow, used to surface a short hint of extra information
|
|
1902
|
+
* next to a trigger element.
|
|
1903
|
+
* `bs-tooltip` is a purely presentational bubble -- like `bs-menu`, it does not manage its own
|
|
1904
|
+
* visibility, hover/focus triggering, or positioning relative to a trigger element. A consuming
|
|
1905
|
+
* app is responsible for showing/hiding it and for positioning it against its trigger (e.g. via a
|
|
1906
|
+
* wrapping `position: relative`/`absolute` pattern, the same approach used by
|
|
1907
|
+
* `bs-chatbot-response-action` for its own `menu` slot).
|
|
1908
|
+
* ## When to use
|
|
1909
|
+
* - A short, contextual hint of extra information shown next to a trigger element on hover/focus,
|
|
1910
|
+
* where the host app owns the show/hide and positioning logic.
|
|
1911
|
+
* ## When not to use
|
|
1912
|
+
* - A component that manages its own trigger interaction (hover/focus listeners) or positioning --
|
|
1913
|
+
* this component intentionally does not do that; wire that up in the consuming app instead.
|
|
1914
|
+
* @prop --bs-tooltip-bg - Background of the bubble and arrow. Aliased to `--bs-surface-inverse`.
|
|
1915
|
+
* @prop --bs-tooltip-color - Text color of the slotted content. Aliased to `--bs-text-inverse`.
|
|
1916
|
+
* @prop --bs-tooltip-radius - Corner radius of the bubble. Aliased to `--bs-border-radius-50`.
|
|
1917
|
+
* @prop --bs-tooltip-padding-x - Left/right padding of the bubble. Aliased to `--bs-spacing-200`.
|
|
1918
|
+
* @prop --bs-tooltip-padding-y - Top/bottom padding of the bubble. Aliased to `--bs-spacing-100`.
|
|
1919
|
+
* @prop --bs-tooltip-max-width - Max width of the bubble. Aliased to `200px`, Figma's own reference
|
|
1920
|
+
* width (the bubble's width is otherwise variable based on content).
|
|
1921
|
+
* @prop --bs-tooltip-shadow - Elevation shadow of the bubble. See `bs-tooltip.css` for why this is
|
|
1922
|
+
* a literal value rather than a `--bs-shadow-*` token alias.
|
|
1923
|
+
* @prop --bs-tooltip-font-size - Font size of the slotted content. Aliased to `--bs-font-size-sm`.
|
|
1924
|
+
* @prop --bs-tooltip-line-height - Line height of the slotted content. Aliased to
|
|
1925
|
+
* `--bs-line-height-body-sm`.
|
|
1926
|
+
*/
|
|
1927
|
+
"bs-tooltip": LocalJSX.IntrinsicElements["bs-tooltip"] & JSXBase.HTMLAttributes<HTMLBsTooltipElement>;
|
|
1656
1928
|
}
|
|
1657
1929
|
}
|
|
1658
1930
|
}
|