@pega/cosmos-react-demos 4.0.0-dev.6.1 → 4.0.0-dev.7.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/build/LifeCycle/LifeCycle.stories.d.ts.map +1 -1
- package/jsx/build/LifeCycle/LifeCycle.stories.jsx +44 -3
- package/jsx/build/LifeCycle/LifeCycle.stories.jsx.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +2 -0
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
- package/jsx/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
- package/jsx/condition-builder/ConditionBuilder/props.mock.js +2 -0
- package/jsx/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
- package/jsx/core/LiveLog/LiveLog.mocks.d.ts +5 -0
- package/jsx/core/LiveLog/LiveLog.mocks.d.ts.map +1 -0
- package/jsx/core/LiveLog/LiveLog.mocks.jsx +47 -0
- package/jsx/core/LiveLog/LiveLog.mocks.jsx.map +1 -0
- package/jsx/core/LiveLog/LiveLog.stories.d.ts +9 -0
- package/jsx/core/LiveLog/LiveLog.stories.d.ts.map +1 -0
- package/jsx/core/LiveLog/LiveLog.stories.jsx +19 -0
- package/jsx/core/LiveLog/LiveLog.stories.jsx.map +1 -0
- package/jsx/core/Progress/Progress.stories.d.ts +2 -1
- package/jsx/core/Progress/Progress.stories.d.ts.map +1 -1
- package/jsx/core/Progress/Progress.stories.jsx +60 -20
- package/jsx/core/Progress/Progress.stories.jsx.map +1 -1
- package/jsx/core/QRCode/QRCode.stories.d.ts +9 -0
- package/jsx/core/QRCode/QRCode.stories.d.ts.map +1 -0
- package/jsx/core/QRCode/QRCode.stories.jsx +17 -0
- package/jsx/core/QRCode/QRCode.stories.jsx.map +1 -0
- package/jsx/core/SearchInput/SearchInput.stories.jsx +1 -1
- package/jsx/core/SearchInput/SearchInput.stories.jsx.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +1 -0
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
- package/jsx/social/Feed/Feed.mocks.d.ts.map +1 -1
- package/jsx/social/Feed/Feed.mocks.jsx +2 -2
- 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 +1 -3
- package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
- package/jsx/tools/Clipboard/Clipboard.stories.d.ts.map +1 -1
- package/jsx/tools/Clipboard/Clipboard.stories.jsx +12 -14
- package/jsx/tools/Clipboard/Clipboard.stories.jsx.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts +11 -1
- package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx +22 -0
- package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts +4 -2
- package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.stories.jsx +69 -47
- package/jsx/tools/PreviewShell/PreviewShell.stories.jsx.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.styles.d.ts +1 -2
- package/jsx/tools/PreviewShell/PreviewShell.styles.d.ts.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.styles.js +1 -2
- package/jsx/tools/PreviewShell/PreviewShell.styles.js.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.d.ts +2 -2
- package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.jsx +2 -2
- package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
- package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.stories.jsx +3 -3
- package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
- package/jsx/work/IntelligentGuidance/IntelligentGuidance.stories.d.ts.map +1 -1
- package/jsx/work/IntelligentGuidance/IntelligentGuidance.stories.jsx +9 -2
- package/jsx/work/IntelligentGuidance/IntelligentGuidance.stories.jsx.map +1 -1
- package/lib/build/LifeCycle/LifeCycle.stories.d.ts.map +1 -1
- package/lib/build/LifeCycle/LifeCycle.stories.js +44 -4
- package/lib/build/LifeCycle/LifeCycle.stories.js.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.js +2 -0
- package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
- package/lib/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
- package/lib/condition-builder/ConditionBuilder/props.mock.js +2 -0
- package/lib/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
- package/lib/core/LiveLog/LiveLog.mocks.d.ts +5 -0
- package/lib/core/LiveLog/LiveLog.mocks.d.ts.map +1 -0
- package/lib/core/LiveLog/LiveLog.mocks.js +29 -0
- package/lib/core/LiveLog/LiveLog.mocks.js.map +1 -0
- package/lib/core/LiveLog/LiveLog.stories.d.ts +9 -0
- package/lib/core/LiveLog/LiveLog.stories.d.ts.map +1 -0
- package/lib/core/LiveLog/LiveLog.stories.js +20 -0
- package/lib/core/LiveLog/LiveLog.stories.js.map +1 -0
- package/lib/core/Progress/Progress.stories.d.ts +2 -1
- package/lib/core/Progress/Progress.stories.d.ts.map +1 -1
- package/lib/core/Progress/Progress.stories.js +57 -19
- package/lib/core/Progress/Progress.stories.js.map +1 -1
- package/lib/core/QRCode/QRCode.stories.d.ts +9 -0
- package/lib/core/QRCode/QRCode.stories.d.ts.map +1 -0
- package/lib/core/QRCode/QRCode.stories.js +18 -0
- package/lib/core/QRCode/QRCode.stories.js.map +1 -0
- package/lib/core/SearchInput/SearchInput.stories.js +1 -1
- package/lib/core/SearchInput/SearchInput.stories.js.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js +1 -0
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
- package/lib/social/Feed/Feed.mocks.d.ts.map +1 -1
- package/lib/social/Feed/Feed.mocks.js +2 -2
- 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 +1 -1
- package/lib/social/Feed/FeedPost.stories.js.map +1 -1
- package/lib/tools/Clipboard/Clipboard.stories.d.ts.map +1 -1
- package/lib/tools/Clipboard/Clipboard.stories.js +13 -17
- package/lib/tools/Clipboard/Clipboard.stories.js.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts +11 -1
- package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.mocks.js +20 -0
- package/lib/tools/PreviewShell/PreviewShell.mocks.js.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.stories.d.ts +4 -2
- package/lib/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.stories.js +69 -47
- package/lib/tools/PreviewShell/PreviewShell.stories.js.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.styles.d.ts +1 -2
- package/lib/tools/PreviewShell/PreviewShell.styles.d.ts.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.styles.js +1 -2
- package/lib/tools/PreviewShell/PreviewShell.styles.js.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.d.ts +2 -2
- package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.js +2 -2
- package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
- package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.stories.js +3 -3
- package/lib/work/CaseView/CaseView.stories.js.map +1 -1
- package/lib/work/IntelligentGuidance/IntelligentGuidance.stories.d.ts.map +1 -1
- package/lib/work/IntelligentGuidance/IntelligentGuidance.stories.js +9 -2
- package/lib/work/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.stories.d.ts","sourceRoot":"","sources":["../../../src/build/LifeCycle/LifeCycle.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;
|
|
1
|
+
{"version":3,"file":"LifeCycle.stories.d.ts","sourceRoot":"","sources":["../../../src/build/LifeCycle/LifeCycle.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAiD/C,wBAWU;AAEV,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAgN9C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,kBAAkB,CA+MnD,CAAC;AACF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAkdlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,kBAAkB,CAiNvD,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { memo, useEffect, useMemo, useState } from 'react';
|
|
2
|
-
import { LifeCycle, Workbench } from '@pega/cosmos-react-build';
|
|
3
|
-
import { Input, Option, Select } from '@pega/cosmos-react-core';
|
|
2
|
+
import { LifeCycle, Workbench, ObjectSelect } from '@pega/cosmos-react-build';
|
|
3
|
+
import { Input, Option, Select, menuHelpers } from '@pega/cosmos-react-core';
|
|
4
|
+
import { getInitConditionForLhs } from '@pega/cosmos-react-condition-builder';
|
|
5
|
+
import { ConfigurationContent, dataPages, demoDateFunctions, demoFields } from '../ObjectSelect/ObjectSelect.mocks';
|
|
4
6
|
import { lifeCycleEmptyData, lifeCycleEmptyPlanViewData, lifeCyclePlanViewData, lifeCycleWorkFlowData, planViewNodeLibrary, workFlowNodeLibrary } from './LifeCycle.mocks';
|
|
5
7
|
import { addStepCallback, deleteStepCallback, addTaskCallback, deleteTaskCallback, addStageCallback, deleteStageCallback, updateStageCallback, updateStepCallback, updateTaskCallback } from './utils';
|
|
6
8
|
export default {
|
|
@@ -518,6 +520,26 @@ export const WorkFlowView = (args) => {
|
|
|
518
520
|
const onSelectChange = (e) => {
|
|
519
521
|
setSelectedOptionValue({ id: e.target.selectedIndex, value: e.target.value });
|
|
520
522
|
};
|
|
523
|
+
const convertRhsTypes = (useLiteralRHSType, useFieldRHSType, useRelativeDatesType, dateFunctions) => {
|
|
524
|
+
const setRhsTypes = new Set();
|
|
525
|
+
if (useLiteralRHSType)
|
|
526
|
+
setRhsTypes.add('LITERAL');
|
|
527
|
+
if (useFieldRHSType)
|
|
528
|
+
setRhsTypes.add('FIELD');
|
|
529
|
+
if (dateFunctions)
|
|
530
|
+
setRhsTypes.add('DATE_FUNCTION');
|
|
531
|
+
if (useRelativeDatesType)
|
|
532
|
+
setRhsTypes.add('RELATIVE_DATE');
|
|
533
|
+
return setRhsTypes;
|
|
534
|
+
};
|
|
535
|
+
const validRHSTypes = convertRhsTypes(true, true, true, demoDateFunctions);
|
|
536
|
+
const [condition, setCondition] = useState(() => getInitConditionForLhs({ field: 'details.age' }, demoFields, validRHSTypes, undefined, demoDateFunctions));
|
|
537
|
+
const [value, setValue] = useState();
|
|
538
|
+
const [dataPagesDelayed, setDataPagesDelayed] = useState([]);
|
|
539
|
+
useEffect(() => {
|
|
540
|
+
const timeout = setTimeout(() => setDataPagesDelayed(dataPages), 2000);
|
|
541
|
+
return () => clearTimeout(timeout);
|
|
542
|
+
}, []);
|
|
521
543
|
return (<>
|
|
522
544
|
<Input type='text' defaultValue={inputValue} label={`${activeFieldItem?.type} name`} labelHidden={false} info={inputError ? 'Cannot be blank' : ''} placeholder='' status={inputError ? 'error' : undefined} required readOnly={args.readOnly} onBlur={onInputBlur}/>
|
|
523
545
|
<Select label='Route to' labelHidden={false} value={selectedOptionValue.value} onChange={onSelectChange} readOnly={args.readOnly}>
|
|
@@ -525,6 +547,25 @@ export const WorkFlowView = (args) => {
|
|
|
525
547
|
return <Option key={_eachOption.id}>{_eachOption.value}</Option>;
|
|
526
548
|
})}
|
|
527
549
|
</Select>
|
|
550
|
+
<ObjectSelect label='Validation for entering step' createConfiguration={{ href: 'https://www.pega.com' }} loading={dataPagesDelayed.length === 0} placeholder='Select...' onChange={id => {
|
|
551
|
+
const data = menuHelpers.getItem(dataPages, id);
|
|
552
|
+
if (data) {
|
|
553
|
+
setValue({
|
|
554
|
+
id: data.id,
|
|
555
|
+
primary: data.primary,
|
|
556
|
+
meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
else
|
|
560
|
+
setValue(undefined);
|
|
561
|
+
}} items={dataPagesDelayed} configuration={{
|
|
562
|
+
label: 'Edit Configuration',
|
|
563
|
+
heading: 'Map Parameters',
|
|
564
|
+
onSubmit: () => null,
|
|
565
|
+
onClose: () => null,
|
|
566
|
+
placement: 'auto',
|
|
567
|
+
children: (<ConfigurationContent {...args} popoverContent='simple' condition={condition} setCondition={setCondition} validRHSTypes={validRHSTypes}/>)
|
|
568
|
+
}} value={value}/>
|
|
528
569
|
</>);
|
|
529
570
|
});
|
|
530
571
|
useEffect(() => {
|
|
@@ -543,7 +584,7 @@ export const WorkFlowView = (args) => {
|
|
|
543
584
|
? []
|
|
544
585
|
: [
|
|
545
586
|
{
|
|
546
|
-
text: 'Delete
|
|
587
|
+
text: 'Delete',
|
|
547
588
|
id: 'delete10',
|
|
548
589
|
icon: 'trash',
|
|
549
590
|
onClick: deleteProcessStep
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.stories.jsx","sourceRoot":"","sources":["../../../src/build/LifeCycle/LifeCycle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGvE,OAAO,EACL,SAAS,EAOT,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;KACF;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,KAAK;KAChB;CACM,CAAC;AAMV,MAAM,CAAC,MAAM,QAAQ,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAC9E,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,qBAAqB;KACN,CAAC;IACxB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,CAAC,QAA8B,EAAE,OAAoB,EAAE,EAAE;QACvE,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAyC;gBAC7D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACG;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACtB,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,QAAQ,CAAC,IAAI;YAChB,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAK,CAAC,KAAK,EAAE,OAAO,CAAC;SACV,CAAC;QAElC,MAAM,WAAW,GAAyB,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE7E,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC/D,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAA8B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAA8B,EAAE,EAAE;QACjD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5D,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAA8B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7D,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACtE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,aAAa,GAA+B,KAAK,CAAC,EAAE;QACxD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,WAAW,KAAK,YAAY,EAAE;YAEhC,KAAK,CAAC,mCAAmC,CAAC,CAAC;SAC5C;aAAM;YACL,eAAe,CAAC,WAAW,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,MAAM,SAAS,GAAuB,QAAQ,CAAC,cAAc,CAC3D,GAAG,YAAY,CAAC,eAAe,EAAE,CAClC,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAA0B,CAAC;IAE5D,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,eAAmC,CAAC;IAE9E,MAAM,UAAU,GAA0B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;IAEvE,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;YACzE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;SACjE,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EACvF,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,MAAM,CAAC,CACd,cAAc,CAAC,CAAC,eAAe,CAAC,CAChC,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,UAAU;gBACxB,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,OAAO;iBACnB;gBACD,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,mBAAmB;aACjC;YACD;gBACE,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,kBAAkB;gBAChC,OAAO,EAAE;oBACP,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,OAAO;iBACnB;gBACD,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,mBAAmB;aACjC;SACF,CAAC,CACF,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,cAAc;aACxB;YACD;gBACE,OAAO,EAAE,iBAAiB;aAC3B;SACF,CAAC,CACF,KAAK,CAAC,CAAC;YACL,OAAO,EAAE,YAAY;SACtB,CAAC,CACF,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CACF,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA8B,CAAC,IAAwB,EAAE,EAAE;IACnF,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,0BAA0B;KACX,CAAC;IACxB,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,CAAC,QAA8B,EAAE,OAAoB,EAAE,EAAE;QACvE,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAyC;gBAC7D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACG;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACtB,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,QAAQ,CAAC,IAAI;YAChB,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAK,CAAC,KAAK,EAAE,OAAO,CAAC;SACV,CAAC;QAElC,MAAM,WAAW,GAAyB,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE7E,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACpE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAA8B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACpE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAA8B,EAAE,EAAE;QACjD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEjE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAA8B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACpE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,WAAW,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAClE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QAC3E,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,aAAa,GAA+B,KAAK,CAAC,EAAE;QACxD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAClE,IAAI,WAAW,KAAK,YAAY,EAAE;YAEhC,KAAK,CAAC,mCAAmC,CAAC,CAAC;SAC5C;aAAM;YACL,eAAe,CAAC,WAAW,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,CAAC,eAAe,EAAE;YACrC,MAAM,SAAS,GAAuB,QAAQ,CAAC,cAAc,CAC3D,GAAG,iBAAiB,CAAC,eAAe,EAAE,CACvC,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAA0B,CAAC;IACjE,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAmC,CAAC;IACnF,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAmC,CAAC;IAE9E,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;aACpB;SACF,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;YACzE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;SACjE,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EACvF,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,MAAM,CAAC,CACd,cAAc,CAAC,CAAC,eAAe,CAAC,CAChC,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,UAAU;gBACxB,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,OAAO;iBACnB;gBACD,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,mBAAmB;aACjC;YACD;gBACE,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,kBAAkB;gBAChC,OAAO,EAAE;oBACP,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,OAAO;iBACnB;gBACD,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,mBAAmB;aACjC;SACF,CAAC,CACF,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,cAAc;aACxB;YACD;gBACE,OAAO,EAAE,iBAAiB;aAC3B;SACF,CAAC,CACF,KAAK,CAAC,CAAC;YACL,OAAO,EAAE,YAAY;SACtB,CAAC,CACF,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CACF,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA8B,CAAC,IAAwB,EAAE,EAAE;IAClF,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,qBAAqB;KACN,CAAC;IACxB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAA0C,CAAC;IACjG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAU,CAAC;IACvD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG;QACpB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QACtB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE;QAChC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE;KAC/B,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAG,CAAC,QAA8B,EAAE,OAAoB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAyC;gBAC7D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACG;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACtB,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,QAAQ,CAAC,IAAI;YAChB,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAK,CAAC,KAAK,EAAE,OAAO,CAAC;SACV,CAAC;QAElC,MAAM,WAAW,GAAyB,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE7E,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC/D,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAA8B,EAAE,EAAE;QAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,eAAe,EAAE,EAAE,EAAE;YAC9C,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;QACD,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAA8B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5D,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,QAA8B,EAAE,EAAE;QAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAClE,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,QAA8B,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,eAAe,EAAE,EAAE,EAAE;YAC9C,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;QACD,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7D,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACtE,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7E,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,aAAa,GAA+B,CAAC,SAA+B,EAAE,EAAE;QACpF,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,WAAW,KAAK,YAAY,EAAE;YAEhC,KAAK,CAAC,mCAAmC,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,eAAe,EAAE,EAAE,EAAE;gBAChD,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;YACD,eAAe,CAAC,WAAW,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAE/B,MAAM,cAAc,GAAG,CAAC,YAAkC,EAAE,EAAE;QAC5D,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,QAAQ,YAAY,CAAC,IAAI,EAAE;YACzB,KAAK,MAAM;gBACT,kBAAkB,CAAC,EAAE,GAAG,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,EAAE;oBACnC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpB,aAAa,CAAC,EAAE,CAAC,CAAC;iBACnB;qBAAM;oBACL,aAAa,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,kBAAkB,CAAC,EAAE,GAAG,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,EAAE;oBACnC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpB,aAAa,CAAC,EAAE,CAAC,CAAC;iBACnB;qBAAM;oBACL,aAAa,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,kBAAkB,CAAC,EAAE,GAAG,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrE,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,EAAE;oBACpC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpB,aAAa,CAAC,EAAE,CAAC,CAAC;iBACnB;qBAAM;oBACL,aAAa,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,MAAM;YACR;gBACE,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACjC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,WAA+B,CAAC;QACpC,MAAM,SAAS,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;QACzC,IAAI,YAAoB,CAAC;QACzB,IAAI,UAAU,KAAK,EAAE,EAAE;YACrB,YAAY,GAAG,sBAAsB,CAAC;YACtC,IAAI,eAAe,EAAE,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE;gBACxD,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;gBACrC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;gBACnC,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC3D,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC/B;iBAAM,IAAI,eAAe,EAAE,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC7D,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;gBACpC,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC1D,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,SAAS,CAAC,IAAI,EAAE;oBAClB,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;oBACpC,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;iBACnC;gBACD,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC1D,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC/B;YAED,eAAe,CAAC,WAAW,CAAC,CAAC;SAC9B;aAAM;YACL,YAAY,GAAG,EAAE,CAAC;YAElB,IACE,CAAC,eAAe,EAAE,IAAI,KAAK,OAAO,IAAI,eAAe,EAAE,IAAI,KAAK,iBAAiB,CAAC;gBAClF,SAAS,CAAC,KAAK,EACf;gBACA,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;gBACrC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,UAAU,EAAE,CAAC;gBACxC,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC3D,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC/B;iBAAM,IAAI,eAAe,EAAE,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC7D,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;gBACpC,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC1D,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,SAAS,CAAC,IAAI,EAAE;oBAClB,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;oBACpC,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,UAAU,EAAE,CAAC;iBACxC;gBACD,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC1D,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC/B;YACD,eAAe,CAAC,WAAW,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACjC,MAAM,WAAW,GAAG,CAAC,CAA+B,EAAE,EAAE;YACtD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE;gBACzB,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,kBAAkB,CAAC,EAAE,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACnE;iBAAM;gBACL,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,kBAAkB,CAAC,EAAE,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACnE;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,CAAgC,EAAE,EAAE;YAC1D,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;QACF,OAAO,CACL,EACE;QAAA,CAAC,KAAK,CACJ,IAAI,CAAC,MAAM,CACX,YAAY,CAAC,CAAC,UAAU,CAAC,CACzB,KAAK,CAAC,CAAC,GAAG,eAAe,EAAE,IAAI,OAAO,CAAC,CACvC,WAAW,CAAC,CAAC,KAAK,CAAC,CACnB,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1C,WAAW,CAAC,EAAE,CACd,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CACzC,QAAQ,CACR,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,MAAM,CAAC,CAAC,WAAW,CAAC,EAEtB;QAAA,CAAC,MAAM,CACL,KAAK,CAAC,UAAU,CAChB,WAAW,CAAC,CAAC,KAAK,CAAC,CACnB,KAAK,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CACjC,QAAQ,CAAC,CAAC,cAAc,CAAC,CACzB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAExB;UAAA,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBAC/B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;YACnE,CAAC,CAAC,CACJ;QAAA,EAAE,MAAM,CACV;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,MAAM,SAAS,GAAuB,QAAQ,CAAC,cAAc,CAC3D,GAAG,YAAY,CAAC,eAAe,EAAE,CAClC,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAA0B,CAAC;IAC5D,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,eAAmC,CAAC;IAC9E,MAAM,UAAU,GAA0B,qBAAqB,CAAC,UAAU,CAAC;IAE3E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,iBAAiB;iBAC3B;aACF,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;aACF;YACH,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,gBAAgB;oBACtB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,aAAa;iBACvB;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;aACF,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACE,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,EAAE;gBACb,gBAAgB,EAAE,EAAE;aACrB;YACH,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBACzE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;iBAC1E;gBACD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBACzE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACzE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;gBACD,cAAc,EAAE;oBACd,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;gBACD,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE;oBACT,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;gBACD,gBAAgB,EAAE;oBAChB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;aACF,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpB,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;YACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;YACzE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;SACjE,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,CAAC,SAAS,CACR,uBAAuB,CAAC,CAAC,SAAS,CAAC,CACnC,kBAAkB,CAAC,CAAC;YAClB,IAAI;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC,AAAD,EAAG;YAC7B,MAAM,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,eAAe,EAAE,IAAI,CAAW;YACnE,SAAS,EAAE,GAAG,EAAE;gBACd,oBAAoB,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAEF;MAAA,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,MAAM,CAAC,CACd,cAAc,CAAC,CAAC,eAAe,CAAC,CAChC,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,UAAU;iBACtB;gBACD,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,cAAc;gBACzB,WAAW,EAAE,mBAAmB;aACjC;SACF,CAAC,CACF,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,cAAc;aACxB;SACF,CAAC,CACF,KAAK,CAAC,CAAC;YACL,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,cAAc;SACxB,CAAC,CACF,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,cAAc;SACxB,CAAC,CACF,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,cAAc,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CACpC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAE5B;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,IAAwB,EAAE,EAAE;IACvF,MAAM,UAAU,GAAG;QACjB,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,kBAAkB;KACH,CAAC;IACxB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAqB,UAAU,CAAC,CAAC;IAErF,MAAM,cAAc,GAAG,CAAC,QAA8B,EAAE,OAAoB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAyC;gBAC7D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACG;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACtB,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,QAAQ,CAAC,IAAI;YAChB,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAK,CAAC,KAAK,EAAE,OAAO,CAAC;SACV,CAAC;QAElC,MAAM,WAAW,GAAyB,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE7E,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACjE,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAA8B,EAAE,EAAE;QAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAA8B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC9D,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,QAA8B,EAAE,EAAE;QAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACpE,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,QAA8B,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/D,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACxE,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,aAAa,GAA+B,KAAK,CAAC,EAAE;QACxD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,WAAW,KAAK,YAAY,EAAE;YAEhC,KAAK,CAAC,mCAAmC,CAAC,CAAC;SAC5C;aAAM;YACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,CAAC,eAAe,EAAE;YAClC,MAAM,SAAS,GAAuB,QAAQ,CAAC,cAAc,CAC3D,GAAG,cAAc,CAAC,eAAe,EAAE,CACpC,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB;SACF;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAA0B,CAAC;IAC9D,MAAM,eAAe,GAAqB,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC;IAC9E,MAAM,UAAU,GAA0B,kBAAkB,CAAC,UAAU,CAAC;IAExE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,iBAAiB;iBAC3B;aACF,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;aACF;YACH,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,gBAAgB;oBACtB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,aAAa;iBACvB;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;aACF,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACE,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,EAAE;gBACb,gBAAgB,EAAE,EAAE;aACrB;YACH,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBACzE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;iBAC1E;gBACD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBACzE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACzE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;gBACD,cAAc,EAAE;oBACd,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;gBACD,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE;oBACT,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;gBACD,gBAAgB,EAAE;oBAChB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;iBACjE;aACF,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpB,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE,CACH,IAAI,CAAC,QAAQ;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;YACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;YACzE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;SACjE,EACP,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,MAAM,CAAC,CACd,cAAc,CAAC,CAAC,eAAe,CAAC,CAChC,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,UAAU;iBACtB;gBACD,SAAS,EAAE,cAAc;gBACzB,WAAW,EAAE,mBAAmB;aACjC;SACF,CAAC,CACF,IAAI,CAAC,CAAC;YACJ;gBACE,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CACF,KAAK,CAAC,CAAC;YACL,OAAO,EAAE,YAAY;SACtB,CAAC,CACF,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CACF,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { FocusEvent, memo, useEffect, useMemo, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n LifeCycle,\n StageItemProps,\n CategoriesItemProps,\n LifeCycleActionParam,\n LifeCycleAction,\n StepItemProps,\n LibraryItem,\n Workbench\n} from '@pega/cosmos-react-build';\nimport { Input, Option, Select } from '@pega/cosmos-react-core';\n\nimport {\n lifeCycleEmptyData,\n lifeCycleEmptyPlanViewData,\n lifeCyclePlanViewData,\n lifeCycleWorkFlowData,\n planViewNodeLibrary,\n workFlowNodeLibrary\n} from './LifeCycle.mocks';\nimport {\n addStepCallback,\n deleteStepCallback,\n addTaskCallback,\n deleteTaskCallback,\n addStageCallback,\n deleteStageCallback,\n LifeCycleMockState,\n updateStageCallback,\n updateStepCallback,\n updateTaskCallback\n} from './utils';\n\nexport default {\n title: 'Build/LifeCycle',\n component: LifeCycle,\n argTypes: {\n readOnly: {\n control: { type: 'boolean' }\n }\n },\n args: {\n readOnly: false\n }\n} as Meta;\n\nexport interface LifeCycleDemoProps {\n readOnly: boolean;\n}\n\nexport const PlanView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const workFlowState = {\n activeElementId: '',\n data: lifeCyclePlanViewData\n } as LifeCycleMockState;\n const [planViewData, setPlanViewData] = useState(workFlowState);\n\n const addStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, planViewData);\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, planViewData);\n setPlanViewData(changedData);\n };\n\n const addTask = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, planViewData);\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteTask = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, planViewData);\n setPlanViewData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(planViewData, 'stages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(planViewData, 'alternateStages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = param => {\n const changedData = deleteStageCallback(param, planViewData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n setPlanViewData(changedData);\n }\n };\n\n useEffect(() => {\n if (planViewData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${planViewData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = planViewData.data.stages as StageItemProps[];\n\n const alternateStages = planViewData.data.alternateStages as StageItemProps[];\n\n const categories: CategoriesItemProps[] = planViewData.data.categories;\n\n const channelActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete channel',\n id: 'delete5',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const dataSourceActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data source',\n id: 'delete6',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const personaActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete persona',\n id: 'delete2',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const dataActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data',\n id: 'delete4',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const stageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [{ text: 'Delete Stage', id: 'delete11', icon: 'trash', onClick: onDeleteStage }],\n [args.readOnly]\n );\n\n return (\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: personaActions,\n addStepTitle: 'channels',\n addTask: {\n title: 'Persona',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: planViewNodeLibrary\n },\n {\n actions: dataActions,\n addStepTitle: 'Data and Systems',\n addTask: {\n title: 'Data',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: planViewNodeLibrary\n }\n ]}\n step={[\n {\n actions: channelActions\n },\n {\n actions: dataSourceActions\n }\n ]}\n stage={{\n actions: stageActions\n }}\n alternateStage={{\n actions: alternateStageActions\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n readOnly={args.readOnly}\n />\n );\n};\n\nexport const EmptyPlanView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const emptyPlanView = {\n activeElementId: '',\n data: lifeCycleEmptyPlanViewData\n } as LifeCycleMockState;\n const [emptyplanViewData, setPlanViewData] = useState(emptyPlanView);\n\n const addStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, emptyplanViewData);\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, emptyplanViewData);\n setPlanViewData(changedData);\n };\n\n const addTask = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, emptyplanViewData);\n\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteTask = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, emptyplanViewData);\n setPlanViewData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(emptyplanViewData, 'stages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(emptyplanViewData, 'alternateStages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = param => {\n const changedData = deleteStageCallback(param, emptyplanViewData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n setPlanViewData(changedData);\n }\n };\n\n useEffect(() => {\n if (emptyplanViewData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${emptyplanViewData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = emptyplanViewData.data.stages as StageItemProps[];\n const alternateStages = emptyplanViewData.data.alternateStages as StageItemProps[];\n const categories = emptyplanViewData.data.categories as CategoriesItemProps[];\n\n const channelActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete channel',\n id: 'delete5',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const dataSourceActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data source',\n id: 'delete6',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const personaActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete persona',\n id: 'delete2',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const dataActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data',\n id: 'delete4',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const stageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [{ text: 'Delete Stage', id: 'delete11', icon: 'trash', onClick: onDeleteStage }],\n [args.readOnly]\n );\n\n return (\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: personaActions,\n addStepTitle: 'channels',\n addTask: {\n title: 'Persona',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: planViewNodeLibrary\n },\n {\n actions: dataActions,\n addStepTitle: 'Data and Systems',\n addTask: {\n title: 'Data',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: workFlowNodeLibrary\n }\n ]}\n step={[\n {\n actions: channelActions\n },\n {\n actions: dataSourceActions\n }\n ]}\n stage={{\n actions: stageActions\n }}\n alternateStage={{\n actions: alternateStageActions\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n readOnly={args.readOnly}\n />\n );\n};\n\nexport const WorkFlowView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const workFlowState = {\n activeElementId: '',\n data: lifeCycleWorkFlowData\n } as LifeCycleMockState;\n const [workFlowData, setWorkFlowData] = useState(workFlowState);\n const [activeFieldItem, setActiveFieldItem] = useState<LifeCycleActionParam & { id?: string }>();\n const [open, setOpen] = useState(false);\n const [inputError, setInputError] = useState(false);\n const [inputValue, setInputValue] = useState<string>();\n const [selectedOptionValue, setSelectedOptionValue] = useState({ id: 0, value: 'Choose' });\n const selectOptions = [\n { id: 0, value: 'Choose' },\n { id: 1, value: 'Me' },\n { id: 2, value: 'Current User' },\n { id: 3, value: 'Work Queue' }\n ];\n\n useEffect(() => {\n setInputValue(activeFieldItem?.value);\n }, [activeFieldItem]);\n\n const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, workFlowData);\n setActiveFieldItem({ ...changedData.newStepData, type: 'Step' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, workFlowData);\n if (stepData?.step?.id === activeFieldItem?.id) {\n setActiveFieldItem(undefined);\n setOpen(false);\n }\n setWorkFlowData(changedData);\n };\n\n const addProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, workFlowData);\n setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const addParallelProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, workFlowData, true);\n setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n setWorkFlowData(changedData.dataClone);\n setOpen(true);\n };\n\n const deleteProcess = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, workFlowData);\n if (taskData?.task?.id === activeFieldItem?.id) {\n setActiveFieldItem(undefined);\n setOpen(false);\n }\n setWorkFlowData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(workFlowData, 'stages');\n setActiveFieldItem({ ...changedData.newStageData, type: 'Stage' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(workFlowData, 'alternateStages');\n setActiveFieldItem({ ...changedData.newStageData, type: 'Alternate Stage' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = (stageData: LifeCycleActionParam) => {\n const changedData = deleteStageCallback(stageData, workFlowData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n if (stageData?.stage?.id === activeFieldItem?.id) {\n setActiveFieldItem(undefined);\n setOpen(false);\n }\n setWorkFlowData(changedData);\n }\n };\n\n const onOpenProcess = () => {};\n\n const onSelectedItem = (selectedData: LifeCycleActionParam) => {\n setSelectedOptionValue({ id: 0, value: 'Choose' });\n switch (selectedData.type) {\n case 'Step':\n setActiveFieldItem({ ...selectedData, id: selectedData?.step?.id });\n if (selectedData.step?.error !== '') {\n setInputError(true);\n setInputValue('');\n } else {\n setInputError(false);\n }\n break;\n case 'Task':\n setActiveFieldItem({ ...selectedData, id: selectedData?.task?.id });\n if (selectedData.task?.error !== '') {\n setInputError(true);\n setInputValue('');\n } else {\n setInputError(false);\n }\n break;\n case 'Stage':\n setActiveFieldItem({ ...selectedData, id: selectedData?.stage?.id });\n if (selectedData.stage?.error !== '') {\n setInputError(true);\n setInputValue('');\n } else {\n setInputError(false);\n }\n break;\n default:\n setActiveFieldItem(undefined);\n }\n setOpen(true);\n };\n\n const onSelectedUpdateData = () => {\n let changedData: LifeCycleMockState;\n const cloneData = { ...activeFieldItem };\n let errorMessage: string;\n if (inputValue === '') {\n errorMessage = 'Name cannot be empty';\n if (activeFieldItem?.type === 'Stage' && cloneData.stage) {\n cloneData.stage.error = errorMessage;\n cloneData.stage.label = inputValue;\n changedData = updateStageCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n cloneData.step.error = errorMessage;\n changedData = updateStepCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else {\n if (cloneData.task) {\n cloneData.task.error = errorMessage;\n cloneData.task.label = inputValue;\n }\n changedData = updateTaskCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n }\n\n setWorkFlowData(changedData);\n } else {\n errorMessage = '';\n\n if (\n (activeFieldItem?.type === 'Stage' || activeFieldItem?.type === 'Alternate Stage') &&\n cloneData.stage\n ) {\n cloneData.stage.error = errorMessage;\n cloneData.stage.label = `${inputValue}`;\n changedData = updateStageCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n cloneData.step.error = errorMessage;\n changedData = updateStepCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else {\n if (cloneData.task) {\n cloneData.task.error = errorMessage;\n cloneData.task.label = `${inputValue}`;\n }\n changedData = updateTaskCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n }\n setWorkFlowData(changedData);\n }\n };\n\n const WorkbenchContent = memo(() => {\n const onInputBlur = (e: FocusEvent<HTMLInputElement>) => {\n if (e.target.value === '') {\n setInputError(true);\n setActiveFieldItem({ ...activeFieldItem, value: e.target.value });\n } else {\n setInputError(false);\n setActiveFieldItem({ ...activeFieldItem, value: e.target.value });\n }\n };\n\n const onSelectChange = (e: FocusEvent<HTMLSelectElement>) => {\n setSelectedOptionValue({ id: e.target.selectedIndex, value: e.target.value });\n };\n return (\n <>\n <Input\n type='text'\n defaultValue={inputValue}\n label={`${activeFieldItem?.type} name`}\n labelHidden={false}\n info={inputError ? 'Cannot be blank' : ''}\n placeholder=''\n status={inputError ? 'error' : undefined}\n required\n readOnly={args.readOnly}\n onBlur={onInputBlur}\n />\n <Select\n label='Route to'\n labelHidden={false}\n value={selectedOptionValue.value}\n onChange={onSelectChange}\n readOnly={args.readOnly}\n >\n {selectOptions.map(_eachOption => {\n return <Option key={_eachOption.id}>{_eachOption.value}</Option>;\n })}\n </Select>\n </>\n );\n });\n\n useEffect(() => {\n if (workFlowData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${workFlowData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = workFlowData.data.stages as StageItemProps[];\n const alternateStages = workFlowData.data.alternateStages as StageItemProps[];\n const categories: CategoriesItemProps[] = lifeCycleWorkFlowData.categories;\n\n const stepActions = useMemo(() => {\n return args.readOnly\n ? []\n : [\n {\n text: 'Delete step',\n id: 'delete10',\n icon: 'trash',\n onClick: deleteProcessStep\n }\n ];\n }, [args.readOnly]);\n const taskActions = useMemo(() => {\n return args.readOnly\n ? [\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ]\n : [\n {\n text: 'Delete Process',\n id: 'delete9',\n icon: 'trash',\n onClick: deleteProcess\n },\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ];\n }, [args.readOnly]);\n\n const StageActions = useMemo(() => {\n return args.readOnly\n ? {\n start: [],\n default: [],\n 'default-wait': [],\n resolution: [],\n alternate: [],\n 'alternate-wait': []\n }\n : {\n start: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n ],\n default: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'default-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n resolution: [],\n alternate: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'alternate-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ]\n };\n }, [args.readOnly]);\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n return (\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: (activeFieldItem?.value || activeFieldItem?.type) as string,\n onDismiss: () => {\n onSelectedUpdateData();\n setOpen(false);\n setInputError(false);\n setActiveFieldItem(undefined);\n }\n }}\n >\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: taskActions,\n addStepTitle: 'step',\n addTask: {\n title: 'Process',\n showOnce: true,\n onAddTask: addProcess\n },\n onClick: onSelectedItem,\n onAddStep: addProcessStep,\n nodeLibrary: workFlowNodeLibrary\n }\n ]}\n step={[\n {\n actions: stepActions,\n onClick: onSelectedItem\n }\n ]}\n stage={{\n actions: StageActions,\n onClick: onSelectedItem\n }}\n alternateStage={{\n actions: alternateStageActions,\n onClick: onSelectedItem\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n selectedItemId={activeFieldItem?.id}\n readOnly={args.readOnly}\n />\n </Workbench>\n );\n};\n\nexport const EmptyWorkFlowView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const emptyState = {\n activeElementId: '',\n data: lifeCycleEmptyData\n } as LifeCycleMockState;\n const [emptyStateData, setEmptyStateData] = useState<LifeCycleMockState>(emptyState);\n\n const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, emptyStateData);\n setEmptyStateData(changedData.dataClone);\n };\n\n const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, emptyStateData);\n setEmptyStateData(changedData);\n };\n\n const addProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, emptyStateData);\n setEmptyStateData(changedData.dataClone);\n };\n\n const addParallelProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, emptyStateData, true);\n setEmptyStateData(changedData.dataClone);\n };\n\n const deleteProcess = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, emptyStateData);\n setEmptyStateData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(emptyStateData, 'stages');\n setEmptyStateData(changedData.dataClone);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(emptyStateData, 'alternateStages');\n setEmptyStateData(changedData.dataClone);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = param => {\n const changedData = deleteStageCallback(param, emptyStateData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n setEmptyStateData(changedData);\n }\n };\n\n const onOpenProcess = () => {};\n\n useEffect(() => {\n if (emptyStateData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${emptyStateData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = emptyStateData.data.stages as StageItemProps[];\n const alternateStages: StageItemProps[] = emptyStateData.data.alternateStages;\n const categories: CategoriesItemProps[] = lifeCycleEmptyData.categories;\n\n const stepActions = useMemo(() => {\n return args.readOnly\n ? []\n : [\n {\n text: 'Delete step',\n id: 'delete10',\n icon: 'trash',\n onClick: deleteProcessStep\n }\n ];\n }, [args.readOnly]);\n\n const taskActions = useMemo(() => {\n return args.readOnly\n ? [\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ]\n : [\n {\n text: 'Delete Process',\n id: 'delete9',\n icon: 'trash',\n onClick: deleteProcess\n },\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ];\n }, [args.readOnly]);\n\n const StageActions = useMemo(() => {\n return args.readOnly\n ? {\n start: [],\n default: [],\n 'default-wait': [],\n resolution: [],\n alternate: [],\n 'alternate-wait': []\n }\n : {\n start: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n ],\n default: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'default-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n resolution: [],\n alternate: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'alternate-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ]\n };\n }, [args.readOnly]);\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n return (\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: taskActions,\n addStepTitle: 'step',\n addTask: {\n title: 'Process',\n showOnce: true,\n onAddTask: addProcess\n },\n onAddStep: addProcessStep,\n nodeLibrary: workFlowNodeLibrary\n }\n ]}\n step={[\n {\n actions: stepActions\n }\n ]}\n stage={{\n actions: StageActions\n }}\n alternateStage={{\n actions: alternateStageActions\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n readOnly={args.readOnly}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"LifeCycle.stories.jsx","sourceRoot":"","sources":["../../../src/build/LifeCycle/LifeCycle.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FocusEvent, memo, useEffect, useMemo, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n LifeCycle,\n StageItemProps,\n CategoriesItemProps,\n LifeCycleActionParam,\n LifeCycleAction,\n StepItemProps,\n LibraryItem,\n Workbench,\n ObjectSelect,\n ObjectSelectProps\n} from '@pega/cosmos-react-build';\nimport { Input, Option, Select, menuHelpers } from '@pega/cosmos-react-core';\nimport {\n RHSType,\n DateFunctionsByType,\n getInitConditionForLhs\n} from '@pega/cosmos-react-condition-builder';\n\nimport {\n ConfigurationContent,\n dataPages,\n demoDateFunctions,\n demoFields\n} from '../ObjectSelect/ObjectSelect.mocks';\n\nimport {\n lifeCycleEmptyData,\n lifeCycleEmptyPlanViewData,\n lifeCyclePlanViewData,\n lifeCycleWorkFlowData,\n planViewNodeLibrary,\n workFlowNodeLibrary\n} from './LifeCycle.mocks';\nimport {\n addStepCallback,\n deleteStepCallback,\n addTaskCallback,\n deleteTaskCallback,\n addStageCallback,\n deleteStageCallback,\n LifeCycleMockState,\n updateStageCallback,\n updateStepCallback,\n updateTaskCallback\n} from './utils';\n\nexport default {\n title: 'Build/LifeCycle',\n component: LifeCycle,\n argTypes: {\n readOnly: {\n control: { type: 'boolean' }\n }\n },\n args: {\n readOnly: false\n }\n} as Meta;\n\nexport interface LifeCycleDemoProps {\n readOnly: boolean;\n}\n\nexport const PlanView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const workFlowState = {\n activeElementId: '',\n data: lifeCyclePlanViewData\n } as LifeCycleMockState;\n const [planViewData, setPlanViewData] = useState(workFlowState);\n\n const addStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, planViewData);\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, planViewData);\n setPlanViewData(changedData);\n };\n\n const addTask = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, planViewData);\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteTask = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, planViewData);\n setPlanViewData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(planViewData, 'stages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(planViewData, 'alternateStages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = param => {\n const changedData = deleteStageCallback(param, planViewData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n setPlanViewData(changedData);\n }\n };\n\n useEffect(() => {\n if (planViewData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${planViewData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = planViewData.data.stages as StageItemProps[];\n\n const alternateStages = planViewData.data.alternateStages as StageItemProps[];\n\n const categories: CategoriesItemProps[] = planViewData.data.categories;\n\n const channelActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete channel',\n id: 'delete5',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const dataSourceActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data source',\n id: 'delete6',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const personaActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete persona',\n id: 'delete2',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const dataActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data',\n id: 'delete4',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const stageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [{ text: 'Delete Stage', id: 'delete11', icon: 'trash', onClick: onDeleteStage }],\n [args.readOnly]\n );\n\n return (\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: personaActions,\n addStepTitle: 'channels',\n addTask: {\n title: 'Persona',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: planViewNodeLibrary\n },\n {\n actions: dataActions,\n addStepTitle: 'Data and Systems',\n addTask: {\n title: 'Data',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: planViewNodeLibrary\n }\n ]}\n step={[\n {\n actions: channelActions\n },\n {\n actions: dataSourceActions\n }\n ]}\n stage={{\n actions: stageActions\n }}\n alternateStage={{\n actions: alternateStageActions\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n readOnly={args.readOnly}\n />\n );\n};\n\nexport const EmptyPlanView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const emptyPlanView = {\n activeElementId: '',\n data: lifeCycleEmptyPlanViewData\n } as LifeCycleMockState;\n const [emptyplanViewData, setPlanViewData] = useState(emptyPlanView);\n\n const addStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, emptyplanViewData);\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, emptyplanViewData);\n setPlanViewData(changedData);\n };\n\n const addTask = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, emptyplanViewData);\n\n setPlanViewData(changedData.dataClone);\n };\n\n const deleteTask = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, emptyplanViewData);\n setPlanViewData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(emptyplanViewData, 'stages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(emptyplanViewData, 'alternateStages');\n setPlanViewData(changedData.dataClone);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = param => {\n const changedData = deleteStageCallback(param, emptyplanViewData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n setPlanViewData(changedData);\n }\n };\n\n useEffect(() => {\n if (emptyplanViewData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${emptyplanViewData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = emptyplanViewData.data.stages as StageItemProps[];\n const alternateStages = emptyplanViewData.data.alternateStages as StageItemProps[];\n const categories = emptyplanViewData.data.categories as CategoriesItemProps[];\n\n const channelActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete channel',\n id: 'delete5',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const dataSourceActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data source',\n id: 'delete6',\n icon: 'trash',\n onClick: deleteStep\n }\n ],\n [args.readOnly]\n );\n\n const personaActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete persona',\n id: 'delete2',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const dataActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n {\n text: 'Delete data',\n id: 'delete4',\n icon: 'trash',\n onClick: deleteTask\n }\n ],\n [args.readOnly]\n );\n\n const stageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [{ text: 'Delete Stage', id: 'delete11', icon: 'trash', onClick: onDeleteStage }],\n [args.readOnly]\n );\n\n return (\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: personaActions,\n addStepTitle: 'channels',\n addTask: {\n title: 'Persona',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: planViewNodeLibrary\n },\n {\n actions: dataActions,\n addStepTitle: 'Data and Systems',\n addTask: {\n title: 'Data',\n showOnce: false,\n onAddTask: addTask\n },\n onAddStep: addStep,\n nodeLibrary: workFlowNodeLibrary\n }\n ]}\n step={[\n {\n actions: channelActions\n },\n {\n actions: dataSourceActions\n }\n ]}\n stage={{\n actions: stageActions\n }}\n alternateStage={{\n actions: alternateStageActions\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n readOnly={args.readOnly}\n />\n );\n};\nexport const WorkFlowView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const workFlowState = {\n activeElementId: '',\n data: lifeCycleWorkFlowData\n } as LifeCycleMockState;\n const [workFlowData, setWorkFlowData] = useState(workFlowState);\n const [activeFieldItem, setActiveFieldItem] = useState<LifeCycleActionParam & { id?: string }>();\n const [open, setOpen] = useState(false);\n const [inputError, setInputError] = useState(false);\n const [inputValue, setInputValue] = useState<string>();\n const [selectedOptionValue, setSelectedOptionValue] = useState({ id: 0, value: 'Choose' });\n const selectOptions = [\n { id: 0, value: 'Choose' },\n { id: 1, value: 'Me' },\n { id: 2, value: 'Current User' },\n { id: 3, value: 'Work Queue' }\n ];\n\n useEffect(() => {\n setInputValue(activeFieldItem?.value);\n }, [activeFieldItem]);\n\n const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, workFlowData);\n setActiveFieldItem({ ...changedData.newStepData, type: 'Step' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, workFlowData);\n if (stepData?.step?.id === activeFieldItem?.id) {\n setActiveFieldItem(undefined);\n setOpen(false);\n }\n setWorkFlowData(changedData);\n };\n\n const addProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, workFlowData);\n setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const addParallelProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, workFlowData, true);\n setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n setWorkFlowData(changedData.dataClone);\n setOpen(true);\n };\n\n const deleteProcess = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, workFlowData);\n if (taskData?.task?.id === activeFieldItem?.id) {\n setActiveFieldItem(undefined);\n setOpen(false);\n }\n setWorkFlowData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(workFlowData, 'stages');\n setActiveFieldItem({ ...changedData.newStageData, type: 'Stage' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(workFlowData, 'alternateStages');\n setActiveFieldItem({ ...changedData.newStageData, type: 'Alternate Stage' });\n setWorkFlowData(changedData.dataClone);\n setInputError(false);\n setOpen(true);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = (stageData: LifeCycleActionParam) => {\n const changedData = deleteStageCallback(stageData, workFlowData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n if (stageData?.stage?.id === activeFieldItem?.id) {\n setActiveFieldItem(undefined);\n setOpen(false);\n }\n setWorkFlowData(changedData);\n }\n };\n\n const onOpenProcess = () => {};\n\n const onSelectedItem = (selectedData: LifeCycleActionParam) => {\n setSelectedOptionValue({ id: 0, value: 'Choose' });\n switch (selectedData.type) {\n case 'Step':\n setActiveFieldItem({ ...selectedData, id: selectedData?.step?.id });\n if (selectedData.step?.error !== '') {\n setInputError(true);\n setInputValue('');\n } else {\n setInputError(false);\n }\n break;\n case 'Task':\n setActiveFieldItem({ ...selectedData, id: selectedData?.task?.id });\n if (selectedData.task?.error !== '') {\n setInputError(true);\n setInputValue('');\n } else {\n setInputError(false);\n }\n break;\n case 'Stage':\n setActiveFieldItem({ ...selectedData, id: selectedData?.stage?.id });\n if (selectedData.stage?.error !== '') {\n setInputError(true);\n setInputValue('');\n } else {\n setInputError(false);\n }\n break;\n default:\n setActiveFieldItem(undefined);\n }\n setOpen(true);\n };\n\n const onSelectedUpdateData = () => {\n let changedData: LifeCycleMockState;\n const cloneData = { ...activeFieldItem };\n let errorMessage: string;\n if (inputValue === '') {\n errorMessage = 'Name cannot be empty';\n if (activeFieldItem?.type === 'Stage' && cloneData.stage) {\n cloneData.stage.error = errorMessage;\n cloneData.stage.label = inputValue;\n changedData = updateStageCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n cloneData.step.error = errorMessage;\n changedData = updateStepCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else {\n if (cloneData.task) {\n cloneData.task.error = errorMessage;\n cloneData.task.label = inputValue;\n }\n changedData = updateTaskCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n }\n\n setWorkFlowData(changedData);\n } else {\n errorMessage = '';\n\n if (\n (activeFieldItem?.type === 'Stage' || activeFieldItem?.type === 'Alternate Stage') &&\n cloneData.stage\n ) {\n cloneData.stage.error = errorMessage;\n cloneData.stage.label = `${inputValue}`;\n changedData = updateStageCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n cloneData.step.error = errorMessage;\n changedData = updateStepCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n } else {\n if (cloneData.task) {\n cloneData.task.error = errorMessage;\n cloneData.task.label = `${inputValue}`;\n }\n changedData = updateTaskCallback(cloneData, workFlowData);\n setActiveFieldItem(cloneData);\n }\n setWorkFlowData(changedData);\n }\n };\n\n const WorkbenchContent = memo(() => {\n const onInputBlur = (e: FocusEvent<HTMLInputElement>) => {\n if (e.target.value === '') {\n setInputError(true);\n setActiveFieldItem({ ...activeFieldItem, value: e.target.value });\n } else {\n setInputError(false);\n setActiveFieldItem({ ...activeFieldItem, value: e.target.value });\n }\n };\n\n const onSelectChange = (e: FocusEvent<HTMLSelectElement>) => {\n setSelectedOptionValue({ id: e.target.selectedIndex, value: e.target.value });\n };\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [condition, setCondition] = useState(() =>\n getInitConditionForLhs(\n { field: 'details.age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n const [value, setValue] = useState<ObjectSelectProps['value']>();\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n\n useEffect(() => {\n const timeout = setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n return () => clearTimeout(timeout);\n }, []);\n\n return (\n <>\n <Input\n type='text'\n defaultValue={inputValue}\n label={`${activeFieldItem?.type} name`}\n labelHidden={false}\n info={inputError ? 'Cannot be blank' : ''}\n placeholder=''\n status={inputError ? 'error' : undefined}\n required\n readOnly={args.readOnly}\n onBlur={onInputBlur}\n />\n <Select\n label='Route to'\n labelHidden={false}\n value={selectedOptionValue.value}\n onChange={onSelectChange}\n readOnly={args.readOnly}\n >\n {selectOptions.map(_eachOption => {\n return <Option key={_eachOption.id}>{_eachOption.value}</Option>;\n })}\n </Select>\n <ObjectSelect\n label='Validation for entering step'\n createConfiguration={{ href: 'https://www.pega.com' }}\n loading={dataPagesDelayed.length === 0}\n placeholder='Select...'\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: 'Edit Configuration',\n heading: 'Map Parameters',\n onSubmit: () => null,\n onClose: () => null,\n placement: 'auto',\n children: (\n <ConfigurationContent\n {...args}\n popoverContent='simple'\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n />\n </>\n );\n });\n\n useEffect(() => {\n if (workFlowData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${workFlowData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = workFlowData.data.stages as StageItemProps[];\n const alternateStages = workFlowData.data.alternateStages as StageItemProps[];\n const categories: CategoriesItemProps[] = lifeCycleWorkFlowData.categories;\n\n const stepActions = useMemo(() => {\n return args.readOnly\n ? []\n : [\n {\n text: 'Delete',\n id: 'delete10',\n icon: 'trash',\n onClick: deleteProcessStep\n }\n ];\n }, [args.readOnly]);\n const taskActions = useMemo(() => {\n return args.readOnly\n ? [\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ]\n : [\n {\n text: 'Delete Process',\n id: 'delete9',\n icon: 'trash',\n onClick: deleteProcess\n },\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ];\n }, [args.readOnly]);\n\n const StageActions = useMemo(() => {\n return args.readOnly\n ? {\n start: [],\n default: [],\n 'default-wait': [],\n resolution: [],\n alternate: [],\n 'alternate-wait': []\n }\n : {\n start: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n ],\n default: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'default-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n resolution: [],\n alternate: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'alternate-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ]\n };\n }, [args.readOnly]);\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n return (\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: (activeFieldItem?.value || activeFieldItem?.type) as string,\n onDismiss: () => {\n onSelectedUpdateData();\n setOpen(false);\n setInputError(false);\n setActiveFieldItem(undefined);\n }\n }}\n >\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: taskActions,\n addStepTitle: 'step',\n addTask: {\n title: 'Process',\n showOnce: true,\n onAddTask: addProcess\n },\n onClick: onSelectedItem,\n onAddStep: addProcessStep,\n nodeLibrary: workFlowNodeLibrary\n }\n ]}\n step={[\n {\n actions: stepActions,\n onClick: onSelectedItem\n }\n ]}\n stage={{\n actions: StageActions,\n onClick: onSelectedItem\n }}\n alternateStage={{\n actions: alternateStageActions,\n onClick: onSelectedItem\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n selectedItemId={activeFieldItem?.id}\n readOnly={args.readOnly}\n />\n </Workbench>\n );\n};\n\nexport const EmptyWorkFlowView: Story<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n const emptyState = {\n activeElementId: '',\n data: lifeCycleEmptyData\n } as LifeCycleMockState;\n const [emptyStateData, setEmptyStateData] = useState<LifeCycleMockState>(emptyState);\n\n const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n const newStep: StepItemProps = {\n id: libItem.id,\n label: libItem.primary,\n visual: {\n color: libItem.type.color as StepItemProps['visual']['color'],\n icon: libItem.type.icon\n } as StepItemProps['visual'],\n error: '',\n status: { label: '' }\n };\n const updatedTask = {\n ...stepData.task,\n steps: [...stepData.task!.steps, newStep]\n } as LifeCycleActionParam['task'];\n\n const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n const changedData = addStepCallback(updatedData, emptyStateData);\n setEmptyStateData(changedData.dataClone);\n };\n\n const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n const changedData = deleteStepCallback(stepData, emptyStateData);\n setEmptyStateData(changedData);\n };\n\n const addProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, emptyStateData);\n setEmptyStateData(changedData.dataClone);\n };\n\n const addParallelProcess = (taskData: LifeCycleActionParam) => {\n const changedData = addTaskCallback(taskData, emptyStateData, true);\n setEmptyStateData(changedData.dataClone);\n };\n\n const deleteProcess = (taskData: LifeCycleActionParam) => {\n const changedData = deleteTaskCallback(taskData, emptyStateData);\n setEmptyStateData(changedData);\n };\n\n const onAddStage = () => {\n const changedData = addStageCallback(emptyStateData, 'stages');\n setEmptyStateData(changedData.dataClone);\n };\n\n const onAddAlternateStage = () => {\n const changedData = addStageCallback(emptyStateData, 'alternateStages');\n setEmptyStateData(changedData.dataClone);\n };\n\n const onDeleteStage: LifeCycleAction['onClick'] = param => {\n const changedData = deleteStageCallback(param, emptyStateData);\n if (changedData === 'firstStage') {\n // eslint-disable-next-line no-alert\n alert(\"you can't delete the create stage\");\n } else {\n setEmptyStateData(changedData);\n }\n };\n\n const onOpenProcess = () => {};\n\n useEffect(() => {\n if (emptyStateData.activeElementId) {\n const elementId: HTMLElement | null = document.getElementById(\n `${emptyStateData.activeElementId}`\n );\n if (elementId) {\n elementId.focus();\n }\n }\n });\n\n const stages = emptyStateData.data.stages as StageItemProps[];\n const alternateStages: StageItemProps[] = emptyStateData.data.alternateStages;\n const categories: CategoriesItemProps[] = lifeCycleEmptyData.categories;\n\n const stepActions = useMemo(() => {\n return args.readOnly\n ? []\n : [\n {\n text: 'Delete step',\n id: 'delete10',\n icon: 'trash',\n onClick: deleteProcessStep\n }\n ];\n }, [args.readOnly]);\n\n const taskActions = useMemo(() => {\n return args.readOnly\n ? [\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ]\n : [\n {\n text: 'Delete Process',\n id: 'delete9',\n icon: 'trash',\n onClick: deleteProcess\n },\n {\n text: 'Open Process',\n id: 'layers2',\n icon: 'layers',\n onClick: onOpenProcess\n }\n ];\n }, [args.readOnly]);\n\n const StageActions = useMemo(() => {\n return args.readOnly\n ? {\n start: [],\n default: [],\n 'default-wait': [],\n resolution: [],\n alternate: [],\n 'alternate-wait': []\n }\n : {\n start: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n ],\n default: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'default-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n resolution: [],\n alternate: [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n 'alternate-wait': [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ]\n };\n }, [args.readOnly]);\n\n const alternateStageActions = useMemo(\n () =>\n args.readOnly\n ? []\n : [\n { text: 'Add Process', id: 'add1', onClick: addProcess },\n { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n ],\n [args.readOnly]\n );\n\n return (\n <LifeCycle\n items={stages}\n alternateItems={alternateStages}\n categories={categories}\n task={[\n {\n actions: taskActions,\n addStepTitle: 'step',\n addTask: {\n title: 'Process',\n showOnce: true,\n onAddTask: addProcess\n },\n onAddStep: addProcessStep,\n nodeLibrary: workFlowNodeLibrary\n }\n ]}\n step={[\n {\n actions: stepActions\n }\n ]}\n stage={{\n actions: StageActions\n }}\n alternateStage={{\n actions: alternateStageActions\n }}\n onAddStage={onAddStage}\n onAddAlternateStage={onAddAlternateStage}\n readOnly={args.readOnly}\n />\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAuB,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAEjG,OAAO,EAML,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAOL,aAAa,EAGb,gBAAgB,EAGhB,SAAS,EACT,cAAc,EACd,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAIxG,eAAO,MAAM,cAAc,wBAA0D,CAAC;AAEtF,UAAU,SAAU,SAAQ,gBAAgB;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;CACzC;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC7F,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY;;;;;GAmCxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;IAgDrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAmG7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"ObjectSelect.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAuB,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAEjG,OAAO,EAML,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAOL,aAAa,EAGb,gBAAgB,EAGhB,SAAS,EACT,cAAc,EACd,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAIxG,eAAO,MAAM,cAAc,wBAA0D,CAAC;AAEtF,UAAU,SAAU,SAAQ,gBAAgB;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;CACzC;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC7F,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY;;;;;GAmCxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;IAgDrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAmG7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAwB/B,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,SAAS,EAAE,oBAKf,YAAY,gBAAgB,GAAG,mBAAmB,CAAC,GACnD,WAAW,gBAAgB,GAAG,mBAAmB,CAAC,gBAiBvD,CAAC;AAEF,eAAO,MAAM,cAAc,8CAA+C,WAAW,gBA4CpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,GAAG,gBA8C7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,oGAsG5B,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,cAAc;IACpE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1B,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,mBAAmB,CA8C/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.mocks.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { ChangeEvent, FocusEvent, useState, useEffect, FunctionComponent, useMemo } from 'react';\n\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n formatCondition,\n DateFunctionsByType,\n Field\n} from '@pega/cosmos-react-condition-builder';\nimport {\n Flex,\n Input,\n Card,\n CardContent,\n Text,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion,\n FormControlProps,\n TextArea,\n ComboBox,\n BaseProps,\n NoChildrenProp,\n MenuProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps, ObjectPreview } from '@pega/cosmos-react-build';\nimport { ObjectSummaryProps } from '@pega/cosmos-react-build/lib/components/ObjectSelect/ObjectSummary';\n\nimport { StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';\n\nexport const mockNetworkReq = () => new Promise(resolve => setTimeout(resolve, 2000));\n\ninterface FormField extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: FormField) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps & { metaData: any };\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps<P extends object = object> extends ObjectSelectProps<P> {\n onSubmit: NonNullable<ObjectSummaryProps['configuration']>['onSubmit'];\n onClose: () => void;\n popoverContent?: string;\n createNewAs?: 'modal' | 'link';\n}\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n }\n ],\n secondary: ['O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n metaData: [\n {\n name: 'Scope',\n value: 'CreditScore'\n }\n ],\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { id: 'employeeId', primary: 'Employee ID', type: 'TEXT' },\n {\n id: 'details',\n primary: 'Details',\n items: [\n {\n id: 'details.firstName',\n primary: 'First Name',\n type: 'TEXT'\n },\n {\n id: 'details.lastName',\n primary: 'Last Name',\n type: 'TEXT',\n possibleValues: () => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n 'Value 1',\n 'Value 2',\n 'Value 3',\n 'Value 4',\n 'Value 5',\n 'Value 6',\n 'Value 7'\n ]);\n }, 5000);\n });\n }\n },\n { id: 'details.gender', primary: 'Gender', type: 'TEXT' },\n {\n id: 'details.age',\n primary: 'Age',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails',\n primary: 'Profile Details',\n items: [\n {\n id: 'details.profileDetails.experience',\n primary: 'Experience (yrs)',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails.department',\n primary: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n }\n ]\n }\n ]\n },\n {\n id: 'salary',\n primary: 'Salary',\n type: 'NUMBER'\n },\n { id: 'hireDate', primary: 'Hire Date', type: 'DATE_ONLY' },\n { id: 'dateOfBirth', primary: 'Date of Birth', type: 'DATE_ONLY' },\n {\n id: 'technicalDetails',\n primary: 'Technical details',\n items: [\n {\n id: 'technicalDetails.shiftStartTime',\n primary: 'Shift start time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.shiftEndTime',\n primary: 'Shift end time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.lastActivityAt',\n primary: 'Last activity at',\n type: 'DATE_TIME'\n },\n {\n id: 'technicalDetails.nextPasswordReset',\n primary: 'Next password reset',\n type: 'DATE_TIME'\n }\n ]\n },\n { id: 'isSeniorCitizen', primary: 'Is Senior Citizen', type: 'BOOLEAN' },\n { id: 'isRemoteEmployee', primary: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'HOURS_OF_DAY',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n\nexport const initFields = (): FormField[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nexport const fieldReducer = (\n fields: FormField[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n return (\n <ObjectPreview\n open={drawerOpen}\n onDismiss={() => setDrawerOpen(false)}\n header={{\n title: drawerData?.primary || '',\n metadata: drawerData?.metaData || [],\n additionalInfo: {\n title: drawerData?.primary || '',\n description: 'Interest rate for the savings account',\n fields: drawerData?.metaData || [],\n onEdit: () => {}\n }\n }}\n content={\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '100vh' }} />\n </StyledConfigurationContent>\n }\n primaryAction={{\n id: 'PA',\n text: 'Save',\n onClick: () => {}\n }}\n secondaryAction={{\n id: 'SA',\n text: 'Open rule',\n onClick: () => {}\n }}\n actions={{\n items: [\n {\n id: '1',\n text: 'Page action 1'\n },\n {\n id: '2',\n text: 'Page action 2'\n }\n ]\n }}\n />\n );\n};\n\nexport const ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label={`Name ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample key ${index + 1}`}\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label={`Value ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample value ${index + 1}`}\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n ))}\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nexport const ObjectSelectComp = <P extends object = object>({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps<P>) => {\n const t = useI18n();\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'details.age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = ({ close }: { close: () => void }) => {\n setSubmitCondition(condition);\n close();\n };\n\n useEffect(() => {\n const timeout = setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n return () => clearTimeout(timeout);\n }, []);\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n loading={dataPagesDelayed.length === 0}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n onSubmit: popoverContent === 'advanced' ? handleSubmission : args.onSubmit,\n onClose: args.onClose,\n children: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n args.onPreview?.(id, e);\n }}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n\nexport interface CreateRuleFormProps extends BaseProps, NoChildrenProp {\n items: MenuProps['items'];\n selectItem: MenuProps['onItemClick'];\n scopeError?: boolean;\n}\n\nexport const FormRenderer: FunctionComponent<CreateRuleFormProps> = ({\n items,\n selectItem,\n scopeError\n}: CreateRuleFormProps) => {\n const [objectName, setObjectName] = useState('');\n const [descriptionName, setDescription] = useState('');\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='objectName'\n required\n value={objectName}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setObjectName(e.target.value)}\n />\n <TextArea\n label='description'\n value={descriptionName}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setDescription(e.target.value)}\n />\n <ComboBox\n label='scope'\n required\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,\n onItemClick: selectItem\n }}\n status={scopeError ? 'error' : undefined}\n info={scopeError ? 'Field cannot be empty' : undefined}\n />\n </Flex>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ObjectSelect.mocks.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { ChangeEvent, FocusEvent, useState, useEffect, FunctionComponent, useMemo } from 'react';\n\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n formatCondition,\n DateFunctionsByType,\n Field\n} from '@pega/cosmos-react-condition-builder';\nimport {\n Flex,\n Input,\n Card,\n CardContent,\n Text,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion,\n FormControlProps,\n TextArea,\n ComboBox,\n BaseProps,\n NoChildrenProp,\n MenuProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps, ObjectPreview } from '@pega/cosmos-react-build';\nimport { ObjectSummaryProps } from '@pega/cosmos-react-build/lib/components/ObjectSelect/ObjectSummary';\n\nimport { StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';\n\nexport const mockNetworkReq = () => new Promise(resolve => setTimeout(resolve, 2000));\n\ninterface FormField extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: FormField) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps & { metaData: any };\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps<P extends object = object> extends ObjectSelectProps<P> {\n onSubmit: NonNullable<ObjectSummaryProps['configuration']>['onSubmit'];\n onClose: () => void;\n popoverContent?: string;\n createNewAs?: 'modal' | 'link';\n}\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n }\n ],\n secondary: ['O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n metaData: [\n {\n name: 'Scope',\n value: 'CreditScore'\n }\n ],\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { id: 'employeeId', primary: 'Employee ID', type: 'TEXT' },\n {\n id: 'details',\n primary: 'Details',\n items: [\n {\n id: 'details.firstName',\n primary: 'First Name',\n type: 'TEXT'\n },\n {\n id: 'details.lastName',\n primary: 'Last Name',\n type: 'TEXT',\n possibleValues: () => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n 'Value 1',\n 'Value 2',\n 'Value 3',\n 'Value 4',\n 'Value 5',\n 'Value 6',\n 'Value 7'\n ]);\n }, 5000);\n });\n }\n },\n { id: 'details.gender', primary: 'Gender', type: 'TEXT' },\n {\n id: 'details.age',\n primary: 'Age',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails',\n primary: 'Profile Details',\n items: [\n {\n id: 'details.profileDetails.experience',\n primary: 'Experience (yrs)',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails.department',\n primary: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n }\n ]\n }\n ]\n },\n {\n id: 'salary',\n primary: 'Salary',\n type: 'NUMBER'\n },\n { id: 'hireDate', primary: 'Hire Date', type: 'DATE_ONLY' },\n { id: 'dateOfBirth', primary: 'Date of Birth', type: 'DATE_ONLY' },\n {\n id: 'technicalDetails',\n primary: 'Technical details',\n items: [\n {\n id: 'technicalDetails.shiftStartTime',\n primary: 'Shift start time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.shiftEndTime',\n primary: 'Shift end time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.lastActivityAt',\n primary: 'Last activity at',\n type: 'DATE_TIME'\n },\n {\n id: 'technicalDetails.nextPasswordReset',\n primary: 'Next password reset',\n type: 'DATE_TIME'\n }\n ]\n },\n { id: 'isSeniorCitizen', primary: 'Is Senior Citizen', type: 'BOOLEAN' },\n { id: 'isRemoteEmployee', primary: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'MINUTES',\n 'SECONDS',\n 'HOURS_OF_DAY',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n\nexport const initFields = (): FormField[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nexport const fieldReducer = (\n fields: FormField[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n return (\n <ObjectPreview\n open={drawerOpen}\n onDismiss={() => setDrawerOpen(false)}\n header={{\n title: drawerData?.primary || '',\n metadata: drawerData?.metaData || [],\n additionalInfo: {\n title: drawerData?.primary || '',\n description: 'Interest rate for the savings account',\n fields: drawerData?.metaData || [],\n onEdit: () => {}\n }\n }}\n content={\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '100vh' }} />\n </StyledConfigurationContent>\n }\n primaryAction={{\n id: 'PA',\n text: 'Save',\n onClick: () => {}\n }}\n secondaryAction={{\n id: 'SA',\n text: 'Open rule',\n onClick: () => {}\n }}\n actions={{\n items: [\n {\n id: '1',\n text: 'Page action 1'\n },\n {\n id: '2',\n text: 'Page action 2'\n }\n ]\n }}\n />\n );\n};\n\nexport const ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label={`Name ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample key ${index + 1}`}\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label={`Value ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample value ${index + 1}`}\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n ))}\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nexport const ObjectSelectComp = <P extends object = object>({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps<P>) => {\n const t = useI18n();\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'details.age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = ({ close }: { close: () => void }) => {\n setSubmitCondition(condition);\n close();\n };\n\n useEffect(() => {\n const timeout = setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n return () => clearTimeout(timeout);\n }, []);\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n loading={dataPagesDelayed.length === 0}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n onSubmit: popoverContent === 'advanced' ? handleSubmission : args.onSubmit,\n onClose: args.onClose,\n children: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n args.onPreview?.(id, e);\n }}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n\nexport interface CreateRuleFormProps extends BaseProps, NoChildrenProp {\n items: MenuProps['items'];\n selectItem: MenuProps['onItemClick'];\n scopeError?: boolean;\n}\n\nexport const FormRenderer: FunctionComponent<CreateRuleFormProps> = ({\n items,\n selectItem,\n scopeError\n}: CreateRuleFormProps) => {\n const [objectName, setObjectName] = useState('');\n const [descriptionName, setDescription] = useState('');\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='objectName'\n required\n value={objectName}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setObjectName(e.target.value)}\n />\n <TextArea\n label='description'\n value={descriptionName}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setDescription(e.target.value)}\n />\n <ComboBox\n label='scope'\n required\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,\n onItemClick: selectItem\n }}\n status={scopeError ? 'error' : undefined}\n info={scopeError ? 'Field cannot be empty' : undefined}\n />\n </Flex>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mock.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/props.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,KAAK,EAmK7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAiC3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAI9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"props.mock.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/props.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,KAAK,EAmK7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAiC3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAI9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAwB/B,CAAC"}
|