@pega/react-sdk-components 8.23.10 → 23.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 (558) hide show
  1. package/lib/bridge/Context/StoreContext.d.ts +3 -2
  2. package/lib/bridge/Context/StoreContext.d.ts.map +1 -1
  3. package/lib/bridge/Context/StoreContext.js +2 -3
  4. package/lib/bridge/Context/StoreContext.js.map +1 -1
  5. package/lib/bridge/helpers/sdk_component_map.d.ts +1 -0
  6. package/lib/bridge/helpers/sdk_component_map.d.ts.map +1 -1
  7. package/lib/bridge/helpers/sdk_component_map.js +22 -0
  8. package/lib/bridge/helpers/sdk_component_map.js.map +1 -1
  9. package/lib/bridge/react_pconnect.d.ts.map +1 -1
  10. package/lib/bridge/react_pconnect.js +2 -14
  11. package/lib/bridge/react_pconnect.js.map +1 -1
  12. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +10 -0
  13. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -0
  14. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +19 -0
  15. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -0
  16. package/lib/components/designSystemExtension/AlertBanner/index.d.ts +2 -0
  17. package/lib/components/designSystemExtension/AlertBanner/index.d.ts.map +1 -0
  18. package/lib/components/designSystemExtension/AlertBanner/index.js +2 -0
  19. package/lib/components/designSystemExtension/AlertBanner/index.js.map +1 -0
  20. package/lib/components/designSystemExtension/Banner/Banner.d.ts +15 -1
  21. package/lib/components/designSystemExtension/Banner/Banner.d.ts.map +1 -1
  22. package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
  23. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts +6 -9
  24. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
  25. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +3 -7
  26. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
  27. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.d.ts +4 -10
  28. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.d.ts.map +1 -1
  29. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +1 -8
  30. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
  31. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.d.ts +6 -2
  32. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.d.ts.map +1 -1
  33. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +3 -3
  34. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
  35. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.d.ts +7 -2
  36. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.d.ts.map +1 -1
  37. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +4 -4
  38. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
  39. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.d.ts +7 -2
  40. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.d.ts.map +1 -1
  41. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +3 -3
  42. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
  43. package/lib/components/designSystemExtension/Operator/Operator.d.ts +17 -7
  44. package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
  45. package/lib/components/designSystemExtension/Operator/Operator.js +13 -16
  46. package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
  47. package/lib/components/designSystemExtension/Pulse/Pulse.d.ts +5 -1
  48. package/lib/components/designSystemExtension/Pulse/Pulse.d.ts.map +1 -1
  49. package/lib/components/designSystemExtension/Pulse/Pulse.js +3 -6
  50. package/lib/components/designSystemExtension/Pulse/Pulse.js.map +1 -1
  51. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts +19 -0
  52. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -0
  53. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +77 -0
  54. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -0
  55. package/lib/components/designSystemExtension/RichTextEditor/index.d.ts +2 -0
  56. package/lib/components/designSystemExtension/RichTextEditor/index.d.ts.map +1 -0
  57. package/lib/components/designSystemExtension/RichTextEditor/index.js +2 -0
  58. package/lib/components/designSystemExtension/RichTextEditor/index.js.map +1 -0
  59. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.d.ts +6 -1
  60. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.d.ts.map +1 -1
  61. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +2 -2
  62. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
  63. package/lib/components/field/AutoComplete/AutoComplete.d.ts +15 -1
  64. package/lib/components/field/AutoComplete/AutoComplete.d.ts.map +1 -1
  65. package/lib/components/field/AutoComplete/AutoComplete.js +18 -16
  66. package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
  67. package/lib/components/field/CancelAlert/CancelAlert.d.ts +7 -2
  68. package/lib/components/field/CancelAlert/CancelAlert.d.ts.map +1 -1
  69. package/lib/components/field/CancelAlert/CancelAlert.js +12 -10
  70. package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
  71. package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
  72. package/lib/components/field/Checkbox/Checkbox.js +38 -10
  73. package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
  74. package/lib/components/field/Currency/Currency.d.ts +6 -1
  75. package/lib/components/field/Currency/Currency.d.ts.map +1 -1
  76. package/lib/components/field/Currency/Currency.js +12 -12
  77. package/lib/components/field/Currency/Currency.js.map +1 -1
  78. package/lib/components/field/Currency/currency-utils.d.ts +1 -1
  79. package/lib/components/field/Currency/currency-utils.d.ts.map +1 -1
  80. package/lib/components/field/Currency/currency-utils.js +1 -1
  81. package/lib/components/field/Currency/currency-utils.js.map +1 -1
  82. package/lib/components/field/Date/Date.d.ts +5 -1
  83. package/lib/components/field/Date/Date.d.ts.map +1 -1
  84. package/lib/components/field/Date/Date.js +20 -12
  85. package/lib/components/field/Date/Date.js.map +1 -1
  86. package/lib/components/field/DateTime/DateTime.d.ts +5 -1
  87. package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
  88. package/lib/components/field/DateTime/DateTime.js +16 -10
  89. package/lib/components/field/DateTime/DateTime.js.map +1 -1
  90. package/lib/components/field/Decimal/Decimal.d.ts +8 -1
  91. package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
  92. package/lib/components/field/Decimal/Decimal.js +43 -9
  93. package/lib/components/field/Decimal/Decimal.js.map +1 -1
  94. package/lib/components/field/Dropdown/Dropdown.d.ts.map +1 -1
  95. package/lib/components/field/Dropdown/Dropdown.js +39 -11
  96. package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
  97. package/lib/components/field/Email/Email.d.ts +5 -1
  98. package/lib/components/field/Email/Email.d.ts.map +1 -1
  99. package/lib/components/field/Email/Email.js +7 -5
  100. package/lib/components/field/Email/Email.js.map +1 -1
  101. package/lib/components/field/Integer/Integer.d.ts +5 -1
  102. package/lib/components/field/Integer/Integer.d.ts.map +1 -1
  103. package/lib/components/field/Integer/Integer.js +6 -4
  104. package/lib/components/field/Integer/Integer.js.map +1 -1
  105. package/lib/components/field/Percentage/Percentage.d.ts +5 -1
  106. package/lib/components/field/Percentage/Percentage.d.ts.map +1 -1
  107. package/lib/components/field/Percentage/Percentage.js +6 -4
  108. package/lib/components/field/Percentage/Percentage.js.map +1 -1
  109. package/lib/components/field/Phone/Phone.d.ts +5 -1
  110. package/lib/components/field/Phone/Phone.d.ts.map +1 -1
  111. package/lib/components/field/Phone/Phone.js +10 -7
  112. package/lib/components/field/Phone/Phone.js.map +1 -1
  113. package/lib/components/field/RadioButtons/RadioButtons.d.ts.map +1 -1
  114. package/lib/components/field/RadioButtons/RadioButtons.js +33 -13
  115. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  116. package/lib/components/field/RichText/RichText.d.ts +7 -0
  117. package/lib/components/field/RichText/RichText.d.ts.map +1 -0
  118. package/lib/components/field/RichText/RichText.js +53 -0
  119. package/lib/components/field/RichText/RichText.js.map +1 -0
  120. package/lib/components/field/RichText/index.d.ts +2 -0
  121. package/lib/components/field/RichText/index.d.ts.map +1 -0
  122. package/lib/components/field/RichText/index.js +2 -0
  123. package/lib/components/field/RichText/index.js.map +1 -0
  124. package/lib/components/field/ScalarList/ScalarList.d.ts +13 -0
  125. package/lib/components/field/ScalarList/ScalarList.d.ts.map +1 -0
  126. package/lib/components/field/ScalarList/ScalarList.js +34 -0
  127. package/lib/components/field/ScalarList/ScalarList.js.map +1 -0
  128. package/lib/components/field/ScalarList/index.d.ts +2 -0
  129. package/lib/components/field/ScalarList/index.d.ts.map +1 -0
  130. package/lib/components/field/ScalarList/index.js +2 -0
  131. package/lib/components/field/ScalarList/index.js.map +1 -0
  132. package/lib/components/field/SemanticLink/SemanticLink.d.ts +5 -9
  133. package/lib/components/field/SemanticLink/SemanticLink.d.ts.map +1 -1
  134. package/lib/components/field/SemanticLink/SemanticLink.js +10 -14
  135. package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
  136. package/lib/components/field/SemanticLink/utils.d.ts.map +1 -1
  137. package/lib/components/field/SemanticLink/utils.js.map +1 -1
  138. package/lib/components/field/TextArea/TextArea.d.ts +6 -1
  139. package/lib/components/field/TextArea/TextArea.d.ts.map +1 -1
  140. package/lib/components/field/TextArea/TextArea.js +5 -3
  141. package/lib/components/field/TextArea/TextArea.js.map +1 -1
  142. package/lib/components/field/TextContent/TextContent.d.ts +7 -1
  143. package/lib/components/field/TextContent/TextContent.d.ts.map +1 -1
  144. package/lib/components/field/TextContent/TextContent.js.map +1 -1
  145. package/lib/components/field/TextInput/TextInput.d.ts +6 -1
  146. package/lib/components/field/TextInput/TextInput.d.ts.map +1 -1
  147. package/lib/components/field/TextInput/TextInput.js +24 -5
  148. package/lib/components/field/TextInput/TextInput.js.map +1 -1
  149. package/lib/components/field/Time/Time.d.ts +5 -1
  150. package/lib/components/field/Time/Time.d.ts.map +1 -1
  151. package/lib/components/field/Time/Time.js +14 -8
  152. package/lib/components/field/Time/Time.js.map +1 -1
  153. package/lib/components/field/URL/URL.d.ts +5 -1
  154. package/lib/components/field/URL/URL.d.ts.map +1 -1
  155. package/lib/components/field/URL/URL.js +11 -5
  156. package/lib/components/field/URL/URL.js.map +1 -1
  157. package/lib/components/field/UserReference/UserReference.d.ts +19 -40
  158. package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
  159. package/lib/components/field/UserReference/UserReference.js +16 -45
  160. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  161. package/lib/components/helpers/attachmentHelpers.d.ts +6 -6
  162. package/lib/components/helpers/attachmentHelpers.d.ts.map +1 -1
  163. package/lib/components/helpers/attachmentHelpers.js +2 -2
  164. package/lib/components/helpers/attachmentHelpers.js.map +1 -1
  165. package/lib/components/helpers/auth.d.ts +8 -6
  166. package/lib/components/helpers/auth.d.ts.map +1 -1
  167. package/lib/components/helpers/auth.js +642 -327
  168. package/lib/components/helpers/auth.js.map +1 -1
  169. package/lib/components/helpers/authManager.d.ts +20 -17
  170. package/lib/components/helpers/authManager.d.ts.map +1 -1
  171. package/lib/components/helpers/authManager.js +713 -438
  172. package/lib/components/helpers/authManager.js.map +1 -1
  173. package/lib/components/helpers/case-utils.d.ts +20 -0
  174. package/lib/components/helpers/case-utils.d.ts.map +1 -0
  175. package/lib/components/helpers/case-utils.js +82 -0
  176. package/lib/components/helpers/case-utils.js.map +1 -0
  177. package/lib/components/helpers/common-utils.d.ts +2 -0
  178. package/lib/components/helpers/common-utils.d.ts.map +1 -0
  179. package/lib/components/helpers/common-utils.js +5 -0
  180. package/lib/components/helpers/common-utils.js.map +1 -0
  181. package/lib/components/helpers/config_access.d.ts.map +1 -1
  182. package/lib/components/helpers/config_access.js +28 -98
  183. package/lib/components/helpers/config_access.js.map +1 -1
  184. package/lib/components/helpers/data_page.d.ts.map +1 -1
  185. package/lib/components/helpers/data_page.js.map +1 -1
  186. package/lib/components/helpers/date-format-utils.d.ts +1 -6
  187. package/lib/components/helpers/date-format-utils.d.ts.map +1 -1
  188. package/lib/components/helpers/date-format-utils.js +23 -14
  189. package/lib/components/helpers/date-format-utils.js.map +1 -1
  190. package/lib/components/helpers/event-utils.d.ts +1 -1
  191. package/lib/components/helpers/event-utils.d.ts.map +1 -1
  192. package/lib/components/helpers/event-utils.js.map +1 -1
  193. package/lib/components/helpers/field-group-utils.d.ts +15 -2
  194. package/lib/components/helpers/field-group-utils.d.ts.map +1 -1
  195. package/lib/components/helpers/field-group-utils.js +6 -10
  196. package/lib/components/helpers/field-group-utils.js.map +1 -1
  197. package/lib/components/helpers/formatters/Boolean.d.ts +3 -3
  198. package/lib/components/helpers/formatters/Boolean.d.ts.map +1 -1
  199. package/lib/components/helpers/formatters/Boolean.js.map +1 -1
  200. package/lib/components/helpers/formatters/Currency.d.ts +6 -6
  201. package/lib/components/helpers/formatters/Currency.d.ts.map +1 -1
  202. package/lib/components/helpers/formatters/Currency.js +6 -5
  203. package/lib/components/helpers/formatters/Currency.js.map +1 -1
  204. package/lib/components/helpers/formatters/CurrencyMap.d.ts +881 -1399
  205. package/lib/components/helpers/formatters/CurrencyMap.d.ts.map +1 -1
  206. package/lib/components/helpers/formatters/CurrencyMap.js.map +1 -1
  207. package/lib/components/helpers/formatters/Date.d.ts +4 -4
  208. package/lib/components/helpers/formatters/Date.d.ts.map +1 -1
  209. package/lib/components/helpers/formatters/Date.js +1 -1
  210. package/lib/components/helpers/formatters/Date.js.map +1 -1
  211. package/lib/components/helpers/formatters/common.d.ts +2 -2
  212. package/lib/components/helpers/formatters/common.d.ts.map +1 -1
  213. package/lib/components/helpers/formatters/common.js +4 -5
  214. package/lib/components/helpers/formatters/common.js.map +1 -1
  215. package/lib/components/helpers/formatters/index.d.ts +11 -11
  216. package/lib/components/helpers/formatters/index.d.ts.map +1 -1
  217. package/lib/components/helpers/formatters/index.js.map +1 -1
  218. package/lib/components/helpers/reactContextHelpers.d.ts +3 -2
  219. package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -1
  220. package/lib/components/helpers/reactContextHelpers.js.map +1 -1
  221. package/lib/components/helpers/simpleTableHelpers.d.ts +5 -3
  222. package/lib/components/helpers/simpleTableHelpers.d.ts.map +1 -1
  223. package/lib/components/helpers/simpleTableHelpers.js +10 -5
  224. package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
  225. package/lib/components/helpers/state-utils.d.ts +4 -0
  226. package/lib/components/helpers/state-utils.d.ts.map +1 -0
  227. package/lib/components/helpers/state-utils.js +36 -0
  228. package/lib/components/helpers/state-utils.js.map +1 -0
  229. package/lib/components/helpers/template-utils.d.ts +7 -3
  230. package/lib/components/helpers/template-utils.d.ts.map +1 -1
  231. package/lib/components/helpers/template-utils.js.map +1 -1
  232. package/lib/components/helpers/utils.d.ts +1 -1
  233. package/lib/components/helpers/utils.d.ts.map +1 -1
  234. package/lib/components/helpers/utils.js +9 -3
  235. package/lib/components/helpers/utils.js.map +1 -1
  236. package/lib/components/helpers/versionHelpers.d.ts.map +1 -1
  237. package/lib/components/helpers/versionHelpers.js.map +1 -1
  238. package/lib/components/infra/ActionButtons/ActionButtons.d.ts +6 -13
  239. package/lib/components/infra/ActionButtons/ActionButtons.d.ts.map +1 -1
  240. package/lib/components/infra/ActionButtons/ActionButtons.js +5 -15
  241. package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
  242. package/lib/components/infra/Assignment/Assignment.d.ts +1 -15
  243. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  244. package/lib/components/infra/Assignment/Assignment.js +47 -35
  245. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  246. package/lib/components/infra/AssignmentCard/AssignmentCard.d.ts +8 -14
  247. package/lib/components/infra/AssignmentCard/AssignmentCard.d.ts.map +1 -1
  248. package/lib/components/infra/AssignmentCard/AssignmentCard.js +3 -16
  249. package/lib/components/infra/AssignmentCard/AssignmentCard.js.map +1 -1
  250. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts +1 -21
  251. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
  252. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +53 -52
  253. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
  254. package/lib/components/infra/Containers/FlowContainer/helpers.d.ts +12 -12
  255. package/lib/components/infra/Containers/FlowContainer/helpers.d.ts.map +1 -1
  256. package/lib/components/infra/Containers/FlowContainer/helpers.js +17 -16
  257. package/lib/components/infra/Containers/FlowContainer/helpers.js.map +1 -1
  258. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts +1 -17
  259. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
  260. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +20 -22
  261. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  262. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts +9 -22
  263. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
  264. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +13 -24
  265. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
  266. package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts +9 -19
  267. package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts.map +1 -1
  268. package/lib/components/infra/DashboardFilter/DashboardFilter.js +2 -16
  269. package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
  270. package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
  271. package/lib/components/infra/DashboardFilter/filterUtils.js +1 -1
  272. package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
  273. package/lib/components/infra/DeferLoad/DeferLoad.d.ts +1 -14
  274. package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
  275. package/lib/components/infra/DeferLoad/DeferLoad.js +13 -15
  276. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  277. package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts +5 -12
  278. package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  279. package/lib/components/infra/ErrorBoundary/ErrorBoundary.js +10 -17
  280. package/lib/components/infra/ErrorBoundary/ErrorBoundary.js.map +1 -1
  281. package/lib/components/infra/MultiStep/MultiStep.d.ts +11 -17
  282. package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
  283. package/lib/components/infra/MultiStep/MultiStep.js +6 -20
  284. package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
  285. package/lib/components/infra/NavBar/NavBar.d.ts +8 -16
  286. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  287. package/lib/components/infra/NavBar/NavBar.js +9 -20
  288. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  289. package/lib/components/infra/Reference/Reference.d.ts +1 -18
  290. package/lib/components/infra/Reference/Reference.d.ts.map +1 -1
  291. package/lib/components/infra/Reference/Reference.js +11 -16
  292. package/lib/components/infra/Reference/Reference.js.map +1 -1
  293. package/lib/components/infra/Region/Region.d.ts +4 -7
  294. package/lib/components/infra/Region/Region.d.ts.map +1 -1
  295. package/lib/components/infra/Region/Region.js +0 -4
  296. package/lib/components/infra/Region/Region.js.map +1 -1
  297. package/lib/components/infra/RootContainer/RootContainer.d.ts +1 -21
  298. package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
  299. package/lib/components/infra/RootContainer/RootContainer.js +16 -36
  300. package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
  301. package/lib/components/infra/Stages/Stages.d.ts +5 -8
  302. package/lib/components/infra/Stages/Stages.d.ts.map +1 -1
  303. package/lib/components/infra/Stages/Stages.js +3 -7
  304. package/lib/components/infra/Stages/Stages.js.map +1 -1
  305. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts.map +1 -1
  306. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -1
  307. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.d.ts +4 -10
  308. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  309. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +4 -9
  310. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
  311. package/lib/components/infra/View/View.d.ts +13 -16
  312. package/lib/components/infra/View/View.d.ts.map +1 -1
  313. package/lib/components/infra/View/View.js +10 -55
  314. package/lib/components/infra/View/View.js.map +1 -1
  315. package/lib/components/template/AppShell/AppShell.d.ts +20 -15
  316. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  317. package/lib/components/template/AppShell/AppShell.js +17 -29
  318. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  319. package/lib/components/template/BannerPage/BannerPage.d.ts +11 -23
  320. package/lib/components/template/BannerPage/BannerPage.d.ts.map +1 -1
  321. package/lib/components/template/BannerPage/BannerPage.js +4 -22
  322. package/lib/components/template/BannerPage/BannerPage.js.map +1 -1
  323. package/lib/components/template/CaseSummary/CaseSummary.d.ts +5 -7
  324. package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
  325. package/lib/components/template/CaseSummary/CaseSummary.js +6 -6
  326. package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
  327. package/lib/components/template/CaseView/CaseView.d.ts +10 -22
  328. package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
  329. package/lib/components/template/CaseView/CaseView.js +41 -45
  330. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  331. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts +8 -13
  332. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts.map +1 -1
  333. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +9 -16
  334. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
  335. package/lib/components/template/Confirmation/Confirmation.d.ts +10 -16
  336. package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
  337. package/lib/components/template/Confirmation/Confirmation.js +12 -23
  338. package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
  339. package/lib/components/template/DataReference/DataReference.d.ts +15 -30
  340. package/lib/components/template/DataReference/DataReference.d.ts.map +1 -1
  341. package/lib/components/template/DataReference/DataReference.js +25 -48
  342. package/lib/components/template/DataReference/DataReference.js.map +1 -1
  343. package/lib/components/template/DefaultForm/DefaultForm.d.ts +1 -11
  344. package/lib/components/template/DefaultForm/DefaultForm.d.ts.map +1 -1
  345. package/lib/components/template/DefaultForm/DefaultForm.js +18 -15
  346. package/lib/components/template/DefaultForm/DefaultForm.js.map +1 -1
  347. package/lib/components/template/DefaultForm/utils/index.d.ts +3 -0
  348. package/lib/components/template/DefaultForm/utils/index.d.ts.map +1 -0
  349. package/lib/components/template/DefaultForm/utils/index.js +27 -0
  350. package/lib/components/template/DefaultForm/utils/index.js.map +1 -0
  351. package/lib/components/template/Details/Details/Details.d.ts +1 -16
  352. package/lib/components/template/Details/Details/Details.d.ts.map +1 -1
  353. package/lib/components/template/Details/Details/Details.js +10 -15
  354. package/lib/components/template/Details/Details/Details.js.map +1 -1
  355. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.d.ts +7 -15
  356. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.d.ts.map +1 -1
  357. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +1 -13
  358. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
  359. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.d.ts +1 -16
  360. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.d.ts.map +1 -1
  361. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +14 -16
  362. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
  363. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.d.ts +1 -16
  364. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.d.ts.map +1 -1
  365. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +14 -16
  366. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
  367. package/lib/components/template/Details/DynamicTabs/DynamicTabs.d.ts +4 -0
  368. package/lib/components/template/Details/DynamicTabs/DynamicTabs.d.ts.map +1 -0
  369. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js +56 -0
  370. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js.map +1 -0
  371. package/lib/components/template/Details/DynamicTabs/index.d.ts +2 -0
  372. package/lib/components/template/Details/DynamicTabs/index.d.ts.map +1 -0
  373. package/lib/components/template/Details/DynamicTabs/index.js +2 -0
  374. package/lib/components/template/Details/DynamicTabs/index.js.map +1 -0
  375. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts +12 -19
  376. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  377. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +7 -21
  378. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  379. package/lib/components/template/InlineDashboard/InlineDashboard.d.ts +7 -7
  380. package/lib/components/template/InlineDashboard/InlineDashboard.d.ts.map +1 -1
  381. package/lib/components/template/InlineDashboard/InlineDashboard.js +0 -5
  382. package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
  383. package/lib/components/template/InlineDashboardPage/InlineDashboardPage.d.ts +8 -15
  384. package/lib/components/template/InlineDashboardPage/InlineDashboardPage.d.ts.map +1 -1
  385. package/lib/components/template/InlineDashboardPage/InlineDashboardPage.js +6 -15
  386. package/lib/components/template/InlineDashboardPage/InlineDashboardPage.js.map +1 -1
  387. package/lib/components/template/ListPage/ListPage.d.ts +5 -13
  388. package/lib/components/template/ListPage/ListPage.d.ts.map +1 -1
  389. package/lib/components/template/ListPage/ListPage.js +6 -10
  390. package/lib/components/template/ListPage/ListPage.js.map +1 -1
  391. package/lib/components/template/ListView/DefaultViewMeta.d.ts +1 -90
  392. package/lib/components/template/ListView/DefaultViewMeta.d.ts.map +1 -1
  393. package/lib/components/template/ListView/DefaultViewMeta.js.map +1 -1
  394. package/lib/components/template/ListView/ListView.d.ts +1 -9
  395. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  396. package/lib/components/template/ListView/ListView.js +177 -192
  397. package/lib/components/template/ListView/ListView.js.map +1 -1
  398. package/lib/components/template/ListView/hooks.d.ts.map +1 -1
  399. package/lib/components/template/ListView/hooks.js +0 -1
  400. package/lib/components/template/ListView/hooks.js.map +1 -1
  401. package/lib/components/template/ListView/utils.d.ts +72 -16
  402. package/lib/components/template/ListView/utils.d.ts.map +1 -1
  403. package/lib/components/template/ListView/utils.js +143 -3
  404. package/lib/components/template/ListView/utils.js.map +1 -1
  405. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts +9 -13
  406. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
  407. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js +2 -13
  408. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
  409. package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.d.ts +10 -1
  410. package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.d.ts.map +1 -1
  411. package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.js.map +1 -1
  412. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.d.ts +1 -16
  413. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.d.ts.map +1 -1
  414. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +14 -16
  415. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
  416. package/lib/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.d.ts +5 -1
  417. package/lib/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.d.ts.map +1 -1
  418. package/lib/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.js.map +1 -1
  419. package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.d.ts +7 -14
  420. package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.d.ts.map +1 -1
  421. package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.js +4 -13
  422. package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.js.map +1 -1
  423. package/lib/components/template/OneColumn/OneColumn/OneColumn.d.ts +4 -7
  424. package/lib/components/template/OneColumn/OneColumn/OneColumn.d.ts.map +1 -1
  425. package/lib/components/template/OneColumn/OneColumn/OneColumn.js +0 -5
  426. package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
  427. package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.d.ts +4 -8
  428. package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.d.ts.map +1 -1
  429. package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.js +3 -6
  430. package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.js.map +1 -1
  431. package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.d.ts +4 -7
  432. package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.d.ts.map +1 -1
  433. package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.js +0 -5
  434. package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.js.map +1 -1
  435. package/lib/components/template/PromotedFilters/PromotedFilters.d.ts +1 -15
  436. package/lib/components/template/PromotedFilters/PromotedFilters.d.ts.map +1 -1
  437. package/lib/components/template/PromotedFilters/PromotedFilters.js +17 -13
  438. package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
  439. package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.d.ts.map +1 -1
  440. package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js +57 -5
  441. package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js.map +1 -1
  442. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts +18 -1
  443. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  444. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +6 -6
  445. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  446. package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.d.ts +1 -29
  447. package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.d.ts.map +1 -1
  448. package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.js +22 -28
  449. package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.js.map +1 -1
  450. package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.d.ts +14 -26
  451. package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.d.ts.map +1 -1
  452. package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.js +5 -26
  453. package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.js.map +1 -1
  454. package/lib/components/template/SubTabs/SubTabs.d.ts +4 -10
  455. package/lib/components/template/SubTabs/SubTabs.d.ts.map +1 -1
  456. package/lib/components/template/SubTabs/SubTabs.js +1 -8
  457. package/lib/components/template/SubTabs/SubTabs.js.map +1 -1
  458. package/lib/components/template/SubTabs/tabUtils.d.ts.map +1 -1
  459. package/lib/components/template/SubTabs/tabUtils.js.map +1 -1
  460. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.d.ts +5 -11
  461. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.d.ts.map +1 -1
  462. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +1 -12
  463. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
  464. package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.d.ts +4 -8
  465. package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.d.ts.map +1 -1
  466. package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.js +3 -6
  467. package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.js.map +1 -1
  468. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.d.ts +5 -11
  469. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.d.ts.map +1 -1
  470. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +1 -9
  471. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
  472. package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.d.ts +10 -1
  473. package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.d.ts.map +1 -1
  474. package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.js +1 -1
  475. package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.js.map +1 -1
  476. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.d.ts +1 -16
  477. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.d.ts.map +1 -1
  478. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +31 -23
  479. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
  480. package/lib/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.d.ts +5 -1
  481. package/lib/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.d.ts.map +1 -1
  482. package/lib/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.js.map +1 -1
  483. package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.d.ts +7 -14
  484. package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.d.ts.map +1 -1
  485. package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.js +4 -14
  486. package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.js.map +1 -1
  487. package/lib/components/template/WssNavBar/WssNavBar.d.ts +17 -1
  488. package/lib/components/template/WssNavBar/WssNavBar.d.ts.map +1 -1
  489. package/lib/components/template/WssNavBar/WssNavBar.js +2 -2
  490. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  491. package/lib/components/widget/AppAnnouncement/AppAnnouncement.d.ts +8 -17
  492. package/lib/components/widget/AppAnnouncement/AppAnnouncement.d.ts.map +1 -1
  493. package/lib/components/widget/AppAnnouncement/AppAnnouncement.js +4 -19
  494. package/lib/components/widget/AppAnnouncement/AppAnnouncement.js.map +1 -1
  495. package/lib/components/widget/Attachment/Attachment.css +15 -3
  496. package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
  497. package/lib/components/widget/Attachment/Attachment.js +44 -32
  498. package/lib/components/widget/Attachment/Attachment.js.map +1 -1
  499. package/lib/components/widget/CaseHistory/CaseHistory.d.ts +4 -7
  500. package/lib/components/widget/CaseHistory/CaseHistory.d.ts.map +1 -1
  501. package/lib/components/widget/CaseHistory/CaseHistory.js +4 -8
  502. package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
  503. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts +8 -1
  504. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts.map +1 -1
  505. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
  506. package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts +5 -1
  507. package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
  508. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +33 -23
  509. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
  510. package/lib/components/widget/Followers/Followers.d.ts +4 -5
  511. package/lib/components/widget/Followers/Followers.d.ts.map +1 -1
  512. package/lib/components/widget/Followers/Followers.js +3 -10
  513. package/lib/components/widget/Followers/Followers.js.map +1 -1
  514. package/lib/components/widget/QuickCreate/QuickCreate.d.ts.map +1 -1
  515. package/lib/components/widget/QuickCreate/QuickCreate.js +12 -4
  516. package/lib/components/widget/QuickCreate/QuickCreate.js.map +1 -1
  517. package/lib/components/widget/SummaryItem/SummaryItem.d.ts +7 -1
  518. package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
  519. package/lib/components/widget/SummaryItem/SummaryItem.js +2 -2
  520. package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
  521. package/lib/components/widget/SummaryList/SummaryList.d.ts +7 -1
  522. package/lib/components/widget/SummaryList/SummaryList.d.ts.map +1 -1
  523. package/lib/components/widget/SummaryList/SummaryList.js +5 -2
  524. package/lib/components/widget/SummaryList/SummaryList.js.map +1 -1
  525. package/lib/components/widget/ToDo/ToDo.d.ts +13 -27
  526. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  527. package/lib/components/widget/ToDo/ToDo.js +35 -67
  528. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  529. package/lib/components_map.d.ts +3 -3
  530. package/lib/components_map.d.ts.map +1 -1
  531. package/lib/components_map.js +819 -818
  532. package/lib/components_map.js.map +1 -1
  533. package/lib/doc/KeyReleaseUpdates.md +66 -9
  534. package/lib/hooks/index.d.ts +4 -0
  535. package/lib/hooks/index.d.ts.map +1 -0
  536. package/lib/hooks/index.js +4 -0
  537. package/lib/hooks/index.js.map +1 -0
  538. package/lib/hooks/useAfterInitialEffect.d.ts +9 -0
  539. package/lib/hooks/useAfterInitialEffect.d.ts.map +1 -0
  540. package/lib/hooks/useAfterInitialEffect.js +16 -0
  541. package/lib/hooks/useAfterInitialEffect.js.map +1 -0
  542. package/lib/hooks/useConsolidatedRef.d.ts +9 -0
  543. package/lib/hooks/useConsolidatedRef.d.ts.map +1 -0
  544. package/lib/hooks/useConsolidatedRef.js +30 -0
  545. package/lib/hooks/useConsolidatedRef.js.map +1 -0
  546. package/lib/hooks/useUID.d.ts +8 -0
  547. package/lib/hooks/useUID.d.ts.map +1 -0
  548. package/lib/hooks/useUID.js +14 -0
  549. package/lib/hooks/useUID.js.map +1 -0
  550. package/lib/index.d.ts +1 -0
  551. package/lib/index.d.ts.map +1 -1
  552. package/lib/index.js +2 -1
  553. package/lib/index.js.map +1 -1
  554. package/lib/sdk-pega-component-map.d.ts +17 -1
  555. package/lib/sdk-pega-component-map.js +17 -1
  556. package/lib/sdk-pega-component-map.js.map +1 -1
  557. package/lib/types/PConnProps.d.ts +42 -0
  558. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n/* eslint-disable guard-for-in */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-shadow */\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { Utils } from '../../helpers/utils';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Paper from '@material-ui/core/Paper';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { Radio } from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { filterData } from '../../helpers/simpleTableHelpers';\nimport './ListView.css';\nimport useInit from './hooks'\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\ndeclare const PCore: any;\n\nlet myRows: Array<any>;\nlet myDisplayColumnList: Array<any>;\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: Array<any> = [];\n\nexport default function ListView(props) {\n const { getPConnect, bInForm } = props;\n const { globalSearch, referenceList, rowClickAction, selectionMode, referenceType, payload, parameters, compositeKeys, showDynamicFields, presets } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({ ...props, setListContext, ref, showDynamicFields, xRayUid, cosmosTableRef });\n\n const thePConn = getPConnect();\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps = thePConn.getConfigProps();\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<Array<any>>([]);\n const [arColumns, setColumns] = useState<Array<any>>([]);\n const [response, setResponse] = useState<Array<any>>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState('');\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n let columnList: any = useRef([]);\n let dashboardFilterPayload: any ;\n // Will be sent in the dashboardFilterPayload\n let selectParam: Array<any> = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility fnctions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n // eslint-disable-next-line no-unused-vars\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc'\n ? (a, b) => descendingComparator(a, b, orderedBy)\n : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n // eslint-disable-next-line no-unused-vars\n function stableSort<T>(array: Array<T>, comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields, presetFields) {\n const arReturn = colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = theField;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric =\n field.type === 'Decimal' ||\n field.type === 'Integer' ||\n field.type === 'Percentage' ||\n field.type === 'Currency' ||\n false;\n headerRow.disablePadding = false;\n headerRow.label = presetFields[index].config.label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n return arReturn;\n }\n\n function updateFields(arFields, theColumns): Array<any> {\n const arReturn = arFields.filter(ele => ele.type !== 'reference');\n arReturn.forEach((field, index) => {\n arReturn[index].config.name = theColumns[index].id;\n });\n\n return arReturn;\n }\n\n function getUsingData(arTableData): Array<any> {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n const arReturn = arTableData?.map((data: any) => {\n\n const row = data;\n\n return row;\n });\n\n return arReturn;\n }\n\n function updateData(listData: Array<any>, fieldData: Array<any>): Array<any> {\n const returnList: Array<any> = new Array<any>();\n listData?.forEach(row => {\n // copy\n const rowData = JSON.parse(JSON.stringify(row));\n\n fieldData.forEach(field => {\n const config = field.config;\n let fieldName;\n let formattedDate;\n let myFormat;\n\n switch (field.type) {\n case 'Date':\n fieldName = config.name;\n myFormat = config.formatter;\n if (!myFormat) {\n myFormat = 'Date';\n }\n formattedDate = Utils.generateDate(rowData[fieldName], myFormat);\n\n rowData[fieldName] = formattedDate;\n break;\n\n case 'DateTime':\n fieldName = config.name;\n myFormat = config.formatter;\n if (!myFormat) {\n myFormat = 'DateTime-Long';\n }\n formattedDate = Utils.generateDateTime(rowData[fieldName], myFormat);\n\n rowData[fieldName] = formattedDate;\n break;\n\n default:\n break;\n }\n });\n\n returnList.push(rowData);\n });\n\n return returnList;\n }\n\n function getMyColumnList(arCols: Array<any>): Array<string> {\n const myColList: Array<string> = [];\n\n arCols.forEach(col => {\n myColList.push(col.id);\n });\n\n return myColList;\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n dashboardFilterPayload = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n // eslint-disable-next-line no-unneeded-ternary\n let isDateRange = data.filterExpression?.AND ? true : false;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.length && columnList.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp in filters.current) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n // eslint-disable-next-line no-unneeded-ternary\n isDateRange = filter?.AND ? true : false;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.length && columnList.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${\n index - 1\n }`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n dashboardFilterPayload = undefined;\n fetchDataFromServer();\n }\n\n useEffect(() => {\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n }, []);\n\n function fetchAllData(fields) {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n query = {select: fields};\n } else if (dashboardFilterPayload) {\n query = dashboardFilterPayload.query;\n }\n const context = getPConnect().getContextName();\n return PCore.getDataPageUtils().getDataAsync(\n referenceList,\n context,\n payload ? payload.dataViewParameters : dataViewParameters,\n null,\n query\n );\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (\n fieldDefs,\n itemKey,\n select,\n compositeKeys\n ) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (itemKey && !elementFound && Array.isArray(select) && !(compositeKeys !== null && compositeKeys?.length) && !select.find(sel => sel.field === itemKey)) {\n return [...select, {\n field: itemKey\n }];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // don't update these fields until we return from promise\n let fields = presets[0].children[0].children;\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = workListJSON['data'];\n\n const myColumns = getHeaderCells(columnFields, fieldDefs, fields);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList = colList;\n\n fields = updateFields(fields, myColumns);\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = updateData(usingDataResults, fields);\n myDisplayColumnList = getMyColumnList(myColumns);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: Array<any>) {\n function filterArray(el: any): boolean {\n const bReturn = false;\n for (const key in el) {\n // only search columsn that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (myDisplayColumnList.includes(key)) {\n let myVal = el[key];\n if (myVal !== null) {\n if (typeof myVal !== 'string') {\n myVal = myVal.toString();\n }\n if (myVal.toLowerCase().indexOf(value.toLowerCase()) >= 0) {\n return true;\n }\n }\n }\n }\n\n return bReturn;\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n\n const filteredRows = searchFilter(searchValue, myRows.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget };\n\n thePConn\n .getActionsApi()\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n function _rowClick(row: any) {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (rowClickAction) {\n case 'openAssignment':\n openAssignment(row);\n break;\n\n default:\n break;\n }\n }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] =\n useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (\n filterObj.type === 'Date' ||\n filterObj.type === 'DateTime' ||\n filterObj.type === 'Time'\n ) {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj['containsFilterValue'] !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === menuColumnId) {\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary'\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title ? resolvedConfigProps.title : defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element]\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()\n ?.getListActions?.()\n ?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element]\n });\n reqObj['$selected'] = checked;\n } else {\n reqObj[rowID] = value;\n reqObj['$selected'] = checked;\n }\n getPConnect()\n ?.getListActions()\n ?.setSelectedRows([reqObj]);\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label='Search'\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id=\"search\"\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {bInForm ? (\n <TableContainer className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n sortDirection={orderBy === column.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && (\n <FilterListIcon className={classes.filteredIcon} />\n )}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow\n key={row.pxRefObjectInsName || row.pyID}\n onClick={() => {\n _rowClick(row);\n }}\n >\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell\n key={column.id}\n align={column.align}\n className={classes.cell}\n >\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n >\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </Link>\n ) : (\n <>\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE ||\n selectionMode === SELECTION_MODE.MULTI) && <TableCell></TableCell>}\n {arColumns.map(column => {\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n sortDirection={orderBy === column.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow\n key={row[rowID]}\n onClick={() => {\n _rowClick(row);\n }}\n >\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n ></Radio>\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n value={row[rowID]}\n ></Checkbox>\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n align={column.align}\n >\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && (\n <div className='no-records'>No records found.</div>\n )}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu\n id='simple-menu'\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={_menuClose}\n >\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select\n fullWidth\n onChange={_dialogContainsFilter}\n value={displayDialogContainsFilter}\n >\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n\nListView.defaultProps = {\n};\n\nListView.propTypes = {\n getPConnect: PropTypes.func.isRequired\n};\n"]}
1
+ {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,iCAAiC;AACjC,4DAA4D;AAC5D,iDAAiD;AACjD,8BAA8B;AAC9B,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,gBAAgB,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,+DAA+D;AAE/D,sEAAsE;AACtE,+CAA+C;AAC/C,wEAAwE;AACxE,uBAAuB;AACvB,4BAA4B;AAC5B,gCAAgC;AAChC,0BAA0B;AAC1B,4BAA4B;AAC5B,4BAA4B;AAC5B,mBAAmB;AACnB,sBAAsB;AACtB,yBAAyB;AACzB,iCAAiC;AACjC,kBAAkB;AAClB,IAAI;AAEJ,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAK5D,IAAI,MAAkB,CAAC;AACvB,IAAI,mBAA+B,CAAC;AAEpC,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,IAAI,eAAe,GAAG,EAAE,CAAC;AAEzB,IAAI,YAAiB,CAAC;AAEtB,MAAM,eAAe,GAAe,EAAE,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,CAAC,qBAAqB;IAC1D,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,EACJ,YAAY,EACZ,aAAa;IACb,qBAAqB;IACrB,aAAa,EACb,aAAa,EACb,OAAO,EACP,UAAU,EACV,aAAa,EACb,iBAAiB,EAClB,GAAG,KAAK,CAAC;IACV,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IAC/B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC;IAChC,yBAAyB;IACzB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAErC,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACtD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEtD,6FAA6F;IAC7F,MAAM,QAAQ,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE9D,uFAAuF;IACvF,MAAM,KAAK,GAAG,aAAa,IAAI,aAAa,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IAEzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IAEtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvD,2DAA2D;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAE3B,4DAA4D;IAC5D,MAAM,UAAU,GAAQ,MAAM,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,aAAa,GAAQ,MAAM,EAAE,CAAC;IACpC,6CAA6C;IAC7C,IAAI,WAAW,GAAe,EAAE,CAAC;IAEjC,+CAA+C;IAC/C,8GAA8G;IAC9G,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAEtC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAY,EAAE,EAAE,CAC5C,YAAY,CAAC;QACX,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;SACd;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE;YACR,aAAa,EAAE,QAAQ;SACxB;QACD,YAAY,EAAE;YACZ,aAAa,EAAE,QAAQ;SACxB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,QAAQ;SACrB;QACD,cAAc,EAAE;YACd,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC,CAAC;YACV,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,CAAC;SACT;QACD,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7B;KACF,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,iBAAiB,GAAG,CAAC,KAAgC,EAAE,QAAmB,EAAE,EAAE;QAClF,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC;QACtD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,EAAE,CAAC,CAAC,KAAgC,EAAE,EAAE;QACtF,YAAY,GAAG,QAAQ,CAAC;QACxB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,SAAS,oBAAoB,CAAI,CAAI,EAAE,CAAI,EAAE,SAAkB;QAC7D,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE;YAC/B,OAAO,CAAC,CAAC,CAAC;SACX;QACD,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE;YAC/B,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAID,SAAS,aAAa,CACpB,QAAe,EACf,SAAc;IACd,0CAA0C;;QAE1C,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAClI,CAAC;IAED,0CAA0C;IAC1C,SAAS,UAAU,CAAI,KAAe,EAAE,UAAkC;QACxE,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAgB,CAAC,CAAC;QAC5E,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,OAAe,EAAE,EAAE;QAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,KAA0C,EAAE,EAAE;QAC7E,cAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IACnE,SAAS,cAAc,CAAC,SAAS,EAAE,MAAM;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,KAAK,EAAE,EAAE;YACnD,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAClC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;YACjD,MAAM,SAAS,GAAQ,EAAE,CAAC;YAC1B,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5B,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;YACxC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC;YAC9I,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YACtC,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;gBACjB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;aAC9C;YACD,IAAI,aAAa,EAAE;gBACjB,SAAS,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3E,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE;oBACzC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;iBAChC;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,YAAY,CAAC,WAAW;QAC/B,IAAI,aAAa,KAAK,cAAc,CAAC,MAAM,IAAI,aAAa,KAAK,cAAc,CAAC,KAAK,EAAE;YACrF,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE;gBAC9E,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;aAC/F;SACF;QACD,MAAM,QAAQ,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC;YAEjB,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,eAAe,CAAC,MAAkB;QACzC,MAAM,SAAS,GAAkB,EAAE,CAAC;QAEpC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iDAAiD;IACjD,SAAS,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK;QACnD,IAAI,UAAU,CAAC;QACf,IAAI,SAAS,EAAE;YACb,UAAU,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;SAClD;aAAM;YACL,UAAU,GAAG,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;SAC1C;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,SAAS,mBAAmB,CAAC,IAAI;QAC/B,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAC5C,IAAI,sBAAsB,GAAQ;YAChC,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX;SACF,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;QAC7C,+CAA+C;QAC/C,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,mGAAmG;QACnG,MAAM,YAAY,GAAG,KAAK,CAAC;QAE3B,IAAI,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAC9D,WAAW,GAAG,EAAE,CAAC;QACjB,mFAAmF;QACnF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAC1G,OAAO;SACR;QACD,4GAA4G;QAC5G,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,qFAAqF;QACrF,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,wDAAwD;YACxD,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,uCAAuC;gBACvC,SAAS;aACV;YAED,gDAAgD;YAChD,+CAA+C;YAC/C,WAAW,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEhD,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;gBACtE,uCAAuC;gBACvC,SAAS;aACV;YACD,wFAAwF;YACxF,WAAW,GAAG,IAAI,CAAC;YACnB;;eAEG;YACH,IAAI,WAAW,EAAE;gBACf,MAAM,gBAAgB,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpD,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG;oBACrD,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB;oBACvD,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;oBACzD,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;iBAC1D,CAAC;gBACF,IAAI,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC7C,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,MACtG,KAAK,GAAG,CACV,IAAI,gBAAgB,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;iBACvC;qBAAM;oBACL,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,IAAI,YAAY,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;iBAC7F;gBAED,sBAAsB,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;aACnD;iBAAM;gBACL,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG;oBACrD,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB;oBACvD,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;iBAC3D,CAAC;gBAEF,IAAI,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC7C,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;iBAC1H;qBAAM;oBACL,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;iBAC7D;gBAED,sBAAsB,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;aACnD;SACF;QAED,mFAAmF;QACnF,IAAI,CAAC,WAAW,EAAE;YAChB,sBAAsB,GAAG,SAAS,CAAC;SACpC;QACD,aAAa,CAAC,OAAO,GAAG,sBAAsB,CAAC;QAC/C,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAED,gEAAgE;IAChE,SAAS,kBAAkB;QACzB,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;QAClC,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAED,SAAS,YAAY,CAAC,MAAM;QAC1B,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,IAAI,OAAO,EAAE;YACX,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;SACvB;aAAM,IAAI,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAC7C,IAAI,aAAa,CAAC,OAAO,EAAE;gBACzB,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAC1E;iBAAM;gBACL,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;aAC5B;SACF;aAAM,IAAI,aAAa,CAAC,OAAO,EAAE;YAChC,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;SACtC;QACD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;QAC/C,2FAA2F;QAC3F,OAAO,CAAC,OAAO;YACb,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;YACzD,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5I,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,EAAE;QAClF,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,EAAE;YACT,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB,CAAC,CAAC;SACJ;aAAM;YACL,8FAA8F;YAC9F,0FAA0F;YAC1F,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE;oBACnD,UAAU,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE,KAAK,CAAC,IAAI;qBAClB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;YACH,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;oBAC1C,UAAU,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE,CAAC;qBACT,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;QAED,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;gBAC1C,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAElD,IACE,OAAO;YACP,CAAC,YAAY;YACb,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACrB,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,aAAa,EAAE,MAAM,CAAC;YAClD,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,EAC5C;YACA,OAAO;gBACL,GAAG,MAAM;gBACT;oBACE,KAAK,EAAE,OAAO;iBACf;aACF,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,UAAU,mBAAmB;QAChC,IAAI,mBAAmB,GAAG,IAAI,CAAC;QAC/B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACtD,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAEpD,oGAAoG;QACpG,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAErE,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAErF,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAQ,EAAE,CAAC;QAE7B,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC,EAAE;aACjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAE7B,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAE9B,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAExD,qDAAqD;QACrD,MAAM,GAAG,gBAAgB,CAAC;QAC1B,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAEjD,wEAAwE;QACxE,iDAAiD;QACjD,IAAI,mBAAmB,EAAE;YACvB,OAAO,CAAC,MAAM,CAAC,CAAC;YAChB,UAAU,CAAC,SAAS,CAAC,CAAC;SACvB;QAED,OAAO,GAAG,EAAE;YACV,wEAAwE;YACxE,uEAAuE;YACvE,qEAAqE;YACrE,wBAAwB;YACxB,yEAAyE;YACzE,kFAAkF;YAClF,mBAAmB,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,IAAI,EAAE;YACpB,mBAAmB,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,CAC9B,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,6BAA6B,EACjE,CAAC,IAAI,EAAE,EAAE;oBACP,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,EACD,uBAAuB,IAAI,EAAE,EAC7B,KAAK,EACL,WAAW,EAAE,CAAC,cAAc,EAAE,CAC/B,CAAC;gBACF,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,CAC9B,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,gCAAgC,EACpE,GAAG,EAAE;oBACH,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;oBACrB,kBAAkB,EAAE,CAAC;gBACvB,CAAC,EACD,uBAAuB,IAAI,EAAE,EAC7B,KAAK,EACL,WAAW,EAAE,CAAC,cAAc,EAAE,CAC/B,CAAC;YACJ,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;QAED,OAAO,SAAS,oBAAoB;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAChC,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,6BAA6B,EACjE,uBAAuB,IAAI,EAAE,EAC7B,KAAK,EACL,WAAW,EAAE,CAAC,cAAc,EAAE,CAC/B,CAAC;YACF,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAChC,KAAK,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,gCAAgC,EACpE,uBAAuB,IAAI,EAAE,EAC7B,KAAK,EACL,WAAW,EAAE,CAAC,cAAc,EAAE,CAC/B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,SAAS,YAAY,CAAC,KAAa,EAAE,IAAgB;QACnD,SAAS,WAAW,CAAC,EAAO;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE;gBACpB,mHAAmH;gBACnH,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACrC,IAAI,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,KAAK,KAAK,IAAI,EAAE;wBAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;4BAC7B,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;yBAC1B;wBACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;4BACzD,OAAO,IAAI,CAAC;yBACb;qBACF;iBACF;aACF;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,SAAS,CAAC,KAAU;QAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAEvC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAE/D,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,SAAS,CAAC,OAAe;QAChC,MAAM,UAAU,GAAG,eAAe,OAAO,EAAE,CAAC;QAC5C,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,cAAc,CAAC,GAAG;QACzB,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAE5D,QAAQ;aACL,aAAa,EAAE;aACf,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC;aACnD,IAAI,CAAC,GAAG,EAAE;YACT,4CAA4C;QAC9C,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iCAAiC;IACjC,wDAAwD;IACxD,8BAA8B;IAC9B,6BAA6B;IAC7B,6BAA6B;IAC7B,eAAe;IAEf,eAAe;IACf,eAAe;IACf,MAAM;IACN,IAAI;IAEJ,SAAS,QAAQ,CAAC,GAAG;QACnB,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC;QAC/B,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,UAAU,CAAC;QAChE,IAAI,gBAAgB,KAAK,EAAE,IAAI,cAAc,KAAK,EAAE,EAAE;YACpD,QAAQ,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,SAAS,mBAAmB,CAAC,KAA8C,EAAE,MAAe;QAC1F,IAAI,MAAM,KAAK,WAAW,EAAE;YAC1B,OAAO;SACR;QACD,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,UAAU,CAAC,KAAK,EAAE,QAAgB,EAAE,UAAkB,EAAE,KAAa;QAC5E,YAAY,GAAG,QAAQ,CAAC;QACxB,cAAc,GAAG,UAAU,CAAC;QAC5B,eAAe,GAAG,KAAK,CAAC;QAExB,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,UAAU;QACjB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAU,CAAC;IACnD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,CAAC;IAC/D,6EAA6E;IAC7E,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACnF,MAAM,CAAC,2BAA2B,EAAE,8BAA8B,CAAC,GAAG,QAAQ,CAAS,UAAU,CAAC,CAAC;IACnG,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACzF,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAS,UAAU,CAAC,CAAC;IAC3F,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEjF,SAAS,WAAW;QAClB,WAAW,CAAC,IAAI,CAAC,CAAC;QAElB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;YACvC,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,EAAE;gBAClC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC7B,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC3F,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC9B,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACrD,yBAAyB,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;iBAC1D;qBAAM;oBACL,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,8BAA8B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACzD,6BAA6B,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;iBAC9D;gBACD,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;SACF;QAED,IAAI,CAAC,MAAM,EAAE;YACX,WAAW,CAAC,eAAe,CAAC,CAAC;YAC7B,0BAA0B,CAAC,YAAY,CAAC,CAAC;YACzC,6BAA6B,CAAC,EAAE,CAAC,CAAC;YAElC,QAAQ,cAAc,EAAE;gBACtB,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU,CAAC;gBAChB,KAAK,MAAM;oBACT,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,aAAa,CAAC,cAAc,CAAC,CAAC;oBAC9B,MAAM;gBACR;oBACE,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,MAAM;aACT;SACF;QAED,cAAc;QACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,UAAU;QACjB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,YAAY;QACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,SAAS,iBAAiB,CAAC,QAAQ;QACjC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;YACvC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;gBACjC,gEAAgE;gBAChE,IAAI,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE;oBAC3C,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;YACvC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,YAAY,EAAE;gBACrC,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;gBAC/B,IAAI,kBAAkB,EAAE;oBACtB,SAAS,CAAC,gBAAgB,CAAC,GAAG,uBAAuB,CAAC;oBACtD,SAAS,CAAC,qBAAqB,CAAC,GAAG,sBAAsB,CAAC;iBAC3D;qBAAM;oBACL,SAAS,CAAC,gBAAgB,CAAC,GAAG,2BAA2B,CAAC;oBAC1D,SAAS,CAAC,qBAAqB,CAAC,GAAG,0BAA0B,CAAC;iBAC/D;gBACD,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;SACF;QAED,IAAI,CAAC,MAAM,EAAE;YACX,SAAS;YACT,MAAM,SAAS,GAAQ,EAAE,CAAC;YAC1B,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC;YAC7B,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;YAC/B,IAAI,kBAAkB,EAAE;gBACtB,SAAS,CAAC,gBAAgB,CAAC,GAAG,uBAAuB,CAAC;gBACtD,SAAS,CAAC,qBAAqB,CAAC,GAAG,sBAAsB,CAAC;aAC3D;iBAAM;gBACL,SAAS,CAAC,gBAAgB,CAAC,GAAG,2BAA2B,CAAC;gBAC1D,SAAS,CAAC,qBAAqB,CAAC,GAAG,0BAA0B,CAAC;aAC/D;YAED,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;IACH,CAAC;IAED,SAAS,iBAAiB;QACxB,wBAAwB;QACxB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAE7B,oCAAoC;QACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAEtD,mCAAmC;QACnC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAK;QAClC,6CAA6C;QAC7C,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAK;QACjC,4CAA4C;QAC5C,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAK;QAC9B,yCAAyC;QACzC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAK;QAC7B,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,aAAa;QACpB,oBAAoB,EAAE,CAAC;QACvB,iBAAiB,EAAE,CAAC;QAEpB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,SAAS,WAAW,CAAC,IAAI,EAAE,GAAG;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC;QAC3D,QAAQ,IAAI,EAAE;YACZ,KAAK,aAAa;gBAChB,IAAI,gBAAgB,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE;oBAC9C,OAAO,GAAG,IAAI,CAAC;iBAChB;gBACD,MAAM;YAER,KAAK,oBAAoB;gBACvB,IAAI,gBAAgB,KAAK,EAAE,IAAI,cAAc,KAAK,EAAE,EAAE;oBACpD,OAAO,GAAG,IAAI,CAAC;iBAChB;gBACD,MAAM;YAER;gBACE,MAAM;SACT;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;YAC3B,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;YACvB,IAAI,MAAM,CAAC,aAAa,EAAE;gBACxB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,QAAQ,GAAG,GAAG,CAAC,GAAG,mBAAmB,WAAW,CAAC,CAAC;aACnD;YACD,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBAC3B,QAAQ,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;oBAC5D,aAAa,EAAE,SAAS;oBACxB,WAAW,EAAE,EAAE;iBAChB,CAAC,CAAC;aACJ;iBAAM;gBACL,QAAQ,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aACjE;SACF;aAAM;YACL,QAAQ,IAAI,EAAE;gBACZ,KAAK,aAAa;oBAChB,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpB,MAAM;gBAER,KAAK,oBAAoB;oBACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM;gBAER;oBACE,MAAM;aACT;SACF;IACH,CAAC;IAED,SAAS,UAAU;QACjB,MAAM,YAAY,GAAG,MAAM,CAAC;QAC5B,IAAI,KAAK,GAAG,mBAAmB,CAAC,KAAK,IAAI,mBAAmB,EAAE,KAAK,IAAI,YAAY,CAAC;QACpF,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAE/D,8EAA8E;QAC9E,iDAAiD;QACjD,IAAI,KAAK,KAAK,YAAY,IAAI,cAAc,EAAE;YAC5C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBAC1C,IAAI,aAAa,EAAE,IAAI,KAAK,OAAO,EAAE;oBACnC,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;oBAC7B,MAAM;iBACP;aACF;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,KAA0C,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;YACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChC,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;SACvB;QACD,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;YACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChC,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;SAC/B;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YACtB,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;SAC/B;QACD,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,GAAG,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,iBAAiB,CAAC;QACtB,IAAI,SAAS,CAAC;QACd,IAAI,kBAAkB,CAAC;QACvB,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;gBACxC,SAAS,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,oBAAoB,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/H,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxD,MAAM;YAER,KAAK,UAAU;gBACb,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClF,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBACrD,MAAM;YAER;gBACE,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACnF;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,CACL;QACG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,oBAAC,KAAK,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK;YAC7B,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,aAAa,EAAC,YAAY,UAChF,UAAU,EAAE,CACF;YACZ,YAAY,IAAI,CACf,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAC,UAAU,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM;gBACzE,oBAAC,IAAI,IAAC,IAAI;oBACR,oBAAC,UAAU,OAAG,CACT;gBACP,oBAAC,IAAI,IAAC,IAAI;oBACR,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAChE,SAAS,QACT,OAAO,EAAC,UAAU,EAClB,WAAW,EAAC,EAAE,EACd,IAAI,EAAC,OAAO,EACZ,EAAE,EAAC,QAAQ,EACX,QAAQ,EAAE,SAAS,GACnB,CACG,CACF,CACR;YACD,0CACG,CAAC,OAAO,CAAC,CAAC,CAAC,CACV,oBAAC,cAAc,IAAC,EAAE,EAAC,WAAW,EAAC,SAAS,EAAE,OAAO,CAAC,WAAW;gBAC3D,oBAAC,KAAK,IAAC,YAAY,sBAAY,cAAc;oBAC3C,oBAAC,SAAS;wBACR,oBAAC,QAAQ,QACN,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;4BACxB,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;gCACtG,oBAAC,cAAc,IACb,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,EAAE,EAC7B,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAChD,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;oCAEpC,MAAM,CAAC,KAAK;oCACZ,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,oBAAC,cAAc,IAAC,SAAS,EAAE,OAAO,CAAC,YAAY,GAAI;oCACnF,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvB,8BAAM,SAAS,EAAE,OAAO,CAAC,cAAc,IAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAQ,CAC9G,CAAC,CAAC,CAAC,IAAI,CACO;gCACjB,oBAAC,QAAQ,IACP,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wCACjB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oCAC1D,CAAC,GACD,CACQ,CACb,CAAC;wBACJ,CAAC,CAAC,CACO,CACD;oBACZ,oBAAC,SAAS,QACP,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;yBAC/C,KAAK,CAAC,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC;yBAC3D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACX,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,IAAI,IAC9C,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;4BACxB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAC7B,OAAO,CACL,oBAAC,SAAS,IAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,IACpE,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CACrD,oBAAC,IAAI,IACH,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;oCACZ,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gCAC9B,CAAC,IAEA,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACrE,CACR,CAAC,CAAC,CAAC,CACF,0CAAG,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAI,CACjF,CACS,CACb,CAAC;wBACJ,CAAC,CAAC,CACO,CACZ,CAAC;oBACJ,CAAC,CAAC,CACM,CACN,CACO,CAClB,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,IAAC,EAAE,EAAC,WAAW;gBAC5B,oBAAC,KAAK;oBACJ,oBAAC,SAAS;wBACR,oBAAC,QAAQ;4BACN,CAAC,aAAa,KAAK,cAAc,CAAC,MAAM,IAAI,aAAa,KAAK,cAAc,CAAC,KAAK,CAAC,IAAI,oBAAC,SAAS,OAAa;4BAC9G,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gCACxB,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;oCACtG,oBAAC,cAAc,IACb,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,EAAE,EAC7B,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAChD,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;wCAEpC,MAAM,CAAC,KAAK;wCACZ,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvB,8BAAM,SAAS,EAAE,OAAO,CAAC,cAAc,IAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAQ,CAC9G,CAAC,CAAC,CAAC,IAAI,CACO,CACP,CACb,CAAC;4BACJ,CAAC,CAAC,CACO,CACD;oBACZ,oBAAC,SAAS,QACP,MAAM;wBACL,MAAM,CAAC,MAAM,GAAG,CAAC;wBACjB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;6BAC9C,KAAK,CAAC,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC;6BAC3D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;4BACX,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;gCACtB,aAAa,KAAK,cAAc,CAAC,MAAM,IAAI,CAC1C,oBAAC,SAAS;oCACR,oBAAC,KAAK,IACJ,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EACjB,IAAI,EAAC,eAAe,EACpB,UAAU,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,EACjC,OAAO,EAAE,aAAa,KAAK,GAAG,CAAC,KAAK,CAAC,GAC9B,CACC,CACb;gCACA,aAAa,KAAK,cAAc,CAAC,KAAK,IAAI,CACzC,oBAAC,SAAS;oCACR,oBAAC,QAAQ,IAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAa,CACzD,CACb;gCACA,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oCACxB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oCAC7B,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IACpE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CACxB,CACb,CAAC;gCACJ,CAAC,CAAC,CACO,CACZ,CAAC;wBACJ,CAAC,CAAC,CACI,CACN;gBACP,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,6BAAK,SAAS,EAAC,YAAY,wBAAwB,CACtE,CAClB,CACA;YACF,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,oBAAC,eAAe,IACd,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EACjC,SAAS,EAAC,KAAK,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,gBAAgB,EAC9B,mBAAmB,EAAE,uBAAuB,GAC5C,CACH,CACK,CACT;QACD,oBAAC,IAAI,IAAC,EAAE,EAAC,aAAa,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,QAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU;YACjG,oBAAC,QAAQ,IAAC,OAAO,EAAE,WAAW;gBAC5B,oBAAC,cAAc,OAAG;0BACT;YACX,oBAAC,QAAQ,IAAC,OAAO,EAAE,UAAU;gBAC3B,oBAAC,WAAW,OAAG;yBACN,CACN;QACP,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,qBAAkB,mBAAmB;YAC5E,oBAAC,WAAW,IAAC,EAAE,EAAC,mBAAmB;;gBAAU,QAAQ,CAAe;YACpE,oBAAC,aAAa,QACX,kBAAkB,CAAC,CAAC,CAAC,CACpB;gBACE,oBAAC,MAAM,IAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS;oBAC5E,oBAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,sBAA2B;oBACrD,oBAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,YAAiB;oBACxC,oBAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,aAAkB;oBAC1C,oBAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,cAAmB;oBACzC,oBAAC,QAAQ,IAAC,KAAK,EAAC,SAAS,kBAAuB,CACzC;gBACR,UAAU,KAAK,MAAM,IAAI,CACxB,oBAAC,SAAS,IACR,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,QACT,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,GAC1B,CACH;gBACA,UAAU,KAAK,UAAU,IAAI,CAC5B,oBAAC,SAAS,IACR,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,gBAAgB,EACrB,SAAS,QACT,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,GAC1B,CACH;gBACA,UAAU,KAAK,MAAM,IAAI,CACxB,oBAAC,SAAS,IACR,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,QACT,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,GAC1B,CACH,CACA,CACJ,CAAC,CAAC,CAAC,CACF;gBACE,oBAAC,MAAM,IAAC,SAAS,QAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,2BAA2B;oBACnF,oBAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,eAAoB;oBAC9C,oBAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,aAAkB;oBAC1C,oBAAC,QAAQ,IAAC,KAAK,EAAC,YAAY,kBAAuB,CAC5C;gBACT,oBAAC,SAAS,IACR,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,QACT,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,oBAAoB,GAC9B,CACD,CACJ,CACa;YAChB,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,WAAW,aAEvC;gBACT,oBAAC,MAAM,IAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAC,SAAS,aAEtC,CACK,CACT;QAET,oBAAC,QAAQ,IACP,IAAI,EAAE,YAAY,EAClB,gBAAgB,EAAE,IAAI,EACtB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,eAAe,EACxB,MAAM,EACJ,oBAAC,UAAU,IAAC,IAAI,EAAC,OAAO,gBAAY,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,mBAAmB;gBACtF,oBAAC,SAAS,IAAC,QAAQ,EAAC,OAAO,GAAG,CACnB,GAEf,CACD,CACJ,CAAC;AACJ,CAAC","sourcesContent":["/* eslint-disable no-plusplus */\n/* eslint-disable guard-for-in */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-shadow */\nimport React, { useState, useEffect, useRef } from 'react';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Paper from '@material-ui/core/Paper';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { Radio } from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { filterData } from '../../helpers/simpleTableHelpers';\nimport './ListView.css';\nimport useInit from './hooks';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { format } from '../../helpers/formatters/';\n// import type { PConnProps } from '../../../types/PConnProps';\n\n// ListViewProps can't be used until getComponentConfig is NOT private\n// interface ListViewProps extends PConnProps {\n// // If any, enter additional props that only exist on this component\n// bInForm?: boolean,\n// globalSearch?: boolean,\n// referenceList?: Array<any>,\n// rowClickAction?: any,\n// selectionMode?: string,\n// referenceType?: string,\n// payload?: any,\n// parameters?: any,\n// compositeKeys?: any,\n// showDynamicFields?: boolean,\n// presets?: any\n// }\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\n// Remove this and use \"real\" PCore type once .d.ts is fixed (currently shows 3 errors)\ndeclare const PCore: any;\n\nlet myRows: Array<any>;\nlet myDisplayColumnList: Array<any>;\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: Array<any> = [];\n\nexport default function ListView(props /* : ListViewProps */) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields\n } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({ ...props, setListContext, ref, showDynamicFields, xRayUid, cosmosTableRef });\n\n const thePConn = getPConnect();\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps = thePConn.getConfigProps();\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<Array<any>>([]);\n const [arColumns, setColumns] = useState<Array<any>>([]);\n const [response, setResponse] = useState<Array<any>>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState('');\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: Array<any> = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility fnctions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n // eslint-disable-next-line no-unused-vars\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc' ? (a, b) => descendingComparator(a, b, orderedBy) : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n // eslint-disable-next-line no-unused-vars\n function stableSort<T>(array: Array<T>, comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n const arReturn = colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex((ele) => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n return arReturn;\n }\n\n function getUsingData(arTableData): Array<any> {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n const arReturn = arTableData?.map((data: any) => {\n const row = data;\n\n return row;\n });\n\n return arReturn;\n }\n\n function getMyColumnList(arCols: Array<any>): Array<string> {\n const myColList: Array<string> = [];\n\n arCols.forEach((col) => {\n myColList.push(col.id);\n });\n\n return myColList;\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n // eslint-disable-next-line no-unneeded-ternary\n let isDateRange = data.filterExpression?.AND ? true : false;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach((col) => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp in filters.current) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n // eslint-disable-next-line no-unneeded-ternary\n isDateRange = filter?.AND ? true : false;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields) {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = { select: fields, filter: filterPayload.current?.query?.filter };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? PCore.getDataApiUtils().getData(referenceList, payload)\n : PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach((field) => {\n if (!listFields.find((f) => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach((k) => {\n if (!listFields.find((f) => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach((k) => {\n if (!listFields.find((f) => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find((sel) => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = (fieldDefs) => {\n const fieldsMap = new Map();\n fieldDefs.forEach((element) => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON['data'].data : workListJSON['data'];\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach((column) => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach((col) => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n myDisplayColumnList = getMyColumnList(myColumns);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n (data) => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n }\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n };\n }, [listContext]);\n\n function searchFilter(value: string, rows: Array<any>) {\n function filterArray(el: any): boolean {\n const bReturn = false;\n for (const key in el) {\n // only search columsn that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (myDisplayColumnList.includes(key)) {\n let myVal = el[key];\n if (myVal !== null) {\n if (typeof myVal !== 'string') {\n myVal = myVal.toString();\n }\n if (myVal.toLowerCase().indexOf(value.toLowerCase()) >= 0) {\n return true;\n }\n }\n }\n }\n\n return bReturn;\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n\n const filteredRows = searchFilter(searchValue, myRows.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj['containsFilterValue'] !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === menuColumnId) {\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.['inheritedProps'];\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex((element) => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach((element) => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = (event) => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex((element) => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach((element) => {\n reqObj[element] = selectedRow[element];\n });\n reqObj['$selected'] = checked;\n } else {\n reqObj[rowID] = value;\n reqObj['$selected'] = checked;\n }\n getPConnect()?.getListActions()?.setSelectedRows([reqObj]);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale());\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value;\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant=\"h6\" color=\"textPrimary\" gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems=\"flex-end\" className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant=\"outlined\"\n placeholder=\"\"\n size=\"small\"\n id=\"search\"\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {!bInForm ? (\n <TableContainer id=\"list-view\" className={classes.tableInForm}>\n <Table stickyHeader aria-label=\"sticky table\">\n <TableHead>\n <TableRow>\n {arColumns.map((column) => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={(event) => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row) => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map((column) => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component=\"button\"\n onClick={() => {\n _listViewClick(row, column);\n }}\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id=\"list-view\">\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && <TableCell></TableCell>}\n {arColumns.map((column) => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row) => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name=\"radio-buttons\"\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n ></Radio>\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox onChange={onCheckboxClick} value={row[rowID]}></Checkbox>\n </TableCell>\n )}\n {arColumns.map((column) => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && <div className=\"no-records\">No records found.</div>}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n rowsPerPageOptions={[10, 25, 100]}\n component=\"div\"\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu id=\"simple-menu\" anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby=\"form-dialog-title\">\n <DialogTitle id=\"form-dialog-title\">Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value=\"notequal\">is not equal to</MenuItem>\n <MenuItem value=\"after\">after</MenuItem>\n <MenuItem value=\"before\">before</MenuItem>\n <MenuItem value=\"null\">is null</MenuItem>\n <MenuItem value=\"notnull\">is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"containsFilter\"\n type=\"date\"\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"containsFilter\"\n type=\"datetime-local\"\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"containsFilter\"\n type=\"time\"\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value=\"contains\">Contains</MenuItem>\n <MenuItem value=\"equals\">Equals</MenuItem>\n <MenuItem value=\"startswith\">Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin=\"dense\"\n id=\"containsFilter\"\n type=\"text\"\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color=\"secondary\">\n Cancel\n </Button>\n <Button onClick={_submitFilter} color=\"primary\">\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={handleSnackbarClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/hooks.js"],"names":[],"mappings":"AAGA,kDA6FC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/hooks.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,KAAA,QA4FpC"}
@@ -1,7 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
  import { getContext, readContextResponse } from './utils';
3
3
  export default function useInit(props) {
4
- const PCore = window.PCore;
5
4
  const { referenceList, getPConnect, personalizationId, parameters, compositeKeys, isSearchable, allowBulkActions, ref, showDynamicFields, isDataObject, xRayUid, cosmosTableRef } = props;
6
5
  let { editing, selectionMode } = props;
7
6
  const runtimeParams = PCore.getRuntimeParamsAPI().getRuntimeParams();
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/hooks.js"],"names":[],"mappings":"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","sourcesContent":["import { useEffect } from 'react';\nimport { getContext, readContextResponse } from './utils';\n\nexport default function useInit(props) {\n const PCore = window.PCore;\n const {\n referenceList,\n getPConnect,\n personalizationId,\n parameters,\n compositeKeys,\n isSearchable,\n allowBulkActions,\n ref,\n showDynamicFields,\n isDataObject,\n xRayUid,\n cosmosTableRef\n } = props;\n let { editing, selectionMode } = props;\n\n const runtimeParams = PCore.getRuntimeParamsAPI().getRuntimeParams();\n\n let selectionCountThreshold;\n useEffect(() => {\n let isCompStillMounted = true; // react hooks cleanup function will toggle this flag and use it before setting a state variable\n\n (async function init() {\n // promise to fetch metadata\n const metaDataPromise = PCore.getAnalyticsUtils().getDataViewMetadata(referenceList, showDynamicFields);\n\n const promisesArray = [metaDataPromise];\n\n // promise to fetch report configured columns\n const reportColumnsPromise = PCore.getAnalyticsUtils()\n .getFieldsForDataSource(referenceList, false, getPConnect().getContextName())\n .catch(() => {\n return Promise.resolve({\n data: { data: [] }\n });\n });\n promisesArray.push(reportColumnsPromise);\n\n const fetchEditDetails = async (metadata) => {\n const {\n data: { isQueryable }\n } = metadata;\n if (!isDataObject) {\n if (!isQueryable) {\n editing = false; /* Force editing to false if DP is non queryable */\n }\n\n const { MULTI_ON_HOVER, MULTI } = PCore.getConstants().LIST_SELECTION_MODE;\n if (allowBulkActions && isQueryable) {\n /** enable bulk actions only if DP is queryable */\n selectionMode = MULTI_ON_HOVER;\n }\n if ([MULTI_ON_HOVER, MULTI].includes(selectionMode)) {\n selectionCountThreshold = 250; // Results count should not be greater than threshold to display SelectAll checkbox.\n }\n }\n return Promise.resolve();\n };\n\n const editPromise = metaDataPromise.then((metadata) => fetchEditDetails(metadata));\n promisesArray.push(editPromise);\n getContext({\n tableSource: referenceList,\n ListId: personalizationId,\n runtimeParams: parameters ?? runtimeParams,\n promisesArray,\n getPConnect,\n compositeKeys,\n isSearchable,\n isCacheable: true,\n xRayUid\n })\n .then(async (context) => {\n if (isCompStillMounted) {\n return readContextResponse(context, {\n ...props,\n editing,\n selectionCountThreshold,\n ref,\n selectionMode,\n xRayUid,\n cosmosTableRef\n });\n }\n });\n })();\n\n return () => {\n isCompStillMounted = false;\n };\n }, []);\n}\n"]}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect } from 'react';\nimport { getContext, readContextResponse } from './utils';\n\n// Remove this and use \"real\" PCore type once .d.ts is fixed (currently shows 1 error)\ndeclare const PCore: any;\n\nexport default function useInit(props) {\n const {\n referenceList,\n getPConnect,\n personalizationId,\n parameters,\n compositeKeys,\n isSearchable,\n allowBulkActions,\n ref,\n showDynamicFields,\n isDataObject,\n xRayUid,\n cosmosTableRef\n } = props;\n let { editing, selectionMode } = props;\n\n const runtimeParams = PCore.getRuntimeParamsAPI().getRuntimeParams();\n\n let selectionCountThreshold;\n useEffect(() => {\n let isCompStillMounted = true; // react hooks cleanup function will toggle this flag and use it before setting a state variable\n\n (async function init() {\n // promise to fetch metadata\n const metaDataPromise = PCore.getAnalyticsUtils().getDataViewMetadata(referenceList, showDynamicFields);\n\n const promisesArray = [metaDataPromise];\n\n // promise to fetch report configured columns\n const reportColumnsPromise = PCore.getAnalyticsUtils()\n .getFieldsForDataSource(referenceList, false, getPConnect().getContextName())\n .catch(() => {\n return Promise.resolve({\n data: { data: [] }\n });\n });\n promisesArray.push(reportColumnsPromise);\n\n const fetchEditDetails = async (metadata) => {\n const {\n data: { isQueryable }\n } = metadata;\n if (!isDataObject) {\n if (!isQueryable) {\n editing = false; /* Force editing to false if DP is non queryable */\n }\n\n const { MULTI_ON_HOVER, MULTI } = PCore.getConstants().LIST_SELECTION_MODE;\n if (allowBulkActions && isQueryable) {\n /** enable bulk actions only if DP is queryable */\n selectionMode = MULTI_ON_HOVER;\n }\n if ([MULTI_ON_HOVER, MULTI].includes(selectionMode)) {\n selectionCountThreshold = 250; // Results count should not be greater than threshold to display SelectAll checkbox.\n }\n }\n return Promise.resolve();\n };\n\n const editPromise = metaDataPromise.then((metadata) => fetchEditDetails(metadata));\n promisesArray.push(editPromise);\n getContext({\n tableSource: referenceList,\n ListId: personalizationId,\n runtimeParams: parameters ?? runtimeParams,\n promisesArray,\n getPConnect,\n compositeKeys,\n isSearchable,\n isCacheable: true,\n xRayUid\n })\n .then(async (context) => {\n if (isCompStillMounted) {\n return readContextResponse(context, {\n ...props,\n editing,\n selectionCountThreshold,\n ref,\n selectionMode,\n xRayUid,\n cosmosTableRef\n });\n }\n });\n })();\n\n return () => {\n isCompStillMounted = false;\n };\n }, []);\n}\n"]}
@@ -1,5 +1,13 @@
1
- export function getContext(componentConfig: any): Promise<{
1
+ export declare const formatConstants: {
2
+ WorkStatus: string;
3
+ Integer: string;
4
+ WorkLink: string;
5
+ };
6
+ export declare function getContext(componentConfig: any): Promise<{
2
7
  promisesResponseArray: any[];
8
+ setPropertyMaps: (originalToMappedPropertyObj?: {}, mappedToOriginalPropertyObj?: {}) => void;
9
+ getMappedProperty: (propertyName: any) => any;
10
+ getOriginalProperty: (propertyName: any) => any;
3
11
  }>;
4
12
  /**
5
13
  * [getFieldNameFromEmbeddedFieldName]
@@ -12,14 +20,52 @@ export function getContext(componentConfig: any): Promise<{
12
20
  * getFieldNameFromEmbeddedFieldName('!P!Organisation:Name') return 'Organisation.Name'
13
21
  * getFieldNameFromEmbeddedFieldName('!PL!Employees:Name') return 'Employees.Name'
14
22
  */
15
- export function getFieldNameFromEmbeddedFieldName(propertyName: string): string;
23
+ export declare function getFieldNameFromEmbeddedFieldName(propertyName: any): any;
16
24
  /**
17
25
  * [updateMetaEmbeddedFieldID]
18
26
  * Description - If the fieldID in meta starts with '!P!' or '!PL!' and contains ':' then replace them with .(dot)
19
27
  * @ignore
20
28
  * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields.
21
29
  */
22
- export function updateMetaEmbeddedFieldID(metaFields: any[]): void;
30
+ export declare function updateMetaEmbeddedFieldID(metaFields: any): any;
31
+ export declare const isEmbeddedField: (field: any) => boolean;
32
+ /**
33
+ * [isPageListProperty]
34
+ * Description - checking if propertyName is pageList or not
35
+ * @ignore
36
+ * @param {string} propertyName PropertyName
37
+ * @returns {boolean} true if property is pageList else false
38
+ *
39
+ * @example <caption>Example for isPageListProperty </caption>
40
+ * isPageListProperty('!PL!Employees.Name') return true
41
+ * isPageListProperty('!P!Employees.Name') return false
42
+ * isPageListProperty('Name') return false
43
+ */
44
+ export declare function isPageListProperty(propertyName: any): any;
45
+ export declare const isPageListInPath: (propertyName: any, currentClassID: any) => any;
46
+ /**
47
+ * [getEmbeddedFieldName]
48
+ * Description - converting normal field name to embedded field starting with !P! or !PL!
49
+ * @ignore
50
+ * @param {string} propertyName Field name
51
+ * @param {string} classID classID of datapage
52
+ * @returns {string} returns converted string with !P! or !PL! and :
53
+ *
54
+ * @example <caption>Example for getEmbeddedFieldName </caption>
55
+ * For page property, getEmbeddedFieldName('Organisation.Name') return '!P!Organisation:Name'
56
+ * For pageList property, getEmbeddedFieldName('Employees.Name') return '!PL!Employees:Name'
57
+ */
58
+ export declare function getEmbeddedFieldName(propertyName: any, classID: any): any;
59
+ /**
60
+ * [preparePropertyMaps]
61
+ * Description - preparing maps for property names and set it in dataApi context
62
+ * @ignore
63
+ * @param {Array} fields fields array
64
+ * @param {string} classID classID of datapage
65
+ * @param {string} context dataApi context
66
+ * @returns {boolean} true if pageListProperty is present
67
+ */
68
+ export declare function preparePropertyMaps(fields: any, classID: any, context: any): any;
23
69
  /**
24
70
  * [getConfigEmbeddedFieldsMeta]
25
71
  * Description - Get the metadata for configured embedded fields
@@ -28,7 +74,7 @@ export function updateMetaEmbeddedFieldID(metaFields: any[]): void;
28
74
  * @param {string} classID clasID of datapage
29
75
  * @returns {Array} Metadata of configured embedded fields
30
76
  */
31
- export function getConfigEmbeddedFieldsMeta(configFields: Set<any>, classID: string): any[];
77
+ export declare function getConfigEmbeddedFieldsMeta(configFields: any, classID: any): any[];
32
78
  /**
33
79
  * [mergeConfigEmbeddedFieldsMeta]
34
80
  * Description - Get the metadata for configured embedded fields
@@ -36,7 +82,7 @@ export function getConfigEmbeddedFieldsMeta(configFields: Set<any>, classID: str
36
82
  * @param {Array} configEmbeddedFieldsMeta config fields metadata.
37
83
  * @param {Array} metaFields Fields metadata Array. Contains metadata of all the fields
38
84
  */
39
- export function mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta: any[], metaFields: any[]): any[];
85
+ export declare function mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta: any, metaFields: any): any[];
40
86
  /**
41
87
  * [getTableConfigFromPresetMeta]
42
88
  * Description - Get the table config from the presets meta.
@@ -49,15 +95,25 @@ export function mergeConfigEmbeddedFieldsMeta(configEmbeddedFieldsMeta: any[], m
49
95
  * @param {Array} metaFields List of all metafields
50
96
  * @returns {object} Table config object
51
97
  */
52
- export function getTableConfigFromPresetMeta(presetMeta: object, isMetaWithPresets: boolean, getPConnect: Function, classID: string, primaryFields: any[], metaFields: any[]): object;
53
- export function initializeColumns(fields: any[] | undefined, getMappedProperty: any): any[];
54
- export function preparePatchQueryFields(fields: any, isDataObject?: boolean, classID?: string): any[];
55
- export namespace formatConstants {
56
- const WorkStatus: string;
57
- const Integer: string;
58
- const WorkLink: string;
59
- }
60
- export function isEmbeddedField(field: any): boolean;
61
- export function getItemKey(fields: any): string;
62
- export function readContextResponse(context: any, params: any): Promise<void>;
98
+ export declare function getTableConfigFromPresetMeta(presetMeta: any, isMetaWithPresets: any, getPConnect: any, classID: any, primaryFields: any, metaFields: any): {
99
+ presetId: any;
100
+ presetName: any;
101
+ cardHeader: any;
102
+ secondaryText: any;
103
+ timelineDate: any;
104
+ timelineTitle: any;
105
+ timelineStatus: any;
106
+ timelineIcon: any;
107
+ filterExpression: any;
108
+ fieldsMeta: any;
109
+ configFields: any;
110
+ };
111
+ export declare function initializeColumns(fields?: Array<any>, getMappedProperty?: any): any[];
112
+ export declare const getItemKey: (fields: any) => any;
113
+ export declare function preparePatchQueryFields(fields: any, isDataObject?: boolean, classID?: string): any[];
114
+ /**
115
+ * Update the renderer type for the properties of type Page.
116
+ */
117
+ export declare function updatePageFieldsConfig(configFields: any, parentClassID: any): any;
118
+ export declare const readContextResponse: (context: any, params: any) => Promise<void>;
63
119
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/utils.js"],"names":[],"mappings":"AAaA;;GAQC;AAED;;;;;;;;;;GAUG;AACF,gEAPU,MAAM,GACJ,MAAM,CAalB;AAED;;;;;GAKG;AACF,mEAMA;AAUD;;;;;;;GAOG;AACH,6EAHW,MAAM,SAkBhB;AAED;;;;;;GAMG;AACH,yGAOC;AAkFD;;;;;;;;;;;GAWG;AACF,yDARY,MAAM,qBACN,OAAO,kCAEP,MAAM,4CAGN,MAAM,CA8ElB;AA2KD,4FAuCC;AAYD,sGAkCC;;;;;;AAzdM,qDAMN;AAuaM,gDAQN;AAsCM,8EAuGN"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/utils.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAkCF,wBAAsB,UAAU,CAAC,eAAe,KAAA;;;;;GAY/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAAC,YAAY,KAAA,OAO7D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,KAAA,OAMnD;AAED,eAAO,MAAM,eAAe,yBAM3B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,KAAA,OAE9C;AAED,eAAO,MAAM,gBAAgB,iDAU5B,CAAC;AAEF;;;;;;;;;;;GAWG;AAEH,wBAAgB,oBAAoB,CAAC,YAAY,KAAA,EAAE,OAAO,KAAA,OAQzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,KAAA,OA0B3D;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,KAAA,EAAE,OAAO,KAAA,SAehE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,wBAAwB,KAAA,EAAE,UAAU,KAAA,SAOjF;AAkFD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,KAAA,EACV,iBAAiB,KAAA,EACjB,WAAW,KAAA,EACX,OAAO,KAAA,EACP,aAAa,KAAA,EACb,UAAU,KAAA;;;;;;;;;;;;EAsEX;AA2KD,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,KAAK,CAAC,GAAG,CAAM,EACvB,iBAAiB,GAAE,GAAU,SAqC9B;AAED,eAAO,MAAM,UAAU,sBAQtB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,KAAA,EAAE,YAAY,UAAQ,EAAE,OAAO,SAAK,SAkCjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,KAAA,EAAE,aAAa,KAAA,OAYjE;AAED,eAAO,MAAM,mBAAmB,8CA6G/B,CAAC"}