@pega/cosmos-react-demos 4.0.0-dev.14.1 → 4.0.0-dev.15.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/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +27 -0
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/jsx/core/ComboBox/ComboBox.stories.d.ts +2 -2
- package/jsx/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
- package/jsx/core/ComboBox/ComboBox.stories.jsx +17 -9
- package/jsx/core/ComboBox/ComboBox.stories.jsx.map +1 -1
- package/jsx/core/TextArea/TextArea.stories.jsx +1 -1
- package/jsx/core/TextArea/TextArea.stories.jsx.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx.map +1 -1
- package/jsx/cs/Picker/Picker.stories.d.ts +11 -0
- package/jsx/cs/Picker/Picker.stories.d.ts.map +1 -0
- package/jsx/cs/Picker/Picker.stories.jsx +64 -0
- package/jsx/cs/Picker/Picker.stories.jsx.map +1 -0
- package/jsx/social/Feed/Feed.mocks.d.ts +1 -0
- package/jsx/social/Feed/Feed.mocks.d.ts.map +1 -1
- package/jsx/social/Feed/Feed.mocks.jsx +2 -0
- package/jsx/social/Feed/Feed.mocks.jsx.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.jsx +2 -1
- package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +27 -0
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/lib/core/ComboBox/ComboBox.stories.d.ts +2 -2
- package/lib/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
- package/lib/core/ComboBox/ComboBox.stories.js +17 -9
- package/lib/core/ComboBox/ComboBox.stories.js.map +1 -1
- package/lib/core/TextArea/TextArea.stories.js +1 -1
- package/lib/core/TextArea/TextArea.stories.js.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.js +1 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.js.map +1 -1
- package/lib/cs/Picker/Picker.stories.d.ts +11 -0
- package/lib/cs/Picker/Picker.stories.d.ts.map +1 -0
- package/lib/cs/Picker/Picker.stories.js +56 -0
- package/lib/cs/Picker/Picker.stories.js.map +1 -0
- package/lib/social/Feed/Feed.mocks.d.ts +1 -0
- package/lib/social/Feed/Feed.mocks.d.ts.map +1 -1
- package/lib/social/Feed/Feed.mocks.js +2 -0
- package/lib/social/Feed/Feed.mocks.js.map +1 -1
- package/lib/social/Feed/FeedPost.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedPost.stories.js +2 -1
- package/lib/social/Feed/FeedPost.stories.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,CA0LvD,CAAC"}
|
|
@@ -70,6 +70,19 @@ export const demoFilters = [
|
|
|
70
70
|
value: 0
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: 'score4',
|
|
76
|
+
value: {
|
|
77
|
+
lhs: {
|
|
78
|
+
field: 'Score'
|
|
79
|
+
},
|
|
80
|
+
comparator: 'BTW',
|
|
81
|
+
rhs: {
|
|
82
|
+
start: 0,
|
|
83
|
+
end: 10
|
|
84
|
+
}
|
|
85
|
+
}
|
|
73
86
|
}
|
|
74
87
|
]
|
|
75
88
|
},
|
|
@@ -106,6 +119,20 @@ export const demoFilters = [
|
|
|
106
119
|
}
|
|
107
120
|
},
|
|
108
121
|
label: 'After 2022'
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: 'hired3',
|
|
125
|
+
value: {
|
|
126
|
+
lhs: {
|
|
127
|
+
field: 'Hired'
|
|
128
|
+
},
|
|
129
|
+
comparator: 'BTW',
|
|
130
|
+
rhs: {
|
|
131
|
+
start: '2023-01-03',
|
|
132
|
+
end: '2023-31-03'
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
label: 'In March 2023'
|
|
109
136
|
}
|
|
110
137
|
]
|
|
111
138
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromotedFilters.mocks.js","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { Condition, PromotedFiltersProps } from '@pega/cosmos-react-condition-builder';\n\nexport const demoCondition: Condition = {\n AND: [\n {\n condition: {\n lhs: {\n field: 'FirstName'\n },\n comparator: 'EQ',\n rhs: {\n value: 'John'\n }\n }\n },\n {\n condition: {\n lhs: { field: 'RemoteEmployee' },\n comparator: 'IS_TRUE'\n }\n }\n ]\n};\n\nexport const demoFilters: PromotedFiltersProps['filters'] = [\n { field: { name: 'FirstName', type: 'TEXT' }, mode: 'default', label: 'First name' },\n { field: { name: 'LastName', type: 'TEXT' }, mode: 'advanced', label: 'Last name' },\n {\n field: { name: 'Experience', type: 'INTEGER' },\n mode: 'default',\n label: 'Years of experience'\n },\n {\n field: {\n name: 'Score',\n type: 'INTEGER'\n },\n mode: 'predefined',\n label: 'Score',\n predefinedConditions: [\n {\n id: 'score1',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'GT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score2',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'EQ',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score3',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'LT',\n rhs: {\n value: 0\n }\n }\n }\n ]\n },\n {\n field: {\n name: 'Hired',\n type: 'DATE_ONLY'\n },\n mode: 'predefined',\n label: 'Hired',\n predefinedConditions: [\n {\n id: 'hired1',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'LT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'Before 2022'\n },\n {\n id: 'hired2',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'GT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'After 2022'\n }\n ]\n },\n {\n field: { name: 'Salary', type: 'INTEGER' },\n mode: 'advanced',\n label: 'Salary'\n },\n {\n field: { name: 'HireDate', type: 'DATE_ONLY' },\n mode: 'default',\n label: 'Hire date'\n },\n {\n field: { name: 'LastPromotion', type: 'DATE_ONLY' },\n mode: 'advanced',\n label: 'Date of last promotion'\n },\n {\n field: { name: 'DailyMeetingTime', type: 'TIME_ONLY' },\n mode: 'default',\n label: 'Time of daily meeting'\n },\n {\n field: { name: 'StartOfWorkingHours', type: 'TIME_ONLY' },\n mode: 'advanced',\n label: 'Start of working hours'\n },\n {\n field: { name: 'NextReviewDate', type: 'DATE_TIME' },\n mode: 'default',\n label: 'Next scheduled review'\n },\n {\n field: { name: 'LastOfficeCheckIn', type: 'DATE_TIME' },\n mode: 'advanced',\n label: 'Last check-in in the office'\n },\n {\n field: { name: 'RemoteEmployee', type: 'BOOLEAN' },\n mode: 'default',\n label: 'Remote employee'\n },\n {\n field: {\n name: 'Department',\n type: 'PICKLIST',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n },\n mode: 'default'\n },\n {\n field: {\n name: 'Status',\n type: 'PICKLIST',\n possibleValues: () =>\n Promise.resolve([\n { id: 'new', primary: 'New' },\n { id: 'open', primary: 'Open' },\n { id: 'resolved', primary: 'Resolved' }\n ])\n },\n mode: 'default'\n }\n];\n"]}
|
|
1
|
+
{"version":3,"file":"PromotedFilters.mocks.js","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { Condition, PromotedFiltersProps } from '@pega/cosmos-react-condition-builder';\n\nexport const demoCondition: Condition = {\n AND: [\n {\n condition: {\n lhs: {\n field: 'FirstName'\n },\n comparator: 'EQ',\n rhs: {\n value: 'John'\n }\n }\n },\n {\n condition: {\n lhs: { field: 'RemoteEmployee' },\n comparator: 'IS_TRUE'\n }\n }\n ]\n};\n\nexport const demoFilters: PromotedFiltersProps['filters'] = [\n { field: { name: 'FirstName', type: 'TEXT' }, mode: 'default', label: 'First name' },\n { field: { name: 'LastName', type: 'TEXT' }, mode: 'advanced', label: 'Last name' },\n {\n field: { name: 'Experience', type: 'INTEGER' },\n mode: 'default',\n label: 'Years of experience'\n },\n {\n field: {\n name: 'Score',\n type: 'INTEGER'\n },\n mode: 'predefined',\n label: 'Score',\n predefinedConditions: [\n {\n id: 'score1',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'GT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score2',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'EQ',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score3',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'LT',\n rhs: {\n value: 0\n }\n }\n },\n {\n id: 'score4',\n value: {\n lhs: {\n field: 'Score'\n },\n comparator: 'BTW',\n rhs: {\n start: 0,\n end: 10\n }\n }\n }\n ]\n },\n {\n field: {\n name: 'Hired',\n type: 'DATE_ONLY'\n },\n mode: 'predefined',\n label: 'Hired',\n predefinedConditions: [\n {\n id: 'hired1',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'LT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'Before 2022'\n },\n {\n id: 'hired2',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'GT',\n rhs: {\n value: '2022-01-01'\n }\n },\n label: 'After 2022'\n },\n {\n id: 'hired3',\n value: {\n lhs: {\n field: 'Hired'\n },\n comparator: 'BTW',\n rhs: {\n start: '2023-01-03',\n end: '2023-31-03'\n }\n },\n label: 'In March 2023'\n }\n ]\n },\n {\n field: { name: 'Salary', type: 'INTEGER' },\n mode: 'advanced',\n label: 'Salary'\n },\n {\n field: { name: 'HireDate', type: 'DATE_ONLY' },\n mode: 'default',\n label: 'Hire date'\n },\n {\n field: { name: 'LastPromotion', type: 'DATE_ONLY' },\n mode: 'advanced',\n label: 'Date of last promotion'\n },\n {\n field: { name: 'DailyMeetingTime', type: 'TIME_ONLY' },\n mode: 'default',\n label: 'Time of daily meeting'\n },\n {\n field: { name: 'StartOfWorkingHours', type: 'TIME_ONLY' },\n mode: 'advanced',\n label: 'Start of working hours'\n },\n {\n field: { name: 'NextReviewDate', type: 'DATE_TIME' },\n mode: 'default',\n label: 'Next scheduled review'\n },\n {\n field: { name: 'LastOfficeCheckIn', type: 'DATE_TIME' },\n mode: 'advanced',\n label: 'Last check-in in the office'\n },\n {\n field: { name: 'RemoteEmployee', type: 'BOOLEAN' },\n mode: 'default',\n label: 'Remote employee'\n },\n {\n field: {\n name: 'Department',\n type: 'PICKLIST',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n },\n mode: 'default'\n },\n {\n field: {\n name: 'Status',\n type: 'PICKLIST',\n possibleValues: () =>\n Promise.resolve([\n { id: 'new', primary: 'New' },\n { id: 'open', primary: 'Open' },\n { id: 'resolved', primary: 'Resolved' }\n ])\n },\n mode: 'default'\n }\n];\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Meta, Story } from '@storybook/react';
|
|
2
|
-
import { ComboBoxProps } from '@pega/cosmos-react-core';
|
|
2
|
+
import { ComboBoxProps, MenuProps } from '@pega/cosmos-react-core';
|
|
3
3
|
declare const _default: Meta;
|
|
4
4
|
export default _default;
|
|
5
|
-
interface ComboBoxStoryProps {
|
|
5
|
+
interface ComboBoxStoryProps extends Pick<MenuProps, 'scrollAt'> {
|
|
6
6
|
label?: ComboBoxProps['label'];
|
|
7
7
|
labelHidden?: ComboBoxProps['labelHidden'];
|
|
8
8
|
info?: ComboBoxProps['info'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.stories.d.ts","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAEL,aAAa,
|
|
1
|
+
{"version":3,"file":"ComboBox.stories.d.ts","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAEL,aAAa,EAEb,SAAS,EAEV,MAAM,yBAAyB,CAAC;;AAIjC,wBA0BU;AAEV,UAAU,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC9D,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AASD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,kBAAkB,CAkF5D,CAAC;AAcF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,kBAAkB,CAiF/D,CAAC;AAeF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAkE3D,CAAC;AAaF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,kBAAkB,CAkD9D,CAAC;AAgBF,eAAO,MAAM,qCAAqC,EAAE,KAAK,CAAC,kBAAkB,CAoE3E,CAAC;AAgBF,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,kBAAkB,CAqIvE,CAAC"}
|
|
@@ -12,7 +12,8 @@ export default {
|
|
|
12
12
|
required: false,
|
|
13
13
|
disabled: false,
|
|
14
14
|
readOnly: false,
|
|
15
|
-
showAdditionalInfo: true
|
|
15
|
+
showAdditionalInfo: true,
|
|
16
|
+
scrollAt: 6
|
|
16
17
|
},
|
|
17
18
|
argTypes: {
|
|
18
19
|
label: { control: { type: 'text' } },
|
|
@@ -23,7 +24,8 @@ export default {
|
|
|
23
24
|
required: { control: { type: 'boolean' } },
|
|
24
25
|
disabled: { control: { type: 'boolean' } },
|
|
25
26
|
readOnly: { control: { type: 'boolean' } },
|
|
26
|
-
showAdditionalInfo: { control: { type: 'boolean' } }
|
|
27
|
+
showAdditionalInfo: { control: { type: 'boolean' } },
|
|
28
|
+
scrollAt: { control: { type: 'number' } }
|
|
27
29
|
}
|
|
28
30
|
};
|
|
29
31
|
export const FilterableSingleSelect = (args) => {
|
|
@@ -76,7 +78,8 @@ export const FilterableSingleSelect = (args) => {
|
|
|
76
78
|
items: itemsToRender,
|
|
77
79
|
onItemClick: selectItem,
|
|
78
80
|
accent: filterRegex,
|
|
79
|
-
emptyText: 'No items'
|
|
81
|
+
emptyText: 'No items',
|
|
82
|
+
scrollAt: args.scrollAt
|
|
80
83
|
}}/>);
|
|
81
84
|
};
|
|
82
85
|
FilterableSingleSelect.args = {
|
|
@@ -129,7 +132,8 @@ export const NonFilterableSingleSelect = (args) => {
|
|
|
129
132
|
items,
|
|
130
133
|
onItemClick: selectItem,
|
|
131
134
|
loading: isLoading,
|
|
132
|
-
loadMore: hasMore ? loadMore : undefined
|
|
135
|
+
loadMore: hasMore ? loadMore : undefined,
|
|
136
|
+
scrollAt: args.scrollAt
|
|
133
137
|
}}/>);
|
|
134
138
|
};
|
|
135
139
|
NonFilterableSingleSelect.args = {
|
|
@@ -174,7 +178,8 @@ export const FilterableMultiSelect = (args) => {
|
|
|
174
178
|
items: itemsToRender,
|
|
175
179
|
onItemClick: toggleItem,
|
|
176
180
|
accent: filterRegex,
|
|
177
|
-
emptyText: 'No items'
|
|
181
|
+
emptyText: 'No items',
|
|
182
|
+
scrollAt: args.scrollAt
|
|
178
183
|
}}/>);
|
|
179
184
|
};
|
|
180
185
|
FilterableMultiSelect.args = {
|
|
@@ -204,7 +209,8 @@ export const NonFilterableMultiSelect = (args) => {
|
|
|
204
209
|
onRemove: toggleItem
|
|
205
210
|
}} menu={{
|
|
206
211
|
items: itemsToRender,
|
|
207
|
-
onItemClick: toggleItem
|
|
212
|
+
onItemClick: toggleItem,
|
|
213
|
+
scrollAt: args.scrollAt
|
|
208
214
|
}}/>);
|
|
209
215
|
};
|
|
210
216
|
NonFilterableMultiSelect.args = {
|
|
@@ -249,7 +255,8 @@ export const FilterableMultiSelectSelectableParent = (args) => {
|
|
|
249
255
|
items: itemsToRender,
|
|
250
256
|
onItemClick: toggleItem,
|
|
251
257
|
accent: filterRegex,
|
|
252
|
-
emptyText: 'No items'
|
|
258
|
+
emptyText: 'No items',
|
|
259
|
+
scrollAt: args.scrollAt
|
|
253
260
|
}}/>);
|
|
254
261
|
};
|
|
255
262
|
FilterableMultiSelectSelectableParent.args = {
|
|
@@ -307,7 +314,7 @@ export const FilterableMultiSelectLazyChildren = (args) => {
|
|
|
307
314
|
setHasMore(false);
|
|
308
315
|
return menuHelpers.appendTo(items, newItems, rootItemId);
|
|
309
316
|
});
|
|
310
|
-
},
|
|
317
|
+
}, 200000);
|
|
311
318
|
}
|
|
312
319
|
}, [items, loading]);
|
|
313
320
|
const toggleItem = (id) => {
|
|
@@ -346,7 +353,8 @@ export const FilterableMultiSelectLazyChildren = (args) => {
|
|
|
346
353
|
loading,
|
|
347
354
|
loadMore: hasMore ? loadMore : undefined,
|
|
348
355
|
accent: filterRegex,
|
|
349
|
-
emptyText: 'No items'
|
|
356
|
+
emptyText: 'No items',
|
|
357
|
+
scrollAt: args.scrollAt
|
|
350
358
|
}}/>);
|
|
351
359
|
};
|
|
352
360
|
FilterableMultiSelectLazyChildren.args = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.stories.jsx","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEvent, useCallback, useMemo, useState, useEffect } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n ComboBox,\n ComboBoxProps,\n MenuItemProps,\n MenuProps,\n menuHelpers\n} from '@pega/cosmos-react-core';\n\nimport { getFilterRegex, list, tree } from './ComboBox.mocks';\n\nexport default {\n title: 'Core/ComboBox',\n component: ComboBox,\n args: {\n labelHidden: false,\n info: 'Type in or click to expand the Popover',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true\n },\n argTypes: {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface ComboBoxStoryProps {\n label?: ComboBoxProps['label'];\n labelHidden?: ComboBoxProps['labelHidden'];\n info?: ComboBoxProps['info'];\n placeholder?: ComboBoxProps['placeholder'];\n status?: ComboBoxProps['status'];\n required?: ComboBoxProps['required'];\n disabled?: ComboBoxProps['disabled'];\n readOnly?: ComboBoxProps['readOnly'];\n showAdditionalInfo?: boolean;\n}\n/*\n _____ _ _ _ _ _ ____ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const FilterableSingleSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n const [filterValue, setFilterValue] = useState('');\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setFilterValue('');\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const clearSelection = () => {\n setItems(cur =>\n menuHelpers.mapTree(cur, item => {\n return {\n ...item,\n selected: false\n };\n })\n );\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) clearSelection();\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: selectItem,\n accent: filterRegex,\n emptyText: 'No items'\n }}\n />\n );\n};\n\nFilterableSingleSelect.args = {\n label: 'ComboBox Single Autocomplete'\n};\n\n/*\n ____ _ _ ____ _ _\n / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const NonFilterableSingleSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const pageSize = 10;\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(tree.slice(0, pageSize), item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const [isLoading, setIsLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const loadMore = useCallback(\n (expandedItemId?: MenuItemProps['id']) => {\n if (!isLoading && !expandedItemId) {\n setIsLoading(true);\n setTimeout(() => {\n setIsLoading(false);\n setItems(prevItems => {\n const newItems = menuHelpers.mapTree(\n tree.slice(prevItems.length, prevItems.length + pageSize),\n item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n })\n );\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(prevItems, newItems, expandedItemId);\n });\n }, 2000);\n }\n },\n [items, isLoading]\n );\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n onItemClick: selectItem,\n loading: isLoading,\n loadMore: hasMore ? loadMore : undefined\n }}\n />\n );\n};\n\nNonFilterableSingleSelect.args = {\n label: 'ComboBox Single Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose option-'\n};\n\n/*\n _____ _ _ _ _ _ __ __ _ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const FilterableMultiSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items'\n }}\n />\n );\n};\n\nFilterableMultiSelect.args = {\n label: 'ComboBox Multi Autocomplete'\n};\n\n/*\n __ __ _ _ _ ____ _ _\n | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const NonFilterableMultiSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(\n menuHelpers.mapTree(list, item => ({ id: item.id, primary: item.primary }))\n );\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n const itemsToRender = useMemo(() => {\n return menuHelpers.mapTree(items, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [items]);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem\n }}\n />\n );\n};\n\nNonFilterableMultiSelect.args = {\n label: 'ComboBox Multi Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose options-'\n};\n\n/*\n______ _ _ _ _ _ ___ ___ _ _ _ _____ _ _ _ _ ______ _\n| ___(_) | | | | | | | \\/ | | | | (_) / ___| | | | | | | | | | ___ \\ | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______\\ `--. ___| | ___ ___| |_ __ _| |__ | | ___| |_/ /_ _ _ __ ___ _ __ | |_\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______|`--. \\/ _ \\ |/ _ \\/ __| __/ _` | '_ \\| |/ _ \\ __/ _` | '__/ _ \\ '_ \\| __|\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | /\\__/ / __/ | __/ (__| || (_| | |_) | | __/ | | (_| | | | __/ | | | |_\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\____/ \\___|_|\\___|\\___|\\__\\__,_|_.__/|_|\\___\\_| \\__,_|_| \\___|_| |_|\\__|\n*/\nexport const FilterableMultiSelectSelectableParent: Story<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items'\n }}\n />\n );\n};\n\nFilterableMultiSelectSelectableParent.args = {\n label: 'ComboBox Multi Selectable Parent'\n};\n\n/**\n______ _ _ _ _ _ ___ ___ _ _ _ _ _____ _ _ _ _\n| ___(_) | | | | | | | \\/ | | | | (_) | | / __ \\ | (_) | | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______| | __ _ _____ _| / \\/ |__ _| | __| |_ __ ___ _ __\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______| | / _` |_ / | | | | | '_ \\| | |/ _` | '__/ _ \\ '_ \\\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | | |___| (_| |/ /| |_| | \\__/\\ | | | | | (_| | | | __/ | | |\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\_____/\\__,_/___|\\__, |\\____/_| |_|_|_|\\__,_|_| \\___|_| |_|\n __/ |\n |___/\n */\nexport const FilterableMultiSelectLazyChildren: Story<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const rootItemId = '01';\n const lazyItems = useMemo(() => {\n return [\n { id: '01-1', primary: 'Paul McDonald', secondary: ['Leads', 'Engineer'] },\n { id: '01-2', primary: 'Frank Walker', secondary: ['Leads', 'Engineer'] },\n { id: '01-3', primary: 'Edward Green', secondary: ['Leads', 'Engineer'] },\n { id: '01-4', primary: 'Shaun McMinneman', secondary: ['Leads', 'Engineer'] },\n { id: '01-5', primary: 'Hank Fitzgerald', secondary: ['Leads', 'Engineer'] },\n { id: '01-6', primary: 'Mindy Stark', secondary: ['Leads', 'Engineer'] },\n { id: '01-7', primary: 'Shane Howard', secondary: ['Leads', 'Engineer'] },\n { id: '01-8', primary: 'Raul Singh', secondary: ['Leads', 'Engineer'] }\n ];\n }, []);\n\n const [items, setItems] = useState<MenuProps['items']>([\n {\n id: rootItemId,\n primary: 'Group',\n secondary: ['Leads', 'Engineer'],\n items: []\n }\n ]);\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(false);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n setTimeout(() => {\n setLoading(false);\n\n setItems(() => {\n const previousNestedLength = menuHelpers.getItem(items, rootItemId)?.items?.length || 0;\n const newItems = lazyItems.slice(previousNestedLength, previousNestedLength + 3);\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(items, newItems, rootItemId);\n });\n }, 2000);\n }\n }, [items, loading]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n useEffect(() => {\n if (hasMore) {\n loadMore();\n }\n }, [hasMore]);\n\n const onItemExpand = useCallback(() => {\n // You wouldn't do this here in production, but in this story we know the menu 'hasMore'\n // un-rendered items every time it expands.\n setHasMore(true);\n }, []);\n\n const onItemCollapse = useCallback(() => {\n setHasMore(false);\n setLoading(false);\n // You wouldn't do this in production. We are re-slicing the lazy children in this story to avoid\n // having to refresh to view the lazy loading behavior again.\n setItems(cur => [{ ...cur[0], items: [] }]);\n }, []);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n onItemExpand,\n onItemCollapse,\n loading,\n loadMore: hasMore ? loadMore : undefined,\n accent: filterRegex,\n emptyText: 'No items'\n }}\n />\n );\n};\n\nFilterableMultiSelectLazyChildren.args = {\n label: 'ComboBox Multi Lazy Children'\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ComboBox.stories.jsx","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG/E,OAAO,EACL,QAAQ,EAIR,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAe;IACb,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,CAAC;KACZ;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACpC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACnC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC5F,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1C,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACpD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC1C;CACM,CAAC;AAqBV,MAAM,CAAC,MAAM,sBAAsB,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAC5F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAiB,EAAE,EAAE;gBAC/D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAuB,EAAE,EAAE;QACzD,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,CACb,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YAC9B,OAAO;gBACL,GAAG,IAAI;gBACP,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,eAAe,CACpB,QAAQ,CAAC,CACP,QAAQ;YACN,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACD,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;gBAAE,cAAc,EAAE,CAAC;YACtC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,GAAG,EAAE;YACX,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CACF,IAAI,CAAC,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACF,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,sBAAsB,CAAC,IAAI,GAAG;IAC5B,KAAK,EAAE,8BAA8B;CACtC,CAAC;AAUF,MAAM,CAAC,MAAM,yBAAyB,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAC/F,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,GAAuB,EAAE;QAC9E,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3D,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAuB,EAAE,EAAE;QACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,cAAoC,EAAE,EAAE;QACvC,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE;YACjC,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,GAAG,EAAE;gBACd,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,EACzD,IAAI,CAAC,EAAE,CAAC,CAAC;wBACP,GAAG,IAAI;wBACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;qBACnD,CAAC,CACH,CAAC;oBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBAE7C,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CACP,QAAQ;YACN,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,CAAC;YACJ,KAAK;YACL,WAAW,EAAE,UAAU;YACvB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACF,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,yBAAyB,CAAC,IAAI,GAAG;IAC/B,KAAK,EAAE,wBAAwB;IAC/B,IAAI,EAAE,gDAAgD;IACtD,WAAW,EAAE,iBAAiB;CAC/B,CAAC;AASF,MAAM,CAAC,MAAM,qBAAqB,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAC3F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAiB,EAAE,EAAE;gBAC/D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,UAAU,GAAG,CAAC,EAAuB,EAAE,EAAE;QAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,cAAc,CACnB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC;YACR,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CACF,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE;YAC7C,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,GAAG,EAAE;YACX,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CACF,IAAI,CAAC,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACF,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAqB,CAAC,IAAI,GAAG;IAC3B,KAAK,EAAE,6BAA6B;CACrC,CAAC;AASF,MAAM,CAAC,MAAM,wBAAwB,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAC9F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAC5E,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,UAAU,GAAG,CAAC,EAAuB,EAAE,EAAE;QAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,cAAc,CACnB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC;YACR,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CACF,IAAI,CAAC,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACF,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,wBAAwB,CAAC,IAAI,GAAG;IAC9B,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,gDAAgD;IACtD,WAAW,EAAE,kBAAkB;CAChC,CAAC;AAUF,MAAM,CAAC,MAAM,qCAAqC,GAA8B,CAC9E,IAAwB,EACxB,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAiB,EAAE,EAAE;gBAC/D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,IAAI;YACP,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,UAAU,GAAG,CAAC,EAAuB,EAAE,EAAE;QAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,cAAc,CACnB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC;YACR,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CACF,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE;YAC7C,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,GAAG,EAAE;YACX,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CACF,IAAI,CAAC,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACF,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,qCAAqC,CAAC,IAAI,GAAG;IAC3C,KAAK,EAAE,kCAAkC;CAC1C,CAAC;AAYF,MAAM,CAAC,MAAM,iCAAiC,GAA8B,CAC1E,IAAwB,EACxB,EAAE;IACF,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO;YACL,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YAC1E,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACzE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACzE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YAC7E,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YAC5E,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACxE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACzE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;SACxE,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB;QACrD;YACE,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YAChC,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAiB,EAAE,EAAE;gBAC/D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;gBAElB,QAAQ,CAAC,GAAG,EAAE;oBACZ,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;oBACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;oBAEjF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBAE7C,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,MAAM,CAAC,CAAC;SACZ;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,CAAC,EAAuB,EAAE,EAAE;QAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE;YACX,QAAQ,EAAE,CAAC;SACZ;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAGpC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,UAAU,CAAC,KAAK,CAAC,CAAC;QAGlB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,cAAc,CACnB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC;YACR,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CACF,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE;YAC7C,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,GAAG,EAAE;YACX,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CACF,IAAI,CAAC,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,UAAU;YACvB,YAAY;YACZ,cAAc;YACd,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACxC,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACF,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,IAAI,GAAG;IACvC,KAAK,EAAE,8BAA8B;CACtC,CAAC","sourcesContent":["import { ChangeEvent, useCallback, useMemo, useState, useEffect } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n ComboBox,\n ComboBoxProps,\n MenuItemProps,\n MenuProps,\n menuHelpers\n} from '@pega/cosmos-react-core';\n\nimport { getFilterRegex, list, tree } from './ComboBox.mocks';\n\nexport default {\n title: 'Core/ComboBox',\n component: ComboBox,\n args: {\n labelHidden: false,\n info: 'Type in or click to expand the Popover',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true,\n scrollAt: 6\n },\n argTypes: {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n scrollAt: { control: { type: 'number' } }\n }\n} as Meta;\n\ninterface ComboBoxStoryProps extends Pick<MenuProps, 'scrollAt'> {\n label?: ComboBoxProps['label'];\n labelHidden?: ComboBoxProps['labelHidden'];\n info?: ComboBoxProps['info'];\n placeholder?: ComboBoxProps['placeholder'];\n status?: ComboBoxProps['status'];\n required?: ComboBoxProps['required'];\n disabled?: ComboBoxProps['disabled'];\n readOnly?: ComboBoxProps['readOnly'];\n showAdditionalInfo?: boolean;\n}\n/*\n _____ _ _ _ _ _ ____ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const FilterableSingleSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n const [filterValue, setFilterValue] = useState('');\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setFilterValue('');\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const clearSelection = () => {\n setItems(cur =>\n menuHelpers.mapTree(cur, item => {\n return {\n ...item,\n selected: false\n };\n })\n );\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) clearSelection();\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: selectItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt\n }}\n />\n );\n};\n\nFilterableSingleSelect.args = {\n label: 'ComboBox Single Autocomplete'\n};\n\n/*\n ____ _ _ ____ _ _\n / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const NonFilterableSingleSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const pageSize = 10;\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(tree.slice(0, pageSize), item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const [isLoading, setIsLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const loadMore = useCallback(\n (expandedItemId?: MenuItemProps['id']) => {\n if (!isLoading && !expandedItemId) {\n setIsLoading(true);\n setTimeout(() => {\n setIsLoading(false);\n setItems(prevItems => {\n const newItems = menuHelpers.mapTree(\n tree.slice(prevItems.length, prevItems.length + pageSize),\n item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n })\n );\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(prevItems, newItems, expandedItemId);\n });\n }, 2000);\n }\n },\n [items, isLoading]\n );\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n onItemClick: selectItem,\n loading: isLoading,\n loadMore: hasMore ? loadMore : undefined,\n scrollAt: args.scrollAt\n }}\n />\n );\n};\n\nNonFilterableSingleSelect.args = {\n label: 'ComboBox Single Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose option-'\n};\n\n/*\n _____ _ _ _ _ _ __ __ _ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const FilterableMultiSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt\n }}\n />\n );\n};\n\nFilterableMultiSelect.args = {\n label: 'ComboBox Multi Autocomplete'\n};\n\n/*\n __ __ _ _ _ ____ _ _\n | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const NonFilterableMultiSelect: Story<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(\n menuHelpers.mapTree(list, item => ({ id: item.id, primary: item.primary }))\n );\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n const itemsToRender = useMemo(() => {\n return menuHelpers.mapTree(items, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [items]);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n scrollAt: args.scrollAt\n }}\n />\n );\n};\n\nNonFilterableMultiSelect.args = {\n label: 'ComboBox Multi Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose options-'\n};\n\n/*\n______ _ _ _ _ _ ___ ___ _ _ _ _____ _ _ _ _ ______ _\n| ___(_) | | | | | | | \\/ | | | | (_) / ___| | | | | | | | | | ___ \\ | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______\\ `--. ___| | ___ ___| |_ __ _| |__ | | ___| |_/ /_ _ _ __ ___ _ __ | |_\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______|`--. \\/ _ \\ |/ _ \\/ __| __/ _` | '_ \\| |/ _ \\ __/ _` | '__/ _ \\ '_ \\| __|\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | /\\__/ / __/ | __/ (__| || (_| | |_) | | __/ | | (_| | | | __/ | | | |_\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\____/ \\___|_|\\___|\\___|\\__\\__,_|_.__/|_|\\___\\_| \\__,_|_| \\___|_| |_|\\__|\n*/\nexport const FilterableMultiSelectSelectableParent: Story<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt\n }}\n />\n );\n};\n\nFilterableMultiSelectSelectableParent.args = {\n label: 'ComboBox Multi Selectable Parent'\n};\n\n/**\n______ _ _ _ _ _ ___ ___ _ _ _ _ _____ _ _ _ _\n| ___(_) | | | | | | | \\/ | | | | (_) | | / __ \\ | (_) | | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______| | __ _ _____ _| / \\/ |__ _| | __| |_ __ ___ _ __\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______| | / _` |_ / | | | | | '_ \\| | |/ _` | '__/ _ \\ '_ \\\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | | |___| (_| |/ /| |_| | \\__/\\ | | | | | (_| | | | __/ | | |\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\_____/\\__,_/___|\\__, |\\____/_| |_|_|_|\\__,_|_| \\___|_| |_|\n __/ |\n |___/\n */\nexport const FilterableMultiSelectLazyChildren: Story<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const rootItemId = '01';\n const lazyItems = useMemo(() => {\n return [\n { id: '01-1', primary: 'Paul McDonald', secondary: ['Leads', 'Engineer'] },\n { id: '01-2', primary: 'Frank Walker', secondary: ['Leads', 'Engineer'] },\n { id: '01-3', primary: 'Edward Green', secondary: ['Leads', 'Engineer'] },\n { id: '01-4', primary: 'Shaun McMinneman', secondary: ['Leads', 'Engineer'] },\n { id: '01-5', primary: 'Hank Fitzgerald', secondary: ['Leads', 'Engineer'] },\n { id: '01-6', primary: 'Mindy Stark', secondary: ['Leads', 'Engineer'] },\n { id: '01-7', primary: 'Shane Howard', secondary: ['Leads', 'Engineer'] },\n { id: '01-8', primary: 'Raul Singh', secondary: ['Leads', 'Engineer'] }\n ];\n }, []);\n\n const [items, setItems] = useState<MenuProps['items']>([\n {\n id: rootItemId,\n primary: 'Group',\n secondary: ['Leads', 'Engineer'],\n items: []\n }\n ]);\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(false);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n setTimeout(() => {\n setLoading(false);\n\n setItems(() => {\n const previousNestedLength = menuHelpers.getItem(items, rootItemId)?.items?.length || 0;\n const newItems = lazyItems.slice(previousNestedLength, previousNestedLength + 3);\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(items, newItems, rootItemId);\n });\n }, 200000);\n }\n }, [items, loading]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n useEffect(() => {\n if (hasMore) {\n loadMore();\n }\n }, [hasMore]);\n\n const onItemExpand = useCallback(() => {\n // You wouldn't do this here in production, but in this story we know the menu 'hasMore'\n // un-rendered items every time it expands.\n setHasMore(true);\n }, []);\n\n const onItemCollapse = useCallback(() => {\n setHasMore(false);\n setLoading(false);\n // You wouldn't do this in production. We are re-slicing the lazy children in this story to avoid\n // having to refresh to view the lazy loading behavior again.\n setItems(cur => [{ ...cur[0], items: [] }]);\n }, []);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n onItemExpand,\n onItemCollapse,\n loading,\n loadMore: hasMore ? loadMore : undefined,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt\n }}\n />\n );\n};\n\nFilterableMultiSelectLazyChildren.args = {\n label: 'ComboBox Multi Lazy Children'\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.stories.jsx","sourceRoot":"","sources":["../../../src/core/TextArea/TextArea.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAiB,MAAM,yBAAyB,CAAC;AAEjF,eAAe;IACb,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,CAAC,sBAAsB,CAAC;CACjC,CAAC;AAMV,MAAM,CAAC,MAAM,YAAY,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAClF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,CACL,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,EAAE,CAAC,WAAW,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,CAAC,CAAmC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5E,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,gBAAgB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CACxC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAC5B,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,IAAI,GAAG;IAClB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,GAAG;IACd,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"TextArea.stories.jsx","sourceRoot":"","sources":["../../../src/core/TextArea/TextArea.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, ChangeEvent } from 'react';\n\nimport { Configuration, TextArea, TextAreaProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/Textarea',\n component: TextArea,\n excludeStories: ['ConfigurableTextArea']\n} as Meta;\n\ninterface TextAreaStoryProps extends TextAreaProps {\n showAdditionalInfo?: boolean;\n}\n\nexport const TextAreaDemo: Story<TextAreaStoryProps> = (args: TextAreaStoryProps) => {\n const [value, setValue] = useState('');\n\n return (\n <TextArea\n additionalInfo={\n args.showAdditionalInfo\n ? {\n heading: 'Additional Info',\n content: 'Some additional info'\n }\n : undefined\n }\n id='text-area'\n value={value}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setValue(e.target.value)}\n minLength={args.minLength}\n maxLength={args.maxLength}\n displayCharCount={args.displayCharCount}\n hardStop={args.hardStop}\n resizable={args.resizable}\n autoResize={args.autoResize}\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n />\n );\n};\n\nTextAreaDemo.args = {\n minLength: 0,\n maxLength: 300,\n displayCharCount: false,\n hardStop: true,\n resizable: false,\n autoResize: true,\n label: 'Text Area',\n labelHidden: false,\n info: 'Enter a large amount of text',\n placeholder: 'Tell us a story…',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: true\n};\n\nTextAreaDemo.argTypes = {\n minLength: { control: { type: 'number' } },\n maxLength: { control: { type: 'number' } },\n displayCharCount: { control: { type: 'boolean' } },\n hardStop: { control: { type: 'boolean' } },\n resizable: { control: { type: 'boolean' } },\n autoResize: { control: { type: 'boolean' } },\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n};\n\ninterface ConfigurableTextAreaProps {\n minHeight?: string;\n padding?: string;\n}\n\nexport const ConfigurableTextArea: Story<ConfigurableTextAreaProps> = (\n args: ConfigurableTextAreaProps\n) => {\n const [value, setValue] = useState('');\n\n return (\n <Configuration\n theme={{\n components: {\n 'text-area': {\n 'min-height': args.minHeight,\n padding: args.padding\n }\n }\n }}\n >\n <TextArea\n value={value}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setValue(e.target.value)}\n resizable\n autoResize\n label='Configurable Text Area'\n info='Enter a large amount of text'\n placeholder='Tell us a story…'\n />\n </Configuration>\n );\n};\n\nConfigurableTextArea.args = {\n minHeight: '3.75rem',\n padding: '0.5rem'\n};\n\nConfigurableTextArea.argTypes = {\n minHeight: { control: { type: 'text' } },\n padding: { control: { type: 'text' } }\n};\n"]}
|
|
@@ -44,7 +44,7 @@ export const CTIControlPanel = () => {
|
|
|
44
44
|
const [callPanelVisible, setCallPanelVisible] = useState(false);
|
|
45
45
|
const { type, draggable, applyAppStyling } = useContext(CTIControlPanelContext);
|
|
46
46
|
const { openDrawer, closeDrawer } = useContext(AppShellDrawerContext);
|
|
47
|
-
const drawerView = (<Flex container={{ direction: 'column', gap: 2, pad: 2 }}
|
|
47
|
+
const drawerView = (<Flex container={{ direction: 'column', gap: 2, pad: 2 }}>
|
|
48
48
|
<CallLoginForm ctiLinkOptions={{
|
|
49
49
|
valid: 'It will be accepted',
|
|
50
50
|
invalid: 'This will raise an error'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSAppShell.mocks.jsx","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeEvent,\n createContext,\n FunctionComponent,\n MouseEvent,\n useCallback,\n useContext,\n useState,\n useEffect,\n useMemo\n} from 'react';\n\nimport {\n AppShellDrawerContext,\n Banner,\n Button,\n Flex,\n Form,\n Input,\n Option,\n Select,\n MenuProps,\n menuHelpers,\n MenuItemProps,\n CheckboxGroup,\n Checkbox,\n ComboBox\n} from '@pega/cosmos-react-core';\nimport { type UserAvailabilityStatusOption, CTIPanel } from '@pega/cosmos-react-cs';\nimport ChatSettingsPanel from '@pega/cosmos-react-social/lib/components/Chat/ChatSettingsPanel';\nimport { UserAvailability } from '@pega/cosmos-react-social/lib/components/Chat/Chat.types';\nimport { AppshellEmailSummaryList, EmailSummaryList } from '@pega/cosmos-react-social';\nimport EmailNotificationPanel from '@pega/cosmos-react-social/lib/components/Email/EmailNotificationPanel';\n\nimport { emailSummaryItems } from '../../social/Email/Email.mocks';\nimport {\n CallControlPanelDemo,\n ExternalCTIDemo\n} from '../CallControlPanel/CallControlPanel.stories';\nimport { userStatusOptions } from '../CallControlPanel/CallControlPanel.mocks';\n\nexport type LoginError = string;\n\nexport interface LoginFormProps {\n ctiLinkOptions: { [key: string]: string };\n onLogin: (\n ctiLinkId: keyof LoginFormProps['ctiLinkOptions'],\n agentId: string,\n password: string\n ) => Promise<LoginError | undefined>;\n onCancel: () => void;\n}\n\nexport const CallLoginForm: FunctionComponent<LoginFormProps> = ({\n ctiLinkOptions,\n onLogin,\n onCancel\n}: LoginFormProps) => {\n const [agentId, setAgentId] = useState<string>('');\n const [password, setPassword] = useState<string>('');\n const [extension, setExtension] = useState<string>('');\n const [ctiLinkId, setCTILinkId] = useState<string>(Object.keys(ctiLinkOptions)[0]);\n const [errorMessage, setErrorMessage] = useState<string>();\n\n const canSubmit = agentId && password && ctiLinkId && extension;\n\n const actions = (\n <>\n <Button key='cancel' name='cancel' variant='secondary' onClick={onCancel}>\n Cancel\n </Button>\n <Button\n key='submit'\n name='submit'\n type='submit'\n variant='primary'\n disabled={!canSubmit}\n onClick={(e: MouseEvent) => {\n e.preventDefault();\n onLogin(ctiLinkId!, agentId, password).then(setErrorMessage);\n }}\n >\n Login\n </Button>\n </>\n );\n\n return (\n <Form\n actions={actions}\n banners={errorMessage ? <Banner variant='urgent' messages={[errorMessage]} /> : undefined}\n >\n <Select required label='CTI link' onChange={e => setCTILinkId(e.target.value)}>\n {Object.entries(ctiLinkOptions).map(([id, label]) => (\n <Option value={id}>{label}</Option>\n ))}\n </Select>\n <Input\n required\n label='Agent ID'\n value={agentId}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setAgentId(e.target.value)}\n />\n <Input\n type='password'\n required\n label='Password'\n value={password}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setPassword(e.target.value)}\n />\n <Input\n required\n label='Extension'\n value={extension}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setExtension(e.target.value)}\n />\n </Form>\n );\n};\n\nexport const CTIControlPanelContext = createContext<{\n type: 'internal' | 'external';\n draggable?: boolean;\n applyAppStyling: boolean;\n}>({\n type: 'internal',\n draggable: true,\n applyAppStyling: false\n});\n\nexport const CTIControlPanel: FunctionComponent = () => {\n const [agentStatus, setAgentStatus] = useState<UserAvailabilityStatusOption>(\n userStatusOptions[0] as UserAvailabilityStatusOption\n );\n const [callPanelVisible, setCallPanelVisible] = useState(false);\n const { type, draggable, applyAppStyling } = useContext(CTIControlPanelContext);\n const { openDrawer, closeDrawer } = useContext(AppShellDrawerContext);\n\n const drawerView = (\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }} item={{ grow: 1 }}>\n <CallLoginForm\n ctiLinkOptions={{\n valid: 'It will be accepted',\n invalid: 'This will raise an error'\n }}\n onLogin={ctiLink => {\n if (ctiLink === 'invalid') return Promise.resolve('Login incorrect');\n setAgentStatus(userStatusOptions[0]);\n setCallPanelVisible(true);\n closeDrawer();\n return Promise.resolve(undefined);\n }}\n onCancel={closeDrawer}\n />\n </Flex>\n );\n const drawerHeader = 'Pega Call Log In';\n\n return (\n <CTIPanel\n visible={callPanelVisible}\n status={agentStatus}\n onClick={() => {\n if (agentStatus.status === 'logout')\n openDrawer({\n drawerHeader,\n drawerView,\n name: drawerHeader\n });\n else setCallPanelVisible(prev => !prev);\n }}\n >\n {type === 'internal' ? (\n <CallControlPanelDemo\n heading='Agent'\n status={agentStatus.id}\n onStatusChange={status => {\n setAgentStatus(status);\n if (status.status === 'logout') setCallPanelVisible(false);\n }}\n isDraggable={draggable}\n showStatus\n visible={callPanelVisible}\n />\n ) : (\n <ExternalCTIDemo\n heading='External CTI'\n isDraggable={draggable}\n showStatus\n visible={callPanelVisible}\n applyAppStyling={applyAppStyling}\n />\n )}\n </CTIPanel>\n );\n};\n\nexport const AppShellMockData = {\n notifications: [\n {\n id: '123',\n primary:\n \"Dean Thomas mentioned your team in a bug 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345',\n visual: 'Dean Thomas',\n unread: true\n },\n {\n id: '456',\n primary: \"Seth DeAngelo mentioned your team in a bug 'Text variant h1 renders as h3 in DOM'.\",\n visual: 'Seth DeAngelo',\n secondary: 'BUG-12345',\n unread: true\n },\n {\n id: '789',\n primary:\n \"Janet Moore mentioned your team in a bug 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-12345',\n visual: 'Janet Moore',\n unread: true\n },\n {\n id: '000',\n primary: 'You have been awarded Employee of the Month! Congratulations!',\n secondary: '',\n visual: 'Cindy Turner',\n unread: true\n }\n ],\n recents: [\n {\n id: '123',\n primary: \"BUG-12345: 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345'\n },\n {\n id: '456',\n primary: \"BUG-54321: 'Text variant h1 renders as h3 in DOM'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '789',\n primary:\n \"BUG-00000: 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '111',\n primary: \"BUG-12345: 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345'\n },\n {\n id: '222',\n primary: \"BUG-54321: 'Text variant h1 renders as h3 in DOM'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '333',\n primary:\n \"BUG-00000: 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '444',\n primary: \"BUG-12345: 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345'\n },\n {\n id: '555',\n primary: \"BUG-54321: 'Text variant h1 renders as h3 in DOM'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '666',\n primary:\n \"BUG-00000: 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-00000'\n }\n ],\n 'Phone interaction': {\n caseId: 'Customer',\n heading: 'Ginger Ventura',\n primaryFields: [\n {\n id: '0',\n name: 'Lifetime value',\n value: 'Gold'\n },\n {\n id: '1',\n name: 'Interaction type',\n value: 'Phone'\n },\n {\n id: '2',\n name: 'Churn risk',\n value: 'Low'\n },\n {\n id: '3',\n name: 'Status',\n value: 'Open'\n }\n ],\n secondaryFields: [\n {\n id: '0',\n name: 'Status',\n value: 'Verified'\n },\n {\n id: '1',\n name: 'Web login',\n value: 'Today'\n },\n {\n id: '2',\n name: 'Customer since',\n value: 'July 2018'\n },\n {\n id: '3',\n name: 'Address',\n value: '2213b Gormand street'\n }\n ]\n },\n 'Chat interaction': {\n caseId: 'Customer',\n heading: 'Sara Davis',\n primaryFields: [\n {\n id: '0',\n name: 'Lifetime value',\n value: 'Silver'\n },\n {\n id: '1',\n name: 'Interaction type',\n value: 'Chat'\n },\n {\n id: '2',\n name: 'Churn risk',\n value: 'High'\n },\n {\n id: '3',\n name: 'Status',\n value: 'Open'\n }\n ],\n secondaryFields: [\n {\n id: '0',\n name: 'Status',\n value: 'Verified'\n },\n {\n id: '1',\n name: 'Web login',\n value: 'Today'\n },\n {\n id: '2',\n name: 'Customer since',\n value: 'March 2005'\n },\n {\n id: '3',\n name: 'Address',\n value: '340 River'\n }\n ]\n },\n 'Mail interaction': {\n caseId: 'Customer',\n heading: 'John Brown',\n primaryFields: [\n {\n id: '0',\n name: 'Lifetime value',\n value: 'Bronze'\n },\n {\n id: '1',\n name: 'Interaction type',\n value: 'Mail'\n },\n {\n id: '2',\n name: 'Churn risk',\n value: 'Medium'\n },\n {\n id: '3',\n name: 'Status',\n value: 'Open'\n }\n ],\n secondaryFields: [\n {\n id: '0',\n name: 'Status',\n value: 'Verified'\n },\n {\n id: '1',\n name: 'Web login',\n value: 'Today'\n },\n {\n id: '2',\n name: 'Customer since',\n value: 'March 1995'\n },\n {\n id: '3',\n name: 'Address',\n value: '340 River'\n }\n ]\n }\n};\n\nexport const statuses = [\n { id: 'available', primary: 'Available', selected: false },\n {\n id: 'temporarilyUnavailable',\n primary: 'Temporarily unavailable',\n items: [\n { id: 'quick_break', primary: 'Quick break', selected: false },\n { id: 'personal_work', primary: 'Personal work', selected: false },\n { id: 'in_a_meeting', primary: 'In a meeting', selected: false }\n ]\n },\n { id: 'unavailable', primary: 'Unavailable', selected: false }\n];\n\nexport const ChatSettingsPanelMock: FunctionComponent = () => {\n const { openDrawer, closeDrawer } = useContext(AppShellDrawerContext);\n\n const [chatAlias, setChatAlias] = useState('');\n const [queues, setQueues] = useState<{ id: string; checked: boolean }[]>([\n { id: 'Billing', checked: false },\n { id: 'General', checked: false },\n { id: 'Technical', checked: false }\n ]);\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(statuses, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const formActions = (\n <>\n <Button name='Cancel' variant='secondary' onClick={closeDrawer}>\n Cancel\n </Button>\n <Button name='Submit' variant='primary' onClick={closeDrawer}>\n Submit\n </Button>\n </>\n );\n\n const chatSettings = useMemo(\n () => (\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }} item={{ grow: 1 }}>\n <Form actions={formActions}>\n <Flex container={{ direction: 'column', pad: 0.5 }}>\n <Input\n label='Chat alias'\n value={chatAlias}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setChatAlias(e.target.value);\n }}\n />\n </Flex>\n <Flex container={{ direction: 'column', pad: 1 }}>\n <CheckboxGroup label='Joined queues' name='queueslist' labelHidden={false}>\n {queues.map(({ id, checked }) => (\n <Checkbox\n label={id}\n id={id}\n name={id}\n checked={checked}\n onChange={e =>\n setQueues(\n queues.map(queue => {\n if (queue.id === id) {\n return {\n ...queue,\n checked: e.target.checked\n };\n }\n return queue;\n })\n )\n }\n />\n ))}\n </CheckboxGroup>\n </Flex>\n <Flex container={{ direction: 'column', pad: 0.5 }}>\n <ComboBox\n label='Status'\n mode='single-select'\n required\n selected={\n selected\n ? {\n items: {\n id: selected?.id,\n text: selected?.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n variant: 'drill-down',\n onItemClick: selectItem\n }}\n />\n </Flex>\n </Form>\n </Flex>\n ),\n [items]\n );\n\n const drawerHeader = 'Chat settings';\n\n const drawerContent = {\n drawerHeader,\n drawerView: chatSettings,\n name: drawerHeader\n };\n\n useEffect(() => {\n if (selected) openDrawer(drawerContent);\n }, [selected]);\n\n return (\n <ChatSettingsPanel\n label={drawerHeader}\n status={\n menuHelpers.getParentItem(items, selected?.id)?.id === 'temporarilyUnavailable'\n ? (menuHelpers.getParentItem(items, selected?.id)?.id as UserAvailability)\n : (selected?.id as UserAvailability)\n }\n onClick={() => openDrawer(drawerContent)}\n />\n );\n};\n\nconst EmailNotifications = () => {\n const { closeDrawer } = useContext(AppShellDrawerContext);\n\n const [sortOptions, setSortOptions] = useState<MenuItemProps[]>([\n { id: 'Most recent', primary: 'Most recent', selected: true },\n { id: 'Most urgent', primary: 'Most urgent', selected: false },\n { id: 'All unread', primary: 'All unread', selected: false }\n ]);\n\n const selected = menuHelpers.getSelected(sortOptions)[0];\n\n const selectItem = (id: MenuItemProps['id']) => {\n setSortOptions(cur => menuHelpers.selectItem(cur, id, 'single-select') as MenuItemProps[]);\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }} item={{ grow: 1 }}>\n <Flex container={{ justify: 'center', pad: [1, 0, 0] }}>\n <Button onClick={closeDrawer}>Get next email</Button>\n </Flex>\n <Flex container={{ direction: 'column', pad: [0, 2] }}>\n <ComboBox\n label='Sorted by'\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected?.id,\n text: selected?.primary\n }\n }\n : undefined\n }\n menu={{\n items: sortOptions,\n onItemClick: selectItem\n }}\n />\n </Flex>\n\n <EmailSummaryList\n items={emailSummaryItems}\n as={AppshellEmailSummaryList}\n onItemClick={closeDrawer}\n emptyMessage='No emails'\n selectable={false}\n />\n </Flex>\n );\n};\n\nexport const EmailNotificationPanelMock: FunctionComponent = () => {\n const { openDrawer } = useContext(AppShellDrawerContext);\n\n const drawerHeader = 'My open emails';\n\n const drawerContent = {\n drawerHeader,\n drawerView: <EmailNotifications />,\n name: drawerHeader\n };\n\n return (\n <EmailNotificationPanel\n count={15}\n label={drawerHeader}\n onClick={() => openDrawer(drawerContent)}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CSAppShell.mocks.jsx","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAGb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,qBAAqB,EACrB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EAEN,WAAW,EAEX,aAAa,EACb,QAAQ,EACR,QAAQ,EACT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqC,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,iBAAiB,MAAM,iEAAiE,CAAC;AAEhG,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,sBAAsB,MAAM,uEAAuE,CAAC;AAE3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,eAAe,EAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAc/E,MAAM,CAAC,MAAM,aAAa,GAAsC,CAAC,EAC/D,cAAc,EACd,OAAO,EACP,QAAQ,EACO,EAAE,EAAE;IACnB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAU,CAAC;IAE3D,MAAM,SAAS,GAAG,OAAO,IAAI,QAAQ,IAAI,SAAS,IAAI,SAAS,CAAC;IAEhE,MAAM,OAAO,GAAG,CACd,EACE;MAAA,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CACvE;;MACF,EAAE,MAAM,CACR;MAAA,CAAC,MAAM,CACL,GAAG,CAAC,QAAQ,CACZ,IAAI,CAAC,QAAQ,CACb,IAAI,CAAC,QAAQ,CACb,OAAO,CAAC,SAAS,CACjB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CACrB,OAAO,CAAC,CAAC,CAAC,CAAa,EAAE,EAAE;YACzB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,SAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/D,CAAC,CAAC,CAEF;;MACF,EAAE,MAAM,CACV;IAAA,GAAG,CACJ,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CACH,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAE1F;MAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5E;QAAA,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACnD,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CACpC,CAAC,CACJ;MAAA,EAAE,MAAM,CACR;MAAA,CAAC,KAAK,CACJ,QAAQ,CACR,KAAK,CAAC,UAAU,CAChB,KAAK,CAAC,CAAC,OAAO,CAAC,CACf,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAE7E;MAAA,CAAC,KAAK,CACJ,IAAI,CAAC,UAAU,CACf,QAAQ,CACR,KAAK,CAAC,UAAU,CAChB,KAAK,CAAC,CAAC,QAAQ,CAAC,CAChB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAE9E;MAAA,CAAC,KAAK,CACJ,QAAQ,CACR,KAAK,CAAC,WAAW,CACjB,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAEjF;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAIhD;IACD,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,KAAK;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAsB,GAAG,EAAE;IACrD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,iBAAiB,CAAC,CAAC,CAAiC,CACrD,CAAC;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAChF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,CACjB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CACvD;MAAA,CAAC,aAAa,CACZ,cAAc,CAAC,CAAC;YACd,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,0BAA0B;SACpC,CAAC,CACF,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE;YACjB,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACrE,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,WAAW,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CACF,QAAQ,CAAC,CAAC,WAAW,CAAC,EAE1B;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACF,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAExC,OAAO,CACL,CAAC,QAAQ,CACP,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAC1B,MAAM,CAAC,CAAC,WAAW,CAAC,CACpB,OAAO,CAAC,CAAC,GAAG,EAAE;YACZ,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ;gBACjC,UAAU,CAAC;oBACT,YAAY;oBACZ,UAAU;oBACV,IAAI,EAAE,YAAY;iBACnB,CAAC,CAAC;;gBACA,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAEF;MAAA,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACrB,CAAC,oBAAoB,CACnB,OAAO,CAAC,OAAO,CACf,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CACvB,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE;gBACvB,cAAc,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;oBAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,SAAS,CAAC,CACvB,UAAU,CACV,OAAO,CAAC,CAAC,gBAAgB,CAAC,EAC1B,CACH,CAAC,CAAC,CAAC,CACF,CAAC,eAAe,CACd,OAAO,CAAC,cAAc,CACtB,WAAW,CAAC,CAAC,SAAS,CAAC,CACvB,UAAU,CACV,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAC1B,eAAe,CAAC,CAAC,eAAe,CAAC,EACjC,CACH,CACH;IAAA,EAAE,QAAQ,CAAC,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE;QACb;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EACL,4FAA4F;YAC9F,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;SACb;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oFAAoF;YAC7F,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,IAAI;SACb;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EACL,wHAAwH;YAC1H,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;SACb;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,+DAA+D;YACxE,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,IAAI;SACb;KACF;IACD,OAAO,EAAE;QACP;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,8DAA8D;YACvE,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oDAAoD;YAC7D,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EACL,0FAA0F;YAC5F,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,8DAA8D;YACvE,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oDAAoD;YAC7D,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EACL,0FAA0F;YAC5F,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,8DAA8D;YACvE,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oDAAoD;YAC7D,SAAS,EAAE,WAAW;SACvB;QACD;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EACL,0FAA0F;YAC5F,SAAS,EAAE,WAAW;SACvB;KACF;IACD,mBAAmB,EAAE;QACnB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,gBAAgB;QACzB,aAAa,EAAE;YACb;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,MAAM;aACd;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,OAAO;aACf;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,KAAK;aACb;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,MAAM;aACd;SACF;QACD,eAAe,EAAE;YACf;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU;aAClB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,OAAO;aACf;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,WAAW;aACnB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,sBAAsB;aAC9B;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,YAAY;QACrB,aAAa,EAAE;YACb;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM;aACd;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,MAAM;aACd;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,MAAM;aACd;SACF;QACD,eAAe,EAAE;YACf;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU;aAClB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,OAAO;aACf;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,WAAW;aACnB;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,YAAY;QACrB,aAAa,EAAE;YACb;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM;aACd;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,MAAM;aACd;SACF;QACD,eAAe,EAAE;YACf;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU;aAClB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,OAAO;aACf;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,WAAW;aACnB;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC1D;QACE,EAAE,EAAE,wBAAwB;QAC5B,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC9D,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;YAClE,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;SACjE;KACF;IACD,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAsB,GAAG,EAAE;IAC3D,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAEtE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqC;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACjC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACjC,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,GAAuB,EAAE;QAC9E,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAuB,EAAE,EAAE;QACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,CAClB,EACE;MAAA,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAC7D;;MACF,EAAE,MAAM,CACR;MAAA,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAC3D;;MACF,EAAE,MAAM,CACV;IAAA,GAAG,CACJ,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAC1E;QAAA,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CACzB;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CACjD;YAAA,CAAC,KAAK,CACJ,KAAK,CAAC,YAAY,CAClB,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,QAAQ,CAAC,CAAC,CAAC,CAAgC,EAAE,EAAE;YAC7C,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,EAEN;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAC/C;YAAA,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CACxE;cAAA,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC/B,CAAC,QAAQ,CACP,KAAK,CAAC,CAAC,EAAE,CAAC,CACV,EAAE,CAAC,CAAC,EAAE,CAAC,CACP,IAAI,CAAC,CAAC,EAAE,CAAC,CACT,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACZ,SAAS,CACP,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;oBACnB,OAAO;wBACL,GAAG,KAAK;wBACR,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;qBAC1B,CAAC;iBACH;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CACH,CACF,EACD,CACH,CAAC,CACJ;YAAA,EAAE,aAAa,CACjB;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CACjD;YAAA,CAAC,QAAQ,CACP,KAAK,CAAC,QAAQ,CACd,IAAI,CAAC,eAAe,CACpB,QAAQ,CACR,QAAQ,CAAC,CACP,QAAQ;YACN,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ,EAAE,EAAE;oBAChB,IAAI,EAAE,QAAQ,EAAE,OAAO;iBACxB;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,UAAU;SACxB,CAAC,EAEN;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CAAC,CACR,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC;IAErC,MAAM,aAAa,GAAG;QACpB,YAAY;QACZ,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,YAAY;KACnB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ;YAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,CAAC,iBAAiB,CAChB,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,MAAM,CAAC,CACL,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,wBAAwB;YAC7E,CAAC,CAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAuB;YAC1E,CAAC,CAAE,QAAQ,EAAE,EAAuB,CACvC,CACD,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACzC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAE1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAkB;QAC9D,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9D,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC7D,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,CAAC,EAAuB,EAAE,EAAE;QAC7C,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAoB,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAClE;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CACrD;QAAA,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,MAAM,CACtD;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CACpD;QAAA,CAAC,QAAQ,CACP,KAAK,CAAC,WAAW,CACjB,IAAI,CAAC,eAAe,CACpB,QAAQ,CAAC,CACP,QAAQ;YACN,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ,EAAE,EAAE;oBAChB,IAAI,EAAE,QAAQ,EAAE,OAAO;iBACxB;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,CAAC;YACJ,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,UAAU;SACxB,CAAC,EAEN;MAAA,EAAE,IAAI,CAEN;;MAAA,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,iBAAiB,CAAC,CACzB,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAC7B,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,YAAY,CAAC,WAAW,CACxB,UAAU,CAAC,CAAC,KAAK,CAAC,EAEtB;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAsB,GAAG,EAAE;IAChE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAEtC,MAAM,aAAa,GAAG;QACpB,YAAY;QACZ,UAAU,EAAE,CAAC,kBAAkB,CAAC,AAAD,EAAG;QAClC,IAAI,EAAE,YAAY;KACnB,CAAC;IAEF,OAAO,CACL,CAAC,sBAAsB,CACrB,KAAK,CAAC,CAAC,EAAE,CAAC,CACV,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACzC,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\n ChangeEvent,\n createContext,\n FunctionComponent,\n MouseEvent,\n useCallback,\n useContext,\n useState,\n useEffect,\n useMemo\n} from 'react';\n\nimport {\n AppShellDrawerContext,\n Banner,\n Button,\n Flex,\n Form,\n Input,\n Option,\n Select,\n MenuProps,\n menuHelpers,\n MenuItemProps,\n CheckboxGroup,\n Checkbox,\n ComboBox\n} from '@pega/cosmos-react-core';\nimport { type UserAvailabilityStatusOption, CTIPanel } from '@pega/cosmos-react-cs';\nimport ChatSettingsPanel from '@pega/cosmos-react-social/lib/components/Chat/ChatSettingsPanel';\nimport { UserAvailability } from '@pega/cosmos-react-social/lib/components/Chat/Chat.types';\nimport { AppshellEmailSummaryList, EmailSummaryList } from '@pega/cosmos-react-social';\nimport EmailNotificationPanel from '@pega/cosmos-react-social/lib/components/Email/EmailNotificationPanel';\n\nimport { emailSummaryItems } from '../../social/Email/Email.mocks';\nimport {\n CallControlPanelDemo,\n ExternalCTIDemo\n} from '../CallControlPanel/CallControlPanel.stories';\nimport { userStatusOptions } from '../CallControlPanel/CallControlPanel.mocks';\n\nexport type LoginError = string;\n\nexport interface LoginFormProps {\n ctiLinkOptions: { [key: string]: string };\n onLogin: (\n ctiLinkId: keyof LoginFormProps['ctiLinkOptions'],\n agentId: string,\n password: string\n ) => Promise<LoginError | undefined>;\n onCancel: () => void;\n}\n\nexport const CallLoginForm: FunctionComponent<LoginFormProps> = ({\n ctiLinkOptions,\n onLogin,\n onCancel\n}: LoginFormProps) => {\n const [agentId, setAgentId] = useState<string>('');\n const [password, setPassword] = useState<string>('');\n const [extension, setExtension] = useState<string>('');\n const [ctiLinkId, setCTILinkId] = useState<string>(Object.keys(ctiLinkOptions)[0]);\n const [errorMessage, setErrorMessage] = useState<string>();\n\n const canSubmit = agentId && password && ctiLinkId && extension;\n\n const actions = (\n <>\n <Button key='cancel' name='cancel' variant='secondary' onClick={onCancel}>\n Cancel\n </Button>\n <Button\n key='submit'\n name='submit'\n type='submit'\n variant='primary'\n disabled={!canSubmit}\n onClick={(e: MouseEvent) => {\n e.preventDefault();\n onLogin(ctiLinkId!, agentId, password).then(setErrorMessage);\n }}\n >\n Login\n </Button>\n </>\n );\n\n return (\n <Form\n actions={actions}\n banners={errorMessage ? <Banner variant='urgent' messages={[errorMessage]} /> : undefined}\n >\n <Select required label='CTI link' onChange={e => setCTILinkId(e.target.value)}>\n {Object.entries(ctiLinkOptions).map(([id, label]) => (\n <Option value={id}>{label}</Option>\n ))}\n </Select>\n <Input\n required\n label='Agent ID'\n value={agentId}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setAgentId(e.target.value)}\n />\n <Input\n type='password'\n required\n label='Password'\n value={password}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setPassword(e.target.value)}\n />\n <Input\n required\n label='Extension'\n value={extension}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setExtension(e.target.value)}\n />\n </Form>\n );\n};\n\nexport const CTIControlPanelContext = createContext<{\n type: 'internal' | 'external';\n draggable?: boolean;\n applyAppStyling: boolean;\n}>({\n type: 'internal',\n draggable: true,\n applyAppStyling: false\n});\n\nexport const CTIControlPanel: FunctionComponent = () => {\n const [agentStatus, setAgentStatus] = useState<UserAvailabilityStatusOption>(\n userStatusOptions[0] as UserAvailabilityStatusOption\n );\n const [callPanelVisible, setCallPanelVisible] = useState(false);\n const { type, draggable, applyAppStyling } = useContext(CTIControlPanelContext);\n const { openDrawer, closeDrawer } = useContext(AppShellDrawerContext);\n\n const drawerView = (\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <CallLoginForm\n ctiLinkOptions={{\n valid: 'It will be accepted',\n invalid: 'This will raise an error'\n }}\n onLogin={ctiLink => {\n if (ctiLink === 'invalid') return Promise.resolve('Login incorrect');\n setAgentStatus(userStatusOptions[0]);\n setCallPanelVisible(true);\n closeDrawer();\n return Promise.resolve(undefined);\n }}\n onCancel={closeDrawer}\n />\n </Flex>\n );\n const drawerHeader = 'Pega Call Log In';\n\n return (\n <CTIPanel\n visible={callPanelVisible}\n status={agentStatus}\n onClick={() => {\n if (agentStatus.status === 'logout')\n openDrawer({\n drawerHeader,\n drawerView,\n name: drawerHeader\n });\n else setCallPanelVisible(prev => !prev);\n }}\n >\n {type === 'internal' ? (\n <CallControlPanelDemo\n heading='Agent'\n status={agentStatus.id}\n onStatusChange={status => {\n setAgentStatus(status);\n if (status.status === 'logout') setCallPanelVisible(false);\n }}\n isDraggable={draggable}\n showStatus\n visible={callPanelVisible}\n />\n ) : (\n <ExternalCTIDemo\n heading='External CTI'\n isDraggable={draggable}\n showStatus\n visible={callPanelVisible}\n applyAppStyling={applyAppStyling}\n />\n )}\n </CTIPanel>\n );\n};\n\nexport const AppShellMockData = {\n notifications: [\n {\n id: '123',\n primary:\n \"Dean Thomas mentioned your team in a bug 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345',\n visual: 'Dean Thomas',\n unread: true\n },\n {\n id: '456',\n primary: \"Seth DeAngelo mentioned your team in a bug 'Text variant h1 renders as h3 in DOM'.\",\n visual: 'Seth DeAngelo',\n secondary: 'BUG-12345',\n unread: true\n },\n {\n id: '789',\n primary:\n \"Janet Moore mentioned your team in a bug 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-12345',\n visual: 'Janet Moore',\n unread: true\n },\n {\n id: '000',\n primary: 'You have been awarded Employee of the Month! Congratulations!',\n secondary: '',\n visual: 'Cindy Turner',\n unread: true\n }\n ],\n recents: [\n {\n id: '123',\n primary: \"BUG-12345: 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345'\n },\n {\n id: '456',\n primary: \"BUG-54321: 'Text variant h1 renders as h3 in DOM'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '789',\n primary:\n \"BUG-00000: 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '111',\n primary: \"BUG-12345: 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345'\n },\n {\n id: '222',\n primary: \"BUG-54321: 'Text variant h1 renders as h3 in DOM'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '333',\n primary:\n \"BUG-00000: 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '444',\n primary: \"BUG-12345: 'Button does not initiate onClick event handler'.\",\n secondary: 'BUG-12345'\n },\n {\n id: '555',\n primary: \"BUG-54321: 'Text variant h1 renders as h3 in DOM'.\",\n secondary: 'BUG-00000'\n },\n {\n id: '666',\n primary:\n \"BUG-00000: 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: 'BUG-00000'\n }\n ],\n 'Phone interaction': {\n caseId: 'Customer',\n heading: 'Ginger Ventura',\n primaryFields: [\n {\n id: '0',\n name: 'Lifetime value',\n value: 'Gold'\n },\n {\n id: '1',\n name: 'Interaction type',\n value: 'Phone'\n },\n {\n id: '2',\n name: 'Churn risk',\n value: 'Low'\n },\n {\n id: '3',\n name: 'Status',\n value: 'Open'\n }\n ],\n secondaryFields: [\n {\n id: '0',\n name: 'Status',\n value: 'Verified'\n },\n {\n id: '1',\n name: 'Web login',\n value: 'Today'\n },\n {\n id: '2',\n name: 'Customer since',\n value: 'July 2018'\n },\n {\n id: '3',\n name: 'Address',\n value: '2213b Gormand street'\n }\n ]\n },\n 'Chat interaction': {\n caseId: 'Customer',\n heading: 'Sara Davis',\n primaryFields: [\n {\n id: '0',\n name: 'Lifetime value',\n value: 'Silver'\n },\n {\n id: '1',\n name: 'Interaction type',\n value: 'Chat'\n },\n {\n id: '2',\n name: 'Churn risk',\n value: 'High'\n },\n {\n id: '3',\n name: 'Status',\n value: 'Open'\n }\n ],\n secondaryFields: [\n {\n id: '0',\n name: 'Status',\n value: 'Verified'\n },\n {\n id: '1',\n name: 'Web login',\n value: 'Today'\n },\n {\n id: '2',\n name: 'Customer since',\n value: 'March 2005'\n },\n {\n id: '3',\n name: 'Address',\n value: '340 River'\n }\n ]\n },\n 'Mail interaction': {\n caseId: 'Customer',\n heading: 'John Brown',\n primaryFields: [\n {\n id: '0',\n name: 'Lifetime value',\n value: 'Bronze'\n },\n {\n id: '1',\n name: 'Interaction type',\n value: 'Mail'\n },\n {\n id: '2',\n name: 'Churn risk',\n value: 'Medium'\n },\n {\n id: '3',\n name: 'Status',\n value: 'Open'\n }\n ],\n secondaryFields: [\n {\n id: '0',\n name: 'Status',\n value: 'Verified'\n },\n {\n id: '1',\n name: 'Web login',\n value: 'Today'\n },\n {\n id: '2',\n name: 'Customer since',\n value: 'March 1995'\n },\n {\n id: '3',\n name: 'Address',\n value: '340 River'\n }\n ]\n }\n};\n\nexport const statuses = [\n { id: 'available', primary: 'Available', selected: false },\n {\n id: 'temporarilyUnavailable',\n primary: 'Temporarily unavailable',\n items: [\n { id: 'quick_break', primary: 'Quick break', selected: false },\n { id: 'personal_work', primary: 'Personal work', selected: false },\n { id: 'in_a_meeting', primary: 'In a meeting', selected: false }\n ]\n },\n { id: 'unavailable', primary: 'Unavailable', selected: false }\n];\n\nexport const ChatSettingsPanelMock: FunctionComponent = () => {\n const { openDrawer, closeDrawer } = useContext(AppShellDrawerContext);\n\n const [chatAlias, setChatAlias] = useState('');\n const [queues, setQueues] = useState<{ id: string; checked: boolean }[]>([\n { id: 'Billing', checked: false },\n { id: 'General', checked: false },\n { id: 'Technical', checked: false }\n ]);\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(statuses, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const formActions = (\n <>\n <Button name='Cancel' variant='secondary' onClick={closeDrawer}>\n Cancel\n </Button>\n <Button name='Submit' variant='primary' onClick={closeDrawer}>\n Submit\n </Button>\n </>\n );\n\n const chatSettings = useMemo(\n () => (\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }} item={{ grow: 1 }}>\n <Form actions={formActions}>\n <Flex container={{ direction: 'column', pad: 0.5 }}>\n <Input\n label='Chat alias'\n value={chatAlias}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setChatAlias(e.target.value);\n }}\n />\n </Flex>\n <Flex container={{ direction: 'column', pad: 1 }}>\n <CheckboxGroup label='Joined queues' name='queueslist' labelHidden={false}>\n {queues.map(({ id, checked }) => (\n <Checkbox\n label={id}\n id={id}\n name={id}\n checked={checked}\n onChange={e =>\n setQueues(\n queues.map(queue => {\n if (queue.id === id) {\n return {\n ...queue,\n checked: e.target.checked\n };\n }\n return queue;\n })\n )\n }\n />\n ))}\n </CheckboxGroup>\n </Flex>\n <Flex container={{ direction: 'column', pad: 0.5 }}>\n <ComboBox\n label='Status'\n mode='single-select'\n required\n selected={\n selected\n ? {\n items: {\n id: selected?.id,\n text: selected?.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n variant: 'drill-down',\n onItemClick: selectItem\n }}\n />\n </Flex>\n </Form>\n </Flex>\n ),\n [items]\n );\n\n const drawerHeader = 'Chat settings';\n\n const drawerContent = {\n drawerHeader,\n drawerView: chatSettings,\n name: drawerHeader\n };\n\n useEffect(() => {\n if (selected) openDrawer(drawerContent);\n }, [selected]);\n\n return (\n <ChatSettingsPanel\n label={drawerHeader}\n status={\n menuHelpers.getParentItem(items, selected?.id)?.id === 'temporarilyUnavailable'\n ? (menuHelpers.getParentItem(items, selected?.id)?.id as UserAvailability)\n : (selected?.id as UserAvailability)\n }\n onClick={() => openDrawer(drawerContent)}\n />\n );\n};\n\nconst EmailNotifications = () => {\n const { closeDrawer } = useContext(AppShellDrawerContext);\n\n const [sortOptions, setSortOptions] = useState<MenuItemProps[]>([\n { id: 'Most recent', primary: 'Most recent', selected: true },\n { id: 'Most urgent', primary: 'Most urgent', selected: false },\n { id: 'All unread', primary: 'All unread', selected: false }\n ]);\n\n const selected = menuHelpers.getSelected(sortOptions)[0];\n\n const selectItem = (id: MenuItemProps['id']) => {\n setSortOptions(cur => menuHelpers.selectItem(cur, id, 'single-select') as MenuItemProps[]);\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }} item={{ grow: 1 }}>\n <Flex container={{ justify: 'center', pad: [1, 0, 0] }}>\n <Button onClick={closeDrawer}>Get next email</Button>\n </Flex>\n <Flex container={{ direction: 'column', pad: [0, 2] }}>\n <ComboBox\n label='Sorted by'\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected?.id,\n text: selected?.primary\n }\n }\n : undefined\n }\n menu={{\n items: sortOptions,\n onItemClick: selectItem\n }}\n />\n </Flex>\n\n <EmailSummaryList\n items={emailSummaryItems}\n as={AppshellEmailSummaryList}\n onItemClick={closeDrawer}\n emptyMessage='No emails'\n selectable={false}\n />\n </Flex>\n );\n};\n\nexport const EmailNotificationPanelMock: FunctionComponent = () => {\n const { openDrawer } = useContext(AppShellDrawerContext);\n\n const drawerHeader = 'My open emails';\n\n const drawerContent = {\n drawerHeader,\n drawerView: <EmailNotifications />,\n name: drawerHeader\n };\n\n return (\n <EmailNotificationPanel\n count={15}\n label={drawerHeader}\n onClick={() => openDrawer(drawerContent)}\n />\n );\n};\n"]}
|