@pega/dx-component-builder-sdk 24.2.13 → 25.1.10

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 (555) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/src/constants.js +46 -0
  4. package/src/tasks/create/index.js +50 -51
  5. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.ts.mustache +1 -1
  6. package/src/tasks/create/templates/Constellation/field/Boolean/config.json.mustache +0 -1
  7. package/src/tasks/create/templates/Constellation/field/Date/config.json.mustache +0 -1
  8. package/src/tasks/create/templates/Constellation/field/Date/date.ts.mustache +0 -1
  9. package/src/tasks/create/templates/Constellation/field/DateTime/config.json.mustache +0 -1
  10. package/src/tasks/create/templates/Constellation/field/Decimal/config.json.mustache +0 -1
  11. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/config.json.mustache +0 -1
  12. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/config.json.mustache +0 -1
  13. package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/config.json.mustache +0 -1
  14. package/src/tasks/create/templates/Constellation/field/Integer/config.json.mustache +0 -1
  15. package/src/tasks/create/templates/Constellation/field/Picklist/config.json.mustache +0 -1
  16. package/src/tasks/create/templates/Constellation/field/Picklist/index.tsx.mustache +0 -1
  17. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/config.json.mustache +0 -1
  18. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.ts.mustache +0 -2
  19. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/index.tsx.mustache +7 -2
  20. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/repeat-utils.ts.mustache +0 -4
  21. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/config.json.mustache +0 -1
  22. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/index.tsx.mustache +1 -2
  23. package/src/tasks/create/templates/Constellation/field/Text/config.json.mustache +0 -1
  24. package/src/tasks/create/templates/Constellation/field/Text-Email/config.json.mustache +0 -1
  25. package/src/tasks/create/templates/Constellation/field/Text-Input/{StatusWork.tsx → StatusWork.tsx.mustache} +0 -1
  26. package/src/tasks/create/templates/Constellation/field/Text-Input/config.json.mustache +0 -1
  27. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/config.json.mustache +0 -1
  28. package/src/tasks/create/templates/Constellation/field/Text-Phone/config.json.mustache +0 -1
  29. package/src/tasks/create/templates/Constellation/field/Text-URL/config.json.mustache +0 -1
  30. package/src/tasks/create/templates/Constellation/field/TimeOfDay/config.json.mustache +0 -1
  31. package/src/tasks/create/templates/Constellation/template/DETAILS/Avatar.tsx.mustache +0 -1
  32. package/src/tasks/create/templates/Constellation/template/DETAILS/HighlightRender.tsx.mustache +0 -1
  33. package/src/tasks/create/templates/Constellation/template/DETAILS/StatusWork.tsx.mustache +0 -1
  34. package/src/tasks/create/templates/Constellation/template/DETAILS/config.json.mustache +0 -1
  35. package/src/tasks/create/templates/Constellation/template/DETAILS/utils.js.mustache +0 -2
  36. package/src/tasks/create/templates/Constellation/template/DETAILS-region/Avatar.tsx.mustache +0 -1
  37. package/src/tasks/create/templates/Constellation/template/DETAILS-region/HighlightRender.tsx.mustache +0 -1
  38. package/src/tasks/create/templates/Constellation/template/DETAILS-region/StatusWork.tsx.mustache +0 -1
  39. package/src/tasks/create/templates/Constellation/template/DETAILS-region/config.json.mustache +0 -1
  40. package/src/tasks/create/templates/Constellation/template/DETAILS-region/mock.ts.mustache +0 -1
  41. package/src/tasks/create/templates/Constellation/template/FORM/config.json.mustache +0 -1
  42. package/src/tasks/create/templates/Constellation/template/FORM-region/config.json.mustache +0 -1
  43. package/src/tasks/create/templates/Constellation/template/PAGE/GetNextWork.tsx.mustache +0 -1
  44. package/src/tasks/create/templates/Constellation/template/PAGE/config.json.mustache +0 -1
  45. package/src/tasks/create/templates/Constellation/widget/CASE/config.json.mustache +0 -1
  46. package/src/tasks/create/templates/Constellation/widget/PAGE/config.json.mustache +0 -1
  47. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Avatar.tsx.mustache +0 -1
  48. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/config.json.mustache +0 -1
  49. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/index.tsx.mustache +0 -2
  50. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.html.mustache +14 -6
  51. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.ts.mustache +4 -3
  52. package/src/tasks/create/templates/SDK-Angular/field/Boolean/config.json.mustache +0 -1
  53. package/src/tasks/create/templates/SDK-Angular/field/Date/config.json.mustache +0 -1
  54. package/src/tasks/create/templates/SDK-Angular/field/Date/date.component.ts.mustache +1 -2
  55. package/src/tasks/create/templates/SDK-Angular/field/DateTime/config.json.mustache +0 -1
  56. package/src/tasks/create/templates/SDK-Angular/field/DateTime/date-time.component.ts.mustache +1 -2
  57. package/src/tasks/create/templates/SDK-Angular/field/Decimal/config.json.mustache +0 -1
  58. package/src/tasks/create/templates/SDK-Angular/field/Decimal/decimal.component.ts.mustache +0 -1
  59. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Currency/config.json.mustache +0 -1
  60. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Currency/decimal-currency.component.ts.mustache +4 -3
  61. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Percentage/config.json.mustache +0 -1
  62. package/src/tasks/create/templates/SDK-Angular/field/Decimal-Percentage/decimal-percentage.component.ts.mustache +1 -2
  63. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/config.json.mustache +0 -1
  64. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.ts.mustache +0 -1
  65. package/src/tasks/create/templates/SDK-Angular/field/Integer/config.json.mustache +0 -1
  66. package/src/tasks/create/templates/SDK-Angular/field/Integer/integer.component.ts.mustache +1 -2
  67. package/src/tasks/create/templates/SDK-Angular/field/Picklist/config.json.mustache +0 -1
  68. package/src/tasks/create/templates/SDK-Angular/field/Picklist/picklist.component.ts.mustache +7 -6
  69. package/src/tasks/create/templates/SDK-Angular/field/Picklist-Autocomplete/config.json.mustache +0 -1
  70. package/src/tasks/create/templates/SDK-Angular/field/Picklist-Autocomplete/picklist-autocomplete.component.html.mustache +0 -1
  71. package/src/tasks/create/templates/SDK-Angular/field/Picklist-Autocomplete/picklist-autocomplete.component.ts.mustache +10 -14
  72. package/src/tasks/create/templates/SDK-Angular/field/Picklist-RadioButtons/config.json.mustache +0 -1
  73. package/src/tasks/create/templates/SDK-Angular/field/Picklist-RadioButtons/picklist-radio-buttons.component.html.mustache +14 -6
  74. package/src/tasks/create/templates/SDK-Angular/field/Picklist-RadioButtons/picklist-radio-buttons.component.ts.mustache +5 -2
  75. package/src/tasks/create/templates/SDK-Angular/field/Text/config.json.mustache +0 -1
  76. package/src/tasks/create/templates/SDK-Angular/field/Text/text.component.ts.mustache +0 -1
  77. package/src/tasks/create/templates/SDK-Angular/field/Text-Email/config.json.mustache +0 -1
  78. package/src/tasks/create/templates/SDK-Angular/field/Text-Email/text-email.component.ts.mustache +1 -2
  79. package/src/tasks/create/templates/SDK-Angular/field/Text-Input/config.json.mustache +0 -1
  80. package/src/tasks/create/templates/SDK-Angular/field/Text-Input/text.component.ts.mustache +1 -2
  81. package/src/tasks/create/templates/SDK-Angular/field/Text-Paragraph/config.json.mustache +0 -1
  82. package/src/tasks/create/templates/SDK-Angular/field/Text-Paragraph/text-paragraph.component.ts.mustache +1 -2
  83. package/src/tasks/create/templates/SDK-Angular/field/Text-Phone/config.json.mustache +0 -1
  84. package/src/tasks/create/templates/SDK-Angular/field/Text-Phone/text-phone.component.html.mustache +5 -4
  85. package/src/tasks/create/templates/SDK-Angular/field/Text-Phone/text-phone.component.ts.mustache +17 -5
  86. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/config.json.mustache +0 -1
  87. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.ts.mustache +1 -2
  88. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/config.json.mustache +0 -1
  89. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.ts.mustache +1 -2
  90. package/src/tasks/create/templates/SDK-Angular/template/DETAILS/config.json.mustache +0 -1
  91. package/src/tasks/create/templates/SDK-Angular/template/DETAILS-region/config.json.mustache +0 -1
  92. package/src/tasks/create/templates/SDK-Angular/template/DETAILS-region/mock.ts.mustache +0 -1
  93. package/src/tasks/create/templates/SDK-Angular/template/FORM/config.json.mustache +0 -1
  94. package/src/tasks/create/templates/SDK-Angular/template/FORM-region/config.json.mustache +0 -1
  95. package/src/tasks/create/templates/SDK-Angular/template/PAGE/config.json.mustache +0 -1
  96. package/src/tasks/create/templates/SDK-Angular/widget/CASE/config.json.mustache +0 -1
  97. package/src/tasks/create/templates/SDK-Angular/widget/PAGE/config.json.mustache +0 -1
  98. package/src/tasks/create/templates/SDK-Angular/widget/PAGE/mock.ts.mustache +0 -1
  99. package/src/tasks/create/templates/SDK-Angular/widget/PAGE-CASE/config.json.mustache +0 -1
  100. package/src/tasks/create/templates/SDK-Angular/widget/PAGE-CASE/page-case.component.ts.mustache +0 -1
  101. package/src/tasks/create/templates/SDK-React/field/Boolean/config.json.mustache +0 -1
  102. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +0 -1
  103. package/src/tasks/create/templates/SDK-React/field/Date/config.json.mustache +0 -1
  104. package/src/tasks/create/templates/SDK-React/field/DateTime/config.json.mustache +0 -1
  105. package/src/tasks/create/templates/SDK-React/field/Decimal/config.json.mustache +0 -1
  106. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/config.json.mustache +0 -1
  107. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/config.json.mustache +0 -1
  108. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/config.json.mustache +0 -1
  109. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/index.tsx.mustache +0 -2
  110. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/mock.ts.mustache +0 -1
  111. package/src/tasks/create/templates/SDK-React/field/Integer/config.json.mustache +0 -1
  112. package/src/tasks/create/templates/SDK-React/field/Picklist/config.json.mustache +0 -1
  113. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +0 -1
  114. package/src/tasks/create/templates/SDK-React/field/Picklist-Autocomplete/config.json.mustache +0 -1
  115. package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/config.json.mustache +0 -1
  116. package/src/tasks/create/templates/SDK-React/field/Text/config.json.mustache +0 -1
  117. package/src/tasks/create/templates/SDK-React/field/Text/mock.ts.mustache +0 -1
  118. package/src/tasks/create/templates/SDK-React/field/Text-Email/config.json.mustache +0 -1
  119. package/src/tasks/create/templates/SDK-React/field/Text-Email/mock.ts.mustache +0 -1
  120. package/src/tasks/create/templates/SDK-React/field/Text-Input/config.json.mustache +0 -1
  121. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/config.json.mustache +0 -1
  122. package/src/tasks/create/templates/SDK-React/field/Text-Phone/config.json.mustache +0 -1
  123. package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +6 -4
  124. package/src/tasks/create/templates/SDK-React/field/Text-Phone/mock.ts.mustache +0 -1
  125. package/src/tasks/create/templates/SDK-React/field/Text-URL/config.json.mustache +0 -1
  126. package/src/tasks/create/templates/SDK-React/field/Text-URL/mock.ts.mustache +0 -1
  127. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/config.json.mustache +0 -1
  128. package/src/tasks/create/templates/SDK-React/template/DETAILS/config.json.mustache +0 -1
  129. package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +10 -11
  130. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/config.json.mustache +0 -1
  131. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +9 -10
  132. package/src/tasks/create/templates/SDK-React/template/FORM/config.json.mustache +0 -1
  133. package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +0 -1
  134. package/src/tasks/create/templates/SDK-React/template/FORM-region/config.json.mustache +0 -1
  135. package/src/tasks/create/templates/SDK-React/template/FORM-region/demo.stories.tsx.mustache +5 -3
  136. package/src/tasks/create/templates/SDK-React/template/FORM-region/index.tsx.mustache +10 -8
  137. package/src/tasks/create/templates/SDK-React/template/PAGE/OneColumn.tsx.mustache +8 -5
  138. package/src/tasks/create/templates/SDK-React/template/PAGE/config.json.mustache +0 -1
  139. package/src/tasks/create/templates/SDK-React/widget/CASE/config.json.mustache +0 -1
  140. package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +3 -3
  141. package/src/tasks/create/templates/SDK-React/widget/CASE/mock.ts.mustache +0 -1
  142. package/src/tasks/create/templates/SDK-React/widget/PAGE/config.json.mustache +0 -1
  143. package/src/tasks/create/templates/SDK-React/widget/PAGE/index.tsx.mustache +3 -3
  144. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/config.json.mustache +0 -1
  145. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +14 -12
  146. package/src/tasks/create-all/index.js +68 -55
  147. package/src/tasks/publish/helper.js +1 -1
  148. package/src/tasks/validator/index.js +19 -0
  149. package/src/util.js +89 -4
  150. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +0 -1
  151. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/config.json +0 -1
  152. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/mock.ts +0 -1
  153. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Banner/Banner.css +1 -1
  154. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Banner/Banner.tsx +10 -7
  155. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  156. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +53 -37
  157. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/DetailsFields/DetailsFields.tsx +11 -13
  158. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +8 -9
  159. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroupList/FieldGroupList.tsx +9 -9
  160. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +8 -9
  161. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Operator/Operator.tsx +21 -19
  162. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Pulse/Pulse.tsx +1 -1
  163. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +32 -4
  164. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/WssQuickCreate/WssQuickCreate.css +7 -14
  165. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +13 -2
  166. package/tests/assets/sdk-r/components/create/override-sdk/field/AutoComplete/AutoComplete.tsx +1 -1
  167. package/tests/assets/sdk-r/components/create/override-sdk/field/CancelAlert/CancelAlert.css +4 -4
  168. package/tests/assets/sdk-r/components/create/override-sdk/field/CancelAlert/CancelAlert.tsx +7 -10
  169. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +97 -4
  170. package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/Currency.tsx +10 -7
  171. package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/currency-utils.ts +1 -2
  172. package/tests/assets/sdk-r/components/create/override-sdk/field/Date/Date.tsx +8 -8
  173. package/tests/assets/sdk-r/components/create/override-sdk/field/DateTime/DateTime.tsx +16 -13
  174. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +10 -7
  175. package/tests/assets/sdk-r/components/create/override-sdk/field/Dropdown/Dropdown.tsx +30 -25
  176. package/tests/assets/sdk-r/components/create/override-sdk/field/Email/Email.tsx +11 -13
  177. package/tests/assets/sdk-r/components/create/override-sdk/field/Group/Group.tsx +10 -8
  178. package/tests/assets/sdk-r/components/create/override-sdk/field/Integer/Integer.tsx +5 -7
  179. package/tests/assets/sdk-r/components/create/override-sdk/field/Location/Location.css +4 -0
  180. package/tests/assets/sdk-r/components/create/override-sdk/field/Location/Location.tsx +258 -0
  181. package/tests/assets/sdk-r/components/create/override-sdk/field/Location/config-ext.json +10 -0
  182. package/tests/assets/sdk-r/components/create/override-sdk/field/Location/index.tsx +1 -0
  183. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +1 -1
  184. package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/ObjectReference.tsx +235 -0
  185. package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/index.tsx +1 -0
  186. package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/utils.ts +111 -0
  187. package/tests/assets/sdk-r/components/create/override-sdk/field/Percentage/Percentage.tsx +9 -9
  188. package/tests/assets/sdk-r/components/create/override-sdk/field/Phone/Phone.tsx +7 -5
  189. package/tests/assets/sdk-r/components/create/override-sdk/field/RadioButtons/RadioButtons.tsx +47 -5
  190. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.css +79 -0
  191. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +3 -1
  192. package/tests/assets/sdk-r/components/create/override-sdk/field/ScalarList/ScalarList.tsx +2 -4
  193. package/tests/assets/sdk-r/components/create/override-sdk/field/SelectableCard/SelectableCard.tsx +175 -0
  194. package/tests/assets/sdk-r/components/create/override-sdk/field/SelectableCard/index.tsx +1 -0
  195. package/tests/assets/sdk-r/components/create/override-sdk/field/SelectableCard/utils.tsx +223 -0
  196. package/tests/assets/sdk-r/components/create/override-sdk/field/SemanticLink/SemanticLink.tsx +160 -28
  197. package/tests/assets/sdk-r/components/create/override-sdk/field/SemanticLink/utils.ts +1 -1
  198. package/tests/assets/sdk-r/components/create/override-sdk/field/TextArea/TextArea.tsx +5 -7
  199. package/tests/assets/sdk-r/components/create/override-sdk/field/TextContent/TextContent.tsx +1 -2
  200. package/tests/assets/sdk-r/components/create/override-sdk/field/TextInput/TextInput.tsx +5 -7
  201. package/tests/assets/sdk-r/components/create/override-sdk/field/Time/Time.tsx +4 -8
  202. package/tests/assets/sdk-r/components/create/override-sdk/field/URL/URL.tsx +5 -7
  203. package/tests/assets/sdk-r/components/create/override-sdk/field/UserReference/UserReference.tsx +3 -6
  204. package/tests/assets/sdk-r/components/create/override-sdk/infra/ActionButtons/ActionButtons.tsx +28 -21
  205. package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/Assignment.tsx +38 -35
  206. package/tests/assets/sdk-r/components/create/override-sdk/infra/AssignmentCard/AssignmentCard.tsx +2 -2
  207. package/tests/assets/sdk-r/components/create/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +5 -9
  208. package/tests/assets/sdk-r/components/create/override-sdk/infra/DashboardFilter/filterUtils.tsx +3 -6
  209. package/tests/assets/sdk-r/components/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +7 -9
  210. package/tests/assets/sdk-r/components/create/override-sdk/infra/ErrorBoundary/ErrorBoundary.tsx +1 -3
  211. package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/FlowContainer.tsx +21 -113
  212. package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/helpers.ts +1 -5
  213. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +4 -3
  214. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +7 -6
  215. package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.css +48 -70
  216. package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.tsx +27 -58
  217. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.css +1 -1
  218. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +31 -30
  219. package/tests/assets/sdk-r/components/create/override-sdk/infra/Reference/Reference.tsx +3 -4
  220. package/tests/assets/sdk-r/components/create/override-sdk/infra/Region/Region.tsx +1 -1
  221. package/tests/assets/sdk-r/components/create/override-sdk/infra/RootContainer/RootContainer.tsx +3 -4
  222. package/tests/assets/sdk-r/components/create/override-sdk/infra/SimpleView/helper.ts +1 -1
  223. package/tests/assets/sdk-r/components/create/override-sdk/infra/Stages/Stages.tsx +2 -2
  224. package/tests/assets/sdk-r/components/create/override-sdk/infra/View/View.tsx +4 -3
  225. package/tests/assets/sdk-r/components/create/override-sdk/infra/ViewContainer/ViewContainer.tsx +4 -5
  226. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/AdvancedSearch.tsx +86 -0
  227. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/SearchGroup/persistUtils.ts +52 -0
  228. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +244 -0
  229. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/SearchGroups/hooks.ts +37 -0
  230. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/SearchGroups/index.tsx +1 -0
  231. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/SearchGroups/utils.ts +29 -0
  232. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/TemplateContext.ts +11 -0
  233. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/config-ext.json +10 -0
  234. package/tests/assets/sdk-r/components/create/override-sdk/template/AdvancedSearch/index.tsx +1 -0
  235. package/tests/assets/sdk-r/components/create/override-sdk/template/AppShell/AppShell.css +1 -1
  236. package/tests/assets/sdk-r/components/create/override-sdk/template/AppShell/AppShell.tsx +22 -23
  237. package/tests/assets/sdk-r/components/create/override-sdk/template/BannerPage/BannerPage.tsx +2 -2
  238. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseSummary/CaseSummary.tsx +28 -41
  239. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseView/CaseView.tsx +31 -38
  240. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
  241. package/tests/assets/sdk-r/components/create/override-sdk/template/Confirmation/Confirmation.tsx +3 -4
  242. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReference.tsx +312 -106
  243. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReferenceAdvancedSearchContext.ts +10 -0
  244. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/SearchForm.tsx +149 -0
  245. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/utils.ts +90 -0
  246. package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.tsx +3 -3
  247. package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/utils/index.ts +1 -3
  248. package/tests/assets/sdk-r/components/create/override-sdk/template/Details/Details.tsx +11 -11
  249. package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsSubTabs/DetailsSubTabs.tsx +2 -2
  250. package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +11 -11
  251. package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +11 -11
  252. package/tests/assets/sdk-r/components/create/override-sdk/template/DynamicTabs/DynamicTabs.tsx +1 -2
  253. package/tests/assets/sdk-r/components/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -5
  254. package/tests/assets/sdk-r/components/create/override-sdk/template/InlineDashboard/InlineDashboard.tsx +14 -16
  255. package/tests/assets/sdk-r/components/create/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +2 -2
  256. package/tests/assets/sdk-r/components/create/override-sdk/template/ListPage/ListPage.tsx +1 -1
  257. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +285 -204
  258. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/hooks.ts +1 -5
  259. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/utils.ts +38 -6
  260. package/tests/assets/sdk-r/components/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  261. package/tests/assets/sdk-r/components/create/override-sdk/template/NarrowWide/NarrowWide.tsx +5 -5
  262. package/tests/assets/sdk-r/components/create/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +11 -11
  263. package/tests/assets/sdk-r/components/create/override-sdk/template/NarrowWideForm/NarrowWideForm.tsx +2 -2
  264. package/tests/assets/sdk-r/components/create/override-sdk/template/NarrowWidePage/NarrowWidePage.tsx +2 -2
  265. package/tests/assets/sdk-r/components/create/override-sdk/template/OneColumn/OneColumn.tsx +7 -7
  266. package/tests/assets/sdk-r/components/create/override-sdk/template/OneColumnPage/OneColumnPage.tsx +1 -1
  267. package/tests/assets/sdk-r/components/create/override-sdk/template/OneColumnTab/OneColumnTab.tsx +2 -2
  268. package/tests/assets/sdk-r/components/create/override-sdk/template/PromotedFilters/PromotedFilters.tsx +1 -3
  269. package/tests/assets/sdk-r/components/create/override-sdk/template/SearchGroups/SearchGroups.tsx +244 -0
  270. package/tests/assets/sdk-r/components/create/override-sdk/template/SearchGroups/hooks.ts +37 -0
  271. package/tests/assets/sdk-r/components/create/override-sdk/template/SearchGroups/index.tsx +1 -0
  272. package/tests/assets/sdk-r/components/create/override-sdk/template/SearchGroups/utils.ts +29 -0
  273. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTable/SimpleTable.tsx +2 -5
  274. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +99 -84
  275. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +3 -5
  276. package/tests/assets/sdk-r/components/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +10 -2
  277. package/tests/assets/sdk-r/components/create/override-sdk/template/SubTabs/SubTabs.tsx +2 -2
  278. package/tests/assets/sdk-r/components/create/override-sdk/template/SubTabs/tabUtils.ts +118 -1
  279. package/tests/assets/sdk-r/components/create/override-sdk/template/TwoColumn/TwoColumn.tsx +9 -10
  280. package/tests/assets/sdk-r/components/create/override-sdk/template/TwoColumnPage/TwoColumnPage.tsx +1 -1
  281. package/tests/assets/sdk-r/components/create/override-sdk/template/TwoColumnTab/TwoColumnTab.tsx +9 -10
  282. package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrow/WideNarrow.tsx +5 -5
  283. package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +11 -11
  284. package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrowForm/WideNarrowForm.tsx +2 -2
  285. package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrowPage/WideNarrowPage.tsx +2 -2
  286. package/tests/assets/sdk-r/components/create/override-sdk/template/WssNavBar/WssNavBar.css +1 -1
  287. package/tests/assets/sdk-r/components/create/override-sdk/template/WssNavBar/WssNavBar.tsx +6 -6
  288. package/tests/assets/sdk-r/components/create/override-sdk/widget/ActionButtonsForFileUtil/ActionButtonsForFileUtil.css +0 -14
  289. package/tests/assets/sdk-r/components/create/override-sdk/widget/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +3 -3
  290. package/tests/assets/sdk-r/components/create/override-sdk/widget/AppAnnouncement/AppAnnouncement.tsx +1 -1
  291. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.css +7 -8
  292. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.tsx +304 -231
  293. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.types.ts +96 -0
  294. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/AttachmentUtils.ts +316 -0
  295. package/tests/assets/sdk-r/components/create/override-sdk/widget/CaseHistory/CaseHistory.tsx +5 -5
  296. package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.css +7 -6
  297. package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.tsx +30 -23
  298. package/tests/assets/sdk-r/components/create/override-sdk/widget/Followers/Followers.tsx +2 -4
  299. package/tests/assets/sdk-r/components/create/override-sdk/widget/QuickCreate/QuickCreate.tsx +1 -3
  300. package/tests/assets/sdk-r/components/create/override-sdk/widget/SummaryItem/SummaryItem.css +9 -11
  301. package/tests/assets/sdk-r/components/create/override-sdk/widget/SummaryItem/SummaryItem.tsx +3 -3
  302. package/tests/assets/sdk-r/components/create/override-sdk/widget/SummaryList/SummaryList.tsx +1 -1
  303. package/tests/assets/sdk-r/components/create/override-sdk/widget/ToDo/ToDo.css +1 -13
  304. package/tests/assets/sdk-r/components/create/override-sdk/widget/ToDo/ToDo.tsx +38 -37
  305. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.ts +1 -1
  306. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/demo.stories.tsx +0 -1
  307. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/date.ts +0 -1
  308. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/demo.stories.tsx +0 -16
  309. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/demo.stories.tsx +0 -17
  310. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/demo.stories.tsx +0 -1
  311. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/demo.stories.tsx +0 -1
  312. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/mock.ts +1 -0
  313. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +9 -20
  314. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/demo.stories.tsx +0 -1
  315. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/demo.stories.tsx +0 -1
  316. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/mock.ts +1 -0
  317. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/demo.stories.tsx +1 -2
  318. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/demo.stories.tsx +0 -1
  319. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +0 -1
  320. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +0 -1
  321. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/index.tsx +1 -2
  322. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.ts +0 -2
  323. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/demo.stories.tsx +0 -1
  324. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +7 -2
  325. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/repeat-utils.ts +0 -4
  326. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/demo.stories.tsx +0 -1
  327. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/StatusWork.tsx +0 -1
  328. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/demo.stories.tsx +0 -1
  329. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +0 -1
  330. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/demo.stories.tsx +0 -1
  331. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/Avatar.tsx +0 -1
  332. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/HighlightRender.tsx +0 -1
  333. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/StatusWork.tsx +0 -1
  334. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +10 -0
  335. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/utils.js +0 -2
  336. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/GetNextWork.tsx +0 -1
  337. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/demo.stories.tsx +1 -13
  338. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +0 -1
  339. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +0 -1
  340. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +0 -1
  341. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/mock.ts +0 -1
  342. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +10 -32
  343. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Avatar.tsx +0 -1
  344. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +10 -22
  345. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +0 -2
  346. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +10 -21
  347. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/config.json +0 -1
  348. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +0 -1
  349. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/config.json +0 -1
  350. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/demo.stories.tsx +0 -14
  351. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/config.json +0 -1
  352. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/demo.stories.tsx +0 -24
  353. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/config.json +0 -1
  354. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +0 -24
  355. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/config.json +0 -1
  356. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/demo.stories.tsx +0 -14
  357. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/config.json +0 -1
  358. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/mock.ts +0 -1
  359. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/config.json +0 -1
  360. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +2 -6
  361. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/index.tsx +0 -2
  362. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/mock.ts +0 -1
  363. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/config.json +0 -1
  364. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/config.json +0 -1
  365. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/config.json +0 -1
  366. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/demo.stories.tsx +0 -14
  367. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/config.json +0 -1
  368. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +6 -4
  369. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/mock.ts +0 -1
  370. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/config.json +0 -1
  371. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +0 -1
  372. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/config.json +0 -1
  373. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MySearchbox/config.json +0 -1
  374. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/config.json +0 -1
  375. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/mock.ts +0 -1
  376. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/config.json +0 -1
  377. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/config.json +0 -1
  378. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/config.json +0 -1
  379. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/mock.ts +0 -1
  380. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/config.json +0 -1
  381. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +8 -28
  382. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +10 -11
  383. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/config.json +0 -1
  384. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/demo.stories.tsx +10 -16
  385. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +0 -1
  386. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/OneColumn.tsx +5 -5
  387. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/config.json +0 -1
  388. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/config.json +0 -1
  389. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +8 -28
  390. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +9 -10
  391. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/config.json +0 -1
  392. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +5 -3
  393. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/index.tsx +7 -8
  394. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/config.json +0 -1
  395. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +10 -20
  396. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -3
  397. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/mock.ts +0 -1
  398. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/config.json +0 -1
  399. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +10 -20
  400. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +11 -12
  401. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/config.json +0 -1
  402. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +9 -19
  403. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/index.tsx +3 -3
  404. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Banner/Banner.css +1 -1
  405. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Banner/Banner.tsx +10 -7
  406. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  407. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +53 -37
  408. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/DetailsFields/DetailsFields.tsx +11 -13
  409. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +8 -9
  410. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroupList/FieldGroupList.tsx +9 -9
  411. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +8 -9
  412. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Operator/Operator.tsx +21 -19
  413. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Pulse/Pulse.tsx +1 -1
  414. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +32 -4
  415. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/WssQuickCreate/WssQuickCreate.css +7 -14
  416. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +13 -2
  417. package/tests/assets/sdk-r/components/createAll/override-sdk/field/AutoComplete/AutoComplete.tsx +1 -1
  418. package/tests/assets/sdk-r/components/createAll/override-sdk/field/CancelAlert/CancelAlert.css +4 -4
  419. package/tests/assets/sdk-r/components/createAll/override-sdk/field/CancelAlert/CancelAlert.tsx +7 -10
  420. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +97 -4
  421. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/Currency.tsx +10 -7
  422. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/currency-utils.ts +1 -2
  423. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Date/Date.tsx +8 -8
  424. package/tests/assets/sdk-r/components/createAll/override-sdk/field/DateTime/DateTime.tsx +16 -13
  425. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +10 -7
  426. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Dropdown/Dropdown.tsx +30 -25
  427. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Email/Email.tsx +11 -13
  428. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/Group.tsx +10 -8
  429. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Integer/Integer.tsx +5 -7
  430. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Location/Location.css +4 -0
  431. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Location/Location.tsx +258 -0
  432. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Location/config-ext.json +10 -0
  433. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Location/index.tsx +1 -0
  434. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +1 -1
  435. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/ObjectReference.tsx +235 -0
  436. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/index.tsx +1 -0
  437. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/utils.ts +111 -0
  438. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Percentage/Percentage.tsx +9 -9
  439. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Phone/Phone.tsx +7 -5
  440. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RadioButtons/RadioButtons.tsx +47 -5
  441. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.css +79 -0
  442. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +3 -1
  443. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ScalarList/ScalarList.tsx +2 -4
  444. package/tests/assets/sdk-r/components/createAll/override-sdk/field/SelectableCard/SelectableCard.tsx +175 -0
  445. package/tests/assets/sdk-r/components/createAll/override-sdk/field/SelectableCard/index.tsx +1 -0
  446. package/tests/assets/sdk-r/components/createAll/override-sdk/field/SelectableCard/utils.tsx +223 -0
  447. package/tests/assets/sdk-r/components/createAll/override-sdk/field/SemanticLink/SemanticLink.tsx +160 -28
  448. package/tests/assets/sdk-r/components/createAll/override-sdk/field/SemanticLink/utils.ts +1 -1
  449. package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextArea/TextArea.tsx +5 -7
  450. package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextContent/TextContent.tsx +1 -2
  451. package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextInput/TextInput.tsx +5 -7
  452. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Time/Time.tsx +4 -8
  453. package/tests/assets/sdk-r/components/createAll/override-sdk/field/URL/URL.tsx +5 -7
  454. package/tests/assets/sdk-r/components/createAll/override-sdk/field/UserReference/UserReference.tsx +3 -6
  455. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ActionButtons/ActionButtons.tsx +28 -21
  456. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/Assignment.tsx +38 -35
  457. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/AssignmentCard/AssignmentCard.tsx +2 -2
  458. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +5 -9
  459. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DashboardFilter/filterUtils.tsx +3 -6
  460. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +7 -9
  461. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ErrorBoundary/ErrorBoundary.tsx +1 -3
  462. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/FlowContainer.tsx +21 -113
  463. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/helpers.ts +1 -5
  464. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +4 -3
  465. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +7 -6
  466. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.css +48 -70
  467. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +27 -58
  468. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.css +1 -1
  469. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +31 -30
  470. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Reference/Reference.tsx +3 -4
  471. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Region/Region.tsx +1 -1
  472. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/RootContainer/RootContainer.tsx +3 -4
  473. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/SimpleView/helper.ts +1 -1
  474. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Stages/Stages.tsx +2 -2
  475. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/View/View.tsx +4 -3
  476. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ViewContainer/ViewContainer.tsx +4 -5
  477. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/AdvancedSearch.tsx +86 -0
  478. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/SearchGroup/persistUtils.ts +52 -0
  479. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +244 -0
  480. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/SearchGroups/hooks.ts +37 -0
  481. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/SearchGroups/index.tsx +1 -0
  482. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/SearchGroups/utils.ts +29 -0
  483. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/TemplateContext.ts +11 -0
  484. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/config-ext.json +10 -0
  485. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AdvancedSearch/index.tsx +1 -0
  486. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AppShell/AppShell.css +1 -1
  487. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AppShell/AppShell.tsx +22 -23
  488. package/tests/assets/sdk-r/components/createAll/override-sdk/template/BannerPage/BannerPage.tsx +2 -2
  489. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseSummary/CaseSummary.tsx +28 -41
  490. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseView/CaseView.tsx +31 -38
  491. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
  492. package/tests/assets/sdk-r/components/createAll/override-sdk/template/Confirmation/Confirmation.tsx +3 -4
  493. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/DataReference.tsx +312 -106
  494. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/DataReferenceAdvancedSearchContext.ts +10 -0
  495. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/SearchForm.tsx +149 -0
  496. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/utils.ts +90 -0
  497. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/DefaultForm.tsx +3 -3
  498. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/utils/index.ts +1 -3
  499. package/tests/assets/sdk-r/components/createAll/override-sdk/template/Details/Details.tsx +11 -11
  500. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsSubTabs/DetailsSubTabs.tsx +2 -2
  501. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +11 -11
  502. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +11 -11
  503. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DynamicTabs/DynamicTabs.tsx +1 -2
  504. package/tests/assets/sdk-r/components/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -5
  505. package/tests/assets/sdk-r/components/createAll/override-sdk/template/InlineDashboard/InlineDashboard.tsx +14 -16
  506. package/tests/assets/sdk-r/components/createAll/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +2 -2
  507. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListPage/ListPage.tsx +1 -1
  508. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +285 -204
  509. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/hooks.ts +1 -5
  510. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/utils.ts +38 -6
  511. package/tests/assets/sdk-r/components/createAll/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  512. package/tests/assets/sdk-r/components/createAll/override-sdk/template/NarrowWide/NarrowWide.tsx +5 -5
  513. package/tests/assets/sdk-r/components/createAll/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +11 -11
  514. package/tests/assets/sdk-r/components/createAll/override-sdk/template/NarrowWideForm/NarrowWideForm.tsx +2 -2
  515. package/tests/assets/sdk-r/components/createAll/override-sdk/template/NarrowWidePage/NarrowWidePage.tsx +2 -2
  516. package/tests/assets/sdk-r/components/createAll/override-sdk/template/OneColumn/OneColumn.tsx +7 -7
  517. package/tests/assets/sdk-r/components/createAll/override-sdk/template/OneColumnPage/OneColumnPage.tsx +1 -1
  518. package/tests/assets/sdk-r/components/createAll/override-sdk/template/OneColumnTab/OneColumnTab.tsx +2 -2
  519. package/tests/assets/sdk-r/components/createAll/override-sdk/template/PromotedFilters/PromotedFilters.tsx +1 -3
  520. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SearchGroups/SearchGroups.tsx +244 -0
  521. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SearchGroups/hooks.ts +37 -0
  522. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SearchGroups/index.tsx +1 -0
  523. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SearchGroups/utils.ts +29 -0
  524. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTable/SimpleTable.tsx +2 -5
  525. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +99 -84
  526. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +3 -5
  527. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +10 -2
  528. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SubTabs/SubTabs.tsx +2 -2
  529. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SubTabs/tabUtils.ts +118 -1
  530. package/tests/assets/sdk-r/components/createAll/override-sdk/template/TwoColumn/TwoColumn.tsx +9 -10
  531. package/tests/assets/sdk-r/components/createAll/override-sdk/template/TwoColumnPage/TwoColumnPage.tsx +1 -1
  532. package/tests/assets/sdk-r/components/createAll/override-sdk/template/TwoColumnTab/TwoColumnTab.tsx +9 -10
  533. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrow/WideNarrow.tsx +5 -5
  534. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +11 -11
  535. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrowForm/WideNarrowForm.tsx +2 -2
  536. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrowPage/WideNarrowPage.tsx +2 -2
  537. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WssNavBar/WssNavBar.css +1 -1
  538. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WssNavBar/WssNavBar.tsx +6 -6
  539. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/ActionButtonsForFileUtil/ActionButtonsForFileUtil.css +0 -14
  540. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +3 -3
  541. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/AppAnnouncement/AppAnnouncement.tsx +1 -1
  542. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.css +7 -8
  543. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.tsx +304 -231
  544. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.types.ts +96 -0
  545. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/AttachmentUtils.ts +316 -0
  546. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/CaseHistory/CaseHistory.tsx +5 -5
  547. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.css +7 -6
  548. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +30 -23
  549. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Followers/Followers.tsx +2 -4
  550. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/QuickCreate/QuickCreate.tsx +1 -3
  551. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/SummaryItem/SummaryItem.css +9 -11
  552. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/SummaryItem/SummaryItem.tsx +3 -3
  553. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/SummaryList/SummaryList.tsx +1 -1
  554. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/ToDo/ToDo.css +1 -13
  555. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/ToDo/ToDo.tsx +38 -37
@@ -1,7 +1,12 @@
1
- import { PropsWithChildren, ReactElement, useEffect, useMemo, useState } from 'react';
1
+ import React, { type PropsWithChildren, type ReactElement, useEffect, useMemo, useState } from 'react';
2
2
 
3
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';
4
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
+ import useIsMount from '@pega/react-sdk-components/lib/hooks/useIsMount';
6
+ import componentCachePersistUtils from '@pega/react-sdk-components/lib/components/template/AdvancedSearch/SearchGroup/persistUtils';
7
+ import DataReferenceAdvancedSearchContext from './DataReferenceAdvancedSearchContext';
8
+ import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
9
+ import { getFirstChildConfig } from './utils';
5
10
 
6
11
  // ReferenceProps can't be used until getComponentConfig() is NOT private
7
12
  interface DataReferenceProps extends PConnProps {
@@ -16,6 +21,13 @@ interface DataReferenceProps extends PConnProps {
16
21
  ruleClass: string;
17
22
  parameters: string[]; // need to fix
18
23
  hideLabel: boolean;
24
+ imagePosition: string;
25
+ showImageDescription: string;
26
+ showPromotedFilters: boolean;
27
+ isCreationOfNewRecordAllowedForReference: boolean;
28
+ contextClass: string;
29
+ inline: any;
30
+ selectionList: any;
19
31
  }
20
32
 
21
33
  const SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };
@@ -24,7 +36,7 @@ export default function DataReference(props: PropsWithChildren<DataReferenceProp
24
36
  // Get emitted components from map (so we can get any override that may exist)
25
37
  const SingleReferenceReadonly = getComponentFromMap('SingleReferenceReadOnly');
26
38
  const MultiReferenceReadonly = getComponentFromMap('MultiReferenceReadOnly');
27
-
39
+ const SearchForm = getComponentFromMap('SearchForm');
28
40
  const {
29
41
  children,
30
42
  getPConnect,
@@ -37,8 +49,17 @@ export default function DataReference(props: PropsWithChildren<DataReferenceProp
37
49
  displayAs,
38
50
  ruleClass,
39
51
  parameters,
40
- hideLabel
52
+ hideLabel,
53
+ imagePosition,
54
+ showImageDescription,
55
+ showPromotedFilters,
56
+ isCreationOfNewRecordAllowedForReference,
57
+ contextClass,
58
+ inline,
59
+ selectionList
41
60
  } = props;
61
+
62
+ const isMounted = useIsMount();
42
63
  let childrenToRender = children as ReactElement[];
43
64
  const pConn = getPConnect();
44
65
  const [dropDownDataSource, setDropDownDataSource] = useState(null);
@@ -47,50 +68,82 @@ export default function DataReference(props: PropsWithChildren<DataReferenceProp
47
68
  propsToUse.label = '';
48
69
  }
49
70
  const rawViewMetadata: any = pConn.getRawMetadata();
50
- const viewName = rawViewMetadata.name;
71
+ const refFieldMetadata = pConn.getFieldMetadata(rawViewMetadata.config?.authorContext);
72
+
51
73
  const [firstChildMeta] = rawViewMetadata.children;
52
74
  const refList = rawViewMetadata.config.referenceList;
53
75
  const canBeChangedInReviewMode = allowAndPersistChangesInReviewMode && (displayAs === 'autocomplete' || displayAs === 'dropdown');
54
- let propName;
55
76
  const isDisplayModeEnabled = ['STACKED_LARGE_VAL', 'DISPLAY_ONLY'].includes(displayMode);
77
+ const isDDSourceDeferred =
78
+ (firstChildMeta?.type === 'Dropdown' && selectionMode === SELECTION_MODE.SINGLE && refFieldMetadata?.descriptors) ||
79
+ firstChildMeta.config.deferDatasource;
80
+ const pyID = Utils.getMappedKey('pyID');
81
+ const isInfinity = pyID === 'pyID';
82
+ const { allowImplicitRefresh } = isInfinity
83
+ ? PCore.getFieldDefaultUtils().fieldDefaults.DataReference || {}
84
+ : {
85
+ allowImplicitRefresh: true
86
+ };
87
+
56
88
  let firstChildPConnect;
57
89
 
90
+ const localizedPlaceholderOption = placeholder => {
91
+ const localizedDefaultPlaceholder = pConn.getLocalizedValue('select_placeholder_default', '', 'CosmosFields');
92
+ // If we have a placeholder, push that option in the list of items
93
+ if (placeholder === 'Select...' && localizedDefaultPlaceholder !== 'select_placeholder_default') {
94
+ return localizedDefaultPlaceholder;
95
+ }
96
+ return pConn.getLocalizedValue(placeholder);
97
+ };
98
+
99
+ if (['Dropdown', 'AutoComplete'].includes(firstChildMeta?.type)) {
100
+ firstChildMeta.config.placeholder = localizedPlaceholderOption(firstChildMeta.config.placeholder);
101
+ }
102
+
103
+ if (['Checkbox', 'RadioButtons'].includes(firstChildMeta?.type) && firstChildMeta.config.variant === 'card') {
104
+ firstChildMeta.config.imagePosition = imagePosition;
105
+ firstChildMeta.config.showImageDescription = showImageDescription;
106
+ }
107
+
58
108
  /* Only for dropdown when it has param use data api to get the data back and add it to datasource */
59
109
  useEffect(() => {
60
- if (firstChildMeta?.type === 'Dropdown' && rawViewMetadata.config?.parameters) {
110
+ if (rawViewMetadata.config?.parameters && !isDDSourceDeferred && ['Checkbox', 'Dropdown', 'RadioButtons'].includes(firstChildMeta?.type)) {
61
111
  const { value, key, text } = firstChildMeta.config.datasource.fields;
62
- (
63
- PCore.getDataApiUtils().getData(
64
- refList,
65
- {
66
- dataViewParameters: parameters
67
- } as any,
68
- ''
69
- ) as Promise<any>
70
- )
71
- .then(res => {
72
- if (res.data.data !== null) {
73
- const ddDataSource = res.data.data
74
- .map(listItem => ({
75
- key: listItem[key.split(' .', 2)[1]],
76
- text: listItem[text.split(' .', 2)[1]],
77
- value: listItem[value.split(' .', 2)[1]]
78
- }))
79
- .filter(item => item.key);
80
- // Filtering out undefined entries that will break preview
81
- setDropDownDataSource(ddDataSource);
82
- } else {
83
- const ddDataSource: any = [];
84
- setDropDownDataSource(ddDataSource);
85
- }
86
- })
87
- .catch(err => {
88
- // eslint-disable-next-line no-console
89
- console.error(err?.stack);
90
- return Promise.resolve({
91
- data: { data: [] }
112
+ if (firstChildMeta.config.variant !== 'card' || (firstChildMeta.config.variant === 'card' && !isMounted)) {
113
+ (
114
+ PCore.getDataApiUtils().getData(
115
+ refList,
116
+ {
117
+ dataViewParameters: parameters
118
+ } as any,
119
+ ''
120
+ ) as Promise<any>
121
+ )
122
+ .then(res => {
123
+ if (res.data.data !== null) {
124
+ const ddDataSource = firstChildMeta.config.datasource.filterDownloadedFields
125
+ ? res.data.data
126
+ : res.data.data
127
+ .map(listItem => ({
128
+ key: listItem[key.split(' .', 2)[1]],
129
+ text: listItem[text.split(' .', 2)[1]],
130
+ value: listItem[value.split(' .', 2)[1]]
131
+ }))
132
+ .filter(item => item.key);
133
+ // Filtering out undefined entries that will break preview
134
+ setDropDownDataSource(ddDataSource);
135
+ } else {
136
+ const ddDataSource: any = [];
137
+ setDropDownDataSource(ddDataSource);
138
+ }
139
+ })
140
+ .catch(err => {
141
+ console.error(err?.stack);
142
+ return Promise.resolve({
143
+ data: { data: [] }
144
+ });
92
145
  });
93
- });
146
+ }
94
147
  }
95
148
  }, [firstChildMeta, rawViewMetadata, parameters]);
96
149
 
@@ -116,28 +169,44 @@ export default function DataReference(props: PropsWithChildren<DataReferenceProp
116
169
  if (!canBeChangedInReviewMode) {
117
170
  firstChildMeta.config.displayMode = displayMode;
118
171
  }
119
- if (firstChildMeta.type === 'SimpleTableSelect' && selectionMode === SELECTION_MODE.MULTI) {
120
- propName = PCore.getAnnotationUtils().getPropertyName(firstChildMeta.config.selectionList);
121
- } else {
122
- propName = PCore.getAnnotationUtils().getPropertyName(firstChildMeta.config.value);
123
- }
124
172
  }
125
173
 
126
174
  const handleSelection = event => {
127
175
  const caseKey = pConn.getCaseInfo().getKey();
128
- const refreshOptions = { autoDetectRefresh: true };
129
- if (canBeChangedInReviewMode && pConn.getValue('__currentPageTabViewName', '')) {
130
- // 2nd arg empty string until typedef marked correctly
131
- getPConnect().getActionsApi().refreshCaseView(caseKey, pConn.getValue('__currentPageTabViewName', ''), '', refreshOptions); // 2nd arg empty string until typedef marked correctly
132
- PCore.getDeferLoadManager().refreshActiveComponents(pConn.getContextName());
133
- } else {
134
- const pgRef = pConn.getPageReference().replace('caseInfo.content', '');
135
- getPConnect().getActionsApi().refreshCaseView(caseKey, viewName, pgRef, refreshOptions);
176
+ const refreshOptions: any = { autoDetectRefresh: true };
177
+
178
+ const children: any = pConn.getRawMetadata()?.children;
179
+ if (children?.length > 0 && children[0].config?.value) {
180
+ refreshOptions.propertyName = children[0].config.value;
181
+ refreshOptions.classID = (pConn.getRawMetadata() as any).classID;
136
182
  }
137
183
 
138
- // AutoComplete sets value on event.id whereas Dropdown sets it on event.target.value
139
- const propValue = event?.id || event?.target.value;
140
- if (propValue && canBeChangedInReviewMode && isDisplayModeEnabled) {
184
+ // AutoComplete sets value on event.id whereas Dropdown sets it on event.target.value if event.id is unset
185
+ // When value is empty propValue will be undefined here and no value will be set for the reference
186
+ const propValue = event?.id || event?.target?.value;
187
+ const propName =
188
+ firstChildMeta.type === 'SimpleTableSelect' && selectionMode === SELECTION_MODE.MULTI
189
+ ? PCore.getAnnotationUtils().getPropertyName(firstChildMeta.config.selectionList)
190
+ : PCore.getAnnotationUtils().getPropertyName(firstChildMeta.config.value);
191
+
192
+ const hasAssociatedViewConfigured = rawViewMetadata.children[1].children?.length;
193
+
194
+ if (pConn.getContextName().includes('modal') || pConn.getContextName().includes('workarea')) {
195
+ if (hasAssociatedViewConfigured || allowImplicitRefresh) {
196
+ const pageReference = pConn.getPageReference();
197
+ let pgRef: any = null;
198
+ if (pageReference.startsWith('objectInfo')) {
199
+ pgRef = pageReference.replace('objectInfo.content', '');
200
+ } else {
201
+ pgRef = pageReference.replace('caseInfo.content', '');
202
+ }
203
+ const viewName = rawViewMetadata.name;
204
+ getPConnect()
205
+ .getActionsApi()
206
+ .refreshCaseView(caseKey, viewName, pgRef, refreshOptions)
207
+ .catch(() => {});
208
+ }
209
+ } else if (propValue && canBeChangedInReviewMode && isDisplayModeEnabled) {
141
210
  (PCore.getDataApiUtils().getCaseEditLock(caseKey, '') as Promise<any>).then(caseResponse => {
142
211
  const pageTokens = pConn.getPageReference().replace('caseInfo.content', '').split('.');
143
212
  let curr = {};
@@ -181,81 +250,218 @@ export default function DataReference(props: PropsWithChildren<DataReferenceProp
181
250
  // rerenders without any actual change
182
251
  const recreatedFirstChild = useMemo(() => {
183
252
  const { type, config } = firstChildMeta;
184
- if (firstChildMeta?.type !== 'Region') {
185
- pConn.clearErrorMessages({
186
- // Need to add empty string for category and context to match typdef
187
- property: propName,
188
- category: '',
189
- context: ''
190
- });
191
- if (!canBeChangedInReviewMode && isDisplayModeEnabled && selectionMode === SELECTION_MODE.SINGLE) {
192
- return (
193
- <SingleReferenceReadonly
194
- config={config}
195
- getPConnect={firstChildPConnect}
196
- label={propsToUse.label}
197
- type={type}
198
- displayAs={displayAs}
199
- displayMode={displayMode}
200
- ruleClass={ruleClass}
201
- referenceType={referenceType}
202
- hideLabel={hideLabel}
203
- dataRelationshipContext={rawViewMetadata.config.contextClass && rawViewMetadata.config.name ? rawViewMetadata.config.name : null}
204
- />
205
- );
253
+ if (firstChildMeta?.type === 'Region' && displayAs !== 'advancedSearch') {
254
+ return;
255
+ }
256
+
257
+ if ((displayAs === 'readonly' || isDisplayModeEnabled) && !canBeChangedInReviewMode && selectionMode === SELECTION_MODE.SINGLE) {
258
+ return (
259
+ <SingleReferenceReadonly
260
+ config={config}
261
+ getPConnect={firstChildPConnect}
262
+ label={propsToUse.label}
263
+ type={type}
264
+ displayAs={displayAs}
265
+ displayMode={displayMode}
266
+ ruleClass={ruleClass}
267
+ referenceType={referenceType}
268
+ hideLabel={hideLabel}
269
+ dataRelationshipContext={rawViewMetadata.config.contextClass && rawViewMetadata.config.name ? rawViewMetadata.config.name : null}
270
+ />
271
+ );
272
+ }
273
+
274
+ if ((['readonly', 'readonlyMulti', 'map'].includes(displayAs) || isDisplayModeEnabled) && selectionMode === SELECTION_MODE.MULTI) {
275
+ return (
276
+ <MultiReferenceReadonly
277
+ config={{
278
+ ...firstChildMeta.config,
279
+ localeReference: rawViewMetadata.config.localeReference
280
+ }}
281
+ getPConnect={firstChildPConnect}
282
+ displayAs={displayAs}
283
+ label={propsToUse.label}
284
+ hideLabel={hideLabel}
285
+ displayMode={displayMode}
286
+ />
287
+ );
288
+ }
289
+
290
+ /* Editable variants */
291
+ // Datasource w/ parameters cannot load the dropdown before the parameters
292
+ if (type === 'Dropdown' && dropDownDataSource === null && !isDDSourceDeferred && rawViewMetadata.config?.parameters) {
293
+ return null;
294
+ }
295
+
296
+ if (firstChildMeta.config?.readOnly) {
297
+ delete firstChildMeta.config.readOnly;
298
+ }
299
+
300
+ // 2) Set datasource
301
+ if (
302
+ ['Dropdown', 'Checkbox', 'RadioButtons'].includes(firstChildMeta?.type) &&
303
+ !firstChildMeta.config.deferDatasource &&
304
+ firstChildMeta.config.datasource
305
+ ) {
306
+ firstChildMeta.config.datasource.source =
307
+ (firstChildMeta.config.variant === 'card' && dropDownDataSource) ||
308
+ (firstChildMeta.config.variant !== 'card' && rawViewMetadata.config?.parameters)
309
+ ? dropDownDataSource
310
+ : '@DATASOURCE '.concat(refList).concat('.pxResults');
311
+ } else if (firstChildMeta?.type === 'AutoComplete') {
312
+ firstChildMeta.config.datasource = refList;
313
+
314
+ if (rawViewMetadata.config?.parameters) {
315
+ firstChildMeta.config.parameters = parameters;
206
316
  }
317
+ }
207
318
 
208
- if (isDisplayModeEnabled && selectionMode === SELECTION_MODE.MULTI) {
209
- return <MultiReferenceReadonly config={config} getPConnect={firstChildPConnect} label={propsToUse.label} hideLabel={hideLabel} />;
319
+ // 3) Pass through configs
320
+ if (firstChildMeta.config) {
321
+ firstChildMeta.config.showPromotedFilters = showPromotedFilters;
322
+ if (!canBeChangedInReviewMode) {
323
+ firstChildMeta.config.displayMode = displayMode;
210
324
  }
325
+ }
211
326
 
212
- // In the case of a datasource with parameters you cannot load the dropdown before the parameters
213
- if (type === 'Dropdown' && rawViewMetadata.config?.parameters && dropDownDataSource === null) {
214
- return null;
327
+ // 4) Define field meta
328
+ let fieldMetaData: any = null;
329
+ if (isDDSourceDeferred && !firstChildMeta.config.deferDatasource) {
330
+ fieldMetaData = {
331
+ datasourceMetadata: refFieldMetadata
332
+ };
333
+ if (rawViewMetadata.config?.parameters) {
334
+ fieldMetaData.datasourceMetadata.datasource.parameters = parameters;
215
335
  }
336
+ fieldMetaData.datasourceMetadata.datasource.propertyForDisplayText = firstChildMeta?.config?.datasource?.fields?.text.startsWith('@P')
337
+ ? firstChildMeta?.config?.datasource?.fields?.text?.substring(3)
338
+ : firstChildMeta?.config?.datasource?.fields?.text;
339
+ fieldMetaData.datasourceMetadata.datasource.propertyForValue = firstChildMeta?.config?.datasource?.fields?.value.startsWith('@P')
340
+ ? firstChildMeta?.config?.datasource?.fields?.value?.substring(3)
341
+ : firstChildMeta?.config?.datasource?.fields?.value;
342
+ fieldMetaData.datasourceMetadata.datasource.name = rawViewMetadata.config?.referenceList;
343
+ }
344
+ // @ts-expect-error
345
+ const { disableStartingFieldsForReference = false } = PCore.getEnvironmentInfo().environmentInfoObject?.features?.form || {};
346
+ // @ts-expect-error
347
+ let { isCreateNewReferenceEnabled = false } = PCore.getEnvironmentInfo().environmentInfoObject?.features?.form || {};
216
348
 
217
- return firstChildPConnect().createComponent(
218
- {
219
- type,
220
- config: {
221
- ...config,
222
- required: propsToUse.required,
223
- visibility: propsToUse.visibility,
224
- disabled: propsToUse.disabled,
225
- label: propsToUse.label,
226
- viewName: getPConnect().getCurrentView(),
227
- parameters: rawViewMetadata.config.parameters,
228
- readOnly: false,
229
- localeReference: rawViewMetadata.config.localeReference,
230
- ...(selectionMode === SELECTION_MODE.SINGLE ? { referenceType } : ''),
231
- dataRelationshipContext: rawViewMetadata.config.contextClass && rawViewMetadata.config.name ? rawViewMetadata.config.name : null,
232
- hideLabel,
233
- onRecordChange: handleSelection
234
- }
235
- },
236
- '',
237
- '',
238
- {}
239
- ); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional);
349
+ if (isCreateNewReferenceEnabled) {
350
+ isCreateNewReferenceEnabled = isCreationOfNewRecordAllowedForReference && PCore.getAccessPrivilege().hasCreateAccess(contextClass);
240
351
  }
352
+
353
+ const startingFields: any = {};
354
+ const createNewRecord = () => {
355
+ if (referenceType === 'Case' || firstChildMeta?.config?.referenceType === 'Case') {
356
+ if (!disableStartingFieldsForReference) {
357
+ startingFields.pyAddCaseContextPage = { pyID: pConn.getCaseInfo().getKey()?.split(' ')?.pop() };
358
+ }
359
+ return pConn.getActionsApi().createWork(contextClass, {
360
+ openCaseViewAfterCreate: false,
361
+ startingFields
362
+ });
363
+ }
364
+ if (referenceType === 'Data' || firstChildMeta?.config?.referenceType === 'Data') {
365
+ return getPConnect().getActionsApi().showDataObjectCreateView(contextClass);
366
+ }
367
+ };
368
+
369
+ const additionalInfo = refFieldMetadata?.additionalInformation
370
+ ? {
371
+ content: refFieldMetadata.additionalInformation
372
+ }
373
+ : undefined;
374
+
375
+ const dataReferenceConfigToChild = {
376
+ selectionMode,
377
+ additionalInfo,
378
+ descriptors: selectionMode === SELECTION_MODE.SINGLE ? refFieldMetadata?.descriptors : null,
379
+ datasourceMetadata: fieldMetaData?.datasourceMetadata,
380
+ required: propsToUse.required,
381
+ visibility: propsToUse.visibility,
382
+ disabled: propsToUse.disabled,
383
+ label: propsToUse.label,
384
+ displayAs,
385
+ readOnly: false,
386
+ ...(selectionMode === SELECTION_MODE.SINGLE && {
387
+ referenceType
388
+ }),
389
+ ...(selectionMode === SELECTION_MODE.SINGLE &&
390
+ displayAs === 'advancedSearch' && {
391
+ value: rawViewMetadata.config.value,
392
+ contextPage: rawViewMetadata.config.contextPage
393
+ }),
394
+ ...(selectionMode === SELECTION_MODE.MULTI &&
395
+ displayAs === 'advancedSearch' && {
396
+ selectionList,
397
+ readonlyContextList: rawViewMetadata.config.readonlyContextList
398
+ }),
399
+ dataRelationshipContext: rawViewMetadata.config.contextClass && rawViewMetadata.config.name ? rawViewMetadata.config.name : null,
400
+ hideLabel,
401
+ onRecordChange: handleSelection,
402
+ createNewRecord: isCreateNewReferenceEnabled ? createNewRecord : undefined,
403
+ inline
404
+ };
405
+
406
+ const searchSelectCacheKey = componentCachePersistUtils.getComponentStateKey(getPConnect, rawViewMetadata.config.name);
407
+
408
+ const dataReferenceAdvancedSearchContext = {
409
+ dataReferenceConfigToChild,
410
+ isCreateNewReferenceEnabled,
411
+ disableStartingFieldsForReference,
412
+ pyID,
413
+ searchSelectCacheKey
414
+ };
415
+
416
+ if (displayAs === 'advancedSearch') {
417
+ return (
418
+ <DataReferenceAdvancedSearchContext.Provider value={dataReferenceAdvancedSearchContext}>
419
+ <SearchForm getPConnect={getPConnect} searchSelectCacheKey={searchSelectCacheKey}>
420
+ {children}
421
+ </SearchForm>
422
+ </DataReferenceAdvancedSearchContext.Provider>
423
+ );
424
+ }
425
+
426
+ return firstChildPConnect().createComponent({
427
+ type,
428
+ config: {
429
+ ...getFirstChildConfig({
430
+ firstChildMeta,
431
+ getPConnect,
432
+ rawViewMetadata,
433
+ contextClass,
434
+ dataReferenceConfigToChild,
435
+ isCreateNewReferenceEnabled,
436
+ disableStartingFieldsForReference,
437
+ pyID
438
+ })
439
+ }
440
+ });
241
441
  }, [firstChildMeta.config?.datasource?.source, parameters, dropDownDataSource, propsToUse.required, propsToUse.disabled]);
242
442
 
243
443
  // Only include the views region for rendering when it has content
244
444
  if (firstChildMeta?.type !== 'Region') {
245
445
  const viewsRegion = rawViewMetadata.children[1];
246
446
  if (viewsRegion?.name === 'Views' && viewsRegion.children.length) {
447
+ viewsRegion.children.map(child => {
448
+ child.config.isEmbeddedInDataReference = true;
449
+ return child;
450
+ });
247
451
  childrenToRender = [recreatedFirstChild, ...(children as ReactElement[]).slice(1)];
248
452
  } else {
249
453
  childrenToRender = [recreatedFirstChild];
250
454
  }
455
+ } else if (displayAs === 'advancedSearch') {
456
+ childrenToRender = [recreatedFirstChild];
251
457
  }
252
458
 
253
459
  return childrenToRender.length === 1 ? (
254
460
  (childrenToRender[0] ?? null)
255
461
  ) : (
256
462
  <div>
257
- {childrenToRender.map(child => (
258
- <>{child}</>
463
+ {childrenToRender.map((child, index) => (
464
+ <React.Fragment key={index}>{child}</React.Fragment>
259
465
  ))}
260
466
  </div>
261
467
  );
@@ -0,0 +1,10 @@
1
+ import { createContext } from 'react';
2
+
3
+ const DataReferenceAdvancedSearchContext = createContext({
4
+ disableStartingFieldsForReference: true,
5
+ dataReferenceConfigToChild: {
6
+ selectionMode: 'single'
7
+ }
8
+ });
9
+
10
+ export default DataReferenceAdvancedSearchContext;
@@ -0,0 +1,149 @@
1
+ import { useState } from 'react';
2
+ import { Tab, Tabs, Typography, RadioGroup, FormControlLabel, Radio, MenuItem, Box, TextField } from '@mui/material';
3
+ import Grid2 from '@mui/material/Grid2';
4
+ import { TabContext, TabPanel } from '@mui/lab';
5
+ import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material';
6
+
7
+ import useGetTabsCount from '@pega/react-sdk-components/lib/hooks/useGetTabsCount';
8
+ import { searchtabsClick, getActiveTabId, getFirstVisibleTabId } from '@pega/react-sdk-components/lib/components/template/SubTabs/tabUtils';
9
+ import { getFieldMeta } from './utils';
10
+
11
+ const publishEvent = ({ clearSelections, viewName }) => {
12
+ const payload: any = {};
13
+
14
+ if (clearSelections) {
15
+ payload.clearSelections = clearSelections;
16
+ }
17
+
18
+ if (viewName) {
19
+ payload.viewName = viewName;
20
+ }
21
+
22
+ PCore.getPubSubUtils().publish('update-advanced-search-selections', payload);
23
+ };
24
+
25
+ const checkIfSelectionsExist = getPConnect => {
26
+ const { MULTI } = PCore.getConstants().LIST_SELECTION_MODE;
27
+ const { selectionMode, readonlyContextList, contextPage, contextClass, name } = getPConnect().getConfigProps();
28
+ const isMultiSelectMode = selectionMode === MULTI;
29
+
30
+ const dataRelationshipContext = contextClass && name ? name : null;
31
+
32
+ const { compositeKeys } = getFieldMeta(getPConnect, dataRelationshipContext);
33
+
34
+ let selectionsExist = false;
35
+ if (isMultiSelectMode) {
36
+ selectionsExist = readonlyContextList?.length > 0;
37
+ } else if (contextPage) {
38
+ selectionsExist = compositeKeys?.filter(key => !['', null, undefined].includes(contextPage[key]))?.length > 0;
39
+ }
40
+ return selectionsExist;
41
+ };
42
+
43
+ const SearchForm = props => {
44
+ const { children, getPConnect, searchSelectCacheKey } = props;
45
+
46
+ const deferLoadedTabs = children[2];
47
+ const cache: any = PCore.getNavigationUtils().getComponentCache(searchSelectCacheKey) ?? {};
48
+ const { selectedCategory } = cache;
49
+ const firstTabId = getFirstVisibleTabId(deferLoadedTabs, selectedCategory);
50
+ const [open, setOpen] = useState(false);
51
+ const [currentTabId, setCurrentTabId] = useState(getActiveTabId(deferLoadedTabs.props.getPConnect().getChildren(), firstTabId));
52
+ const [nextTabId, setNextTabId] = useState(null); // State to store the next tab ID
53
+ const { getLocaleValue } = PCore.getLocaleUtils();
54
+
55
+ // @ts-ignore
56
+ const { data: tabData } = useGetTabsCount(deferLoadedTabs, 'searchForm', currentTabId);
57
+
58
+ const handleTabClick = event => {
59
+ const tabId: any = event.target.value;
60
+ const viewName = tabData
61
+ .find(tab => tab.id === currentTabId)
62
+ .getPConnect()
63
+ .getConfigProps().name;
64
+
65
+ if (checkIfSelectionsExist(getPConnect)) {
66
+ setNextTabId(tabId); // Store the next tab ID
67
+ setOpen(true); // Open the dialog
68
+ } else {
69
+ // @ts-ignore
70
+ publishEvent({ viewName, tabId });
71
+ searchtabsClick(tabId, tabData, currentTabId, setCurrentTabId);
72
+ }
73
+ };
74
+
75
+ const clearSelectionAndSwitchTab = () => {
76
+ const viewName = tabData
77
+ .find(tab => tab.id === currentTabId)
78
+ .getPConnect()
79
+ .getConfigProps().name;
80
+ publishEvent({ clearSelections: true, viewName });
81
+ searchtabsClick(nextTabId, tabData, currentTabId, setCurrentTabId);
82
+ setOpen(false);
83
+ };
84
+
85
+ const onDialogClose = () => {
86
+ setOpen(false); // Close the dialog
87
+ };
88
+
89
+ const tabItems = tabData?.filter(tab => tab.visibility()) || [];
90
+ const propsToUse = { ...getPConnect().getInheritedProps() };
91
+
92
+ let searchCategoriesComp;
93
+ if (tabItems.length > 3) {
94
+ searchCategoriesComp = (
95
+ <Grid2 container spacing={2}>
96
+ <TextField value={currentTabId} select onChange={handleTabClick} fullWidth>
97
+ {tabItems.map(tab => (
98
+ <MenuItem key={tab.id} value={tab.id}>
99
+ {tab.name}
100
+ </MenuItem>
101
+ ))}
102
+ </TextField>
103
+ </Grid2>
104
+ );
105
+ } else if (tabItems.length > 1) {
106
+ searchCategoriesComp = (
107
+ <RadioGroup row value={currentTabId} onChange={handleTabClick}>
108
+ {tabItems.map(tab => (
109
+ <FormControlLabel key={tab.id} value={tab.id} control={<Radio />} label={tab.name} />
110
+ ))}
111
+ </RadioGroup>
112
+ );
113
+ }
114
+
115
+ return (
116
+ <Box display='flex' flexDirection='column' gap={2}>
117
+ <Typography variant='h5'>{propsToUse.label}</Typography>
118
+ {searchCategoriesComp}
119
+ <TabContext value={currentTabId}>
120
+ <Tabs style={{ display: 'none' }} value={currentTabId} onChange={(e, newValue) => setCurrentTabId(newValue)}>
121
+ {tabItems.map(tab => (
122
+ <Tab key={tab.id} label={tab.name} value={tab.id} />
123
+ ))}
124
+ </Tabs>
125
+ {tabItems.map(tab => (
126
+ <TabPanel style={{ padding: '0px' }} key={tab.id} value={tab.id}>
127
+ <div className='search-form'>{tab.content}</div>
128
+ </TabPanel>
129
+ ))}
130
+ </TabContext>
131
+ <Dialog open={open} onClose={onDialogClose}>
132
+ <DialogTitle>{getLocaleValue('Discard selections?', 'DataReference')}</DialogTitle>
133
+ <DialogContent>
134
+ <div>{getLocaleValue('When changing search categories, any previous selections will be lost.', 'DataReference')}</div>
135
+ </DialogContent>
136
+ <DialogActions>
137
+ <Button onClick={onDialogClose} variant='outlined' color='primary'>
138
+ {getLocaleValue('Go back', 'ModalContainer')}
139
+ </Button>
140
+ <Button onClick={clearSelectionAndSwitchTab} variant='contained' color='primary'>
141
+ {getLocaleValue('Discard', 'ModalContainer')}
142
+ </Button>
143
+ </DialogActions>
144
+ </Dialog>
145
+ </Box>
146
+ );
147
+ };
148
+
149
+ export default SearchForm;