@pega/cosmos-react-demos 3.0.0-dev.26.0 → 3.0.0-dev.27.2

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.
Files changed (83) hide show
  1. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +9 -13
  2. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
  3. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js +46 -13
  4. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
  5. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +1 -0
  6. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
  7. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx +67 -11
  8. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx.map +1 -1
  9. package/jsx/core/FieldGroup/FieldGroup.stories.d.ts +2 -0
  10. package/jsx/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
  11. package/jsx/core/FieldGroup/FieldGroup.stories.jsx +12 -4
  12. package/jsx/core/FieldGroup/FieldGroup.stories.jsx.map +1 -1
  13. package/jsx/core/ListToolbar/ListToolbar.stories.d.ts +2 -1
  14. package/jsx/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
  15. package/jsx/core/ListToolbar/ListToolbar.stories.jsx +9 -5
  16. package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
  17. package/jsx/core/Tree/Tree.stories.d.ts.map +1 -1
  18. package/jsx/core/Tree/Tree.stories.jsx +14 -0
  19. package/jsx/core/Tree/Tree.stories.jsx.map +1 -1
  20. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.d.ts +4 -0
  21. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.d.ts.map +1 -1
  22. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.js +14 -0
  23. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.js.map +1 -1
  24. package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  25. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +64 -6
  26. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
  27. package/jsx/social/Email/Email.mocks.d.ts +0 -1
  28. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  29. package/jsx/social/Email/Email.mocks.jsx +0 -13
  30. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  31. package/jsx/social/Email/Email.stories.d.ts +19 -2
  32. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  33. package/jsx/social/Email/Email.stories.jsx +159 -65
  34. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  35. package/jsx/work/SearchResults/SearchResults.mocks.d.ts +6 -0
  36. package/jsx/work/SearchResults/SearchResults.mocks.d.ts.map +1 -1
  37. package/jsx/work/SearchResults/SearchResults.mocks.jsx +39 -38
  38. package/jsx/work/SearchResults/SearchResults.mocks.jsx.map +1 -1
  39. package/jsx/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
  40. package/jsx/work/SearchResults/SearchResults.stories.jsx +71 -43
  41. package/jsx/work/SearchResults/SearchResults.stories.jsx.map +1 -1
  42. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +9 -13
  43. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
  44. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js +46 -13
  45. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
  46. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +1 -0
  47. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
  48. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js +65 -12
  49. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js.map +1 -1
  50. package/lib/core/FieldGroup/FieldGroup.stories.d.ts +2 -0
  51. package/lib/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
  52. package/lib/core/FieldGroup/FieldGroup.stories.js +11 -3
  53. package/lib/core/FieldGroup/FieldGroup.stories.js.map +1 -1
  54. package/lib/core/ListToolbar/ListToolbar.stories.d.ts +2 -1
  55. package/lib/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
  56. package/lib/core/ListToolbar/ListToolbar.stories.js +9 -5
  57. package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
  58. package/lib/core/Tree/Tree.stories.d.ts.map +1 -1
  59. package/lib/core/Tree/Tree.stories.js +16 -0
  60. package/lib/core/Tree/Tree.stories.js.map +1 -1
  61. package/lib/cs/CallControlPanel/CallControlPanel.mocks.d.ts +4 -0
  62. package/lib/cs/CallControlPanel/CallControlPanel.mocks.d.ts.map +1 -1
  63. package/lib/cs/CallControlPanel/CallControlPanel.mocks.js +14 -0
  64. package/lib/cs/CallControlPanel/CallControlPanel.mocks.js.map +1 -1
  65. package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  66. package/lib/cs/CallControlPanel/CallControlPanel.stories.js +64 -6
  67. package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
  68. package/lib/social/Email/Email.mocks.d.ts +0 -1
  69. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  70. package/lib/social/Email/Email.mocks.js +0 -13
  71. package/lib/social/Email/Email.mocks.js.map +1 -1
  72. package/lib/social/Email/Email.stories.d.ts +19 -2
  73. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  74. package/lib/social/Email/Email.stories.js +127 -52
  75. package/lib/social/Email/Email.stories.js.map +1 -1
  76. package/lib/work/SearchResults/SearchResults.mocks.d.ts +6 -0
  77. package/lib/work/SearchResults/SearchResults.mocks.d.ts.map +1 -1
  78. package/lib/work/SearchResults/SearchResults.mocks.js +39 -38
  79. package/lib/work/SearchResults/SearchResults.mocks.js.map +1 -1
  80. package/lib/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
  81. package/lib/work/SearchResults/SearchResults.stories.js +71 -43
  82. package/lib/work/SearchResults/SearchResults.stories.js.map +1 -1
  83. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"Email.stories.js","sourceRoot":"","sources":["../../../src/social/Email/Email.stories.tsx"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,SAAS,EAIV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EAGV,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,WAAW,EACX,UAAU,EACV,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,cAAc,EACd,WAAW,EACX,UAAU,EACV,KAAK,EACL,eAAe,EACf,eAAe,EACf,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,+DAA+D,CAAC;AAC5F,OAAO,EACL,KAAK,IAAI,cAAc,EACvB,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EAKV,YAAY,EAGb,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,qCAAqC,EACrC,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,YAAY,CAAC,UAAU,CAAC,CAAC;AAEzB,eAAe;IACb,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,cAAc;CAClB,CAAC;AAgBV,MAAM,CAAC,MAAM,KAAK,GAA0B,CAAC,IAAoB,EAAE,EAAE;IACnE,MAAM,iBAAiB,GAA+B,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAG,CAAC,EAAoB,EAAE,CAAa,EAAE,EAAE;QAC/D,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,iBAAiB,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACpE,4CAA4C;YAC5C,4BAA4B;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,oEAAoE;YACpE,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC/B;YACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;gBAC/B,kBAAkB;gBAClB,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACtC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,IAAI,cACH,KAAC,sBAAsB,cACrB,KAAC,cAAc,IACb,EAAE,EAAE,SAAS,EAAE,EACf,SAAS,EAAC,kBAAkB,EAC5B,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,EACjC,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,EAC5D,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,EAC9D,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EACnF,IAAI,EAAC,wqBAAwqB,EAC7qB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,sBAAsB,EACpB,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAErE,OAAO,EAAC,sBAAsB,EAC9B,MAAM,EACJ,IAAI,CAAC,eAAe;oBAClB,CAAC,CAAC;wBACE,EAAE,EAAE,UAAU;wBACd,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,EAAE;4BACR,8QAA8Q;yBAC/Q;qBACF;oBACH,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAC3B,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,EAClC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAC/B,iBAAiB,EAAE,MAAM,CAAC,4BAA4B,CAAC,EACvD,SAAS,EAAE;oBACT,OAAO,EAAE,SAAS;iBACnB,EACD,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,oBAAoB,EACjC,WAAW,EAAE;oBACX,WAAW,EAAE,CAAC,aAAwD,EAAE,EAAE;wBACxE,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC;wBACrC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC;oBACD,aAAa,EAAE,gBAAgB;oBAC/B,MAAM,EAAE,iBAAiB;iBAC1B,EACD,WAAW,EAAE;oBACX;wBACE,EAAE,EAAE,cAAc;wBAClB,KAAK,EAAE,qCAAqC;wBAC5C,WAAW,EAAE,iBAAiB;qBAC/B;oBACD;wBACE,EAAE,EAAE,cAAc;wBAClB,KAAK,EAAE,iDAAiD;wBACxD,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACjB,OAAO;wBACL,GAAG,UAAU;wBACb,UAAU,EAAE,MAAM,CAAC,wBAAwB,CAAC;wBAC5C,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC;qBAC3C,CAAC;gBACJ,CAAC,CAAC,GACF,GACqB,GACpB,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,IAAI,GAAG;IACX,wBAAwB,EAAE,KAAK;IAC/B,iBAAiB,EAAE,KAAK;IACxB,sDAAsD;IACtD,gBAAgB;IAChB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,KAAK,CAAC,QAAQ,GAAG;IACf,wBAAwB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC1D,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACnD,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC/C,eAAe,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAClD,CAAC;AAEF,oFAAoF;AACpF,qFAAqF;AACrF,sFAAsF;AACtF,qFAAqF;AACrF,0FAA0F;AAC1F,0FAA0F;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAU,GAAG,EAAE;IAClC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAiC,KAAK,CAAC,CAAC;IAChG,MAAM,cAAc,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAE9B;QACA,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;QAC7B,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACjB,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;QAC5C,WAAW,EAAE;YACX,YAAY,EAAE,6BAA6B;SAC5C;QACD,YAAY,EAAE,OAAO;QACrB,kBAAkB,EAAE,EAAE;QACtB,WAAW,EAAE,gBAAgB;QAC7B,uBAAuB,EAAE,EAAE;KAC5B,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,CACrB,KAA6B,EAC7B,KAAqD,EACrD,EAAE;QACF,IAAI,KAAK,KAAK,aAAa,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,GAAG,IAAI;gBACP,uBAAuB,EAAE,KAAe;aACzC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAChF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,GAAG,IAAI;gBACP,CAAC,KAAK,CAAC,EAAE,KAAK;aACf,CAAC,CAAC,CAAC;SACL;aAAM;YACL,kDAAkD;YAClD,OAAO,CAAC,IAAI,CAAC,EAAE;gBACb,OAAO;oBACL,GAAG,IAAI;oBACP,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;iBACrC,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QACD,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACb,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE;wBACF,GAAG,IAAI,CAAC,EAAE;wBACV,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qBAC3B;oBACD,EAAE,EAAE;wBACF,GAAG,IAAI,CAAC,EAAE;wBACV,KAAK,EAAE,EAAE;qBACV;oBACD,GAAG,EAAE;wBACH,GAAG,IAAI,CAAC,GAAG;wBACX,KAAK,EAAE,EAAE;qBACV;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE;gBACb,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE;wBACF,GAAG,IAAI,CAAC,EAAE;wBACV,KAAK,EAAE,cAAc;qBACtB;oBACD,EAAE,EAAE;wBACF,GAAG,IAAI,CAAC,EAAE;wBACV,KAAK,EAAE,cAAc;qBACtB;oBACD,GAAG,EAAE;wBACH,GAAG,IAAI,CAAC,GAAG;wBACX,KAAK,EAAE,eAAe;qBACvB;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC,EAAE;gBACb,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE;wBACF,GAAG,IAAI,CAAC,EAAE;wBACV,KAAK,EAAE,EAAE;qBACV;oBACD,EAAE,EAAE;wBACF,GAAG,IAAI,CAAC,EAAE;wBACV,KAAK,EAAE,EAAE;qBACV;oBACD,GAAG,EAAE;wBACH,GAAG,IAAI,CAAC,GAAG;wBACX,KAAK,EAAE,EAAE;qBACV;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAExB,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE;QACtC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrF,sBAAsB;QACtB,mBAAmB,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACxD,UAAU,CAAC,GAAG,EAAE;YACd,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC3B,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,kBAAkB;YAAE,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAiC,GAAG,EAAE;QACtD,OAAO,CAAC,IAAI,CAAC,EAAE;YACb,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE;oBACF,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC3B,KAAK,EACH,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC;iBAC3F;gBACD,EAAE,EAAE;oBACF,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC3B,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;iBAC1E;gBACD,GAAG,EAAE;oBACH,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;oBAC5B,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;iBAC5E;gBACD,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO;oBACf,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;iBACvE;gBACD,WAAW,EAAE;oBACX,GAAG,IAAI,CAAC,WAAW;oBACnB,KAAK,EAAE,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;iBAChF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAuC,CAAC,KAAW,EAAE,EAAU,EAAE,EAAE;QACnF,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpD,wBAAwB;QACxB,eAAe,CAAC,KAAK,CAAC;aACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;YACrB,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,aAAa,IACZ,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EACzB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAC7B,iBAAiB,EAAE,mBAAmB,EACtC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,iIAAiI;AACjI,iIAAiI;AACjI,iIAAiI;AACjI,iIAAiI;AACjI,iIAAiI;AACjI,iIAAiI;AAEjI,MAAM,CAAC,MAAM,YAAY,GAAU,GAAG,EAAE;IACtC,MAAM,QAAQ,GAAiB;QAC7B;YACE,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,kBAAkB;YAC7B,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC;YACjC,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YAC5D,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;YAC9D,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;YACnF,IAAI,EAAE,uHAAuH;YAC7H,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC;YAC/B,iBAAiB,EAAE,MAAM,CAAC,4BAA4B,CAAC;YACvD,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,oBAAoB;SAClC;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,kBAAkB;YAC7B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;YAC9B,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YAC5D,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;YAC9D,EAAE,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;YACtF,IAAI,EAAE,gIAAgI;YACtI,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC;YAC/B,iBAAiB,EAAE,MAAM,CAAC,4BAA4B,CAAC;YACvD,OAAO,EAAE,YAAY;SACtB;KACF,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,IAChB,YAAY,EAAE,qCAAqC,CAAC,QAAQ,CAAC,EAC7D,IAAI,EAAE,qCAAqC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAClE,EAAE,EAAE,qCAAqC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,EAC3D,EAAE,EAAE,SAAS,EAAE,EACf,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAChC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAC7D,MAAM,EAAE,QAAQ,GAChB,CACH,CAAC;AACJ,CAAC,CAAC;AAeF,MAAM,CAAC,MAAM,cAAc,GAA+B,CAAC,IAAyB,EAAE,EAAE;IACtF,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;KACnC,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAE/C,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAEjF,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,YAAoB,EAAE,EAAE;QACrE,IAAI,YAAY,KAAK,OAAO,EAAE;YAC5B,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,OAAO;oBACL,GAAG,IAAI;oBACP,CAAC,GAAG,CAAC,EAAE;wBACL,GAAG,IAAI,CAAC,GAAG,CAAC;wBACZ,IAAI,EAAE;4BACJ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI;4BACjB,EAAE,EAAE;gCACF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gCACpB,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;6BAC3B;4BACD,EAAE,EAAE;gCACF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gCACpB,KAAK,EAAE,EAAE;6BACV;4BACD,GAAG,EAAE;gCACH,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG;gCACrB,KAAK,EAAE,EAAE;6BACV;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,YAAY,KAAK,UAAU,EAAE;YACtC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,OAAO;oBACL,GAAG,IAAI;oBACP,CAAC,GAAG,CAAC,EAAE;wBACL,GAAG,IAAI,CAAC,GAAG,CAAC;wBACZ,IAAI,EAAE;4BACJ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI;4BACjB,EAAE,EAAE;gCACF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gCACpB,KAAK,EAAE,cAAc;6BACtB;4BACD,EAAE,EAAE;gCACF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gCACpB,KAAK,EAAE,cAAc;6BACtB;4BACD,GAAG,EAAE;gCACH,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG;gCACrB,KAAK,EAAE,eAAe;6BACvB;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAE,UAAkB,EAAE,EAAE;QACjE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAC7F,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO;gBACL,GAAG,IAAI;gBACP,CAAC,GAAG,CAAC,EAAE;oBACL,GAAG,IAAI,CAAC,GAAG,CAAC;oBACZ,QAAQ,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;iBAC7C;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,OAAO;oBACL,GAAG,IAAI;oBACP,CAAC,GAAG,CAAC,EAAE;wBACL,GAAG,IAAI,CAAC,GAAG,CAAC;wBACZ,QAAQ,EAAE,KAAK;qBAChB;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,GAA0C,EAAE,CAAC;YAC5D,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,WAAW,GAAG,IAAI,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,EAAE;gBAEb,WAAW,CAAC,GAAG,CAAC,EAAE,MACnB,EAAE,OAAO,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;aACjE;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,GAAW,EACX,KAA6B,EAC7B,KAAqD,EACrD,EAAE;QACF,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,KAAK,KAAK,aAAa,EAAE;gBAC3B,OAAO;oBACL,GAAG,QAAQ;oBACX,CAAC,GAAG,CAAC,EAAE;wBACL,GAAG,QAAQ,CAAC,GAAG,CAAC;wBAChB,uBAAuB,EAAE,KAAe;qBACzC;iBACF,CAAC;aACH;YACD,OAAO;gBACL,GAAG,QAAQ;gBACX,CAAC,GAAG,CAAC,EAAE;oBACL,GAAG,QAAQ,CAAC,GAAG,CAAC;oBAChB,IAAI,EAAE;wBACJ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI;wBACrB,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAC5E,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC;gCACE,KAAK,EAAE,SAAS;gCAChB,KAAK;6BACN;qBACN;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,cAAc,EAAE;YAC5B,wBAAwB,CAAC,GAAG,EAAE,KAAe,CAAC,CAAC;SAChD;aAAM,IAAI,KAAK,KAAK,oBAAoB,EAAE;YACzC,sBAAsB,CAAC,GAAG,EAAE,KAAe,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAA6C,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1E,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;QAEtC,OAAO,CACL,KAAC,KAAK,IACJ,OAAO,EAAC,0BAA0B,EAClC,OAAO,EACL,8BACE,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,wBAAkB,EAC1C,MAAC,IAAI,eACH,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;oCACZ,OAAO,EAAE,CAAC;oCACV,gBAAgB,CAAC,IAAI,CAAC,EAAE;wCACtB,OAAO;4CACL,GAAG,IAAI;4CACP,CAAC,SAAS,CAAC,EAAE;gDACX,GAAG,IAAI,CAAC,SAAS,CAAC;gDAClB,QAAQ,EAAE,IAAI;6CACf;yCACF,CAAC;oCACJ,CAAC,CAAC,CAAC;oCACH,UAAU,CAAC,GAAG,EAAE;wCACd,gBAAgB,CAAC,IAAI,CAAC,EAAE;4CACtB,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;4CACrC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;4CACnC,OAAO,gBAAgB,CAAC;wCAC1B,CAAC,CAAC,CAAC;wCACH,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;oCACnC,CAAC,EAAE,IAAI,CAAC,CAAC;gCACX,CAAC,6BAGM,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;oCACZ,OAAO,EAAE,CAAC;oCACV,gBAAgB,CAAC,IAAI,CAAC,EAAE;wCACtB,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;wCACrC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;wCACnC,OAAO,gBAAgB,CAAC;oCAC1B,CAAC,CAAC,CAAC;gCACL,CAAC,wBAGM,IACJ,IACN,YAGL,KAAC,IAAI,IAAC,OAAO,EAAC,SAAS,2FAEhB,GACD,CACT,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO;gBACL,GAAG,IAAI;gBACP,CAAC,GAAG,CAAC,EAAE;oBACL,GAAG,IAAI,CAAC,GAAG,CAAC;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,EAAE;YACd,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBACrC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,gBAAgB,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAClC,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO;gBACL,GAAG,IAAI;gBACP,CAAC,GAAG,CAAC,EAAE;oBACL,GAAG,IAAI,CAAC,GAAG,CAAC;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,EAAE;YACd,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBACrC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,gBAAgB,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QACnC,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAC/B,EAAoB,EACpB,YAA0B,EAC1B,aAAiC,EACjC,EAAE;QACF,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;YACtB,iCAAiC;YAChC,aAAa,CAAC,GAAG,CAAC,CAAC,MAA8C,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;SACzF;aAAM;YACL,sBAAsB;YACtB,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,cAAc,GAAG,SAAS,EAA4B,CAAC;gBAC7D,OAAO;oBACL,GAAG,IAAI;oBACP,CAAC,GAAG,CAAC,EAAE;wBACL,GAAG,aAAa;wBAChB,uBAAuB,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY;wBACpE,MAAM,EAAE,cAAc;wBACtB,QAAQ,EAAE,CACR,KAA6B,EAC7B,KAAqD,EACrD,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC;wBACpC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;wBACjC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;wBAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;qBAC9B;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAiB;QAC/B;YACE,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,kBAAkB;YAC7B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,4HAA4H;YAClI,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;YACpE,WAAW,EAAE;gBACX;oBACE,EAAE,EAAE,UAAU;oBACd,KAAK,EAAE,qCAAqC;oBAC5C,WAAW,EAAE,iBAAiB;iBAC/B;gBACD;oBACE,EAAE,EAAE,UAAU;oBACd,KAAK,EAAE,iDAAiD;oBACxD,WAAW,EAAE,UAAU;iBACxB;aACF,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACjB,OAAO;oBACL,GAAG,UAAU;oBACb,UAAU,EAAE,MAAM,CAAC,wBAAwB,CAAC;oBAC5C,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC;SACH;QACD;YACE,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,kBAAkB;YAC7B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,eAAe;SACzB;KACF,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChB,MAAM,gBAAgB,GAAG,gBAAgB,CACvC,SAAS,CAAC,EAAE,EACZ,SAAS,CAAC,OAAO,EACjB,wBAAwB,EACxB,KAAK,EACL,SAAS,CAAC,IAAI,CACf,CAAC;QACF,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE,CAAC,EAAoB,EAAE,EAAE;gBAChC,wBAAwB,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,EAAE;oBAC/C,GAAG,iBAAiB;oBACpB,IAAI,EAAE;wBACJ,GAAG,iBAAiB,CAAC,IAAI;wBACzB,YAAY,EAAE,OAAO;wBACrB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;qBACpD;oBACD,iBAAiB,EAAE,mBAAmB;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,SAAS,EAAE,EAAE,CAAC,EAAE;gBACd,wBAAwB,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE;oBACjD,GAAG,iBAAiB;oBACpB,IAAI,EAAE;wBACJ,GAAG,iBAAiB,CAAC,IAAI;wBACzB,YAAY,EAAE,SAAS;wBACvB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;qBACpD;oBACD,iBAAiB,EAAE,mBAAmB;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,iBAAiB,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE;gBACtC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;gBACjF,wBAAwB,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,EAAE;oBACpD,GAAG,iBAAiB;oBACpB,IAAI,EAAE;wBACJ,GAAG,iBAAiB,CAAC,IAAI;wBACzB,YAAY,EAAE,OAAO;wBACrB,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,EAAE;wBAC3C,WAAW,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACnE,kBAAkB,EAAE,UAAU,EAAE,EAAE;qBACnC;oBACD,iBAAiB,EAAE,mBAAmB;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,IAAI,CAAC,eAAe;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,KAAK,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;oBAC1C,KAAK,EAAE,0BAA0B;oBACjC,QAAQ,EAAE,MAAM,CAAC,mCAAmC,CAAC;oBACrD,WAAW,EAAE,IAAI;iBAClB;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAA6C,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;QAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;QAEtC,OAAO,CACL,KAAC,KAAK,IACJ,OAAO,EAAC,eAAe,EACvB,OAAO,EACL,8BACE,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,wBAAkB,EAE1C,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;4BACZ,OAAO,EAAE,CAAC;4BACV,qBAAqB,CAAC,IAAI,CAAC,EAAE;gCAC3B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;gCAEhD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oCACjB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;oCAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;wCAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAC7D,CAAC,CAAC,CAAC;gCACH,OAAO,oBAAoB,CAAC;4BAC9B,CAAC,CAAC,CAAC;wBACL,CAAC,uBAGM,IACR,YAGL,KAAC,IAAI,yFAA8E,GAC7E,CACT,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,EAAoB,EAAE,EAAE;QAC3C,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,qBAAqB,CAAC;YACpB;gBACE;oBACE,GAAG,UAAU,CAAC,CAAC,CAAC;oBAChB,IAAI,EAAE,uBAAuB;oBAC7B,EAAE,EAAE,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,2HAA2H;oBACjI,MAAM,EAAE;wBACN,EAAE,EAAE,UAAU;wBACd,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,EAAE;4BACR,8QAA8Q;yBAC/Q;qBACF;oBACD,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,SAAS;iBACnB;gBACD,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;aACpC;YACD;gBACE;oBACE,GAAG,UAAU,CAAC,CAAC,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,SAAS;oBACtB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,gBAAgB,CACvB,OAAO,EACP,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EACrB,wBAAwB,EACxB,IAAI,EACJ,gJAAgJ,EAChJ,WAAW,CACZ;oBACD,SAAS,EAAE,kBAAkB;oBAC7B,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC;oBACjC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBACnC,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;oBAC9D,IAAI,EAAE,gJAAgJ;iBACvJ;gBACD;oBACE,GAAG,UAAU,CAAC,CAAC,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,SAAS;oBACtB,OAAO,EAAE,gBAAgB,CACvB,OAAO,EACP,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EACrB,wBAAwB,EACxB,IAAI,EACJ,sHAAsH,EACtH,WAAW,CACZ;oBACD,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,kBAAkB;oBAC7B,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC;oBAC/B,EAAE,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBACjC,IAAI,EAAE,sHAAsH;iBAC7H;aACF;YACD;gBACE;oBACE,GAAG,UAAU,CAAC,CAAC,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,kBAAkB;oBAC7B,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC;oBACjC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC9B,IAAI,EAAE,+HAA+H;oBACrI,SAAS,EAAE;wBACT,OAAO,EAAE,UAAU;qBACpB;iBACF;gBACD;oBACE,GAAG,UAAU,CAAC,CAAC,CAAC;oBAChB,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,kBAAkB;oBAC7B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;oBAC9B,EAAE,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBACjC,IAAI,EAAE,oIAAoI;iBAC3I;aACF;SACF,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAA8B,kBAAqC,CAAC,GAAG,CAC7F,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzC,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;YAC3D,MAAM;YACN,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9B,WAAW,EAAE,CAAC,KAAK,CAAC;YACpB,WAAW,EAAE,CAAC,KAAK,CAAC;YACpB,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,WAAW,EAAE,CAAC,KAAK,CAAC;SACK,CAAC;IAC9B,CAAC,CACF,CAAC;IAEF,MAAM,uBAAuB,GAA6B;QACxD;YACE,IAAI,EAAE,qCAAqC,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,EAAE,EAAE,qCAAqC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;YAC7D,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,gBAAgB,EAAE,CAAC;YACnB,MAAM,EAAE;gBACN;oBACE,GAAG,UAAU,CAAC,CAAC,CAAC;oBAChB,IAAI,EAAE,uBAAuB;oBAC7B,EAAE,EAAE,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,2HAA2H;oBACjI,MAAM,EAAE;wBACN,EAAE,EAAE,UAAU;wBACd,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,EAAE;4BACR,8QAA8Q;yBAC/Q;qBACF;oBACD,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,SAAS;iBACnB;gBACD,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;aACpC;SACF;KACF,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,UAAU,IACT,WAAW,EAAE;oBACX,OAAO,EAAE,CACP,MAAC,IAAI,IACH,SAAS,EAAE;4BACT,UAAU,EAAE,QAAQ;4BACpB,GAAG,EAAE,CAAC;yBACP,aAED,KAAC,MAAM,IAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,kBAC3B,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACf,EACT,KAAC,UAAU,IACT,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,MAAM,EACX,QAAQ,QACR,MAAM,QACN,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GACxB,IACG,CACR;oBACD,OAAO,EAAE,eAAe;iBACzB,EACD,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kBAAkB,GACrF,EACF,4BACG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACrC,OAAO,KAAC,aAAa,OAAgB,aAAa,CAAC,IAAI,CAAC,IAA7B,IAAI,CAA6B,CAAC;gBAC/D,CAAC,CAAC,GACD,IACF,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,IAAI,GAAG;IACpB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,cAAc,CAAC,QAAQ,GAAG;IACxB,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC9C,eAAe,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACjD,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CACrD,CAAC;AAcF,MAAM,CAAC,MAAM,cAAc,GAA+B,CAAC,IAAyB,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAA+B,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAA8B;QAC7C,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU;KACjB,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,EAAE;QACzC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,iBAAiB,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvD,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;YACzB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACpE,4CAA4C;YAC5C,4BAA4B;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,oEAAoE;YACpE,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACtC;YACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;gBAC/B,kBAAkB;gBAClB,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACtC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,UAAU,IACT,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;YAClC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,gBAAgB;YACrD,MAAM,EAAE,iBAAiB;SAC1B,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,IAAI,GAAG;IACpB,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEF,cAAc,CAAC,QAAQ,GAAG;IACxB,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CACpD,CAAC;AAcF,MAAM,CAAC,MAAM,oBAAoB,GAAqC,CACpE,IAA+B,EAC/B,EAAE;IACF,OAAO,CACL,KAAC,gBAAgB,IACf,EAAE,EAAE,SAAS,EAAE,EACf,kBAAkB,EAAE;YAClB;gBACE,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,eAAe;gBACzB,YAAY,EAAE,2BAA2B;aAC1C;YACD;gBACE,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE,4BAA4B;aAC3C;SACF,EACD,OAAO,EAAC,0EAA0E,EAClF,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EACxF,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,EAAE,EACX,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,MAAM,EAAE,IAAI,CAAC,QAAQ,EACrB,QAAQ,EAAE,CAAC,EAA+B,EAAE,EAAE;YAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,oBAAoB,CAAC,IAAI,GAAG;IAC1B,gBAAgB,EAAE,CAAC;IACnB,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,oBAAoB,CAAC,QAAQ,GAAG;IAC9B,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACjD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAC3C,CAAC;AAgBF,MAAM,CAAC,MAAM,oBAAoB,GAAsC,CACrE,IAAgC,EAChC,EAAE;IACF,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAE5B,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAC/C,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAqB,sBAAsB,CAAC,CAAC;IAEzF,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YAChD,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QACzC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjF,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,eAAe,GAA6B,CAAC,EAAuB,EAAE,EAAE;QAC5E,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,UAAU,CAAC,IAAI,CAAC,CAAC;YAEjB,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,gBAAgB,CAAC,SAAS,CAAC,EAAE;oBAC3B,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CACtC,mBAAmB,EACnB,mBAAmB,GAAG,iBAAiB,CACxC,CAAC;oBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;wBACzB,UAAU,CAAC,KAAK,CAAC,CAAC;qBACnB;oBAED,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,KAAC,gBAAgB,IACf,GAAG,EAAE,mBAAmB,EACxB,gBAAgB,EAAE,EAAE,EACpB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,aAAa,EAClC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,eAAe,EAChD,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/D,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,EAChC,YAAY,EAAC,YAAY,GACzB,CACH,CAAC;AACJ,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,oBAAoB,GAAqC,CACpE,IAA+B,EAC/B,EAAE;IACF,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAE5B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACvE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC3F,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,oBAAoB,GAAG,CAAC,EAA+B,EAAE,EAAE;QAC/D,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YAC5C,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACpC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QAE5E,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,UAAU,CAAC,IAAI,CAAC,CAAC;YAEjB,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,YAAY,CAAC,SAAS,CAAC,EAAE;oBACvB,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CACtC,mBAAmB,EACnB,mBAAmB,GAAG,iBAAiB,CACxC,CAAC;oBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;wBACzB,UAAU,CAAC,KAAK,CAAC,CAAC;qBACnB;oBAED,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,YAAY,CAAC,EACrE,CAAC,YAAY,EAAE,SAAS,CAAC,CAC1B,CAAC;IAEF,MAAM,OAAO,GACX,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAC3B,KAAC,UAAU,IAAC,OAAO,EAAC,mBAAmB,GAAG,CAC3C,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IAAC,kBAAkB,EAAE,eAAe,GAAG,CAAC,KAAK,CAAC,GAAI,CAClE,CAAC;IAEJ,MAAM,SAAS,GACb,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,wBAAwB;IACxB,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,aAC5B,KAAC,cAAc,IACb,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GACzC,EACF,MAAC,IAAI,eACH,MAAC,UAAU,IAAC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aACrD,KAAC,IAAI,IAAC,IAAI,EAAC,cAAc,GAAG,EAC5B,KAAC,IAAI,IAAC,OAAO,EAAC,IAAI,6BAAoB,IAC3B,EACb,KAAC,WAAW,cACV,KAAC,cAAc,IAAC,MAAM,EAAE,2BAA2B,EAAE,OAAO,EAAC,SAAS,GAAG,GAC7D,IACT,EACP,KAAC,WAAW,IACV,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACjC,GAAG,KAAK;oBACR,OAAO,EAAE,KAAC,WAAW,cAAE,KAAK,CAAC,OAAO,GAAe;oBACnD,SAAS,EAAE,CACT,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aACvD,KAAC,IAAI,IAAC,OAAO,EAAC,SAAS,YAAE,KAAK,CAAC,SAAS,CAAC,SAAS,GAAQ,EAC1D,KAAC,WAAW,cAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAe,IAC7C,CACR;iBACF,CAAC,CAAC,EACH,WAAW,EAAC,UAAU,GACtB,IACG,CACR,CAAC;IAEJ,OAAO,CACL,KAAC,YAAY,IACX,SAAS,QACT,IAAI,EACF,KAAC,YAAY,IACX,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;aACf,EACD,IAAI,EACF,KAAC,oBAAoB,IACnB,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC5C,OAAO,EAAE,OAAO,GAChB,EAEJ,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,qBAAqB,EACnB,SAAS;gBACP,CAAC,CAAC;oBACE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;oBACrC,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;oBACtC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;iBACnC;gBACH,CAAC,CAAC,SAAS,EAEf,yBAAyB,EAAE,CAAC,CAAC,SAAS,GACtC,GAEJ,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,oBAAoB,CAAC,IAAI,GAAG;IAC1B,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEF,oBAAoB,CAAC,QAAQ,GAAG;IAC9B,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CACpD,CAAC;AACF,oBAAoB,CAAC,UAAU,GAAG;IAChC,MAAM,EAAE,YAAY;CACrB,CAAC","sourcesContent":["// cSpell:words calibri Trichy Nagercoil\nimport {\n useState,\n useRef,\n useCallback,\n useEffect,\n createRef,\n RefObject,\n MouseEvent,\n FunctionComponent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\nimport { useMemo } from '@storybook/addons';\n\nimport {\n Card,\n CardContent,\n createUID,\n MenuButton,\n MenuItemProps,\n MenuProps,\n Icon,\n registerIcon,\n Flex,\n Button,\n menuHelpers,\n CardHeader,\n Text,\n SummaryList,\n Grid,\n FieldValueList,\n StyledLabel,\n EmptyState,\n Modal,\n useModalManager,\n useModalContext,\n useToaster\n} from '@pega/cosmos-react-core';\nimport * as filterIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter.icon';\nimport {\n Email as EmailComponent,\n EmailConversation,\n EmailComposer,\n EmailShell,\n EmailSummaryItem,\n EmailSummaryList,\n EntityList,\n EmailProps,\n EmailConversationProps,\n EmailComposerProps,\n EntityListProps,\n EmailManager,\n EmailSummaryListProps,\n EmailSummaryItemProps\n} from '@pega/cosmos-react-social';\nimport {\n EmailComposerFieldType,\n EmailComposerValueType,\n EmailComposerHandleValue,\n ContextMenuProps\n} from '@pega/cosmos-react-social/lib/components/Email/Email.types';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport {\n bccParticipants,\n ccParticipants,\n emailBodyContent,\n participants,\n toParticipants,\n emailAttachments,\n EntityListMockData,\n viewAnalysisEmailHeaderMock,\n topicListMock,\n emailActions,\n generateEmailConversationParticipants,\n templates,\n handleExternalEntry,\n emailDemoActions,\n LaunchAction,\n baseComposerProps,\n sentiment,\n emailSummaryItems,\n mockEmails,\n mockSuggestedReplies,\n mockEmailBodyTemplates,\n forwardedContent,\n getCompositeId,\n emptyFieldErrorMessage,\n fieldValidation,\n emailWorklistItemsMock,\n contextMenuItemsMock,\n highlightedEntitiesMock,\n mockUploadImage,\n mailDeliverySystemEmail,\n supportTeamEmail\n} from './Email.mocks';\nimport { StyledEmailCardContent } from './Email.styles';\n\nregisterIcon(filterIcon);\n\nexport default {\n title: 'Social/Email',\n component: EmailComponent\n} as Meta;\n\n// _______ .___ ___. ___ __ __\n// | ____|| \\/ | / \\ | | | |\n// | |__ | \\ / | / ^ \\ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | |\n// | |____ | | | | / _____ \\ | | | `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______|\n\ninterface EmailDemoProps {\n enableEntityHighlighting?: boolean;\n enableContextMenu?: boolean;\n forwardedContent?: string;\n showEmailBanner?: boolean;\n}\n\nexport const Email: Story<EmailDemoProps> = (args: EmailDemoProps) => {\n const contextMenuHandle: ContextMenuProps['handle'] = useRef(null);\n const timeout = useRef<number | null>(null);\n\n const handleRightClick = (id: EmailProps['id'], e: MouseEvent) => {\n action('onContextMenu')(id, e);\n if (contextMenuHandle.current && args.enableContextMenu) {\n const { setItems, setOpen, setLoading } = contextMenuHandle.current;\n // Deciding not to show browser context menu\n // This should be synchronus\n e.preventDefault();\n\n // Now open the custom context menu using the handle and show loader\n setLoading(true);\n setItems([]);\n setOpen(true);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n setItems(contextMenuItemsMock);\n // Hide the loader\n setLoading(false);\n }, 1000);\n }\n };\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n };\n }, []);\n\n return (\n <Card>\n <StyledEmailCardContent>\n <EmailComponent\n id={createUID()}\n timeStamp='2021-01-05T09:12'\n from={mockEmails['Laura Stevens']}\n cc={[mockEmails['Adam Gillchrist'], mockEmails['John Paul']]}\n bcc={[mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']]}\n to={[mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']]}\n body='<div>Hi,<br/><p>I am one of the customer of Indian Overseas Bank, <b><i>Nagercoil</i></b> branch, with code <b><a href=\"www.google.com\"><i>3967</i></a></b>. I have a saving bank account here. My account number is <i>6785420965476</i>.</p><br/><p>I have been given a debit cum ATM card from this bank and the same has been lost when I was traveling from Nagercoil to Trichy by Bus on Jan 04, 2021. I remember that my ATM card number was 1920 6746 8653 1256.</p><br/>I hereby request you to block my debit card immediately to prevent misuse of the same by some others. Also I request you to give me an new debit card as early as possible.<br/><br/>Regards,<br/>Laura Stevens</div>'\n forwardedContent={args.forwardedContent}\n entityHighlightMapping={\n args.enableEntityHighlighting ? highlightedEntitiesMock : undefined\n }\n subject='I lost my debit card'\n banner={\n args.showEmailBanner\n ? {\n id: 'banner_1',\n heading: 'Address not found ',\n messages: [\n '550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipients email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser k24-20020aa790d8000000b0050dd7e3b84csor451330pfk.28'\n ]\n }\n : undefined\n }\n onReply={action('On reply')}\n onReplyAll={action('On reply all')}\n onForward={action('On forward')}\n onSuggestionClick={action('On Suggested reply clicked')}\n sentiment={{\n variant: 'neutral'\n }}\n actions={emailActions}\n suggestions={mockSuggestedReplies}\n contextMenu={{\n onItemClick: (selectedValue: { fieldName: string; fieldValue: string }) => {\n action('onItemClick')(selectedValue);\n contextMenuHandle.current?.setOpen(false);\n },\n onContextMenu: handleRightClick,\n handle: contextMenuHandle\n }}\n attachments={[\n {\n id: 'attachment_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'attachment_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })}\n />\n </StyledEmailCardContent>\n </Card>\n );\n};\n\nEmail.args = {\n enableEntityHighlighting: false,\n enableContextMenu: false,\n // eslint-disable-next-line demo-patterns/literal-args\n forwardedContent,\n showEmailBanner: false\n};\n\nEmail.argTypes = {\n enableEntityHighlighting: { control: { type: 'boolean' } },\n enableContextMenu: { control: { type: 'boolean' } },\n forwardedContent: { control: { type: 'text' } },\n showEmailBanner: { control: { type: 'boolean' } }\n};\n\n// ______ ______ .___ ___. .______ ______ _______. _______ .______\n// / | / __ \\ | \\/ | | _ \\ / __ \\ / || ____|| _ \\\n// | ,----'| | | | | \\ / | | |_) | | | | | | (----`| |__ | |_) |\n// | | | | | | | |\\/| | | ___/ | | | | \\ \\ | __| | /\n// | `----.| `--' | | | | | | | | `--' | .----) | | |____ | |\\ \\----.\n// \\______| \\______/ |__| |__| | _| \\______/ |_______/ |_______|| _| `._____|\n\nexport const Composer: Story = () => {\n const [composerProgress, setComposerProgress] = useState<EmailComposerProps['progress']>(false);\n const composerHandle = useRef<EmailComposerHandleValue>(null);\n\n const [data, setData] = useState<\n EmailComposerProps['data'] & { bodyContentCurrentValue: string }\n >({\n to: { value: toParticipants },\n cc: { value: [] },\n bcc: { value: [] },\n subject: { value: 'Request: Pause service' },\n bodyContent: {\n defaultValue: 'Hi, Hope you are doing well'\n },\n responseType: 'reply',\n selectedTemplateId: '',\n attachments: emailAttachments,\n bodyContentCurrentValue: ''\n });\n\n const handleOnChange = (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n if (field === 'bodyContent') {\n setData(prev => ({\n ...prev,\n bodyContentCurrentValue: value as string\n }));\n } else if (['responseType', 'attachments', 'selectedTemplateId'].includes(field)) {\n setData(prev => ({\n ...prev,\n [field]: value\n }));\n } else {\n // Clearing error message as soon as value changes\n setData(prev => {\n return {\n ...prev,\n [field]: { error: undefined, value }\n };\n });\n }\n action('onChange')(field, value);\n };\n\n useEffect(() => {\n if (data.responseType === 'reply') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev.cc,\n value: []\n },\n bcc: {\n ...prev.bcc,\n value: []\n }\n };\n });\n } else if (data.responseType === 'replyAll') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: toParticipants\n },\n cc: {\n ...prev.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev.bcc,\n value: bccParticipants\n }\n };\n });\n } else if (data.responseType === 'forward') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: []\n },\n cc: {\n ...prev.cc,\n value: []\n },\n bcc: {\n ...prev.bcc,\n value: []\n }\n };\n });\n }\n }, [data.responseType]);\n\n const onTemplateChange = (id: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === id);\n // Simulating api call\n setComposerProgress({ message: 'Loading template...' });\n setTimeout(() => {\n setComposerProgress(false);\n composerHandle.current?.replaceBodyContent(selectedTemplate?.content || '');\n }, 1000);\n };\n\n useEffect(() => {\n if (data.selectedTemplateId) onTemplateChange(data.selectedTemplateId);\n }, [data.selectedTemplateId]);\n\n const handleOnSend: EmailComposerProps['onSend'] = () => {\n setData(prev => {\n return {\n ...prev,\n to: {\n value: prev.to?.value || [],\n error:\n data?.to?.value.length === 0 ? emptyFieldErrorMessage : fieldValidation(data?.to?.value)\n },\n cc: {\n value: prev.cc?.value || [],\n error: data.cc === undefined ? undefined : fieldValidation(data.cc.value)\n },\n bcc: {\n value: prev.bcc?.value || [],\n error: data.bcc === undefined ? undefined : fieldValidation(data.bcc.value)\n },\n subject: {\n ...prev.subject,\n error: data.subject?.value === '' ? emptyFieldErrorMessage : undefined\n },\n bodyContent: {\n ...prev.bodyContent,\n error: data.bodyContentCurrentValue === '' ? emptyFieldErrorMessage : undefined\n }\n };\n });\n };\n\n const onImageAdded: EmailComposerProps['onImageAdded'] = (image: File, id: string) => {\n action('On Image added');\n setComposerProgress({ message: 'Uploading image' });\n // Simulate image upload\n mockUploadImage(image)\n .then(({ src, alt }) => {\n composerHandle.current?.updateImage({ src, alt }, id);\n setComposerProgress(false);\n })\n .catch(() => {\n setComposerProgress(false);\n });\n };\n\n return (\n <EmailComposer\n handle={composerHandle}\n progress={composerProgress}\n onSave={action('On save')}\n onSend={handleOnSend}\n onCancel={action('On cancel')}\n externalValidator={handleExternalEntry}\n participants={participants}\n onChange={handleOnChange}\n data={data}\n templates={templates}\n onImageAdded={onImageAdded}\n />\n );\n};\n\n// ______ ______ .__ __. ____ ____ _______ .______ _______. ___ .___________. __ ______ .__ __.\n// / | / __ \\ | \\ | | \\ \\ / / | ____|| _ \\ / | / \\ | || | / __ \\ | \\ | |\n// | ,----'| | | | | \\| | \\ \\/ / | |__ | |_) | | (----` / ^ \\ `---| |----`| | | | | | | \\| |\n// | | | | | | | . ` | \\ / | __| | / \\ \\ / /_\\ \\ | | | | | | | | | . ` |\n// | `----.| `--' | | |\\ | \\ / | |____ | |\\ \\----.----) | / _____ \\ | | | | | `--' | | |\\ |\n// \\______| \\______/ |__| \\__| \\__/ |_______|| _| `._____|_______/ /__/ \\__\\ |__| |__| \\______/ |__| \\__|\n\nexport const Conversation: Story = () => {\n const emailArr: EmailProps[] = [\n {\n id: 'item_0',\n timeStamp: '2021-01-05T09:12',\n from: mockEmails['Laura Stevens'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>Sure.. Here is your E-Ticket !! </div> <br /><br /> Regards, <br /> Laura Stevens </div>',\n unRead: true,\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n actions: emailActions,\n suggestions: mockSuggestedReplies\n },\n {\n id: 'item_1',\n timeStamp: '2021-01-02T03:12',\n from: mockEmails['Sara Davis'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Laura Stevens'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>I’m still at the airport, I need help now!! </div> <br /><br /> Regards, <br /> Sara Davis </div>',\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n actions: emailActions\n }\n ];\n\n return (\n <EmailConversation\n participants={generateEmailConversationParticipants(emailArr)}\n from={generateEmailConversationParticipants(emailArr, ['from'])[0]}\n to={generateEmailConversationParticipants(emailArr, ['to'])}\n id={createUID()}\n timeStamp={emailArr[0].timeStamp}\n unReadEmailCount={emailArr.filter(item => item.unRead).length}\n emails={emailArr}\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ _______ __ __\n// | ____|| \\/ | / \\ | | | | / || | | | | ____|| | | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| |__| | | |__ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | __ | | __| | | | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | | | | | |____ | `----.| `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ |__| |__| |_______||_______||_______|\n\ninterface EmailShellDemoProps {\n autoCollapse?: boolean;\n hideSuggestions?: boolean;\n singleConversation?: boolean;\n}\n\nexport const EmailShellDemo: Story<EmailShellDemoProps> = (args: EmailShellDemoProps) => {\n const { create } = useModalManager();\n const { push } = useToaster();\n const actions = ['Transfer', 'End conversation'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }));\n\n const [composersData, setComposersData] = useState<{\n [key: string]: EmailComposerProps & { bodyContentCurrentValue: string };\n }>({});\n const [conversationEmails, setConversationEmails] = useState<EmailProps[][]>([]);\n\n const handleResponseTypeChange = (uid: string, responseType: string) => {\n if (responseType === 'reply') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev[uid].data.cc,\n value: []\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: []\n }\n }\n }\n };\n });\n } else if (responseType === 'replyAll') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: toParticipants\n },\n cc: {\n ...prev[uid].data.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: bccParticipants\n }\n }\n }\n };\n });\n }\n };\n\n const handleTemplateIdChange = (uid: string, templateId: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === templateId);\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: { message: 'Loading template...' }\n }\n };\n });\n\n // Simulating api call\n setTimeout(() => {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: false\n }\n };\n });\n\n let currentData: { [key: string]: EmailComposerProps } = {};\n setComposersData(prev => {\n currentData = prev;\n return prev;\n });\n\n if (currentData) {\n (\n currentData[uid]?.handle as RefObject<EmailComposerHandleValue>\n )?.current?.replaceBodyContent(selectedTemplate?.content || '');\n }\n }, 1000);\n };\n\n const handleChange = (\n uid: string,\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n setComposersData(prevData => {\n if (field === 'bodyContent') {\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n bodyContentCurrentValue: value as string\n }\n };\n }\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n data: {\n ...prevData[uid].data,\n [field]: ['responseType', 'attachments', 'selectedTemplateId'].includes(field)\n ? value\n : {\n error: undefined, // Clearing error on change\n value\n }\n }\n }\n };\n });\n\n if (field === 'responseType') {\n handleResponseTypeChange(uid, value as string);\n } else if (field === 'selectedTemplateId') {\n handleTemplateIdChange(uid, value as string);\n }\n };\n\n const MyModal: FunctionComponent<{ currentID: string }> = ({ currentID }) => {\n const { dismiss } = useModalContext();\n\n return (\n <Modal\n heading='Discard unsaved changes?'\n actions={\n <>\n <Button onClick={dismiss}>Go back</Button>\n <Flex>\n <Button\n onClick={() => {\n dismiss();\n setComposersData(prev => {\n return {\n ...prev,\n [currentID]: {\n ...prev[currentID],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[currentID];\n return newComposersData;\n });\n push({ content: 'Draft Saved' });\n }, 1000);\n }}\n >\n Save & close\n </Button>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[currentID];\n return newComposersData;\n });\n }}\n >\n Discard\n </Button>\n </Flex>\n </>\n }\n >\n <Text variant='primary'>\n You have unsaved changes. You can discard them or go back to keep working.\n </Text>\n </Modal>\n );\n };\n\n const handleCancel = (uid: string) => {\n create(MyModal, { currentID: uid }, { alert: true });\n };\n\n const handleSend = (uid: string) => {\n action('Send')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n push({ content: 'Email Send' });\n }, 1000);\n };\n\n const handleSave = (uid: string) => {\n action('Save')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n push({ content: 'Draft Saved' });\n }, 1000);\n };\n\n const createOrActivateComposer = (\n id: EmailProps['id'],\n launchAction: LaunchAction,\n composerProps: EmailComposerProps\n ) => {\n const uid = getCompositeId(id, launchAction);\n if (composersData[uid]) {\n // Activate the existing composer\n (composersData[uid].handle as RefObject<EmailComposerHandleValue>)?.current?.activate();\n } else {\n // Create new composer\n setComposersData(prev => {\n const composerHandle = createRef<EmailComposerHandleValue>();\n return {\n ...prev,\n [uid]: {\n ...composerProps,\n bodyContentCurrentValue: composerProps.data.bodyContent.defaultValue,\n handle: composerHandle,\n onChange: (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => handleChange(uid, field, value),\n onCancel: () => handleCancel(uid),\n onSend: () => handleSend(uid),\n onSave: () => handleSave(uid)\n }\n };\n });\n }\n };\n\n const emailsData: EmailProps[] = [\n {\n id: 'item0',\n timeStamp: '2021-01-05T09:12',\n from: participants[0],\n to: participants.slice(0, 2),\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Laura Stevens </div>',\n unRead: true,\n subject: 'Pause service',\n suggestions: args.hideSuggestions ? undefined : mockSuggestedReplies,\n attachments: [\n {\n id: 'item_1_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'item_1_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })\n },\n {\n id: 'item1',\n timeStamp: '2021-01-02T03:12',\n from: participants[3],\n to: participants.slice(2, 4),\n body: emailBodyContent,\n unRead: true,\n subject: 'Pause service'\n }\n ].map(emailData => {\n const emailActionItems = emailDemoActions(\n emailData.id,\n emailData.subject,\n createOrActivateComposer,\n false,\n emailData.body\n );\n return {\n ...emailData,\n onReply: (id: EmailProps['id']) => {\n createOrActivateComposer(id, LaunchAction.REPLY, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: `Re-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onForward: id => {\n createOrActivateComposer(id, LaunchAction.FORWARD, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'forward',\n subject: { value: `Fw-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onSuggestionClick: (id, suggestionId) => {\n const suggestion = emailData.suggestions?.find(item => item.id === suggestionId);\n createOrActivateComposer(id, LaunchAction.SUGGESTION, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: suggestion?.title || '' },\n bodyContent: { defaultValue: suggestion ? suggestion.content : '' },\n selectedTemplateId: suggestion?.id\n },\n externalValidator: handleExternalEntry\n });\n },\n actions: emailActionItems,\n tags: args.hideSuggestions\n ? undefined\n : {\n items: ['Pause service', 'Lost or stolen'],\n label: 'Associated service cases',\n onRemove: action('On Associated service case remove'),\n dismissable: true\n }\n };\n });\n\n const DeleteDraft: FunctionComponent<{ currentID: string }> = ({ currentID }) => {\n const { dismiss } = useModalContext();\n\n return (\n <Modal\n heading='Delete draft?'\n actions={\n <>\n <Button onClick={dismiss}>Go back</Button>\n\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n setConversationEmails(prev => {\n const newEmailConversation: EmailProps[][] = [];\n\n prev.forEach(arr => {\n const newArr = arr.filter(index => index.id !== currentID);\n if (newArr.length !== 0) newEmailConversation.push(newArr);\n });\n return newEmailConversation;\n });\n }}\n >\n Delete\n </Button>\n </>\n }\n >\n <Text>Are you sure that you want to permanently delete the selected message?</Text>\n </Modal>\n );\n };\n\n const deleteEmail = (id: EmailProps['id']) => {\n create(DeleteDraft, { currentID: id }, { alert: true });\n };\n\n useEffect(() => {\n setConversationEmails([\n [\n {\n ...emailsData[1],\n from: mailDeliverySystemEmail,\n to: [supportTeamEmail],\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Support team </div>',\n banner: {\n id: 'banner_1',\n heading: 'Address not found ',\n messages: [\n '550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipients email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser k24-20020aa790d8000000b0050dd7e3b84csor451330pfk.28'\n ]\n },\n onReply: undefined,\n onForward: undefined,\n actions: undefined\n },\n { ...emailsData[1], unRead: false }\n ],\n [\n {\n ...emailsData[0],\n id: 'item2',\n status: 'draft',\n onReply: undefined,\n onForward: undefined,\n suggestions: undefined,\n unRead: false,\n actions: emailDemoActions(\n 'item2',\n emailsData[0].subject,\n createOrActivateComposer,\n true,\n '<div>Hi, <br /> <br /><div>Sure, Our executive will come and check your connection in 24hrs. </div> <br />Regards, <br />Hugh Phillips </div>',\n deleteEmail\n ),\n timeStamp: '2021-01-03T17:15',\n from: mockEmails['Hugh Phillips'],\n to: [mockEmails['Mystery Rey'], ...emailsData[0].to],\n cc: [mockEmails['Adam Gillchrist']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will come and check your connection in 24hrs. </div> <br />Regards, <br />Hugh Phillips </div>'\n },\n {\n ...emailsData[1],\n id: 'item3',\n status: 'draft',\n onReply: undefined,\n onForward: undefined,\n suggestions: undefined,\n actions: emailDemoActions(\n 'item3',\n emailsData[0].subject,\n createOrActivateComposer,\n true,\n '<div>Hi, <br /> <br /><div>Can you fix my internet connection. </div> <br /> <br />Regards, <br />Rey Mystery </div>',\n deleteEmail\n ),\n unRead: false,\n timeStamp: '2021-01-02T14:16',\n from: mockEmails['Mystery Rey'],\n to: [mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Can you fix my internet connection. </div> <br /> <br />Regards, <br />Rey Mystery </div>'\n }\n ],\n [\n {\n ...emailsData[0],\n id: 'item4',\n unRead: true,\n timeStamp: '2020-12-05T18:18',\n from: mockEmails['Laura Stevens'],\n to: [mockEmails['Sara Davis']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will call you shortly. </div> <br /> <br />Regards, <br />Laura Stevens </div>',\n sentiment: {\n variant: 'positive'\n }\n },\n {\n ...emailsData[1],\n id: 'item5',\n unRead: true,\n timeStamp: '2021-01-04T08:30',\n from: mockEmails['Sara Davis'],\n to: [mockEmails['Laura Stevens']],\n body: '<div>Hi, <br /> <br /><div>Can you show please explain your new mobile plans. </div> <br /> <br />Regards, <br />Sara Davis </div>'\n }\n ]\n ]);\n }, []);\n\n const emailConversations: EmailConversationProps[] = (conversationEmails as EmailProps[][]).map(\n (emails, i) => {\n return {\n from: i === 0 ? emails[1].from : generateEmailConversationParticipants(emails, ['from'])[0],\n to: i === 0 ? emails[1].to : emails[0].to,\n id: `item_${i}`,\n timeStamp: emails[0].timeStamp,\n unReadEmailCount: emails.filter(item => item.unRead).length,\n emails,\n sentiment: emails[0].sentiment,\n isForwarded: i !== 2,\n isCollapsed: i !== 0,\n drafts: i === 1,\n undelivered: i === 0\n } as EmailConversationProps;\n }\n );\n\n const singleEmailConversation: EmailConversationProps[] = [\n {\n from: generateEmailConversationParticipants(emailsData, ['from'])[0],\n to: generateEmailConversationParticipants(emailsData, ['to']),\n id: 'item_0',\n timeStamp: new Date(emailsData[0].timeStamp),\n unReadEmailCount: 1,\n emails: [\n {\n ...emailsData[1],\n from: mailDeliverySystemEmail,\n to: [supportTeamEmail],\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Support team </div>',\n banner: {\n id: 'banner_1',\n heading: 'Address not found ',\n messages: [\n '550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipients email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser k24-20020aa790d8000000b0050dd7e3b84csor451330pfk.28'\n ]\n },\n onReply: undefined,\n onForward: undefined,\n actions: undefined\n },\n { ...emailsData[1], unRead: false }\n ]\n }\n ];\n\n return (\n <>\n <EmailShell\n headerProps={{\n actions: (\n <Flex\n container={{\n alignItems: 'center',\n gap: 0\n }}\n >\n <Button variant='simple' icon>\n <Icon name='filter' />\n </Button>\n <MenuButton\n variant='simple'\n text='More actions'\n icon='more'\n iconOnly\n portal\n menu={{ items: actions }}\n />\n </Flex>\n ),\n subject: 'Pause service'\n }}\n autoCollapse={args.autoCollapse}\n conversations={args.singleConversation ? singleEmailConversation : emailConversations}\n />\n <>\n {Object.keys(composersData).map(guid => {\n return <EmailComposer key={guid} {...composersData[guid]} />;\n })}\n </>\n </>\n );\n};\n\nEmailShellDemo.args = {\n autoCollapse: true,\n hideSuggestions: false,\n singleConversation: true\n};\n\nEmailShellDemo.argTypes = {\n autoCollapse: { control: { type: 'boolean' } },\n hideSuggestions: { control: { type: 'boolean' } },\n singleConversation: { control: { type: 'boolean' } }\n};\n\n// _______ .__ __. .___________. __ .___________.____ ____ __ __ _______.___________.\n// | ____|| \\ | | | || | | |\\ \\ / / | | | | / | |\n// | |__ | \\| | `---| |----`| | `---| |----` \\ \\/ / | | | | | (----`---| |----`\n// | __| | . ` | | | | | | | \\_ _/ | | | | \\ \\ | |\n// | |____ | |\\ | | | | | | | | | | `----.| | .----) | | |\n// |_______||__| \\__| |__| |__| |__| |__| |_______||__| |_______/ |__|\n\ninterface EntityListDemoProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EntityListDemo: Story<EntityListDemoProps> = (args: EntityListDemoProps) => {\n const itemCounter = useRef(3);\n const timeout = useRef<number | null>(null);\n const contextMenuHandle: ContextMenuProps['handle'] = useRef(null);\n const headerProps: EntityListProps['header'] = {\n icon: 'list-number',\n text: 'Entities'\n };\n\n const handleRightClick = (e: MouseEvent) => {\n action('onContextMenu')(e);\n if (contextMenuHandle.current && args.enableContextMenu) {\n itemCounter.current += 1;\n const { setItems, setOpen, setLoading } = contextMenuHandle.current;\n // Deciding not to show browser context menu\n // This should be synchronus\n e.preventDefault();\n\n // Now open the custom context menu using the handle and show loader\n setLoading(true);\n setItems([]);\n setOpen(true);\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n setItems(contextMenuItemsMock);\n // Hide the loader\n setLoading(false);\n }, 1000);\n }\n };\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n };\n }, []);\n\n return (\n <EntityList\n header={headerProps}\n content={EntityListMockData}\n contextMenu={{\n onItemClick: action('onItemClick'),\n onContextMenu: args.onContextMenu || handleRightClick,\n handle: contextMenuHandle\n }}\n />\n );\n};\n\nEntityListDemo.args = {\n enableContextMenu: true\n};\n\nEntityListDemo.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ .___________. _______ .___ ___.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | || ____|| \\/ |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | `---| |----`| |__ | \\ / |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | | __| | |\\/| |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | | | | | |____ | | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |__| |__| |_______||__| |__|\n\ninterface EmailSummaryItemDemoProps {\n unreadEmailCount?: number;\n isActive?: boolean;\n}\n\nexport const EmailSummaryItemDemo: Story<EmailSummaryItemDemoProps> = (\n args: EmailSummaryItemDemoProps\n) => {\n return (\n <EmailSummaryItem\n id={createUID()}\n activeParticipants={[\n {\n shortName: 'Robert',\n fullName: 'Robert Downer',\n emailAddress: 'robert.downey@example.com'\n },\n {\n shortName: 'Nathan',\n fullName: 'Nathan Swanson',\n emailAddress: 'nathan.swanson@example.com'\n }\n ]}\n message='I have a quick question on traveling to India. How do I reach Hyderabad?'\n timeStamp={new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), 24))}\n topic='Missing Luggage'\n sentiment={sentiment}\n urgency={10}\n unreadEmailCount={args.unreadEmailCount}\n active={args.isActive}\n onSelect={(id: EmailSummaryItemProps['id']) => {\n action('onSelect')(id);\n }}\n />\n );\n};\n\nEmailSummaryItemDemo.args = {\n unreadEmailCount: 0,\n isActive: false\n};\n\nEmailSummaryItemDemo.argTypes = {\n unreadEmailCount: { control: { type: 'number' } },\n isActive: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ __ _______.___________.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | | / | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | | | | (----`---| |----`\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | \\ \\ | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | `----.| | .----) | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |_______||__| |_______/ |__|\n\ninterface EmailSummaryListStoryProps {\n onItemClick?: EmailSummaryListProps['onItemClick'];\n items?: EmailSummaryListProps['items'];\n onLoadMore?: EmailSummaryListProps['onLoadMore'];\n loading?: EmailSummaryListProps['loading'];\n}\n\nexport const EmailSummaryListDemo: Story<EmailSummaryListStoryProps> = (\n args: EmailSummaryListStoryProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const emailSummaryListRef = useRef(null);\n const [allEmailItems, setAllEmailItems] = useState(\n emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE)\n );\n const [categories, setCategories] = useState<MenuProps['items']>(emailWorklistItemsMock);\n\n const handleItemClick = (id: string) => {\n const index = allEmailItems.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailItems = [...allEmailItems];\n newEmailItems.splice(index, 1, { ...allEmailItems[index], unreadEmailCount: 0 });\n\n setAllEmailItems(newEmailItems);\n };\n\n const onCategoryClick: MenuItemProps['onClick'] = (id: MenuItemProps['id']) => {\n setCategories(cur => menuHelpers.toggleSelected(cur, id, 'single-select'));\n };\n\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setAllEmailItems(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n return (\n <EmailSummaryList\n ref={emailSummaryListRef}\n unreadEmailCount={99}\n categories={categories}\n items={args.items || allEmailItems}\n onItemClick={args.onItemClick || handleItemClick}\n onCategoryClick={onCategoryClick}\n onLoadMore={args.onLoadMore || (hasMore ? loadMore : undefined)}\n loading={args.loading || loading}\n emptyMessage='No emails.'\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ .___ ___. ___ .__ __. ___ _______ _______ .______\n// | ____|| \\/ | / \\ | | | | | \\/ | / \\ | \\ | | / \\ / _____|| ____|| _ \\\n// | |__ | \\ / | / ^ \\ | | | | | \\ / | / ^ \\ | \\| | / ^ \\ | | __ | |__ | |_) |\n// | __| | |\\/| | / /_\\ \\ | | | | | |\\/| | / /_\\ \\ | . ` | / /_\\ \\ | | |_ | | __| | /\n// | |____ | | | | / _____ \\ | | | `----. | | | | / _____ \\ | |\\ | / _____ \\ | |__| | | |____ | |\\ \\----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |__| |__| /__/ \\__\\ |__| \\__| /__/ \\__\\ \\______| |_______|| _| `._____|\n\ninterface EmailManagerAppShellProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EmailManagerAppShell: Story<EmailManagerAppShellProps> = (\n args: EmailManagerAppShellProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const [activeItemId, setActiveItemId] = useState<string | undefined>();\n const [emailList, setEmailList] = useState(emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE));\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const handleEmailItemClick = (id: EmailSummaryItemProps['id']) => {\n setActiveItemId(id);\n\n const index = emailList.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailList = [...emailList];\n newEmailList.splice(index, 1, { ...emailList[index], unreadEmailCount: 0 });\n\n setEmailList(newEmailList);\n };\n\n const onLoadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setEmailList(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n const activeItemIndex = useMemo(\n () => emailList.findIndex(emailItem => emailItem.id === activeItemId),\n [activeItemId, emailList]\n );\n\n const content =\n activeItemId === undefined ? (\n <EmptyState message='No item selected!' />\n ) : (\n <EmailShellDemo singleConversation={activeItemIndex % 2 !== 0} />\n );\n\n const utilities =\n activeItemId === undefined ? null : (\n // View analysis utility\n <Grid container={{ rowGap: 2 }}>\n <EntityListDemo\n onContextMenu={args.onContextMenu}\n enableContextMenu={args.enableContextMenu}\n />\n <Card>\n <CardHeader container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='document-doc' />\n <Text variant='h3'>Email header</Text>\n </CardHeader>\n <CardContent>\n <FieldValueList fields={viewAnalysisEmailHeaderMock} variant='stacked' />\n </CardContent>\n </Card>\n <SummaryList\n name='Topics'\n icon='headline'\n items={topicListMock.map(items => ({\n ...items,\n primary: <StyledLabel>{items.primary}</StyledLabel>,\n secondary: (\n <Flex container={{ direction: 'row', justify: 'between' }}>\n <Text variant='primary'>{items.secondary.indicator}</Text>\n <StyledLabel>{items.secondary.value}</StyledLabel>\n </Flex>\n )\n }))}\n noItemsText='No items'\n />\n </Grid>\n );\n\n return (\n <AppShellDemo\n appHeader\n main={\n <EmailManager\n header={{\n icon: 'mail',\n title: 'Inbox'\n }}\n list={\n <EmailSummaryListDemo\n onItemClick={handleEmailItemClick}\n items={emailList}\n onLoadMore={hasMore ? onLoadMore : undefined}\n loading={loading}\n />\n }\n content={content}\n utilities={utilities}\n utilitiesSummaryItems={\n utilities\n ? [\n { iconName: 'list-number', count: 7 },\n { iconName: 'document-doc', count: 1 },\n { iconName: 'headline', count: 4 }\n ]\n : undefined\n }\n defaultCollapsedUtilities={!!utilities}\n />\n }\n />\n );\n};\n\nEmailManagerAppShell.args = {\n enableContextMenu: true\n};\n\nEmailManagerAppShell.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\nEmailManagerAppShell.parameters = {\n layout: 'fullscreen'\n};\n"]}
1
+ {"version":3,"file":"Email.stories.js","sourceRoot":"","sources":["../../../src/social/Email/Email.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words calibri Trichy Nagercoil\nimport {\n useState,\n useRef,\n useCallback,\n useEffect,\n createRef,\n RefObject,\n MouseEvent,\n FunctionComponent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Card,\n CardContent,\n createUID,\n MenuButton,\n MenuItemProps,\n MenuProps,\n Icon,\n registerIcon,\n Flex,\n Button,\n menuHelpers,\n CardHeader,\n Text,\n SummaryList,\n Grid,\n FieldValueList,\n StyledLabel,\n Modal,\n useModalManager,\n useModalContext,\n useToaster,\n Banner\n} from '@pega/cosmos-react-core';\nimport * as filterIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter.icon';\nimport {\n Email as EmailComponent,\n EmailConversation,\n EmailComposer,\n EmailShell,\n EmailSummaryItem,\n EmailSummaryList,\n EntityList,\n EmailProps,\n EmailConversationProps,\n EmailComposerProps,\n EntityListProps,\n EmailManager,\n EmailSummaryListProps,\n EmailSummaryItemProps,\n EmailCaseView,\n EmailCaseViewProps\n} from '@pega/cosmos-react-social';\nimport {\n EmailComposerFieldType,\n EmailComposerValueType,\n EmailComposerHandleValue,\n ContextMenuProps\n} from '@pega/cosmos-react-social/lib/components/Email/Email.types';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport {\n bccParticipants,\n ccParticipants,\n emailBodyContent,\n participants,\n toParticipants,\n emailAttachments,\n EntityListMockData,\n viewAnalysisEmailHeaderMock,\n topicListMock,\n generateEmailConversationParticipants,\n templates,\n handleExternalEntry,\n emailDemoActions,\n LaunchAction,\n baseComposerProps,\n sentiment,\n emailSummaryItems,\n mockEmails,\n mockSuggestedReplies,\n mockEmailBodyTemplates,\n forwardedContent,\n getCompositeId,\n emptyFieldErrorMessage,\n fieldValidation,\n emailWorklistItemsMock,\n contextMenuItemsMock,\n highlightedEntitiesMock,\n mockUploadImage,\n mailDeliverySystemEmail,\n supportTeamEmail\n} from './Email.mocks';\nimport { StyledEmailCardContent } from './Email.styles';\n\nregisterIcon(filterIcon);\n\nexport default {\n title: 'Social/Email',\n component: EmailComponent\n} as Meta;\n\n// _______ .___ ___. ___ __ __\n// | ____|| \\/ | / \\ | | | |\n// | |__ | \\ / | / ^ \\ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | |\n// | |____ | | | | / _____ \\ | | | `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______|\n\ninterface EmailDemoProps {\n enableEntityHighlighting?: boolean;\n enableContextMenu?: boolean;\n forwardedContent?: string;\n showEmailBanner?: boolean;\n showDraft?: boolean;\n}\n\nexport const Email: Story<EmailDemoProps> = (args: EmailDemoProps) => {\n const contextMenuHandle: ContextMenuProps['handle'] = useRef(null);\n const timeout = useRef<number | null>(null);\n\n const handleRightClick = (id: EmailProps['id'], e: MouseEvent) => {\n action('onContextMenu')(id, e);\n if (contextMenuHandle.current && args.enableContextMenu) {\n const { setItems, setOpen, setLoading } = contextMenuHandle.current;\n // Deciding not to show browser context menu\n // This should be synchronus\n e.preventDefault();\n\n // Now open the custom context menu using the handle and show loader\n setLoading(true);\n setItems([]);\n setOpen(true);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n setItems(contextMenuItemsMock);\n // Hide the loader\n setLoading(false);\n }, 1000);\n }\n };\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n };\n }, []);\n\n return (\n <Card>\n <StyledEmailCardContent>\n <EmailComponent\n id={createUID()}\n timeStamp='2021-01-05T09:12'\n from={mockEmails['Laura Stevens']}\n cc={[mockEmails['Adam Gillchrist'], mockEmails['John Paul']]}\n bcc={[mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']]}\n to={[mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']]}\n body='<div>Hi,<br/><p>I am one of the customer of Indian Overseas Bank, <b><i>Nagercoil</i></b> branch, with code <b><a href=\"www.google.com\"><i>3967</i></a></b>. I have a saving bank account here. My account number is <i>6785420965476</i>.</p><br/><p>I have been given a debit cum ATM card from this bank and the same has been lost when I was traveling from Nagercoil to Trichy by Bus on Jan 04, 2021. I remember that my ATM card number was 1920 6746 8653 1256.</p><br/>I hereby request you to block my debit card immediately to prevent misuse of the same by some others. Also I request you to give me an new debit card as early as possible.<br/><br/>Regards,<br/>Laura Stevens</div>'\n forwardedContent={args.forwardedContent}\n entityHighlightMapping={\n args.enableEntityHighlighting ? highlightedEntitiesMock : undefined\n }\n subject='I lost my debit card'\n banner={\n args.showEmailBanner\n ? {\n id: 'banner_1',\n heading: 'Address not found ',\n messages: [\n '550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipients email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser k24-20020aa790d8000000b0050dd7e3b84csor451330pfk.28'\n ]\n }\n : undefined\n }\n onReply={args.showDraft ? undefined : action('On reply')}\n onReplyAll={args.showDraft ? undefined : action('On reply all')}\n onForward={args.showDraft ? undefined : action('On forward')}\n onEditDraft={args.showDraft ? action('On forward') : undefined}\n onDeleteDraft={args.showDraft ? action('On forward') : undefined}\n onSuggestionClick={action('On Suggested reply clicked')}\n sentiment={{\n variant: 'neutral'\n }}\n status={args.showDraft ? 'draft' : undefined}\n suggestions={mockSuggestedReplies}\n contextMenu={{\n onItemClick: (selectedValue: { fieldName: string; fieldValue: string }) => {\n action('onItemClick')(selectedValue);\n contextMenuHandle.current?.setOpen(false);\n },\n onContextMenu: handleRightClick,\n handle: contextMenuHandle\n }}\n attachments={[\n {\n id: 'attachment_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'attachment_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })}\n />\n </StyledEmailCardContent>\n </Card>\n );\n};\n\nEmail.args = {\n enableEntityHighlighting: false,\n enableContextMenu: false,\n // eslint-disable-next-line demo-patterns/literal-args\n forwardedContent,\n showEmailBanner: false,\n showDraft: false\n};\n\nEmail.argTypes = {\n enableEntityHighlighting: { control: { type: 'boolean' } },\n enableContextMenu: { control: { type: 'boolean' } },\n forwardedContent: { control: { type: 'text' } },\n showEmailBanner: { control: { type: 'boolean' } },\n\n showDraft: { control: { type: 'boolean' } }\n};\n\n// ______ ______ .___ ___. .______ ______ _______. _______ .______\n// / | / __ \\ | \\/ | | _ \\ / __ \\ / || ____|| _ \\\n// | ,----'| | | | | \\ / | | |_) | | | | | | (----`| |__ | |_) |\n// | | | | | | | |\\/| | | ___/ | | | | \\ \\ | __| | /\n// | `----.| `--' | | | | | | | | `--' | .----) | | |____ | |\\ \\----.\n// \\______| \\______/ |__| |__| | _| \\______/ |_______/ |_______|| _| `._____|\n\ninterface ComposerDemoProps {\n enableResponseTypeToggle?: boolean;\n enableSaveAsDraft?: boolean;\n}\n\nexport const Composer: Story<ComposerDemoProps> = (args: ComposerDemoProps) => {\n const { enableResponseTypeToggle = true, enableSaveAsDraft = true } = args;\n const [composerProgress, setComposerProgress] = useState<EmailComposerProps['progress']>(false);\n const composerHandle = useRef<EmailComposerHandleValue>(null);\n\n const [data, setData] = useState<\n EmailComposerProps['data'] & { bodyContentCurrentValue: string }\n >({\n to: { value: toParticipants },\n cc: { value: [] },\n bcc: { value: [] },\n subject: { value: 'Request: Pause service' },\n bodyContent: {\n defaultValue: 'Hi, Hope you are doing well'\n },\n responseType: 'reply',\n selectedTemplateId: '',\n attachments: emailAttachments,\n bodyContentCurrentValue: ''\n });\n\n const handleOnChange = (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n if (field === 'bodyContent') {\n setData(prev => ({\n ...prev,\n bodyContentCurrentValue: value as string\n }));\n } else if (['responseType', 'attachments', 'selectedTemplateId'].includes(field)) {\n setData(prev => ({\n ...prev,\n [field]: value\n }));\n } else {\n // Clearing error message as soon as value changes\n setData(prev => {\n return {\n ...prev,\n [field]: { error: undefined, value }\n };\n });\n }\n action('onChange')(field, value);\n };\n\n useEffect(() => {\n if (data.responseType === 'reply') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev.cc,\n value: []\n },\n bcc: {\n ...prev.bcc,\n value: []\n }\n };\n });\n } else if (data.responseType === 'replyAll') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: toParticipants\n },\n cc: {\n ...prev.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev.bcc,\n value: bccParticipants\n }\n };\n });\n } else if (data.responseType === 'forward') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: []\n },\n cc: {\n ...prev.cc,\n value: []\n },\n bcc: {\n ...prev.bcc,\n value: []\n }\n };\n });\n }\n }, [data.responseType]);\n\n const onTemplateChange = (id: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === id);\n // Simulating api call\n setComposerProgress({ message: 'Loading template...' });\n setTimeout(() => {\n setComposerProgress(false);\n composerHandle.current?.replaceBodyContent(selectedTemplate?.content || '');\n }, 1000);\n };\n\n useEffect(() => {\n if (data.selectedTemplateId) onTemplateChange(data.selectedTemplateId);\n }, [data.selectedTemplateId]);\n\n const handleOnSend: EmailComposerProps['onSend'] = () => {\n setData(prev => {\n return {\n ...prev,\n to: {\n value: prev.to?.value || [],\n error:\n data?.to?.value.length === 0 ? emptyFieldErrorMessage : fieldValidation(data?.to?.value)\n },\n cc: {\n value: prev.cc?.value || [],\n error: data.cc === undefined ? undefined : fieldValidation(data.cc.value)\n },\n bcc: {\n value: prev.bcc?.value || [],\n error: data.bcc === undefined ? undefined : fieldValidation(data.bcc.value)\n },\n subject: {\n ...prev.subject,\n error: data.subject?.value === '' ? emptyFieldErrorMessage : undefined\n },\n bodyContent: {\n ...prev.bodyContent,\n error: data.bodyContentCurrentValue === '' ? emptyFieldErrorMessage : undefined\n }\n };\n });\n };\n\n const onImageAdded: EmailComposerProps['onImageAdded'] = (image: File, id: string) => {\n action('On Image added');\n setComposerProgress({ message: 'Uploading image' });\n // Simulate image upload\n mockUploadImage(image)\n .then(({ src, alt }) => {\n composerHandle.current?.updateImage({ src, alt }, id);\n setComposerProgress(false);\n })\n .catch(() => {\n setComposerProgress(false);\n });\n };\n\n return (\n <EmailComposer\n handle={composerHandle}\n progress={composerProgress}\n onSave={enableSaveAsDraft ? action('On save') : undefined}\n onSend={handleOnSend}\n onCancel={action('On cancel')}\n externalValidator={handleExternalEntry}\n participants={participants}\n onChange={handleOnChange}\n data={{\n ...data,\n responseType: enableResponseTypeToggle ? data.responseType : undefined\n }}\n templates={templates}\n onImageAdded={onImageAdded}\n />\n );\n};\n\nComposer.args = {\n enableResponseTypeToggle: true,\n enableSaveAsDraft: true\n};\n\nComposer.argTypes = {\n enableResponseTypeToggle: {\n control: 'boolean'\n },\n enableSaveAsDraft: {\n control: { type: 'boolean' }\n }\n};\n\n// ______ ______ .__ __. ____ ____ _______ .______ _______. ___ .___________. __ ______ .__ __.\n// / | / __ \\ | \\ | | \\ \\ / / | ____|| _ \\ / | / \\ | || | / __ \\ | \\ | |\n// | ,----'| | | | | \\| | \\ \\/ / | |__ | |_) | | (----` / ^ \\ `---| |----`| | | | | | | \\| |\n// | | | | | | | . ` | \\ / | __| | / \\ \\ / /_\\ \\ | | | | | | | | | . ` |\n// | `----.| `--' | | |\\ | \\ / | |____ | |\\ \\----.----) | / _____ \\ | | | | | `--' | | |\\ |\n// \\______| \\______/ |__| \\__| \\__/ |_______|| _| `._____|_______/ /__/ \\__\\ |__| |__| \\______/ |__| \\__|\n\nexport const Conversation: Story = () => {\n const emailArr: EmailProps[] = [\n {\n id: 'item_0',\n timeStamp: '2021-01-05T09:12',\n from: mockEmails['Laura Stevens'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>Sure.. Here is your E-Ticket !! </div> <br /><br /> Regards, <br /> Laura Stevens </div>',\n unRead: true,\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n suggestions: mockSuggestedReplies\n },\n {\n id: 'item_1',\n timeStamp: '2021-01-02T03:12',\n from: mockEmails['Sara Davis'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Laura Stevens'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>I’m still at the airport, I need help now!! </div> <br /><br /> Regards, <br /> Sara Davis </div>',\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked')\n }\n ];\n\n return (\n <EmailConversation\n participants={generateEmailConversationParticipants(emailArr)}\n from={generateEmailConversationParticipants(emailArr, ['from'])[0]}\n to={generateEmailConversationParticipants(emailArr, ['to'])}\n id={createUID()}\n timeStamp={emailArr[0].timeStamp}\n unReadEmailCount={emailArr.filter(item => item.unRead).length}\n emails={emailArr}\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ _______ __ __\n// | ____|| \\/ | / \\ | | | | / || | | | | ____|| | | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| |__| | | |__ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | __ | | __| | | | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | | | | | |____ | `----.| `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ |__| |__| |_______||_______||_______|\n\ninterface EmailShellDemoProps {\n autoCollapse?: boolean;\n hideSuggestions?: boolean;\n singleConversation?: boolean;\n showHeader?: boolean;\n}\n\nexport const EmailShellDemo: Story<EmailShellDemoProps> = (args: EmailShellDemoProps) => {\n const { create } = useModalManager();\n const { push } = useToaster();\n const actions = ['Transfer', 'End conversation'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }));\n\n const [composersData, setComposersData] = useState<{\n [key: string]: EmailComposerProps & { bodyContentCurrentValue: string };\n }>({});\n const [conversationEmails, setConversationEmails] = useState<EmailProps[][]>([]);\n\n const handleResponseTypeChange = (uid: string, responseType: string) => {\n if (responseType === 'reply') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev[uid].data.cc,\n value: []\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: []\n }\n }\n }\n };\n });\n } else if (responseType === 'replyAll') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: toParticipants\n },\n cc: {\n ...prev[uid].data.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: bccParticipants\n }\n }\n }\n };\n });\n }\n };\n\n const handleTemplateIdChange = (uid: string, templateId: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === templateId);\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: { message: 'Loading template...' }\n }\n };\n });\n\n // Simulating api call\n setTimeout(() => {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: false\n }\n };\n });\n\n let currentData: { [key: string]: EmailComposerProps } = {};\n setComposersData(prev => {\n currentData = prev;\n return prev;\n });\n\n if (currentData) {\n (\n currentData[uid]?.handle as RefObject<EmailComposerHandleValue>\n )?.current?.replaceBodyContent(selectedTemplate?.content || '');\n }\n }, 1000);\n };\n\n const handleChange = (\n uid: string,\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n setComposersData(prevData => {\n if (field === 'bodyContent') {\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n bodyContentCurrentValue: value as string\n }\n };\n }\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n data: {\n ...prevData[uid].data,\n [field]: ['responseType', 'attachments', 'selectedTemplateId'].includes(field)\n ? value\n : {\n error: undefined, // Clearing error on change\n value\n }\n }\n }\n };\n });\n\n if (field === 'responseType') {\n handleResponseTypeChange(uid, value as string);\n } else if (field === 'selectedTemplateId') {\n handleTemplateIdChange(uid, value as string);\n }\n };\n\n const MyModal: FunctionComponent<{ currentID: string }> = ({ currentID }) => {\n const { dismiss } = useModalContext();\n\n return (\n <Modal\n heading='Discard unsaved changes?'\n actions={\n <>\n <Button onClick={dismiss}>Go back</Button>\n <Flex>\n <Button\n onClick={() => {\n dismiss();\n setComposersData(prev => {\n return {\n ...prev,\n [currentID]: {\n ...prev[currentID],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[currentID];\n return newComposersData;\n });\n push({ content: 'Draft Saved' });\n }, 1000);\n }}\n >\n Save & close\n </Button>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[currentID];\n return newComposersData;\n });\n }}\n >\n Discard\n </Button>\n </Flex>\n </>\n }\n >\n <Text variant='primary'>\n You have unsaved changes. You can discard them or go back to keep working.\n </Text>\n </Modal>\n );\n };\n\n const handleCancel = (uid: string) => {\n create(MyModal, { currentID: uid }, { alert: true });\n };\n\n const handleSend = (uid: string) => {\n action('Send')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n push({ content: 'Email Send' });\n }, 1000);\n };\n\n const handleSave = (uid: string) => {\n action('Save')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n push({ content: 'Draft Saved' });\n }, 1000);\n };\n\n const createOrActivateComposer = (\n id: EmailProps['id'],\n launchAction: LaunchAction,\n composerProps: EmailComposerProps\n ) => {\n const uid = getCompositeId(id, launchAction);\n if (composersData[uid]) {\n // Activate the existing composer\n (composersData[uid].handle as RefObject<EmailComposerHandleValue>)?.current?.activate();\n } else {\n // Create new composer\n setComposersData(prev => {\n const composerHandle = createRef<EmailComposerHandleValue>();\n return {\n ...prev,\n [uid]: {\n ...composerProps,\n bodyContentCurrentValue: composerProps.data.bodyContent.defaultValue,\n handle: composerHandle,\n onChange: (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => handleChange(uid, field, value),\n onCancel: () => handleCancel(uid),\n onSend: () => handleSend(uid),\n onSave: () => handleSave(uid)\n }\n };\n });\n }\n };\n\n const emailsData: EmailProps[] = [\n {\n id: 'item0',\n timeStamp: '2021-01-05T09:12',\n from: participants[0],\n to: participants.slice(0, 2),\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Laura Stevens </div>',\n unRead: true,\n subject: 'Pause service',\n suggestions: args.hideSuggestions ? undefined : mockSuggestedReplies,\n attachments: [\n {\n id: 'item_1_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'item_1_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })\n },\n {\n id: 'item1',\n timeStamp: '2021-01-02T03:12',\n from: participants[3],\n to: participants.slice(2, 4),\n body: emailBodyContent,\n unRead: true,\n subject: 'Pause service'\n }\n ].map(emailData => {\n const emailActionItems = emailDemoActions(\n emailData.id,\n emailData.subject,\n createOrActivateComposer,\n false,\n emailData.body\n );\n return {\n ...emailData,\n onReply: (id: EmailProps['id']) => {\n createOrActivateComposer(id, LaunchAction.REPLY, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: `Re-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onForward: id => {\n createOrActivateComposer(id, LaunchAction.FORWARD, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'forward',\n subject: { value: `Fw-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onSuggestionClick: (id, suggestionId) => {\n const suggestion = emailData.suggestions?.find(item => item.id === suggestionId);\n createOrActivateComposer(id, LaunchAction.SUGGESTION, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: suggestion?.title || '' },\n bodyContent: { defaultValue: suggestion ? suggestion.content : '' },\n selectedTemplateId: suggestion?.id\n },\n externalValidator: handleExternalEntry\n });\n },\n actions: emailActionItems,\n tags: args.hideSuggestions\n ? undefined\n : {\n items: ['Pause service', 'Lost or stolen'],\n label: 'Associated service cases',\n onRemove: action('On Associated service case remove'),\n dismissable: true\n }\n };\n });\n\n const DeleteDraft: FunctionComponent<{ currentID: string }> = ({ currentID }) => {\n const { dismiss } = useModalContext();\n\n return (\n <Modal\n heading='Delete draft?'\n actions={\n <>\n <Button onClick={dismiss}>Go back</Button>\n\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n setConversationEmails(prev => {\n const newEmailConversation: EmailProps[][] = [];\n\n prev.forEach(arr => {\n const newArr = arr.filter(index => index.id !== currentID);\n if (newArr.length !== 0) newEmailConversation.push(newArr);\n });\n return newEmailConversation;\n });\n }}\n >\n Delete\n </Button>\n </>\n }\n >\n <Text>Are you sure that you want to permanently delete the selected message?</Text>\n </Modal>\n );\n };\n\n const deleteEmail = (id: EmailProps['id']) => {\n create(DeleteDraft, { currentID: id }, { alert: true });\n };\n\n useEffect(() => {\n setConversationEmails([\n [\n {\n ...emailsData[1],\n id: 'item0',\n from: mailDeliverySystemEmail,\n to: [supportTeamEmail],\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Support team </div>',\n banner: {\n id: 'banner_1',\n heading: 'Address not found ',\n messages: [\n '550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipients email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser k24-20020aa790d8000000b0050dd7e3b84csor451330pfk.28'\n ]\n },\n onReply: undefined,\n onForward: undefined\n },\n { ...emailsData[1], unRead: false }\n ],\n [\n {\n ...emailsData[0],\n id: 'item2',\n status: 'draft',\n onEditDraft: (id: EmailProps['id']) =>\n createOrActivateComposer(id, LaunchAction.REPLY, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: `Re-${emailsData[0].subject}` || '' },\n bodyContent: { defaultValue: emailsData[0].body || '' }\n }\n }),\n onDeleteDraft: (id: EmailProps['id']) => deleteEmail(id),\n onReply: undefined,\n onForward: undefined,\n suggestions: undefined,\n unRead: false,\n timeStamp: '2021-01-03T17:15',\n from: mockEmails['Hugh Phillips'],\n to: [mockEmails['Mystery Rey'], ...emailsData[0].to],\n cc: [mockEmails['Adam Gillchrist']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will come and check your connection in 24hrs. </div> <br />Regards, <br />Hugh Phillips </div>'\n },\n {\n ...emailsData[1],\n id: 'item3',\n status: 'draft',\n onEditDraft: (id: EmailProps['id']) =>\n createOrActivateComposer(id, LaunchAction.REPLY, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: `Re-${emailsData[0].subject}` || '' },\n bodyContent: { defaultValue: emailsData[0].body || '' }\n }\n }),\n onDeleteDraft: (id: EmailProps['id']) => deleteEmail(id),\n onReply: undefined,\n onForward: undefined,\n suggestions: undefined,\n unRead: false,\n timeStamp: '2021-01-02T14:16',\n from: mockEmails['Mystery Rey'],\n to: [mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Can you fix my internet connection. </div> <br /> <br />Regards, <br />Rey Mystery </div>'\n }\n ],\n [\n {\n ...emailsData[0],\n id: 'item4',\n unRead: true,\n timeStamp: '2020-12-05T18:18',\n from: mockEmails['Laura Stevens'],\n to: [mockEmails['Sara Davis']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will call you shortly. </div> <br /> <br />Regards, <br />Laura Stevens </div>',\n sentiment: {\n variant: 'positive'\n }\n },\n {\n ...emailsData[1],\n id: 'item5',\n unRead: true,\n timeStamp: '2021-01-04T08:30',\n from: mockEmails['Sara Davis'],\n to: [mockEmails['Laura Stevens']],\n body: '<div>Hi, <br /> <br /><div>Can you show please explain your new mobile plans. </div> <br /> <br />Regards, <br />Sara Davis </div>'\n }\n ]\n ]);\n }, []);\n\n const emailConversations: EmailConversationProps[] = (conversationEmails as EmailProps[][]).map(\n (emails, i) => {\n return {\n from: i === 0 ? emails[1].from : generateEmailConversationParticipants(emails, ['from'])[0],\n to: i === 0 ? emails[1].to : emails[0].to,\n id: `item_${i}`,\n timeStamp: emails[0].timeStamp,\n unReadEmailCount: emails.filter(item => item.unRead).length,\n emails,\n sentiment: emails[0].sentiment,\n isForwarded: i !== 2,\n isCollapsed: i !== 0,\n drafts: i === 1,\n undelivered: i === 0\n } as EmailConversationProps;\n }\n );\n\n const singleEmailConversation: EmailConversationProps[] = [\n {\n from: generateEmailConversationParticipants(emailsData, ['from'])[0],\n to: generateEmailConversationParticipants(emailsData, ['to']),\n id: 'item_0',\n timeStamp: new Date(emailsData[0].timeStamp),\n unReadEmailCount: 1,\n emails: [\n {\n ...emailsData[1],\n id: 'item0',\n from: mailDeliverySystemEmail,\n to: [supportTeamEmail],\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Support team </div>',\n banner: {\n id: 'banner_1',\n heading: 'Address not found ',\n messages: [\n '550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipients email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser k24-20020aa790d8000000b0050dd7e3b84csor451330pfk.28'\n ]\n },\n onReply: undefined,\n onForward: undefined\n },\n { ...emailsData[1], unRead: false }\n ]\n }\n ];\n\n return (\n <>\n <EmailShell\n headerProps={\n args.showHeader\n ? {\n actions: (\n <Flex\n container={{\n alignItems: 'center',\n gap: 0\n }}\n >\n <Button variant='simple' icon>\n <Icon name='filter' />\n </Button>\n <MenuButton\n variant='simple'\n text='More actions'\n icon='more'\n iconOnly\n portal\n menu={{ items: actions }}\n />\n </Flex>\n ),\n subject: 'Pause service'\n }\n : undefined\n }\n autoCollapse={args.autoCollapse}\n conversations={args.singleConversation ? singleEmailConversation : emailConversations}\n />\n <>\n {Object.keys(composersData).map(guid => {\n return <EmailComposer key={guid} {...composersData[guid]} />;\n })}\n </>\n </>\n );\n};\n\nEmailShellDemo.args = {\n autoCollapse: true,\n hideSuggestions: false,\n singleConversation: false,\n showHeader: true\n};\n\nEmailShellDemo.argTypes = {\n autoCollapse: { control: { type: 'boolean' } },\n hideSuggestions: { control: { type: 'boolean' } },\n singleConversation: { control: { type: 'boolean' } },\n showHeader: { control: { type: 'boolean' } }\n};\n\n// _______ .__ __. .___________. __ .___________.____ ____ __ __ _______.___________.\n// | ____|| \\ | | | || | | |\\ \\ / / | | | | / | |\n// | |__ | \\| | `---| |----`| | `---| |----` \\ \\/ / | | | | | (----`---| |----`\n// | __| | . ` | | | | | | | \\_ _/ | | | | \\ \\ | |\n// | |____ | |\\ | | | | | | | | | | `----.| | .----) | | |\n// |_______||__| \\__| |__| |__| |__| |__| |_______||__| |_______/ |__|\n\ninterface EntityListDemoProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EntityListDemo: Story<EntityListDemoProps> = (args: EntityListDemoProps) => {\n const itemCounter = useRef(3);\n const timeout = useRef<number | null>(null);\n const contextMenuHandle: ContextMenuProps['handle'] = useRef(null);\n const headerProps: EntityListProps['header'] = {\n icon: 'list-number',\n text: 'Entities'\n };\n\n const handleRightClick = (e: MouseEvent) => {\n action('onContextMenu')(e);\n if (contextMenuHandle.current && args.enableContextMenu) {\n itemCounter.current += 1;\n const { setItems, setOpen, setLoading } = contextMenuHandle.current;\n // Deciding not to show browser context menu\n // This should be synchronus\n e.preventDefault();\n\n // Now open the custom context menu using the handle and show loader\n setLoading(true);\n setItems([]);\n setOpen(true);\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n setItems(contextMenuItemsMock);\n // Hide the loader\n setLoading(false);\n }, 1000);\n }\n };\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n };\n }, []);\n\n return (\n <EntityList\n header={headerProps}\n content={EntityListMockData}\n contextMenu={{\n onItemClick: action('onItemClick'),\n onContextMenu: args.onContextMenu || handleRightClick,\n handle: contextMenuHandle\n }}\n />\n );\n};\n\nEntityListDemo.args = {\n enableContextMenu: true\n};\n\nEntityListDemo.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ .___________. _______ .___ ___.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | || ____|| \\/ |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | `---| |----`| |__ | \\ / |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | | __| | |\\/| |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | | | | | |____ | | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |__| |__| |_______||__| |__|\n\ninterface EmailSummaryItemDemoProps {\n unreadEmailCount?: number;\n isActive?: boolean;\n}\n\nexport const EmailSummaryItemDemo: Story<EmailSummaryItemDemoProps> = (\n args: EmailSummaryItemDemoProps\n) => {\n return (\n <EmailSummaryItem\n id={createUID()}\n activeParticipants={[\n {\n shortName: 'Robert',\n fullName: 'Robert Downer',\n emailAddress: 'robert.downey@example.com'\n },\n {\n shortName: 'Nathan',\n fullName: 'Nathan Swanson',\n emailAddress: 'nathan.swanson@example.com'\n }\n ]}\n message='I have a quick question on traveling to India. How do I reach Hyderabad?'\n timeStamp={new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), 24))}\n topic='Missing Luggage'\n sentiment={sentiment}\n urgency={10}\n unreadEmailCount={args.unreadEmailCount}\n active={args.isActive}\n onSelect={(id: EmailSummaryItemProps['id']) => {\n action('onSelect')(id);\n }}\n />\n );\n};\n\nEmailSummaryItemDemo.args = {\n unreadEmailCount: 0,\n isActive: false\n};\n\nEmailSummaryItemDemo.argTypes = {\n unreadEmailCount: { control: { type: 'number' } },\n isActive: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ __ _______.___________.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | | / | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | | | | (----`---| |----`\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | \\ \\ | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | `----.| | .----) | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |_______||__| |_______/ |__|\n\ninterface EmailSummaryListStoryProps {\n onItemClick?: EmailSummaryListProps['onItemClick'];\n items?: EmailSummaryListProps['items'];\n onLoadMore?: EmailSummaryListProps['onLoadMore'];\n loading?: EmailSummaryListProps['loading'];\n}\n\nexport const EmailSummaryListDemo: Story<EmailSummaryListStoryProps> = (\n args: EmailSummaryListStoryProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const emailSummaryListRef = useRef(null);\n const [allEmailItems, setAllEmailItems] = useState(\n emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE)\n );\n const [categories, setCategories] = useState<MenuProps['items']>(emailWorklistItemsMock);\n\n const handleItemClick = (id: string) => {\n const index = allEmailItems.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailItems = [...allEmailItems];\n newEmailItems.splice(index, 1, { ...allEmailItems[index], unreadEmailCount: 0 });\n\n setAllEmailItems(newEmailItems);\n };\n\n const onCategoryClick: MenuItemProps['onClick'] = (id: MenuItemProps['id']) => {\n setCategories(cur => menuHelpers.toggleSelected(cur, id, 'single-select'));\n };\n\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setAllEmailItems(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n return (\n <EmailSummaryList\n ref={emailSummaryListRef}\n unreadEmailCount={99}\n categories={categories}\n items={args.items || allEmailItems}\n onItemClick={args.onItemClick || handleItemClick}\n onCategoryClick={onCategoryClick}\n onLoadMore={args.onLoadMore || (hasMore ? loadMore : undefined)}\n loading={args.loading || loading}\n emptyMessage='No emails.'\n />\n );\n};\n\n// Email case view\n\ninterface EmailCaseViewStoryProps extends EmailCaseViewProps {\n showBanners?: boolean;\n noUtilityView?: boolean;\n showHeader?: boolean;\n}\n\nexport const EmailCaseViewDemo: Story<EmailCaseViewStoryProps> = (\n args: EmailCaseViewStoryProps\n) => {\n const content = <EmailShellDemo />;\n\n const utilities = (\n // View analysis utility\n <Grid container={{ rowGap: 2 }}>\n <EntityListDemo />\n <Card>\n <CardHeader container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='document-doc' />\n <Text variant='h3'>Email header</Text>\n </CardHeader>\n <CardContent>\n <FieldValueList fields={viewAnalysisEmailHeaderMock} variant='stacked' />\n </CardContent>\n </Card>\n <SummaryList\n name='Topics'\n icon='headline'\n items={topicListMock.map(items => ({\n ...items,\n primary: <StyledLabel>{items.primary}</StyledLabel>,\n secondary: (\n <Flex container={{ direction: 'row', justify: 'between' }}>\n <Text variant='primary'>{items.secondary.indicator}</Text>\n <StyledLabel>{items.secondary.value}</StyledLabel>\n </Flex>\n )\n }))}\n noItemsText='No items'\n />\n </Grid>\n );\n\n return (\n <AppShellDemo\n appHeader\n main={\n <EmailCaseView\n header={\n args.showHeader\n ? {\n icon: 'mail',\n title: 'ET-5432'\n }\n : undefined\n }\n banners={\n args.showBanners && (\n <Banner\n id='error'\n variant='urgent'\n heading='Error'\n messages={['Your email could not be delivered due to poor network connection.']}\n />\n )\n }\n content={content}\n utilities={!args.noUtilityView && utilities}\n utilitiesSummaryItems={\n !args.noUtilityView\n ? [\n { iconName: 'list-number', count: 7 },\n { iconName: 'document-doc', count: 1 },\n { iconName: 'headline', count: 4 }\n ]\n : undefined\n }\n defaultUtilitiesExpanded\n />\n }\n />\n );\n};\n\nEmailCaseViewDemo.args = {\n showBanners: false,\n noUtilityView: false,\n showHeader: true\n};\n\nEmailCaseViewDemo.argTypes = {\n showBanners: { control: { type: 'boolean' } },\n noUtilityView: { control: { type: 'boolean' } },\n showHeader: { control: { type: 'boolean' } }\n};\n\nEmailCaseViewDemo.parameters = {\n layout: 'fullscreen'\n};\n\n// _______ .___ ___. ___ __ __ .___ ___. ___ .__ __. ___ _______ _______ .______\n// | ____|| \\/ | / \\ | | | | | \\/ | / \\ | \\ | | / \\ / _____|| ____|| _ \\\n// | |__ | \\ / | / ^ \\ | | | | | \\ / | / ^ \\ | \\| | / ^ \\ | | __ | |__ | |_) |\n// | __| | |\\/| | / /_\\ \\ | | | | | |\\/| | / /_\\ \\ | . ` | / /_\\ \\ | | |_ | | __| | /\n// | |____ | | | | / _____ \\ | | | `----. | | | | / _____ \\ | |\\ | / _____ \\ | |__| | | |____ | |\\ \\----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |__| |__| /__/ \\__\\ |__| \\__| /__/ \\__\\ \\______| |_______|| _| `._____|\n\ninterface EmailManagerAppShellProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n showEmptyView?: boolean;\n showHeader?: boolean;\n showCaseViewBanners?: boolean;\n noItemViewInEmailCaseView?: boolean;\n showUtilities: boolean;\n}\n\nexport const EmailManagerAppShell: Story<EmailManagerAppShellProps> = (\n args: EmailManagerAppShellProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const [emailList, setEmailList] = useState(emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE));\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const handleEmailItemClick = (id: EmailSummaryItemProps['id']) => {\n const index = emailList.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailList = [...emailList];\n newEmailList.splice(index, 1, { ...emailList[index], unreadEmailCount: 0 });\n\n setEmailList(newEmailList);\n };\n\n const onLoadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setEmailList(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n const utilities = (\n // View analysis utility\n <Grid container={{ rowGap: 2 }}>\n <EntityListDemo />\n <Card>\n <CardHeader container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='document-doc' />\n <Text variant='h3'>Email header</Text>\n </CardHeader>\n <CardContent>\n <FieldValueList fields={viewAnalysisEmailHeaderMock} variant='stacked' />\n </CardContent>\n </Card>\n <SummaryList\n name='Topics'\n icon='headline'\n items={topicListMock.map(items => ({\n ...items,\n primary: <StyledLabel>{items.primary}</StyledLabel>,\n secondary: (\n <Flex container={{ direction: 'row', justify: 'between' }}>\n <Text variant='primary'>{items.secondary.indicator}</Text>\n <StyledLabel>{items.secondary.value}</StyledLabel>\n </Flex>\n )\n }))}\n noItemsText='No items'\n />\n </Grid>\n );\n\n const content = <EmailShellDemo showHeader={false} />;\n\n return (\n <AppShellDemo\n appHeader\n main={\n <EmailManager\n header={\n args.showHeader\n ? {\n icon: 'mail',\n title: 'Inbox'\n }\n : undefined\n }\n list={\n <EmailSummaryListDemo\n onItemClick={handleEmailItemClick}\n items={emailList}\n onLoadMore={hasMore ? onLoadMore : undefined}\n loading={loading}\n />\n }\n emailCaseDetails={\n !args.showEmptyView && (\n <EmailCaseView\n banners={\n args.showCaseViewBanners && (\n <Banner\n id='error'\n variant='urgent'\n heading='Error'\n messages={[\n 'Your email could not be delivered due to poor network connection.'\n ]}\n />\n )\n }\n content={content}\n utilities={args.showUtilities && utilities}\n utilitiesSummaryItems={\n args.showUtilities\n ? [\n { iconName: 'list-number', count: 7 },\n { iconName: 'document-doc', count: 1 },\n { iconName: 'headline', count: 4 }\n ]\n : undefined\n }\n defaultUtilitiesExpanded={false}\n />\n )\n }\n />\n }\n />\n );\n};\n\nEmailManagerAppShell.args = {\n enableContextMenu: true,\n showEmptyView: false,\n showHeader: true,\n showCaseViewBanners: false,\n showUtilities: true\n};\n\nEmailManagerAppShell.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } },\n showEmptyView: { control: { type: 'boolean' } },\n showHeader: { control: { type: 'boolean' } },\n showCaseViewBanners: { control: { type: 'boolean' } },\n showUtilities: { control: { type: 'boolean' } }\n};\n\nEmailManagerAppShell.parameters = {\n layout: 'fullscreen'\n};\n"]}
@@ -2,6 +2,12 @@ import { Dispatch, SetStateAction } from 'react';
2
2
  import { OmitStrict } from '@pega/cosmos-react-core';
3
3
  import { SearchResultProps, SearchResultsProps } from '@pega/cosmos-react-work';
4
4
  declare type ResultMeta = OmitStrict<SearchResultProps, 'link'>;
5
+ export declare const searchResults: {
6
+ id: string;
7
+ title: string;
8
+ description: string;
9
+ meta: (string | Date)[];
10
+ }[];
5
11
  export declare const getInitialResults: (setPreview: Dispatch<SetStateAction<ResultMeta | undefined>>, setPreviewTabId: Dispatch<SetStateAction<string | undefined>>) => SearchResultProps[];
6
12
  export declare const initialFilters: SearchResultsProps['filters'];
7
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResults.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/SearchResults/SearchResults.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAU,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKhF,aAAK,UAAU,GAAG,UAAU,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAiBxD,eAAO,MAAM,iBAAiB,eAChB,SAAS,eAAe,UAAU,GAAG,SAAS,CAAC,CAAC,mBAC3C,SAAS,eAAe,MAAM,GAAG,SAAS,CAAC,CAAC,KAC5D,iBAAiB,EA4CnB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAqCxD,CAAC"}
1
+ {"version":3,"file":"SearchResults.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/SearchResults/SearchResults.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAU,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKhF,aAAK,UAAU,GAAG,UAAU,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAiBxD,eAAO,MAAM,aAAa;;;;;GAqCzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAChB,SAAS,eAAe,UAAU,GAAG,SAAS,CAAC,CAAC,mBAC3C,SAAS,eAAe,MAAM,GAAG,SAAS,CAAC,CAAC,KAC5D,iBAAiB,EAOnB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAqCxD,CAAC"}
@@ -11,45 +11,46 @@ const getResultLink = (result, setPreview, setPreviewTabId) => {
11
11
  }
12
12
  };
13
13
  };
14
+ export const searchResults = [
15
+ {
16
+ id: 'PROJ-300',
17
+ title: 'The Art of Building Beautiful Demos',
18
+ description,
19
+ meta: ['Completed', 'Low priority', new Date('01/01/21')]
20
+ },
21
+ {
22
+ id: 'PROJ-123',
23
+ title: 'Be Single Minded',
24
+ description,
25
+ meta: ['Blocked', 'Medium priority', new Date('12/31/20')]
26
+ },
27
+ {
28
+ id: 'PROJ-456',
29
+ title: 'Differentiate Yourself and Attract More Attention Sales and Profits',
30
+ description,
31
+ meta: ['Pending', 'High priority', new Date('12/01/20')]
32
+ },
33
+ {
34
+ id: 'PROJ-789',
35
+ title: 'Importance of the Custom Test',
36
+ description,
37
+ meta: ['Completed', 'Medium priority', new Date('01/01/21 08:00:00')]
38
+ },
39
+ {
40
+ id: 'PROJ-100',
41
+ title: 'Improve Your Business Cards and Enhance Your Sales',
42
+ description,
43
+ meta: ['Ready', 'High priority', new Date('12/31/20')]
44
+ },
45
+ {
46
+ id: 'PROJ-200',
47
+ title: 'How to Write Better Advertising',
48
+ description,
49
+ meta: ['Ready', 'Low priority', new Date('12/25/20')]
50
+ }
51
+ ];
14
52
  export const getInitialResults = (setPreview, setPreviewTabId) => {
15
- return [
16
- {
17
- id: 'PROJ-300',
18
- title: 'The Art of Building Beautiful Demos',
19
- description,
20
- meta: ['Completed', 'Low priority', new Date('01/01/21')]
21
- },
22
- {
23
- id: 'PROJ-123',
24
- title: 'Be Single Minded',
25
- description,
26
- meta: ['Blocked', 'Medium priority', new Date('12/31/20')]
27
- },
28
- {
29
- id: 'PROJ-456',
30
- title: 'Differentiate Yourself and Attract More Attention Sales and Profits',
31
- description,
32
- meta: ['Pending', 'High priority', new Date('12/01/20')]
33
- },
34
- {
35
- id: 'PROJ-789',
36
- title: 'Importance of the Custom Test',
37
- description,
38
- meta: ['Completed', 'Medium priority', new Date('01/01/21 08:00:00')]
39
- },
40
- {
41
- id: 'PROJ-100',
42
- title: 'Improve Your Business Cards and Enhance Your Sales',
43
- description,
44
- meta: ['Ready', 'High priority', new Date('12/31/20')]
45
- },
46
- {
47
- id: 'PROJ-200',
48
- title: 'How to Write Better Advertising',
49
- description,
50
- meta: ['Ready', 'Low priority', new Date('12/25/20')]
51
- }
52
- ].map(result => {
53
+ return searchResults.map(result => {
53
54
  return {
54
55
  ...result,
55
56
  link: getResultLink(result, setPreview, setPreviewTabId)
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResults.mocks.js","sourceRoot":"","sources":["../../../src/work/SearchResults/SearchResults.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Dispatch, SetStateAction } from 'react';\n\nimport { OmitStrict, Status } from '@pega/cosmos-react-core';\nimport { SearchResultProps, SearchResultsProps } from '@pega/cosmos-react-work';\n\nconst description =\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec semper, arcu eu sodales accumsan, ante purus fermentum dolor, ac convallis urna nisl eget lectus. Vivamus ut neque et turpis posuere pharetra imperdiet id augue. Nullam porta venenatis pharetra. Donec hendrerit, dolor eleifend vulputate tristique, dui dolor consequat ante, a vestibulum mi neque in purus.';\n\ntype ResultMeta = OmitStrict<SearchResultProps, 'link'>;\n\nconst getResultLink = (\n result: ResultMeta,\n setPreview: Dispatch<SetStateAction<ResultMeta | undefined>>,\n setPreviewTabId: Dispatch<SetStateAction<string | undefined>>\n) => {\n return {\n href: `projects/${result.id}`,\n previewable: true,\n onPreview: () => {\n setPreview(result);\n setPreviewTabId(`summary-${result.id}`);\n }\n };\n};\n\nexport const getInitialResults = (\n setPreview: Dispatch<SetStateAction<ResultMeta | undefined>>,\n setPreviewTabId: Dispatch<SetStateAction<string | undefined>>\n): SearchResultProps[] => {\n return [\n {\n id: 'PROJ-300',\n title: 'The Art of Building Beautiful Demos',\n description,\n meta: ['Completed', 'Low priority', new Date('01/01/21')]\n },\n {\n id: 'PROJ-123',\n title: 'Be Single Minded',\n description,\n meta: ['Blocked', 'Medium priority', new Date('12/31/20')]\n },\n {\n id: 'PROJ-456',\n title: 'Differentiate Yourself and Attract More Attention Sales and Profits',\n description,\n meta: ['Pending', 'High priority', new Date('12/01/20')]\n },\n {\n id: 'PROJ-789',\n title: 'Importance of the Custom Test',\n description,\n meta: ['Completed', 'Medium priority', new Date('01/01/21 08:00:00')]\n },\n {\n id: 'PROJ-100',\n title: 'Improve Your Business Cards and Enhance Your Sales',\n description,\n meta: ['Ready', 'High priority', new Date('12/31/20')]\n },\n {\n id: 'PROJ-200',\n title: 'How to Write Better Advertising',\n description,\n meta: ['Ready', 'Low priority', new Date('12/25/20')]\n }\n ].map(result => {\n return {\n ...result,\n link: getResultLink(result, setPreview, setPreviewTabId)\n };\n });\n};\n\nexport const initialFilters: SearchResultsProps['filters'] = [\n {\n type: 'select',\n name: 'Status',\n items: [\n {\n id: 'blocked',\n label: <Status variant='urgent'>Blocked</Status>,\n checked: false,\n name: 'Blocked'\n },\n {\n id: 'pending',\n label: <Status variant='pending'>Pending</Status>,\n checked: false,\n name: 'Pending'\n },\n { id: 'ready', label: <Status variant='info'>Ready</Status>, checked: false, name: 'Ready' },\n {\n id: 'completed',\n label: <Status variant='success'>Completed</Status>,\n checked: false,\n name: 'Completed'\n }\n ]\n },\n {\n type: 'select',\n selectType: 'single-select',\n name: 'Last updated',\n items: [\n { id: 'today', label: 'Today', checked: false, name: 'Today' },\n { id: 'yesterday', label: 'Yesterday', checked: false, name: 'Yesterday' },\n { id: '7-days', label: 'Last 7 days', checked: false, name: 'Last 7 days' },\n { id: '30-days', label: 'Last 30 days', checked: false, name: 'Last 30 days' }\n ]\n }\n];\n"]}
1
+ {"version":3,"file":"SearchResults.mocks.js","sourceRoot":"","sources":["../../../src/work/SearchResults/SearchResults.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Dispatch, SetStateAction } from 'react';\n\nimport { OmitStrict, Status } from '@pega/cosmos-react-core';\nimport { SearchResultProps, SearchResultsProps } from '@pega/cosmos-react-work';\n\nconst description =\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec semper, arcu eu sodales accumsan, ante purus fermentum dolor, ac convallis urna nisl eget lectus. Vivamus ut neque et turpis posuere pharetra imperdiet id augue. Nullam porta venenatis pharetra. Donec hendrerit, dolor eleifend vulputate tristique, dui dolor consequat ante, a vestibulum mi neque in purus.';\n\ntype ResultMeta = OmitStrict<SearchResultProps, 'link'>;\n\nconst getResultLink = (\n result: ResultMeta,\n setPreview: Dispatch<SetStateAction<ResultMeta | undefined>>,\n setPreviewTabId: Dispatch<SetStateAction<string | undefined>>\n) => {\n return {\n href: `projects/${result.id}`,\n previewable: true,\n onPreview: () => {\n setPreview(result);\n setPreviewTabId(`summary-${result.id}`);\n }\n };\n};\n\nexport const searchResults = [\n {\n id: 'PROJ-300',\n title: 'The Art of Building Beautiful Demos',\n description,\n meta: ['Completed', 'Low priority', new Date('01/01/21')]\n },\n {\n id: 'PROJ-123',\n title: 'Be Single Minded',\n description,\n meta: ['Blocked', 'Medium priority', new Date('12/31/20')]\n },\n {\n id: 'PROJ-456',\n title: 'Differentiate Yourself and Attract More Attention Sales and Profits',\n description,\n meta: ['Pending', 'High priority', new Date('12/01/20')]\n },\n {\n id: 'PROJ-789',\n title: 'Importance of the Custom Test',\n description,\n meta: ['Completed', 'Medium priority', new Date('01/01/21 08:00:00')]\n },\n {\n id: 'PROJ-100',\n title: 'Improve Your Business Cards and Enhance Your Sales',\n description,\n meta: ['Ready', 'High priority', new Date('12/31/20')]\n },\n {\n id: 'PROJ-200',\n title: 'How to Write Better Advertising',\n description,\n meta: ['Ready', 'Low priority', new Date('12/25/20')]\n }\n];\n\nexport const getInitialResults = (\n setPreview: Dispatch<SetStateAction<ResultMeta | undefined>>,\n setPreviewTabId: Dispatch<SetStateAction<string | undefined>>\n): SearchResultProps[] => {\n return searchResults.map(result => {\n return {\n ...result,\n link: getResultLink(result, setPreview, setPreviewTabId)\n };\n });\n};\n\nexport const initialFilters: SearchResultsProps['filters'] = [\n {\n type: 'select',\n name: 'Status',\n items: [\n {\n id: 'blocked',\n label: <Status variant='urgent'>Blocked</Status>,\n checked: false,\n name: 'Blocked'\n },\n {\n id: 'pending',\n label: <Status variant='pending'>Pending</Status>,\n checked: false,\n name: 'Pending'\n },\n { id: 'ready', label: <Status variant='info'>Ready</Status>, checked: false, name: 'Ready' },\n {\n id: 'completed',\n label: <Status variant='success'>Completed</Status>,\n checked: false,\n name: 'Completed'\n }\n ]\n },\n {\n type: 'select',\n selectType: 'single-select',\n name: 'Last updated',\n items: [\n { id: 'today', label: 'Today', checked: false, name: 'Today' },\n { id: 'yesterday', label: 'Yesterday', checked: false, name: 'Yesterday' },\n { id: '7-days', label: 'Last 7 days', checked: false, name: 'Last 7 days' },\n { id: '30-days', label: 'Last 30 days', checked: false, name: 'Last 30 days' }\n ]\n }\n];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResults.stories.d.ts","sourceRoot":"","sources":["../../../src/work/SearchResults/SearchResults.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAiB/C,wBAMU;AAIV,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CA6O5D,CAAC"}
1
+ {"version":3,"file":"SearchResults.stories.d.ts","sourceRoot":"","sources":["../../../src/work/SearchResults/SearchResults.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAiB/C,wBAMU;AAIV,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CA+Q5D,CAAC"}