@@ -2,12 +2,15 @@ import * as React from "react";
22import { IDocumentCardStyles } from "@fluentui/react/lib/DocumentCard" ;
33import { IStackStyles } from "@fluentui/react/lib/Stack" ;
44import {
5+ FontWeights ,
6+ getTheme ,
57 IStyle ,
68 mergeStyles ,
79 mergeStyleSets ,
8- } from "@fluentui/react/lib/Styling" ;
9- import { AppContext } from "../../common" ;
10- import { TILE_HEIGHT } from "../../common/constants" ;
10+ } from '@fluentui/react/lib/Styling' ;
11+ import { AppContext } from '../../common' ;
12+ import { TILE_HEIGHT } from '../../common/constants' ;
13+ import { IButtonStyles } from '@fluentui/react' ;
1114
1215interface returnObjectStyles {
1316 itemContainerStyles : IStackStyles ;
@@ -19,10 +22,14 @@ interface returnObjectStyles {
1922 documentCardHighlightedStyles : Partial < IDocumentCardStyles > ;
2023 documentCardUserStyles : Partial < IDocumentCardStyles > ;
2124 configurationListClasses : any ; // eslint-disable-line @typescript-eslint/no-explicit-any
25+ contentStyles : any ; // eslint-disable-line @typescript-eslint/no-explicit-any
26+ iconButtonStyles : Partial < IButtonStyles > ;
2227}
2328
2429export const useListItemCommentsStyles = ( ) : returnObjectStyles => {
2530 const { theme, numberCommentsPerPage } = React . useContext ( AppContext ) ;
31+ const fluentTheme = getTheme ( ) ;
32+
2633 // Calc Height List tiles Container Based on number Items per Page
2734 const tilesHeight : number = numberCommentsPerPage
2835 ? ( numberCommentsPerPage < 5 ? 5 : numberCommentsPerPage ) * TILE_HEIGHT + 35
@@ -140,6 +147,55 @@ export const useListItemCommentsStyles = (): returnObjectStyles => {
140147 } as IStyle ,
141148 } ) ;
142149
150+ const contentStyles = mergeStyleSets ( {
151+ container : {
152+ display : 'flex' ,
153+ flexFlow : 'column nowrap' ,
154+ alignItems : 'stretch' ,
155+ } ,
156+ header : [
157+ // eslint-disable-next-line @typescript-eslint/no-deprecated
158+ fluentTheme . fonts . xLargePlus ,
159+ {
160+ flex : '1 1 auto' ,
161+ borderTop : `4px solid ${ theme . themePrimary } ` ,
162+ color : theme . neutralPrimary ,
163+ display : 'flex' ,
164+ alignItems : 'center' ,
165+ fontWeight : FontWeights . semibold ,
166+ padding : '12px 12px 14px 24px' ,
167+ } ,
168+ ] ,
169+ heading : {
170+ color : theme . neutralPrimary ,
171+ fontWeight : FontWeights . semibold ,
172+ fontSize : 'inherit' ,
173+ margin : '0' ,
174+ } ,
175+ body : {
176+ flex : '4 4 auto' ,
177+ padding : '0 24px 24px 24px' ,
178+ overflowY : 'hidden' ,
179+ selectors : {
180+ p : { margin : '14px 0' } ,
181+ 'p:first-child' : { marginTop : 0 } ,
182+ 'p:last-child' : { marginBottom : 0 } ,
183+ } ,
184+ } ,
185+ } ) ;
186+
187+ const iconButtonStyles : Partial < IButtonStyles > = {
188+ root : {
189+ color : theme . neutralPrimary ,
190+ marginLeft : 'auto' ,
191+ marginTop : '4px' ,
192+ marginRight : '2px' ,
193+ } ,
194+ rootHovered : {
195+ color : theme . neutralDark ,
196+ } ,
197+ } ;
198+
143199 return {
144200 itemContainerStyles,
145201 buttonsContainerStyles,
@@ -150,5 +206,7 @@ export const useListItemCommentsStyles = (): returnObjectStyles => {
150206 documentCardHighlightedStyles,
151207 documentCardUserStyles,
152208 configurationListClasses,
209+ contentStyles,
210+ iconButtonStyles,
153211 } ;
154212} ;
0 commit comments