@pega/cosmos-react-cs 4.0.0-dev.2.0 → 4.0.0-dev.21.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/Article/Article.d.ts +29 -12
- package/lib/components/Article/Article.d.ts.map +1 -1
- package/lib/components/Article/Article.js +38 -16
- package/lib/components/Article/Article.js.map +1 -1
- package/lib/components/Article/ArticleFooter.d.ts +29 -8
- package/lib/components/Article/ArticleFooter.d.ts.map +1 -1
- package/lib/components/Article/ArticleFooter.js +22 -8
- package/lib/components/Article/ArticleFooter.js.map +1 -1
- package/lib/components/Article/ArticleMeta.d.ts +13 -0
- package/lib/components/Article/ArticleMeta.d.ts.map +1 -0
- package/lib/components/Article/ArticleMeta.js +24 -0
- package/lib/components/Article/ArticleMeta.js.map +1 -0
- package/lib/components/Article/index.d.ts +2 -3
- package/lib/components/Article/index.d.ts.map +1 -1
- package/lib/components/Article/index.js.map +1 -1
- package/lib/components/ArticleList/ArticleList.d.ts +3 -14
- package/lib/components/ArticleList/ArticleList.d.ts.map +1 -1
- package/lib/components/ArticleList/ArticleList.js +79 -35
- package/lib/components/ArticleList/ArticleList.js.map +1 -1
- package/lib/components/ArticleList/ArticleList.types.d.ts +79 -0
- package/lib/components/ArticleList/ArticleList.types.d.ts.map +1 -0
- package/lib/components/ArticleList/ArticleList.types.js +2 -0
- package/lib/components/ArticleList/ArticleList.types.js.map +1 -0
- package/lib/components/ArticleList/ArticleListFilter.d.ts +6 -0
- package/lib/components/ArticleList/ArticleListFilter.d.ts.map +1 -0
- package/lib/components/ArticleList/ArticleListFilter.js +60 -0
- package/lib/components/ArticleList/ArticleListFilter.js.map +1 -0
- package/lib/components/ArticleList/ArticleListHeader.d.ts +2 -18
- package/lib/components/ArticleList/ArticleListHeader.d.ts.map +1 -1
- package/lib/components/ArticleList/ArticleListHeader.js +11 -59
- package/lib/components/ArticleList/ArticleListHeader.js.map +1 -1
- package/lib/components/ArticleList/ArticleSummary.d.ts +4 -11
- package/lib/components/ArticleList/ArticleSummary.d.ts.map +1 -1
- package/lib/components/ArticleList/ArticleSummary.js +36 -20
- package/lib/components/ArticleList/ArticleSummary.js.map +1 -1
- package/lib/components/ArticleList/index.d.ts +3 -4
- package/lib/components/ArticleList/index.d.ts.map +1 -1
- package/lib/components/ArticleList/index.js +1 -1
- package/lib/components/ArticleList/index.js.map +1 -1
- package/lib/components/CallControlPanel/AttachInteractionDialog.d.ts +9 -4
- package/lib/components/CallControlPanel/AttachInteractionDialog.d.ts.map +1 -1
- package/lib/components/CallControlPanel/AttachInteractionDialog.js +15 -16
- package/lib/components/CallControlPanel/AttachInteractionDialog.js.map +1 -1
- package/lib/components/CallControlPanel/Call.d.ts.map +1 -1
- package/lib/components/CallControlPanel/Call.js +30 -20
- package/lib/components/CallControlPanel/Call.js.map +1 -1
- package/lib/components/CallControlPanel/CallControlPanel.d.ts.map +1 -1
- package/lib/components/CallControlPanel/CallControlPanel.js +24 -21
- package/lib/components/CallControlPanel/CallControlPanel.js.map +1 -1
- package/lib/components/CallControlPanel/CallControlPanel.styles.js +1 -1
- package/lib/components/CallControlPanel/CallControlPanel.styles.js.map +1 -1
- package/lib/components/CallControlPanel/CallControlPanel.types.d.ts +11 -17
- package/lib/components/CallControlPanel/CallControlPanel.types.d.ts.map +1 -1
- package/lib/components/CallControlPanel/CallControlPanel.types.js.map +1 -1
- package/lib/components/CallControlPanel/CallHandover/CallHandoverDialog.d.ts +3 -1
- package/lib/components/CallControlPanel/CallHandover/CallHandoverDialog.d.ts.map +1 -1
- package/lib/components/CallControlPanel/CallHandover/CallHandoverDialog.js +16 -11
- package/lib/components/CallControlPanel/CallHandover/CallHandoverDialog.js.map +1 -1
- package/lib/components/CallControlPanel/CallHandover/CallHandoverForm.d.ts +5 -1
- package/lib/components/CallControlPanel/CallHandover/CallHandoverForm.d.ts.map +1 -1
- package/lib/components/CallControlPanel/CallHandover/CallHandoverForm.js +8 -6
- package/lib/components/CallControlPanel/CallHandover/CallHandoverForm.js.map +1 -1
- package/lib/components/CallControlPanel/ContactList/ContactList.types.d.ts +1 -1
- package/lib/components/CallControlPanel/ContactList/ContactList.types.d.ts.map +1 -1
- package/lib/components/CallControlPanel/ContactList/ContactList.types.js.map +1 -1
- package/lib/components/CallControlPanel/ExternalCTI.d.ts +1 -3
- package/lib/components/CallControlPanel/ExternalCTI.d.ts.map +1 -1
- package/lib/components/CallControlPanel/ExternalCTI.js +9 -7
- package/lib/components/CallControlPanel/ExternalCTI.js.map +1 -1
- package/lib/components/CallControlPanel/FloatingPanel.d.ts.map +1 -1
- package/lib/components/CallControlPanel/FloatingPanel.js +3 -1
- package/lib/components/CallControlPanel/FloatingPanel.js.map +1 -1
- package/lib/components/CallControlPanel/StopWatch.d.ts +3 -1
- package/lib/components/CallControlPanel/StopWatch.d.ts.map +1 -1
- package/lib/components/CallControlPanel/StopWatch.js +2 -2
- package/lib/components/CallControlPanel/StopWatch.js.map +1 -1
- package/lib/components/CallControlPanel/index.d.ts +1 -1
- package/lib/components/CallControlPanel/index.d.ts.map +1 -1
- package/lib/components/CallControlPanel/index.js.map +1 -1
- package/lib/components/CallControlPanel/utils.d.ts.map +1 -1
- package/lib/components/CallControlPanel/utils.js +0 -1
- package/lib/components/CallControlPanel/utils.js.map +1 -1
- package/lib/components/DialPad/DialPad.types.d.ts +3 -3
- package/lib/components/DialPad/DialPad.types.d.ts.map +1 -1
- package/lib/components/DialPad/DialPadDialog.d.ts.map +1 -1
- package/lib/components/DialPad/DialPadDialog.js +1 -0
- package/lib/components/DialPad/DialPadDialog.js.map +1 -1
- package/lib/components/DialPad/DialPadKeyboard.d.ts +1 -1
- package/lib/components/DialPad/DialPadKeyboard.d.ts.map +1 -1
- package/lib/components/DialPad/KeyboardNavigation.js.map +1 -1
- package/lib/components/DialPad/index.d.ts +1 -1
- package/lib/components/DialPad/index.d.ts.map +1 -1
- package/lib/components/DialPad/index.js.map +1 -1
- package/lib/components/InteractionNotification/CountdownButton.d.ts +15 -0
- package/lib/components/InteractionNotification/CountdownButton.d.ts.map +1 -0
- package/lib/components/InteractionNotification/CountdownButton.js +42 -0
- package/lib/components/InteractionNotification/CountdownButton.js.map +1 -0
- package/lib/components/InteractionNotification/InteractionNotification.d.ts +10 -1
- package/lib/components/InteractionNotification/InteractionNotification.d.ts.map +1 -1
- package/lib/components/InteractionNotification/InteractionNotification.js +56 -24
- package/lib/components/InteractionNotification/InteractionNotification.js.map +1 -1
- package/lib/components/InteractionTimer/InteractionTimer.d.ts +1 -1
- package/lib/components/InteractionTimer/InteractionTimer.d.ts.map +1 -1
- package/lib/components/InteractionTimer/InteractionTimer.js +22 -4
- package/lib/components/InteractionTimer/InteractionTimer.js.map +1 -1
- package/lib/components/InteractionTimer/index.d.ts +2 -1
- package/lib/components/InteractionTimer/index.d.ts.map +1 -1
- package/lib/components/InteractionTimer/index.js.map +1 -1
- package/lib/components/Picker/Picker.d.ts +6 -0
- package/lib/components/Picker/Picker.d.ts.map +1 -0
- package/lib/components/Picker/Picker.js +109 -0
- package/lib/components/Picker/Picker.js.map +1 -0
- package/lib/components/Picker/Picker.styles.d.ts +10 -0
- package/lib/components/Picker/Picker.styles.d.ts.map +1 -0
- package/lib/components/Picker/Picker.styles.js +59 -0
- package/lib/components/Picker/Picker.styles.js.map +1 -0
- package/lib/components/Picker/Picker.types.d.ts +35 -0
- package/lib/components/Picker/Picker.types.d.ts.map +1 -0
- package/lib/components/Picker/Picker.types.js.map +1 -0
- package/lib/components/Picker/index.d.ts +2 -0
- package/lib/components/Picker/index.d.ts.map +1 -0
- package/lib/components/Picker/index.js +2 -0
- package/lib/components/Picker/index.js.map +1 -0
- package/lib/components/TaskManager/TaskManager.d.ts.map +1 -1
- package/lib/components/TaskManager/TaskManager.js +50 -54
- package/lib/components/TaskManager/TaskManager.js.map +1 -1
- package/lib/components/TaskManager/TaskManager.styles.d.ts +7 -3
- package/lib/components/TaskManager/TaskManager.styles.d.ts.map +1 -1
- package/lib/components/TaskManager/TaskManager.styles.js +35 -11
- package/lib/components/TaskManager/TaskManager.styles.js.map +1 -1
- package/lib/components/TaskManager/TaskManager.types.d.ts +6 -6
- package/lib/components/TaskManager/TaskManager.types.d.ts.map +1 -1
- package/lib/components/TaskManager/TaskManager.types.js.map +1 -1
- package/lib/components/TaskManager/TaskManagerTabs.d.ts.map +1 -1
- package/lib/components/TaskManager/TaskManagerTabs.js +18 -19
- package/lib/components/TaskManager/TaskManagerTabs.js.map +1 -1
- package/lib/components/TaskManager/TaskPicker.d.ts +19 -0
- package/lib/components/TaskManager/TaskPicker.d.ts.map +1 -0
- package/lib/components/TaskManager/TaskPicker.js +89 -0
- package/lib/components/TaskManager/TaskPicker.js.map +1 -0
- package/lib/components/TaskManager/index.d.ts +2 -2
- package/lib/components/TaskManager/index.d.ts.map +1 -1
- package/lib/components/TaskManager/index.js +1 -1
- package/lib/components/TaskManager/index.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +13 -15
- package/lib/components/Article/ArticleSkeleton.d.ts +0 -8
- package/lib/components/Article/ArticleSkeleton.d.ts.map +0 -1
- package/lib/components/Article/ArticleSkeleton.js +0 -15
- package/lib/components/Article/ArticleSkeleton.js.map +0 -1
- package/lib/components/ArticleList/SummarySkeleton.d.ts +0 -7
- package/lib/components/ArticleList/SummarySkeleton.d.ts.map +0 -1
- package/lib/components/ArticleList/SummarySkeleton.js +0 -9
- package/lib/components/ArticleList/SummarySkeleton.js.map +0 -1
- package/lib/components/TaskManager/Picker/Picker.d.ts +0 -14
- package/lib/components/TaskManager/Picker/Picker.d.ts.map +0 -1
- package/lib/components/TaskManager/Picker/Picker.js +0 -229
- package/lib/components/TaskManager/Picker/Picker.js.map +0 -1
- package/lib/components/TaskManager/Picker/Picker.types.d.ts +0 -27
- package/lib/components/TaskManager/Picker/Picker.types.d.ts.map +0 -1
- package/lib/components/TaskManager/Picker/Picker.types.js.map +0 -1
- /package/lib/components/{TaskManager/Picker → Picker}/Picker.types.js +0 -0
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import styled, { css } from 'styled-components';
|
|
2
2
|
import { mix, readableColor, transparentize } from 'polished';
|
|
3
|
-
import { defaultThemeProp, MenuButton, Popover, tryCatch,
|
|
3
|
+
import { defaultThemeProp, MenuButton, Popover, tryCatch, StyledCard, StyledEmptyState, StyledFlex, Icon, Count, CardHeader, readableHue, StyledButton } from '@pega/cosmos-react-core';
|
|
4
4
|
import { StyledCardHeader } from '@pega/cosmos-react-core/lib/components/Card/CardHeader';
|
|
5
5
|
import { StyledCardContent } from '@pega/cosmos-react-core/lib/components/Card/CardContent';
|
|
6
6
|
import { StyledStatus } from '@pega/cosmos-react-core/lib/components/Badges/Status';
|
|
7
7
|
import { StyledVisual } from '@pega/cosmos-react-core/lib/components/SummaryItem/SummaryItem';
|
|
8
|
-
|
|
8
|
+
import { StyledDialog } from '@pega/cosmos-react-core/lib/components/Dialog/Dialog.styles';
|
|
9
|
+
import { StyledFormDialog } from '@pega/cosmos-react-core/lib/components/Dialog/FormDialog';
|
|
10
|
+
export const StyledTaskMain = styled.div(({ current }) => {
|
|
11
|
+
return css `
|
|
12
|
+
${!current &&
|
|
13
|
+
css `
|
|
14
|
+
display: none;
|
|
15
|
+
`}
|
|
16
|
+
`;
|
|
17
|
+
});
|
|
9
18
|
export const StyledTaskManagerTabsSummaryItem = styled.div ``;
|
|
10
19
|
export const StyledHeader = styled(CardHeader) ``;
|
|
11
20
|
export const StyledTaskManagerTabs = styled.div(({ theme }) => {
|
|
@@ -42,13 +51,7 @@ export const StyleTaskName = styled.span(() => {
|
|
|
42
51
|
white-space: nowrap;
|
|
43
52
|
`;
|
|
44
53
|
});
|
|
45
|
-
export const StyledTaskStatus = styled(Status)(({ theme }) => {
|
|
46
|
-
return css `
|
|
47
|
-
margin-block-start: calc(0.25 * ${theme.base.spacing});
|
|
48
|
-
`;
|
|
49
|
-
});
|
|
50
54
|
StyleTaskName.defaultProps = defaultThemeProp;
|
|
51
|
-
StyledTaskStatus.defaultProps = defaultThemeProp;
|
|
52
55
|
export const StyledTaskManagerTab = styled.li(({ active = false, theme }) => {
|
|
53
56
|
const hoverColor = tryCatch(() => mix(0.85, theme.base.palette['primary-background'], theme.base.palette.interactive));
|
|
54
57
|
return css `
|
|
@@ -129,6 +132,9 @@ export const StyledTasksTabList = styled.ul(({ theme }) => {
|
|
|
129
132
|
display: none;
|
|
130
133
|
}
|
|
131
134
|
scrollbar-width: none;
|
|
135
|
+
&:has(:focus-visible) {
|
|
136
|
+
box-shadow: ${theme.base.shadow['focus-group']};
|
|
137
|
+
}
|
|
132
138
|
${StyledTaskManagerTab} {
|
|
133
139
|
margin-inline-start: 0;
|
|
134
140
|
&:hover,
|
|
@@ -152,14 +158,14 @@ export const StyledStickyCardHeader = styled(StyledCardHeader)(({ theme }) => {
|
|
|
152
158
|
border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};
|
|
153
159
|
`;
|
|
154
160
|
});
|
|
161
|
+
StyledStickyCardHeader.defaultProps = defaultThemeProp;
|
|
155
162
|
export const StyledOverflowTabMenu = styled(MenuButton)(() => {
|
|
156
163
|
return css `
|
|
157
164
|
align-self: center;
|
|
158
165
|
`;
|
|
159
166
|
});
|
|
160
|
-
StyledStickyCardHeader.defaultProps = defaultThemeProp;
|
|
161
167
|
StyledOverflowTabMenu.defaultProps = defaultThemeProp;
|
|
162
|
-
export const StyledTaskManager = styled.div(({ theme: { base: { shadow, spacing, palette, 'border-radius': borderRadius } }, hasDrawer }) => {
|
|
168
|
+
export const StyledTaskManager = styled.div(({ theme: { base: { shadow, spacing, palette, 'border-radius': borderRadius } }, hasDrawer, hasTasks }) => {
|
|
163
169
|
const primaryBackgroundColor = palette['primary-background'];
|
|
164
170
|
return css `
|
|
165
171
|
background: ${primaryBackgroundColor};
|
|
@@ -170,12 +176,29 @@ export const StyledTaskManager = styled.div(({ theme: { base: { shadow, spacing,
|
|
|
170
176
|
box-shadow: ${shadow.low};
|
|
171
177
|
`}
|
|
172
178
|
|
|
179
|
+
${StyledDialog}${StyledFormDialog} ${StyledCardContent} {
|
|
180
|
+
padding-inline: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
173
183
|
${StyledStatus} {
|
|
174
184
|
line-height: calc(${spacing} * 2);
|
|
175
185
|
height: calc(${spacing} * 2);
|
|
176
186
|
font-size: 0.7rem;
|
|
177
187
|
}
|
|
178
188
|
|
|
189
|
+
${StyledCardHeader} {
|
|
190
|
+
${!hasTasks &&
|
|
191
|
+
css `
|
|
192
|
+
border-block-end: none;
|
|
193
|
+
border-end-start-radius: inherit;
|
|
194
|
+
border-end-end-radius: inherit;
|
|
195
|
+
`}
|
|
196
|
+
|
|
197
|
+
${StyledButton} {
|
|
198
|
+
gap: ${spacing};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
179
202
|
&& > ${StyledCard} > ${StyledCardContent} {
|
|
180
203
|
padding: 0;
|
|
181
204
|
}
|
|
@@ -202,13 +225,14 @@ export const StyledTaskManager = styled.div(({ theme: { base: { shadow, spacing,
|
|
|
202
225
|
});
|
|
203
226
|
StyledTaskManager.defaultProps = defaultThemeProp;
|
|
204
227
|
export const StyledTaskManagerBanner = styled.div(({ theme }) => {
|
|
228
|
+
const color = readableHue(theme.base.colors.orange.dark, theme.base.palette['secondary-background']);
|
|
205
229
|
return css `
|
|
206
230
|
padding: calc(1.5 * ${theme.base.spacing});
|
|
207
231
|
border-radius: ${theme.base['border-radius']} ${theme.base['border-radius']} 0 0;
|
|
208
232
|
background-color: ${theme.base.palette['secondary-background']};
|
|
209
233
|
gap: ${theme.base.spacing};
|
|
210
234
|
min-height: calc(7 * ${theme.base.spacing});
|
|
211
|
-
color: ${
|
|
235
|
+
color: ${color};
|
|
212
236
|
font-weight: ${theme.base['font-weight'].bold};
|
|
213
237
|
& + ${StyledTaskManager} {
|
|
214
238
|
margin-block-start: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskManager.styles.js","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManager.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAC;AAI9F,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAA,EAAE,CAAC;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA,EAAE,CAAC;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,OAAO,GAAG,CAAA;wBACY,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;mCAC/B,KAAK,CAAC,IAAI,CAAC,OAAO;;;;0CAIX,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;;;;;GAMxE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3D,MAAM,EACJ,IAAI,EAAE,EAAE,OAAO,EAAE,EAClB,GAAG,KAAK,CAAC;IACV,OAAO,GAAG,CAAA;;eAEG,OAAO;;0CAEoB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;GAExE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC5C,OAAO,GAAG,CAAA;;;;GAIT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3D,OAAO,GAAG,CAAA;sCAC0B,KAAK,CAAC,IAAI,CAAC,OAAO;GACrD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAC9C,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAsB,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/F,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC/B,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CACpF,CAAC;IACF,OAAO,GAAG,CAAA;;;wCAG4B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;;;;;;;;gCASzC,KAAK,CAAC,IAAI,CAAC,OAAO;+BACnB,KAAK,CAAC,IAAI,CAAC,OAAO;wBACzB,MAAM;QAC1B,GAAG,CAAA;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAC3C;;;;;;QAMG,gCAAgC;;;;QAIhC,gCAAgC,MAAM,YAAY;QAClD,MAAM;QACR,GAAG,CAAA;sBACa,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;iBACnC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;OACjC;;MAED,MAAM;QACR,GAAG,CAAA;;;;;;4BAMqB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;;;;KAI/D;;;;0BAIqB,UAAU;;4BAER,UAAU;;;;;oBAKlB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;;;QAG5C,UAAU;;;GAGf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,OAAO,GAAG,CAAA;;;;;;;;;;MAUN,oBAAoB;;;;;;8BAMI,cAAc;;;;GAIzC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3E,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE,OAAO,GAAG,CAAA;;;kBAGM,sBAAsB;;wCAEA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;GACtE,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE;IAC3D,OAAO,GAAG,CAAA;;GAET,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AACvD,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAMtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CACzC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,EAClE,EACD,SAAS,EACV,EAAE,EAAE;IACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAA;oBACM,sBAAsB;;uBAEnB,YAAY;QAC3B,SAAS;QACX,GAAG,CAAA;sBACa,MAAM,CAAC,GAAG;OACzB;;QAEC,YAAY;4BACQ,OAAO;uBACZ,OAAO;;;;aAIjB,UAAU,MAAM,iBAAiB;;;QAGtC,cAAc;8BACQ,OAAO,cAAc,OAAO;UAChD,gBAAgB;8BACI,OAAO,OAAO,OAAO;8BACrB,OAAO;;;;QAI7B,gBAAgB;4BACI,OAAO;;QAE3B,qBAAqB;;;QAGrB,oBAAoB;YAChB,gCAAgC,MAAM,YAAY;+BAC/B,OAAO;;;KAGjC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,OAAO,GAAG,CAAA;0BACc,KAAK,CAAC,IAAI,CAAC,OAAO;qBACvB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;wBACvD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;WACvD,KAAK,CAAC,IAAI,CAAC,OAAO;2BACF,KAAK,CAAC,IAAI,CAAC,OAAO;aAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;mBACjB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI;UACvC,iBAAiB;;;GAGxB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,OAAO,GAAG,CAAA;qBACS,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;GAC7C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAGpC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAC7B,EACF,EACD,cAAc,EACf,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxF,OAAO,GAAG,CAAA;eACC,OAAO,CAAC,oBAAoB,CAAC;;gCAEZ,OAAO,CAAC,oBAAoB,CAAC;qCACxB,OAAO;oCACR,OAAO;;;;0BAIjB,eAAe;qCACJ,KAAK,IAAI,MAAM,CAAC,IAAI;;;KAGpD,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAGtC,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,MAAM,EACN,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAC7B,EACF,EACD,cAAc,EACf,EAAE,EAAE;IACH,MAAM,eAAe,GACnB,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACjF,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,CAAA;;;;0BAIY,eAAe;qCACJ,KAAK,IAAI,MAAM,CAAC,IAAI;;QAEjD,qBAAqB;;;iBAGZ,eAAe;4BACJ,KAAK,IAAI,MAAM,CAAC,IAAI;;;QAGxC,cAAc;QAChB,GAAG,CAAA;;OAEF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,cAAc,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAG3C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,OAAO,EAAE,EAClB,EACF,EAAE,EAAE;IACH,OAAO,GAAG,CAAA;;qCAEuB,OAAO;qCACP,OAAO;8BACd,OAAO;;;yCAGI,OAAO;sCACV,OAAO;;KAExC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAChD,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,EACxC,EACF,EAAE,EAAE;IACH,OAAO,GAAG,CAAA;eACC,YAAY,CAAC,EAAE;KACzB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mBAAmB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpD,OAAO,GAAG,CAAA;;;MAGN,UAAU;QACR,iBAAiB;0BACC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,oBAAoB,KAAK,CAAC,IAAI,CAAC,OAAO;;;GAG1F,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE9C,eAAe,iBAAiB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\nimport { mix, readableColor, transparentize } from 'polished';\n\nimport {\n defaultThemeProp,\n MenuButton,\n Popover,\n tryCatch,\n Status,\n StyledCard,\n StyledEmptyState,\n StyledFlex,\n Icon,\n Count,\n CardHeader\n} from '@pega/cosmos-react-core';\nimport { StyledCardHeader } from '@pega/cosmos-react-core/lib/components/Card/CardHeader';\nimport { StyledCardContent } from '@pega/cosmos-react-core/lib/components/Card/CardContent';\nimport { StyledStatus } from '@pega/cosmos-react-core/lib/components/Badges/Status';\nimport { StyledVisual } from '@pega/cosmos-react-core/lib/components/SummaryItem/SummaryItem';\n\nimport { TaskManagerTabProps, DialogueProps } from './TaskManager.types';\n\nexport const StyledTaskMain = styled.div``;\nexport const StyledTaskManagerTabsSummaryItem = styled.div``;\nexport const StyledHeader = styled(CardHeader)``;\n\nexport const StyledTaskManagerTabs = styled.div(({ theme }) => {\n return css`\n background-color: ${theme.base.palette['secondary-background']};\n padding-inline-end: calc(2 * ${theme.base.spacing});\n\n ::before {\n content: '';\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n height: 0.0625rem;\n width: 100%;\n position: absolute;\n inset-block-end: 0;\n }\n `;\n});\n\nStyledTaskManagerTabs.defaultProps = defaultThemeProp;\n\nexport const StyledTaskSummaryItem = styled.li(({ theme }) => {\n const {\n base: { spacing }\n } = theme;\n return css`\n min-height: 2.5rem;\n padding: ${spacing};\n &:not(:last-child) {\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n }\n `;\n});\n\nStyledTaskSummaryItem.defaultProps = defaultThemeProp;\n\nexport const StyleTaskName = styled.span(() => {\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n});\n\nexport const StyledTaskStatus = styled(Status)(({ theme }) => {\n return css`\n margin-block-start: calc(0.25 * ${theme.base.spacing});\n `;\n});\n\nStyleTaskName.defaultProps = defaultThemeProp;\nStyledTaskStatus.defaultProps = defaultThemeProp;\n\nexport const StyledTaskManagerTab = styled.li<TaskManagerTabProps>(({ active = false, theme }) => {\n const hoverColor = tryCatch(() =>\n mix(0.85, theme.base.palette['primary-background'], theme.base.palette.interactive)\n );\n return css`\n min-width: max-content;\n white-space: nowrap;\n border-inline-end: 0.065rem solid ${theme.base.palette['border-line']};\n text-align: start;\n outline: none;\n overflow: hidden;\n display: flex;\n align-items: center;\n position: relative;\n min-height: 2.5rem;\n cursor: pointer;\n padding-block: calc(0.5 * ${theme.base.spacing});\n padding-inline: calc(2 * ${theme.base.spacing});\n background-color: ${active &&\n css`\n ${theme.base.palette['primary-background']};\n `};\n\n & + & {\n margin-inline-start: 0;\n }\n\n > ${StyledTaskManagerTabsSummaryItem} {\n overflow-x: hidden;\n }\n\n > ${StyledTaskManagerTabsSummaryItem} > ${StyledVisual} {\n ${active &&\n css`\n background: ${theme.base.palette.interactive};\n color: ${theme.base.colors.white};\n `}\n }\n ${active &&\n css`\n ::after {\n position: absolute;\n content: '';\n height: 0.0625rem;\n width: 100%;\n background-color: ${theme.base.palette['primary-background']};\n inset-inline-start: 0;\n inset-block-end: 0;\n }\n `}\n\n &:hover,\n &:focus {\n background-color: ${hoverColor};\n ::after {\n background-color: ${hoverColor};\n }\n box-shadow: none;\n }\n &:focus {\n box-shadow: ${theme.base.shadow['focus-inset']};\n }\n\n > ${StyledFlex} {\n max-width: 100%;\n }\n `;\n});\n\nStyledTaskManagerTab.defaultProps = defaultThemeProp;\n\nexport const StyledTasksTabList = styled.ul(({ theme }) => {\n const primaryColor = theme.base.palette.interactive;\n const lightenedColor = tryCatch(() => transparentize(0.5, primaryColor)) ?? '';\n return css`\n position: relative;\n display: flex;\n flex-grow: 1;\n overflow: scroll;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n display: none;\n }\n scrollbar-width: none;\n ${StyledTaskManagerTab} {\n margin-inline-start: 0;\n &:hover,\n &:focus {\n ::before {\n display: block;\n background-color: ${lightenedColor};\n }\n }\n }\n `;\n});\n\nStyledTasksTabList.defaultProps = defaultThemeProp;\n\nexport const StyledStickyCardHeader = styled(StyledCardHeader)(({ theme }) => {\n const primaryBackgroundColor = theme.base.palette['primary-background'];\n return css`\n inset-block-start: 0;\n inset-inline-start: 0;\n background: ${primaryBackgroundColor};\n height: calc(3.5rem - 0.0625rem);\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n `;\n});\nexport const StyledOverflowTabMenu = styled(MenuButton)(() => {\n return css`\n align-self: center;\n `;\n});\n\nStyledStickyCardHeader.defaultProps = defaultThemeProp;\nStyledOverflowTabMenu.defaultProps = defaultThemeProp;\n\ninterface StyledTaskManagerProps {\n hasDrawer?: boolean;\n}\n\nexport const StyledTaskManager = styled.div<StyledTaskManagerProps>(\n ({\n theme: {\n base: { shadow, spacing, palette, 'border-radius': borderRadius }\n },\n hasDrawer\n }) => {\n const primaryBackgroundColor = palette['primary-background'];\n return css`\n background: ${primaryBackgroundColor};\n position: relative;\n border-radius: ${borderRadius};\n ${hasDrawer &&\n css`\n box-shadow: ${shadow.low};\n `}\n\n ${StyledStatus} {\n line-height: calc(${spacing} * 2);\n height: calc(${spacing} * 2);\n font-size: 0.7rem;\n }\n\n && > ${StyledCard} > ${StyledCardContent} {\n padding: 0;\n }\n ${StyledTaskMain} {\n padding: 0 calc(2 * ${spacing}) calc(2 * ${spacing});\n ${StyledCardHeader} {\n padding: calc(2 * ${spacing}) 0 ${spacing};\n margin-block-end: ${spacing};\n border-block-end: none;\n }\n }\n ${StyledEmptyState} {\n padding: calc(2 * ${spacing});\n }\n ${StyledTaskManagerTabs} {\n position: relative;\n }\n ${StyledTaskManagerTab} {\n > ${StyledTaskManagerTabsSummaryItem} > ${StyledVisual} {\n margin: 0 calc(2 * ${spacing});\n }\n }\n `;\n }\n);\n\nStyledTaskManager.defaultProps = defaultThemeProp;\n\nexport const StyledTaskManagerBanner = styled.div(({ theme }) => {\n return css`\n padding: calc(1.5 * ${theme.base.spacing});\n border-radius: ${theme.base['border-radius']} ${theme.base['border-radius']} 0 0;\n background-color: ${theme.base.palette['secondary-background']};\n gap: ${theme.base.spacing};\n min-height: calc(7 * ${theme.base.spacing});\n color: ${theme.base.palette.warn};\n font-weight: ${theme.base['font-weight'].bold};\n & + ${StyledTaskManager} {\n margin-block-start: 0;\n }\n `;\n});\n\nStyledTaskManagerBanner.defaultProps = defaultThemeProp;\n\nexport const StyledPopover = styled(Popover)(({ theme }) => {\n return css`\n border-radius: ${theme.base['border-radius']};\n `;\n});\n\nStyledPopover.defaultProps = defaultThemeProp;\n\nexport const StyledAgentScriptIcon = styled(Icon)``;\n\nexport const StyledSymbol = styled.div<{\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}>(\n ({\n theme: {\n base: {\n spacing,\n palette,\n animation: { speed, timing }\n }\n },\n verbatimStatus\n }) => {\n const backgroundColor = verbatimStatus === 'pending' ? palette.urgent : palette.success;\n return css`\n color: ${palette['primary-background']};\n border-radius: 50%;\n border: 0.0625rem solid ${palette['primary-background']};\n inset-block-start: calc(-1 * ${spacing});\n inset-inline-end: calc(-1 * ${spacing});\n position: absolute;\n height: 1.25rem;\n width: 1.25rem;\n background-color: ${backgroundColor};\n transition: background-color ${speed} ${timing.ease};\n user-select: none;\n -webkit-user-select: none;\n `;\n }\n);\n\nStyledSymbol.defaultProps = defaultThemeProp;\n\nexport const StyledIconWrap = styled.div<{\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}>(\n ({\n theme: {\n base: {\n colors,\n animation: { speed, timing }\n }\n },\n verbatimStatus\n }) => {\n const backgroundColor =\n verbatimStatus === 'pending' ? colors.red['extra-light'] : colors.slate.medium;\n const scriptIconColor = tryCatch(() => readableColor(backgroundColor));\n return css`\n height: 2rem;\n width: 2rem;\n border-radius: 50%;\n background-color: ${backgroundColor};\n transition: background-color ${speed} ${timing.ease};\n\n ${StyledAgentScriptIcon} {\n width: 1.5rem;\n height: 1.5rem;\n color: ${scriptIconColor};\n transition: color ${speed} ${timing.ease};\n }\n\n ${verbatimStatus &&\n css`\n position: relative;\n `}\n `;\n }\n);\n\nStyledIconWrap.defaultProps = defaultThemeProp;\n\nexport const StyledCountBadge = styled(Count)<{\n count: number;\n}>(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n position: absolute;\n inset-inline-start: calc(2 * ${spacing});\n inset-block-start: calc(-1 * ${spacing});\n padding: 0 calc(0.5 * ${spacing});\n\n @media (pointer: coarse) {\n inset-inline-start: calc(2.5 * ${spacing});\n inset-block-start: calc(1 * ${spacing});\n }\n `;\n }\n);\n\nStyledCountBadge.defaultProps = defaultThemeProp;\n\nexport const StyledEntityPopover = styled(Popover)(\n ({\n theme: {\n base: { 'content-width': contentWidth }\n }\n }) => {\n return css`\n width: ${contentWidth.sm};\n `;\n }\n);\n\nStyledEntityPopover.defaultProps = defaultThemeProp;\n\nexport const StyledContent = styled.div(({ theme }) => {\n return css`\n max-height: 18rem;\n overflow: auto;\n ${StyledCard} {\n ${StyledCardContent} {\n padding: 0 calc(${theme.components.card.padding} * 2) calc(1.5 * ${theme.base.spacing});\n }\n }\n `;\n});\n\nStyledContent.defaultProps = defaultThemeProp;\n\nexport default StyledTaskManager;\n"]}
|
|
1
|
+
{"version":3,"file":"TaskManager.styles.js","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManager.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\nimport { mix, readableColor, transparentize } from 'polished';\n\nimport {\n defaultThemeProp,\n MenuButton,\n Popover,\n tryCatch,\n StyledCard,\n StyledEmptyState,\n StyledFlex,\n Icon,\n Count,\n CardHeader,\n readableHue,\n StyledButton\n} from '@pega/cosmos-react-core';\nimport { StyledCardHeader } from '@pega/cosmos-react-core/lib/components/Card/CardHeader';\nimport { StyledCardContent } from '@pega/cosmos-react-core/lib/components/Card/CardContent';\nimport { StyledStatus } from '@pega/cosmos-react-core/lib/components/Badges/Status';\nimport { StyledVisual } from '@pega/cosmos-react-core/lib/components/SummaryItem/SummaryItem';\nimport { StyledDialog } from '@pega/cosmos-react-core/lib/components/Dialog/Dialog.styles';\nimport { StyledFormDialog } from '@pega/cosmos-react-core/lib/components/Dialog/FormDialog';\n\nimport { TaskManagerTabProps, DialogueProps } from './TaskManager.types';\n\nexport const StyledTaskMain = styled.div<{ current: boolean }>(({ current }) => {\n return css`\n ${!current &&\n css`\n display: none;\n `}\n `;\n});\n\nexport const StyledTaskManagerTabsSummaryItem = styled.div``;\nexport const StyledHeader = styled(CardHeader)``;\n\nexport const StyledTaskManagerTabs = styled.div(({ theme }) => {\n return css`\n background-color: ${theme.base.palette['secondary-background']};\n padding-inline-end: calc(2 * ${theme.base.spacing});\n\n ::before {\n content: '';\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n height: 0.0625rem;\n width: 100%;\n position: absolute;\n inset-block-end: 0;\n }\n `;\n});\n\nStyledTaskManagerTabs.defaultProps = defaultThemeProp;\n\nexport const StyledTaskSummaryItem = styled.li(({ theme }) => {\n const {\n base: { spacing }\n } = theme;\n return css`\n min-height: 2.5rem;\n padding: ${spacing};\n &:not(:last-child) {\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n }\n `;\n});\n\nStyledTaskSummaryItem.defaultProps = defaultThemeProp;\n\nexport const StyleTaskName = styled.span(() => {\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n});\n\nStyleTaskName.defaultProps = defaultThemeProp;\n\nexport const StyledTaskManagerTab = styled.li<TaskManagerTabProps>(({ active = false, theme }) => {\n const hoverColor = tryCatch(() =>\n mix(0.85, theme.base.palette['primary-background'], theme.base.palette.interactive)\n );\n return css`\n min-width: max-content;\n white-space: nowrap;\n border-inline-end: 0.065rem solid ${theme.base.palette['border-line']};\n text-align: start;\n outline: none;\n overflow: hidden;\n display: flex;\n align-items: center;\n position: relative;\n min-height: 2.5rem;\n cursor: pointer;\n padding-block: calc(0.5 * ${theme.base.spacing});\n padding-inline: calc(2 * ${theme.base.spacing});\n background-color: ${active &&\n css`\n ${theme.base.palette['primary-background']};\n `};\n\n & + & {\n margin-inline-start: 0;\n }\n\n > ${StyledTaskManagerTabsSummaryItem} {\n overflow-x: hidden;\n }\n\n > ${StyledTaskManagerTabsSummaryItem} > ${StyledVisual} {\n ${active &&\n css`\n background: ${theme.base.palette.interactive};\n color: ${theme.base.colors.white};\n `}\n }\n ${active &&\n css`\n ::after {\n position: absolute;\n content: '';\n height: 0.0625rem;\n width: 100%;\n background-color: ${theme.base.palette['primary-background']};\n inset-inline-start: 0;\n inset-block-end: 0;\n }\n `}\n\n &:hover,\n &:focus {\n background-color: ${hoverColor};\n ::after {\n background-color: ${hoverColor};\n }\n box-shadow: none;\n }\n &:focus {\n box-shadow: ${theme.base.shadow['focus-inset']};\n }\n\n > ${StyledFlex} {\n max-width: 100%;\n }\n `;\n});\n\nStyledTaskManagerTab.defaultProps = defaultThemeProp;\n\nexport const StyledTasksTabList = styled.ul(({ theme }) => {\n const primaryColor = theme.base.palette.interactive;\n const lightenedColor = tryCatch(() => transparentize(0.5, primaryColor)) ?? '';\n return css`\n position: relative;\n display: flex;\n flex-grow: 1;\n overflow: scroll;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n display: none;\n }\n scrollbar-width: none;\n &:has(:focus-visible) {\n box-shadow: ${theme.base.shadow['focus-group']};\n }\n ${StyledTaskManagerTab} {\n margin-inline-start: 0;\n &:hover,\n &:focus {\n ::before {\n display: block;\n background-color: ${lightenedColor};\n }\n }\n }\n `;\n});\n\nStyledTasksTabList.defaultProps = defaultThemeProp;\n\nexport const StyledStickyCardHeader = styled(StyledCardHeader)(({ theme }) => {\n const primaryBackgroundColor = theme.base.palette['primary-background'];\n return css`\n inset-block-start: 0;\n inset-inline-start: 0;\n background: ${primaryBackgroundColor};\n height: calc(3.5rem - 0.0625rem);\n border-block-end: 0.0625rem solid ${theme.base.palette['border-line']};\n `;\n});\n\nStyledStickyCardHeader.defaultProps = defaultThemeProp;\n\nexport const StyledOverflowTabMenu = styled(MenuButton)(() => {\n return css`\n align-self: center;\n `;\n});\n\nStyledOverflowTabMenu.defaultProps = defaultThemeProp;\n\ninterface StyledTaskManagerProps {\n hasDrawer?: boolean;\n hasTasks?: boolean;\n}\n\nexport const StyledTaskManager = styled.div<StyledTaskManagerProps>(\n ({\n theme: {\n base: { shadow, spacing, palette, 'border-radius': borderRadius }\n },\n hasDrawer,\n hasTasks\n }) => {\n const primaryBackgroundColor = palette['primary-background'];\n return css`\n background: ${primaryBackgroundColor};\n position: relative;\n border-radius: ${borderRadius};\n ${hasDrawer &&\n css`\n box-shadow: ${shadow.low};\n `}\n\n ${StyledDialog}${StyledFormDialog} ${StyledCardContent} {\n padding-inline: 0;\n }\n\n ${StyledStatus} {\n line-height: calc(${spacing} * 2);\n height: calc(${spacing} * 2);\n font-size: 0.7rem;\n }\n\n ${StyledCardHeader} {\n ${!hasTasks &&\n css`\n border-block-end: none;\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n `}\n\n ${StyledButton} {\n gap: ${spacing};\n }\n }\n\n && > ${StyledCard} > ${StyledCardContent} {\n padding: 0;\n }\n ${StyledTaskMain} {\n padding: 0 calc(2 * ${spacing}) calc(2 * ${spacing});\n ${StyledCardHeader} {\n padding: calc(2 * ${spacing}) 0 ${spacing};\n margin-block-end: ${spacing};\n border-block-end: none;\n }\n }\n ${StyledEmptyState} {\n padding: calc(2 * ${spacing});\n }\n ${StyledTaskManagerTabs} {\n position: relative;\n }\n ${StyledTaskManagerTab} {\n > ${StyledTaskManagerTabsSummaryItem} > ${StyledVisual} {\n margin: 0 calc(2 * ${spacing});\n }\n }\n `;\n }\n);\n\nStyledTaskManager.defaultProps = defaultThemeProp;\n\nexport const StyledTaskManagerBanner = styled.div(({ theme }) => {\n const color = readableHue(\n theme.base.colors.orange.dark,\n theme.base.palette['secondary-background']\n );\n\n return css`\n padding: calc(1.5 * ${theme.base.spacing});\n border-radius: ${theme.base['border-radius']} ${theme.base['border-radius']} 0 0;\n background-color: ${theme.base.palette['secondary-background']};\n gap: ${theme.base.spacing};\n min-height: calc(7 * ${theme.base.spacing});\n color: ${color};\n font-weight: ${theme.base['font-weight'].bold};\n & + ${StyledTaskManager} {\n margin-block-start: 0;\n }\n `;\n});\n\nStyledTaskManagerBanner.defaultProps = defaultThemeProp;\n\nexport const StyledPopover = styled(Popover)(({ theme }) => {\n return css`\n border-radius: ${theme.base['border-radius']};\n `;\n});\n\nStyledPopover.defaultProps = defaultThemeProp;\n\nexport const StyledAgentScriptIcon = styled(Icon)``;\n\nexport const StyledSymbol = styled.div<{\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}>(\n ({\n theme: {\n base: {\n spacing,\n palette,\n animation: { speed, timing }\n }\n },\n verbatimStatus\n }) => {\n const backgroundColor = verbatimStatus === 'pending' ? palette.urgent : palette.success;\n return css`\n color: ${palette['primary-background']};\n border-radius: 50%;\n border: 0.0625rem solid ${palette['primary-background']};\n inset-block-start: calc(-1 * ${spacing});\n inset-inline-end: calc(-1 * ${spacing});\n position: absolute;\n height: 1.25rem;\n width: 1.25rem;\n background-color: ${backgroundColor};\n transition: background-color ${speed} ${timing.ease};\n user-select: none;\n -webkit-user-select: none;\n `;\n }\n);\n\nStyledSymbol.defaultProps = defaultThemeProp;\n\nexport const StyledIconWrap = styled.div<{\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}>(\n ({\n theme: {\n base: {\n colors,\n animation: { speed, timing }\n }\n },\n verbatimStatus\n }) => {\n const backgroundColor =\n verbatimStatus === 'pending' ? colors.red['extra-light'] : colors.slate.medium;\n const scriptIconColor = tryCatch(() => readableColor(backgroundColor));\n return css`\n height: 2rem;\n width: 2rem;\n border-radius: 50%;\n background-color: ${backgroundColor};\n transition: background-color ${speed} ${timing.ease};\n\n ${StyledAgentScriptIcon} {\n width: 1.5rem;\n height: 1.5rem;\n color: ${scriptIconColor};\n transition: color ${speed} ${timing.ease};\n }\n\n ${verbatimStatus &&\n css`\n position: relative;\n `}\n `;\n }\n);\n\nStyledIconWrap.defaultProps = defaultThemeProp;\n\nexport const StyledCountBadge = styled(Count)<{\n count: number;\n}>(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n position: absolute;\n inset-inline-start: calc(2 * ${spacing});\n inset-block-start: calc(-1 * ${spacing});\n padding: 0 calc(0.5 * ${spacing});\n\n @media (pointer: coarse) {\n inset-inline-start: calc(2.5 * ${spacing});\n inset-block-start: calc(1 * ${spacing});\n }\n `;\n }\n);\n\nStyledCountBadge.defaultProps = defaultThemeProp;\n\nexport const StyledEntityPopover = styled(Popover)(\n ({\n theme: {\n base: { 'content-width': contentWidth }\n }\n }) => {\n return css`\n width: ${contentWidth.sm};\n `;\n }\n);\n\nStyledEntityPopover.defaultProps = defaultThemeProp;\n\nexport const StyledContent = styled.div(({ theme }) => {\n return css`\n max-height: 18rem;\n overflow: auto;\n ${StyledCard} {\n ${StyledCardContent} {\n padding: 0 calc(${theme.components.card.padding} * 2) calc(1.5 * ${theme.base.spacing});\n }\n }\n `;\n});\n\nStyledContent.defaultProps = defaultThemeProp;\n\nexport default StyledTaskManager;\n"]}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import { ReactNode, Ref } from 'react';
|
|
2
2
|
import { BaseProps, IconName, MenuItemProps, NoChildrenProp, StatusProps } from '@pega/cosmos-react-core';
|
|
3
|
-
import {
|
|
3
|
+
import { TaskPickerProps } from './TaskPicker';
|
|
4
4
|
export interface HandleValue {
|
|
5
5
|
nudge: () => Animation | undefined;
|
|
6
6
|
}
|
|
7
7
|
export interface TaskManagerProps extends BaseProps, NoChildrenProp {
|
|
8
8
|
/** List of tasks */
|
|
9
9
|
tasks?: TaskProps[];
|
|
10
|
-
/** Empty text to be shown when no tasks are added */
|
|
11
|
-
emptyText?: string;
|
|
12
10
|
/** Callback when task is launched */
|
|
13
11
|
onTaskLaunch?: (id: TaskProps['id']) => void;
|
|
14
12
|
/** Callback when task is dismissed. Applicable only when task is not launched previously */
|
|
15
13
|
onTaskDismiss?: (id: TaskProps['id']) => void;
|
|
16
14
|
/** Add task utility */
|
|
17
|
-
addTask?: Pick<
|
|
15
|
+
addTask?: Pick<TaskPickerProps, 'items' | 'onAdd' | 'ref'>;
|
|
18
16
|
/** Banner for the task manager */
|
|
19
17
|
banner?: Pick<DialogueProps, 'icon' | 'content' | 'verbatimStatus'>;
|
|
20
18
|
/** Shows wrap up action when passed */
|
|
@@ -30,12 +28,14 @@ export interface TaskManagerProps extends BaseProps, NoChildrenProp {
|
|
|
30
28
|
};
|
|
31
29
|
/** Selected task content */
|
|
32
30
|
main?: ReactNode;
|
|
33
|
-
ref?: Ref<HTMLDivElement>;
|
|
34
31
|
handle?: Ref<HandleValue>;
|
|
35
32
|
/** Conversation icon on TaskManager Header */
|
|
36
33
|
conversationAI?: Pick<ConversationAIProps, 'content' | 'entityCount'>;
|
|
34
|
+
ref?: Ref<HTMLDivElement>;
|
|
37
35
|
}
|
|
38
36
|
export interface TaskManagerTabsProps {
|
|
37
|
+
wrapUpTabId: string;
|
|
38
|
+
wrapUpTabPanelId: string;
|
|
39
39
|
ref?: Ref<HTMLDivElement>;
|
|
40
40
|
}
|
|
41
41
|
export interface TaskManagerTabProps {
|
|
@@ -58,8 +58,8 @@ export interface DialogueProps extends BaseProps {
|
|
|
58
58
|
content: string;
|
|
59
59
|
/** Type of banner icon */
|
|
60
60
|
verbatimStatus?: 'pending' | 'spoken';
|
|
61
|
-
ref?: Ref<HTMLDivElement>;
|
|
62
61
|
handle?: Ref<HandleValue>;
|
|
62
|
+
ref?: Ref<HTMLDivElement>;
|
|
63
63
|
}
|
|
64
64
|
export interface ConversationAIProps extends BaseProps {
|
|
65
65
|
/** Content */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskManager.types.d.ts","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManager.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EACL,SAAS,EACT,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TaskManager.types.d.ts","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManager.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskManager.types.js","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManager.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactNode, Ref } from 'react';\n\nimport {\n BaseProps,\n IconName,\n MenuItemProps,\n NoChildrenProp,\n StatusProps\n} from '@pega/cosmos-react-core';\n\nimport {
|
|
1
|
+
{"version":3,"file":"TaskManager.types.js","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManager.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactNode, Ref } from 'react';\n\nimport {\n BaseProps,\n IconName,\n MenuItemProps,\n NoChildrenProp,\n StatusProps\n} from '@pega/cosmos-react-core';\n\nimport { TaskPickerProps } from './TaskPicker';\n\nexport interface HandleValue {\n nudge: () => Animation | undefined;\n}\n\nexport interface TaskManagerProps extends BaseProps, NoChildrenProp {\n /** List of tasks */\n tasks?: TaskProps[];\n /** Callback when task is launched */\n onTaskLaunch?: (id: TaskProps['id']) => void;\n /** Callback when task is dismissed. Applicable only when task is not launched previously */\n onTaskDismiss?: (id: TaskProps['id']) => void;\n /** Add task utility */\n addTask?: Pick<TaskPickerProps, 'items' | 'onAdd' | 'ref'>;\n /** Banner for the task manager */\n banner?: Pick<DialogueProps, 'icon' | 'content' | 'verbatimStatus'>;\n /** Shows wrap up action when passed */\n wrapUp?: {\n /** Determines if wrap up button should be enabled */\n disable: boolean;\n /** Callback when wrap up is performed */\n onClick: () => void;\n /** Determines if wrap up is active */\n active?: boolean;\n /** Determines if wrap up tab should be shown or not */\n showTab?: boolean;\n };\n /** Selected task content */\n main?: ReactNode;\n handle?: Ref<HandleValue>;\n /** Conversation icon on TaskManager Header */\n conversationAI?: Pick<ConversationAIProps, 'content' | 'entityCount'>;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface TaskManagerTabsProps {\n wrapUpTabId: string;\n wrapUpTabPanelId: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface TaskManagerTabProps {\n active?: boolean;\n variant?: string;\n}\nexport interface TaskViewProps extends BaseProps {\n /** Task header */\n header: ReactNode;\n /** Task specific actions */\n actions?: ReactNode;\n /** Task form content */\n children: ReactNode;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface DialogueProps extends BaseProps {\n /** Icon for the banner */\n icon: IconName;\n /** Banner content */\n content: string;\n /** Type of banner icon */\n verbatimStatus?: 'pending' | 'spoken';\n handle?: Ref<HandleValue>;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface ConversationAIProps extends BaseProps {\n /** Content */\n content: ReactNode;\n /** Number of entities captured */\n entityCount: number;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface TaskManagerContextProps\n extends Pick<TaskManagerProps, 'tasks' | 'addTask' | 'onTaskLaunch' | 'wrapUp'> {}\n\nexport interface TaskProps {\n /** Unique id for tasks list */\n id: string;\n /** Name of the task */\n name: string;\n /** Meta info of the task ex: Queued task */\n meta?: string;\n /** Secondary information to show with the task name. Eg: CaseId. */\n secondary?: MenuItemProps['secondary'];\n /** Name of the icon (to be selected from default Pega icon set) */\n icon: string;\n /** Determines to show the task in tab. */\n hideFromTab?: boolean;\n /** Determines the active task */\n active?: boolean;\n /** Determines if a task is resolved */\n isResolved?: boolean;\n /** Represents the current status of task(like resolved-completed, InProgress etc) */\n status?: {\n /** Status text */\n text: string;\n /** Status variant */\n variant: StatusProps['variant'];\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskManagerTabs.d.ts","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManagerTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAYlB,MAAM,OAAO,CAAC;AAEf,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskManagerTabs.d.ts","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManagerTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAYlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAa,YAAY,EAA4B,MAAM,yBAAyB,CAAC;AAW5F,OAAO,EAAE,oBAAoB,EAAa,MAAM,qBAAqB,CAAC;AAEtE,QAAA,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,GAAG,YAAY,CA2P3E,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { createElement as _createElement } from "react";
|
|
3
3
|
import { forwardRef, useContext, createRef, useMemo, useRef, useEffect, useState, useLayoutEffect } from 'react';
|
|
4
|
-
import { Flex } from '@pega/cosmos-react-core';
|
|
4
|
+
import { cap, Flex } from '@pega/cosmos-react-core';
|
|
5
5
|
import { useDirection, useI18n } from '@pega/cosmos-react-core/lib/hooks';
|
|
6
6
|
import { StyledTaskManagerTabs, StyleTaskName, StyledTasksTabList, StyledTaskManagerTab, StyledOverflowTabMenu } from './TaskManager.styles';
|
|
7
7
|
import TaskManagerContext from './TaskManager.context';
|
|
8
|
-
const TaskManagerTabs = forwardRef((
|
|
8
|
+
const TaskManagerTabs = forwardRef(({ wrapUpTabId, wrapUpTabPanelId, ...restProps }, ref) => {
|
|
9
9
|
const { wrapUp, tasks = [], onTaskLaunch } = useContext(TaskManagerContext);
|
|
10
10
|
const [tabs, setTabs] = useState(tasks);
|
|
11
11
|
const [isOverflowing, setIsOverflowing] = useState(false);
|
|
@@ -13,7 +13,7 @@ const TaskManagerTabs = forwardRef((props, ref) => {
|
|
|
13
13
|
const tabRefs = tasks.map(() => createRef());
|
|
14
14
|
const wrapUpRef = useRef(null);
|
|
15
15
|
const tabListRef = useRef(null);
|
|
16
|
-
const { rtl } = useDirection();
|
|
16
|
+
const { rtl, end: endDirection, start: startDirection } = useDirection();
|
|
17
17
|
const t = useI18n();
|
|
18
18
|
const tasksMenu = useMemo(() => {
|
|
19
19
|
const openTasks = tasks.filter(task => !task.isResolved);
|
|
@@ -53,13 +53,13 @@ const TaskManagerTabs = forwardRef((props, ref) => {
|
|
|
53
53
|
});
|
|
54
54
|
const taskCategories = [];
|
|
55
55
|
if (openTasksMenuItems.length > 0) {
|
|
56
|
-
taskCategories.push({ id: 'open_tasks', label: t('
|
|
56
|
+
taskCategories.push({ id: 'open_tasks', label: t('open_cases'), items: [] });
|
|
57
57
|
taskCategories
|
|
58
58
|
.find(category => category.id === 'open_tasks')
|
|
59
59
|
?.items?.push(...openTasksMenuItems);
|
|
60
60
|
}
|
|
61
61
|
if (resolvedTasksMenuItems.length > 0) {
|
|
62
|
-
taskCategories.push({ id: 'resolved_tasks', label: t('
|
|
62
|
+
taskCategories.push({ id: 'resolved_tasks', label: t('resolved_cases'), items: [] });
|
|
63
63
|
taskCategories
|
|
64
64
|
.find(category => category.id === 'resolved_tasks')
|
|
65
65
|
?.items?.push(...resolvedTasksMenuItems);
|
|
@@ -106,37 +106,37 @@ const TaskManagerTabs = forwardRef((props, ref) => {
|
|
|
106
106
|
}, [tasks, wrapUp]);
|
|
107
107
|
const changeTabFocus = (event, index) => {
|
|
108
108
|
let activeIndex = index;
|
|
109
|
-
if (
|
|
109
|
+
if (tabs.length) {
|
|
110
110
|
const { key } = event;
|
|
111
|
-
if (key ===
|
|
111
|
+
if (key === `Arrow${cap(endDirection)}`) {
|
|
112
112
|
event.preventDefault();
|
|
113
113
|
let nextIndex;
|
|
114
114
|
if (wrapUpRef?.current === event.currentTarget) {
|
|
115
115
|
nextIndex = 0;
|
|
116
116
|
}
|
|
117
117
|
else {
|
|
118
|
-
if (index ===
|
|
118
|
+
if (index === tabs.length - 1 && wrapUp?.showTab) {
|
|
119
119
|
wrapUpRef?.current?.focus();
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
|
-
nextIndex = index + 1 <
|
|
122
|
+
nextIndex = index + 1 < tabs.length ? index + 1 : 0;
|
|
123
123
|
}
|
|
124
124
|
activeIndex = nextIndex;
|
|
125
125
|
const nextTab = tabRefs[nextIndex]?.current;
|
|
126
126
|
nextTab?.focus();
|
|
127
127
|
}
|
|
128
|
-
else if (key ===
|
|
128
|
+
else if (key === `Arrow${cap(startDirection)}`) {
|
|
129
129
|
event.preventDefault();
|
|
130
130
|
let prevIndex;
|
|
131
131
|
if (wrapUpRef?.current === event.currentTarget) {
|
|
132
|
-
prevIndex =
|
|
132
|
+
prevIndex = tabs.length - 1;
|
|
133
133
|
}
|
|
134
134
|
else {
|
|
135
135
|
if (index === 0 && wrapUp?.showTab) {
|
|
136
136
|
wrapUpRef?.current?.focus();
|
|
137
137
|
return;
|
|
138
138
|
}
|
|
139
|
-
prevIndex = index === 0 ?
|
|
139
|
+
prevIndex = index === 0 ? tabs.length - 1 : index - 1;
|
|
140
140
|
}
|
|
141
141
|
const prevTab = tabRefs[prevIndex]?.current;
|
|
142
142
|
activeIndex = prevIndex;
|
|
@@ -148,13 +148,12 @@ const TaskManagerTabs = forwardRef((props, ref) => {
|
|
|
148
148
|
wrapUp?.onClick();
|
|
149
149
|
return;
|
|
150
150
|
}
|
|
151
|
-
onTaskLaunch?.(
|
|
151
|
+
onTaskLaunch?.(tabs[activeIndex].id);
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
};
|
|
155
|
-
return (_jsx(Flex, { container:
|
|
156
|
-
|
|
157
|
-
return (_createElement(StyledTaskManagerTab, { ...restProps, ref: tabRefs[i], key: id, onClick: () => onTaskLaunch?.(id), "aria-selected": active, role: 'tab', tabIndex: active ? 0 : -1, onKeyUp: (e) => {
|
|
155
|
+
return (_jsx(Flex, { container: { gap: 1 }, as: StyledTaskManagerTabs, ref: ref, children: (tasks.length > 0 || wrapUp?.showTab) && (_jsxs(_Fragment, { children: [_jsxs(StyledTasksTabList, { role: 'tablist', ref: tabListRef, ...restProps, children: [tabs.map(({ id, active = false, icon, meta, name, ...tabRestProps }, i) => {
|
|
156
|
+
return (_createElement(StyledTaskManagerTab, { ...tabRestProps, ref: tabRefs[i], key: id, onClick: () => onTaskLaunch?.(id), "aria-selected": active, "aria-controls": `tab-panel-${id}`, id: `tab-${id}`, role: 'tab', tabIndex: active ? 0 : -1, onKeyUp: (e) => {
|
|
158
157
|
changeTabFocus(e, i);
|
|
159
158
|
}, onKeyDown: (e) => {
|
|
160
159
|
const { key } = e;
|
|
@@ -167,8 +166,8 @@ const TaskManagerTabs = forwardRef((props, ref) => {
|
|
|
167
166
|
e.preventDefault();
|
|
168
167
|
}
|
|
169
168
|
}, active: active },
|
|
170
|
-
_jsx(Flex, { container: { justify: 'start', gap: 1, alignItems: 'center' }, children: _jsx(StyleTaskName, { children:
|
|
171
|
-
}), wrapUp?.showTab && (_jsx(StyledTaskManagerTab, { onClick: wrapUp.onClick, variant: 'wrap-up', "aria-selected": wrapUp.active, role: 'tab', active: wrapUp.active, tabIndex: wrapUp.active ? 0 : -1, onKeyUp: (e) => {
|
|
169
|
+
_jsx(Flex, { container: { justify: 'start', gap: 1, alignItems: 'center' }, children: _jsx(StyleTaskName, { children: name }) })));
|
|
170
|
+
}), wrapUp?.showTab && (_jsx(StyledTaskManagerTab, { onClick: wrapUp.onClick, variant: 'wrap-up', "aria-selected": wrapUp.active, "aria-controls": wrapUpTabPanelId, id: wrapUpTabId, role: 'tab', active: wrapUp.active, tabIndex: wrapUp.active ? 0 : -1, onKeyUp: (e) => {
|
|
172
171
|
changeTabFocus(e);
|
|
173
172
|
}, onKeyDown: (e) => {
|
|
174
173
|
const { key } = e;
|
|
@@ -181,7 +180,7 @@ const TaskManagerTabs = forwardRef((props, ref) => {
|
|
|
181
180
|
}, ref: wrapUpRef, children: _jsx("span", { children: t('task_manager_wrap_up') }) }))] }), _jsx(StyledOverflowTabMenu, { menu: {
|
|
182
181
|
items: tasksMenu,
|
|
183
182
|
mode: 'single-select'
|
|
184
|
-
}, icon: 'caret-down', iconOnly: true, variant: 'simple', text: t('
|
|
183
|
+
}, icon: 'caret-down', iconOnly: true, variant: 'simple', text: t('case_manager_overflow_menu') })] })) }));
|
|
185
184
|
});
|
|
186
185
|
export default TaskManagerTabs;
|
|
187
186
|
//# sourceMappingURL=TaskManagerTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskManagerTabs.js","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManagerTabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n FunctionComponent,\n forwardRef,\n useContext,\n createRef,\n RefObject,\n KeyboardEvent,\n useMemo,\n PropsWithoutRef,\n useRef,\n useEffect,\n useState,\n useLayoutEffect\n} from 'react';\n\nimport { Flex, ForwardProps, MenuItemProps, MenuProps } from '@pega/cosmos-react-core';\nimport { useDirection, useI18n } from '@pega/cosmos-react-core/lib/hooks';\n\nimport {\n StyledTaskManagerTabs,\n StyleTaskName,\n StyledTasksTabList,\n StyledTaskManagerTab,\n StyledOverflowTabMenu\n} from './TaskManager.styles';\nimport TaskManagerContext from './TaskManager.context';\nimport { TaskManagerTabsProps, TaskProps } from './TaskManager.types';\n\nconst TaskManagerTabs: FunctionComponent<TaskManagerTabsProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<TaskManagerTabsProps>, ref: TaskManagerTabsProps['ref']) => {\n const { wrapUp, tasks = [], onTaskLaunch } = useContext(TaskManagerContext);\n\n const [tabs, setTabs] = useState<TaskProps[]>(tasks);\n const [isOverflowing, setIsOverflowing] = useState(false);\n\n // Used to keep a reference for every tab in order to focus them with key presses\n const tabRefs: RefObject<HTMLLIElement>[] = tasks.map(() => createRef<HTMLLIElement>());\n const wrapUpRef = useRef<HTMLLIElement>(null);\n const tabListRef = useRef<HTMLUListElement>(null);\n\n const { rtl } = useDirection();\n const t = useI18n();\n\n const tasksMenu = useMemo(() => {\n const openTasks = tasks.filter(task => !task.isResolved);\n const openTasksMenuItems: MenuItemProps[] = openTasks.map(\n ({ name, secondary, id, active }) => {\n return {\n primary: name,\n secondary,\n id,\n selected: !!active,\n onClick: idx => {\n onTaskLaunch?.(idx);\n }\n };\n }\n );\n if (wrapUp?.showTab) {\n openTasksMenuItems.push({\n primary: t('task_manager_wrap_up'),\n secondary: [],\n id: '',\n selected: !!wrapUp.active,\n onClick: () => {\n wrapUp?.onClick();\n }\n });\n }\n\n const resolvedTasks = tasks.filter(task => task.isResolved);\n const resolvedTasksMenuItems: MenuItemProps[] = resolvedTasks.map(\n ({ id, name, secondary, active }) => {\n return {\n primary: name,\n secondary,\n id,\n selected: !!active,\n onClick: () => {\n onTaskLaunch?.(id);\n }\n };\n }\n );\n const taskCategories: MenuProps['items'] = [];\n if (openTasksMenuItems.length > 0) {\n taskCategories.push({ id: 'open_tasks', label: t('open_tasks'), items: [] });\n taskCategories\n .find(category => category.id === 'open_tasks')\n ?.items?.push(...openTasksMenuItems);\n }\n if (resolvedTasksMenuItems.length > 0) {\n taskCategories.push({ id: 'resolved_tasks', label: t('resolved_tasks'), items: [] });\n taskCategories\n .find(category => category.id === 'resolved_tasks')\n ?.items?.push(...resolvedTasksMenuItems);\n }\n return taskCategories;\n }, [tasks]);\n\n const checkAndUpdateIsOverflowing = () => {\n if (tabListRef.current) {\n const value = tabListRef.current.scrollWidth > tabListRef.current.clientWidth;\n if (value !== isOverflowing) {\n setIsOverflowing(value);\n return value;\n }\n }\n return isOverflowing;\n };\n\n useEffect(() => {\n setTabs(tasks.filter(task => !task.hideFromTab));\n }, [tasks]);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n checkAndUpdateIsOverflowing();\n });\n if (tabListRef?.current) resizeObserver.observe(tabListRef?.current as Element);\n return () => {\n resizeObserver.disconnect();\n };\n }, [checkAndUpdateIsOverflowing]);\n\n useLayoutEffect(() => {\n if (!checkAndUpdateIsOverflowing()) return;\n const activeTabRef = [...tabRefs, wrapUpRef].find(\n tab => tab?.current?.getAttribute('aria-selected') === 'true'\n );\n\n if (activeTabRef && activeTabRef.current && tabListRef.current) {\n const activeTabRect = activeTabRef.current.getBoundingClientRect();\n const tabListWidth = tabListRef.current.clientWidth;\n\n // Check if it is not in view\n if (activeTabRect.left <= 0 || activeTabRect.right >= tabListWidth) {\n tabListRef.current.scrollLeft = rtl\n ? -(tabListWidth - (activeTabRef.current.offsetLeft + activeTabRect.width))\n : activeTabRef.current.offsetLeft;\n }\n }\n }, [tasks, wrapUp]);\n\n const changeTabFocus = (event: KeyboardEvent, index?: number): void => {\n let activeIndex = index;\n if (tasks.length) {\n const { key } = event;\n if (key === 'ArrowRight' || key === 'ArrowDown') {\n event.preventDefault();\n let nextIndex;\n if (wrapUpRef?.current === event.currentTarget) {\n nextIndex = 0;\n } else {\n if (index === tasks.length - 1 && wrapUp?.showTab) {\n wrapUpRef?.current?.focus();\n return;\n }\n nextIndex = index! + 1 < tasks.length ? index! + 1 : 0;\n }\n activeIndex = nextIndex;\n const nextTab = tabRefs[nextIndex]?.current;\n nextTab?.focus();\n } else if (key === 'ArrowLeft' || key === 'ArrowUp') {\n event.preventDefault();\n let prevIndex;\n if (wrapUpRef?.current === event.currentTarget) {\n prevIndex = tasks.length - 1;\n } else {\n if (index === 0 && wrapUp?.showTab) {\n wrapUpRef?.current?.focus();\n return;\n }\n prevIndex = index === 0 ? tasks.length - 1 : index! - 1;\n }\n const prevTab = tabRefs[prevIndex]?.current;\n activeIndex = prevIndex;\n prevTab?.focus();\n } else if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n if (wrapUpRef?.current === event.currentTarget) {\n wrapUp?.onClick();\n return;\n }\n onTaskLaunch?.(tasks[activeIndex!].id);\n }\n }\n };\n\n return (\n <Flex container as={StyledTaskManagerTabs} ref={ref}>\n {(tasks.length > 0 || wrapUp?.showTab) && (\n <>\n <StyledTasksTabList role='tablist' ref={tabListRef}>\n {tabs.map((task: TaskProps, i) => {\n const { id, active = false, icon, meta, ...restProps } = task;\n return (\n <StyledTaskManagerTab\n {...restProps}\n ref={tabRefs[i]}\n key={id}\n onClick={() => onTaskLaunch?.(id)}\n aria-selected={active}\n role='tab'\n tabIndex={active ? 0 : -1}\n onKeyUp={(e: KeyboardEvent) => {\n changeTabFocus(e, i);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n const { key } = e;\n if (\n key === 'ArrowRight' ||\n key === 'ArrowDown' ||\n key === 'ArrowLeft' ||\n key === 'ArrowUp' ||\n key === 'Enter' ||\n key === ' '\n ) {\n e.preventDefault();\n }\n }}\n active={active}\n >\n <Flex container={{ justify: 'start', gap: 1, alignItems: 'center' }}>\n <StyleTaskName>{task.name}</StyleTaskName>\n </Flex>\n </StyledTaskManagerTab>\n );\n })}\n {wrapUp?.showTab && (\n <StyledTaskManagerTab\n onClick={wrapUp.onClick}\n variant='wrap-up'\n aria-selected={wrapUp.active}\n role='tab'\n active={wrapUp.active}\n tabIndex={wrapUp.active ? 0 : -1}\n onKeyUp={(e: KeyboardEvent) => {\n changeTabFocus(e);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n const { key } = e;\n if (\n key === 'ArrowRight' ||\n key === 'ArrowDown' ||\n key === 'ArrowLeft' ||\n key === 'ArrowUp'\n ) {\n e.preventDefault();\n }\n }}\n ref={wrapUpRef}\n >\n <span>{t('task_manager_wrap_up')}</span>\n </StyledTaskManagerTab>\n )}\n </StyledTasksTabList>\n <StyledOverflowTabMenu\n menu={{\n items: tasksMenu,\n mode: 'single-select'\n }}\n icon='caret-down'\n iconOnly\n variant='simple'\n text={t('task_manager_overflow_menu')}\n />\n </>\n )}\n </Flex>\n );\n }\n);\n\nexport default TaskManagerTabs;\n"]}
|
|
1
|
+
{"version":3,"file":"TaskManagerTabs.js","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskManagerTabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n FunctionComponent,\n forwardRef,\n useContext,\n createRef,\n RefObject,\n KeyboardEvent,\n useMemo,\n PropsWithoutRef,\n useRef,\n useEffect,\n useState,\n useLayoutEffect\n} from 'react';\n\nimport { cap, Flex, ForwardProps, MenuItemProps, MenuProps } from '@pega/cosmos-react-core';\nimport { useDirection, useI18n } from '@pega/cosmos-react-core/lib/hooks';\n\nimport {\n StyledTaskManagerTabs,\n StyleTaskName,\n StyledTasksTabList,\n StyledTaskManagerTab,\n StyledOverflowTabMenu\n} from './TaskManager.styles';\nimport TaskManagerContext from './TaskManager.context';\nimport { TaskManagerTabsProps, TaskProps } from './TaskManager.types';\n\nconst TaskManagerTabs: FunctionComponent<TaskManagerTabsProps & ForwardProps> = forwardRef(\n (\n { wrapUpTabId, wrapUpTabPanelId, ...restProps }: PropsWithoutRef<TaskManagerTabsProps>,\n ref: TaskManagerTabsProps['ref']\n ) => {\n const { wrapUp, tasks = [], onTaskLaunch } = useContext(TaskManagerContext);\n\n const [tabs, setTabs] = useState<TaskProps[]>(tasks);\n const [isOverflowing, setIsOverflowing] = useState(false);\n\n // Used to keep a reference for every tab in order to focus them with key presses\n const tabRefs: RefObject<HTMLLIElement>[] = tasks.map(() => createRef<HTMLLIElement>());\n const wrapUpRef = useRef<HTMLLIElement>(null);\n const tabListRef = useRef<HTMLUListElement>(null);\n\n const { rtl, end: endDirection, start: startDirection } = useDirection();\n const t = useI18n();\n\n const tasksMenu = useMemo(() => {\n const openTasks = tasks.filter(task => !task.isResolved);\n const openTasksMenuItems: MenuItemProps[] = openTasks.map(\n ({ name, secondary, id, active }) => {\n return {\n primary: name,\n secondary,\n id,\n selected: !!active,\n onClick: idx => {\n onTaskLaunch?.(idx);\n }\n };\n }\n );\n if (wrapUp?.showTab) {\n openTasksMenuItems.push({\n primary: t('task_manager_wrap_up'),\n secondary: [],\n id: '',\n selected: !!wrapUp.active,\n onClick: () => {\n wrapUp?.onClick();\n }\n });\n }\n\n const resolvedTasks = tasks.filter(task => task.isResolved);\n const resolvedTasksMenuItems: MenuItemProps[] = resolvedTasks.map(\n ({ id, name, secondary, active }) => {\n return {\n primary: name,\n secondary,\n id,\n selected: !!active,\n onClick: () => {\n onTaskLaunch?.(id);\n }\n };\n }\n );\n const taskCategories: MenuProps['items'] = [];\n if (openTasksMenuItems.length > 0) {\n taskCategories.push({ id: 'open_tasks', label: t('open_cases'), items: [] });\n taskCategories\n .find(category => category.id === 'open_tasks')\n ?.items?.push(...openTasksMenuItems);\n }\n if (resolvedTasksMenuItems.length > 0) {\n taskCategories.push({ id: 'resolved_tasks', label: t('resolved_cases'), items: [] });\n taskCategories\n .find(category => category.id === 'resolved_tasks')\n ?.items?.push(...resolvedTasksMenuItems);\n }\n return taskCategories;\n }, [tasks]);\n\n const checkAndUpdateIsOverflowing = () => {\n if (tabListRef.current) {\n const value = tabListRef.current.scrollWidth > tabListRef.current.clientWidth;\n if (value !== isOverflowing) {\n setIsOverflowing(value);\n return value;\n }\n }\n return isOverflowing;\n };\n\n useEffect(() => {\n setTabs(tasks.filter(task => !task.hideFromTab));\n }, [tasks]);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n checkAndUpdateIsOverflowing();\n });\n if (tabListRef?.current) resizeObserver.observe(tabListRef?.current as Element);\n return () => {\n resizeObserver.disconnect();\n };\n }, [checkAndUpdateIsOverflowing]);\n\n useLayoutEffect(() => {\n if (!checkAndUpdateIsOverflowing()) return;\n const activeTabRef = [...tabRefs, wrapUpRef].find(\n tab => tab?.current?.getAttribute('aria-selected') === 'true'\n );\n\n if (activeTabRef && activeTabRef.current && tabListRef.current) {\n const activeTabRect = activeTabRef.current.getBoundingClientRect();\n const tabListWidth = tabListRef.current.clientWidth;\n\n // Check if it is not in view\n if (activeTabRect.left <= 0 || activeTabRect.right >= tabListWidth) {\n tabListRef.current.scrollLeft = rtl\n ? -(tabListWidth - (activeTabRef.current.offsetLeft + activeTabRect.width))\n : activeTabRef.current.offsetLeft;\n }\n }\n }, [tasks, wrapUp]);\n\n const changeTabFocus = (event: KeyboardEvent, index?: number): void => {\n let activeIndex = index;\n if (tabs.length) {\n const { key } = event;\n\n if (key === `Arrow${cap(endDirection)}`) {\n event.preventDefault();\n let nextIndex;\n if (wrapUpRef?.current === event.currentTarget) {\n nextIndex = 0;\n } else {\n if (index === tabs.length - 1 && wrapUp?.showTab) {\n wrapUpRef?.current?.focus();\n return;\n }\n nextIndex = index! + 1 < tabs.length ? index! + 1 : 0;\n }\n activeIndex = nextIndex;\n const nextTab = tabRefs[nextIndex]?.current;\n nextTab?.focus();\n } else if (key === `Arrow${cap(startDirection)}`) {\n event.preventDefault();\n let prevIndex;\n if (wrapUpRef?.current === event.currentTarget) {\n prevIndex = tabs.length - 1;\n } else {\n if (index === 0 && wrapUp?.showTab) {\n wrapUpRef?.current?.focus();\n return;\n }\n prevIndex = index === 0 ? tabs.length - 1 : index! - 1;\n }\n const prevTab = tabRefs[prevIndex]?.current;\n activeIndex = prevIndex;\n prevTab?.focus();\n } else if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n if (wrapUpRef?.current === event.currentTarget) {\n wrapUp?.onClick();\n return;\n }\n onTaskLaunch?.(tabs[activeIndex!].id);\n }\n }\n };\n\n return (\n <Flex container={{ gap: 1 }} as={StyledTaskManagerTabs} ref={ref}>\n {(tasks.length > 0 || wrapUp?.showTab) && (\n <>\n <StyledTasksTabList role='tablist' ref={tabListRef} {...restProps}>\n {tabs.map(({ id, active = false, icon, meta, name, ...tabRestProps }, i) => {\n return (\n <StyledTaskManagerTab\n {...tabRestProps}\n ref={tabRefs[i]}\n key={id}\n onClick={() => onTaskLaunch?.(id)}\n aria-selected={active}\n aria-controls={`tab-panel-${id}`}\n id={`tab-${id}`}\n role='tab'\n tabIndex={active ? 0 : -1}\n onKeyUp={(e: KeyboardEvent) => {\n changeTabFocus(e, i);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n const { key } = e;\n if (\n key === 'ArrowRight' ||\n key === 'ArrowDown' ||\n key === 'ArrowLeft' ||\n key === 'ArrowUp' ||\n key === 'Enter' ||\n key === ' '\n ) {\n e.preventDefault();\n }\n }}\n active={active}\n >\n <Flex container={{ justify: 'start', gap: 1, alignItems: 'center' }}>\n <StyleTaskName>{name}</StyleTaskName>\n </Flex>\n </StyledTaskManagerTab>\n );\n })}\n {wrapUp?.showTab && (\n <StyledTaskManagerTab\n onClick={wrapUp.onClick}\n variant='wrap-up'\n aria-selected={wrapUp.active}\n aria-controls={wrapUpTabPanelId}\n id={wrapUpTabId}\n role='tab'\n active={wrapUp.active}\n tabIndex={wrapUp.active ? 0 : -1}\n onKeyUp={(e: KeyboardEvent) => {\n changeTabFocus(e);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n const { key } = e;\n if (\n key === 'ArrowRight' ||\n key === 'ArrowDown' ||\n key === 'ArrowLeft' ||\n key === 'ArrowUp'\n ) {\n e.preventDefault();\n }\n }}\n ref={wrapUpRef}\n >\n <span>{t('task_manager_wrap_up')}</span>\n </StyledTaskManagerTab>\n )}\n </StyledTasksTabList>\n <StyledOverflowTabMenu\n menu={{\n items: tasksMenu,\n mode: 'single-select'\n }}\n icon='caret-down'\n iconOnly\n variant='simple'\n text={t('case_manager_overflow_menu')}\n />\n </>\n )}\n </Flex>\n );\n }\n);\n\nexport default TaskManagerTabs;\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FunctionComponent, Ref } from 'react';
|
|
2
|
+
import { ForwardProps, MenuItemProps, BaseProps, FormDialogProps } from '@pega/cosmos-react-core';
|
|
3
|
+
import Dialog from '@pega/cosmos-react-core/lib/components/Dialog/Dialog';
|
|
4
|
+
import { PickerProps } from '../Picker/Picker.types';
|
|
5
|
+
export interface TaskPickerProps extends BaseProps, Pick<PickerProps, 'items'> {
|
|
6
|
+
/** Callback when add button is clicked */
|
|
7
|
+
onAdd: (selections: MenuItemProps[]) => void;
|
|
8
|
+
/** Callback when cancel button is clicked */
|
|
9
|
+
onCancel: () => void;
|
|
10
|
+
/** Target for the modal */
|
|
11
|
+
target: FormDialogProps['target'];
|
|
12
|
+
/** Picker reference . */
|
|
13
|
+
ref?: Ref<HTMLDivElement>;
|
|
14
|
+
}
|
|
15
|
+
export declare const StyledSingleTaskDialog: typeof Dialog;
|
|
16
|
+
export declare const StyledMultiTaskDialog: import("styled-components").StyledComponent<import("react").FC<FormDialogProps & Pick<import("react").HTMLAttributes<HTMLDivElement>, "hidden" | "color" | "style" | "translate" | "prefix" | "slot" | "title" | "children" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture">>, import("styled-components").DefaultTheme, {}, never>;
|
|
17
|
+
declare const TaskPicker: FunctionComponent<TaskPickerProps & ForwardProps>;
|
|
18
|
+
export default TaskPicker;
|
|
19
|
+
//# sourceMappingURL=TaskPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskPicker.d.ts","sourceRoot":"","sources":["../../../src/components/TaskManager/TaskPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,GAAG,EAKJ,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,YAAY,EAYZ,aAAa,EAGb,SAAS,EACT,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,MAAM,MAAM,sDAAsD,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAqB,MAAM,wBAAwB,CAAC;AAGxE,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC5E,0CAA0C;IAC1C,KAAK,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC7C,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,2BAA2B;IAC3B,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,yBAAyB;IACzB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,sBAAsB,EAAE,OAAO,MAM1C,CAAC;AAEH,eAAO,MAAM,qBAAqB,+pJAyBjC,CAAC;AAIF,QAAA,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,GAAG,YAAY,CAmHjE,CAAC;AAEF,eAAe,UAAU,CAAC"}
|