@pega/cosmos-react-work 9.0.0-build.23.4 → 9.0.0-build.24.0
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/lib/components/CasePreview/CasePreview.d.ts.map +1 -1
- package/lib/components/CasePreview/CasePreview.js +73 -93
- package/lib/components/CasePreview/CasePreview.js.map +1 -1
- package/lib/components/CaseView/CaseView.styles.d.ts.map +1 -1
- package/lib/components/CaseView/CaseView.styles.js +4 -9
- package/lib/components/CaseView/CaseView.styles.js.map +1 -1
- package/lib/components/GenAICoach/GenAICoach.styles.js +1 -1
- package/lib/components/GenAICoach/GenAICoach.styles.js.map +1 -1
- package/lib/components/SearchResults/SearchResults.d.ts.map +1 -1
- package/lib/components/SearchResults/SearchResults.js +9 -1
- package/lib/components/SearchResults/SearchResults.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasePreview.d.ts","sourceRoot":"","sources":["../../../src/components/CasePreview/CasePreview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CasePreview.d.ts","sourceRoot":"","sources":["../../../src/components/CasePreview/CasePreview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,GAAG,EAAE,MAAM,OAAO,CAAC;AAelD,OAAO,KAAK,EACV,+BAA+B,EAC/B,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAQvE,MAAM,WAAW,gBACf,SAAQ,IAAI,CACR,aAAa,EACX,QAAQ,GACR,UAAU,GACV,SAAS,GACT,YAAY,GACZ,aAAa,GACb,MAAM,GACN,UAAU,GACV,kBAAkB,GAClB,SAAS,GACT,iBAAiB,GACjB,QAAQ,GACR,eAAe,GACf,MAAM,GACN,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,GACX,uBAAuB,CAC1B,EACD,cAAc,EACd,UAAU,EACV,SAAS;IACX,4GAA4G;IAC5G,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5C,iDAAiD;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC1C,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;;;;AAwOD,wBAA+D"}
|
|
@@ -1,29 +1,15 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import { forwardRef,
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useEffect, useState, useRef } from 'react';
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
|
-
import {
|
|
5
|
-
import { resizeDrawerDefaultWidth } from '@pega/cosmos-react-core/lib/styles/constants';
|
|
4
|
+
import { registerIcon, defaultThemeProp, useBreakpoint, useI18n, useTestIds, withTestIds, ErrorState, useConsolidatedRef, StyledPreviewDrawer, usePreviewManager } from '@pega/cosmos-react-core';
|
|
6
5
|
import * as timesIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';
|
|
7
|
-
import {
|
|
8
|
-
import CaseView, { StyledCaseView, StyledCaseViewContent, StyledCaseDrawer, StyledSummaryRegion } from '../CaseView';
|
|
6
|
+
import CaseView, { StyledCaseView, StyledCaseViewContent, StyledSummaryRegion } from '../CaseView';
|
|
9
7
|
import { StyledGenAICoachContainer } from '../GenAICoach/GenAICoach.styles';
|
|
10
|
-
import {
|
|
8
|
+
import { StyledSummaryPrimaryList, StyledSummarySecondaryList } from '../CaseView/CaseView.styles';
|
|
11
9
|
import { getCasePreviewTestIds } from './CasePreview.test-ids';
|
|
12
10
|
registerIcon(timesIcon);
|
|
13
|
-
const
|
|
11
|
+
const StyledCasePreviewDrawer = styled(StyledPreviewDrawer)(({ theme }) => {
|
|
14
12
|
return css `
|
|
15
|
-
background-color: ${theme.base.palette['app-background']};
|
|
16
|
-
height: calc(100vh - var(--appshell-offset, 0rem));
|
|
17
|
-
top: var(--appshell-offset, 0);
|
|
18
|
-
z-index: calc(${theme.base['z-index'].drawer} + 500);
|
|
19
|
-
transition-property: transform, box-shadow, opacity, border-inline-start;
|
|
20
|
-
transition-duration: max(${theme.base.animation.speed}, 0.0001s);
|
|
21
|
-
transition-timing-function: ${theme.base.animation.timing.ease};
|
|
22
|
-
|
|
23
|
-
${StyledResizeHandle} {
|
|
24
|
-
z-index: calc(${theme.base['z-index'].max - 1});
|
|
25
|
-
}
|
|
26
|
-
|
|
27
13
|
${StyledSummaryPrimaryList} {
|
|
28
14
|
padding: unset;
|
|
29
15
|
}
|
|
@@ -59,92 +45,86 @@ const StyledPreviewDrawer = styled(StyledCaseDrawer)(({ theme }) => {
|
|
|
59
45
|
width: unset;
|
|
60
46
|
min-width: unset;
|
|
61
47
|
}
|
|
62
|
-
|
|
63
|
-
@media (min-width: ${theme.base.breakpoints.xl}) {
|
|
64
|
-
box-shadow: none;
|
|
65
|
-
border-inline-start: 0.0625rem solid
|
|
66
|
-
${readableHue(theme.base.palette['border-line'], theme.base.palette['app-background'], {
|
|
67
|
-
mode: 'both',
|
|
68
|
-
level: 'AANonText'
|
|
69
|
-
})};
|
|
70
|
-
}
|
|
71
48
|
`;
|
|
72
49
|
});
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
);
|
|
79
|
-
@media (pointer: coarse) {
|
|
80
|
-
--half-btn-compact-difference: calc(
|
|
81
|
-
(${theme.base['hit-area'].finger} - ${theme.base['hit-area'].compact}) / 2
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
position: absolute;
|
|
85
|
-
|
|
86
|
-
/* Places above CaseHeader and resize handle */
|
|
87
|
-
z-index: ${theme.base['z-index'].max};
|
|
88
|
-
box-shadow: ${theme.base.shadow.low};
|
|
89
|
-
inset-inline-start: calc(-${theme.base['hit-area'].compact} / 2);
|
|
90
|
-
inset-block-start: calc(2 * ${theme.base.spacing} + var(--half-btn-compact-difference));
|
|
91
|
-
|
|
92
|
-
& > ${StyledIcon} {
|
|
93
|
-
inline-size: 1em;
|
|
94
|
-
block-size: 1em;
|
|
50
|
+
StyledCasePreviewDrawer.defaultProps = defaultThemeProp;
|
|
51
|
+
const CasePreviewContent = ({ error, onErrorRetry, caseId, caseType, heading, subheading, caseLink, parentCases, icon, followed, onFollowedChange, summaryFields, tabs, stages, tasks, tabContent, utilities, utilitiesSummaryItems, actions, banners, onEdit }) => {
|
|
52
|
+
const t = useI18n();
|
|
53
|
+
if (error) {
|
|
54
|
+
return _jsx(ErrorState, { message: t('preview_error'), onRetry: onErrorRetry });
|
|
95
55
|
}
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
StyledCloseButton.defaultProps = defaultThemeProp;
|
|
56
|
+
return (_jsx(CaseView, { caseId: caseId, caseType: caseType, parentCases: parentCases, heading: heading, subheading: subheading, caseLink: caseLink, icon: icon, followed: followed, onFollowedChange: onFollowedChange, summaryFields: summaryFields, tabs: tabs, stages: stages, tasks: tasks, tabContent: tabContent, utilities: utilities, utilitiesSummaryItems: utilitiesSummaryItems, actions: actions, banners: banners, onEdit: onEdit, isPreview: true }));
|
|
57
|
+
};
|
|
99
58
|
const CasePreview = forwardRef(function CasePreview(props, ref) {
|
|
100
|
-
const { testId, open: openProp, progress, error, onErrorRetry, caseId, caseType, heading, subheading, caseLink, parentCases, icon, followed, onFollowedChange, summaryFields, tabs, stages, tasks, tabContent, utilities, utilitiesSummaryItems, actions, banners, onEdit, onBeforeOpen, onAfterOpen, onBeforeClose, ...restProps } = props;
|
|
59
|
+
const { testId, open: openProp, progress, error, onErrorRetry, caseId, caseType, heading, subheading, caseLink, parentCases, icon, followed, onFollowedChange, summaryFields, tabs, stages, tasks, tabContent, utilities, utilitiesSummaryItems, actions, banners, onEdit, onBeforeOpen, onAfterOpen, onBeforeClose, onAfterClose, ...restProps } = props;
|
|
101
60
|
const testIds = useTestIds(testId, getCasePreviewTestIds);
|
|
102
|
-
const
|
|
61
|
+
const { createPreview } = usePreviewManager();
|
|
62
|
+
const previewMethodsRef = useRef(undefined);
|
|
103
63
|
const previewRef = useConsolidatedRef(ref);
|
|
104
|
-
const { previewTriggerRef, setPreviewActive } = useContext(AppShellContext);
|
|
105
|
-
const [closeButtonEl, setCloseButtonEl] = useElement();
|
|
106
64
|
const isSmallOrAbove = useBreakpoint('sm');
|
|
107
65
|
const [open, setOpen] = useState(openProp);
|
|
108
|
-
const [progressVisible, setProgressVisible] = useState(false);
|
|
109
|
-
const direction = useDirection();
|
|
110
|
-
const closePreview = useCallback(() => {
|
|
111
|
-
setOpen(false);
|
|
112
|
-
previewTriggerRef.current?.focus();
|
|
113
|
-
}, []);
|
|
114
|
-
const setFocus = () => {
|
|
115
|
-
if (progressVisible)
|
|
116
|
-
return;
|
|
117
|
-
const focusables = getFocusables(previewRef).filter(el => el !== closeButtonEl);
|
|
118
|
-
const focusable = focusables[0] ?? closeButtonEl;
|
|
119
|
-
focusable?.focus();
|
|
120
|
-
};
|
|
121
66
|
useEffect(() => {
|
|
122
67
|
setOpen(openProp);
|
|
123
68
|
}, [openProp]);
|
|
124
69
|
useEffect(() => {
|
|
125
|
-
if (
|
|
126
|
-
|
|
70
|
+
if (open && isSmallOrAbove) {
|
|
71
|
+
const contentProps = {
|
|
72
|
+
error,
|
|
73
|
+
onErrorRetry,
|
|
74
|
+
caseId,
|
|
75
|
+
caseType,
|
|
76
|
+
heading,
|
|
77
|
+
subheading,
|
|
78
|
+
caseLink,
|
|
79
|
+
parentCases,
|
|
80
|
+
icon,
|
|
81
|
+
followed,
|
|
82
|
+
onFollowedChange,
|
|
83
|
+
summaryFields,
|
|
84
|
+
tabs,
|
|
85
|
+
stages,
|
|
86
|
+
tasks,
|
|
87
|
+
tabContent,
|
|
88
|
+
utilities,
|
|
89
|
+
utilitiesSummaryItems,
|
|
90
|
+
actions,
|
|
91
|
+
banners,
|
|
92
|
+
onEdit
|
|
93
|
+
};
|
|
94
|
+
const metadata = {
|
|
95
|
+
previewProps: {
|
|
96
|
+
testId: testIds.root,
|
|
97
|
+
previewLabel: heading,
|
|
98
|
+
onBeforeOpen,
|
|
99
|
+
onAfterOpen,
|
|
100
|
+
onBeforeClose,
|
|
101
|
+
onAfterClose: () => {
|
|
102
|
+
onAfterClose?.();
|
|
103
|
+
setOpen(false);
|
|
104
|
+
if (previewMethodsRef.current) {
|
|
105
|
+
previewMethodsRef.current.unmountPreview();
|
|
106
|
+
previewMethodsRef.current = undefined;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
as: StyledCasePreviewDrawer,
|
|
110
|
+
ref: previewRef,
|
|
111
|
+
progress,
|
|
112
|
+
...restProps
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
if (previewMethodsRef.current) {
|
|
116
|
+
previewMethodsRef.current.updatePreview(contentProps, metadata);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
previewMethodsRef.current = createPreview(CasePreviewContent, contentProps, metadata);
|
|
120
|
+
}
|
|
127
121
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
useFocusTrap(previewRef, true, [], false);
|
|
135
|
-
const content = error ? (_jsx(ErrorState, { message: t('preview_error'), onRetry: onErrorRetry })) : (_jsx(CaseView, { caseId: caseId, caseType: caseType, parentCases: parentCases, heading: heading, subheading: subheading, caseLink: caseLink, icon: icon, followed: followed, onFollowedChange: onFollowedChange, summaryFields: summaryFields, tabs: tabs, stages: stages, tasks: tasks, tabContent: tabContent, utilities: utilities, utilitiesSummaryItems: utilitiesSummaryItems, actions: actions, banners: banners, onEdit: onEdit, isPreview: true }));
|
|
136
|
-
return (_jsxs(Drawer, { "data-testid": testIds.root, ...restProps, onBeforeOpen: () => {
|
|
137
|
-
setPreviewActive(true);
|
|
138
|
-
onBeforeOpen?.();
|
|
139
|
-
}, onAfterOpen: () => {
|
|
140
|
-
setFocus();
|
|
141
|
-
onAfterOpen?.();
|
|
142
|
-
}, onBeforeClose: () => {
|
|
143
|
-
setPreviewActive(false);
|
|
144
|
-
onBeforeClose?.();
|
|
145
|
-
}, as: StyledPreviewDrawer, role: 'complementary', forwardedAs: Flex, container: { direction: 'column' }, ref: previewRef, open: open && isSmallOrAbove, position: 'fixed', placement: direction.end, "aria-label": t('preview_of_noun', [heading]), size: resizeDrawerDefaultWidth, resizeable: true, shadow: true, nullWhenClosed: true, children: [_jsx(StyledCloseButton, { "data-testid": testIds.close, icon: true, compact: true, onClick: closePreview, ref: setCloseButtonEl, label: t('close_preview'), children: _jsx(Icon, { name: 'times' }) }), _jsx(Progress, { placement: 'local', visible: !!progress, focusOnVisible: true, delay: true, onTransitionStartIn: () => {
|
|
146
|
-
setProgressVisible(true);
|
|
147
|
-
}, onTransitionEndOut: () => setProgressVisible(false) }), !progress && content] }));
|
|
122
|
+
else if (!open) {
|
|
123
|
+
// This branch is needed for controlled component via open prop
|
|
124
|
+
previewMethodsRef.current = undefined;
|
|
125
|
+
}
|
|
126
|
+
}, [open, progress, error, tabs, banners, utilities, utilitiesSummaryItems, isSmallOrAbove]);
|
|
127
|
+
return null;
|
|
148
128
|
});
|
|
149
129
|
export default withTestIds(CasePreview, getCasePreviewTestIds);
|
|
150
130
|
//# sourceMappingURL=CasePreview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasePreview.js","sourceRoot":"","sources":["../../../src/components/CasePreview/CasePreview.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useState, useCallback, useEffect, useContext } from 'react';\nimport type { PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Drawer,\n Icon,\n registerIcon,\n Flex,\n defaultThemeProp,\n useBreakpoint,\n useElement,\n useDirection,\n useI18n,\n AppShellContext,\n useTestIds,\n withTestIds,\n Progress,\n ErrorState,\n getFocusables,\n useConsolidatedRef,\n useFocusTrap,\n readableHue,\n StyledIcon\n} from '@pega/cosmos-react-core';\nimport type {\n ForwardRefForwardPropsComponent,\n BaseProps,\n TestIdProp,\n NoChildrenProp,\n ErrorStateProps\n} from '@pega/cosmos-react-core';\nimport { resizeDrawerDefaultWidth } from '@pega/cosmos-react-core/lib/styles/constants';\nimport * as timesIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';\nimport { StyledResizeHandle } from '@pega/cosmos-react-core/lib/components/Drawer/ResizeHandle';\n\nimport CaseView, {\n StyledCaseView,\n StyledCaseViewContent,\n StyledCaseDrawer,\n StyledSummaryRegion\n} from '../CaseView';\nimport type { CaseViewProps } from '../CaseView';\nimport type { CaseViewContextValue } from '../CaseView/CaseView.types';\nimport { StyledGenAICoachContainer } from '../GenAICoach/GenAICoach.styles';\nimport {\n StyledExpandCollapseButton,\n StyledSummaryPrimaryList,\n StyledSummarySecondaryList\n} from '../CaseView/CaseView.styles';\n\nimport { getCasePreviewTestIds } from './CasePreview.test-ids';\n\nregisterIcon(timesIcon);\n\nexport interface CasePreviewProps\n extends Pick<\n CaseViewProps,\n | 'caseId'\n | 'caseType'\n | 'heading'\n | 'subheading'\n | 'parentCases'\n | 'icon'\n | 'followed'\n | 'onFollowedChange'\n | 'actions'\n | 'promotedActions'\n | 'onEdit'\n | 'summaryFields'\n | 'tabs'\n | 'tabContent'\n | 'stages'\n | 'tasks'\n | 'banners'\n | 'utilities'\n | 'utilitiesSummaryItems'\n >,\n NoChildrenProp,\n TestIdProp,\n BaseProps {\n /** A set of props including an href that will be forwarded to the case preview's heading and subheading. */\n caseLink?: CaseViewContextValue['caseLink'];\n /** If true, the Case Preview will be visible. */\n open: boolean;\n /** If true, the Case Preview will render in a progress state. */\n progress?: boolean;\n /** If true, the Case Preview will render in an error state. */\n error?: boolean;\n /** Callback fired when \"Try again\" button is clicked in an error state. */\n onErrorRetry?: ErrorStateProps['onRetry'];\n /** Callback fired before Case Preview opens. */\n onBeforeOpen?: () => void;\n /** Callback fired after Case Preview opens. */\n onAfterOpen?: () => void;\n /** Callback fired before Case Preview closes. */\n onBeforeClose?: () => void;\n /** Callback fired after Case Preview closes. */\n onAfterClose?: () => void;\n /** Callback fired when a click action occurs outside of the Case Preview. */\n onOuterClick?: () => void;\n /** Reference to the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n\nconst StyledPreviewDrawer = styled(StyledCaseDrawer)(({ theme }) => {\n return css`\n background-color: ${theme.base.palette['app-background']};\n height: calc(100vh - var(--appshell-offset, 0rem));\n top: var(--appshell-offset, 0);\n z-index: calc(${theme.base['z-index'].drawer} + 500);\n transition-property: transform, box-shadow, opacity, border-inline-start;\n transition-duration: max(${theme.base.animation.speed}, 0.0001s);\n transition-timing-function: ${theme.base.animation.timing.ease};\n\n ${StyledResizeHandle} {\n z-index: calc(${theme.base['z-index'].max - 1});\n }\n\n ${StyledSummaryPrimaryList} {\n padding: unset;\n }\n\n ${StyledSummarySecondaryList} {\n padding-block-start: unset;\n padding-inline: unset;\n }\n\n ${StyledCaseView} {\n height: calc(100vh - ${theme.base.spacing} - ${theme.base['hit-area']['mouse-min']});\n z-index: 1;\n\n @media (pointer: coarse) {\n height: calc(100vh - ${theme.base.spacing} - ${theme.base['hit-area']['finger-min']});\n }\n\n ${StyledSummaryRegion} {\n position: relative;\n top: 0;\n }\n }\n\n ${StyledCaseViewContent} {\n overflow-y: auto;\n\n & > :last-child {\n padding-bottom: calc(2 * ${theme.base.spacing});\n }\n }\n\n ${StyledGenAICoachContainer} {\n width: unset;\n min-width: unset;\n }\n\n @media (min-width: ${theme.base.breakpoints.xl}) {\n box-shadow: none;\n border-inline-start: 0.0625rem solid\n ${readableHue(theme.base.palette['border-line'], theme.base.palette['app-background'], {\n mode: 'both',\n level: 'AANonText'\n })};\n }\n `;\n});\n\nStyledPreviewDrawer.defaultProps = defaultThemeProp;\n\nconst StyledCloseButton = styled(StyledExpandCollapseButton)(({ theme }) => {\n return css`\n --half-btn-compact-difference: calc(\n (${theme.base['hit-area'].mouse} - ${theme.base['hit-area'].compact}) / 2\n );\n @media (pointer: coarse) {\n --half-btn-compact-difference: calc(\n (${theme.base['hit-area'].finger} - ${theme.base['hit-area'].compact}) / 2\n );\n }\n position: absolute;\n\n /* Places above CaseHeader and resize handle */\n z-index: ${theme.base['z-index'].max};\n box-shadow: ${theme.base.shadow.low};\n inset-inline-start: calc(-${theme.base['hit-area'].compact} / 2);\n inset-block-start: calc(2 * ${theme.base.spacing} + var(--half-btn-compact-difference));\n\n & > ${StyledIcon} {\n inline-size: 1em;\n block-size: 1em;\n }\n `;\n});\n\nStyledCloseButton.defaultProps = defaultThemeProp;\n\nconst CasePreview: ForwardRefForwardPropsComponent<CasePreviewProps> = forwardRef(\n function CasePreview(props: PropsWithoutRef<CasePreviewProps>, ref: CasePreviewProps['ref']) {\n const {\n testId,\n open: openProp,\n progress,\n error,\n onErrorRetry,\n caseId,\n caseType,\n heading,\n subheading,\n caseLink,\n parentCases,\n icon,\n followed,\n onFollowedChange,\n summaryFields,\n tabs,\n stages,\n tasks,\n tabContent,\n utilities,\n utilitiesSummaryItems,\n actions,\n banners,\n onEdit,\n onBeforeOpen,\n onAfterOpen,\n onBeforeClose,\n ...restProps\n } = props;\n const testIds = useTestIds(testId, getCasePreviewTestIds);\n\n const t = useI18n();\n const previewRef = useConsolidatedRef(ref);\n\n const { previewTriggerRef, setPreviewActive } = useContext(AppShellContext);\n const [closeButtonEl, setCloseButtonEl] = useElement<HTMLButtonElement>();\n const isSmallOrAbove = useBreakpoint('sm');\n const [open, setOpen] = useState(openProp);\n const [progressVisible, setProgressVisible] = useState(false);\n const direction = useDirection();\n\n const closePreview = useCallback(() => {\n setOpen(false);\n previewTriggerRef.current?.focus();\n }, []);\n\n const setFocus = () => {\n if (progressVisible) return;\n\n const focusables = getFocusables(previewRef).filter(el => el !== closeButtonEl);\n const focusable = focusables[0] ?? closeButtonEl;\n focusable?.focus();\n };\n\n useEffect(() => {\n setOpen(openProp);\n }, [openProp]);\n\n useEffect(() => {\n if (!progressVisible) {\n setFocus();\n }\n }, [progressVisible]);\n\n useEffect(() => {\n return () => {\n setPreviewActive(false);\n };\n }, []);\n\n useFocusTrap(previewRef, true, [], false);\n\n const content = error ? (\n <ErrorState message={t('preview_error')} onRetry={onErrorRetry} />\n ) : (\n <CaseView\n caseId={caseId}\n caseType={caseType}\n parentCases={parentCases}\n heading={heading}\n subheading={subheading}\n caseLink={caseLink}\n icon={icon}\n followed={followed}\n onFollowedChange={onFollowedChange}\n summaryFields={summaryFields}\n tabs={tabs}\n stages={stages}\n tasks={tasks}\n tabContent={tabContent}\n utilities={utilities}\n utilitiesSummaryItems={utilitiesSummaryItems}\n actions={actions}\n banners={banners}\n onEdit={onEdit}\n isPreview\n />\n );\n\n return (\n <Drawer\n data-testid={testIds.root}\n {...restProps}\n onBeforeOpen={() => {\n setPreviewActive(true);\n onBeforeOpen?.();\n }}\n onAfterOpen={() => {\n setFocus();\n onAfterOpen?.();\n }}\n onBeforeClose={() => {\n setPreviewActive(false);\n onBeforeClose?.();\n }}\n as={StyledPreviewDrawer}\n role='complementary'\n forwardedAs={Flex}\n container={{ direction: 'column' }}\n ref={previewRef}\n open={open && isSmallOrAbove}\n position='fixed'\n placement={direction.end}\n aria-label={t('preview_of_noun', [heading])}\n size={resizeDrawerDefaultWidth}\n resizeable\n shadow\n nullWhenClosed\n >\n <StyledCloseButton\n data-testid={testIds.close}\n icon\n compact\n onClick={closePreview}\n ref={setCloseButtonEl}\n label={t('close_preview')}\n >\n <Icon name='times' />\n </StyledCloseButton>\n\n <Progress\n placement='local'\n visible={!!progress}\n focusOnVisible\n delay\n onTransitionStartIn={() => {\n setProgressVisible(true);\n }}\n onTransitionEndOut={() => setProgressVisible(false)}\n />\n\n {!progress && content}\n </Drawer>\n );\n }\n);\n\nexport default withTestIds(CasePreview, getCasePreviewTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"CasePreview.js","sourceRoot":"","sources":["../../../src/components/CasePreview/CasePreview.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useEffect, useState, useRef } from 'react';\nimport type { PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n registerIcon,\n defaultThemeProp,\n useBreakpoint,\n useI18n,\n useTestIds,\n withTestIds,\n ErrorState,\n useConsolidatedRef,\n StyledPreviewDrawer,\n usePreviewManager\n} from '@pega/cosmos-react-core';\nimport type {\n ForwardRefForwardPropsComponent,\n BaseProps,\n TestIdProp,\n NoChildrenProp,\n ErrorStateProps,\n PreviewMethods\n} from '@pega/cosmos-react-core';\nimport * as timesIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';\n\nimport CaseView, { StyledCaseView, StyledCaseViewContent, StyledSummaryRegion } from '../CaseView';\nimport type { CaseViewProps } from '../CaseView';\nimport type { CaseViewContextValue } from '../CaseView/CaseView.types';\nimport { StyledGenAICoachContainer } from '../GenAICoach/GenAICoach.styles';\nimport { StyledSummaryPrimaryList, StyledSummarySecondaryList } from '../CaseView/CaseView.styles';\n\nimport { getCasePreviewTestIds } from './CasePreview.test-ids';\n\nregisterIcon(timesIcon);\n\nexport interface CasePreviewProps\n extends Pick<\n CaseViewProps,\n | 'caseId'\n | 'caseType'\n | 'heading'\n | 'subheading'\n | 'parentCases'\n | 'icon'\n | 'followed'\n | 'onFollowedChange'\n | 'actions'\n | 'promotedActions'\n | 'onEdit'\n | 'summaryFields'\n | 'tabs'\n | 'tabContent'\n | 'stages'\n | 'tasks'\n | 'banners'\n | 'utilities'\n | 'utilitiesSummaryItems'\n >,\n NoChildrenProp,\n TestIdProp,\n BaseProps {\n /** A set of props including an href that will be forwarded to the case preview's heading and subheading. */\n caseLink?: CaseViewContextValue['caseLink'];\n /** If true, the Case Preview will be visible. */\n open: boolean;\n /** If true, the Case Preview will render in a progress state. */\n progress?: boolean;\n /** If true, the Case Preview will render in an error state. */\n error?: boolean;\n /** Callback fired when \"Try again\" button is clicked in an error state. */\n onErrorRetry?: ErrorStateProps['onRetry'];\n /** Callback fired before Case Preview opens. */\n onBeforeOpen?: () => void;\n /** Callback fired after Case Preview opens. */\n onAfterOpen?: () => void;\n /** Callback fired before Case Preview closes. */\n onBeforeClose?: () => void;\n /** Callback fired after Case Preview closes. */\n onAfterClose?: () => void;\n /** Callback fired when a click action occurs outside of the Case Preview. */\n onOuterClick?: () => void;\n /** Reference to the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n\nconst StyledCasePreviewDrawer = styled(StyledPreviewDrawer)(({ theme }) => {\n return css`\n ${StyledSummaryPrimaryList} {\n padding: unset;\n }\n\n ${StyledSummarySecondaryList} {\n padding-block-start: unset;\n padding-inline: unset;\n }\n\n ${StyledCaseView} {\n height: calc(100vh - ${theme.base.spacing} - ${theme.base['hit-area']['mouse-min']});\n z-index: 1;\n\n @media (pointer: coarse) {\n height: calc(100vh - ${theme.base.spacing} - ${theme.base['hit-area']['finger-min']});\n }\n\n ${StyledSummaryRegion} {\n position: relative;\n top: 0;\n }\n }\n\n ${StyledCaseViewContent} {\n overflow-y: auto;\n\n & > :last-child {\n padding-bottom: calc(2 * ${theme.base.spacing});\n }\n }\n\n ${StyledGenAICoachContainer} {\n width: unset;\n min-width: unset;\n }\n `;\n});\n\nStyledCasePreviewDrawer.defaultProps = defaultThemeProp;\n\ntype CasePreviewContentProps = Pick<\n CasePreviewProps,\n | 'error'\n | 'onErrorRetry'\n | 'caseId'\n | 'caseType'\n | 'heading'\n | 'subheading'\n | 'caseLink'\n | 'parentCases'\n | 'icon'\n | 'followed'\n | 'onFollowedChange'\n | 'summaryFields'\n | 'tabs'\n | 'tabContent'\n | 'stages'\n | 'tasks'\n | 'banners'\n | 'utilities'\n | 'utilitiesSummaryItems'\n | 'actions'\n | 'onEdit'\n>;\n\nconst CasePreviewContent = ({\n error,\n onErrorRetry,\n caseId,\n caseType,\n heading,\n subheading,\n caseLink,\n parentCases,\n icon,\n followed,\n onFollowedChange,\n summaryFields,\n tabs,\n stages,\n tasks,\n tabContent,\n utilities,\n utilitiesSummaryItems,\n actions,\n banners,\n onEdit\n}: CasePreviewContentProps) => {\n const t = useI18n();\n\n if (error) {\n return <ErrorState message={t('preview_error')} onRetry={onErrorRetry} />;\n }\n\n return (\n <CaseView\n caseId={caseId}\n caseType={caseType}\n parentCases={parentCases}\n heading={heading}\n subheading={subheading}\n caseLink={caseLink}\n icon={icon}\n followed={followed}\n onFollowedChange={onFollowedChange}\n summaryFields={summaryFields}\n tabs={tabs}\n stages={stages}\n tasks={tasks}\n tabContent={tabContent}\n utilities={utilities}\n utilitiesSummaryItems={utilitiesSummaryItems}\n actions={actions}\n banners={banners}\n onEdit={onEdit}\n isPreview\n />\n );\n};\n\nconst CasePreview: ForwardRefForwardPropsComponent<CasePreviewProps> = forwardRef(\n function CasePreview(props: PropsWithoutRef<CasePreviewProps>, ref: CasePreviewProps['ref']) {\n const {\n testId,\n open: openProp,\n progress,\n error,\n onErrorRetry,\n caseId,\n caseType,\n heading,\n subheading,\n caseLink,\n parentCases,\n icon,\n followed,\n onFollowedChange,\n summaryFields,\n tabs,\n stages,\n tasks,\n tabContent,\n utilities,\n utilitiesSummaryItems,\n actions,\n banners,\n onEdit,\n onBeforeOpen,\n onAfterOpen,\n onBeforeClose,\n onAfterClose,\n ...restProps\n } = props;\n const testIds = useTestIds(testId, getCasePreviewTestIds);\n\n const { createPreview } = usePreviewManager();\n const previewMethodsRef = useRef<PreviewMethods | undefined>(undefined);\n const previewRef = useConsolidatedRef(ref);\n const isSmallOrAbove = useBreakpoint('sm');\n\n const [open, setOpen] = useState(openProp);\n\n useEffect(() => {\n setOpen(openProp);\n }, [openProp]);\n\n useEffect(() => {\n if (open && isSmallOrAbove) {\n const contentProps = {\n error,\n onErrorRetry,\n caseId,\n caseType,\n heading,\n subheading,\n caseLink,\n parentCases,\n icon,\n followed,\n onFollowedChange,\n summaryFields,\n tabs,\n stages,\n tasks,\n tabContent,\n utilities,\n utilitiesSummaryItems,\n actions,\n banners,\n onEdit\n };\n\n const metadata = {\n previewProps: {\n testId: testIds.root,\n previewLabel: heading,\n onBeforeOpen,\n onAfterOpen,\n onBeforeClose,\n onAfterClose: () => {\n onAfterClose?.();\n setOpen(false);\n if (previewMethodsRef.current) {\n previewMethodsRef.current.unmountPreview();\n previewMethodsRef.current = undefined;\n }\n },\n as: StyledCasePreviewDrawer,\n ref: previewRef,\n progress,\n ...restProps\n }\n };\n if (previewMethodsRef.current) {\n previewMethodsRef.current.updatePreview(contentProps, metadata);\n } else {\n previewMethodsRef.current = createPreview(CasePreviewContent, contentProps, metadata);\n }\n } else if (!open) {\n // This branch is needed for controlled component via open prop\n previewMethodsRef.current = undefined;\n }\n }, [open, progress, error, tabs, banners, utilities, utilitiesSummaryItems, isSmallOrAbove]);\n\n return null;\n }\n);\n\nexport default withTestIds(CasePreview, getCasePreviewTestIds);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseView.styles.d.ts","sourceRoot":"","sources":["../../../src/components/CaseView/CaseView.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwCtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAC;AAiC5G,eAAO,MAAM,wBAAwB;cACzB,OAAO;;2BAJV,CAAC;iDA8BR,CAAC;AAIH,eAAO,MAAM,0BAA0B;2BAlC9B,CAAC;iDAwCR,CAAC;AAEH,eAAO,MAAM,uBAAuB,6NAsBlC,CAAC;AAIH,eAAO,MAAM,uBAAuB,6ZAelC,CAAC;AAIH,eAAO,MAAM,oBAAoB;;yLAI/B,CAAC;AAIH,eAAO,MAAM,mBAAmB;;0LAE/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,6NA6C3B,CAAC;AAIH,eAAO,MAAM,oBAAoB,sOAUhC,CAAC;AAIF,eAAO,MAAM,gBAAgB,yOAAa,CAAC;AAI3C,eAAO,MAAM,8BAA8B;;2LA6CzC,CAAC;AAIH,eAAO,MAAM,mBAAmB;eAA2B,OAAO;YAmBhE,CAAC;AAIH,eAAO,MAAM,oBAAoB,uNAyD/B,CAAC;AAIH,eAAO,MAAM,wBAAwB;cAA0B,OAAO;YAoBpE,CAAC;AAmCH,eAAO,MAAM,mBAAmB,iOAgD9B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;WAC5B,OAAO;eACH,OAAO;WACX,YAAY;YAiCnB,CAAC;AAIH,eAAO,MAAM,qBAAqB,6NA6BjC,CAAC;AAIF,eAAO,MAAM,0BAA0B,6NAkBrC,CAAC;AAIH,eAAO,MAAM,0BAA0B;;2LASrC,CAAC;AAIH,eAAO,MAAM,iCAAiC;;2BAgC5C,CAAC;AAIH,eAAO,MAAM,iBAAiB,6NAuD7B,CAAC;AAIF,eAAO,MAAM,WAAW,6NAavB,CAAC;AAGF,eAAO,MAAM,qBAAqB,6NAsEjC,CAAC;AAKF,eAAO,MAAM,iCAAiC,6NAM5C,CAAC;AAEH,eAAO,MAAM,cAAc,6NA6I1B,CAAC;AAIF,eAAO,MAAM,sBAAsB;;yLAAiB,CAAC;AAErD,eAAO,MAAM,mCAAmC;;2BAO9C,CAAC;AAMH,eAAO,MAAM,eAAe,6NAsC1B,CAAC;AAIH,eAAO,MAAM,aAAa,6NAiEzB,CAAC;AAIF,eAAO,MAAM,gBAAgB;oBACX,oBAAoB,CAAC,eAAe,CAAC;wBACjC,OAAO;
|
|
1
|
+
{"version":3,"file":"CaseView.styles.d.ts","sourceRoot":"","sources":["../../../src/components/CaseView/CaseView.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwCtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAC;AAiC5G,eAAO,MAAM,wBAAwB;cACzB,OAAO;;2BAJV,CAAC;iDA8BR,CAAC;AAIH,eAAO,MAAM,0BAA0B;2BAlC9B,CAAC;iDAwCR,CAAC;AAEH,eAAO,MAAM,uBAAuB,6NAsBlC,CAAC;AAIH,eAAO,MAAM,uBAAuB,6ZAelC,CAAC;AAIH,eAAO,MAAM,oBAAoB;;yLAI/B,CAAC;AAIH,eAAO,MAAM,mBAAmB;;0LAE/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,6NA6C3B,CAAC;AAIH,eAAO,MAAM,oBAAoB,sOAUhC,CAAC;AAIF,eAAO,MAAM,gBAAgB,yOAAa,CAAC;AAI3C,eAAO,MAAM,8BAA8B;;2LA6CzC,CAAC;AAIH,eAAO,MAAM,mBAAmB;eAA2B,OAAO;YAmBhE,CAAC;AAIH,eAAO,MAAM,oBAAoB,uNAyD/B,CAAC;AAIH,eAAO,MAAM,wBAAwB;cAA0B,OAAO;YAoBpE,CAAC;AAmCH,eAAO,MAAM,mBAAmB,iOAgD9B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;WAC5B,OAAO;eACH,OAAO;WACX,YAAY;YAiCnB,CAAC;AAIH,eAAO,MAAM,qBAAqB,6NA6BjC,CAAC;AAIF,eAAO,MAAM,0BAA0B,6NAkBrC,CAAC;AAIH,eAAO,MAAM,0BAA0B;;2LASrC,CAAC;AAIH,eAAO,MAAM,iCAAiC;;2BAgC5C,CAAC;AAIH,eAAO,MAAM,iBAAiB,6NAuD7B,CAAC;AAIF,eAAO,MAAM,WAAW,6NAavB,CAAC;AAGF,eAAO,MAAM,qBAAqB,6NAsEjC,CAAC;AAKF,eAAO,MAAM,iCAAiC,6NAM5C,CAAC;AAEH,eAAO,MAAM,cAAc,6NA6I1B,CAAC;AAIF,eAAO,MAAM,sBAAsB;;yLAAiB,CAAC;AAErD,eAAO,MAAM,mCAAmC;;2BAO9C,CAAC;AAMH,eAAO,MAAM,eAAe,6NAsC1B,CAAC;AAIH,eAAO,MAAM,aAAa,6NAiEzB,CAAC;AAIF,eAAO,MAAM,gBAAgB;oBACX,oBAAoB,CAAC,eAAe,CAAC;wBACjC,OAAO;YAwB3B,CAAC;AAIH,eAAO,MAAM,uBAAuB,6NAwBnC,CAAC;AAIF,eAAO,MAAM,uBAAuB;gCAA4C,OAAO;YAatF,CAAC;AAIF,eAAO,MAAM,yBAAyB,6NAQpC,CAAC;AAIH,eAAO,MAAM,uBAAuB,6NAIlC,CAAC;AAIH,eAAO,MAAM,WAAW,6NAGvB,CAAC;AAEF,eAAO,MAAM,cAAc,6NA+F1B,CAAC;AAIF,eAAO,MAAM,qBAAqB;;yLAMjC,CAAC;AAIF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;sSAoB5B,CAAC;AAIH,eAAO,MAAM,sBAAsB,6NAAe,CAAC;AAEnD,eAAO,MAAM,kBAAkB,kaAwB7B,CAAC"}
|
|
@@ -754,30 +754,25 @@ export const StyledSummary = styled.div(({ theme: { base: { spacing, breakpoints
|
|
|
754
754
|
StyledSummary.defaultProps = defaultThemeProp;
|
|
755
755
|
export const StyledCaseDrawer = styled.div(({ previewActive, utilitiesExpanded, theme }) => {
|
|
756
756
|
return css `
|
|
757
|
-
--utilities-drawer-width: var(--resize-drawer-width);
|
|
758
|
-
--utilities-drawer-min-width: ${resizeDrawerMinWidth};
|
|
759
|
-
min-width: var(--utilities-drawer-min-width);
|
|
760
|
-
max-width: ${resizeDrawerMaxWidth};
|
|
761
|
-
width: var(--utilities-drawer-width);
|
|
762
757
|
background-color: ${theme.base.palette['primary-background']};
|
|
763
758
|
/* stylelint-disable-next-line unit-allowed-list */
|
|
764
759
|
height: calc(100dvh - ${headerHeight});
|
|
765
760
|
inset-block-start: ${headerHeight};
|
|
766
761
|
z-index: ${theme.base['z-index'].drawer - 1};
|
|
762
|
+
max-width: ${resizeDrawerMinWidth};
|
|
767
763
|
|
|
768
764
|
${previewActive &&
|
|
769
765
|
css `
|
|
770
|
-
@media (min-width: ${theme.base.breakpoints.
|
|
766
|
+
@media (min-width: ${theme.base.breakpoints.md}) {
|
|
771
767
|
inset-inline-end: ${resizeDrawerDefaultWidth};
|
|
772
768
|
${utilitiesExpanded &&
|
|
773
769
|
css `
|
|
774
770
|
inset-inline-end: var(--resize-drawer-width);
|
|
775
|
-
width: var(--utilities-drawer-min-width);
|
|
776
771
|
`}
|
|
777
772
|
}
|
|
778
773
|
`}
|
|
779
774
|
${StyledGenAICoachContainer} {
|
|
780
|
-
width: calc(
|
|
775
|
+
width: calc(${resizeDrawerMinWidth} - 2rem);
|
|
781
776
|
}
|
|
782
777
|
`;
|
|
783
778
|
});
|
|
@@ -922,7 +917,7 @@ export const StyledCoachButton = styled(AIButton)(({ theme: { base: { spacing, b
|
|
|
922
917
|
inset-inline-end: calc(2 * ${spacing});
|
|
923
918
|
${previewActive &&
|
|
924
919
|
css `
|
|
925
|
-
@media (min-width: ${breakpoints.
|
|
920
|
+
@media (min-width: ${breakpoints.md}) {
|
|
926
921
|
margin-inline-end: min(var(--resize-drawer-width), ${resizeDrawerMaxWidth});
|
|
927
922
|
}
|
|
928
923
|
`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseView.styles.js","sourceRoot":"","sources":["../../../src/components/CaseView/CaseView.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,IAAI,EACJ,aAAa,EACb,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,wBAAwB,EACxB,mCAAmC,EACnC,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,0BAA0B,EAC3B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,iBAAiB,IAAI,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AACnH,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,cAAc,CAAC,CAE3D,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;IACxB,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEtE,OAAO,GAAG,CAAA;MACN,OAAO;QACP,CAAC,CAAC,GAAG,CAAA;;SAEF;QACH,CAAC,CAAC,GAAG,CAAA;YACC,QAAQ;YACV,GAAG,CAAA;wBACW,KAAK,CAAC,IAAI,CAAC,OAAO;WAC/B;mCACwB,UAAU;SACpC;MACH,gBAAgB;mBACH,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAa,CAAC;qBAC1D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;;UAElD,gBAAgB;;;;GAIvB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE;IACpE,OAAO,GAAG,CAAA;MACN,uBAAuB;;;GAG1B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,MAAM,EACJ,UAAU,EAAE,EACV,kBAAkB,EAAE,EAClB,MAAM,EAAE,EAAE,QAAQ,EAAE,EACrB,EACF,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,QAAQ;QACR,GAAG,CAAA;QACC,wBAAwB;oCACI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;+BAClC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;;;QAGpD,0BAA0B;wBACV,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;;KAEhD,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvE,MAAM,EACJ,IAAI,EAAE,EAAE,OAAO,EAAE,EAClB,GAAG,KAAK,CAAC;IACV,OAAO,GAAG,CAAA;MACN,0BAA0B;UACtB,uBAAuB;qBACZ,2BAA2B;;;UAGtC,gBAAgB;0BACA,2BAA2B,MAAM,UAAU,UAAU,OAAO;;;GAGnF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7D,OAAO,GAAG,CAAA;wBACY,KAAK,CAAC,IAAI,CAAC,OAAO;GACvC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;CAE/C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvD,MAAM,EACJ,UAAU,EAAE,EACV,WAAW,EAAE,EACX,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,UAAU,EAAE,EACrE,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EACtC,SAAS,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAC3C,EACF,EACD,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EACrF,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,wBAAwB,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;IACxF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,GAChF,kBAAkB,EAAE,CAAC;IACvB,MAAM,sBAAsB,GAAG,CAAC,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/F,MAAM,sBAAsB,GAAG,sBAAsB;QACnD,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;QAC/D,CAAC,CAAC,GAAG,YAAY,IAAI,YAAY,MAAM,CAAC;IAE1C,OAAO,GAAG,CAAA;kBACM,UAAU;aACf,eAAe;eACb,OAAO,aAAa,OAAO;;;MAGpC,eAAe;QACjB,GAAG,CAAA;uCACgC,OAAO,CAAC,aAAa,CAAC;KACxD;MACC,eAAe;QACjB,CAAC,SAAS;QACV,OAAO;QACP,GAAG,CAAA;uBACgB,sBAAsB;KACxC;;;oBAGe,MAAM,CAAC,KAAK;;;MAG1B,UAAU;eACD,OAAO,CAAC,kBAAkB,CAAC;iBACzB,MAAM,CAAC,OAAO,GAAG,CAAC;;GAEhC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAA;;;;MAI1C,YAAY;;;;kBAIA,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;;CAEvD,CAAC;AAEF,oBAAoB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAA,EAAE,CAAC;AAE3C,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzE,MAAM,EACJ,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,WAAW,EAAE,EACzB,EACD,UAAU,EAAE,EACV,WAAW,EAAE,EACX,MAAM,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,EAC5D,EACF,EACF,GAAG,KAAK,CAAC;IAEV,6FAA6F;IAC7F,MAAM,SAAS,GAAG,wBAAwB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,oBAAoB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACrF,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC;IAC3E,MAAM,KAAK,GAAG,CAAC,oBAAoB,IAAI,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,eAAe,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAA;iCACqB,eAAe;aACnC,KAAK;;oBAEE,KAAK;;;;qCAIY,eAAe;iBACnC,KAAK;4BACM,eAAe;wBACnB,KAAK;;;;qCAIQ,eAAe;iBACnC,KAAK;4BACM,eAAe;wBACnB,KAAK;;;GAG1B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,8BAA8B,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAyB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7F,OAAO,GAAG,CAAA;;qBAES,KAAK,CAAC,IAAI,CAAC,OAAO;qCACF,KAAK,CAAC,IAAI,CAAC,OAAO;;MAEjD,SAAS;QACX,GAAG,CAAA;4BACqB,qBAAqB;KAC5C;;MAEC,YAAY,QAAQ,8BAA8B;;;;MAIlD,8BAA8B,eAAe,8BAA8B;2BACtD,KAAK,CAAC,IAAI,CAAC,OAAO;;GAE1C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,MAAM,EACJ,UAAU,EAAE,EACV,WAAW,EAAE,EACX,MAAM,EAAE,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAClF,EACF,EACF,GAAG,KAAK,CAAC;IAEV,sHAAsH;IACtH,MAAM,KAAK,GAAG,wBAAwB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAEtF,MAAM,OAAO,GAAG,GAAG,CAAA;aACR,KAAK;iBACD,QAAQ,CAAC,CAAC;;GAExB,CAAC;IAEF,OAAO,GAAG,CAAA;;;MAGN,gBAAgB;QACd,OAAO;;;MAGT,iBAAiB;;;;;;;UAOb,OAAO;;;;;;wBAMO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;;;;QAIvC,aAAa,QAAQ,aAAa;iBACzB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;QAI/C,UAAU,MAAM,UAAU;eACnB,KAAK;;;QAGZ,mBAAmB;;;GAGxB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAChG,MAAM,EACJ,IAAI,EAAE,EACJ,OAAO,EACP,OAAO,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EACtC,EACF,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpE,OAAO,GAAG,CAAA;MACN,QAAQ;QACV,GAAG,CAAA;6CACsC,gBAAgB;KACxD;MACC,uBAAuB;sCACS,OAAO;;GAE1C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEzD,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,EAAE;IAChD,MAAM,EACJ,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,EACpE,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;MACN,aAAa,QAAQ,aAAa;eACzB,cAAc;;QAErB,gBAAgB;QAChB,UAAU;iBACD,WAAW;;;;;;;;;;oCAUQ,KAAK;qCACJ,WAAW;;;;GAI7C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,MAAM,EACJ,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,WAAW,EAAE,EACzB,EACD,UAAU,EAAE,EACV,WAAW,EAAE,EACX,MAAM,EAAE,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,EAC5D,EACF,EACF,GAAG,KAAK,CAAC;IAEV,sHAAsH;IACtH,MAAM,KAAK,GAAG,wBAAwB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,GAAG,mCAAmC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC7F,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;IAEnF,OAAO,GAAG,CAAA;;;;QAIJ,uBAAuB;UACrB,WAAW;iBACJ,KAAK;;;;UAIZ,gBAAgB;iBACT,KAAK;;;;QAId,gBAAgB;QAChB,UAAU;;8CAE4B,KAAK;;;UAGzC,CAAC,iBAAiB;QACpB,GAAG,CAAA;mBACQ,KAAK;;SAEf;;;QAGD,iBAAiB,CAAC,KAAK,CAAC;;GAE7B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAI7D,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/B,MAAM,EACJ,IAAI,EAAE,EACJ,eAAe,EAAE,EAAE,EAAE,EAAE,EACxB,EACD,UAAU,EAAE,EACV,IAAI,EAAE,EACJ,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAChC,EACF,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;;;;MAIN,QAAQ;QACV,GAAG,CAAA;mBACY,EAAE;KAChB;MACC,IAAI;QACN,GAAG,CAAA;qBACc,QAAQ;KACxB;;;;;;;;GAQF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAC7C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,EACvC,UAAU,EAAE,EACV,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAChC,IAAI,EAAE,EAAE,UAAU,EAAE,EACrB,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAErD,OAAO,GAAG,CAAA;;;QAGN,YAAY;QACd,GAAG,CAAA;sBACa,UAAU;yBACP,YAAY;;;OAG9B;QACC,mBAAmB;QACrB,GAAG,CAAA;;;OAGF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACjE,MAAM,EACJ,UAAU,EAAE,EACV,kBAAkB,EAAE,EAClB,MAAM,EAAE,EAAE,QAAQ,EAAE,EACrB,EACD,IAAI,EAAE,EAAE,UAAU,EAAE,EACrB,EACF,GAAG,KAAK,CAAC;IACV,OAAO,GAAG,CAAA;0BACc,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;;MAE7E,QAAQ;QACV,GAAG,CAAA;;oBAEa,UAAU;KACzB;GACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0BAA0B,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;IAC5D,OAAO,GAAG,CAAA;;;MAGN,UAAU;;;;GAIb,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0BAA0B,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChG,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEjD,OAAO,GAAG,CAAA;sCAC0B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO;;SAE3D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO;;;cAG3D,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO;;;;WAI1D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO;;;;;kBAK1D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;;MAEjC,eAAe;QACf,CAAC,CAAC,GAAG,CAAA;wCAC6B,KAAK,CAAC,IAAI,CAAC,OAAO;;SAEjD;QACH,CAAC,CAAC,GAAG,CAAA;;;kBAGO,KAAK,CAAC,IAAI,CAAC,OAAO;;SAE3B;GACN,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iCAAiC,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CACzC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EACP,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,EACtC,eAAe,EAAE,YAAY,EAC7B,UAAU,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAC/D,EACD,UAAU,EAAE,EACV,WAAW,EAAE,EACX,OAAO,EAAE,EAAE,QAAQ,EAAE,EACtB,EACD,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EACjC,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE1D,OAAO,GAAG,CAAA;oBACM,cAAc;;;QAG1B,OAAO;QACT,eAAe;QACf,GAAG,CAAA;;OAEF;;QAEC,QAAQ;QACV,GAAG,CAAA;yBACgB,YAAY;gCACL,YAAY;OACrC;;QAEC,YAAY;QACd,GAAG,CAAA;YACG,UAAU;;sCAEgB,OAAO;kDACK,UAAU;;gBAE5C,SAAS;wBACD,QAAQ;;;0BAGN,SAAS;;;;;OAK5B;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CACnC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,OAAO,EAAE,EAClB,EACF,EAAE,EAAE;IACH,OAAO,GAAG,CAAA;mBACK,UAAU;;wCAEW,OAAO;;KAE1C,CAAC;AACJ,CAAC,CACF,CAAC;AACF,WAAW,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAC7C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAC7B,EACD,UAAU,EAAE,EACV,IAAI,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAC5C,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,GAAG,CAAA;QACN,cAAc;UACZ,sBAAsB;2BACL,gBAAgB;;;;;QAKnC,UAAU;;;;YAIN,cAAc;;;4BAGE,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,aAAa;yCACjC,KAAK;uCACP,MAAM,CAAC,IAAI;;;;;;;;;cASpC,UAAU,WAAW,cAAc;UACvC,KAAK,KAAK,OAAO;QACjB,CAAC,CAAC,GAAG,CAAA;;gCAEiB,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,WAAW;aAC/D;QACH,CAAC,CAAC,GAAG,CAAA;;gCAEiB,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,aAAa;aACjE;uCAC0B,KAAK;qCACP,MAAM,CAAC,IAAI;;;;;;;;QAQxC,cAAc,MAAM,cAAc;;0BAEhB,UAAU,CAAC,MAAM;uCACJ,KAAK;qCACP,MAAM,CAAC,IAAI;;;;;;KAM3C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,8HAA8H;AAC9H,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;IAC/D,OAAO,GAAG,CAAA;cACE,WAAW;;;GAGtB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CACtC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,EACtC,OAAO,EACP,eAAe,EAAE,YAAY,EAC7B,WAAW,EACZ,EACD,UAAU,EAAE,EACV,WAAW,EAAE,EACX,WAAW,EAAE,EACX,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,yBAAyB,EAC9C,EACF,EACD,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAChC,IAAI,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAC7F,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,eAAe,EAAE,GAAG,mCAAmC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC7F,MAAM,4BAA4B,GAAG,wBAAwB,CAC3D,oBAAoB,EACpB,yBAAyB,CAC1B,CAAC;IACF,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1F,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,GAAG,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,GAAG,CAAA;;0BAEY,OAAO;wBACT,WAAW,CAAC,EAAE;4BACV,OAAO,iBAAiB,OAAO;;;;gBAI3C,iCAAiC,MAAM,WAAW;UACxD,iCAAiC;;;;;QAKnC,OAAO;QACT,GAAG,CAAA;4BACmB,OAAO;;;UAGzB,CAAC,SAAS;YACZ,GAAG,CAAA;;SAEF;;UAEC,CAAC,eAAe;YAClB,GAAG,CAAA;0CAC+B,OAAO;SACxC;OACF;;QAEC,MAAM,GAAG,CAAC;QACZ,GAAG,CAAA;;6BAEoB,MAAM;OAC5B;cACO,iBAAiB;cACjB,6BAA6B;UACjC,YAAY;8CACwB,UAAU;;;YAG5C,oBAAoB,oBAAoB,WAAW;;;;;YAKnD,oBAAoB,mBAAmB,WAAW;;;;;;QAMtD,YAAY;QACd,GAAG,CAAA;UACC,oBAAoB;uCACS,gBAAgB;qCAClB,gBAAgB;;YAEzC,UAAU;;;;;YAKV,0BAA0B,KAAK,gBAAgB;;;;OAIpD;;;QAGC,UAAU;QACV,oBAAoB;;;;;cAKd,YAAY;UAChB,UAAU,GAAG,iBAAiB;UAC9B,UAAU,GAAG,6BAA6B;0CACV,OAAO;;;;;gBAKjC,UAAU,GAAG,iBAAiB,MAAM,gBAAgB;gBACpD,UAAU,GAAG,6BAA6B,MAAM,gBAAgB;YACpE,UAAU,GAAG,iBAAiB;YAC9B,UAAU,GAAG,6BAA6B;0BAC5B,oBAAoB;qBACzB,4BAA4B;cACnC,kBAAkB;QACpB,GAAG,CAAA;gBACC,cAAc;oCACM,eAAe;0CACT,UAAU;sDACE,YAAY;;kBAEhD,qBAAqB;kCACL,OAAO,SAAS,OAAO;;;aAG5C;;;;KAIR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,cAAc,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;AAErD,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAAE;IACzF,MAAM,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEnD,OAAO,GAAG,CAAA;;yBAEa,iBAAiB,IAAI,UAAU;GACrD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mCAAmC,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEpE,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACtD,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEpF,OAAO,GAAG,CAAA;;6BAEiB,KAAK,CAAC,IAAI,CAAC,OAAO;;MAEzC,iBAAiB,IAAI,sBAAsB;uBAC1B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;MAKvD,iBAAiB;QACnB,OAAO;QACP,CAAC,OAAO;QACR,GAAG,CAAA;;;KAGF;MACC,OAAO;QACT,iBAAiB;QACjB,GAAG,CAAA;;KAEF;;MAEC,sBAAsB;;QAEpB,CAAC,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,iBAAiB,IAAI,CAAC,OAAO,CAAC,CAAC;QACjF,YAAY,EAAE;;;;MAId,aAAa;QACf,GAAG,CAAA;0BACmB,uBAAuB;KAC5C;GACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CACrC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EACP,WAAW,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAC7C,EACD,UAAU,EAAE,EACV,WAAW,EAAE,EACX,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EACnC,EACD,WAAW,EAAE,EACX,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EACtC,SAAS,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAC3C,EACF,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,GAChF,kBAAkB,EAAE,CAAC;IACvB,MAAM,sBAAsB,GAAG,CAAC,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/F,MAAM,kBAAkB,GACtB,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,OAAO,OAAO,CAAC;IAE1E,OAAO,GAAG,CAAA;aACD,eAAe;QACpB,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,0DAA0D;;iBAEnD,MAAM,CAAC,OAAO;;QAEvB,OAAO;QACT,eAAe;QACf,GAAG,CAAA;;OAEF;;QAEC,eAAe;QACjB,OAAO;QACP,GAAG,CAAA;gCACuB,kBAAkB;8BACpB,iBAAiB,IAAI,sBAAsB;YAC/D,CAAC,CAAC,YAAY,OAAO,GAAG;YACxB,CAAC,CAAC,CAAC;yBACY,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,OAAO,GAAG;OACrE;;QAEC,SAAS;QACX,GAAG,CAAA;;OAEF;;QAEC,OAAO;QACP,CAAC,CAAC,GAAG,CAAA;;WAEF;QACH,CAAC,CAAC,GAAG,CAAA;kCACqB,WAAW,CAAC,EAAE;;;WAGrC;KACN,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAGvC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE;IACjD,OAAO,GAAG,CAAA;;oCAEwB,oBAAoB;;iBAEvC,oBAAoB;;wBAEb,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;;4BAEpC,YAAY;yBACf,YAAY;eACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;;MAEzC,aAAa;QACf,GAAG,CAAA;2BACoB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;4BACxB,wBAAwB;UAC1C,iBAAiB;YACnB,GAAG,CAAA;;;SAGF;;KAEJ;MACC,yBAAyB;;;GAG5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAC/C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAC5C,OAAO,EACR,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE/C,OAAO,GAAG,CAAA;oBACM,aAAa;0BACP,OAAO;;;;;QAKzB,aAAa;QACf,GAAG,CAAA;6BACoB,uBAAuB;OAC7C;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAC/C,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE;IACvC,OAAO,GAAG,CAAA;eACC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;;;;;;;gCAOlD,KAAK,CAAC,IAAI,CAAC,OAAO;KAC7C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChE,OAAO,GAAG,CAAA;;;UAGF,gBAAgB;8BACI,KAAK,CAAC,IAAI,CAAC,OAAO;;GAE7C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,yBAAyB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,OAAO,GAAG,CAAA;mCACuB,KAAK,CAAC,IAAI,CAAC,OAAO;GAClD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGpC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CACtC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAC5C,OAAO,EACP,eAAe,EAAE,YAAY,EAC9B,EACD,UAAU,EAAE,EACV,WAAW,EAAE,EACX,SAAS,EAAE,EACT,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,mBAAmB,EAC/B,kBAAkB,EAAE,wBAAwB,EAC7C,EACD,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EACvC,EACF,EACF,EACF,EAAE,EAAE;IACH,MAAM,2BAA2B,GAAG,wBAAwB,CAC1D,mBAAmB,EACnB,wBAAwB,CACzB,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE7D,OAAO,GAAG,CAAA;;;;;;;;;;oBAUM,aAAa;;QAEzB,OAAO;QACT,GAAG,CAAA;UACC,eAAe;wCACe,OAAO;mBAC5B,2BAA2B;;YAElC,CAAC,iBAAiB;YACpB,GAAG,CAAA;0BACa,mBAAmB;;gCAEb,OAAO;;yCAEE,YAAY;uCACd,YAAY;;;;cAIrC,UAAU;cACV,yBAAyB;;;;;cAKzB,yBAAyB;;;WAG5B;;OAEJ;;QAEC,OAAO;QACT,eAAe;QACf,CAAC,SAAS;QACV,GAAG,CAAA;qBACY,eAAe;YACxB,aAAa;2CACkB,OAAO;;;YAGtC,gBAAgB;qCACS,YAAY;;;OAG1C;;QAEC,CAAC,OAAO;QACV,GAAG,CAAA;UACC,yBAAyB;;;YAGvB,6BAA6B;;;;OAIlC;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,cAAc,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;;;;MAI3C,YAAY;;CAEjB,CAAC;AAEF,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjD,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAC/B,EACF,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEtD,OAAO,GAAG,CAAA;;;;gCAIoB,OAAO;iCACN,OAAO;MAClC,aAAa;QACf,GAAG,CAAA;2BACoB,WAAW,CAAC,EAAE;6DACoB,oBAAoB;;KAE5E;GACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3D,OAAO,GAAG,CAAA;sBACU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;;;;MAIlD,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM;QACnD,CAAC,CAAC,GAAG,CAAA;mBACQ,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK;SAClD;QACH,CAAC,CAAC,IAAI;;MAEN,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM;QACxD,CAAC,CAAC,GAAG,CAAA;wBACa,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU;SAC5D;QACH,CAAC,CAAC,IAAI;;MAEN,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,MAAM;QAC3D,CAAC,CAAC,GAAG,CAAA;wBACa,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;SAC/D;QACH,CAAC,CAAC,IAAI;GACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\nimport type { DefaultTheme } from 'styled-components';\nimport { getContrast, hideVisually, meetsContrastGuidelines, rgba, transparentize } from 'polished';\nimport { useContext } from 'react';\n\nimport {\n Button,\n calculateFontSize,\n CardContent,\n defaultThemeProp,\n StyledBreadcrumbs,\n StyledButtonLink,\n StyledFieldValue,\n StyledStackedFieldValue,\n StyledIcon,\n StyledLabel,\n StyledPopover,\n StyledText,\n StyledTooltip,\n tryCatch,\n FieldValueList,\n StyledLink,\n readableHue,\n StyledCard,\n Text,\n readableColor,\n AppShellContext,\n AIButton,\n StyledButton,\n calculateForegroundColor,\n calculateBackgroundAndContrastColor,\n isSolidColor,\n StyledSummaryListItem,\n StyledProgressBackdrop,\n Image,\n Icon,\n animations,\n useDirection\n} from '@pega/cosmos-react-core';\nimport type { FontSize } from '@pega/cosmos-react-core';\nimport { StyledMenu } from '@pega/cosmos-react-core/lib/components/Menu/Menu.styles';\nimport type { AppShellContextValue } from '@pega/cosmos-react-core/lib/components/AppShell/AppShellContext';\nimport { headerHeight } from '@pega/cosmos-react-core/lib/components/AppShell/AppShell.styles';\nimport { StyledCardHeader } from '@pega/cosmos-react-core/lib/components/Card/CardHeader';\nimport {\n StyledAllTabsWrapper,\n StyledTabs,\n StylesAllTabsButtonWrapper\n} from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.styles';\nimport {\n resizeDrawerMinWidth,\n resizeDrawerMaxWidth,\n resizeDrawerDefaultWidth\n} from '@pega/cosmos-react-core/lib/styles/constants';\nimport { StyledMenuButton } from '@pega/cosmos-react-core/lib/components/MenuButton/MenuButton';\nimport { StyledTab } from '@pega/cosmos-react-core/lib/components/Tabs/Tab';\nimport { StyledTabPanel } from '@pega/cosmos-react-core/lib/components/Tabs/TabPanel';\nimport { StyledCardContent } from '@pega/cosmos-react-core/lib/components/Card/CardContent';\n\nimport { StyledStage, StyledStageContainer, StyledStages } from '../Stages/Stages.styles';\nimport { StyledAssignments } from '../Assignments/Assignments.styles';\nimport { StyledAssignments as StyledHierarchicalAssignments } from '../HierarchicalAssignments/Assignments.styles';\nimport {\n StyledGenAICoachContainer,\n StyledInitialMessageContainer\n} from '../GenAICoach/GenAICoach.styles';\nimport { StyledTaskList } from '../Tasks/TaskList';\nimport { oneColumnDetailsColumnWidth } from '../Details/Details.styles';\n\nimport { useCaseViewContext } from './CaseView.context';\n\nconst labelWidth = '16ch';\nconst inlineEndButtonOffset = '0.375rem';\n\nexport const StyledSummaryPrimaryList = styled(FieldValueList)<{\n wrapped?: boolean;\n}>(({ theme, wrapped }) => {\n const fontSizes = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n const detached = theme.components['field-value-list'].inline.detached;\n\n return css`\n ${wrapped\n ? css`\n grid-template-columns: minmax(0, 1fr);\n `\n : css`\n ${detached &&\n css`\n gap: calc(${theme.base.spacing});\n `}\n grid-template-columns: ${labelWidth} auto;\n `}\n ${StyledFieldValue} {\n font-size: ${fontSizes[theme.components.text.h1['font-size'] as FontSize]};\n font-weight: ${theme.components.text.h1['font-weight']};\n\n > ${StyledButtonLink} {\n font-weight: inherit;\n }\n }\n `;\n});\n\nStyledSummaryPrimaryList.defaultProps = defaultThemeProp;\n\nexport const StyledSummarySecondaryList = styled(FieldValueList)(() => {\n return css`\n ${StyledStackedFieldValue} {\n grid-column: 1 / -1;\n }\n `;\n});\n\nexport const StyledCaseSummaryFields = styled.div(({ theme }) => {\n const {\n components: {\n 'field-value-list': {\n inline: { detached }\n }\n }\n } = theme;\n\n return (\n detached &&\n css`\n ${StyledSummaryPrimaryList} {\n padding-block-start: calc(${theme.components.card.padding} * 2);\n padding-inline: calc(${theme.components.card.padding} * 2);\n }\n\n ${StyledSummarySecondaryList} {\n padding: calc(${theme.components.card.padding} * 2);\n }\n `\n );\n});\n\nStyledCaseSummaryFields.defaultProps = defaultThemeProp;\n\nexport const StyledSummaryTabContent = styled(CardContent)(({ theme }) => {\n const {\n base: { spacing }\n } = theme;\n return css`\n ${StyledSummarySecondaryList} {\n > ${StyledStackedFieldValue} {\n max-width: ${oneColumnDetailsColumnWidth};\n }\n\n > ${StyledFieldValue} {\n max-width: calc(${oneColumnDetailsColumnWidth} - ${labelWidth} - 2 * ${spacing});\n }\n }\n `;\n});\n\nStyledSummaryTabContent.defaultProps = defaultThemeProp;\n\nexport const StyledSummaryHeading = styled(Text)(({ theme }) => {\n return css`\n margin-block-end: ${theme.base.spacing};\n `;\n});\n\nStyledSummaryHeading.defaultProps = defaultThemeProp;\n\nexport const StyledCaseViewImage = styled(Image)`\n max-height: 100%;\n`;\n\nexport const StyledCaseHeader = styled.div(({ theme }) => {\n const {\n components: {\n 'case-view': {\n header: { 'foreground-color': caseHeaderForegroundColor, background },\n summary: { detached: summaryDetached },\n utilities: { detached: utilitiesDetached }\n }\n },\n base: { 'border-radius': borderRadius, spacing, shadow, 'z-index': zIndex, palette }\n } = theme;\n const foregroundColor = calculateForegroundColor(background, caseHeaderForegroundColor);\n const { aboveSM, aboveMD, persistentUtility, aboveXL, summaryExpanded, isPreview } =\n useCaseViewContext();\n const shouldRenderMobileTabs = !aboveMD || (persistentUtility && !aboveXL) || !summaryExpanded;\n const caseHeaderBorderRadius = shouldRenderMobileTabs\n ? `0 0 ${utilitiesDetached ? borderRadius : 0} ${borderRadius}`\n : `${borderRadius} ${borderRadius} 0 0`;\n\n return css`\n background: ${background};\n color: ${foregroundColor};\n padding: ${spacing} calc(2 * ${spacing});\n position: relative;\n\n ${summaryDetached &&\n css`\n border-bottom: 0.0625rem solid ${palette['border-line']};\n `}\n ${summaryDetached &&\n !isPreview &&\n aboveSM &&\n css`\n border-radius: ${caseHeaderBorderRadius};\n `}\n h1:focus-visible {\n outline: transparent;\n box-shadow: ${shadow.focus};\n }\n\n ${StyledMenu} {\n color: ${palette['foreground-color']};\n z-index: ${zIndex.popover + 1};\n }\n `;\n});\n\nStyledCaseHeader.defaultProps = defaultThemeProp;\n\nexport const StyledFollowIconWrap = styled.label`\n font-size: 1.25rem;\n\n input {\n ${hideVisually}\n }\n\n input:focus + svg {\n box-shadow: ${({ theme }) => theme.base.shadow.focus};\n }\n`;\n\nStyledFollowIconWrap.defaultProps = defaultThemeProp;\n\nexport const StyledSubheading = styled.p``;\n\nStyledSubheading.defaultProps = defaultThemeProp;\n\nexport const StyledCaseHeaderPromotedAction = styled(Button)(({ theme }) => {\n const {\n base: {\n palette: { interactive }\n },\n components: {\n 'case-view': {\n header: { background, 'foreground-color': foregroundColor }\n }\n }\n } = theme;\n\n /* If foreground color is auto, we calculate the text color based on the background color. */\n const textColor = calculateForegroundColor(background, foregroundColor);\n const isGradientBackground = !isSolidColor(background);\n const backgroundColor = isGradientBackground ? readableColor(textColor) : background;\n const interactiveUsable = getContrast(backgroundColor, interactive) >= 4.5;\n const color = !isGradientBackground && interactiveUsable ? interactive : textColor;\n\n let hoverBackground = rgba(color, 0.15);\n if (!isGradientBackground && interactiveUsable) {\n hoverBackground = readableHue(interactive, color);\n }\n return css`\n --button-background-color: ${backgroundColor};\n color: ${color};\n background-color: transparent;\n border-color: ${color};\n\n @media (hover: hover) {\n &:hover {\n --button-background-color: ${hoverBackground};\n color: ${color};\n background-color: ${hoverBackground};\n border-color: ${color};\n }\n\n &:active {\n --button-background-color: ${hoverBackground};\n color: ${color};\n background-color: ${hoverBackground};\n border-color: ${color};\n }\n }\n `;\n});\n\nStyledCaseHeaderPromotedAction.defaultProps = defaultThemeProp;\n\nexport const StyledHeaderActions = styled.div<{ offsetEnd: boolean }>(({ offsetEnd, theme }) => {\n return css`\n margin-inline-start: auto;\n padding-block: ${theme.base.spacing};\n padding-inline-start: calc(2 * ${theme.base.spacing});\n\n ${offsetEnd &&\n css`\n padding-inline-end: ${inlineEndButtonOffset};\n `};\n\n ${StyledButton}:not(${StyledCaseHeaderPromotedAction}) {\n margin-inline-start: 0;\n }\n\n ${StyledCaseHeaderPromotedAction}:not(:has(+ ${StyledCaseHeaderPromotedAction})) {\n margin-inline-end: ${theme.base.spacing};\n }\n `;\n});\n\nStyledHeaderActions.defaultProps = defaultThemeProp;\n\nexport const StyledCaseHeaderText = styled.hgroup(({ theme }) => {\n const {\n components: {\n 'case-view': {\n header: { 'foreground-color': foregroundColor, background: caseHeaderBackground }\n }\n }\n } = theme;\n\n /* If the foreground-color is auto, we calculate the text color and transparentColor based on the background color. */\n const color = calculateForegroundColor(caseHeaderBackground, foregroundColor);\n\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n const idStyle = css`\n color: ${color};\n font-size: ${fontSize.s};\n font-weight: normal;\n `;\n\n return css`\n word-break: break-word;\n\n ${StyledSubheading} {\n ${idStyle}\n }\n\n ${StyledBreadcrumbs} {\n max-width: 100%;\n\n > a,\n > span,\n > button,\n > svg {\n ${idStyle}\n }\n\n > a,\n > button {\n &:focus {\n box-shadow: ${theme.base.shadow.focus};\n }\n }\n\n ${StyledPopover}:not(${StyledTooltip}) {\n color: ${theme.base.palette['foreground-color']};\n }\n }\n\n > ${StyledText} > ${StyledLink} {\n color: ${color};\n }\n\n + ${StyledHeaderActions} {\n padding-inline-start: 0;\n }\n `;\n});\n\nStyledCaseHeaderText.defaultProps = defaultThemeProp;\n\nexport const StyledHeaderSummaryBlock = styled.div<{ hasItems: boolean }>(({ hasItems, theme }) => {\n const {\n base: {\n spacing,\n palette: { 'brand-primary': primary }\n }\n } = theme;\n\n const color = readableColor(primary);\n const transparentColor = tryCatch(() => transparentize(0.5, color));\n\n return css`\n ${hasItems &&\n css`\n border-inline-start: 0.0625rem solid ${transparentColor};\n `}\n ${StyledStackedFieldValue}:first-child {\n margin-inline-start: calc(2 * ${spacing});\n }\n `;\n});\n\nStyledHeaderSummaryBlock.defaultProps = defaultThemeProp;\n\nconst popoverColorReset = (theme: DefaultTheme) => {\n const {\n base: {\n palette: { interactive, light, 'foreground-color': baseForeground }\n }\n } = theme;\n\n return css`\n ${StyledPopover}:not(${StyledTooltip}) {\n color: ${baseForeground};\n\n ${StyledButtonLink},\n ${StyledLink} {\n color: ${interactive};\n text-decoration: none;\n\n &:hover,\n &:active {\n text-decoration: underline;\n }\n\n &:focus {\n box-shadow:\n inset 0 0 0 0.0625rem ${light},\n 0 0 0.125rem 0.0625rem ${interactive};\n }\n }\n }\n `;\n};\n\nexport const StyledHeaderSummary = styled.dl(({ theme }) => {\n const {\n base: {\n palette: { interactive }\n },\n components: {\n 'case-view': {\n header: { 'foreground-color': foregroundColor, background }\n }\n }\n } = theme;\n\n /* If the foreground-color is auto, we calculate the text color and transparentColor based on the background color. */\n const color = calculateForegroundColor(background, foregroundColor);\n const { backgroundColor } = calculateBackgroundAndContrastColor(background, foregroundColor);\n const interactiveUsable = meetsContrastGuidelines(backgroundColor, interactive).AA;\n\n return css`\n max-width: 100%;\n min-width: 0;\n\n > ${StyledStackedFieldValue} {\n > ${StyledLabel} {\n color: ${color};\n white-space: nowrap;\n }\n\n > ${StyledFieldValue} {\n color: ${color};\n white-space: nowrap;\n }\n\n ${StyledButtonLink},\n ${StyledLink} {\n &:focus-visible {\n box-shadow: inset 0 0 0 0.0625rem ${color};\n }\n\n ${!interactiveUsable &&\n css`\n color: ${color};\n text-decoration: underline;\n `}\n }\n\n ${popoverColorReset(theme)}\n }\n `;\n});\n\nStyledHeaderSummary.defaultProps = defaultThemeProp;\n\nexport const StyledHeaderSummaryValue = styled(StyledFieldValue)<{\n bold?: boolean;\n truncate?: boolean;\n theme: DefaultTheme;\n}>(({ bold, truncate, theme }) => {\n const {\n base: {\n 'content-width': { xs }\n },\n components: {\n text: {\n h1: { 'font-weight': h1Weight }\n }\n }\n } = theme;\n\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n\n ${truncate &&\n css`\n max-width: ${xs};\n `}\n ${bold &&\n css`\n font-weight: ${h1Weight};\n `}\n /*\n * :not([hidden]) necessary to prevent hidden span with preview a11y instructions from\n * factoring into scrollWidth of element when determining truncation.\n */\n > :not([hidden]) {\n display: inline;\n }\n `;\n});\n\nStyledHeaderSummaryValue.defaultProps = defaultThemeProp;\n\nexport const StyledCaseSummaryInfo = styled.div(\n ({\n theme: {\n base: { 'border-radius': borderRadius },\n components: {\n tabs: { detached: tabsDetached },\n card: { background }\n }\n }\n }) => {\n const { intelligentGuidance } = useCaseViewContext();\n\n return css`\n overflow: auto;\n flex: 1;\n ${tabsDetached &&\n css`\n background: ${background};\n border-radius: ${borderRadius};\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n `}\n ${intelligentGuidance &&\n css`\n /* Accounts for collapsed intelligentGuidance list covering summary panel content when fully scrolled. */\n padding-block-end: 4rem;\n `}\n `;\n }\n);\n\nStyledCaseSummaryInfo.defaultProps = defaultThemeProp;\n\nexport const StyledCaseSummaryContainer = styled.div(({ theme }) => {\n const {\n components: {\n 'field-value-list': {\n inline: { detached }\n },\n card: { background }\n }\n } = theme;\n return css`\n padding: calc(1.5 * ${theme.base.spacing}) calc(${theme.components.card.padding} * 2);\n\n ${detached &&\n css`\n padding: 0;\n background: ${background};\n `}\n `;\n});\n\nStyledCaseSummaryContainer.defaultProps = defaultThemeProp;\n\nexport const StyledExpandCollapseButton = styled(Button)(() => {\n return css`\n border: none;\n\n ${StyledIcon} {\n width: 1.5rem;\n height: 1.5rem;\n }\n `;\n});\n\nStyledExpandCollapseButton.defaultProps = defaultThemeProp;\n\nexport const StyledExpandCollapseSummaryButton = styled(StyledExpandCollapseButton)(({ theme }) => {\n const { summaryExpanded } = useCaseViewContext();\n\n return css`\n --half-compact-btn-height: calc(${theme.base['hit-area'].compact} / 2);\n --half-btn-compact-difference: calc(\n (${theme.base['hit-area'].mouse} - ${theme.base['hit-area'].compact}) / 2\n );\n --half-case-icon-compact-difference: calc(\n ((4 * ${theme.base.spacing}) - ${theme.base['hit-area'].compact}) / 2\n );\n @media (pointer: coarse) {\n --half-btn-compact-difference: calc(\n (${theme.base['hit-area'].finger} - ${theme.base['hit-area'].compact}) / 2\n );\n }\n position: absolute;\n z-index: 1;\n box-shadow: ${theme.base.shadow.low};\n\n ${summaryExpanded\n ? css`\n inset-block-start: calc(2 * ${theme.base.spacing} + var(--half-btn-compact-difference));\n inset-inline-start: calc(100% - var(--half-compact-btn-height));\n `\n : css`\n inset-block-end: calc(var(--half-compact-btn-height) * -1);\n inset-inline-start: calc(\n 2 * ${theme.base.spacing} + var(--half-case-icon-compact-difference)\n );\n `}\n `;\n});\n\nStyledExpandCollapseSummaryButton.defaultProps = defaultThemeProp;\n\nexport const StyledCaseSummary = styled.div(\n ({\n theme: {\n base: {\n spacing,\n palette: { 'border-line': borderLine },\n 'border-radius': borderRadius,\n 'hit-area': { 'mouse-min': mouseMin, 'finger-min': fingerMin }\n },\n components: {\n 'case-view': {\n summary: { detached }\n },\n card: { background: cardBackground },\n tabs: { detached: tabsDetached }\n }\n }\n }) => {\n const { summaryExpanded, aboveMD } = useCaseViewContext();\n\n return css`\n background: ${cardBackground};\n position: relative;\n height: 100%;\n ${aboveMD &&\n summaryExpanded &&\n css`\n width: 25rem;\n `}\n\n ${detached &&\n css`\n border-radius: ${borderRadius};\n --border-radius: calc(${borderRadius} * 0.5);\n `}\n\n ${tabsDetached &&\n css`\n & ${StyledTabs} {\n &[aria-orientation='vertical'] {\n padding-top: calc(1.5 * ${spacing});\n border-block-start: 0.0625rem solid ${borderLine};\n\n & ${StyledTab} {\n height: ${mouseMin};\n\n @media (pointer: coarse) {\n height: ${fingerMin};\n }\n }\n }\n }\n `}\n `;\n }\n);\n\nStyledCaseSummary.defaultProps = defaultThemeProp;\n\nexport const StyledTasks = styled.div(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n &:not(:has(${StyledCard})) {\n /* Add negative top margin to compensate extra row-gap due to empty Tasks container */\n margin-block-start: calc(-2 * ${spacing});\n }\n `;\n }\n);\nStyledTasks.defaultProps = defaultThemeProp;\n\nexport const StyledTabPanelWrapper = styled.div(\n ({\n theme: {\n base: {\n animation: { speed, timing }\n },\n components: {\n card: { 'border-radius': cardBorderRadius }\n }\n }\n }) => {\n const { start } = useDirection();\n\n return css`\n ${StyledTabPanel} {\n ${StyledProgressBackdrop} {\n border-radius: ${cardBorderRadius};\n }\n }\n\n /* Top-level horizontal tabs - slide in from top */\n ${StyledTabs} ~ & {\n position: relative;\n z-index: 0;\n\n > ${StyledTabPanel} {\n --reveal-from: 0.7;\n --slide-in-y-start-offset: -0.8rem;\n animation-name: ${animations.reveal}, ${animations.slideInYStart};\n animation-duration: max(calc(${speed} * 2), 1ms);\n animation-timing-function: ${timing.ease};\n\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 1ms;\n }\n }\n }\n\n /* Top-level vertical tabs - slide in from start*/\n &:not(${StyledTabs} ~ &) > ${StyledTabPanel} {\n ${start === 'right'\n ? css`\n --slide-in-x-end-offset: 1.5rem;\n animation-name: ${animations.reveal}, ${animations.slideInXEnd};\n `\n : css`\n --slide-in-x-start-offset: -1.5rem;\n animation-name: ${animations.reveal}, ${animations.slideInXStart};\n `}\n animation-duration: max(calc(${speed} * 2), 1ms);\n animation-timing-function: ${timing.ease};\n\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 1ms;\n }\n }\n\n /* Nested tab panels - always fade only */\n ${StyledTabPanel} & ${StyledTabPanel} {\n --reveal-from: 0.7;\n animation-name: ${animations.reveal};\n animation-duration: max(calc(${speed} * 2), 1ms);\n animation-timing-function: ${timing.ease};\n\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 1ms;\n }\n }\n `;\n }\n);\n\nStyledTabPanelWrapper.defaultProps = defaultThemeProp;\n\n// This component defintion was primarily required to conditionally hide empty div and avoid unnecessary row gap in work area.\nexport const StyledBannersStagesTasksContainer = styled.div(() => {\n return css`\n &:has(> ${StyledTasks}:only-child > :only-child:empty[data-flow]) {\n display: none;\n }\n `;\n});\n\nexport const StyledWorkArea = styled.div(\n ({\n theme: {\n base: {\n palette: { 'border-line': borderLine },\n spacing,\n 'border-radius': borderRadius,\n breakpoints\n },\n components: {\n 'case-view': {\n assignments: {\n detached: assignmentDetached,\n background: assignmentBackground,\n 'foreground-color': assignmentForegroundColor\n }\n },\n tabs: { detached: tabsDetached },\n card: { background, 'foreground-color': foregroundColor, 'border-radius': cardBorderRadius }\n }\n }\n }) => {\n const { backgroundColor } = calculateBackgroundAndContrastColor(background, foregroundColor);\n const foregroundColorForAssignment = calculateForegroundColor(\n assignmentBackground,\n assignmentForegroundColor\n );\n const { summaryExpanded, aboveMD, intelligentGuidance, isPreview } = useCaseViewContext();\n let pbeRem = 0;\n\n if (intelligentGuidance) {\n pbeRem = aboveMD && !summaryExpanded ? 4 : 6;\n }\n\n return css`\n grid-area: work-area;\n padding: calc(2 * ${spacing});\n @media (width < ${breakpoints.sm}) {\n padding: calc(2 * ${spacing}) calc(0.75 * ${spacing});\n }\n\n /* Prevents unnecessary gap when case view has neither stages nor assignments */\n &:has(> ${StyledBannersStagesTasksContainer} > ${StyledTasks}:first-child:empty) {\n ${StyledBannersStagesTasksContainer} {\n display: none;\n }\n }\n\n ${aboveMD &&\n css`\n padding: calc(2 * ${spacing}) 0;\n\n /* This is required to make scrollStick work. */\n ${!isPreview &&\n css`\n height: max-content;\n `}\n\n ${!summaryExpanded &&\n css`\n margin-inline-start: calc(2 * ${spacing});\n `}\n `}\n /* Order of style here is necessary for overriding styles above. */\n ${pbeRem > 0 &&\n css`\n /* Accounts for collapsed intelligentGuidance bubble covering work area content when fully scrolled. */\n padding-block-end: ${pbeRem}rem;\n `}\n &:has(${StyledAssignments}),\n &:has(${StyledHierarchicalAssignments}) {\n ${StyledStages} {\n border-block-end: 0.0625rem solid ${borderLine};\n\n &,\n ${StyledStageContainer}:first-of-type > ${StyledStage} {\n border-end-start-radius: 0;\n }\n\n &,\n ${StyledStageContainer}:last-of-type > ${StyledStage} {\n border-end-end-radius: 0;\n }\n }\n }\n\n ${tabsDetached &&\n css`\n ${StyledAllTabsWrapper} {\n border-start-start-radius: ${cardBorderRadius};\n border-start-end-radius: ${cardBorderRadius};\n\n ${StyledTabs} {\n border-radius: unset;\n border-start-end-radius: inherit;\n }\n\n ${StylesAllTabsButtonWrapper}, ${StyledMenuButton} {\n border-start-start-radius: inherit;\n }\n }\n `}\n\n /* Ensure horizontal tabs stay above sliding tab content */\n ${StyledTabs}[aria-orientation='horizontal'],\n ${StyledAllTabsWrapper} {\n position: relative;\n z-index: 1;\n }\n\n &:has(${StyledStages}) {\n ${StyledCard}${StyledAssignments},\n ${StyledCard}${StyledHierarchicalAssignments} {\n margin-block-start: calc(-2 * ${spacing});\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n\n &:has(${StyledCard}${StyledAssignments} > ${StyledCardHeader}),\n &:has(${StyledCard}${StyledHierarchicalAssignments} > ${StyledCardHeader}) {\n ${StyledCard}${StyledAssignments},\n ${StyledCard}${StyledHierarchicalAssignments} {\n background: ${assignmentBackground};\n color: ${foregroundColorForAssignment};\n ${assignmentDetached &&\n css`\n ${StyledTaskList} {\n background-color: ${backgroundColor};\n border: solid 0.0625rem ${borderLine};\n border-radius: var(--border-radius, ${borderRadius});\n\n ${StyledSummaryListItem} {\n padding: calc(${spacing} / 2) ${spacing};\n }\n }\n `}\n }\n }\n }\n `;\n }\n);\n\nStyledWorkArea.defaultProps = defaultThemeProp;\n\nexport const StyledUtilitiesHeading = styled(Text)``;\n\nexport const StyledExpandCollapseUtilitiesButton = styled(StyledExpandCollapseButton)(() => {\n const { utilitiesExpanded } = useCaseViewContext();\n\n return css`\n /* Centers button over the utilities summary */\n margin-inline-end: ${utilitiesExpanded && '0.625rem'};\n `;\n});\n\nStyledExpandCollapseUtilitiesButton.defaultProps = defaultThemeProp;\n\nconst genAICoachReservedSpace = '4rem';\n\nexport const StyledUtilities = styled.div(({ theme }) => {\n const { utilitiesExpanded, aboveLG, aboveMD, hasGenAICoach } = useCaseViewContext();\n\n return css`\n height: max-content;\n margin-block: calc(2 * ${theme.base.spacing});\n\n ${StyledCardContent} ${StyledProgressBackdrop} {\n border-radius: ${theme.components.card['border-radius']};\n }\n\n /* If utilities are in an expanded drawer. */\n\n ${utilitiesExpanded &&\n aboveMD &&\n !aboveLG &&\n css`\n /* Maintains the column width to avoid page content shift. */\n visibility: hidden;\n `}\n ${aboveLG &&\n utilitiesExpanded &&\n css`\n width: 25rem;\n `}\n /* Selects the h2 in the utilities column, not the drawer. */\n ${StyledUtilitiesHeading} {\n /* Hide the utilities h2 under certain conditions.*/\n ${((aboveMD && !utilitiesExpanded) || (aboveMD && utilitiesExpanded && !aboveLG)) &&\n hideVisually()}\n }\n\n /* Reserve space below so the docked GenAI coach doesn't overlap utility items. */\n ${hasGenAICoach &&\n css`\n margin-block-end: ${genAICoachReservedSpace};\n `}\n `;\n});\n\nStyledUtilities.defaultProps = defaultThemeProp;\n\nexport const StyledSummary = styled.div(\n ({\n theme: {\n base: {\n spacing,\n breakpoints,\n 'z-index': zIndex,\n palette: { 'app-background': appBackground }\n },\n components: {\n 'app-shell': {\n nav: { background: navBackground }\n },\n 'case-view': {\n summary: { detached: summaryDetached },\n utilities: { detached: utilitiesDetached }\n }\n }\n }\n }) => {\n const { aboveSM, aboveMD, persistentUtility, aboveXL, summaryExpanded, isPreview } =\n useCaseViewContext();\n const shouldRenderMobileTabs = !aboveMD || (persistentUtility && !aboveXL) || !summaryExpanded;\n const inlineStartPadding =\n navBackground === appBackground ? `${spacing}` : `calc(${spacing} * 2)`;\n\n return css`\n top: ${summaryExpanded\n ? 'var(--top-offset)'\n : 'var(--appshell-sticky-offset, var(--appshell-offset, 0))'};\n width: 100%;\n z-index: ${zIndex.popover};\n\n ${aboveMD &&\n summaryExpanded &&\n css`\n height: var(--case-view-height);\n `}\n\n ${summaryDetached &&\n aboveSM &&\n css`\n padding-inline-start: ${inlineStartPadding};\n padding-inline-end: ${utilitiesDetached && shouldRenderMobileTabs\n ? `calc(2 * ${spacing})`\n : 0};\n padding-block: ${shouldRenderMobileTabs ? 0 : `calc(2 * ${spacing})`};\n `}\n\n ${isPreview &&\n css`\n padding: 0;\n `}\n\n ${aboveMD\n ? css`\n position: sticky;\n `\n : css`\n @media (min-height: ${breakpoints.sm}) {\n position: sticky;\n }\n `}\n `;\n }\n);\n\nStyledSummary.defaultProps = defaultThemeProp;\n\nexport const StyledCaseDrawer = styled.div<{\n previewActive?: AppShellContextValue['previewActive'];\n utilitiesExpanded?: boolean;\n}>(({ previewActive, utilitiesExpanded, theme }) => {\n return css`\n --utilities-drawer-width: var(--resize-drawer-width);\n --utilities-drawer-min-width: ${resizeDrawerMinWidth};\n min-width: var(--utilities-drawer-min-width);\n max-width: ${resizeDrawerMaxWidth};\n width: var(--utilities-drawer-width);\n background-color: ${theme.base.palette['primary-background']};\n /* stylelint-disable-next-line unit-allowed-list */\n height: calc(100dvh - ${headerHeight});\n inset-block-start: ${headerHeight};\n z-index: ${theme.base['z-index'].drawer - 1};\n\n ${previewActive &&\n css`\n @media (min-width: ${theme.base.breakpoints.xl}) {\n inset-inline-end: ${resizeDrawerDefaultWidth};\n ${utilitiesExpanded &&\n css`\n inset-inline-end: var(--resize-drawer-width);\n width: var(--utilities-drawer-min-width);\n `}\n }\n `}\n ${StyledGenAICoachContainer} {\n width: calc(var(--utilities-drawer-width) - 2rem);\n }\n `;\n});\n\nStyledCaseDrawer.defaultProps = defaultThemeProp;\n\nexport const StyledCaseDrawerContent = styled.div(\n ({\n theme: {\n base: {\n palette: { 'app-background': appBackground },\n spacing\n }\n }\n }) => {\n const { hasGenAICoach } = useCaseViewContext();\n\n return css`\n background: ${appBackground};\n padding: calc(2 * ${spacing});\n height: 100%;\n overflow: auto;\n\n /* Reserve scroll space so the docked GenAI coach doesn't overlap utility items. */\n ${hasGenAICoach &&\n css`\n padding-block-end: ${genAICoachReservedSpace};\n `}\n `;\n }\n);\n\nStyledCaseDrawerContent.defaultProps = defaultThemeProp;\n\nexport const StyledPersistentUtility = styled.div<{ persistentUtilityExpanded?: boolean }>(\n ({ theme, persistentUtilityExpanded }) => {\n return css`\n width: ${persistentUtilityExpanded ? '100%' : theme.base['content-width'].md};\n overflow: auto;\n position: sticky;\n z-index: 1;\n height: var(--case-view-height);\n inset-block-start: var(--top-offset);\n inset-block-end: var(--bottom-offset);\n padding-block: calc(2 * ${theme.base.spacing});\n `;\n }\n);\n\nStyledPersistentUtility.defaultProps = defaultThemeProp;\n\nexport const StyledPersistentContainer = styled.div(({ theme }) => {\n return css`\n height: 100%;\n\n &&& ${StyledCardHeader} {\n padding-inline-start: ${theme.base.spacing};\n }\n `;\n});\n\nStyledPersistentContainer.defaultProps = defaultThemeProp;\n\nexport const StyledPersistentContent = styled.div(({ theme }) => {\n return css`\n height: calc(100% - calc(4 * ${theme.base.spacing}));\n `;\n});\n\nStyledPersistentContent.defaultProps = defaultThemeProp;\n\nexport const ScrollStick = styled.div`\n position: sticky;\n top: 0;\n`;\n\nexport const StyledCaseView = styled.div(\n ({\n theme: {\n base: {\n palette: { 'app-background': appBackground },\n spacing,\n 'border-radius': borderRadius\n },\n components: {\n 'case-view': {\n utilities: {\n detached: utilitiesDetached,\n background: utilitiesBackground,\n 'foreground-color': utilitiesForegroundColor\n },\n summary: { detached: summaryDetached }\n }\n }\n }\n }) => {\n const utilitiesForegroundComputed = calculateForegroundColor(\n utilitiesBackground,\n utilitiesForegroundColor\n );\n const { aboveSM, aboveMD, isPreview } = useCaseViewContext();\n\n return css`\n --top-offset: calc(\n var(--appshell-sticky-offset, var(--appshell-offset, 0rem)) + var(--summary-height)\n );\n /* stylelint-disable-next-line length-zero-no-unit */\n --bottom-offset: var(--appshell-bottom-offset, 0rem);\n /* stylelint-disable-next-line unit-allowed-list */\n --case-view-height: calc(100dvh - var(--top-offset) - var(--bottom-offset));\n position: relative;\n min-height: var(--case-view-height);\n background: ${appBackground};\n\n ${aboveMD &&\n css`\n ${StyledUtilities}:last-child {\n margin-inline-end: calc(2 * ${spacing});\n color: ${utilitiesForegroundComputed};\n\n ${!utilitiesDetached &&\n css`\n background: ${utilitiesBackground};\n margin-inline-end: 0;\n padding: calc(2 * ${spacing});\n padding-inline-end: 0;\n border-start-start-radius: ${borderRadius};\n border-end-start-radius: ${borderRadius};\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n\n ${StyledCard},\n ${StyledGenAICoachContainer} {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n ${StyledGenAICoachContainer} {\n inset-inline-end: 0;\n }\n `}\n }\n `}\n\n ${aboveSM &&\n summaryDetached &&\n !isPreview &&\n css`\n &:not(:has(${StyledUtilities})) {\n ${StyledSummary} {\n padding-inline-end: calc(2 * ${spacing});\n }\n\n ${StyledCaseHeader} {\n border-end-end-radius: ${borderRadius};\n }\n }\n `}\n\n ${!aboveMD &&\n css`\n ${StyledGenAICoachContainer} {\n height: 42.5rem;\n\n ${StyledInitialMessageContainer} {\n justify-content: center;\n }\n }\n `}\n `;\n }\n);\n\nStyledCaseView.defaultProps = defaultThemeProp;\n\nexport const StyledUtilitiesHeader = styled(Text)`\n align-self: center;\n\n &:not(:focus) {\n ${hideVisually}\n }\n`;\n\nStyledUtilitiesHeader.defaultProps = defaultThemeProp;\n\nexport const StyledCoachButton = styled(AIButton)(({\n theme: {\n base: { spacing, breakpoints }\n }\n}) => {\n const { previewActive } = useContext(AppShellContext);\n\n return css`\n position: fixed;\n width: 2.75rem;\n height: 2.75rem;\n inset-block-end: calc(2 * ${spacing});\n inset-inline-end: calc(2 * ${spacing});\n ${previewActive &&\n css`\n @media (min-width: ${breakpoints.xl}) {\n margin-inline-end: min(var(--resize-drawer-width), ${resizeDrawerMaxWidth});\n }\n `}\n `;\n});\n\nStyledCoachButton.defaultProps = defaultThemeProp;\n\nexport const StyledUtilitiesWrapper = styled.div``;\n\nexport const StyledCaseViewIcon = styled(Icon)(({ theme }) => {\n return css`\n --brand-accent: ${theme.base.palette['brand-accent']};\n --gradient-start: oklch(from var(--brand-accent) calc(l - 0.3) calc(c * 1.5) h);\n --gradient-mid: oklch(from var(--brand-accent) l c h);\n --gradient-end: oklch(from var(--brand-accent) calc(l + 0.5) calc(c * 1.5) h);\n ${theme.components['case-view'].icon.color !== 'auto'\n ? css`\n color: ${theme.components['case-view'].icon.color};\n `\n : null}\n\n ${theme.components['case-view'].icon.background !== 'auto'\n ? css`\n background: ${theme.components['case-view'].icon.background};\n `\n : null}\n\n ${theme.components['case-view'].icon['box-shadow'] !== 'auto'\n ? css`\n box-shadow: ${theme.components['case-view'].icon['box-shadow']};\n `\n : null}\n `;\n});\n\nStyledCaseViewIcon.defaultProps = defaultThemeProp;\n"]}
|
|
1
|
+
{"version":3,"file":"CaseView.styles.js","sourceRoot":"","sources":["../../../src/components/CaseView/CaseView.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\nimport type { DefaultTheme } from 'styled-components';\nimport { getContrast, hideVisually, meetsContrastGuidelines, rgba, transparentize } from 'polished';\nimport { useContext } from 'react';\n\nimport {\n Button,\n calculateFontSize,\n CardContent,\n defaultThemeProp,\n StyledBreadcrumbs,\n StyledButtonLink,\n StyledFieldValue,\n StyledStackedFieldValue,\n StyledIcon,\n StyledLabel,\n StyledPopover,\n StyledText,\n StyledTooltip,\n tryCatch,\n FieldValueList,\n StyledLink,\n readableHue,\n StyledCard,\n Text,\n readableColor,\n AppShellContext,\n AIButton,\n StyledButton,\n calculateForegroundColor,\n calculateBackgroundAndContrastColor,\n isSolidColor,\n StyledSummaryListItem,\n StyledProgressBackdrop,\n Image,\n Icon,\n animations,\n useDirection\n} from '@pega/cosmos-react-core';\nimport type { FontSize } from '@pega/cosmos-react-core';\nimport { StyledMenu } from '@pega/cosmos-react-core/lib/components/Menu/Menu.styles';\nimport type { AppShellContextValue } from '@pega/cosmos-react-core/lib/components/AppShell/AppShellContext';\nimport { headerHeight } from '@pega/cosmos-react-core/lib/components/AppShell/AppShell.styles';\nimport { StyledCardHeader } from '@pega/cosmos-react-core/lib/components/Card/CardHeader';\nimport {\n StyledAllTabsWrapper,\n StyledTabs,\n StylesAllTabsButtonWrapper\n} from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.styles';\nimport {\n resizeDrawerMinWidth,\n resizeDrawerMaxWidth,\n resizeDrawerDefaultWidth\n} from '@pega/cosmos-react-core/lib/styles/constants';\nimport { StyledMenuButton } from '@pega/cosmos-react-core/lib/components/MenuButton/MenuButton';\nimport { StyledTab } from '@pega/cosmos-react-core/lib/components/Tabs/Tab';\nimport { StyledTabPanel } from '@pega/cosmos-react-core/lib/components/Tabs/TabPanel';\nimport { StyledCardContent } from '@pega/cosmos-react-core/lib/components/Card/CardContent';\n\nimport { StyledStage, StyledStageContainer, StyledStages } from '../Stages/Stages.styles';\nimport { StyledAssignments } from '../Assignments/Assignments.styles';\nimport { StyledAssignments as StyledHierarchicalAssignments } from '../HierarchicalAssignments/Assignments.styles';\nimport {\n StyledGenAICoachContainer,\n StyledInitialMessageContainer\n} from '../GenAICoach/GenAICoach.styles';\nimport { StyledTaskList } from '../Tasks/TaskList';\nimport { oneColumnDetailsColumnWidth } from '../Details/Details.styles';\n\nimport { useCaseViewContext } from './CaseView.context';\n\nconst labelWidth = '16ch';\nconst inlineEndButtonOffset = '0.375rem';\n\nexport const StyledSummaryPrimaryList = styled(FieldValueList)<{\n wrapped?: boolean;\n}>(({ theme, wrapped }) => {\n const fontSizes = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n const detached = theme.components['field-value-list'].inline.detached;\n\n return css`\n ${wrapped\n ? css`\n grid-template-columns: minmax(0, 1fr);\n `\n : css`\n ${detached &&\n css`\n gap: calc(${theme.base.spacing});\n `}\n grid-template-columns: ${labelWidth} auto;\n `}\n ${StyledFieldValue} {\n font-size: ${fontSizes[theme.components.text.h1['font-size'] as FontSize]};\n font-weight: ${theme.components.text.h1['font-weight']};\n\n > ${StyledButtonLink} {\n font-weight: inherit;\n }\n }\n `;\n});\n\nStyledSummaryPrimaryList.defaultProps = defaultThemeProp;\n\nexport const StyledSummarySecondaryList = styled(FieldValueList)(() => {\n return css`\n ${StyledStackedFieldValue} {\n grid-column: 1 / -1;\n }\n `;\n});\n\nexport const StyledCaseSummaryFields = styled.div(({ theme }) => {\n const {\n components: {\n 'field-value-list': {\n inline: { detached }\n }\n }\n } = theme;\n\n return (\n detached &&\n css`\n ${StyledSummaryPrimaryList} {\n padding-block-start: calc(${theme.components.card.padding} * 2);\n padding-inline: calc(${theme.components.card.padding} * 2);\n }\n\n ${StyledSummarySecondaryList} {\n padding: calc(${theme.components.card.padding} * 2);\n }\n `\n );\n});\n\nStyledCaseSummaryFields.defaultProps = defaultThemeProp;\n\nexport const StyledSummaryTabContent = styled(CardContent)(({ theme }) => {\n const {\n base: { spacing }\n } = theme;\n return css`\n ${StyledSummarySecondaryList} {\n > ${StyledStackedFieldValue} {\n max-width: ${oneColumnDetailsColumnWidth};\n }\n\n > ${StyledFieldValue} {\n max-width: calc(${oneColumnDetailsColumnWidth} - ${labelWidth} - 2 * ${spacing});\n }\n }\n `;\n});\n\nStyledSummaryTabContent.defaultProps = defaultThemeProp;\n\nexport const StyledSummaryHeading = styled(Text)(({ theme }) => {\n return css`\n margin-block-end: ${theme.base.spacing};\n `;\n});\n\nStyledSummaryHeading.defaultProps = defaultThemeProp;\n\nexport const StyledCaseViewImage = styled(Image)`\n max-height: 100%;\n`;\n\nexport const StyledCaseHeader = styled.div(({ theme }) => {\n const {\n components: {\n 'case-view': {\n header: { 'foreground-color': caseHeaderForegroundColor, background },\n summary: { detached: summaryDetached },\n utilities: { detached: utilitiesDetached }\n }\n },\n base: { 'border-radius': borderRadius, spacing, shadow, 'z-index': zIndex, palette }\n } = theme;\n const foregroundColor = calculateForegroundColor(background, caseHeaderForegroundColor);\n const { aboveSM, aboveMD, persistentUtility, aboveXL, summaryExpanded, isPreview } =\n useCaseViewContext();\n const shouldRenderMobileTabs = !aboveMD || (persistentUtility && !aboveXL) || !summaryExpanded;\n const caseHeaderBorderRadius = shouldRenderMobileTabs\n ? `0 0 ${utilitiesDetached ? borderRadius : 0} ${borderRadius}`\n : `${borderRadius} ${borderRadius} 0 0`;\n\n return css`\n background: ${background};\n color: ${foregroundColor};\n padding: ${spacing} calc(2 * ${spacing});\n position: relative;\n\n ${summaryDetached &&\n css`\n border-bottom: 0.0625rem solid ${palette['border-line']};\n `}\n ${summaryDetached &&\n !isPreview &&\n aboveSM &&\n css`\n border-radius: ${caseHeaderBorderRadius};\n `}\n h1:focus-visible {\n outline: transparent;\n box-shadow: ${shadow.focus};\n }\n\n ${StyledMenu} {\n color: ${palette['foreground-color']};\n z-index: ${zIndex.popover + 1};\n }\n `;\n});\n\nStyledCaseHeader.defaultProps = defaultThemeProp;\n\nexport const StyledFollowIconWrap = styled.label`\n font-size: 1.25rem;\n\n input {\n ${hideVisually}\n }\n\n input:focus + svg {\n box-shadow: ${({ theme }) => theme.base.shadow.focus};\n }\n`;\n\nStyledFollowIconWrap.defaultProps = defaultThemeProp;\n\nexport const StyledSubheading = styled.p``;\n\nStyledSubheading.defaultProps = defaultThemeProp;\n\nexport const StyledCaseHeaderPromotedAction = styled(Button)(({ theme }) => {\n const {\n base: {\n palette: { interactive }\n },\n components: {\n 'case-view': {\n header: { background, 'foreground-color': foregroundColor }\n }\n }\n } = theme;\n\n /* If foreground color is auto, we calculate the text color based on the background color. */\n const textColor = calculateForegroundColor(background, foregroundColor);\n const isGradientBackground = !isSolidColor(background);\n const backgroundColor = isGradientBackground ? readableColor(textColor) : background;\n const interactiveUsable = getContrast(backgroundColor, interactive) >= 4.5;\n const color = !isGradientBackground && interactiveUsable ? interactive : textColor;\n\n let hoverBackground = rgba(color, 0.15);\n if (!isGradientBackground && interactiveUsable) {\n hoverBackground = readableHue(interactive, color);\n }\n return css`\n --button-background-color: ${backgroundColor};\n color: ${color};\n background-color: transparent;\n border-color: ${color};\n\n @media (hover: hover) {\n &:hover {\n --button-background-color: ${hoverBackground};\n color: ${color};\n background-color: ${hoverBackground};\n border-color: ${color};\n }\n\n &:active {\n --button-background-color: ${hoverBackground};\n color: ${color};\n background-color: ${hoverBackground};\n border-color: ${color};\n }\n }\n `;\n});\n\nStyledCaseHeaderPromotedAction.defaultProps = defaultThemeProp;\n\nexport const StyledHeaderActions = styled.div<{ offsetEnd: boolean }>(({ offsetEnd, theme }) => {\n return css`\n margin-inline-start: auto;\n padding-block: ${theme.base.spacing};\n padding-inline-start: calc(2 * ${theme.base.spacing});\n\n ${offsetEnd &&\n css`\n padding-inline-end: ${inlineEndButtonOffset};\n `};\n\n ${StyledButton}:not(${StyledCaseHeaderPromotedAction}) {\n margin-inline-start: 0;\n }\n\n ${StyledCaseHeaderPromotedAction}:not(:has(+ ${StyledCaseHeaderPromotedAction})) {\n margin-inline-end: ${theme.base.spacing};\n }\n `;\n});\n\nStyledHeaderActions.defaultProps = defaultThemeProp;\n\nexport const StyledCaseHeaderText = styled.hgroup(({ theme }) => {\n const {\n components: {\n 'case-view': {\n header: { 'foreground-color': foregroundColor, background: caseHeaderBackground }\n }\n }\n } = theme;\n\n /* If the foreground-color is auto, we calculate the text color and transparentColor based on the background color. */\n const color = calculateForegroundColor(caseHeaderBackground, foregroundColor);\n\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n const idStyle = css`\n color: ${color};\n font-size: ${fontSize.s};\n font-weight: normal;\n `;\n\n return css`\n word-break: break-word;\n\n ${StyledSubheading} {\n ${idStyle}\n }\n\n ${StyledBreadcrumbs} {\n max-width: 100%;\n\n > a,\n > span,\n > button,\n > svg {\n ${idStyle}\n }\n\n > a,\n > button {\n &:focus {\n box-shadow: ${theme.base.shadow.focus};\n }\n }\n\n ${StyledPopover}:not(${StyledTooltip}) {\n color: ${theme.base.palette['foreground-color']};\n }\n }\n\n > ${StyledText} > ${StyledLink} {\n color: ${color};\n }\n\n + ${StyledHeaderActions} {\n padding-inline-start: 0;\n }\n `;\n});\n\nStyledCaseHeaderText.defaultProps = defaultThemeProp;\n\nexport const StyledHeaderSummaryBlock = styled.div<{ hasItems: boolean }>(({ hasItems, theme }) => {\n const {\n base: {\n spacing,\n palette: { 'brand-primary': primary }\n }\n } = theme;\n\n const color = readableColor(primary);\n const transparentColor = tryCatch(() => transparentize(0.5, color));\n\n return css`\n ${hasItems &&\n css`\n border-inline-start: 0.0625rem solid ${transparentColor};\n `}\n ${StyledStackedFieldValue}:first-child {\n margin-inline-start: calc(2 * ${spacing});\n }\n `;\n});\n\nStyledHeaderSummaryBlock.defaultProps = defaultThemeProp;\n\nconst popoverColorReset = (theme: DefaultTheme) => {\n const {\n base: {\n palette: { interactive, light, 'foreground-color': baseForeground }\n }\n } = theme;\n\n return css`\n ${StyledPopover}:not(${StyledTooltip}) {\n color: ${baseForeground};\n\n ${StyledButtonLink},\n ${StyledLink} {\n color: ${interactive};\n text-decoration: none;\n\n &:hover,\n &:active {\n text-decoration: underline;\n }\n\n &:focus {\n box-shadow:\n inset 0 0 0 0.0625rem ${light},\n 0 0 0.125rem 0.0625rem ${interactive};\n }\n }\n }\n `;\n};\n\nexport const StyledHeaderSummary = styled.dl(({ theme }) => {\n const {\n base: {\n palette: { interactive }\n },\n components: {\n 'case-view': {\n header: { 'foreground-color': foregroundColor, background }\n }\n }\n } = theme;\n\n /* If the foreground-color is auto, we calculate the text color and transparentColor based on the background color. */\n const color = calculateForegroundColor(background, foregroundColor);\n const { backgroundColor } = calculateBackgroundAndContrastColor(background, foregroundColor);\n const interactiveUsable = meetsContrastGuidelines(backgroundColor, interactive).AA;\n\n return css`\n max-width: 100%;\n min-width: 0;\n\n > ${StyledStackedFieldValue} {\n > ${StyledLabel} {\n color: ${color};\n white-space: nowrap;\n }\n\n > ${StyledFieldValue} {\n color: ${color};\n white-space: nowrap;\n }\n\n ${StyledButtonLink},\n ${StyledLink} {\n &:focus-visible {\n box-shadow: inset 0 0 0 0.0625rem ${color};\n }\n\n ${!interactiveUsable &&\n css`\n color: ${color};\n text-decoration: underline;\n `}\n }\n\n ${popoverColorReset(theme)}\n }\n `;\n});\n\nStyledHeaderSummary.defaultProps = defaultThemeProp;\n\nexport const StyledHeaderSummaryValue = styled(StyledFieldValue)<{\n bold?: boolean;\n truncate?: boolean;\n theme: DefaultTheme;\n}>(({ bold, truncate, theme }) => {\n const {\n base: {\n 'content-width': { xs }\n },\n components: {\n text: {\n h1: { 'font-weight': h1Weight }\n }\n }\n } = theme;\n\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n\n ${truncate &&\n css`\n max-width: ${xs};\n `}\n ${bold &&\n css`\n font-weight: ${h1Weight};\n `}\n /*\n * :not([hidden]) necessary to prevent hidden span with preview a11y instructions from\n * factoring into scrollWidth of element when determining truncation.\n */\n > :not([hidden]) {\n display: inline;\n }\n `;\n});\n\nStyledHeaderSummaryValue.defaultProps = defaultThemeProp;\n\nexport const StyledCaseSummaryInfo = styled.div(\n ({\n theme: {\n base: { 'border-radius': borderRadius },\n components: {\n tabs: { detached: tabsDetached },\n card: { background }\n }\n }\n }) => {\n const { intelligentGuidance } = useCaseViewContext();\n\n return css`\n overflow: auto;\n flex: 1;\n ${tabsDetached &&\n css`\n background: ${background};\n border-radius: ${borderRadius};\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n `}\n ${intelligentGuidance &&\n css`\n /* Accounts for collapsed intelligentGuidance list covering summary panel content when fully scrolled. */\n padding-block-end: 4rem;\n `}\n `;\n }\n);\n\nStyledCaseSummaryInfo.defaultProps = defaultThemeProp;\n\nexport const StyledCaseSummaryContainer = styled.div(({ theme }) => {\n const {\n components: {\n 'field-value-list': {\n inline: { detached }\n },\n card: { background }\n }\n } = theme;\n return css`\n padding: calc(1.5 * ${theme.base.spacing}) calc(${theme.components.card.padding} * 2);\n\n ${detached &&\n css`\n padding: 0;\n background: ${background};\n `}\n `;\n});\n\nStyledCaseSummaryContainer.defaultProps = defaultThemeProp;\n\nexport const StyledExpandCollapseButton = styled(Button)(() => {\n return css`\n border: none;\n\n ${StyledIcon} {\n width: 1.5rem;\n height: 1.5rem;\n }\n `;\n});\n\nStyledExpandCollapseButton.defaultProps = defaultThemeProp;\n\nexport const StyledExpandCollapseSummaryButton = styled(StyledExpandCollapseButton)(({ theme }) => {\n const { summaryExpanded } = useCaseViewContext();\n\n return css`\n --half-compact-btn-height: calc(${theme.base['hit-area'].compact} / 2);\n --half-btn-compact-difference: calc(\n (${theme.base['hit-area'].mouse} - ${theme.base['hit-area'].compact}) / 2\n );\n --half-case-icon-compact-difference: calc(\n ((4 * ${theme.base.spacing}) - ${theme.base['hit-area'].compact}) / 2\n );\n @media (pointer: coarse) {\n --half-btn-compact-difference: calc(\n (${theme.base['hit-area'].finger} - ${theme.base['hit-area'].compact}) / 2\n );\n }\n position: absolute;\n z-index: 1;\n box-shadow: ${theme.base.shadow.low};\n\n ${summaryExpanded\n ? css`\n inset-block-start: calc(2 * ${theme.base.spacing} + var(--half-btn-compact-difference));\n inset-inline-start: calc(100% - var(--half-compact-btn-height));\n `\n : css`\n inset-block-end: calc(var(--half-compact-btn-height) * -1);\n inset-inline-start: calc(\n 2 * ${theme.base.spacing} + var(--half-case-icon-compact-difference)\n );\n `}\n `;\n});\n\nStyledExpandCollapseSummaryButton.defaultProps = defaultThemeProp;\n\nexport const StyledCaseSummary = styled.div(\n ({\n theme: {\n base: {\n spacing,\n palette: { 'border-line': borderLine },\n 'border-radius': borderRadius,\n 'hit-area': { 'mouse-min': mouseMin, 'finger-min': fingerMin }\n },\n components: {\n 'case-view': {\n summary: { detached }\n },\n card: { background: cardBackground },\n tabs: { detached: tabsDetached }\n }\n }\n }) => {\n const { summaryExpanded, aboveMD } = useCaseViewContext();\n\n return css`\n background: ${cardBackground};\n position: relative;\n height: 100%;\n ${aboveMD &&\n summaryExpanded &&\n css`\n width: 25rem;\n `}\n\n ${detached &&\n css`\n border-radius: ${borderRadius};\n --border-radius: calc(${borderRadius} * 0.5);\n `}\n\n ${tabsDetached &&\n css`\n & ${StyledTabs} {\n &[aria-orientation='vertical'] {\n padding-top: calc(1.5 * ${spacing});\n border-block-start: 0.0625rem solid ${borderLine};\n\n & ${StyledTab} {\n height: ${mouseMin};\n\n @media (pointer: coarse) {\n height: ${fingerMin};\n }\n }\n }\n }\n `}\n `;\n }\n);\n\nStyledCaseSummary.defaultProps = defaultThemeProp;\n\nexport const StyledTasks = styled.div(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n &:not(:has(${StyledCard})) {\n /* Add negative top margin to compensate extra row-gap due to empty Tasks container */\n margin-block-start: calc(-2 * ${spacing});\n }\n `;\n }\n);\nStyledTasks.defaultProps = defaultThemeProp;\n\nexport const StyledTabPanelWrapper = styled.div(\n ({\n theme: {\n base: {\n animation: { speed, timing }\n },\n components: {\n card: { 'border-radius': cardBorderRadius }\n }\n }\n }) => {\n const { start } = useDirection();\n\n return css`\n ${StyledTabPanel} {\n ${StyledProgressBackdrop} {\n border-radius: ${cardBorderRadius};\n }\n }\n\n /* Top-level horizontal tabs - slide in from top */\n ${StyledTabs} ~ & {\n position: relative;\n z-index: 0;\n\n > ${StyledTabPanel} {\n --reveal-from: 0.7;\n --slide-in-y-start-offset: -0.8rem;\n animation-name: ${animations.reveal}, ${animations.slideInYStart};\n animation-duration: max(calc(${speed} * 2), 1ms);\n animation-timing-function: ${timing.ease};\n\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 1ms;\n }\n }\n }\n\n /* Top-level vertical tabs - slide in from start*/\n &:not(${StyledTabs} ~ &) > ${StyledTabPanel} {\n ${start === 'right'\n ? css`\n --slide-in-x-end-offset: 1.5rem;\n animation-name: ${animations.reveal}, ${animations.slideInXEnd};\n `\n : css`\n --slide-in-x-start-offset: -1.5rem;\n animation-name: ${animations.reveal}, ${animations.slideInXStart};\n `}\n animation-duration: max(calc(${speed} * 2), 1ms);\n animation-timing-function: ${timing.ease};\n\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 1ms;\n }\n }\n\n /* Nested tab panels - always fade only */\n ${StyledTabPanel} & ${StyledTabPanel} {\n --reveal-from: 0.7;\n animation-name: ${animations.reveal};\n animation-duration: max(calc(${speed} * 2), 1ms);\n animation-timing-function: ${timing.ease};\n\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 1ms;\n }\n }\n `;\n }\n);\n\nStyledTabPanelWrapper.defaultProps = defaultThemeProp;\n\n// This component defintion was primarily required to conditionally hide empty div and avoid unnecessary row gap in work area.\nexport const StyledBannersStagesTasksContainer = styled.div(() => {\n return css`\n &:has(> ${StyledTasks}:only-child > :only-child:empty[data-flow]) {\n display: none;\n }\n `;\n});\n\nexport const StyledWorkArea = styled.div(\n ({\n theme: {\n base: {\n palette: { 'border-line': borderLine },\n spacing,\n 'border-radius': borderRadius,\n breakpoints\n },\n components: {\n 'case-view': {\n assignments: {\n detached: assignmentDetached,\n background: assignmentBackground,\n 'foreground-color': assignmentForegroundColor\n }\n },\n tabs: { detached: tabsDetached },\n card: { background, 'foreground-color': foregroundColor, 'border-radius': cardBorderRadius }\n }\n }\n }) => {\n const { backgroundColor } = calculateBackgroundAndContrastColor(background, foregroundColor);\n const foregroundColorForAssignment = calculateForegroundColor(\n assignmentBackground,\n assignmentForegroundColor\n );\n const { summaryExpanded, aboveMD, intelligentGuidance, isPreview } = useCaseViewContext();\n let pbeRem = 0;\n\n if (intelligentGuidance) {\n pbeRem = aboveMD && !summaryExpanded ? 4 : 6;\n }\n\n return css`\n grid-area: work-area;\n padding: calc(2 * ${spacing});\n @media (width < ${breakpoints.sm}) {\n padding: calc(2 * ${spacing}) calc(0.75 * ${spacing});\n }\n\n /* Prevents unnecessary gap when case view has neither stages nor assignments */\n &:has(> ${StyledBannersStagesTasksContainer} > ${StyledTasks}:first-child:empty) {\n ${StyledBannersStagesTasksContainer} {\n display: none;\n }\n }\n\n ${aboveMD &&\n css`\n padding: calc(2 * ${spacing}) 0;\n\n /* This is required to make scrollStick work. */\n ${!isPreview &&\n css`\n height: max-content;\n `}\n\n ${!summaryExpanded &&\n css`\n margin-inline-start: calc(2 * ${spacing});\n `}\n `}\n /* Order of style here is necessary for overriding styles above. */\n ${pbeRem > 0 &&\n css`\n /* Accounts for collapsed intelligentGuidance bubble covering work area content when fully scrolled. */\n padding-block-end: ${pbeRem}rem;\n `}\n &:has(${StyledAssignments}),\n &:has(${StyledHierarchicalAssignments}) {\n ${StyledStages} {\n border-block-end: 0.0625rem solid ${borderLine};\n\n &,\n ${StyledStageContainer}:first-of-type > ${StyledStage} {\n border-end-start-radius: 0;\n }\n\n &,\n ${StyledStageContainer}:last-of-type > ${StyledStage} {\n border-end-end-radius: 0;\n }\n }\n }\n\n ${tabsDetached &&\n css`\n ${StyledAllTabsWrapper} {\n border-start-start-radius: ${cardBorderRadius};\n border-start-end-radius: ${cardBorderRadius};\n\n ${StyledTabs} {\n border-radius: unset;\n border-start-end-radius: inherit;\n }\n\n ${StylesAllTabsButtonWrapper}, ${StyledMenuButton} {\n border-start-start-radius: inherit;\n }\n }\n `}\n\n /* Ensure horizontal tabs stay above sliding tab content */\n ${StyledTabs}[aria-orientation='horizontal'],\n ${StyledAllTabsWrapper} {\n position: relative;\n z-index: 1;\n }\n\n &:has(${StyledStages}) {\n ${StyledCard}${StyledAssignments},\n ${StyledCard}${StyledHierarchicalAssignments} {\n margin-block-start: calc(-2 * ${spacing});\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n\n &:has(${StyledCard}${StyledAssignments} > ${StyledCardHeader}),\n &:has(${StyledCard}${StyledHierarchicalAssignments} > ${StyledCardHeader}) {\n ${StyledCard}${StyledAssignments},\n ${StyledCard}${StyledHierarchicalAssignments} {\n background: ${assignmentBackground};\n color: ${foregroundColorForAssignment};\n ${assignmentDetached &&\n css`\n ${StyledTaskList} {\n background-color: ${backgroundColor};\n border: solid 0.0625rem ${borderLine};\n border-radius: var(--border-radius, ${borderRadius});\n\n ${StyledSummaryListItem} {\n padding: calc(${spacing} / 2) ${spacing};\n }\n }\n `}\n }\n }\n }\n `;\n }\n);\n\nStyledWorkArea.defaultProps = defaultThemeProp;\n\nexport const StyledUtilitiesHeading = styled(Text)``;\n\nexport const StyledExpandCollapseUtilitiesButton = styled(StyledExpandCollapseButton)(() => {\n const { utilitiesExpanded } = useCaseViewContext();\n\n return css`\n /* Centers button over the utilities summary */\n margin-inline-end: ${utilitiesExpanded && '0.625rem'};\n `;\n});\n\nStyledExpandCollapseUtilitiesButton.defaultProps = defaultThemeProp;\n\nconst genAICoachReservedSpace = '4rem';\n\nexport const StyledUtilities = styled.div(({ theme }) => {\n const { utilitiesExpanded, aboveLG, aboveMD, hasGenAICoach } = useCaseViewContext();\n\n return css`\n height: max-content;\n margin-block: calc(2 * ${theme.base.spacing});\n\n ${StyledCardContent} ${StyledProgressBackdrop} {\n border-radius: ${theme.components.card['border-radius']};\n }\n\n /* If utilities are in an expanded drawer. */\n\n ${utilitiesExpanded &&\n aboveMD &&\n !aboveLG &&\n css`\n /* Maintains the column width to avoid page content shift. */\n visibility: hidden;\n `}\n ${aboveLG &&\n utilitiesExpanded &&\n css`\n width: 25rem;\n `}\n /* Selects the h2 in the utilities column, not the drawer. */\n ${StyledUtilitiesHeading} {\n /* Hide the utilities h2 under certain conditions.*/\n ${((aboveMD && !utilitiesExpanded) || (aboveMD && utilitiesExpanded && !aboveLG)) &&\n hideVisually()}\n }\n\n /* Reserve space below so the docked GenAI coach doesn't overlap utility items. */\n ${hasGenAICoach &&\n css`\n margin-block-end: ${genAICoachReservedSpace};\n `}\n `;\n});\n\nStyledUtilities.defaultProps = defaultThemeProp;\n\nexport const StyledSummary = styled.div(\n ({\n theme: {\n base: {\n spacing,\n breakpoints,\n 'z-index': zIndex,\n palette: { 'app-background': appBackground }\n },\n components: {\n 'app-shell': {\n nav: { background: navBackground }\n },\n 'case-view': {\n summary: { detached: summaryDetached },\n utilities: { detached: utilitiesDetached }\n }\n }\n }\n }) => {\n const { aboveSM, aboveMD, persistentUtility, aboveXL, summaryExpanded, isPreview } =\n useCaseViewContext();\n const shouldRenderMobileTabs = !aboveMD || (persistentUtility && !aboveXL) || !summaryExpanded;\n const inlineStartPadding =\n navBackground === appBackground ? `${spacing}` : `calc(${spacing} * 2)`;\n\n return css`\n top: ${summaryExpanded\n ? 'var(--top-offset)'\n : 'var(--appshell-sticky-offset, var(--appshell-offset, 0))'};\n width: 100%;\n z-index: ${zIndex.popover};\n\n ${aboveMD &&\n summaryExpanded &&\n css`\n height: var(--case-view-height);\n `}\n\n ${summaryDetached &&\n aboveSM &&\n css`\n padding-inline-start: ${inlineStartPadding};\n padding-inline-end: ${utilitiesDetached && shouldRenderMobileTabs\n ? `calc(2 * ${spacing})`\n : 0};\n padding-block: ${shouldRenderMobileTabs ? 0 : `calc(2 * ${spacing})`};\n `}\n\n ${isPreview &&\n css`\n padding: 0;\n `}\n\n ${aboveMD\n ? css`\n position: sticky;\n `\n : css`\n @media (min-height: ${breakpoints.sm}) {\n position: sticky;\n }\n `}\n `;\n }\n);\n\nStyledSummary.defaultProps = defaultThemeProp;\n\nexport const StyledCaseDrawer = styled.div<{\n previewActive?: AppShellContextValue['previewActive'];\n utilitiesExpanded?: boolean;\n}>(({ previewActive, utilitiesExpanded, theme }) => {\n return css`\n background-color: ${theme.base.palette['primary-background']};\n /* stylelint-disable-next-line unit-allowed-list */\n height: calc(100dvh - ${headerHeight});\n inset-block-start: ${headerHeight};\n z-index: ${theme.base['z-index'].drawer - 1};\n max-width: ${resizeDrawerMinWidth};\n\n ${previewActive &&\n css`\n @media (min-width: ${theme.base.breakpoints.md}) {\n inset-inline-end: ${resizeDrawerDefaultWidth};\n ${utilitiesExpanded &&\n css`\n inset-inline-end: var(--resize-drawer-width);\n `}\n }\n `}\n ${StyledGenAICoachContainer} {\n width: calc(${resizeDrawerMinWidth} - 2rem);\n }\n `;\n});\n\nStyledCaseDrawer.defaultProps = defaultThemeProp;\n\nexport const StyledCaseDrawerContent = styled.div(\n ({\n theme: {\n base: {\n palette: { 'app-background': appBackground },\n spacing\n }\n }\n }) => {\n const { hasGenAICoach } = useCaseViewContext();\n\n return css`\n background: ${appBackground};\n padding: calc(2 * ${spacing});\n height: 100%;\n overflow: auto;\n\n /* Reserve scroll space so the docked GenAI coach doesn't overlap utility items. */\n ${hasGenAICoach &&\n css`\n padding-block-end: ${genAICoachReservedSpace};\n `}\n `;\n }\n);\n\nStyledCaseDrawerContent.defaultProps = defaultThemeProp;\n\nexport const StyledPersistentUtility = styled.div<{ persistentUtilityExpanded?: boolean }>(\n ({ theme, persistentUtilityExpanded }) => {\n return css`\n width: ${persistentUtilityExpanded ? '100%' : theme.base['content-width'].md};\n overflow: auto;\n position: sticky;\n z-index: 1;\n height: var(--case-view-height);\n inset-block-start: var(--top-offset);\n inset-block-end: var(--bottom-offset);\n padding-block: calc(2 * ${theme.base.spacing});\n `;\n }\n);\n\nStyledPersistentUtility.defaultProps = defaultThemeProp;\n\nexport const StyledPersistentContainer = styled.div(({ theme }) => {\n return css`\n height: 100%;\n\n &&& ${StyledCardHeader} {\n padding-inline-start: ${theme.base.spacing};\n }\n `;\n});\n\nStyledPersistentContainer.defaultProps = defaultThemeProp;\n\nexport const StyledPersistentContent = styled.div(({ theme }) => {\n return css`\n height: calc(100% - calc(4 * ${theme.base.spacing}));\n `;\n});\n\nStyledPersistentContent.defaultProps = defaultThemeProp;\n\nexport const ScrollStick = styled.div`\n position: sticky;\n top: 0;\n`;\n\nexport const StyledCaseView = styled.div(\n ({\n theme: {\n base: {\n palette: { 'app-background': appBackground },\n spacing,\n 'border-radius': borderRadius\n },\n components: {\n 'case-view': {\n utilities: {\n detached: utilitiesDetached,\n background: utilitiesBackground,\n 'foreground-color': utilitiesForegroundColor\n },\n summary: { detached: summaryDetached }\n }\n }\n }\n }) => {\n const utilitiesForegroundComputed = calculateForegroundColor(\n utilitiesBackground,\n utilitiesForegroundColor\n );\n const { aboveSM, aboveMD, isPreview } = useCaseViewContext();\n\n return css`\n --top-offset: calc(\n var(--appshell-sticky-offset, var(--appshell-offset, 0rem)) + var(--summary-height)\n );\n /* stylelint-disable-next-line length-zero-no-unit */\n --bottom-offset: var(--appshell-bottom-offset, 0rem);\n /* stylelint-disable-next-line unit-allowed-list */\n --case-view-height: calc(100dvh - var(--top-offset) - var(--bottom-offset));\n position: relative;\n min-height: var(--case-view-height);\n background: ${appBackground};\n\n ${aboveMD &&\n css`\n ${StyledUtilities}:last-child {\n margin-inline-end: calc(2 * ${spacing});\n color: ${utilitiesForegroundComputed};\n\n ${!utilitiesDetached &&\n css`\n background: ${utilitiesBackground};\n margin-inline-end: 0;\n padding: calc(2 * ${spacing});\n padding-inline-end: 0;\n border-start-start-radius: ${borderRadius};\n border-end-start-radius: ${borderRadius};\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n\n ${StyledCard},\n ${StyledGenAICoachContainer} {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n ${StyledGenAICoachContainer} {\n inset-inline-end: 0;\n }\n `}\n }\n `}\n\n ${aboveSM &&\n summaryDetached &&\n !isPreview &&\n css`\n &:not(:has(${StyledUtilities})) {\n ${StyledSummary} {\n padding-inline-end: calc(2 * ${spacing});\n }\n\n ${StyledCaseHeader} {\n border-end-end-radius: ${borderRadius};\n }\n }\n `}\n\n ${!aboveMD &&\n css`\n ${StyledGenAICoachContainer} {\n height: 42.5rem;\n\n ${StyledInitialMessageContainer} {\n justify-content: center;\n }\n }\n `}\n `;\n }\n);\n\nStyledCaseView.defaultProps = defaultThemeProp;\n\nexport const StyledUtilitiesHeader = styled(Text)`\n align-self: center;\n\n &:not(:focus) {\n ${hideVisually}\n }\n`;\n\nStyledUtilitiesHeader.defaultProps = defaultThemeProp;\n\nexport const StyledCoachButton = styled(AIButton)(({\n theme: {\n base: { spacing, breakpoints }\n }\n}) => {\n const { previewActive } = useContext(AppShellContext);\n\n return css`\n position: fixed;\n width: 2.75rem;\n height: 2.75rem;\n inset-block-end: calc(2 * ${spacing});\n inset-inline-end: calc(2 * ${spacing});\n ${previewActive &&\n css`\n @media (min-width: ${breakpoints.md}) {\n margin-inline-end: min(var(--resize-drawer-width), ${resizeDrawerMaxWidth});\n }\n `}\n `;\n});\n\nStyledCoachButton.defaultProps = defaultThemeProp;\n\nexport const StyledUtilitiesWrapper = styled.div``;\n\nexport const StyledCaseViewIcon = styled(Icon)(({ theme }) => {\n return css`\n --brand-accent: ${theme.base.palette['brand-accent']};\n --gradient-start: oklch(from var(--brand-accent) calc(l - 0.3) calc(c * 1.5) h);\n --gradient-mid: oklch(from var(--brand-accent) l c h);\n --gradient-end: oklch(from var(--brand-accent) calc(l + 0.5) calc(c * 1.5) h);\n ${theme.components['case-view'].icon.color !== 'auto'\n ? css`\n color: ${theme.components['case-view'].icon.color};\n `\n : null}\n\n ${theme.components['case-view'].icon.background !== 'auto'\n ? css`\n background: ${theme.components['case-view'].icon.background};\n `\n : null}\n\n ${theme.components['case-view'].icon['box-shadow'] !== 'auto'\n ? css`\n box-shadow: ${theme.components['case-view'].icon['box-shadow']};\n `\n : null}\n `;\n});\n\nStyledCaseViewIcon.defaultProps = defaultThemeProp;\n"]}
|
|
@@ -63,7 +63,7 @@ export const StyledGenAICoachContainer = styled.div(({ theme: { base: { palette,
|
|
|
63
63
|
|
|
64
64
|
${previewActive &&
|
|
65
65
|
css `
|
|
66
|
-
@media (min-width: ${breakpoints.
|
|
66
|
+
@media (min-width: ${breakpoints.md}) {
|
|
67
67
|
margin-inline-end: min(var(--resize-drawer-width), ${resizeDrawerMaxWidth});
|
|
68
68
|
}
|
|
69
69
|
`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenAICoach.styles.js","sourceRoot":"","sources":["../../../src/components/GenAICoach/GenAICoach.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { createGlobalStyle, css } from 'styled-components';\nimport { useContext } from 'react';\nimport { mix } from 'polished';\n\nimport {\n AIButton,\n AppShellContext,\n Button,\n FileList,\n Flex,\n FormControl,\n MenuButton,\n StyledEmptyState,\n StyledErrorState,\n StyledIcon,\n StyledText,\n SummaryItem,\n Text,\n TextArea,\n calculateFontSize,\n defaultThemeProp,\n tryCatch,\n Avatar,\n calculateForegroundColor,\n Fullscreen,\n animations,\n Modal\n} from '@pega/cosmos-react-core';\nimport { StyledCard } from '@pega/cosmos-react-core/lib/components/Card/Card';\nimport { StyledFullscreenButton } from '@pega/cosmos-react-core/lib/components/Fullscreen/FullscreenButton';\nimport { StyledFormField } from '@pega/cosmos-react-core/lib/components/FormField/FormField';\nimport {\n StyledHeader,\n StyledSelectionCard,\n StyledSingleField\n} from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport { StyledEditorContainer } from '@pega/cosmos-react-rte/lib/components/RichTextEditor/RichTextEditor.styles';\nimport {\n StyledProgress,\n StyledProgressRing\n} from '@pega/cosmos-react-core/lib/components/Progress/Progress.styles';\nimport {\n resizeDrawerMaxWidth,\n portalAgentMinWidth,\n portalAgentDefaultWidth\n} from '@pega/cosmos-react-core/lib/styles/constants';\nimport { lineClamp } from '@pega/cosmos-react-core/lib/styles/mixins';\nimport { RichTextViewer } from '@pega/cosmos-react-rte';\nimport { StyledResizeHandle } from '@pega/cosmos-react-core/lib/components/Drawer/ResizeHandle';\n\nimport type { GenAICoachProps } from './GenAICoach.types';\nimport { isInUtilities } from './GenAICoach.utils';\n\nconst maxWidthMessage = '46rem';\n\nexport const StyledComposerSection = styled.div``;\n\nexport const StyledMessagesContainer = styled.div<{ withSuggestionCards?: boolean }>(\n ({\n theme: {\n base: { spacing }\n },\n withSuggestionCards\n }) => {\n return css`\n margin-block-end: calc(2 * ${spacing});\n min-height: 0;\n overflow-y: auto;\n ${withSuggestionCards &&\n css`\n overflow-y: visible;\n margin-block-end: 0;\n padding-block-start: clamp(0rem, 6vh, calc(6 * ${spacing}));\n flex-shrink: 0;\n `}\n `;\n }\n);\n\nStyledMessagesContainer.defaultProps = defaultThemeProp;\n\nexport const StyledFullscreenWrapper = styled(Fullscreen)`\n height: 100%;\n`;\n\nexport const StyledGenAICoachContainer = styled.div<{\n variant: GenAICoachProps['variant'];\n fullScreen: GenAICoachProps['allowFullScreen'];\n isCompact: boolean;\n isPortalAgent: boolean;\n}>(\n ({\n theme: {\n base: {\n palette,\n 'z-index': zIndex,\n spacing,\n breakpoints,\n animation,\n 'border-radius': baseBorderRadius\n },\n components: {\n card: { 'border-radius': cardBorderRadius },\n agent: { background: agentBackground, 'foreground-color': agentForegroundColor },\n 'form-control': { 'border-radius': formControlBorderRadius }\n }\n },\n variant,\n fullScreen,\n isCompact,\n isPortalAgent\n }) => {\n const { previewActive } = useContext(AppShellContext);\n const foregroundColorForAgent = calculateForegroundColor(agentBackground, agentForegroundColor);\n\n return css`\n background: ${agentBackground};\n color: ${foregroundColorForAgent};\n min-width: var(--utilities-drawer-min-width);\n border-radius: ${cardBorderRadius};\n transition: height ${animation.speed} ${animation.timing.ease};\n\n ${variant.placement === 'dialog' &&\n css`\n border-radius: calc(${formControlBorderRadius} * ${baseBorderRadius});\n `}\n\n ${isInUtilities(variant) &&\n !fullScreen &&\n css`\n min-height: 3rem;\n max-width: 31.25rem;\n box-shadow: 0 -1rem 1rem ${palette['app-background']};\n border-radius: ${cardBorderRadius} ${cardBorderRadius} 0 0;\n position: fixed;\n inset-block-end: 0;\n inset-inline-end: calc(2 * ${spacing});\n z-index: calc(${zIndex.drawer} + 1);\n width: 25rem;\n\n ${previewActive &&\n css`\n @media (min-width: ${breakpoints.xl}) {\n margin-inline-end: min(var(--resize-drawer-width), ${resizeDrawerMaxWidth});\n }\n `}\n\n ${variant.state === 'minimized' &&\n css`\n height: 3rem;\n `}\n `}\n\n /*\n ~85% of Utilities height and fixed height if screen size less than md and devices with coarse pointer\n FIXME: This is a stopgap to address issue in Android web views via React Native where VH units do not work\n */\n ${((isInUtilities(variant) && variant.state === 'maximized') || !isInUtilities(variant)) &&\n !fullScreen &&\n css`\n height: calc(0.85 * var(--case-view-height, 95vh));\n @media (pointer: coarse) and (max-width: ${breakpoints.md}) {\n height: 40rem;\n }\n `}\n\n ${variant.placement === 'fullpage' &&\n css`\n height: var(--content-height-in-view, 100vh);\n `}\n\n ${isCompact &&\n css`\n height: 100%;\n max-height: var(--content-height-in-view, 100vh);\n\n ${StyledMessagesContainer} {\n margin-block-end: 0;\n }\n `}\n\n ${fullScreen &&\n css`\n height: 100vh;\n border-radius: 0;\n `}\n\n ${isPortalAgent &&\n css`\n height: calc(100vh - var(--appshell-offset, 0vh));\n border-radius: 0;\n `}\n `;\n }\n);\n\nStyledGenAICoachContainer.defaultProps = defaultThemeProp;\n\nexport const StyledGenAIOptionsMenu = styled(MenuButton)(({\n theme: {\n base: {\n 'font-size': fontSize,\n 'font-scale': fontScale,\n 'font-weight': fontWeight,\n palette: { ai }\n }\n }\n}) => {\n const { l } = calculateFontSize(fontSize, fontScale);\n return css`\n color: inherit;\n ${StyledIcon}:first-child {\n color: ${ai};\n }\n ${StyledText} {\n font-weight: ${fontWeight['semi-bold']};\n font-size: ${l};\n }\n `;\n});\n\nStyledGenAIOptionsMenu.defaultProps = defaultThemeProp;\n\nexport const StyledMenuSuggestions = styled(MenuButton)(({\n theme: {\n base: { 'border-radius': baseBorderRadius, spacing },\n components: {\n button: { 'border-radius': borderRadius }\n }\n }\n}) => {\n return css`\n padding: calc(0.75 * ${spacing});\n border-radius: calc(${baseBorderRadius} * ${borderRadius});\n `;\n});\n\nStyledMenuSuggestions.defaultProps = defaultThemeProp;\n\nexport const StyledDisclaimerText = styled(Text)<{ inFullPage: boolean }>(({\n inFullPage,\n theme: {\n base: { 'font-size': fontSize, 'font-scale': fontScale, spacing }\n }\n}) => {\n const systemFontSize = calculateFontSize(fontSize, fontScale).xs;\n return css`\n font-size: ${systemFontSize};\n margin-block-start: ${spacing};\n ${inFullPage &&\n css`\n padding-block-end: calc(2 * ${spacing});\n `}\n opacity: 0.7;\n `;\n});\n\nStyledDisclaimerText.defaultProps = defaultThemeProp;\n\nexport const StyledFlexWrapper = styled.div`\n height: 100%;\n overflow-y: auto;\n position: relative;\n`;\nStyledFlexWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledGridContainer = styled.div<{ conversationHistory: boolean }>(\n ({ theme: { base }, conversationHistory }) => {\n return css`\n height: 100%;\n min-height: 0;\n ${conversationHistory &&\n css`\n border: 0.0625rem solid ${base.palette['border-line']};\n margin: calc(2 * ${base.spacing});\n border-radius: ${base['border-radius']};\n `}\n `;\n }\n);\n\nStyledGridContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInitialMessageContainer = styled.div(() => {\n return css`\n ${StyledFormField} {\n width: 100%;\n max-width: ${maxWidthMessage};\n }\n `;\n});\n\nStyledInitialMessageContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInputContainer = styled(Flex)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n margin-block-end: calc(2 * ${spacing});\n margin-inline: calc(2 * ${spacing});\n align-items: center;\n\n ${StyledFormField}, ${StyledComposerSection} {\n width: 100%;\n max-width: ${maxWidthMessage};\n }\n `;\n});\n\nStyledInputContainer.defaultProps = defaultThemeProp;\n\nexport const StyledStickyComposer = styled.div(\n ({\n theme: {\n base: { spacing },\n components: {\n agent: { background: agentBackground }\n }\n }\n }) => {\n return css`\n position: sticky;\n top: 0;\n z-index: 2;\n flex-shrink: 0;\n background: ${agentBackground};\n padding-block-start: calc(4 * ${spacing});\n\n ${StyledInputContainer} {\n margin-block-end: 0;\n }\n `;\n }\n);\n\nStyledStickyComposer.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestion = styled(Button)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n width: fit-content;\n padding: ${spacing};\n white-space: normal;\n word-break: break-word;\n & + & {\n margin-inline-start: 0;\n text-align: left;\n }\n `;\n});\n\nStyledSuggestion.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestionsContainer = styled.div(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n margin-block-start: calc(1.5 * ${spacing});\n `;\n }\n);\n\nStyledSuggestionsContainer.defaultProps = defaultThemeProp;\n\nexport const StyledMessage = styled.p(({ theme }) => {\n return css`\n margin-block-start: calc(0.5 * ${theme.base.spacing});\n width: 100%;\n min-width: 0;\n overflow-wrap: break-word;\n\n ${StyledEditorContainer} {\n padding: 0;\n\n span {\n animation: ${animations.reveal} 1s forwards;\n }\n }\n `;\n});\n\nStyledMessage.defaultProps = defaultThemeProp;\n\nexport const StyledUserMessage = styled.li(\n ({\n theme: {\n base: { 'border-radius': borderRadius, spacing },\n components: {\n agent: {\n 'user-message': {\n background: userMessageBackground,\n 'foreground-color': userMessageForegroundColor\n }\n }\n }\n }\n }) => {\n const foregroundColorForUserMessage = calculateForegroundColor(\n userMessageBackground,\n userMessageForegroundColor\n );\n\n return css`\n overflow-wrap: break-word;\n background: ${userMessageBackground};\n color: ${foregroundColorForUserMessage};\n margin-inline-start: calc(4 * ${spacing});\n margin-block-end: calc(0.5 * ${spacing});\n padding: calc(0.5 * ${spacing});\n border-start-start-radius: min(calc(3 * ${borderRadius}), 1.5rem);\n border-start-end-radius: min(${borderRadius}, 0.5rem);\n border-end-start-radius: min(calc(3 * ${borderRadius}), 1.5rem);\n border-end-end-radius: min(calc(3 * ${borderRadius}), 1.5rem);\n `;\n }\n);\n\nStyledUserMessage.defaultProps = defaultThemeProp;\n\nexport const StyledSystemMessage = styled.li(\n ({\n theme: {\n base: { spacing, 'font-size': fontSize, 'font-scale': fontScale }\n }\n }) => {\n const systemFontSize = calculateFontSize(fontSize, fontScale).xs;\n return css`\n overflow-wrap: break-word;\n font-size: ${systemFontSize};\n opacity: 0.7;\n text-align: center;\n padding-inline: calc(2 * ${spacing});\n margin-block: calc(2 * ${spacing});\n `;\n }\n);\n\nStyledSystemMessage.defaultProps = defaultThemeProp;\n\nexport const StyledMessagesList = styled.ul(\n ({\n theme: {\n base: { shadow, spacing }\n }\n }) => {\n return css`\n padding-block-start: ${spacing};\n list-style-type: none;\n align-self: center;\n max-width: ${maxWidthMessage};\n width: 100%;\n min-height: var(--stream-buffer, auto);\n\n & > li {\n max-width: calc(0.8 * ${maxWidthMessage});\n }\n & > li[from='user'] {\n margin-inline-start: auto;\n margin-block-end: ${spacing};\n }\n & > li[type='message'] {\n &:focus-visible {\n outline: none;\n box-shadow: ${shadow.focus};\n }\n margin-block-end: ${spacing};\n }\n `;\n }\n);\n\nStyledMessagesList.defaultProps = defaultThemeProp;\n\nexport const StyledHistoryContainer = styled(Flex)<{ inFullPage: boolean }>(\n ({ theme, inFullPage }) => css`\n height: 100%;\n min-height: 0;\n ${inFullPage &&\n css`\n border-inline-end: 0.0625rem solid ${theme.base.palette['border-line']};\n `}\n\n ${StyledEmptyState}, ${StyledErrorState} {\n justify-content: flex-start;\n padding-inline: calc(2 * ${theme.base.spacing});\n }\n `\n);\n\nStyledHistoryContainer.defaultProps = defaultThemeProp;\n\nexport const StyledList = styled(Flex)(\n ({ theme }) => css`\n height: 100%;\n overflow-y: auto;\n margin-block-end: calc(2 * ${theme.base.spacing});\n `\n);\n\nStyledList.defaultProps = defaultThemeProp;\n\nexport const StyledHistorySummaryListItem = styled(SummaryItem)(({ theme }) => {\n const hoverColor = tryCatch(() =>\n mix(0.95, theme.base.palette['primary-background'], theme.base.palette.interactive)\n );\n return css`\n padding-inline: calc(2 * ${theme.base.spacing});\n padding-block: ${theme.base.spacing};\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n\n &:hover {\n background-color: ${hoverColor};\n cursor: pointer;\n }\n &[aria-selected='true'] {\n background-color: ${hoverColor};\n }\n &:focus {\n border: 0.0625rem solid ${theme.base.palette.interactive};\n }\n `;\n});\n\nStyledHistorySummaryListItem.defaultProps = defaultThemeProp;\n\nexport const StyledLoadingItem = styled.li`\n ${StyledProgress} {\n margin: 0;\n }\n`;\n\nexport const StyledGroupHeader = styled.div(({ theme }) => {\n return css`\n padding-inline: calc(2 * ${theme.base.spacing});\n padding-block-start: calc(2 * ${theme.base.spacing});\n padding-block-end: calc(0.5 * ${theme.base.spacing});\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n `;\n});\n\nStyledGroupHeader.defaultProps = defaultThemeProp;\n\nexport const StyledErrorContainer = styled.div(({ theme }) => {\n return css`\n color: ${theme.base.palette.urgent};\n `;\n});\n\nStyledErrorContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInput = styled.input(() => {\n return css`\n display: none;\n `;\n});\n\nexport const StyledAttachmentsList = styled(FileList)(({ theme }) => {\n return css`\n padding: ${theme.base.spacing};\n `;\n});\n\nStyledAttachmentsList.defaultProps = defaultThemeProp;\n\nexport const StyledGuidedSuggestions = styled(MenuButton)`\n width: 100%;\n max-width: ${maxWidthMessage};\n > span {\n justify-content: center;\n }\n`;\n\nexport const StyledAgentIcon = styled.svg`\n width: 3rem;\n height: 3rem;\n`;\n\nStyledAgentIcon.defaultProps = defaultThemeProp;\n\nexport const StyledGenAIFormControl = styled(FormControl)<{ focused?: boolean }>(({\n theme,\n focused\n}) => {\n return css`\n overflow: hidden;\n\n ${focused &&\n css`\n &:not([disabled]) {\n border-color: ${theme.components['form-control'][':focus']['border-color']};\n box-shadow: ${theme.components['form-control'][':focus']['box-shadow']};\n }\n\n &:hover:not([readonly]):not([disabled]):not(:focus, :focus-within) {\n border-color: transparent;\n }\n `}\n `;\n});\n\nStyledGenAIFormControl.defaultProps = defaultThemeProp;\n\nexport const StyledGenAITextArea = styled(TextArea)(({ theme: { components } }) => {\n return css`\n border: none;\n box-shadow: none;\n min-height: ${components.input.height};\n max-height: 6rem;\n overflow-y: auto;\n padding-block-end: 0;\n &:focus:not([disabled]) {\n border: none;\n box-shadow: none;\n background-color: transparent;\n }\n `;\n});\n\nStyledGenAITextArea.defaultProps = defaultThemeProp;\n\nexport const StyledSendButton = styled(Button)(({\n theme: {\n base: { palette, 'border-radius': baseBorderRadius },\n components: {\n 'form-control': { 'border-radius': formControlBorderRadius }\n }\n }\n}) => {\n return css`\n border-radius: calc(${baseBorderRadius} * ${formControlBorderRadius});\n margin-inline-start: auto;\n\n ${StyledIcon} {\n color: ${palette.light};\n }\n `;\n});\n\nStyledSendButton.defaultProps = defaultThemeProp;\n\nexport const StyledInitialMessageGrid = styled.div`\n max-width: ${maxWidthMessage};\n width: 100%;\n`;\n\nexport const StyledInitialMessageButton = styled(Button)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n white-space: normal;\n text-align: left;\n min-width: unset;\n padding-block: ${spacing};\n padding-inline: calc(2 * ${spacing});\n align-items: start;\n\n & + & {\n margin-inline-start: 0;\n }\n `;\n});\n\nStyledInitialMessageButton.defaultProps = defaultThemeProp;\n\nexport const StyledInitialMessageText = styled.span`\n ${lineClamp(3)};\n`;\n\nexport const StyledGenAIAvatar = styled(Avatar)(({\n theme: {\n components: {\n agent: {\n 'coach-message': {\n avatar: { background: avatarBackground }\n }\n }\n }\n }\n}) => {\n return css`\n background: ${avatarBackground};\n `;\n});\n\nStyledGenAIAvatar.defaultProps = defaultThemeProp;\n\nexport const StyledGenAIFooter = styled.div`\n width: 100%;\n max-width: ${maxWidthMessage};\n`;\nexport const StyledStopButton = styled(AIButton)`\n border-radius: 50%;\n`;\n\nexport const StyledToolMessage = styled.p(\n ({\n theme: {\n base: {\n spacing,\n palette: { 'border-line': borderLine }\n }\n }\n }) => {\n return css`\n border-block-end: 0.125rem solid ${borderLine};\n padding: calc(2 * ${spacing});\n `;\n }\n);\n\nStyledToolMessage.defaultProps = defaultThemeProp;\n\nexport const StyledToolMessageContainer = styled.div(\n ({\n theme: {\n base: {\n spacing,\n 'border-radius': borderRadius,\n palette: { 'border-line': borderLine }\n }\n }\n }) => {\n return css`\n border: 0.125rem solid ${borderLine};\n border-radius: min(calc(2 * ${borderRadius}), 1rem);\n margin-block: ${spacing};\n `;\n }\n);\n\nStyledToolMessageContainer.defaultProps = defaultThemeProp;\n\nexport const StyledConfirmationMsg = styled(RichTextViewer)(\n ({\n theme: {\n base,\n components: {\n 'form-control': {\n ':read-only': { 'background-color': readOnlyBackgroundColor }\n }\n }\n }\n }) => `\n padding: 0;\n background-color: ${readOnlyBackgroundColor};\n border-radius: calc(0.5 * ${base['border-radius']});\n`\n);\n\nStyledConfirmationMsg.defaultProps = defaultThemeProp;\n\nexport const StyledActionsContainer = styled.div(\n () => css`\n margin-inline-start: auto;\n\n && button {\n margin-inline-start: 0;\n }\n `\n);\n\nStyledActionsContainer.defaultProps = defaultThemeProp;\n\nexport const StyledScrollButton = styled(Button)(({ theme }) => {\n return css`\n position: absolute;\n bottom: calc(var(--composer-height, 0rem) + calc(5 * ${theme.base.spacing}));\n width: fit-content;\n align-self: center;\n z-index: 1;\n box-shadow: ${theme.base.shadow.high};\n `;\n});\n\nStyledScrollButton.defaultProps = defaultThemeProp;\n\nexport const ProgressAngleStyle = createGlobalStyle`\n @property --angle {\n syntax: \"<angle>\";\n inherits: true;\n initial-value: 0deg;\n }\n`;\n\nexport const StyledProgressContainer = styled.div(({ theme }) => {\n return css`\n position: relative;\n isolation: isolate;\n border-radius: calc(2 * ${theme.base.spacing});\n border-start-start-radius: calc(0.5 * ${theme.base.spacing});\n border: calc(0.125 * ${theme.base.spacing}) solid transparent;\n background:\n linear-gradient(${theme.base.colors.white} 0 0) padding-box,\n conic-gradient(\n from var(--angle) in oklab,\n ${theme.base.colors.purple['extra-light']} 0%,\n ${theme.base.colors.purple['extra-light']} 10%,\n ${theme.base.colors.purple.light} 25%,\n ${theme.base.colors.purple.medium} 50%,\n ${theme.base.colors.purple.dark} 75%,\n ${theme.base.colors.purple.dark} 100%\n )\n border-box;\n animation: spin 1s ease-in-out infinite;\n width: fit-content;\n\n @keyframes spin {\n to {\n --angle: 360deg;\n }\n }\n `;\n});\n\nStyledProgressContainer.defaultProps = defaultThemeProp;\n\nexport const StyledProgressContent = styled.div(({ theme }) => {\n return css`\n background: ${theme.components.agent.background};\n border-radius: calc(2 * ${theme.base.spacing});\n border-start-start-radius: calc(0.5 * ${theme.base.spacing});\n padding: calc(2 * ${theme.base.spacing});\n\n ${StyledProgressRing} {\n width: ${theme.components.icon.size.s};\n }\n `;\n});\n\nStyledProgressContent.defaultProps = defaultThemeProp;\n\nexport const StyledProgressText = styled(Text)(({ theme }) => {\n return css`\n color: ${theme.base.palette.ai};\n `;\n});\n\nStyledProgressText.defaultProps = defaultThemeProp;\n\nexport const StyledActionContainer = styled(Flex)`\n && {\n display: flex;\n }\n\n && > button:first-child:not(:last-child) {\n margin-inline-end: 0;\n }\n margin-inline-end: auto;\n`;\n\nexport const StyledToolCandidatesModal = styled(Modal)(({ theme }) => {\n return css`\n max-width: ${theme.base['content-width'].xl};\n `;\n});\n\nStyledToolCandidatesModal.defaultProps = defaultThemeProp;\n\nexport const StyledPortalSplitContainer = styled.div`\n container-type: inline-size;\n container-name: portal-split;\n display: flex;\n width: 100%;\n /* stylelint-disable-next-line unit-allowed-list */\n height: calc(100dvh - var(--appshell-offset, 0));\n`;\n\nStyledPortalSplitContainer.defaultProps = defaultThemeProp;\n\nconst portalAgentRegionBasis = (agentVisible: boolean, mainVisible: boolean): string => {\n if (!agentVisible) return '0%';\n if (!mainVisible) return '100%';\n return `clamp(${portalAgentMinWidth}, var(--region-a-width, ${portalAgentDefaultWidth}), min(${portalAgentDefaultWidth}, calc(100% - ${portalAgentMinWidth})))`;\n};\n\nexport const StyledPortalAgentRegion = styled.aside<{\n agentVisible: boolean;\n mainVisible: boolean;\n}>(\n ({ agentVisible, mainVisible, theme }) => css`\n --is-lg: 0;\n flex: 0 0 ${portalAgentRegionBasis(agentVisible, mainVisible)};\n min-width: 0;\n transition: flex-basis calc(${theme.base.animation.speed} / 2)\n ${theme.base.animation.timing.ease};\n will-change: flex-basis;\n border-inline-end: 0.0625rem solid ${theme.base.palette['border-line']};\n\n @container portal-split (min-width: ${theme.base.breakpoints.lg}) {\n --is-lg: 1;\n\n ${agentVisible &&\n mainVisible &&\n css`\n flex-basis: clamp(\n ${portalAgentMinWidth},\n var(--region-a-width, 35%),\n calc(100% - ${portalAgentMinWidth})\n );\n `}\n }\n\n ${!agentVisible &&\n css`\n overflow: hidden;\n `}\n `\n);\n\nStyledPortalAgentRegion.defaultProps = defaultThemeProp;\n\nexport const StyledPortalMainRegion = styled.div`\n --appshell-sticky-offset: 0;\n flex: 1 1 0%;\n overflow: auto;\n min-width: 0;\n min-height: 0;\n contain: style;\n`;\n\nStyledPortalMainRegion.defaultProps = defaultThemeProp;\n\nexport const StyledPortalSeparator = styled.div`\n position: relative;\n flex-shrink: 0;\n align-self: stretch;\n\n ${StyledResizeHandle} {\n z-index: 1;\n }\n`;\n\nStyledPortalSeparator.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestionCardsView = styled.div(\n ({\n theme: {\n base: { spacing, 'font-size': fontSize, 'font-scale': fontScale, transparency },\n components: {\n 'form-control': { 'border-color': formControlBorderColor }\n }\n }\n }) => {\n const cardFontSize = calculateFontSize(fontSize, fontScale).xxs;\n return css`\n max-width: 95rem;\n width: 100%;\n margin-inline: auto;\n\n [data-testid='gallery'] {\n min-height: 0;\n max-height: none;\n }\n\n .bContainer {\n height: auto !important;\n }\n\n && .grid-container {\n position: static;\n gap: calc(2 * ${spacing});\n grid-auto-rows: minmax(2.75rem, 1fr);\n }\n\n && ${StyledCard} {\n background: transparent;\n }\n\n ${StyledFullscreenButton} {\n display: none;\n }\n\n ${StyledHeader} {\n ${StyledText} {\n font-size: ${cardFontSize};\n }\n }\n\n ${StyledSingleField} {\n font-size: ${cardFontSize};\n opacity: ${transparency['transparent-2']};\n }\n\n ${StyledSelectionCard} {\n border-color: ${formControlBorderColor};\n\n &:focus,\n &:not([data-main-focus]):focus-within {\n border-color: transparent;\n }\n }\n `;\n }\n);\n\nStyledSuggestionCardsView.defaultProps = defaultThemeProp;\n\nexport const StyledAISuggestedBadge = styled(Flex)(({\n theme: {\n base: { 'font-size': fontSize, 'font-scale': fontScale, transparency }\n }\n}) => {\n const systemFontSize = calculateFontSize(fontSize, fontScale).xxs;\n return css`\n ${StyledText} {\n font-size: ${systemFontSize};\n }\n opacity: ${transparency['transparent-2']};\n `;\n});\n\nStyledAISuggestedBadge.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestionCardsBottomHalf = styled(Flex)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n min-height: 50%;\n flex-shrink: 0;\n margin-block-start: calc(4.5 * ${spacing});\n `;\n});\n\nStyledSuggestionCardsBottomHalf.defaultProps = defaultThemeProp;\n"]}
|
|
1
|
+
{"version":3,"file":"GenAICoach.styles.js","sourceRoot":"","sources":["../../../src/components/GenAICoach/GenAICoach.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { createGlobalStyle, css } from 'styled-components';\nimport { useContext } from 'react';\nimport { mix } from 'polished';\n\nimport {\n AIButton,\n AppShellContext,\n Button,\n FileList,\n Flex,\n FormControl,\n MenuButton,\n StyledEmptyState,\n StyledErrorState,\n StyledIcon,\n StyledText,\n SummaryItem,\n Text,\n TextArea,\n calculateFontSize,\n defaultThemeProp,\n tryCatch,\n Avatar,\n calculateForegroundColor,\n Fullscreen,\n animations,\n Modal\n} from '@pega/cosmos-react-core';\nimport { StyledCard } from '@pega/cosmos-react-core/lib/components/Card/Card';\nimport { StyledFullscreenButton } from '@pega/cosmos-react-core/lib/components/Fullscreen/FullscreenButton';\nimport { StyledFormField } from '@pega/cosmos-react-core/lib/components/FormField/FormField';\nimport {\n StyledHeader,\n StyledSelectionCard,\n StyledSingleField\n} from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport { StyledEditorContainer } from '@pega/cosmos-react-rte/lib/components/RichTextEditor/RichTextEditor.styles';\nimport {\n StyledProgress,\n StyledProgressRing\n} from '@pega/cosmos-react-core/lib/components/Progress/Progress.styles';\nimport {\n resizeDrawerMaxWidth,\n portalAgentMinWidth,\n portalAgentDefaultWidth\n} from '@pega/cosmos-react-core/lib/styles/constants';\nimport { lineClamp } from '@pega/cosmos-react-core/lib/styles/mixins';\nimport { RichTextViewer } from '@pega/cosmos-react-rte';\nimport { StyledResizeHandle } from '@pega/cosmos-react-core/lib/components/Drawer/ResizeHandle';\n\nimport type { GenAICoachProps } from './GenAICoach.types';\nimport { isInUtilities } from './GenAICoach.utils';\n\nconst maxWidthMessage = '46rem';\n\nexport const StyledComposerSection = styled.div``;\n\nexport const StyledMessagesContainer = styled.div<{ withSuggestionCards?: boolean }>(\n ({\n theme: {\n base: { spacing }\n },\n withSuggestionCards\n }) => {\n return css`\n margin-block-end: calc(2 * ${spacing});\n min-height: 0;\n overflow-y: auto;\n ${withSuggestionCards &&\n css`\n overflow-y: visible;\n margin-block-end: 0;\n padding-block-start: clamp(0rem, 6vh, calc(6 * ${spacing}));\n flex-shrink: 0;\n `}\n `;\n }\n);\n\nStyledMessagesContainer.defaultProps = defaultThemeProp;\n\nexport const StyledFullscreenWrapper = styled(Fullscreen)`\n height: 100%;\n`;\n\nexport const StyledGenAICoachContainer = styled.div<{\n variant: GenAICoachProps['variant'];\n fullScreen: GenAICoachProps['allowFullScreen'];\n isCompact: boolean;\n isPortalAgent: boolean;\n}>(\n ({\n theme: {\n base: {\n palette,\n 'z-index': zIndex,\n spacing,\n breakpoints,\n animation,\n 'border-radius': baseBorderRadius\n },\n components: {\n card: { 'border-radius': cardBorderRadius },\n agent: { background: agentBackground, 'foreground-color': agentForegroundColor },\n 'form-control': { 'border-radius': formControlBorderRadius }\n }\n },\n variant,\n fullScreen,\n isCompact,\n isPortalAgent\n }) => {\n const { previewActive } = useContext(AppShellContext);\n const foregroundColorForAgent = calculateForegroundColor(agentBackground, agentForegroundColor);\n\n return css`\n background: ${agentBackground};\n color: ${foregroundColorForAgent};\n min-width: var(--utilities-drawer-min-width);\n border-radius: ${cardBorderRadius};\n transition: height ${animation.speed} ${animation.timing.ease};\n\n ${variant.placement === 'dialog' &&\n css`\n border-radius: calc(${formControlBorderRadius} * ${baseBorderRadius});\n `}\n\n ${isInUtilities(variant) &&\n !fullScreen &&\n css`\n min-height: 3rem;\n max-width: 31.25rem;\n box-shadow: 0 -1rem 1rem ${palette['app-background']};\n border-radius: ${cardBorderRadius} ${cardBorderRadius} 0 0;\n position: fixed;\n inset-block-end: 0;\n inset-inline-end: calc(2 * ${spacing});\n z-index: calc(${zIndex.drawer} + 1);\n width: 25rem;\n\n ${previewActive &&\n css`\n @media (min-width: ${breakpoints.md}) {\n margin-inline-end: min(var(--resize-drawer-width), ${resizeDrawerMaxWidth});\n }\n `}\n\n ${variant.state === 'minimized' &&\n css`\n height: 3rem;\n `}\n `}\n\n /*\n ~85% of Utilities height and fixed height if screen size less than md and devices with coarse pointer\n FIXME: This is a stopgap to address issue in Android web views via React Native where VH units do not work\n */\n ${((isInUtilities(variant) && variant.state === 'maximized') || !isInUtilities(variant)) &&\n !fullScreen &&\n css`\n height: calc(0.85 * var(--case-view-height, 95vh));\n @media (pointer: coarse) and (max-width: ${breakpoints.md}) {\n height: 40rem;\n }\n `}\n\n ${variant.placement === 'fullpage' &&\n css`\n height: var(--content-height-in-view, 100vh);\n `}\n\n ${isCompact &&\n css`\n height: 100%;\n max-height: var(--content-height-in-view, 100vh);\n\n ${StyledMessagesContainer} {\n margin-block-end: 0;\n }\n `}\n\n ${fullScreen &&\n css`\n height: 100vh;\n border-radius: 0;\n `}\n\n ${isPortalAgent &&\n css`\n height: calc(100vh - var(--appshell-offset, 0vh));\n border-radius: 0;\n `}\n `;\n }\n);\n\nStyledGenAICoachContainer.defaultProps = defaultThemeProp;\n\nexport const StyledGenAIOptionsMenu = styled(MenuButton)(({\n theme: {\n base: {\n 'font-size': fontSize,\n 'font-scale': fontScale,\n 'font-weight': fontWeight,\n palette: { ai }\n }\n }\n}) => {\n const { l } = calculateFontSize(fontSize, fontScale);\n return css`\n color: inherit;\n ${StyledIcon}:first-child {\n color: ${ai};\n }\n ${StyledText} {\n font-weight: ${fontWeight['semi-bold']};\n font-size: ${l};\n }\n `;\n});\n\nStyledGenAIOptionsMenu.defaultProps = defaultThemeProp;\n\nexport const StyledMenuSuggestions = styled(MenuButton)(({\n theme: {\n base: { 'border-radius': baseBorderRadius, spacing },\n components: {\n button: { 'border-radius': borderRadius }\n }\n }\n}) => {\n return css`\n padding: calc(0.75 * ${spacing});\n border-radius: calc(${baseBorderRadius} * ${borderRadius});\n `;\n});\n\nStyledMenuSuggestions.defaultProps = defaultThemeProp;\n\nexport const StyledDisclaimerText = styled(Text)<{ inFullPage: boolean }>(({\n inFullPage,\n theme: {\n base: { 'font-size': fontSize, 'font-scale': fontScale, spacing }\n }\n}) => {\n const systemFontSize = calculateFontSize(fontSize, fontScale).xs;\n return css`\n font-size: ${systemFontSize};\n margin-block-start: ${spacing};\n ${inFullPage &&\n css`\n padding-block-end: calc(2 * ${spacing});\n `}\n opacity: 0.7;\n `;\n});\n\nStyledDisclaimerText.defaultProps = defaultThemeProp;\n\nexport const StyledFlexWrapper = styled.div`\n height: 100%;\n overflow-y: auto;\n position: relative;\n`;\nStyledFlexWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledGridContainer = styled.div<{ conversationHistory: boolean }>(\n ({ theme: { base }, conversationHistory }) => {\n return css`\n height: 100%;\n min-height: 0;\n ${conversationHistory &&\n css`\n border: 0.0625rem solid ${base.palette['border-line']};\n margin: calc(2 * ${base.spacing});\n border-radius: ${base['border-radius']};\n `}\n `;\n }\n);\n\nStyledGridContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInitialMessageContainer = styled.div(() => {\n return css`\n ${StyledFormField} {\n width: 100%;\n max-width: ${maxWidthMessage};\n }\n `;\n});\n\nStyledInitialMessageContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInputContainer = styled(Flex)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n margin-block-end: calc(2 * ${spacing});\n margin-inline: calc(2 * ${spacing});\n align-items: center;\n\n ${StyledFormField}, ${StyledComposerSection} {\n width: 100%;\n max-width: ${maxWidthMessage};\n }\n `;\n});\n\nStyledInputContainer.defaultProps = defaultThemeProp;\n\nexport const StyledStickyComposer = styled.div(\n ({\n theme: {\n base: { spacing },\n components: {\n agent: { background: agentBackground }\n }\n }\n }) => {\n return css`\n position: sticky;\n top: 0;\n z-index: 2;\n flex-shrink: 0;\n background: ${agentBackground};\n padding-block-start: calc(4 * ${spacing});\n\n ${StyledInputContainer} {\n margin-block-end: 0;\n }\n `;\n }\n);\n\nStyledStickyComposer.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestion = styled(Button)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n width: fit-content;\n padding: ${spacing};\n white-space: normal;\n word-break: break-word;\n & + & {\n margin-inline-start: 0;\n text-align: left;\n }\n `;\n});\n\nStyledSuggestion.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestionsContainer = styled.div(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n margin-block-start: calc(1.5 * ${spacing});\n `;\n }\n);\n\nStyledSuggestionsContainer.defaultProps = defaultThemeProp;\n\nexport const StyledMessage = styled.p(({ theme }) => {\n return css`\n margin-block-start: calc(0.5 * ${theme.base.spacing});\n width: 100%;\n min-width: 0;\n overflow-wrap: break-word;\n\n ${StyledEditorContainer} {\n padding: 0;\n\n span {\n animation: ${animations.reveal} 1s forwards;\n }\n }\n `;\n});\n\nStyledMessage.defaultProps = defaultThemeProp;\n\nexport const StyledUserMessage = styled.li(\n ({\n theme: {\n base: { 'border-radius': borderRadius, spacing },\n components: {\n agent: {\n 'user-message': {\n background: userMessageBackground,\n 'foreground-color': userMessageForegroundColor\n }\n }\n }\n }\n }) => {\n const foregroundColorForUserMessage = calculateForegroundColor(\n userMessageBackground,\n userMessageForegroundColor\n );\n\n return css`\n overflow-wrap: break-word;\n background: ${userMessageBackground};\n color: ${foregroundColorForUserMessage};\n margin-inline-start: calc(4 * ${spacing});\n margin-block-end: calc(0.5 * ${spacing});\n padding: calc(0.5 * ${spacing});\n border-start-start-radius: min(calc(3 * ${borderRadius}), 1.5rem);\n border-start-end-radius: min(${borderRadius}, 0.5rem);\n border-end-start-radius: min(calc(3 * ${borderRadius}), 1.5rem);\n border-end-end-radius: min(calc(3 * ${borderRadius}), 1.5rem);\n `;\n }\n);\n\nStyledUserMessage.defaultProps = defaultThemeProp;\n\nexport const StyledSystemMessage = styled.li(\n ({\n theme: {\n base: { spacing, 'font-size': fontSize, 'font-scale': fontScale }\n }\n }) => {\n const systemFontSize = calculateFontSize(fontSize, fontScale).xs;\n return css`\n overflow-wrap: break-word;\n font-size: ${systemFontSize};\n opacity: 0.7;\n text-align: center;\n padding-inline: calc(2 * ${spacing});\n margin-block: calc(2 * ${spacing});\n `;\n }\n);\n\nStyledSystemMessage.defaultProps = defaultThemeProp;\n\nexport const StyledMessagesList = styled.ul(\n ({\n theme: {\n base: { shadow, spacing }\n }\n }) => {\n return css`\n padding-block-start: ${spacing};\n list-style-type: none;\n align-self: center;\n max-width: ${maxWidthMessage};\n width: 100%;\n min-height: var(--stream-buffer, auto);\n\n & > li {\n max-width: calc(0.8 * ${maxWidthMessage});\n }\n & > li[from='user'] {\n margin-inline-start: auto;\n margin-block-end: ${spacing};\n }\n & > li[type='message'] {\n &:focus-visible {\n outline: none;\n box-shadow: ${shadow.focus};\n }\n margin-block-end: ${spacing};\n }\n `;\n }\n);\n\nStyledMessagesList.defaultProps = defaultThemeProp;\n\nexport const StyledHistoryContainer = styled(Flex)<{ inFullPage: boolean }>(\n ({ theme, inFullPage }) => css`\n height: 100%;\n min-height: 0;\n ${inFullPage &&\n css`\n border-inline-end: 0.0625rem solid ${theme.base.palette['border-line']};\n `}\n\n ${StyledEmptyState}, ${StyledErrorState} {\n justify-content: flex-start;\n padding-inline: calc(2 * ${theme.base.spacing});\n }\n `\n);\n\nStyledHistoryContainer.defaultProps = defaultThemeProp;\n\nexport const StyledList = styled(Flex)(\n ({ theme }) => css`\n height: 100%;\n overflow-y: auto;\n margin-block-end: calc(2 * ${theme.base.spacing});\n `\n);\n\nStyledList.defaultProps = defaultThemeProp;\n\nexport const StyledHistorySummaryListItem = styled(SummaryItem)(({ theme }) => {\n const hoverColor = tryCatch(() =>\n mix(0.95, theme.base.palette['primary-background'], theme.base.palette.interactive)\n );\n return css`\n padding-inline: calc(2 * ${theme.base.spacing});\n padding-block: ${theme.base.spacing};\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n\n &:hover {\n background-color: ${hoverColor};\n cursor: pointer;\n }\n &[aria-selected='true'] {\n background-color: ${hoverColor};\n }\n &:focus {\n border: 0.0625rem solid ${theme.base.palette.interactive};\n }\n `;\n});\n\nStyledHistorySummaryListItem.defaultProps = defaultThemeProp;\n\nexport const StyledLoadingItem = styled.li`\n ${StyledProgress} {\n margin: 0;\n }\n`;\n\nexport const StyledGroupHeader = styled.div(({ theme }) => {\n return css`\n padding-inline: calc(2 * ${theme.base.spacing});\n padding-block-start: calc(2 * ${theme.base.spacing});\n padding-block-end: calc(0.5 * ${theme.base.spacing});\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n `;\n});\n\nStyledGroupHeader.defaultProps = defaultThemeProp;\n\nexport const StyledErrorContainer = styled.div(({ theme }) => {\n return css`\n color: ${theme.base.palette.urgent};\n `;\n});\n\nStyledErrorContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInput = styled.input(() => {\n return css`\n display: none;\n `;\n});\n\nexport const StyledAttachmentsList = styled(FileList)(({ theme }) => {\n return css`\n padding: ${theme.base.spacing};\n `;\n});\n\nStyledAttachmentsList.defaultProps = defaultThemeProp;\n\nexport const StyledGuidedSuggestions = styled(MenuButton)`\n width: 100%;\n max-width: ${maxWidthMessage};\n > span {\n justify-content: center;\n }\n`;\n\nexport const StyledAgentIcon = styled.svg`\n width: 3rem;\n height: 3rem;\n`;\n\nStyledAgentIcon.defaultProps = defaultThemeProp;\n\nexport const StyledGenAIFormControl = styled(FormControl)<{ focused?: boolean }>(({\n theme,\n focused\n}) => {\n return css`\n overflow: hidden;\n\n ${focused &&\n css`\n &:not([disabled]) {\n border-color: ${theme.components['form-control'][':focus']['border-color']};\n box-shadow: ${theme.components['form-control'][':focus']['box-shadow']};\n }\n\n &:hover:not([readonly]):not([disabled]):not(:focus, :focus-within) {\n border-color: transparent;\n }\n `}\n `;\n});\n\nStyledGenAIFormControl.defaultProps = defaultThemeProp;\n\nexport const StyledGenAITextArea = styled(TextArea)(({ theme: { components } }) => {\n return css`\n border: none;\n box-shadow: none;\n min-height: ${components.input.height};\n max-height: 6rem;\n overflow-y: auto;\n padding-block-end: 0;\n &:focus:not([disabled]) {\n border: none;\n box-shadow: none;\n background-color: transparent;\n }\n `;\n});\n\nStyledGenAITextArea.defaultProps = defaultThemeProp;\n\nexport const StyledSendButton = styled(Button)(({\n theme: {\n base: { palette, 'border-radius': baseBorderRadius },\n components: {\n 'form-control': { 'border-radius': formControlBorderRadius }\n }\n }\n}) => {\n return css`\n border-radius: calc(${baseBorderRadius} * ${formControlBorderRadius});\n margin-inline-start: auto;\n\n ${StyledIcon} {\n color: ${palette.light};\n }\n `;\n});\n\nStyledSendButton.defaultProps = defaultThemeProp;\n\nexport const StyledInitialMessageGrid = styled.div`\n max-width: ${maxWidthMessage};\n width: 100%;\n`;\n\nexport const StyledInitialMessageButton = styled(Button)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n white-space: normal;\n text-align: left;\n min-width: unset;\n padding-block: ${spacing};\n padding-inline: calc(2 * ${spacing});\n align-items: start;\n\n & + & {\n margin-inline-start: 0;\n }\n `;\n});\n\nStyledInitialMessageButton.defaultProps = defaultThemeProp;\n\nexport const StyledInitialMessageText = styled.span`\n ${lineClamp(3)};\n`;\n\nexport const StyledGenAIAvatar = styled(Avatar)(({\n theme: {\n components: {\n agent: {\n 'coach-message': {\n avatar: { background: avatarBackground }\n }\n }\n }\n }\n}) => {\n return css`\n background: ${avatarBackground};\n `;\n});\n\nStyledGenAIAvatar.defaultProps = defaultThemeProp;\n\nexport const StyledGenAIFooter = styled.div`\n width: 100%;\n max-width: ${maxWidthMessage};\n`;\nexport const StyledStopButton = styled(AIButton)`\n border-radius: 50%;\n`;\n\nexport const StyledToolMessage = styled.p(\n ({\n theme: {\n base: {\n spacing,\n palette: { 'border-line': borderLine }\n }\n }\n }) => {\n return css`\n border-block-end: 0.125rem solid ${borderLine};\n padding: calc(2 * ${spacing});\n `;\n }\n);\n\nStyledToolMessage.defaultProps = defaultThemeProp;\n\nexport const StyledToolMessageContainer = styled.div(\n ({\n theme: {\n base: {\n spacing,\n 'border-radius': borderRadius,\n palette: { 'border-line': borderLine }\n }\n }\n }) => {\n return css`\n border: 0.125rem solid ${borderLine};\n border-radius: min(calc(2 * ${borderRadius}), 1rem);\n margin-block: ${spacing};\n `;\n }\n);\n\nStyledToolMessageContainer.defaultProps = defaultThemeProp;\n\nexport const StyledConfirmationMsg = styled(RichTextViewer)(\n ({\n theme: {\n base,\n components: {\n 'form-control': {\n ':read-only': { 'background-color': readOnlyBackgroundColor }\n }\n }\n }\n }) => `\n padding: 0;\n background-color: ${readOnlyBackgroundColor};\n border-radius: calc(0.5 * ${base['border-radius']});\n`\n);\n\nStyledConfirmationMsg.defaultProps = defaultThemeProp;\n\nexport const StyledActionsContainer = styled.div(\n () => css`\n margin-inline-start: auto;\n\n && button {\n margin-inline-start: 0;\n }\n `\n);\n\nStyledActionsContainer.defaultProps = defaultThemeProp;\n\nexport const StyledScrollButton = styled(Button)(({ theme }) => {\n return css`\n position: absolute;\n bottom: calc(var(--composer-height, 0rem) + calc(5 * ${theme.base.spacing}));\n width: fit-content;\n align-self: center;\n z-index: 1;\n box-shadow: ${theme.base.shadow.high};\n `;\n});\n\nStyledScrollButton.defaultProps = defaultThemeProp;\n\nexport const ProgressAngleStyle = createGlobalStyle`\n @property --angle {\n syntax: \"<angle>\";\n inherits: true;\n initial-value: 0deg;\n }\n`;\n\nexport const StyledProgressContainer = styled.div(({ theme }) => {\n return css`\n position: relative;\n isolation: isolate;\n border-radius: calc(2 * ${theme.base.spacing});\n border-start-start-radius: calc(0.5 * ${theme.base.spacing});\n border: calc(0.125 * ${theme.base.spacing}) solid transparent;\n background:\n linear-gradient(${theme.base.colors.white} 0 0) padding-box,\n conic-gradient(\n from var(--angle) in oklab,\n ${theme.base.colors.purple['extra-light']} 0%,\n ${theme.base.colors.purple['extra-light']} 10%,\n ${theme.base.colors.purple.light} 25%,\n ${theme.base.colors.purple.medium} 50%,\n ${theme.base.colors.purple.dark} 75%,\n ${theme.base.colors.purple.dark} 100%\n )\n border-box;\n animation: spin 1s ease-in-out infinite;\n width: fit-content;\n\n @keyframes spin {\n to {\n --angle: 360deg;\n }\n }\n `;\n});\n\nStyledProgressContainer.defaultProps = defaultThemeProp;\n\nexport const StyledProgressContent = styled.div(({ theme }) => {\n return css`\n background: ${theme.components.agent.background};\n border-radius: calc(2 * ${theme.base.spacing});\n border-start-start-radius: calc(0.5 * ${theme.base.spacing});\n padding: calc(2 * ${theme.base.spacing});\n\n ${StyledProgressRing} {\n width: ${theme.components.icon.size.s};\n }\n `;\n});\n\nStyledProgressContent.defaultProps = defaultThemeProp;\n\nexport const StyledProgressText = styled(Text)(({ theme }) => {\n return css`\n color: ${theme.base.palette.ai};\n `;\n});\n\nStyledProgressText.defaultProps = defaultThemeProp;\n\nexport const StyledActionContainer = styled(Flex)`\n && {\n display: flex;\n }\n\n && > button:first-child:not(:last-child) {\n margin-inline-end: 0;\n }\n margin-inline-end: auto;\n`;\n\nexport const StyledToolCandidatesModal = styled(Modal)(({ theme }) => {\n return css`\n max-width: ${theme.base['content-width'].xl};\n `;\n});\n\nStyledToolCandidatesModal.defaultProps = defaultThemeProp;\n\nexport const StyledPortalSplitContainer = styled.div`\n container-type: inline-size;\n container-name: portal-split;\n display: flex;\n width: 100%;\n /* stylelint-disable-next-line unit-allowed-list */\n height: calc(100dvh - var(--appshell-offset, 0));\n`;\n\nStyledPortalSplitContainer.defaultProps = defaultThemeProp;\n\nconst portalAgentRegionBasis = (agentVisible: boolean, mainVisible: boolean): string => {\n if (!agentVisible) return '0%';\n if (!mainVisible) return '100%';\n return `clamp(${portalAgentMinWidth}, var(--region-a-width, ${portalAgentDefaultWidth}), min(${portalAgentDefaultWidth}, calc(100% - ${portalAgentMinWidth})))`;\n};\n\nexport const StyledPortalAgentRegion = styled.aside<{\n agentVisible: boolean;\n mainVisible: boolean;\n}>(\n ({ agentVisible, mainVisible, theme }) => css`\n --is-lg: 0;\n flex: 0 0 ${portalAgentRegionBasis(agentVisible, mainVisible)};\n min-width: 0;\n transition: flex-basis calc(${theme.base.animation.speed} / 2)\n ${theme.base.animation.timing.ease};\n will-change: flex-basis;\n border-inline-end: 0.0625rem solid ${theme.base.palette['border-line']};\n\n @container portal-split (min-width: ${theme.base.breakpoints.lg}) {\n --is-lg: 1;\n\n ${agentVisible &&\n mainVisible &&\n css`\n flex-basis: clamp(\n ${portalAgentMinWidth},\n var(--region-a-width, 35%),\n calc(100% - ${portalAgentMinWidth})\n );\n `}\n }\n\n ${!agentVisible &&\n css`\n overflow: hidden;\n `}\n `\n);\n\nStyledPortalAgentRegion.defaultProps = defaultThemeProp;\n\nexport const StyledPortalMainRegion = styled.div`\n --appshell-sticky-offset: 0;\n flex: 1 1 0%;\n overflow: auto;\n min-width: 0;\n min-height: 0;\n contain: style;\n`;\n\nStyledPortalMainRegion.defaultProps = defaultThemeProp;\n\nexport const StyledPortalSeparator = styled.div`\n position: relative;\n flex-shrink: 0;\n align-self: stretch;\n\n ${StyledResizeHandle} {\n z-index: 1;\n }\n`;\n\nStyledPortalSeparator.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestionCardsView = styled.div(\n ({\n theme: {\n base: { spacing, 'font-size': fontSize, 'font-scale': fontScale, transparency },\n components: {\n 'form-control': { 'border-color': formControlBorderColor }\n }\n }\n }) => {\n const cardFontSize = calculateFontSize(fontSize, fontScale).xxs;\n return css`\n max-width: 95rem;\n width: 100%;\n margin-inline: auto;\n\n [data-testid='gallery'] {\n min-height: 0;\n max-height: none;\n }\n\n .bContainer {\n height: auto !important;\n }\n\n && .grid-container {\n position: static;\n gap: calc(2 * ${spacing});\n grid-auto-rows: minmax(2.75rem, 1fr);\n }\n\n && ${StyledCard} {\n background: transparent;\n }\n\n ${StyledFullscreenButton} {\n display: none;\n }\n\n ${StyledHeader} {\n ${StyledText} {\n font-size: ${cardFontSize};\n }\n }\n\n ${StyledSingleField} {\n font-size: ${cardFontSize};\n opacity: ${transparency['transparent-2']};\n }\n\n ${StyledSelectionCard} {\n border-color: ${formControlBorderColor};\n\n &:focus,\n &:not([data-main-focus]):focus-within {\n border-color: transparent;\n }\n }\n `;\n }\n);\n\nStyledSuggestionCardsView.defaultProps = defaultThemeProp;\n\nexport const StyledAISuggestedBadge = styled(Flex)(({\n theme: {\n base: { 'font-size': fontSize, 'font-scale': fontScale, transparency }\n }\n}) => {\n const systemFontSize = calculateFontSize(fontSize, fontScale).xxs;\n return css`\n ${StyledText} {\n font-size: ${systemFontSize};\n }\n opacity: ${transparency['transparent-2']};\n `;\n});\n\nStyledAISuggestedBadge.defaultProps = defaultThemeProp;\n\nexport const StyledSuggestionCardsBottomHalf = styled(Flex)(({\n theme: {\n base: { spacing }\n }\n}) => {\n return css`\n min-height: 50%;\n flex-shrink: 0;\n margin-block-start: calc(4.5 * ${spacing});\n `;\n});\n\nStyledSuggestionCardsBottomHalf.defaultProps = defaultThemeProp;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/components/SearchResults/SearchResults.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,+BAA+B,EAAgB,MAAM,yBAAyB,CAAC;AAI7F,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAgF/B,QAAA,MAAM,aAAa,EAAE,+BAA+B,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/components/SearchResults/SearchResults.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,+BAA+B,EAAgB,MAAM,yBAAyB,CAAC;AAI7F,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAgF/B,QAAA,MAAM,aAAa,EAAE,+BAA+B,CAAC,kBAAkB,CAkRtE,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -76,6 +76,14 @@ const SearchResults = forwardRef(function SearchResults({ results, searchInputPr
|
|
|
76
76
|
useAfterInitialEffect(() => {
|
|
77
77
|
setAccent(submittedSearchValue ? new RegExp(submittedSearchValue, 'gi') : undefined);
|
|
78
78
|
}, [submittedSearchValue]);
|
|
79
|
+
useAfterInitialEffect(() => {
|
|
80
|
+
if (loading)
|
|
81
|
+
announcePolite({ message: t('loading') });
|
|
82
|
+
}, [loading]);
|
|
83
|
+
useAfterInitialEffect(() => {
|
|
84
|
+
if (!loading)
|
|
85
|
+
announcePolite({ message: t('results_count', [count], { count }) });
|
|
86
|
+
}, [loading, count]);
|
|
79
87
|
useEffect(() => {
|
|
80
88
|
if (filters.length)
|
|
81
89
|
announcePolite({ message: t('search_filter_update_message') });
|
|
@@ -117,7 +125,7 @@ const SearchResults = forwardRef(function SearchResults({ results, searchInputPr
|
|
|
117
125
|
rowGap: 2,
|
|
118
126
|
rows: 'auto auto 1fr',
|
|
119
127
|
areas: '"search" "meta" "items"'
|
|
120
|
-
}, as: StyledResults, children: [loading && _jsx(Progress, { placement: 'local' }), searchContainerEl && isMedium ? (createPortal(searchInput, searchContainerEl)) : (_jsxs(Grid, { item: { area: 'search' }, children: [!isMedium && searchTitle, searchInput] })), _jsxs(Grid, { item: { area: 'meta' }, container: { rowGap: 1 }, children: [_jsxs(Flex, { container: { justify: 'between', alignItems: 'center' }, children: [!loading && (_jsx(Text, { as: StyledCountText, variant: 'secondary', children: submittedSearchValue !== '' || results.length > 0
|
|
128
|
+
}, as: StyledResults, "aria-busy": loading || undefined, children: [loading && _jsx(Progress, { placement: 'local' }), searchContainerEl && isMedium ? (createPortal(searchInput, searchContainerEl)) : (_jsxs(Grid, { item: { area: 'search' }, children: [!isMedium && searchTitle, searchInput] })), _jsxs(Grid, { item: { area: 'meta' }, container: { rowGap: 1 }, children: [_jsxs(Flex, { container: { justify: 'between', alignItems: 'center' }, children: [!loading && (_jsx(Text, { as: StyledCountText, variant: 'secondary', children: submittedSearchValue !== '' || results.length > 0
|
|
121
129
|
? t('results_count', [count], { count })
|
|
122
130
|
: '' })), !isMedium && !!filters.length && (_jsxs(Button, { variant: 'secondary', onClick: openFiltersModal, children: [_jsx(Icon, { name: activeFilters.length > 0 ? 'filter-on' : 'filter' }), "\u00A0", t('filters'), "\u00A0", _jsx(Count, { children: activeFilters.length })] }))] }), !!activeFilters.length && (_jsx(Flex, { as: StyledSelectedFilters, container: { gap: 1, wrap: 'wrap' }, "aria-label": t('search_results_active_filters'), children: activeFilters.map(filter => {
|
|
123
131
|
return (_jsx(ActiveFilter, { name: `${filter.groupName}: ${filter.name}`, onRemove: () => onFilterChange?.({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResults.js","sourceRoot":"","sources":["../../../src/components/SearchResults/SearchResults.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useContext, useEffect, useRef, useState } from 'react';\nimport type { PropsWithoutRef, ComponentProps } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport {\n Button,\n Count,\n Flex,\n Grid,\n Icon,\n registerIcon,\n Modal,\n EmptyState,\n SearchInput,\n Text,\n useModalManager,\n useI18n,\n useBreakpoint,\n useAfterInitialEffect,\n useConsolidatedRef,\n SummaryItem,\n Avatar,\n focusHeadingOrContainer,\n useTheme,\n AppShellContext,\n Progress,\n useLiveLog\n} from '@pega/cosmos-react-core';\nimport type { ForwardRefForwardPropsComponent, ModalMethods } from '@pega/cosmos-react-core';\nimport * as filterIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter.icon';\nimport * as filterOnIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter-on.icon';\n\nimport type {\n SearchResultsProps,\n SearchResultProps,\n FilterProps,\n ActiveFilters\n} from './SearchResults.types';\nimport SearchResult from './SearchResult';\nimport Filter from './Filter';\nimport {\n StyledModalFilterContent,\n StyledCountText,\n StyledSelectedFilters,\n StyledSearchResults,\n StyledResults,\n StyledFilters,\n StyledSearchSummaryItem\n} from './SearchResults.styles';\nimport ActiveFilter from './ActiveFilter';\n\nregisterIcon(filterIcon, filterOnIcon);\n\nconst FilterModal = (\n props: Pick<\n SearchResultsProps,\n 'count' | 'filters' | 'onFilterChange' | 'onClearFilter' | 'onClearAllFilters'\n > & {\n activeFilters: ActiveFilters[];\n }\n) => {\n const { activeFilters, count, filters, onFilterChange, onClearFilter, onClearAllFilters } = props;\n const t = useI18n();\n\n return (\n <Modal heading={t('filters')}>\n <Grid as={StyledModalFilterContent} container={{ rowGap: 2 }}>\n <Flex container={{ gap: 1, alignItems: 'center' }}>\n <Text as={StyledCountText} variant='secondary'>\n {t('results_count', [count], { count })}\n </Text>\n {onClearAllFilters && !!activeFilters.length && (\n <Button variant='link' onClick={onClearAllFilters}>\n {t('clear_all')}\n </Button>\n )}\n </Flex>\n {!!activeFilters.length && (\n <Flex\n as={StyledSelectedFilters}\n container={{ gap: 1 }}\n aria-label={t('search_results_active_filters')}\n >\n {activeFilters.map(filter => {\n return (\n <ActiveFilter\n key={filter.id}\n name={`${filter.groupName}: ${filter.name}`}\n onRemove={() =>\n onFilterChange?.({\n name: filter.groupName,\n type: filter.type,\n value: filter.resetValue\n })\n }\n />\n );\n })}\n </Flex>\n )}\n <div>\n {filters.map((filter: FilterProps) => {\n return (\n <Filter\n key={filter.name}\n onFilterChange={onFilterChange}\n onClearFilter={onClearFilter}\n {...filter}\n />\n );\n })}\n </div>\n </Grid>\n </Modal>\n );\n};\n\nconst SearchResults: ForwardRefForwardPropsComponent<SearchResultsProps> = forwardRef(\n function SearchResults(\n {\n results,\n searchInputProps,\n count,\n filters,\n onFilterChange,\n onClearAllFilters,\n onClearFilter,\n onShowMore,\n loading = false,\n ...restProps\n }: PropsWithoutRef<SearchResultsProps>,\n ref: SearchResultsProps['ref']\n ) {\n const t = useI18n();\n const isMedium = useBreakpoint('md');\n const { create } = useModalManager();\n const { searchContainerEl } = useContext(AppShellContext);\n const { announcePolite } = useLiveLog();\n const filtersMethods = useRef<ModalMethods<ComponentProps<typeof FilterModal>>>();\n const {\n base: {\n palette: { 'brand-primary': primary }\n }\n } = useTheme();\n const [accent, setAccent] = useState<undefined | RegExp>();\n const [submittedSearchValue, setSubmittedSearchValue] = useState(searchInputProps.value);\n const pageRef = useConsolidatedRef(ref);\n\n const activeFilters: ActiveFilters[] = filters.flatMap(group => {\n if (group.type === 'select') {\n return group.items.flatMap(item => {\n if (item.checked) {\n return {\n id: item.id,\n name: item.name,\n resetValue: { ...item, checked: false },\n groupName: group.name,\n type: group.type\n };\n }\n return [];\n });\n }\n return [];\n });\n\n const openFiltersModal = () => {\n filtersMethods.current = create(FilterModal, {\n activeFilters,\n count,\n filters,\n onFilterChange,\n onClearFilter,\n onClearAllFilters\n });\n };\n\n useAfterInitialEffect(() => {\n if (filtersMethods.current) {\n filtersMethods.current.update({\n activeFilters,\n count,\n filters\n });\n }\n }, [activeFilters, count, filters]);\n\n useAfterInitialEffect(() => {\n if (isMedium && filtersMethods.current) filtersMethods.current.dismiss();\n }, [isMedium]);\n\n useAfterInitialEffect(() => {\n setAccent(submittedSearchValue ? new RegExp(submittedSearchValue, 'gi') : undefined);\n }, [submittedSearchValue]);\n\n useEffect(() => {\n if (filters.length) announcePolite({ message: t('search_filter_update_message') });\n }, []);\n\n useEffect(() => {\n const focusContainer = pageRef.current;\n\n if (!loading && submittedSearchValue && focusContainer) {\n focusHeadingOrContainer(focusContainer, t('search'));\n }\n }, [loading, submittedSearchValue, t]);\n\n const searchTitle = (\n <SummaryItem\n as={StyledSearchSummaryItem}\n visual={\n <Avatar\n icon='search'\n name='search'\n shape='squircle'\n backgroundColor={primary}\n color='white'\n />\n }\n primary={<Text variant='h1'>{t('search')}</Text>}\n actions={\n onClearAllFilters &&\n isMedium &&\n !!activeFilters.length && (\n <Button\n variant='link'\n onClick={onClearAllFilters}\n aria-label={t('search_results_clear_all_filters')}\n >\n {t('clear_all')}\n </Button>\n )\n }\n />\n );\n const searchInput = (\n <SearchInput\n {...searchInputProps}\n onSearchSubmit={val => {\n searchInputProps.onSearchSubmit?.(val);\n setSubmittedSearchValue(val);\n }}\n placeholder={searchInputProps.placeholder}\n />\n );\n\n return (\n <Grid\n {...restProps}\n as={StyledSearchResults}\n ref={pageRef}\n md={\n filters.length\n ? {\n container: {\n cols: '15rem auto'\n }\n }\n : undefined\n }\n sm={\n filters.length\n ? {\n container: {\n cols: 'auto',\n rowGap: 2\n }\n }\n : undefined\n }\n container={{\n rows: 'auto auto',\n cols: 'auto 1fr',\n areas: '\"filters results\"'\n }}\n >\n {isMedium && !!filters.length && (\n <Grid item={{ area: 'filters', alignSelf: 'start' }} as={StyledFilters}>\n {searchTitle}\n {filters.map((filter: FilterProps) => {\n return (\n <Filter\n key={filter.name}\n onFilterChange={onFilterChange}\n onClearFilter={onClearFilter}\n {...filter}\n />\n );\n })}\n </Grid>\n )}\n <Grid\n item={{ alignSelf: 'start', area: 'results' }}\n container={{\n alignItems: 'center',\n rowGap: 2,\n rows: 'auto auto 1fr',\n areas: '\"search\" \"meta\" \"items\"'\n }}\n as={StyledResults}\n >\n {loading && <Progress placement='local' />}\n {searchContainerEl && isMedium ? (\n createPortal(searchInput, searchContainerEl)\n ) : (\n <Grid item={{ area: 'search' }}>\n {!isMedium && searchTitle}\n {searchInput}\n </Grid>\n )}\n <Grid item={{ area: 'meta' }} container={{ rowGap: 1 }}>\n <Flex container={{ justify: 'between', alignItems: 'center' }}>\n {!loading && (\n <Text as={StyledCountText} variant='secondary'>\n {submittedSearchValue !== '' || results.length > 0\n ? t('results_count', [count], { count })\n : ''}\n </Text>\n )}\n {!isMedium && !!filters.length && (\n <Button variant='secondary' onClick={openFiltersModal}>\n <Icon name={activeFilters.length > 0 ? 'filter-on' : 'filter'} />\n {t('filters')} \n <Count>{activeFilters.length}</Count>\n </Button>\n )}\n </Flex>\n {!!activeFilters.length && (\n <Flex\n as={StyledSelectedFilters}\n container={{ gap: 1, wrap: 'wrap' }}\n aria-label={t('search_results_active_filters')}\n >\n {activeFilters.map(filter => {\n return (\n <ActiveFilter\n key={filter.id}\n name={`${filter.groupName}: ${filter.name}`}\n onRemove={() =>\n onFilterChange?.({\n name: filter.groupName,\n type: filter.type,\n value: filter.resetValue\n })\n }\n />\n );\n })}\n </Flex>\n )}\n </Grid>\n <Grid\n item={{ area: 'items', alignSelf: results.length ? 'start' : 'stretch' }}\n container={{ rowGap: 2 }}\n >\n {!loading && (\n <>\n {results.length ? (\n results.map((result: SearchResultProps) => {\n return <SearchResult key={result.id} {...result} accent={accent} />;\n })\n ) : (\n <Grid item={{ alignSelf: 'stretch' }}>\n <EmptyState\n message={submittedSearchValue === '' ? t('empty_search') : undefined}\n />\n </Grid>\n )}\n {onShowMore && (\n <Flex container={{ justify: 'center' }}>\n <Button variant='link' onClick={onShowMore}>\n {t('show_more')}\n </Button>\n </Flex>\n )}\n </>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n }\n);\n\nexport default SearchResults;\n"]}
|
|
1
|
+
{"version":3,"file":"SearchResults.js","sourceRoot":"","sources":["../../../src/components/SearchResults/SearchResults.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useContext, useEffect, useRef, useState } from 'react';\nimport type { PropsWithoutRef, ComponentProps } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport {\n Button,\n Count,\n Flex,\n Grid,\n Icon,\n registerIcon,\n Modal,\n EmptyState,\n SearchInput,\n Text,\n useModalManager,\n useI18n,\n useBreakpoint,\n useAfterInitialEffect,\n useConsolidatedRef,\n SummaryItem,\n Avatar,\n focusHeadingOrContainer,\n useTheme,\n AppShellContext,\n Progress,\n useLiveLog\n} from '@pega/cosmos-react-core';\nimport type { ForwardRefForwardPropsComponent, ModalMethods } from '@pega/cosmos-react-core';\nimport * as filterIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter.icon';\nimport * as filterOnIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter-on.icon';\n\nimport type {\n SearchResultsProps,\n SearchResultProps,\n FilterProps,\n ActiveFilters\n} from './SearchResults.types';\nimport SearchResult from './SearchResult';\nimport Filter from './Filter';\nimport {\n StyledModalFilterContent,\n StyledCountText,\n StyledSelectedFilters,\n StyledSearchResults,\n StyledResults,\n StyledFilters,\n StyledSearchSummaryItem\n} from './SearchResults.styles';\nimport ActiveFilter from './ActiveFilter';\n\nregisterIcon(filterIcon, filterOnIcon);\n\nconst FilterModal = (\n props: Pick<\n SearchResultsProps,\n 'count' | 'filters' | 'onFilterChange' | 'onClearFilter' | 'onClearAllFilters'\n > & {\n activeFilters: ActiveFilters[];\n }\n) => {\n const { activeFilters, count, filters, onFilterChange, onClearFilter, onClearAllFilters } = props;\n const t = useI18n();\n\n return (\n <Modal heading={t('filters')}>\n <Grid as={StyledModalFilterContent} container={{ rowGap: 2 }}>\n <Flex container={{ gap: 1, alignItems: 'center' }}>\n <Text as={StyledCountText} variant='secondary'>\n {t('results_count', [count], { count })}\n </Text>\n {onClearAllFilters && !!activeFilters.length && (\n <Button variant='link' onClick={onClearAllFilters}>\n {t('clear_all')}\n </Button>\n )}\n </Flex>\n {!!activeFilters.length && (\n <Flex\n as={StyledSelectedFilters}\n container={{ gap: 1 }}\n aria-label={t('search_results_active_filters')}\n >\n {activeFilters.map(filter => {\n return (\n <ActiveFilter\n key={filter.id}\n name={`${filter.groupName}: ${filter.name}`}\n onRemove={() =>\n onFilterChange?.({\n name: filter.groupName,\n type: filter.type,\n value: filter.resetValue\n })\n }\n />\n );\n })}\n </Flex>\n )}\n <div>\n {filters.map((filter: FilterProps) => {\n return (\n <Filter\n key={filter.name}\n onFilterChange={onFilterChange}\n onClearFilter={onClearFilter}\n {...filter}\n />\n );\n })}\n </div>\n </Grid>\n </Modal>\n );\n};\n\nconst SearchResults: ForwardRefForwardPropsComponent<SearchResultsProps> = forwardRef(\n function SearchResults(\n {\n results,\n searchInputProps,\n count,\n filters,\n onFilterChange,\n onClearAllFilters,\n onClearFilter,\n onShowMore,\n loading = false,\n ...restProps\n }: PropsWithoutRef<SearchResultsProps>,\n ref: SearchResultsProps['ref']\n ) {\n const t = useI18n();\n const isMedium = useBreakpoint('md');\n const { create } = useModalManager();\n const { searchContainerEl } = useContext(AppShellContext);\n const { announcePolite } = useLiveLog();\n const filtersMethods = useRef<ModalMethods<ComponentProps<typeof FilterModal>>>();\n const {\n base: {\n palette: { 'brand-primary': primary }\n }\n } = useTheme();\n const [accent, setAccent] = useState<undefined | RegExp>();\n const [submittedSearchValue, setSubmittedSearchValue] = useState(searchInputProps.value);\n const pageRef = useConsolidatedRef(ref);\n\n const activeFilters: ActiveFilters[] = filters.flatMap(group => {\n if (group.type === 'select') {\n return group.items.flatMap(item => {\n if (item.checked) {\n return {\n id: item.id,\n name: item.name,\n resetValue: { ...item, checked: false },\n groupName: group.name,\n type: group.type\n };\n }\n return [];\n });\n }\n return [];\n });\n\n const openFiltersModal = () => {\n filtersMethods.current = create(FilterModal, {\n activeFilters,\n count,\n filters,\n onFilterChange,\n onClearFilter,\n onClearAllFilters\n });\n };\n\n useAfterInitialEffect(() => {\n if (filtersMethods.current) {\n filtersMethods.current.update({\n activeFilters,\n count,\n filters\n });\n }\n }, [activeFilters, count, filters]);\n\n useAfterInitialEffect(() => {\n if (isMedium && filtersMethods.current) filtersMethods.current.dismiss();\n }, [isMedium]);\n\n useAfterInitialEffect(() => {\n setAccent(submittedSearchValue ? new RegExp(submittedSearchValue, 'gi') : undefined);\n }, [submittedSearchValue]);\n\n useAfterInitialEffect(() => {\n if (loading) announcePolite({ message: t('loading') });\n }, [loading]);\n\n useAfterInitialEffect(() => {\n if (!loading) announcePolite({ message: t('results_count', [count], { count }) });\n }, [loading, count]);\n\n useEffect(() => {\n if (filters.length) announcePolite({ message: t('search_filter_update_message') });\n }, []);\n\n useEffect(() => {\n const focusContainer = pageRef.current;\n\n if (!loading && submittedSearchValue && focusContainer) {\n focusHeadingOrContainer(focusContainer, t('search'));\n }\n }, [loading, submittedSearchValue, t]);\n\n const searchTitle = (\n <SummaryItem\n as={StyledSearchSummaryItem}\n visual={\n <Avatar\n icon='search'\n name='search'\n shape='squircle'\n backgroundColor={primary}\n color='white'\n />\n }\n primary={<Text variant='h1'>{t('search')}</Text>}\n actions={\n onClearAllFilters &&\n isMedium &&\n !!activeFilters.length && (\n <Button\n variant='link'\n onClick={onClearAllFilters}\n aria-label={t('search_results_clear_all_filters')}\n >\n {t('clear_all')}\n </Button>\n )\n }\n />\n );\n const searchInput = (\n <SearchInput\n {...searchInputProps}\n onSearchSubmit={val => {\n searchInputProps.onSearchSubmit?.(val);\n setSubmittedSearchValue(val);\n }}\n placeholder={searchInputProps.placeholder}\n />\n );\n\n return (\n <Grid\n {...restProps}\n as={StyledSearchResults}\n ref={pageRef}\n md={\n filters.length\n ? {\n container: {\n cols: '15rem auto'\n }\n }\n : undefined\n }\n sm={\n filters.length\n ? {\n container: {\n cols: 'auto',\n rowGap: 2\n }\n }\n : undefined\n }\n container={{\n rows: 'auto auto',\n cols: 'auto 1fr',\n areas: '\"filters results\"'\n }}\n >\n {isMedium && !!filters.length && (\n <Grid item={{ area: 'filters', alignSelf: 'start' }} as={StyledFilters}>\n {searchTitle}\n {filters.map((filter: FilterProps) => {\n return (\n <Filter\n key={filter.name}\n onFilterChange={onFilterChange}\n onClearFilter={onClearFilter}\n {...filter}\n />\n );\n })}\n </Grid>\n )}\n <Grid\n item={{ alignSelf: 'start', area: 'results' }}\n container={{\n alignItems: 'center',\n rowGap: 2,\n rows: 'auto auto 1fr',\n areas: '\"search\" \"meta\" \"items\"'\n }}\n as={StyledResults}\n aria-busy={loading || undefined}\n >\n {loading && <Progress placement='local' />}\n {searchContainerEl && isMedium ? (\n createPortal(searchInput, searchContainerEl)\n ) : (\n <Grid item={{ area: 'search' }}>\n {!isMedium && searchTitle}\n {searchInput}\n </Grid>\n )}\n <Grid item={{ area: 'meta' }} container={{ rowGap: 1 }}>\n <Flex container={{ justify: 'between', alignItems: 'center' }}>\n {!loading && (\n <Text as={StyledCountText} variant='secondary'>\n {submittedSearchValue !== '' || results.length > 0\n ? t('results_count', [count], { count })\n : ''}\n </Text>\n )}\n {!isMedium && !!filters.length && (\n <Button variant='secondary' onClick={openFiltersModal}>\n <Icon name={activeFilters.length > 0 ? 'filter-on' : 'filter'} />\n {t('filters')} \n <Count>{activeFilters.length}</Count>\n </Button>\n )}\n </Flex>\n {!!activeFilters.length && (\n <Flex\n as={StyledSelectedFilters}\n container={{ gap: 1, wrap: 'wrap' }}\n aria-label={t('search_results_active_filters')}\n >\n {activeFilters.map(filter => {\n return (\n <ActiveFilter\n key={filter.id}\n name={`${filter.groupName}: ${filter.name}`}\n onRemove={() =>\n onFilterChange?.({\n name: filter.groupName,\n type: filter.type,\n value: filter.resetValue\n })\n }\n />\n );\n })}\n </Flex>\n )}\n </Grid>\n <Grid\n item={{ area: 'items', alignSelf: results.length ? 'start' : 'stretch' }}\n container={{ rowGap: 2 }}\n >\n {!loading && (\n <>\n {results.length ? (\n results.map((result: SearchResultProps) => {\n return <SearchResult key={result.id} {...result} accent={accent} />;\n })\n ) : (\n <Grid item={{ alignSelf: 'stretch' }}>\n <EmptyState\n message={submittedSearchValue === '' ? t('empty_search') : undefined}\n />\n </Grid>\n )}\n {onShowMore && (\n <Flex container={{ justify: 'center' }}>\n <Button variant='link' onClick={onShowMore}>\n {t('show_more')}\n </Button>\n </Flex>\n )}\n </>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n }\n);\n\nexport default SearchResults;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-work",
|
|
3
|
-
"version": "9.0.0-build.
|
|
3
|
+
"version": "9.0.0-build.24.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"author": "Pegasystems",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"build": "tsc -b tsconfig.build.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pega/cosmos-react-core": "9.0.0-build.
|
|
18
|
-
"@pega/cosmos-react-rte": "9.0.0-build.
|
|
17
|
+
"@pega/cosmos-react-core": "9.0.0-build.24.0",
|
|
18
|
+
"@pega/cosmos-react-rte": "9.0.0-build.24.0",
|
|
19
19
|
"@types/react": "^17.0.62 || ^18.3.3",
|
|
20
20
|
"@types/react-dom": "^17.0.20 || ^18.3.0",
|
|
21
21
|
"polished": "^4.1.0",
|