@pega/react-sdk-overrides 8.23.11 → 23.1.11

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 (233) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +17 -0
  3. package/SECURITY.md +10 -0
  4. package/lib/designSystemExtension/AlertBanner/AlertBanner.tsx +12 -16
  5. package/lib/designSystemExtension/Banner/Banner.tsx +21 -7
  6. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  7. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +36 -26
  8. package/lib/designSystemExtension/DetailsFields/DetailsFields.tsx +21 -28
  9. package/lib/designSystemExtension/DetailsFields/index.tsx +1 -1
  10. package/lib/designSystemExtension/FieldGroup/FieldGroup.tsx +50 -18
  11. package/lib/designSystemExtension/FieldGroupList/FieldGroupList.tsx +14 -11
  12. package/lib/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -27
  13. package/lib/designSystemExtension/Operator/Operator.tsx +100 -84
  14. package/lib/designSystemExtension/Pulse/Pulse.tsx +21 -19
  15. package/lib/designSystemExtension/RichTextEditor/RichTextEditor.tsx +122 -0
  16. package/lib/designSystemExtension/RichTextEditor/index.tsx +1 -0
  17. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +21 -12
  18. package/lib/field/AutoComplete/AutoComplete.tsx +33 -16
  19. package/lib/field/AutoComplete/config-ext.json +2 -3
  20. package/lib/field/CancelAlert/CancelAlert.tsx +100 -81
  21. package/lib/field/CancelAlert/index.tsx +1 -1
  22. package/lib/field/Checkbox/Checkbox.tsx +27 -16
  23. package/lib/field/Checkbox/config-ext.json +2 -3
  24. package/lib/field/Currency/Currency.tsx +30 -47
  25. package/lib/field/Currency/config-ext.json +2 -3
  26. package/lib/field/Currency/currency-utils.ts +10 -21
  27. package/lib/field/Date/Date.tsx +24 -13
  28. package/lib/field/Date/config-ext.json +2 -3
  29. package/lib/field/DateTime/DateTime.tsx +21 -10
  30. package/lib/field/DateTime/config-ext.json +1 -2
  31. package/lib/field/Decimal/Decimal.tsx +31 -40
  32. package/lib/field/Decimal/config-ext.json +1 -2
  33. package/lib/field/Decimal/index.tsx +1 -1
  34. package/lib/field/Dropdown/Dropdown.tsx +128 -31
  35. package/lib/field/Dropdown/config-ext.json +1 -2
  36. package/lib/field/Email/Email.tsx +16 -7
  37. package/lib/field/Email/config-ext.json +1 -2
  38. package/lib/field/Email/index.tsx +1 -1
  39. package/lib/field/Group/Group.tsx +39 -0
  40. package/lib/field/Group/config-ext.json +7 -0
  41. package/lib/field/Group/index.tsx +1 -0
  42. package/lib/field/Integer/Integer.tsx +15 -6
  43. package/lib/field/Integer/config-ext.json +1 -2
  44. package/lib/field/Percentage/Percentage.tsx +52 -39
  45. package/lib/field/Percentage/config-ext.json +1 -2
  46. package/lib/field/Phone/Phone.tsx +15 -6
  47. package/lib/field/Phone/index.tsx +1 -1
  48. package/lib/field/RadioButtons/RadioButtons.tsx +26 -34
  49. package/lib/field/RadioButtons/config-ext.json +1 -2
  50. package/lib/field/RichText/RichText.tsx +96 -0
  51. package/lib/field/RichText/index.tsx +1 -0
  52. package/lib/field/ScalarList/ScalarList.tsx +63 -0
  53. package/lib/field/ScalarList/config-ext.json +7 -0
  54. package/lib/field/ScalarList/index.tsx +1 -0
  55. package/lib/field/SemanticLink/SemanticLink.tsx +26 -25
  56. package/lib/field/SemanticLink/config-ext.json +1 -2
  57. package/lib/field/SemanticLink/utils.ts +8 -11
  58. package/lib/field/TextArea/TextArea.tsx +15 -5
  59. package/lib/field/TextArea/config-ext.json +1 -2
  60. package/lib/field/TextContent/TextContent.tsx +9 -2
  61. package/lib/field/TextContent/config-ext.json +1 -2
  62. package/lib/field/TextInput/TextInput.tsx +18 -7
  63. package/lib/field/TextInput/config-ext.json +1 -2
  64. package/lib/field/TextInput/index.tsx +1 -1
  65. package/lib/field/Time/Time.tsx +14 -19
  66. package/lib/field/Time/config-ext.json +1 -2
  67. package/lib/field/URL/URL.tsx +15 -6
  68. package/lib/field/URL/config-ext.json +1 -2
  69. package/lib/field/URL/index.tsx +1 -1
  70. package/lib/field/UserReference/UserReference.tsx +52 -60
  71. package/lib/field/UserReference/UserReferenceUtils.ts +2 -2
  72. package/lib/field/UserReference/config-ext.json +1 -2
  73. package/lib/helpers/attachmentHelpers.ts +15 -10
  74. package/lib/helpers/case-utils.tsx +5 -10
  75. package/lib/helpers/common-utils.ts +6 -2
  76. package/lib/helpers/data_page.ts +3 -7
  77. package/lib/helpers/date-format-utils.ts +4 -4
  78. package/lib/helpers/event-utils.ts +4 -4
  79. package/lib/helpers/field-group-utils.ts +6 -8
  80. package/lib/helpers/formatters/Boolean.ts +9 -26
  81. package/lib/helpers/formatters/Currency.ts +22 -28
  82. package/lib/helpers/formatters/CurrencyMap.ts +512 -505
  83. package/lib/helpers/formatters/Date.ts +20 -26
  84. package/lib/helpers/formatters/common.ts +2 -7
  85. package/lib/helpers/formatters/index.ts +29 -22
  86. package/lib/helpers/reactContextHelpers.ts +2 -2
  87. package/lib/helpers/simpleTableHelpers.ts +63 -87
  88. package/lib/helpers/state-utils.tsx +5 -12
  89. package/lib/helpers/template-utils.ts +4 -10
  90. package/lib/helpers/utils.ts +5 -5
  91. package/lib/helpers/versionHelpers.ts +1 -7
  92. package/lib/infra/ActionButtons/ActionButtons.tsx +44 -45
  93. package/lib/infra/ActionButtons/index.tsx +1 -1
  94. package/lib/infra/Assignment/Assignment.tsx +102 -86
  95. package/lib/infra/Assignment/index.tsx +1 -1
  96. package/lib/infra/AssignmentCard/AssignmentCard.tsx +19 -26
  97. package/lib/infra/AssignmentCard/index.tsx +1 -1
  98. package/lib/infra/Containers/FlowContainer/FlowContainer.tsx +93 -240
  99. package/lib/infra/Containers/FlowContainer/helpers.ts +34 -48
  100. package/lib/infra/Containers/FlowContainer/index.tsx +1 -1
  101. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +65 -0
  102. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/index.tsx +1 -0
  103. package/lib/infra/Containers/ModalViewContainer/ModalViewContainer.tsx +229 -223
  104. package/lib/infra/Containers/ModalViewContainer/index.tsx +1 -1
  105. package/lib/infra/Containers/SimpleView/SimpleView.tsx +48 -0
  106. package/lib/infra/Containers/SimpleView/helper.ts +125 -0
  107. package/lib/infra/Containers/SimpleView/index.tsx +1 -0
  108. package/lib/infra/Containers/ViewContainer/ViewContainer.tsx +47 -64
  109. package/lib/infra/Containers/helpers.ts +6 -0
  110. package/lib/infra/DashboardFilter/DashboardFilter.tsx +25 -54
  111. package/lib/infra/DashboardFilter/filterUtils.tsx +12 -42
  112. package/lib/infra/DeferLoad/DeferLoad.tsx +21 -33
  113. package/lib/infra/DeferLoad/index.tsx +1 -1
  114. package/lib/infra/ErrorBoundary/ErrorBoundary.tsx +21 -39
  115. package/lib/infra/MultiStep/MultiStep.css +11 -15
  116. package/lib/infra/MultiStep/MultiStep.tsx +180 -216
  117. package/lib/infra/MultiStep/index.tsx +1 -1
  118. package/lib/infra/NavBar/NavBar.css +103 -105
  119. package/lib/infra/NavBar/NavBar.tsx +26 -45
  120. package/lib/infra/Reference/Reference.tsx +16 -22
  121. package/lib/infra/Region/Region.tsx +9 -9
  122. package/lib/infra/RootContainer/RootContainer.tsx +75 -120
  123. package/lib/infra/RootContainer/index.tsx +1 -1
  124. package/lib/infra/Stages/Stages.tsx +36 -41
  125. package/lib/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +17 -10
  126. package/lib/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx +29 -36
  127. package/lib/infra/View/View.tsx +25 -29
  128. package/lib/template/AppShell/AppShell.css +22 -23
  129. package/lib/template/AppShell/AppShell.tsx +47 -71
  130. package/lib/template/BannerPage/BannerPage.tsx +26 -33
  131. package/lib/template/CaseSummary/CaseSummary.tsx +66 -19
  132. package/lib/template/CaseSummary/config-ext.json +1 -2
  133. package/lib/template/CaseView/CaseView.tsx +44 -74
  134. package/lib/template/CaseView/config-ext.json +1 -2
  135. package/lib/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +66 -31
  136. package/lib/template/Confirmation/Confirmation.tsx +24 -55
  137. package/lib/template/Confirmation/config-ext.json +1 -2
  138. package/lib/template/DataReference/DataReference.tsx +112 -142
  139. package/lib/template/DataReference/config-ext.json +1 -2
  140. package/lib/template/DefaultForm/DefaultForm.css +7 -3
  141. package/lib/template/DefaultForm/DefaultForm.tsx +15 -16
  142. package/lib/template/DefaultForm/config-ext.json +1 -2
  143. package/lib/template/Details/Details/Details.tsx +24 -28
  144. package/lib/template/Details/DetailsSubTabs/DetailsSubTabs.tsx +15 -22
  145. package/lib/template/Details/DetailsSubTabs/config-ext.json +1 -2
  146. package/lib/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +25 -29
  147. package/lib/template/Details/DetailsThreeColumn/config-ext.json +1 -2
  148. package/lib/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +25 -29
  149. package/lib/template/Details/DetailsTwoColumn/config-ext.json +1 -2
  150. package/lib/template/Details/DetailsTwoColumn/index.tsx +1 -1
  151. package/lib/template/Details/DynamicTabs/DynamicTabs.tsx +79 -0
  152. package/lib/template/Details/DynamicTabs/config.json +36 -0
  153. package/lib/template/Details/DynamicTabs/index.tsx +1 -0
  154. package/lib/template/FieldGroupTemplate/FieldGroupTemplate.tsx +22 -35
  155. package/lib/template/InlineDashboard/InlineDashboard.tsx +16 -14
  156. package/lib/template/InlineDashboardPage/InlineDashboardPage.tsx +19 -21
  157. package/lib/template/ListPage/ListPage.tsx +12 -16
  158. package/lib/template/ListPage/config-ext.json +1 -2
  159. package/lib/template/ListView/DefaultViewMeta.ts +1 -3
  160. package/lib/template/ListView/ListView.tsx +247 -309
  161. package/lib/template/ListView/config-ext.json +1 -2
  162. package/lib/template/ListView/hooks.ts +24 -26
  163. package/lib/template/ListView/utils.ts +205 -94
  164. package/lib/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +25 -34
  165. package/lib/template/NarrowWide/NarrowWide/NarrowWide.css +0 -2
  166. package/lib/template/NarrowWide/NarrowWide/NarrowWide.tsx +31 -29
  167. package/lib/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +27 -31
  168. package/lib/template/NarrowWide/NarrowWideDetails/config-ext.json +1 -2
  169. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.css +0 -2
  170. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +17 -19
  171. package/lib/template/NarrowWide/NarrowWideForm/config-ext.json +1 -2
  172. package/lib/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +16 -26
  173. package/lib/template/NarrowWide/NarrowWidePage/config-ext.json +1 -2
  174. package/lib/template/OneColumn/OneColumn/OneColumn.tsx +17 -17
  175. package/lib/template/OneColumn/OneColumn/config-ext.json +1 -2
  176. package/lib/template/OneColumn/OneColumnPage/OneColumnPage.tsx +9 -16
  177. package/lib/template/OneColumn/OneColumnPage/config-ext.json +1 -2
  178. package/lib/template/OneColumn/OneColumnTab/OneColumnTab.tsx +8 -14
  179. package/lib/template/OneColumn/OneColumnTab/config-ext.json +1 -2
  180. package/lib/template/PromotedFilters/PromotedFilters.css +1 -1
  181. package/lib/template/PromotedFilters/PromotedFilters.tsx +39 -33
  182. package/lib/template/SimpleTable/SimpleTable/SimpleTable.tsx +113 -15
  183. package/lib/template/SimpleTable/SimpleTable/config-ext.json +1 -2
  184. package/lib/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +187 -104
  185. package/lib/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +33 -44
  186. package/lib/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +45 -48
  187. package/lib/template/SubTabs/SubTabs.tsx +26 -45
  188. package/lib/template/SubTabs/config-ext.json +1 -2
  189. package/lib/template/SubTabs/tabUtils.ts +2 -9
  190. package/lib/template/TwoColumn/TwoColumn/TwoColumn.css +0 -1
  191. package/lib/template/TwoColumn/TwoColumn/TwoColumn.tsx +33 -36
  192. package/lib/template/TwoColumn/TwoColumn/config-ext.json +1 -2
  193. package/lib/template/TwoColumn/TwoColumnPage/TwoColumnPage.tsx +9 -16
  194. package/lib/template/TwoColumn/TwoColumnPage/config-ext.json +1 -2
  195. package/lib/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +33 -33
  196. package/lib/template/TwoColumn/TwoColumnTab/config-ext.json +1 -2
  197. package/lib/template/WideNarrow/WideNarrow/WideNarrow.css +0 -2
  198. package/lib/template/WideNarrow/WideNarrow/WideNarrow.tsx +29 -27
  199. package/lib/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +39 -33
  200. package/lib/template/WideNarrow/WideNarrowDetails/config-ext.json +1 -2
  201. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.css +0 -2
  202. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +16 -18
  203. package/lib/template/WideNarrow/WideNarrowForm/config-ext.json +1 -2
  204. package/lib/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +15 -25
  205. package/lib/template/WideNarrow/WideNarrowPage/config-ext.json +1 -2
  206. package/lib/template/WideNarrow/WideNarrowPage/index.tsx +1 -1
  207. package/lib/template/WssNavBar/WssNavBar.tsx +24 -10
  208. package/lib/widget/AppAnnouncement/AppAnnouncement.tsx +34 -41
  209. package/lib/widget/AppAnnouncement/config-ext.json +1 -2
  210. package/lib/widget/Attachment/Attachment.css +60 -1
  211. package/lib/widget/Attachment/Attachment.tsx +379 -394
  212. package/lib/widget/Attachment/index.tsx +1 -1
  213. package/lib/widget/CaseHistory/CaseHistory.tsx +67 -67
  214. package/lib/widget/CaseHistory/config-ext.json +1 -2
  215. package/lib/widget/CaseHistory/index.tsx +1 -1
  216. package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -9
  217. package/lib/widget/FileUtility/FileUtility/FileUtility.css +2 -2
  218. package/lib/widget/FileUtility/FileUtility/FileUtility.tsx +322 -245
  219. package/lib/widget/FileUtility/FileUtility/config-ext.json +1 -2
  220. package/lib/widget/Followers/Followers.tsx +27 -25
  221. package/lib/widget/Followers/config-ext.json +1 -2
  222. package/lib/widget/QuickCreate/QuickCreate.tsx +71 -39
  223. package/lib/widget/SummaryItem/SummaryItem.css +9 -9
  224. package/lib/widget/SummaryItem/SummaryItem.tsx +62 -52
  225. package/lib/widget/SummaryItem/index.tsx +1 -1
  226. package/lib/widget/SummaryList/SummaryList.tsx +15 -4
  227. package/lib/widget/ToDo/ToDo.css +4 -4
  228. package/lib/widget/ToDo/ToDo.tsx +72 -116
  229. package/lib/widget/ToDo/config-ext.json +1 -2
  230. package/package.json +5 -2
  231. package/lib/helpers/auth.js +0 -483
  232. package/lib/helpers/authManager.js +0 -634
  233. package/lib/helpers/config_access.js +0 -259
@@ -1,225 +1,189 @@
1
- import React from "react";
2
- import PropTypes from "prop-types";
1
+ import React, { PropsWithChildren } from 'react';
2
+
3
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
4
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
5
 
4
6
  import './MultiStep.css';
5
7
 
6
- import AssignmentCard from '@pega/react-sdk-components/lib/components/infra/AssignmentCard';
7
-
8
- // import { useConstellationContext } from "../../bridge/Context/StoreContext";
9
-
10
- export default function MultiStep(props) {
11
- const { getPConnect, children, itemKey, actionButtons, onButtonPress} = props;
12
- const { bIsVertical, arNavigationSteps } = props;
13
-
14
- // const svgCurrent = Utils.getImageSrc("circle-solid", Utils.getSDKStaticConentUrl());
15
- // const svgNotCurrent = Utils.getImageSrc("circle-solid", Utils.getSDKStaticConentUrl());
16
-
17
- function _getVIconClass(status): string {
18
- if (status === "current") {
19
- return "psdk-vertical-step-icon-selected";
20
- }
21
-
22
- return "psdk-vertical-step-icon";
23
- }
24
-
25
- function _getVLabelClass(status): string {
26
- if (status === "current") {
27
- return "psdk-vertical-step-label-selected";
28
- }
29
-
30
- return "psdk-vertical-step-label";
31
- }
32
-
33
- function _getVBodyClass(index: number): string {
34
- if (index < arNavigationSteps.length - 1) {
35
- return "psdk-vertical-step-body psdk-vertical-step-line";
36
- }
37
-
38
- return "psdk-vertical-step-body";
39
- }
40
-
41
- function _getHIconClass(status): string {
42
- if (status === "current") {
43
- return "psdk-horizontal-step-icon-selected";
44
- }
45
-
46
- return "psdk-horizontal-step-icon";
47
- }
48
-
49
- function _getHLabelClass(status): string {
50
- if (status === "current") {
51
- return "psdk-horizontal-step-label-selected";
52
- }
53
-
54
- return "psdk-horizontal-step-label";
55
- }
56
-
57
- function _showHLine(index: number): boolean {
58
- // eslint-disable-next-line sonarjs/prefer-single-boolean-return
59
- if (index < arNavigationSteps.length - 1) {
60
- return true;
61
- }
62
-
63
- return false;
64
- }
65
-
66
- function buttonPress(sAction: string, sButtonType: string) {
67
- onButtonPress(sAction, sButtonType);
68
- }
69
-
70
- return (
71
- <React.Fragment>
72
- <div>
73
- {bIsVertical ?
74
- <div className="psdk-vertical-stepper">
75
- {arNavigationSteps.map((mainStep, index) => {
76
- return (
77
- <React.Fragment key={mainStep.actionID}>
78
- <div className="psdk-vertical-step">
79
- <div className="psdk-vertical-step-header">
80
- <div className={ _getVIconClass(mainStep.visited_status)}>
81
- <div className="psdk-vertical-step-icon-content">
82
- <span>{index + 1}</span>
83
- </div>
84
- </div>
85
- <div className={ _getVLabelClass(mainStep.visited_status)}>
86
- {mainStep.name}
87
- </div>
88
- </div>
89
- <div className={ _getVBodyClass(index)}>
90
- {mainStep?.steps &&
91
- <React.Fragment>
92
- <ul style={{paddingInlineStart: "0rem", marginLeft: "-7px"}}>
93
- {mainStep.steps.forEach((subStep) => {
94
- <li className="psdk-sub-step-list">
95
- <div style={{display: "inline-flex"}}>
96
- {subStep.visited_status === 'current' &&
97
- <img className="psdk-current-svg-icon" src="{svgCurrent}" />
98
- }
99
- {subStep.visited_status !== 'current' &&
100
- <img className="psdk-not-current-svg-icon" src="{svgNotCurrent}" />
101
- }
102
- {subStep.visited_status === 'current' &&
103
- <label className="psdk-sub-step-current">{subStep.name}</label>
104
- }
105
- {subStep.visited_status !== 'current' &&
106
- <label className="psdk-sub-step-not-current">{subStep.name}</label>
107
- }
108
- </div>
109
- {subStep.visited_status === 'current' &&
110
- <div>
111
- <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >
112
- {children}
113
- </AssignmentCard>
114
- </div>
115
- }
116
-
117
-
118
- </li>
119
- })}
120
-
121
- </ul>
122
- </React.Fragment>
123
- }
124
- {!mainStep?.steps && mainStep.visited_status === 'current' &&
125
- <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >
126
- {children}
127
- </AssignmentCard>
128
- }
129
- </div>
130
- </div>
131
- </React.Fragment>
132
- )})}
133
- </div>
8
+ interface MultiStepProps extends PConnProps {
9
+ // If any, enter additional props that only exist on this component
10
+ itemKey: string;
11
+ actionButtons: any[];
12
+ onButtonPress: any;
13
+ bIsVertical: boolean;
14
+ arNavigationSteps: any[];
15
+ }
134
16
 
135
- :
136
- <div className="psdk-horizontal-stepper">
137
- <div className="psdk-horizontal-stepper-header-container">
138
- {arNavigationSteps.map((mainStep, index) => {
139
- return (
140
- <React.Fragment key={mainStep.actionID}>
141
- <div className="psdk-horizontal-step-header">
142
- <div className={ _getHIconClass(mainStep.visited_status)}>
143
- <div className="psdk-horizontal-step-icon-content">
144
- <span>{index + 1}</span>
145
- </div>
146
- </div>
147
- <div className={ _getHLabelClass(mainStep.visited_status)}>
148
- <div className="psdk-horizontal-step-text-label">
149
- {mainStep.name}
150
- </div>
151
- </div>
152
- </div>
153
- { _showHLine(index) &&
154
- <div className="psdk-horizontal-step-line"></div>
155
- }
156
- </React.Fragment>
157
- )})}
158
- </div>
159
- {arNavigationSteps.map((mainStep) => {
160
- return (
161
- <React.Fragment key={mainStep.actionID}>
162
- {mainStep.steps &&
163
- <React.Fragment>
164
- <ul style={{paddingInlineStart: "0rem", marginLeft: "35px"}}>
165
- {mainStep.steps.map((subStep) => (
166
- <React.Fragment>
167
- <li className="psdk-sub-step-list">
168
- <div style={{display: "inline-flex"}}>
169
- {subStep.visited_status === 'current' &&
170
- <img className="psdk-current-svg-icon" src="{svgCurrent}" />
171
- }
172
- {subStep.visited_status !== 'current' &&
173
- <img className="psdk-not-current-svg-icon" src="{svgNotCurrent}" />
174
- }
175
- {subStep.visited_status === 'current' &&
176
- <label className="psdk-sub-step-current">{subStep.name}</label>
177
- }
178
- {subStep.visited_status !== 'current' &&
179
- <label className="psdk-sub-step-not-current">{subStep.name}</label>
180
- }
181
- </div>
182
- {subStep.visited_status === 'current' &&
183
- <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >
184
- {children}
185
- </AssignmentCard>
186
- }
187
- </li>
188
- </React.Fragment>
189
- ))}
190
-
191
- </ul>
192
- </React.Fragment>
193
- }
194
- { !mainStep?.steps && mainStep.visited_status === 'current' &&
195
- <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >
196
- {children}
197
- </AssignmentCard>
198
- }
199
- </React.Fragment>
200
- )})}
201
- </div>
202
- }
17
+ export default function MultiStep(props: PropsWithChildren<MultiStepProps>) {
18
+ // Get emitted components from map (so we can get any override that may exist)
19
+ const AssignmentCard = getComponentFromMap('AssignmentCard');
203
20
 
204
- </div>
21
+ const { getPConnect, children, itemKey = '', actionButtons, onButtonPress } = props;
22
+ const { bIsVertical, arNavigationSteps } = props;
23
+
24
+ // const svgCurrent = Utils.getImageSrc("circle-solid", Utils.getSDKStaticConentUrl());
25
+ // const svgNotCurrent = Utils.getImageSrc("circle-solid", Utils.getSDKStaticConentUrl());
26
+
27
+ function _getVIconClass(status): string {
28
+ if (status === 'current') {
29
+ return 'psdk-vertical-step-icon-selected';
30
+ }
31
+
32
+ return 'psdk-vertical-step-icon';
33
+ }
34
+
35
+ function _getVLabelClass(status): string {
36
+ if (status === 'current') {
37
+ return 'psdk-vertical-step-label-selected';
38
+ }
39
+
40
+ return 'psdk-vertical-step-label';
41
+ }
42
+
43
+ function _getVBodyClass(index: number): string {
44
+ if (index < arNavigationSteps.length - 1) {
45
+ return 'psdk-vertical-step-body psdk-vertical-step-line';
46
+ }
47
+
48
+ return 'psdk-vertical-step-body';
49
+ }
50
+
51
+ function _getHIconClass(status): string {
52
+ if (status === 'current') {
53
+ return 'psdk-horizontal-step-icon-selected';
54
+ }
55
+
56
+ return 'psdk-horizontal-step-icon';
57
+ }
58
+
59
+ function _getHLabelClass(status): string {
60
+ if (status === 'current') {
61
+ return 'psdk-horizontal-step-label-selected';
62
+ }
205
63
 
206
- </React.Fragment>
64
+ return 'psdk-horizontal-step-label';
65
+ }
66
+
67
+ function _showHLine(index: number): boolean {
68
+ // eslint-disable-next-line sonarjs/prefer-single-boolean-return
69
+ if (index < arNavigationSteps.length - 1) {
70
+ return true;
71
+ }
72
+
73
+ return false;
74
+ }
207
75
 
208
- )
76
+ function buttonPress(sAction: string, sButtonType: string) {
77
+ onButtonPress(sAction, sButtonType);
209
78
  }
210
79
 
211
- MultiStep.propTypes = {
212
- children: PropTypes.node.isRequired,
213
- getPConnect: PropTypes.func.isRequired,
214
- itemKey: PropTypes.string,
215
- actionButtons: PropTypes.object,
216
- onButtonPress: PropTypes.func,
217
- bIsVertical: PropTypes.bool,
218
- // eslint-disable-next-line react/no-unused-prop-types
219
- arCurrentStepIndicies: PropTypes.array,
220
- arNavigationSteps: PropTypes.array
221
- };
222
-
223
- MultiStep.defaultProps = {
224
- itemKey: null
225
- };
80
+ return (
81
+ <div>
82
+ {bIsVertical ? (
83
+ <div className='psdk-vertical-stepper'>
84
+ {arNavigationSteps.map((mainStep, index) => {
85
+ return (
86
+ <React.Fragment key={mainStep.actionID}>
87
+ <div className='psdk-vertical-step'>
88
+ <div className='psdk-vertical-step-header'>
89
+ <div className={_getVIconClass(mainStep.visited_status)}>
90
+ <div className='psdk-vertical-step-icon-content'>
91
+ <span>{index + 1}</span>
92
+ </div>
93
+ </div>
94
+ <div className={_getVLabelClass(mainStep.visited_status)}>{mainStep.name}</div>
95
+ </div>
96
+ <div className={_getVBodyClass(index)}>
97
+ {mainStep?.steps && (
98
+ <ul
99
+ style={{
100
+ paddingInlineStart: '0rem',
101
+ marginLeft: '-7px'
102
+ }}
103
+ >
104
+ {mainStep.steps.forEach(subStep => {
105
+ <li className='psdk-sub-step-list'>
106
+ <div style={{ display: 'inline-flex' }}>
107
+ {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}
108
+ {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}
109
+ {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}
110
+ {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}
111
+ </div>
112
+ {subStep.visited_status === 'current' && (
113
+ <div>
114
+ <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
115
+ {children}
116
+ </AssignmentCard>
117
+ </div>
118
+ )}
119
+ </li>;
120
+ })}
121
+ </ul>
122
+ )}
123
+ {!mainStep?.steps && mainStep.visited_status === 'current' && (
124
+ <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
125
+ {children}
126
+ </AssignmentCard>
127
+ )}
128
+ </div>
129
+ </div>
130
+ </React.Fragment>
131
+ );
132
+ })}
133
+ </div>
134
+ ) : (
135
+ <div className='psdk-horizontal-stepper'>
136
+ <div className='psdk-horizontal-stepper-header-container'>
137
+ {arNavigationSteps.map((mainStep, index) => {
138
+ return (
139
+ <React.Fragment key={mainStep.actionID}>
140
+ <div className='psdk-horizontal-step-header'>
141
+ <div className={_getHIconClass(mainStep.visited_status)}>
142
+ <div className='psdk-horizontal-step-icon-content'>
143
+ <span>{index + 1}</span>
144
+ </div>
145
+ </div>
146
+ <div className={_getHLabelClass(mainStep.visited_status)}>
147
+ <div className='psdk-horizontal-step-text-label'>{mainStep.name}</div>
148
+ </div>
149
+ </div>
150
+ {_showHLine(index) && <div className='psdk-horizontal-step-line' />}
151
+ </React.Fragment>
152
+ );
153
+ })}
154
+ </div>
155
+ {arNavigationSteps.map(mainStep => {
156
+ return (
157
+ <React.Fragment key={mainStep.actionID}>
158
+ {mainStep.steps && (
159
+ <ul style={{ paddingInlineStart: '0rem', marginLeft: '35px' }}>
160
+ {mainStep.steps.map(subStep => (
161
+ <li className='psdk-sub-step-list'>
162
+ <div style={{ display: 'inline-flex' }}>
163
+ {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}
164
+ {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}
165
+ {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}
166
+ {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}
167
+ </div>
168
+ {subStep.visited_status === 'current' && (
169
+ <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
170
+ {children}
171
+ </AssignmentCard>
172
+ )}
173
+ </li>
174
+ ))}
175
+ </ul>
176
+ )}
177
+ {!mainStep?.steps && mainStep.visited_status === 'current' && (
178
+ <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
179
+ {children}
180
+ </AssignmentCard>
181
+ )}
182
+ </React.Fragment>
183
+ );
184
+ })}
185
+ </div>
186
+ )}
187
+ </div>
188
+ );
189
+ }
@@ -1 +1 @@
1
- export { default } from './MultiStep';
1
+ export { default } from './MultiStep';