Skip to content

Commit 8955118

Browse files
committed
WIP: Add style option to configure default group open state
1 parent e5cc812 commit 8955118

4 files changed

Lines changed: 12 additions & 2 deletions

File tree

packages/api/src/StyleOptions.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -966,6 +966,13 @@ type StyleOptions = {
966966
*/
967967
speechRecognitionContinuous?: boolean | undefined;
968968

969+
/**
970+
* Whether collapsible activity groupings ("part" groups) are open by default.
971+
*
972+
* @default true
973+
*/
974+
collapsibleGroupingDefaultOpen?: boolean | undefined;
975+
969976
/**
970977
* Defines how activities are being grouped by (in the order of appearance in the array). Default to `['sender', 'status', 'part']` or `sender,status` in CSS.
971978
*

packages/api/src/defaultStyleOptions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@ const DEFAULT_OPTIONS: Required<StyleOptions> = {
313313
// Speech recognition
314314
speechRecognitionContinuous: false,
315315

316+
collapsibleGroupingDefaultOpen: true,
316317
groupActivitiesBy: ['sender', 'status', 'part'],
317318

318319
// Send box attachment bar

packages/component/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ function PartGroupingActivity(props: PartGroupingActivityProps) {
143143

144144
const classNames = useStyles(styles);
145145
const getKeyByActivity = useGetKeyByActivity();
146-
const [isGroupOpen, setIsGroupOpen] = useState(true);
146+
const [{ collapsibleGroupingDefaultOpen }] = useStyleOptions();
147+
const [isGroupOpen, setIsGroupOpen] = useState(collapsibleGroupingDefaultOpen);
147148

148149
const messages = useMemo(
149150
() => activities.map(activity => getOrgSchemaMessage(activity.entities)).filter(message => !!message),

packages/fluent-theme/src/private/FluentThemeProvider.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,11 @@ function FluentThemeProvider(props: FluentThemeProviderProps) {
104104
const fluentStyleOptions = useMemo(
105105
() =>
106106
Object.freeze({
107+
...(variant === 'copilot' && { collapsibleGroupingDefaultOpen: false }),
107108
feedbackActionsPlacement: 'activity-actions',
108109
stylesRoot
109110
}),
110-
[stylesRoot]
111+
[stylesRoot, variant]
111112
);
112113

113114
return (

0 commit comments

Comments
 (0)