botframework-webchat-fluent-theme 4.18.1-main.20250708.40736b1 → 4.18.1-main.20250721.cf546fb

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat-fluent-theme",
3
- "version": "4.18.1-main.20250708.40736b1",
3
+ "version": "4.18.1-main.20250721.cf546fb",
4
4
  "description": "Fluent theme for Bot Framework Web Chat",
5
5
  "main": "./dist/botframework-webchat-fluent-theme.js",
6
6
  "types": "./dist/botframework-webchat-fluent-theme.d.ts",
@@ -68,15 +68,15 @@
68
68
  "@types/math-random": "^1.0.2",
69
69
  "@types/node": "^22.13.4",
70
70
  "@types/react": "^16.14.62",
71
- "botframework-webchat-base": "4.18.1-main.20250708.40736b1",
72
- "botframework-webchat-styles": "4.18.1-main.20250708.40736b1",
71
+ "botframework-webchat-base": "4.18.1-main.20250721.cf546fb",
72
+ "botframework-webchat-styles": "4.18.1-main.20250721.cf546fb",
73
73
  "tsup": "^8.3.6",
74
74
  "typescript": "^5.7.3"
75
75
  },
76
76
  "dependencies": {
77
- "botframework-webchat-api": "4.18.1-main.20250708.40736b1",
78
- "botframework-webchat-component": "4.18.1-main.20250708.40736b1",
79
- "botframework-webchat-core": "4.18.1-main.20250708.40736b1",
77
+ "botframework-webchat-api": "4.18.1-main.20250721.cf546fb",
78
+ "botframework-webchat-component": "4.18.1-main.20250721.cf546fb",
79
+ "botframework-webchat-core": "4.18.1-main.20250721.cf546fb",
80
80
  "classnames": "2.5.1",
81
81
  "inject-meta-tag": "0.0.1",
82
82
  "math-random": "2.0.1",
@@ -118,7 +118,7 @@
118
118
  font-size: var(--webchat-fontSizeBase400);
119
119
  line-height: var(--webchat-lineHeightBase400);
120
120
  color: var(--webchat-colorNeutralForeground4);
121
- margin: var(--webchat__bubble--block-padding) var(--webchat__bubble--inline-padding) 0;
121
+ margin: var(--webchat__bubble--block-padding) var(--webchat__bubble--inline-padding);
122
122
  }
123
123
 
124
124
  :global(.stacked-layout__attachment-row) {
@@ -6,7 +6,8 @@
6
6
  width: auto;
7
7
 
8
8
  &.variant-fluent {
9
- margin: 0 0 var(--webchat-spacingVerticalM) var(--webchat-spacingHorizontalSNudge);
9
+ margin: 0 var(--webchat-spacingHorizontalSNudge) var(--webchat-spacingVerticalM)
10
+ var(--webchat-spacingHorizontalSNudge);
10
11
  }
11
12
 
12
13
  &.variant-copilot {
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  :global(.webchat-fluent) .pre-chat-message-activity__body--blueprint {
25
- opacity: 60%;
25
+ opacity: 65%;
26
26
 
27
27
  .pre-chat-message-activity__body-avatar {
28
28
  filter: grayscale(1);
@@ -1,7 +1,7 @@
1
1
  import { hooks } from 'botframework-webchat-api';
2
2
  import { type DirectLineCardAction } from 'botframework-webchat-core';
3
3
  import cx from 'classnames';
4
- import React, { Fragment, memo } from 'react';
4
+ import React, { memo } from 'react';
5
5
  import { useStyles } from '../../styles/index.js';
6
6
  import StarterPromptsCardAction from './StarterPromptsCardAction.js';
7
7
  import styles from './StarterPromptsToolbar.module.css';
@@ -21,13 +21,7 @@ const StarterPromptsToolbar = ({ cardActions, className }: Props) => {
21
21
  // TODO: Accessibility-wise, this should be role="toolbar" with keyboard navigation.
22
22
  <div className={cx(className, classNames['pre-chat-message-activity__card-action-toolbar'])}>
23
23
  <div className={classNames['pre-chat-message-activity__card-action-toolbar-grid']}>
24
- {uiState === 'blueprint' ? (
25
- <Fragment>
26
- <StarterPromptsCardAction />
27
- <StarterPromptsCardAction />
28
- <StarterPromptsCardAction />
29
- </Fragment>
30
- ) : (
24
+ {uiState !== 'blueprint' &&
31
25
  cardActions
32
26
  .filter<DirectLineCardAction & { type: 'messageBack' }>(
33
27
  (card: DirectLineCardAction): card is DirectLineCardAction & { type: 'messageBack' } =>
@@ -35,8 +29,7 @@ const StarterPromptsToolbar = ({ cardActions, className }: Props) => {
35
29
  )
36
30
  // There is no other usable keys in card actions.
37
31
  // eslint-disable-next-line react/no-array-index-key
38
- .map((cardAction, index) => <StarterPromptsCardAction key={index} messageBackAction={cardAction} />)
39
- )}
32
+ .map((cardAction, index) => <StarterPromptsCardAction key={index} messageBackAction={cardAction} />)}
40
33
  </div>
41
34
  </div>
42
35
  );
@@ -1,14 +1,11 @@
1
1
  /* eslint-disable prefer-arrow-callback */
2
2
  import { type ActivityMiddleware, type StyleOptions, type TypingIndicatorMiddleware } from 'botframework-webchat-api';
3
3
  import {
4
- ActivityBorderDecoratorRequest,
5
4
  createActivityBorderMiddleware,
6
5
  DecoratorComposer,
7
- type InferDecoratorRequest,
8
- useDecoratorRequest,
9
6
  type DecoratorMiddleware
10
7
  } from 'botframework-webchat-api/decorator';
11
- import { BorderFlair, WebChatDecorator } from 'botframework-webchat-component/decorator';
8
+ import { WebChatDecorator } from 'botframework-webchat-component/decorator';
12
9
  import { Components } from 'botframework-webchat-component';
13
10
  import React, { memo, type ReactNode } from 'react';
14
11
 
@@ -22,7 +19,6 @@ import { TelephoneKeypadProvider } from '../components/telephoneKeypad';
22
19
  import { WebChatTheme } from '../components/theme';
23
20
  import SlidingDotsTypingIndicator from '../components/typingIndicator/SlidingDotsTypingIndicator';
24
21
  import { createStyles } from '../styles';
25
- import { composePipeline } from './composePipeline';
26
22
  import VariantComposer, { VariantList } from './VariantComposer';
27
23
 
28
24
  const { ThemeProvider } = Components;
@@ -57,34 +53,14 @@ const activityMiddleware: readonly ActivityMiddleware[] = Object.freeze([
57
53
 
58
54
  const sendBoxMiddleware = [() => () => () => PrimarySendBox];
59
55
 
60
- const FluentDecorator = composePipeline<InferDecoratorRequest<typeof ActivityBorderDecoratorRequest>>([
61
- function FluentBorderLoader({ request, Next, ...props }) {
56
+ const decoratorMiddleware: readonly DecoratorMiddleware[] = Object.freeze([
57
+ createActivityBorderMiddleware(function FluentBorderLoader({ request, Next, ...props }) {
62
58
  return (
63
- <ActivityLoader showLoader={request.livestreamingState === 'preparing'}>
64
- <Next {...props} />
59
+ <ActivityLoader showLoader={props.showLoader ?? request.livestreamingState === 'preparing'}>
60
+ <Next {...props} showLoader={false} />
65
61
  </ActivityLoader>
66
62
  );
67
- },
68
- function FluentBorderFlair({ request, Next, ...props }) {
69
- return (
70
- <BorderFlair showFlair={request.livestreamingState === 'completing'}>
71
- <Next {...props} />
72
- </BorderFlair>
73
- );
74
- }
75
- ]);
76
-
77
- FluentDecorator.displayName = 'FluentDecoratorPipeline';
78
-
79
- const FluentDecoratorWithRequest = memo(function DecoratorWithRequest(props) {
80
- const request = useDecoratorRequest(ActivityBorderDecoratorRequest);
81
- return <FluentDecorator {...props} request={request} />;
82
- });
83
-
84
- FluentDecoratorWithRequest.displayName = 'FluentDecoratorWithRequest';
85
-
86
- const decoratorMiddleware: readonly DecoratorMiddleware[] = Object.freeze([
87
- createActivityBorderMiddleware(() => () => FluentDecoratorWithRequest)
63
+ })
88
64
  ]);
89
65
 
90
66
  const styles = createStyles('fluent-theme');