udp-react-enterprise-component-library 25.16.0 → 25.16.1

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 (1156) hide show
  1. package/README.md +97 -0
  2. package/dist/ActionLoadingContext-CNjaZnRA.js +8 -0
  3. package/dist/ActionLoadingContext-CNjaZnRA.js.map +1 -0
  4. package/dist/ActionLoadingDispatchContext-BnmdA_n3.js +16 -0
  5. package/dist/ActionLoadingDispatchContext-BnmdA_n3.js.map +1 -0
  6. package/dist/ActionProvider-1yV0Pb_q.js +368 -0
  7. package/dist/ActionProvider-1yV0Pb_q.js.map +1 -0
  8. package/dist/ActionSplitScreen-QDScakF5.js +296 -0
  9. package/dist/ActionSplitScreen-QDScakF5.js.map +1 -0
  10. package/dist/ActionWrapper-si5rnFjn.js +889 -0
  11. package/dist/ActionWrapper-si5rnFjn.js.map +1 -0
  12. package/dist/AddressListItem-ab1iGRhK.js +19 -0
  13. package/dist/AddressListItem-ab1iGRhK.js.map +1 -0
  14. package/dist/Adornment-9YJw6GPr.js +19 -0
  15. package/dist/Adornment-9YJw6GPr.js.map +1 -0
  16. package/dist/AgTable-0F_xrxvX.js +184 -0
  17. package/dist/AgTable-0F_xrxvX.js.map +1 -0
  18. package/dist/AggregateChip-7tOziH82.js +242 -0
  19. package/dist/AggregateChip-7tOziH82.js.map +1 -0
  20. package/dist/AmbientAlert-Daw5MVak.js +42 -0
  21. package/dist/AmbientAlert-Daw5MVak.js.map +1 -0
  22. package/dist/AmbientAutoComplete-BmBgMVpv.js +101 -0
  23. package/dist/AmbientAutoComplete-BmBgMVpv.js.map +1 -0
  24. package/dist/AmbientCard-Cp-eNzrW.js +165 -0
  25. package/dist/AmbientCard-Cp-eNzrW.js.map +1 -0
  26. package/dist/AmbientCardButton-DGmyyJxn.js +31 -0
  27. package/dist/AmbientCardButton-DGmyyJxn.js.map +1 -0
  28. package/dist/AmbientCardTitle-CF2luWZ_.js +38 -0
  29. package/dist/AmbientCardTitle-CF2luWZ_.js.map +1 -0
  30. package/dist/AmbientChipButton-C2KvNywY.js +50 -0
  31. package/dist/AmbientChipButton-C2KvNywY.js.map +1 -0
  32. package/dist/AmbientGridTemplate-B58pNLnZ.js +1664 -0
  33. package/dist/AmbientGridTemplate-B58pNLnZ.js.map +1 -0
  34. package/dist/AmbientPopoverMenuItem-Dy3rQ7sp.js +75 -0
  35. package/dist/AmbientPopoverMenuItem-Dy3rQ7sp.js.map +1 -0
  36. package/dist/AmbientSingleDateSelector-bGMAQaH2.js +51 -0
  37. package/dist/AmbientSingleDateSelector-bGMAQaH2.js.map +1 -0
  38. package/dist/AmbientTextField-BHfLW2L3.js +76 -0
  39. package/dist/AmbientTextField-BHfLW2L3.js.map +1 -0
  40. package/dist/AmbientToast-7aYv2gtH.js +70 -0
  41. package/dist/AmbientToast-7aYv2gtH.js.map +1 -0
  42. package/dist/AmbientToggleButton-C-7jtLY0.js +67 -0
  43. package/dist/AmbientToggleButton-C-7jtLY0.js.map +1 -0
  44. package/dist/AmbientToggleButtonGroup-BWYKeDtB.js +87 -0
  45. package/dist/AmbientToggleButtonGroup-BWYKeDtB.js.map +1 -0
  46. package/dist/AmbientToggleButtonGroupDefault-JAnbpfxZ.js +107 -0
  47. package/dist/AmbientToggleButtonGroupDefault-JAnbpfxZ.js.map +1 -0
  48. package/dist/AmbientTokenButton-CpdlLmsF.js +46 -0
  49. package/dist/AmbientTokenButton-CpdlLmsF.js.map +1 -0
  50. package/dist/AmbientVisualizer-BFFwonre.js +672 -0
  51. package/dist/AmbientVisualizer-BFFwonre.js.map +1 -0
  52. package/dist/AppMenu-CWyoGTC4.js +170 -0
  53. package/dist/AppMenu-CWyoGTC4.js.map +1 -0
  54. package/dist/AvatarAlphabet-kN4P-dsj.js +187 -0
  55. package/dist/AvatarAlphabet-kN4P-dsj.js.map +1 -0
  56. package/dist/{MenuPage-BZk69VmF.js → BaseTreeMenu-CroItvOA.js} +18 -219
  57. package/dist/BaseTreeMenu-CroItvOA.js.map +1 -0
  58. package/dist/BioCard-DWXySB2s.js +60 -0
  59. package/dist/BioCard-DWXySB2s.js.map +1 -0
  60. package/dist/BioCardWrapper-oL2gu9ec.js +512 -0
  61. package/dist/BioCardWrapper-oL2gu9ec.js.map +1 -0
  62. package/dist/Box-DQPELDGC.js +11 -0
  63. package/dist/Box-DQPELDGC.js.map +1 -0
  64. package/dist/BreadCrumbMenu-42SrTsSI.js +54 -0
  65. package/dist/BreadCrumbMenu-42SrTsSI.js.map +1 -0
  66. package/dist/CatalogUtilities-C2RsZM3t.js +16 -0
  67. package/dist/CatalogUtilities-C2RsZM3t.js.map +1 -0
  68. package/dist/ChatBotContext-aIWq8Gqd.js +8 -0
  69. package/dist/ChatBotContext-aIWq8Gqd.js.map +1 -0
  70. package/dist/ChatBotProvider-3yBWdcfe.js +67 -0
  71. package/dist/ChatBotProvider-3yBWdcfe.js.map +1 -0
  72. package/dist/ChatContainer-il3bj22z.js +252 -0
  73. package/dist/ChatContainer-il3bj22z.js.map +1 -0
  74. package/dist/CircleButton-RIWPMVG6.js +240 -0
  75. package/dist/CircleButton-RIWPMVG6.js.map +1 -0
  76. package/dist/CircularProgress-BNz8u0DY.js +48 -0
  77. package/dist/CircularProgress-BNz8u0DY.js.map +1 -0
  78. package/dist/CkRichEditor-BzyNk5CH.js +47 -0
  79. package/dist/CkRichEditor-BzyNk5CH.js.map +1 -0
  80. package/dist/ClientSideUdpGrid-DPeVlSHy.js +11 -0
  81. package/dist/ClientSideUdpGrid-DPeVlSHy.js.map +1 -0
  82. package/dist/CompactDataList-QWDPJrR5.js +16 -0
  83. package/dist/CompactDataList-QWDPJrR5.js.map +1 -0
  84. package/dist/CompactDataListItem-DMGFdFDP.js +28 -0
  85. package/dist/CompactDataListItem-DMGFdFDP.js.map +1 -0
  86. package/dist/ContentContainer-DfQA0RcA.js +30 -0
  87. package/dist/ContentContainer-DfQA0RcA.js.map +1 -0
  88. package/dist/Controls-Dns0KUBq.js +27 -0
  89. package/dist/Controls-Dns0KUBq.js.map +1 -0
  90. package/dist/CrudBrowserContainer-CkKwGxjy.js +175 -0
  91. package/dist/CrudBrowserContainer-CkKwGxjy.js.map +1 -0
  92. package/dist/CrudBrowserUtilities-Cm_FNdfE.js +77 -0
  93. package/dist/CrudBrowserUtilities-Cm_FNdfE.js.map +1 -0
  94. package/dist/CrudForm-CS8iy0jE.js +348 -0
  95. package/dist/CrudForm-CS8iy0jE.js.map +1 -0
  96. package/dist/CrudTableSidePanel-DdQ_D8g0.js +120 -0
  97. package/dist/CrudTableSidePanel-DdQ_D8g0.js.map +1 -0
  98. package/dist/DashboardWidget-CpxtRgWv.js +248 -0
  99. package/dist/DashboardWidget-CpxtRgWv.js.map +1 -0
  100. package/dist/DataBrowserContainer-CESNdu3e.js +396 -0
  101. package/dist/DataBrowserContainer-CESNdu3e.js.map +1 -0
  102. package/dist/DateTimeField-O7EKOyoH.js +32 -0
  103. package/dist/DateTimeField-O7EKOyoH.js.map +1 -0
  104. package/dist/DateUtilities-DHTEYbE8.js +15 -0
  105. package/dist/DateUtilities-DHTEYbE8.js.map +1 -0
  106. package/dist/DemoJuly-46P2EFI7.js +1 -0
  107. package/dist/DiffChecker-BZGx08fd.js +38 -0
  108. package/dist/DiffChecker-BZGx08fd.js.map +1 -0
  109. package/dist/Divider-BU1-Ll14.js +11 -0
  110. package/dist/Divider-BU1-Ll14.js.map +1 -0
  111. package/dist/DragDropFileUpload-D2moCBGI.js +89 -0
  112. package/dist/DragDropFileUpload-D2moCBGI.js.map +1 -0
  113. package/dist/DraggableSidebarTemplate-Dhrbn1H1.js +93 -0
  114. package/dist/DraggableSidebarTemplate-Dhrbn1H1.js.map +1 -0
  115. package/dist/DynamicContainerWithMenu-CQLpIY2A.js +141 -0
  116. package/dist/DynamicContainerWithMenu-CQLpIY2A.js.map +1 -0
  117. package/dist/DynamicRangeSlider-D8UVBHSs.js +569 -0
  118. package/dist/DynamicRangeSlider-D8UVBHSs.js.map +1 -0
  119. package/dist/Ellipse-q1-sPjh3.js +113 -0
  120. package/dist/Ellipse-q1-sPjh3.js.map +1 -0
  121. package/dist/EmailDisplay-Bglp_poX.js +116 -0
  122. package/dist/EmailDisplay-Bglp_poX.js.map +1 -0
  123. package/dist/EmptyStateDisplay-BMhnBskG.js +66 -0
  124. package/dist/EmptyStateDisplay-BMhnBskG.js.map +1 -0
  125. package/dist/EntitySideBarContent-Do-R7Fr2.js +84 -0
  126. package/dist/EntitySideBarContent-Do-R7Fr2.js.map +1 -0
  127. package/dist/EnvironmentRibbon-CPm8YnJ4.js +59 -0
  128. package/dist/EnvironmentRibbon-CPm8YnJ4.js.map +1 -0
  129. package/dist/ExportSidesheet-RFDKlbH5.js +334 -0
  130. package/dist/ExportSidesheet-RFDKlbH5.js.map +1 -0
  131. package/dist/ExtenderToggle-C16vjdkn.js +48 -0
  132. package/dist/ExtenderToggle-C16vjdkn.js.map +1 -0
  133. package/dist/ExternalRedirectUrlStorage-DWzDQVSk.js +15 -0
  134. package/dist/ExternalRedirectUrlStorage-DWzDQVSk.js.map +1 -0
  135. package/dist/FUIAppSwitcher-DzE2TQlx.js +360 -0
  136. package/dist/FUIAppSwitcher-DzE2TQlx.js.map +1 -0
  137. package/dist/FUICard-B5SvhKL0.js +140 -0
  138. package/dist/FUICard-B5SvhKL0.js.map +1 -0
  139. package/dist/FUIMenuItem-C6Ypt-fU.js +26 -0
  140. package/dist/FUIMenuItem-C6Ypt-fU.js.map +1 -0
  141. package/dist/FUISquareIconButton-CzLgq8u-.js +20 -0
  142. package/dist/FUISquareIconButton-CzLgq8u-.js.map +1 -0
  143. package/dist/Field-Idoc1A5M.js +61 -0
  144. package/dist/Field-Idoc1A5M.js.map +1 -0
  145. package/dist/FieldArrayCard-BOx60qvz.js +404 -0
  146. package/dist/FieldArrayCard-BOx60qvz.js.map +1 -0
  147. package/dist/FileUpload-BZYmsW6_.js +241 -0
  148. package/dist/FileUpload-BZYmsW6_.js.map +1 -0
  149. package/dist/FluentActivity-CtrJ9Fik.js +69 -0
  150. package/dist/FluentActivity-CtrJ9Fik.js.map +1 -0
  151. package/dist/FluentBody-CFW_TccT.js +16 -0
  152. package/dist/FluentBody-CFW_TccT.js.map +1 -0
  153. package/dist/FluentButton-h_8VjXGT.js +44 -0
  154. package/dist/FluentButton-h_8VjXGT.js.map +1 -0
  155. package/dist/FluentCard-CjR2Ft0S.js +23 -0
  156. package/dist/FluentCard-CjR2Ft0S.js.map +1 -0
  157. package/dist/FluentCardText-jo91oH3j.js +89 -0
  158. package/dist/FluentCardText-jo91oH3j.js.map +1 -0
  159. package/dist/FluentCell-DVrO5tto.js +81 -0
  160. package/dist/FluentCell-DVrO5tto.js.map +1 -0
  161. package/dist/FluentCheckbox-DdPx94AF.js +23 -0
  162. package/dist/FluentCheckbox-DdPx94AF.js.map +1 -0
  163. package/dist/FluentColorPicker-DWJ1ri6q.js +77 -0
  164. package/dist/FluentColorPicker-DWJ1ri6q.js.map +1 -0
  165. package/dist/FluentDataTable-qC_3o6gq.js +30 -0
  166. package/dist/FluentDataTable-qC_3o6gq.js.map +1 -0
  167. package/dist/FluentDatePicker-BV0xrRuX.js +75 -0
  168. package/dist/FluentDatePicker-BV0xrRuX.js.map +1 -0
  169. package/dist/FluentDialog-DU5BAKwU.js +80 -0
  170. package/dist/FluentDialog-DU5BAKwU.js.map +1 -0
  171. package/dist/FluentHead-XCqa3kd7.js +20 -0
  172. package/dist/FluentHead-XCqa3kd7.js.map +1 -0
  173. package/dist/FluentIcon-CB-ANF6C.js +57 -0
  174. package/dist/FluentIcon-CB-ANF6C.js.map +1 -0
  175. package/dist/FluentIconButton-le92OnEc.js +29 -0
  176. package/dist/FluentIconButton-le92OnEc.js.map +1 -0
  177. package/dist/FluentIconKey-DdoCGnzt.js +41 -0
  178. package/dist/FluentIconKey-DdoCGnzt.js.map +1 -0
  179. package/dist/FluentInputSlider-brB0q5Ek.js +50 -0
  180. package/dist/FluentInputSlider-brB0q5Ek.js.map +1 -0
  181. package/dist/FluentLink-3Baymb9o.js +39 -0
  182. package/dist/FluentLink-3Baymb9o.js.map +1 -0
  183. package/dist/FluentListItem-kFAFSSEq.js +99 -0
  184. package/dist/FluentListItem-kFAFSSEq.js.map +1 -0
  185. package/dist/FluentMap-Ba3tDjti.js +72 -0
  186. package/dist/FluentMap-Ba3tDjti.js.map +1 -0
  187. package/dist/FluentMenuListItem-B_HwFoIS.js +32 -0
  188. package/dist/FluentMenuListItem-B_HwFoIS.js.map +1 -0
  189. package/dist/FluentProfileMenuCard-BIwebgKW.js +771 -0
  190. package/dist/FluentProfileMenuCard-BIwebgKW.js.map +1 -0
  191. package/dist/FluentRadioGroup-BS69aaHF.js +31 -0
  192. package/dist/FluentRadioGroup-BS69aaHF.js.map +1 -0
  193. package/dist/FluentRow-B46NBxvd.js +18 -0
  194. package/dist/FluentRow-B46NBxvd.js.map +1 -0
  195. package/dist/FluentSearchField-D8ke5wUJ.js +135 -0
  196. package/dist/FluentSearchField-D8ke5wUJ.js.map +1 -0
  197. package/dist/FluentSimpleSelect-C2BL_HdI.js +441 -0
  198. package/dist/FluentSimpleSelect-C2BL_HdI.js.map +1 -0
  199. package/dist/FluentSimpleTabs-DUU2kdmG.js +72 -0
  200. package/dist/FluentSimpleTabs-DUU2kdmG.js.map +1 -0
  201. package/dist/FluentTabPanel-BGuFHfIQ.js +24 -0
  202. package/dist/FluentTabPanel-BGuFHfIQ.js.map +1 -0
  203. package/dist/FluentTextField-DCzp_6wE.js +68 -0
  204. package/dist/FluentTextField-DCzp_6wE.js.map +1 -0
  205. package/dist/FluentTextFieldAutoComplete-BQvVv8m_.js +100 -0
  206. package/dist/FluentTextFieldAutoComplete-BQvVv8m_.js.map +1 -0
  207. package/dist/FluentTimePicker-Dr8FiVtC.js +67 -0
  208. package/dist/FluentTimePicker-Dr8FiVtC.js.map +1 -0
  209. package/dist/FluentToggle-CCL31z0_.js +49 -0
  210. package/dist/FluentToggle-CCL31z0_.js.map +1 -0
  211. package/dist/FluentUploadIconButton-CzNiaIpa.js +129 -0
  212. package/dist/FluentUploadIconButton-CzNiaIpa.js.map +1 -0
  213. package/dist/FormButtons-BL9d-T3e.js +130 -0
  214. package/dist/FormButtons-BL9d-T3e.js.map +1 -0
  215. package/dist/FormControlLabel-C2H2jokx.js +17 -0
  216. package/dist/FormControlLabel-C2H2jokx.js.map +1 -0
  217. package/dist/GeoLocation-Dv1vb1xw.js +116 -0
  218. package/dist/GeoLocation-Dv1vb1xw.js.map +1 -0
  219. package/dist/GeoMap-CVGJXRRA.js +108 -0
  220. package/dist/GeoMap-CVGJXRRA.js.map +1 -0
  221. package/dist/Grid-5LtTpExg.js +17 -0
  222. package/dist/Grid-5LtTpExg.js.map +1 -0
  223. package/dist/GridFunctions-Dx91xe8e.js +150 -0
  224. package/dist/GridFunctions-Dx91xe8e.js.map +1 -0
  225. package/dist/GridGroupingSidebar-nHJQULrr.js +142 -0
  226. package/dist/GridGroupingSidebar-nHJQULrr.js.map +1 -0
  227. package/dist/GridRow-Bu4ZB7BW.js +54 -0
  228. package/dist/GridRow-Bu4ZB7BW.js.map +1 -0
  229. package/dist/GroupNode-C1Y28U4c.js +39 -0
  230. package/dist/GroupNode-C1Y28U4c.js.map +1 -0
  231. package/dist/HeaderExpander-Ai4mICeo.js +53 -0
  232. package/dist/HeaderExpander-Ai4mICeo.js.map +1 -0
  233. package/dist/HintPanel-DkMCmuP2.js +44 -0
  234. package/dist/HintPanel-DkMCmuP2.js.map +1 -0
  235. package/dist/IconButtonWithToolTip-DQacH9wQ.js +28 -0
  236. package/dist/IconButtonWithToolTip-DQacH9wQ.js.map +1 -0
  237. package/dist/IconLibrary-CPErCan6.js +180 -0
  238. package/dist/IconLibrary-CPErCan6.js.map +1 -0
  239. package/dist/IconRenderer-BbcxG30f.js +43 -0
  240. package/dist/IconRenderer-BbcxG30f.js.map +1 -0
  241. package/dist/Iframe-T9O-RU10.js +31 -0
  242. package/dist/Iframe-T9O-RU10.js.map +1 -0
  243. package/dist/IframeContainer-Cr0vSFwX.js +23 -0
  244. package/dist/IframeContainer-Cr0vSFwX.js.map +1 -0
  245. package/dist/ImportDataFromFileMapping-CjANFPa8.js +737 -0
  246. package/dist/ImportDataFromFileMapping-CjANFPa8.js.map +1 -0
  247. package/dist/IndicatorChip-Bi4tqLlK.js +39 -0
  248. package/dist/IndicatorChip-Bi4tqLlK.js.map +1 -0
  249. package/dist/InputFieldTypeEnums-yNsnE6kL.js +14 -0
  250. package/dist/InputFieldTypeEnums-yNsnE6kL.js.map +1 -0
  251. package/dist/Inquiry-C4hRlNvR.js +2978 -0
  252. package/dist/Inquiry-C4hRlNvR.js.map +1 -0
  253. package/dist/InquiryDashboard-Cn4F0BuC.js +17 -0
  254. package/dist/InquiryDashboard-Cn4F0BuC.js.map +1 -0
  255. package/dist/InquiryHeaderControl-D8G6OuEN.js +40 -0
  256. package/dist/InquiryHeaderControl-D8G6OuEN.js.map +1 -0
  257. package/dist/InquiryHeaderSecondaryAlert-BnYD5HYk.js +39 -0
  258. package/dist/InquiryHeaderSecondaryAlert-BnYD5HYk.js.map +1 -0
  259. package/dist/InquiryNodeControls-u17S3yQl.js +209 -0
  260. package/dist/InquiryNodeControls-u17S3yQl.js.map +1 -0
  261. package/dist/InquirySearchContainer-BluT5hv3.js +834 -0
  262. package/dist/InquirySearchContainer-BluT5hv3.js.map +1 -0
  263. package/dist/KeyValueTextField-DPDWprk4.js +104 -0
  264. package/dist/KeyValueTextField-DPDWprk4.js.map +1 -0
  265. package/dist/LayoutUnit-fGVQwt6Y.js +80 -0
  266. package/dist/LayoutUnit-fGVQwt6Y.js.map +1 -0
  267. package/dist/LibraryData-BtirxoE9.js +9043 -0
  268. package/dist/LibraryData-BtirxoE9.js.map +1 -0
  269. package/dist/LinearProgress-CVk0GRO-.js +49 -0
  270. package/dist/LinearProgress-CVk0GRO-.js.map +1 -0
  271. package/dist/LoadingIndicator-DDx4mIsm.js +47 -0
  272. package/dist/LoadingIndicator-DDx4mIsm.js.map +1 -0
  273. package/dist/LoadingOverlay-DBYfWYwS.js +17 -0
  274. package/dist/LoadingOverlay-DBYfWYwS.js.map +1 -0
  275. package/dist/LocalRedirectUrlStorage-BQHr5JcA.js +21 -0
  276. package/dist/LocalRedirectUrlStorage-BQHr5JcA.js.map +1 -0
  277. package/dist/Map-CM3OkjUS.js +56 -0
  278. package/dist/Map-CM3OkjUS.js.map +1 -0
  279. package/dist/Map-yjCCFFzf.js +127 -0
  280. package/dist/Map-yjCCFFzf.js.map +1 -0
  281. package/dist/MapContent-JgIyNm5C.js +117 -0
  282. package/dist/MapContent-JgIyNm5C.js.map +1 -0
  283. package/dist/MapContext-CUKty8Mr.js +9 -0
  284. package/dist/MapContext-CUKty8Mr.js.map +1 -0
  285. package/dist/MapContext-D6Th9h9w.js +9 -0
  286. package/dist/MapContext-D6Th9h9w.js.map +1 -0
  287. package/dist/MapControlsStandard-twyqBTRG.js +142 -0
  288. package/dist/MapControlsStandard-twyqBTRG.js.map +1 -0
  289. package/dist/MenuPage-BSU-NITc.js +227 -0
  290. package/dist/MenuPage-BSU-NITc.js.map +1 -0
  291. package/dist/MenuPage-BtoG6GuI.js +56 -0
  292. package/dist/MttMainTimeline-B5wICTvi.js +888 -0
  293. package/dist/MttMainTimeline-B5wICTvi.js.map +1 -0
  294. package/dist/MttSummary-nc74ZtC8.js +256 -0
  295. package/dist/MttSummary-nc74ZtC8.js.map +1 -0
  296. package/dist/MttYearTag-Cb_oIUNq.js +178 -0
  297. package/dist/MttYearTag-Cb_oIUNq.js.map +1 -0
  298. package/dist/MyExportsPage-C3PjlL4J.js +229 -0
  299. package/dist/MyExportsPage-C3PjlL4J.js.map +1 -0
  300. package/dist/MyExportsPage-DbH8z4-2.js +65 -0
  301. package/dist/NestedGrid-qYvtjvQd.js +84 -0
  302. package/dist/NestedGrid-qYvtjvQd.js.map +1 -0
  303. package/dist/NodeLoader-DRIIc46w.js +46 -0
  304. package/dist/NodeLoader-DRIIc46w.js.map +1 -0
  305. package/dist/NotesScreen-CvAvZ_R3.js +365 -0
  306. package/dist/NotesScreen-CvAvZ_R3.js.map +1 -0
  307. package/dist/NumberOperator-CDToRW8i.js +45 -0
  308. package/dist/NumberOperator-CDToRW8i.js.map +1 -0
  309. package/dist/PAHAdditionalRightComponent-CvWTgdMd.js +21 -0
  310. package/dist/PAHAdditionalRightComponent-CvWTgdMd.js.map +1 -0
  311. package/dist/PageActionWrapper-D2qr_WIM.js +55 -0
  312. package/dist/PageActionWrapper-D2qr_WIM.js.map +1 -0
  313. package/dist/PageContainer-BI8ve3o2.js +223 -0
  314. package/dist/PageContainer-BI8ve3o2.js.map +1 -0
  315. package/dist/PageContext-DujK-Yng.js +49 -0
  316. package/dist/PageContext-DujK-Yng.js.map +1 -0
  317. package/dist/PageLoading-DCoyVjWf.js +18 -0
  318. package/dist/PageLoading-DCoyVjWf.js.map +1 -0
  319. package/dist/PageNotFoundRoute-B82i8e68.js +24 -0
  320. package/dist/PageNotFoundRoute-B82i8e68.js.map +1 -0
  321. package/dist/PageNotFoundRoute-CsXuq0vw.js +4 -0
  322. package/dist/PageRenderer-NgWXYsLr.js +29 -0
  323. package/dist/PageRenderer-NgWXYsLr.js.map +1 -0
  324. package/dist/PageSectionSpacer-D_yz3sra.js +88 -0
  325. package/dist/PageSectionSpacer-D_yz3sra.js.map +1 -0
  326. package/dist/{PageNotFoundRoute-D9dLbM_w.js → PageStatus-CjupI8az.js} +4 -21
  327. package/dist/PageStatus-CjupI8az.js.map +1 -0
  328. package/dist/PageSubHeaderAction-Cw7gmU2W.js +20 -0
  329. package/dist/PageSubHeaderAction-Cw7gmU2W.js.map +1 -0
  330. package/dist/PasswordResetRedirect-DmhA2INZ.js +4 -0
  331. package/dist/{PasswordResetRedirect-C3g8L0vA.js → PasswordResetRedirect-MMUb4reI.js} +4 -21
  332. package/dist/PasswordResetRedirect-MMUb4reI.js.map +1 -0
  333. package/dist/PowerBIReport-CYX6YxbE.js +60 -0
  334. package/dist/PowerBIReport-CYX6YxbE.js.map +1 -0
  335. package/dist/PrimaryActionButton-CQXyHAeG.js +36 -0
  336. package/dist/PrimaryActionButton-CQXyHAeG.js.map +1 -0
  337. package/dist/PrimaryActionHeader-D9vn0zfH.js +547 -0
  338. package/dist/PrimaryActionHeader-D9vn0zfH.js.map +1 -0
  339. package/dist/PropertyFields-BOhyMi0i.js +65 -0
  340. package/dist/PropertyFields-BOhyMi0i.js.map +1 -0
  341. package/dist/QueryResult-BXX3-4Zh.js +10 -0
  342. package/dist/QueryResult-BXX3-4Zh.js.map +1 -0
  343. package/dist/QuickViewCard-Du-MuSVf.js +24 -0
  344. package/dist/QuickViewCard-Du-MuSVf.js.map +1 -0
  345. package/dist/RecentlyLoadedNodesTable-BZ4YiuvL.js +108 -0
  346. package/dist/RecentlyLoadedNodesTable-BZ4YiuvL.js.map +1 -0
  347. package/dist/RejectIcon-BbYRcoLI.js +40 -0
  348. package/dist/RejectIcon-BbYRcoLI.js.map +1 -0
  349. package/dist/RemindersCard-BJhfqNQk.js +138 -0
  350. package/dist/RemindersCard-BJhfqNQk.js.map +1 -0
  351. package/dist/RemindersScreen-9OpdtOBe.js +440 -0
  352. package/dist/RemindersScreen-9OpdtOBe.js.map +1 -0
  353. package/dist/RequiredFieldsMappingForm-D_mg2RJ2.js +344 -0
  354. package/dist/RequiredFieldsMappingForm-D_mg2RJ2.js.map +1 -0
  355. package/dist/RuleUtilities-DXVlN84J.js +89 -0
  356. package/dist/RuleUtilities-DXVlN84J.js.map +1 -0
  357. package/dist/SearchMethodUdpGrid-Ua0Kj84J.js +11 -0
  358. package/dist/SearchMethodUdpGrid-Ua0Kj84J.js.map +1 -0
  359. package/dist/SearchOperator-BLSwbmXG.js +59 -0
  360. package/dist/SearchOperator-BLSwbmXG.js.map +1 -0
  361. package/dist/SearchServiceDatasource-C-eLl_u3.js +156 -0
  362. package/dist/SearchServiceDatasource-C-eLl_u3.js.map +1 -0
  363. package/dist/{SearchUtilities-lVLvOpzo.js → SearchUtilities-CxVn31Ak.js} +4 -5
  364. package/dist/SearchUtilities-CxVn31Ak.js.map +1 -0
  365. package/dist/SelectUtilities-BCLrDhpD.js +30 -0
  366. package/dist/SelectUtilities-BCLrDhpD.js.map +1 -0
  367. package/dist/Shell-B9M8lQ22.js +268 -0
  368. package/dist/Shell-B9M8lQ22.js.map +1 -0
  369. package/dist/ShortcutContentFinder-D5qCCU1l.js +123 -0
  370. package/dist/ShortcutContentFinder-D5qCCU1l.js.map +1 -0
  371. package/dist/SideBarTemplate-CsJPE01r.js +128 -0
  372. package/dist/SideBarTemplate-CsJPE01r.js.map +1 -0
  373. package/dist/SideSheet-BhKZOd2G.js +82 -0
  374. package/dist/SideSheet-BhKZOd2G.js.map +1 -0
  375. package/dist/SideSheetHeader-DomTDjrB.js +79 -0
  376. package/dist/SideSheetHeader-DomTDjrB.js.map +1 -0
  377. package/dist/SidebarCollapseButton-B6H3WAMn.js +64 -0
  378. package/dist/SidebarCollapseButton-B6H3WAMn.js.map +1 -0
  379. package/dist/SidebarHeader-BKV537q9.js +82 -0
  380. package/dist/SidebarHeader-BKV537q9.js.map +1 -0
  381. package/dist/SiteHeaderRightComponent-zuiawaq3.js +20 -0
  382. package/dist/SiteHeaderRightComponent-zuiawaq3.js.map +1 -0
  383. package/dist/Source-BUBwrbaZ.js +34 -0
  384. package/dist/Source-BUBwrbaZ.js.map +1 -0
  385. package/dist/StandardTitle-DkEO3oI5.js +23 -0
  386. package/dist/StandardTitle-DkEO3oI5.js.map +1 -0
  387. package/dist/StatusChip-Bw-0wE_B.js +75 -0
  388. package/dist/StatusChip-Bw-0wE_B.js.map +1 -0
  389. package/dist/StringUtilities-DyjYA5pU.js +30 -0
  390. package/dist/StringUtilities-DyjYA5pU.js.map +1 -0
  391. package/dist/SubHeaderAction-vXEAp3A2.js +27 -0
  392. package/dist/SubHeaderAction-vXEAp3A2.js.map +1 -0
  393. package/dist/SummaryBlock-BUKWxmJe.js +98 -0
  394. package/dist/SummaryBlock-BUKWxmJe.js.map +1 -0
  395. package/dist/SupportCaseSideSheet-GV3FfBpO.js +375 -0
  396. package/dist/SupportCaseSideSheet-GV3FfBpO.js.map +1 -0
  397. package/dist/TableColumnDefs-nlfu2DdT.js +33 -0
  398. package/dist/TableColumnDefs-nlfu2DdT.js.map +1 -0
  399. package/dist/TableContainer-DX7ylhSY.js +109 -0
  400. package/dist/TableContainer-DX7ylhSY.js.map +1 -0
  401. package/dist/TenantProvider-CKbxaw0X.js +37 -0
  402. package/dist/TenantProvider-CKbxaw0X.js.map +1 -0
  403. package/dist/TileDisplay-Bg0ZJFDh.js +224 -0
  404. package/dist/TileDisplay-Bg0ZJFDh.js.map +1 -0
  405. package/dist/TileLayer-Bk6rITEu.js +31 -0
  406. package/dist/TileLayer-Bk6rITEu.js.map +1 -0
  407. package/dist/TimeField-DK4r4zAc.js +62 -0
  408. package/dist/TimeField-DK4r4zAc.js.map +1 -0
  409. package/dist/TimelineToken-H8lALbXg.js +72 -0
  410. package/dist/TimelineToken-H8lALbXg.js.map +1 -0
  411. package/dist/Token-DOIAu9p4.js +70 -0
  412. package/dist/Token-DOIAu9p4.js.map +1 -0
  413. package/dist/TokenGroupItem-DKGmGnzr.js +36 -0
  414. package/dist/TokenGroupItem-DKGmGnzr.js.map +1 -0
  415. package/dist/{UtilitySideBar-9LDu9AaN.js → TreeUtilities-BxV5PMJ8.js} +15 -854
  416. package/dist/TreeUtilities-BxV5PMJ8.js.map +1 -0
  417. package/dist/TrimForAvatar-BQMU2_5J.js +8 -0
  418. package/dist/TrimForAvatar-BQMU2_5J.js.map +1 -0
  419. package/dist/Typography-6jelcyoY.js +22 -0
  420. package/dist/Typography-6jelcyoY.js.map +1 -0
  421. package/dist/UI/accordion/index.js +14 -0
  422. package/dist/UI/advancedSearchBuilder/index.js +4 -0
  423. package/dist/UI/charts/index.js +3 -0
  424. package/dist/UI/components/dataDisplay/index.js +19 -0
  425. package/dist/UI/components/feedback/index.js +4 -0
  426. package/dist/UI/components/index.js +22 -0
  427. package/dist/UI/containers/index.js +7 -0
  428. package/dist/UI/dataDisplay/FluentActivity/index.js +5 -0
  429. package/dist/UI/dataDisplay/FluentDataTable/FluentBody/index.js +3 -0
  430. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +13 -0
  431. package/dist/UI/dataDisplay/FluentDataTable/FluentHead/index.js +3 -0
  432. package/dist/UI/dataDisplay/FluentDataTable/FluentRow/index.js +3 -0
  433. package/dist/UI/dataDisplay/FluentDataTable/index.js +17 -0
  434. package/dist/UI/dataDisplay/address/index.js +4 -0
  435. package/dist/UI/dataDisplay/cardList/index.js +4 -0
  436. package/dist/UI/dataDisplay/directory/index.js +4 -0
  437. package/dist/UI/dataDisplay/entityHeader/index.js +34 -0
  438. package/dist/UI/dataDisplay/index.js +78 -0
  439. package/dist/UI/dataDisplay/map/index.js +6 -0
  440. package/dist/UI/dataDisplay/notes/index.js +7 -0
  441. package/dist/UI/dataDisplay/ticketCard/index.js +6 -0
  442. package/dist/UI/dataDisplay/typography/index.js +12 -0
  443. package/dist/UI/dataDisplay/visualization/index.js +7 -0
  444. package/dist/UI/demos/index.js +3 -0
  445. package/dist/UI/feedback/index.js +12 -0
  446. package/dist/UI/fileViewer/index.js +27 -0
  447. package/dist/UI/floorplans/index.js +56 -0
  448. package/dist/UI/forms/index.js +50 -0
  449. package/dist/UI/iframe/index.js +4 -0
  450. package/dist/UI/index.js +213 -0
  451. package/dist/UI/inputs/buttons/index.js +53 -0
  452. package/dist/UI/inputs/buttons/index.js.map +1 -0
  453. package/dist/UI/inputs/calendar/index.js +3 -0
  454. package/dist/UI/inputs/checkbox/index.js +3 -0
  455. package/dist/UI/inputs/datetimes/index.js +4 -0
  456. package/dist/UI/inputs/fieldArrayCard/index.js +66 -0
  457. package/dist/UI/inputs/link/index.js +4 -0
  458. package/dist/UI/inputs/menus/index.js +11 -0
  459. package/dist/UI/inputs/pickers/index.js +8 -0
  460. package/dist/UI/inputs/radio/index.js +3 -0
  461. package/dist/UI/inputs/richEditors/index.js +3 -0
  462. package/dist/UI/inputs/sliders/index.js +3 -0
  463. package/dist/UI/inputs/textField/index.js +14 -0
  464. package/dist/UI/inputs/toggle/index.js +3 -0
  465. package/dist/UI/loading/LoadingIndicator/index.js +3 -0
  466. package/dist/UI/loading/index.js +6 -0
  467. package/dist/UI/mapLayout/index.js +61 -0
  468. package/dist/UI/maps/index.js +4 -0
  469. package/dist/UI/navigation/index.js +27 -0
  470. package/dist/UI/navigation/menus/index.js +21 -0
  471. package/dist/UI/navigation/tabs/defaultTabs/index.js +5 -0
  472. package/dist/UI/navigation/tabs/index.js +8 -0
  473. package/dist/UI/property/index.js +9 -0
  474. package/dist/UI/property/widgets/index.js +7 -0
  475. package/dist/UI/stepper/index.js +3 -0
  476. package/dist/UI/support/index.js +31 -0
  477. package/dist/UI/surfaces/NestedGrid/index.js +6 -0
  478. package/dist/UI/surfaces/NestedGrid/ui/index.js +4 -0
  479. package/dist/UI/surfaces/cards/index.js +33 -0
  480. package/dist/UI/surfaces/cards/newsCard/index.js +3 -0
  481. package/dist/UI/surfaces/cards/workOrderCard/index.js +13 -0
  482. package/dist/UI/surfaces/index.js +39 -0
  483. package/dist/UI/templates/index.js +74 -0
  484. package/dist/UI/templates/newGrid/index.js +36 -0
  485. package/dist/UI/templates/ui/index.js +15 -0
  486. package/dist/UI/timeline/fluentTimeline/index.js +13 -0
  487. package/dist/UI/timeline/index.js +14 -0
  488. package/dist/UI/utilityDisplay/alerts/index.js +24 -0
  489. package/dist/UI/utilityDisplay/index.js +85 -0
  490. package/dist/UI/utilityDisplay/ui/index.js +5 -0
  491. package/dist/UI/utilityDisplay/utilities/index.js +6 -0
  492. package/dist/UI/utilityDisplay/utilityHeader/index.js +16 -0
  493. package/dist/UI/widgets/index.js +17 -0
  494. package/dist/UI-B4fGY3AB.js +45 -0
  495. package/dist/UI-B4fGY3AB.js.map +1 -0
  496. package/dist/UdpAlertsContainer-BFByWJQT.js +80 -0
  497. package/dist/UdpAlertsContainer-BFByWJQT.js.map +1 -0
  498. package/dist/{UdpMaintenanceConfigPage-Bbaa9QQm.js → UdpMaintenanceConfigPage-Chsq3iZC.js} +10 -8
  499. package/dist/UdpMaintenanceConfigPage-Chsq3iZC.js.map +1 -0
  500. package/dist/UdpMaintenanceConfigPage-DvSwjF_L.js +15 -0
  501. package/dist/UdpMaintenanceEnginePage-CpqXzyEv.js +439 -0
  502. package/dist/UdpMaintenanceEnginePage-CpqXzyEv.js.map +1 -0
  503. package/dist/UdpMaintenanceEnginePage-CutwTNgV.js +59 -0
  504. package/dist/UdpMapToolbar-B6g5Kc_y.js +17 -0
  505. package/dist/UdpMapToolbar-B6g5Kc_y.js.map +1 -0
  506. package/dist/{UdpPublicForm-3xkpVjji.js → UdpPublicForm-DNVbin2l.js} +8 -15
  507. package/dist/UdpPublicForm-DNVbin2l.js.map +1 -0
  508. package/dist/UdpPublicForm-DQ70FtUQ.js +6 -0
  509. package/dist/UdpRoutes-BctzBOjG.js +110 -0
  510. package/dist/UdpRoutes-BctzBOjG.js.map +1 -0
  511. package/dist/UdpTabs-C7pvmyRq.js +209 -0
  512. package/dist/UdpTabs-C7pvmyRq.js.map +1 -0
  513. package/dist/UdpTimeSelector-BIKJO-Q4.js +147 -0
  514. package/dist/UdpTimeSelector-BIKJO-Q4.js.map +1 -0
  515. package/dist/UnityFluentIcon-fuqAQh0C.js +70 -0
  516. package/dist/UnityFluentIcon-fuqAQh0C.js.map +1 -0
  517. package/dist/UnityIconLibrary-DnCuEr5M.js +44 -0
  518. package/dist/UnityIconLibrary-DnCuEr5M.js.map +1 -0
  519. package/dist/UnitySessionStorage-DBqfMiK5.js +19 -0
  520. package/dist/UnitySessionStorage-DBqfMiK5.js.map +1 -0
  521. package/dist/UserFormSideSheet-ExBC8Coy.js +399 -0
  522. package/dist/UserFormSideSheet-ExBC8Coy.js.map +1 -0
  523. package/dist/UtilityBar-CoBkrOKT.js +98 -0
  524. package/dist/UtilityBar-CoBkrOKT.js.map +1 -0
  525. package/dist/UtilityBarInport-BZbPE650.js +22 -0
  526. package/dist/UtilityBarInport-BZbPE650.js.map +1 -0
  527. package/dist/UtilitySideBar-otYqGPhu.js +95 -0
  528. package/dist/UtilitySideBar-otYqGPhu.js.map +1 -0
  529. package/dist/VectorLayer-DvXP_PbI.js +72 -0
  530. package/dist/VectorLayer-DvXP_PbI.js.map +1 -0
  531. package/dist/{VirtualBrowser-CiD8XKsM.js → VirtualBrowser-79SyTCIe.js} +28 -141
  532. package/dist/VirtualBrowser-79SyTCIe.js.map +1 -0
  533. package/dist/VirtualBrowser-CiO6tvKp.js +76 -0
  534. package/dist/VirtualForm-CZWtQ2vU.js +65 -0
  535. package/dist/VirtualForm-CZWtQ2vU.js.map +1 -0
  536. package/dist/WorkflowContainer-9V9u_P1t.js +187 -0
  537. package/dist/WorkflowContainer-9V9u_P1t.js.map +1 -0
  538. package/dist/WorkflowContainer-DtvXxyTb.js +73 -0
  539. package/dist/WorkflowContent-BnzM52Sa.js +428 -0
  540. package/dist/WorkflowContent-BnzM52Sa.js.map +1 -0
  541. package/dist/WorkflowTaskFlow-BCm5Iyy0.js +135 -0
  542. package/dist/WorkflowTaskFlow-BCm5Iyy0.js.map +1 -0
  543. package/dist/WorkflowTreeMenu-H_Nbxi3A.js +346 -0
  544. package/dist/WorkflowTreeMenu-H_Nbxi3A.js.map +1 -0
  545. package/dist/ZoomControl-Bud43x3A.js +38 -0
  546. package/dist/ZoomControl-Bud43x3A.js.map +1 -0
  547. package/dist/accordion-Sv7pQXQW.js +192 -0
  548. package/dist/accordion-Sv7pQXQW.js.map +1 -0
  549. package/dist/actionSummary-CyjnFFFF.js +255 -0
  550. package/dist/actionSummary-CyjnFFFF.js.map +1 -0
  551. package/dist/actionUtils-7dmb-PYX.js +218 -0
  552. package/dist/actionUtils-7dmb-PYX.js.map +1 -0
  553. package/dist/actions/actionSummary/index.js +26 -0
  554. package/dist/actions/index.js +89 -0
  555. package/dist/actions/sidebar/index.js +12 -0
  556. package/dist/actions/utils/index.js +13 -0
  557. package/dist/addUser-DdxKkJbW.js +1 -0
  558. package/dist/address-CHc5T3Ve.js +1 -0
  559. package/dist/advancedSearchBuilder-tEAoUd1I.js +19 -0
  560. package/dist/advancedSearchBuilder-tEAoUd1I.js.map +1 -0
  561. package/dist/aggregateUtils-C04KQf3k.js +70 -0
  562. package/dist/aggregateUtils-C04KQf3k.js.map +1 -0
  563. package/dist/aggrid-TPfO-kkM.js +1 -0
  564. package/dist/aggridHelpers-C5ZG2ZqM.js +103 -0
  565. package/dist/aggridHelpers-C5ZG2ZqM.js.map +1 -0
  566. package/dist/alerts-DzYv3cz-.js +1 -0
  567. package/dist/{apiHelpers-DZPI1QCL.js → apiHelpers-Bju2gkBq.js} +4 -38
  568. package/dist/apiHelpers-Bju2gkBq.js.map +1 -0
  569. package/dist/appSwitcher-ERlag4rB.js +1 -0
  570. package/dist/assets/index.js +1 -0
  571. package/dist/auth-BOzVI3A0.js +1 -0
  572. package/dist/axiosInterceptors-Dn_haR1Q.js +28 -0
  573. package/dist/axiosInterceptors-Dn_haR1Q.js.map +1 -0
  574. package/dist/cardList-DCz9PlTm.js +78 -0
  575. package/dist/cardList-DCz9PlTm.js.map +1 -0
  576. package/dist/cards-K6gJJHyT.js +287 -0
  577. package/dist/cards-K6gJJHyT.js.map +1 -0
  578. package/dist/catalog-DoJ2_1fY.js +1 -0
  579. package/dist/catalogStore-DDyUXvDn.js +30 -0
  580. package/dist/catalogStore-DDyUXvDn.js.map +1 -0
  581. package/dist/charts-OdBKS6di.js +55 -0
  582. package/dist/charts-OdBKS6di.js.map +1 -0
  583. package/dist/chatBot/index.js +13 -0
  584. package/dist/chatBot-flH0_FCC.js +1 -0
  585. package/dist/chunk-CTAAG5j7.js +13 -0
  586. package/dist/colorConverter-sleh0lAZ.js +91 -0
  587. package/dist/colorConverter-sleh0lAZ.js.map +1 -0
  588. package/dist/colors-VLk-T125.js +73 -0
  589. package/dist/colors-VLk-T125.js.map +1 -0
  590. package/dist/componentSystems/multiThreadTimeline/functions/index.js +4 -0
  591. package/dist/componentSystems/multiThreadTimeline/index.js +34 -0
  592. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +28 -0
  593. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +24 -0
  594. package/dist/componentSystems/multiThreadTimeline/ui/index.js +23 -0
  595. package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +5 -0
  596. package/dist/componentSystems/pageRenderer/hocs/index.js +68 -0
  597. package/dist/componentSystems/pageRenderer/hooks/index.js +4 -0
  598. package/dist/componentSystems/pageRenderer/index.js +72 -0
  599. package/dist/componentSystems/pageRenderer/utils/index.js +4 -0
  600. package/dist/componentSystems/pageRenderer/wrappers/index.js +67 -0
  601. package/dist/components-CG2vp7rI.js +1 -0
  602. package/dist/components-DqInG_Nm.js +1 -0
  603. package/dist/configService/index.js +3 -0
  604. package/dist/constants/index.js +3 -0
  605. package/dist/containers/index.js +4 -0
  606. package/dist/containers-DDfXvwcE.js +1 -0
  607. package/dist/contexts/index.js +6 -0
  608. package/dist/crud-BCrruPIb.js +1 -0
  609. package/dist/crudActions-DL7ifk-D.js +205 -0
  610. package/dist/crudActions-DL7ifk-D.js.map +1 -0
  611. package/dist/crudBrowser-BG7BYo4m.js +1 -0
  612. package/dist/customIcons-D0bpSyKS.js +1 -0
  613. package/dist/dashboard/index.js +10 -0
  614. package/dist/dashboard-DfDQY2Uz.js +1 -0
  615. package/dist/dataBrowser/forms/index.js +17 -0
  616. package/dist/dataBrowser/index.js +90 -0
  617. package/dist/dataDisplay-CAJwXLeD.js +50 -0
  618. package/dist/dataDisplay-CAJwXLeD.js.map +1 -0
  619. package/dist/dataDisplay-CFDmXer4.js +280 -0
  620. package/dist/dataDisplay-CFDmXer4.js.map +1 -0
  621. package/dist/defaultTabs-OEo6-sj7.js +93 -0
  622. package/dist/defaultTabs-OEo6-sj7.js.map +1 -0
  623. package/dist/demos-CF7sKLmt.js +11 -0
  624. package/dist/demos-CF7sKLmt.js.map +1 -0
  625. package/dist/diffChecker/index.js +4 -0
  626. package/dist/directory-BTN_b0Hg.js +52 -0
  627. package/dist/directory-BTN_b0Hg.js.map +1 -0
  628. package/dist/entities-B32Z17Rb.js +1 -0
  629. package/dist/entityHeader-DDrAG_I8.js +875 -0
  630. package/dist/entityHeader-DDrAG_I8.js.map +1 -0
  631. package/dist/{entityUtilities-Hohniu0Q.js → entityUtilities-D7_FeTEd.js} +2 -2
  632. package/dist/{entityUtilities-Hohniu0Q.js.map → entityUtilities-D7_FeTEd.js.map} +1 -1
  633. package/dist/enums/index.js +10 -0
  634. package/dist/feedback-BYM33Djb.js +1 -0
  635. package/dist/feedback-xwtgVkbx.js +1 -0
  636. package/dist/fileViewer-DnbpU0bo.js +546 -0
  637. package/dist/fileViewer-DnbpU0bo.js.map +1 -0
  638. package/dist/floorplanFunctions-QEXAOJwy.js +1 -0
  639. package/dist/floorplans-c_VQn4Rz.js +154 -0
  640. package/dist/floorplans-c_VQn4Rz.js.map +1 -0
  641. package/dist/fluentTimeline-DSUMhWcD.js +156 -0
  642. package/dist/fluentTimeline-DSUMhWcD.js.map +1 -0
  643. package/dist/form-CiiauVLk.js +76 -0
  644. package/dist/form-CiiauVLk.js.map +1 -0
  645. package/dist/formatBytes-D6vdwZ2k.js +23 -0
  646. package/dist/formatBytes-D6vdwZ2k.js.map +1 -0
  647. package/dist/forms-CKk0LTpY.js +456 -0
  648. package/dist/forms-CKk0LTpY.js.map +1 -0
  649. package/dist/forms-DJnB4tsd.js +1 -0
  650. package/dist/functions-MWuMR-lY.js +1 -0
  651. package/dist/gridVisualizationFunctions-CRMRUuum.js +67 -0
  652. package/dist/gridVisualizationFunctions-CRMRUuum.js.map +1 -0
  653. package/dist/hocs-1cIHPs7M.js +1 -0
  654. package/dist/hooks/index.js +52 -0
  655. package/dist/hooks-BJgvHLxQ.js +1 -0
  656. package/dist/hooks-CqVWErg9.js +160 -0
  657. package/dist/hooks-CqVWErg9.js.map +1 -0
  658. package/dist/iconLibrary-C8sePp_X.js +1 -0
  659. package/dist/iframe-T69IOxry.js +1 -0
  660. package/dist/index.js +3813 -44099
  661. package/dist/index.js.map +1 -1
  662. package/dist/input-B3JblbZF.js +1 -0
  663. package/dist/inquiry/dashboard/index.js +29 -0
  664. package/dist/inquiry/index.js +150 -0
  665. package/dist/inquiry/index.js.map +1 -0
  666. package/dist/inquiry/inquiryBar/index.js +10 -0
  667. package/dist/inquiry/search/index.js +41 -0
  668. package/dist/inquiryBar-CTeb-8eD.js +1 -0
  669. package/dist/inquiryStore-COAx0QBg.js +39 -0
  670. package/dist/inquiryStore-COAx0QBg.js.map +1 -0
  671. package/dist/isValueSelected-BfNYVyaD.js +10 -0
  672. package/dist/isValueSelected-BfNYVyaD.js.map +1 -0
  673. package/dist/layout/index.js +14 -0
  674. package/dist/leafletMaps-DKJcEBvd.js +1 -0
  675. package/dist/loading-DRhXmScv.js +1 -0
  676. package/dist/lookupsStore-A8pX7cDA.js +20 -0
  677. package/dist/lookupsStore-A8pX7cDA.js.map +1 -0
  678. package/dist/maintenanceEngine/crudBrowser/index.js +54 -0
  679. package/dist/maintenanceEngine/index.js +93 -0
  680. package/dist/maintenanceEngine/tableBrowser/index.js +61 -0
  681. package/dist/maintenanceEngine/virtualBrowser/index.js +77 -0
  682. package/dist/maintenanceEngine-CpZ9tfB0.js +1 -0
  683. package/dist/map-DU7O_P-0.js +60 -0
  684. package/dist/map-DU7O_P-0.js.map +1 -0
  685. package/dist/map-library/Controls/index.js +31 -0
  686. package/dist/map-library/Controls/index.js.map +1 -0
  687. package/dist/map-library/Layers/index.js +4 -0
  688. package/dist/map-library/Map/index.js +8 -0
  689. package/dist/map-library/Source/index.js +34 -0
  690. package/dist/map-library/Source/index.js.map +1 -0
  691. package/dist/map-library/functions/index.js +3 -0
  692. package/dist/map-library/geoLocation/index.js +5 -0
  693. package/dist/map-library/ui/index.js +6 -0
  694. package/dist/mapFunctions-6iGvgVF1.js +32 -0
  695. package/dist/mapFunctions-6iGvgVF1.js.map +1 -0
  696. package/dist/mapLayout-CxliPJ5p.js +785 -0
  697. package/dist/mapLayout-CxliPJ5p.js.map +1 -0
  698. package/dist/maps/index.js +16 -0
  699. package/dist/maps/leafletMaps/index.js +7 -0
  700. package/dist/maps/leafletMaps/ui/index.js +5 -0
  701. package/dist/maps/openLayerMaps/Controls/index.js +4 -0
  702. package/dist/maps/openLayerMaps/Layers/index.js +46 -0
  703. package/dist/maps/openLayerMaps/Layers/index.js.map +1 -0
  704. package/dist/maps/openLayerMaps/Map/index.js +4 -0
  705. package/dist/maps/openLayerMaps/Source/index.js +3 -0
  706. package/dist/maps/openLayerMaps/ui/index.js +6 -0
  707. package/dist/maps-DgJG7ziA.js +11 -0
  708. package/dist/maps-DgJG7ziA.js.map +1 -0
  709. package/dist/menuPage/index.js +56 -0
  710. package/dist/menuUtilities-DTbyD6bg.js +55 -0
  711. package/dist/menuUtilities-DTbyD6bg.js.map +1 -0
  712. package/dist/menus-B-Xz-Ggy.js +1 -0
  713. package/dist/menus-QHvrjl6w.js +1 -0
  714. package/dist/menus-berWqAF-.js +81 -0
  715. package/dist/menus-berWqAF-.js.map +1 -0
  716. package/dist/methodUtils-Bgi0VCWP.js +20 -0
  717. package/dist/methodUtils-Bgi0VCWP.js.map +1 -0
  718. package/dist/models/index.js +7 -0
  719. package/dist/modified-Bg5LeKdV.js +1 -0
  720. package/dist/mttFunctions-BFUthekm.js +248 -0
  721. package/dist/mttFunctions-BFUthekm.js.map +1 -0
  722. package/dist/mttMainTimeline-DgGEegXs.js +1 -0
  723. package/dist/mttSummary-Dbl2ZLl1.js +1 -0
  724. package/dist/navigation-DtBAqSLf.js +144 -0
  725. package/dist/navigation-DtBAqSLf.js.map +1 -0
  726. package/dist/newGrid-Da54TcHb.js +126 -0
  727. package/dist/newGrid-Da54TcHb.js.map +1 -0
  728. package/dist/newsCard-CTtyYCtA.js +57 -0
  729. package/dist/newsCard-CTtyYCtA.js.map +1 -0
  730. package/dist/notes/index.js +40 -0
  731. package/dist/notes-D_Iqxv0x.js +63 -0
  732. package/dist/notes-D_Iqxv0x.js.map +1 -0
  733. package/dist/page/index.js +29 -0
  734. package/dist/page-BGtqWrDb.js +1 -0
  735. package/dist/pageEnums-CT6NFA8B.js +21 -0
  736. package/dist/pageEnums-CT6NFA8B.js.map +1 -0
  737. package/dist/paymentVendorFactoryEnum-BqXZMcQF.js +38 -0
  738. package/dist/paymentVendorFactoryEnum-BqXZMcQF.js.map +1 -0
  739. package/dist/property-CkiS6bPL.js +1 -0
  740. package/dist/propertyTypeEnums-VqSmSIfe.js +15 -0
  741. package/dist/propertyTypeEnums-VqSmSIfe.js.map +1 -0
  742. package/dist/provider-D1EvAE26.js +1 -0
  743. package/dist/redirect-DEombgSz.js +1 -0
  744. package/dist/redirectToLink-B4Y9oH1K.js +31 -0
  745. package/dist/redirectToLink-B4Y9oH1K.js.map +1 -0
  746. package/dist/redirectToProduct-BHIghYZd.js +9 -0
  747. package/dist/redirectToProduct-BHIghYZd.js.map +1 -0
  748. package/dist/reminderConstants-Btqf39dU.js +12 -0
  749. package/dist/reminderConstants-Btqf39dU.js.map +1 -0
  750. package/dist/reminders/index.js +45 -0
  751. package/dist/reports/index.js +12 -0
  752. package/dist/routes/index.js +8 -0
  753. package/dist/rules-Bbd-Yg6p.js +1 -0
  754. package/dist/search-D3z7GAO_.js +1 -0
  755. package/dist/search-YPsWhV_L.js +1 -0
  756. package/dist/searchEnums-BFWywTGh.js +11 -0
  757. package/dist/searchEnums-BFWywTGh.js.map +1 -0
  758. package/dist/shell/index.js +124 -0
  759. package/dist/shell/ui/addUser/index.js +23 -0
  760. package/dist/shell/ui/appSwitcher/index.js +9 -0
  761. package/dist/shell/ui/index.js +60 -0
  762. package/dist/shellStore-Bqwtbs_K.js +31 -0
  763. package/dist/shellStore-Bqwtbs_K.js.map +1 -0
  764. package/dist/sidebar-C96Z7xFg.js +1 -0
  765. package/dist/stepper-BNXvKPS_.js +11 -0
  766. package/dist/stepper-BNXvKPS_.js.map +1 -0
  767. package/dist/storage-Dxdn7n1x.js +1 -0
  768. package/dist/stores/index.js +10 -0
  769. package/dist/style-C58TNESf.js +1 -0
  770. package/dist/support-BmEH05sB.js +1 -0
  771. package/dist/surfaces-BermwmhU.js +1 -0
  772. package/dist/tableBrowser-_iJW5ftf.js +1 -0
  773. package/dist/tabs-BcnfMjRc.js +49 -0
  774. package/dist/tabs-BcnfMjRc.js.map +1 -0
  775. package/dist/tagEnums-BD6xUu3X.js +11 -0
  776. package/dist/tagEnums-BD6xUu3X.js.map +1 -0
  777. package/dist/teleporterStore-hSgRrvso.js +33 -0
  778. package/dist/teleporterStore-hSgRrvso.js.map +1 -0
  779. package/dist/templates-DuK-z0vt.js +211 -0
  780. package/dist/templates-DuK-z0vt.js.map +1 -0
  781. package/dist/tenant-Dv4CtN1T.js +1 -0
  782. package/dist/tenantContext-Bh6_Lj9T.js +8 -0
  783. package/dist/tenantContext-Bh6_Lj9T.js.map +1 -0
  784. package/dist/tenantStore-dj8UJA7G.js +19 -0
  785. package/dist/tenantStore-dj8UJA7G.js.map +1 -0
  786. package/dist/theme-DLwkifVk.js +286 -0
  787. package/dist/theme-DLwkifVk.js.map +1 -0
  788. package/dist/ticketCard-CFV9u37h.js +143 -0
  789. package/dist/ticketCard-CFV9u37h.js.map +1 -0
  790. package/dist/timeline-BjNWT18j.js +213 -0
  791. package/dist/timeline-BjNWT18j.js.map +1 -0
  792. package/dist/tree-BE3grkxa.js +1 -0
  793. package/dist/treeMenu/index.js +23 -0
  794. package/dist/types/UI/accordion/index.d.ts +3 -0
  795. package/dist/types/UI/advancedSearchBuilder/index.d.ts +3 -0
  796. package/dist/types/UI/charts/UdpSankeyChart.d.ts +12 -0
  797. package/dist/types/UI/charts/UdpXYMultiSeriesChart.d.ts +9 -0
  798. package/dist/types/UI/charts/types.d.ts +32 -6
  799. package/dist/types/UI/components/dataDisplay/index.d.ts +5 -0
  800. package/dist/types/UI/components/feedback/index.d.ts +1 -0
  801. package/dist/types/UI/components/index.d.ts +2 -0
  802. package/dist/types/UI/containers/index.d.ts +3 -0
  803. package/dist/types/UI/dataDisplay/FluentActivity/index.d.ts +4 -0
  804. package/dist/types/UI/dataDisplay/FluentDataTable/index.d.ts +3 -0
  805. package/dist/types/UI/dataDisplay/address/index.d.ts +3 -0
  806. package/dist/types/UI/dataDisplay/cardList/index.d.ts +4 -0
  807. package/dist/types/UI/dataDisplay/directory/index.d.ts +4 -0
  808. package/dist/types/UI/dataDisplay/entityHeader/index.d.ts +3 -0
  809. package/dist/types/UI/dataDisplay/index.d.ts +28 -0
  810. package/dist/types/UI/dataDisplay/map/index.d.ts +5 -0
  811. package/dist/types/UI/dataDisplay/notes/index.d.ts +4 -0
  812. package/dist/types/UI/dataDisplay/ticketCard/index.d.ts +5 -0
  813. package/dist/types/UI/dataDisplay/typography/index.d.ts +8 -0
  814. package/dist/types/UI/dataDisplay/visualization/amCharts/AmChart.d.ts +1 -1
  815. package/dist/types/UI/dataDisplay/visualization/index.d.ts +5 -0
  816. package/dist/types/UI/demos/index.d.ts +3 -0
  817. package/dist/types/UI/feedback/index.d.ts +7 -0
  818. package/dist/types/UI/fileViewer/index.d.ts +3 -0
  819. package/dist/types/UI/floorplans/index.d.ts +3 -0
  820. package/dist/types/UI/forms/index.d.ts +7 -0
  821. package/dist/types/UI/iframe/index.d.ts +3 -0
  822. package/dist/types/UI/index.d.ts +30 -0
  823. package/dist/types/UI/inputs/buttons/index.d.ts +21 -0
  824. package/dist/types/UI/inputs/calendar/AmbientDateRangeSelector.d.ts +3 -0
  825. package/dist/types/UI/inputs/calendar/AmbientSingleDateSelector.d.ts +3 -0
  826. package/dist/types/UI/inputs/calendar/index.d.ts +4 -0
  827. package/dist/types/UI/inputs/checkbox/index.d.ts +3 -0
  828. package/dist/types/UI/inputs/dateRangeSelector/UdpDateRangeSelector.d.ts +2 -0
  829. package/dist/types/UI/inputs/datetimes/index.d.ts +5 -0
  830. package/dist/types/UI/inputs/fieldArrayCard/index.d.ts +7 -0
  831. package/dist/types/UI/inputs/link/index.d.ts +4 -0
  832. package/dist/types/UI/inputs/menus/index.d.ts +7 -0
  833. package/dist/types/UI/inputs/pickers/index.d.ts +8 -0
  834. package/dist/types/UI/inputs/radio/index.d.ts +4 -0
  835. package/dist/types/UI/inputs/richEditors/index.d.ts +3 -0
  836. package/dist/types/UI/inputs/sliders/index.d.ts +3 -0
  837. package/dist/types/UI/inputs/textField/index.d.ts +9 -0
  838. package/dist/types/UI/inputs/toggle/index.d.ts +3 -0
  839. package/dist/types/UI/loading/LoadingIndicator/index.d.ts +1 -0
  840. package/dist/types/UI/loading/index.d.ts +5 -0
  841. package/dist/types/UI/mapLayout/index.d.ts +3 -0
  842. package/dist/types/UI/maps/index.d.ts +5 -0
  843. package/dist/types/UI/navigation/index.d.ts +5 -0
  844. package/dist/types/UI/navigation/menus/index.d.ts +8 -0
  845. package/dist/types/UI/navigation/tabs/defaultTabs/index.d.ts +7 -0
  846. package/dist/types/UI/navigation/tabs/index.d.ts +6 -0
  847. package/dist/types/UI/property/index.d.ts +3 -0
  848. package/dist/types/UI/stepper/index.d.ts +4 -0
  849. package/dist/types/UI/support/index.d.ts +4 -0
  850. package/dist/types/UI/surfaces/NestedGrid/index.d.ts +4 -0
  851. package/dist/types/UI/surfaces/NestedGrid/ui/index.d.ts +3 -0
  852. package/dist/types/UI/surfaces/cards/index.d.ts +18 -0
  853. package/dist/types/UI/surfaces/cards/newsCard/index.d.ts +3 -0
  854. package/dist/types/UI/surfaces/cards/workOrderCard/index.d.ts +4 -0
  855. package/dist/types/UI/surfaces/index.d.ts +5 -0
  856. package/dist/types/UI/templates/index.d.ts +15 -0
  857. package/dist/types/UI/templates/newGrid/index.d.ts +8 -0
  858. package/dist/types/UI/templates/ui/index.d.ts +7 -0
  859. package/dist/types/UI/timeline/fluentTimeline/index.d.ts +5 -0
  860. package/dist/types/UI/timeline/index.d.ts +14 -0
  861. package/dist/types/UI/utilityDisplay/alerts/index.d.ts +4 -0
  862. package/dist/types/UI/utilityDisplay/index.d.ts +20 -0
  863. package/dist/types/UI/utilityDisplay/ui/index.d.ts +3 -0
  864. package/dist/types/UI/utilityDisplay/utilities/index.d.ts +3 -0
  865. package/dist/types/UI/utilityDisplay/utilityHeader/index.d.ts +7 -0
  866. package/dist/types/UI/widgets/index.d.ts +4 -0
  867. package/dist/types/UI/widgets/utils/dateUtils.d.ts +46 -0
  868. package/dist/types/actions/index.d.ts +13 -0
  869. package/dist/types/actions/sidebar/index.d.ts +3 -0
  870. package/dist/types/actions/utils/index.d.ts +3 -0
  871. package/dist/types/assets/index.d.ts +2 -0
  872. package/dist/types/chatBot/index.d.ts +4 -0
  873. package/dist/types/componentSystems/multiThreadTimeline/functions/index.d.ts +3 -0
  874. package/dist/types/componentSystems/multiThreadTimeline/index.d.ts +7 -0
  875. package/dist/types/componentSystems/multiThreadTimeline/mttMainTimeline/index.d.ts +5 -0
  876. package/dist/types/componentSystems/multiThreadTimeline/mttSummary/index.d.ts +3 -0
  877. package/dist/types/componentSystems/multiThreadTimeline/ui/index.d.ts +20 -0
  878. package/dist/types/componentSystems/multiThreadTimeline/ui/modified/index.d.ts +3 -0
  879. package/dist/types/componentSystems/pageRenderer/hocs/index.d.ts +3 -0
  880. package/dist/types/componentSystems/pageRenderer/hooks/index.d.ts +3 -0
  881. package/dist/types/componentSystems/pageRenderer/index.d.ts +7 -0
  882. package/dist/types/componentSystems/pageRenderer/utils/index.d.ts +3 -0
  883. package/dist/types/componentSystems/pageRenderer/wrappers/index.d.ts +10 -0
  884. package/dist/types/configService/index.d.ts +1 -0
  885. package/dist/types/constants/index.d.ts +3 -0
  886. package/dist/types/containers/index.d.ts +3 -0
  887. package/dist/types/contexts/index.d.ts +8 -0
  888. package/dist/types/dashboard/index.d.ts +7 -0
  889. package/dist/types/dataBrowser/forms/index.d.ts +6 -0
  890. package/dist/types/dataBrowser/index.d.ts +5 -0
  891. package/dist/types/diffChecker/index.d.ts +3 -0
  892. package/dist/types/enums/auditEventEnums.d.ts +5 -0
  893. package/dist/types/enums/index.d.ts +12 -0
  894. package/dist/types/enums/unitySystemEnums.d.ts +12 -1
  895. package/dist/types/hooks/index.d.ts +21 -0
  896. package/dist/types/index.d.ts +6 -3
  897. package/dist/types/inquiry/dashboard/index.d.ts +4 -0
  898. package/dist/types/inquiry/index.d.ts +23 -0
  899. package/dist/types/inquiry/inquiryBar/index.d.ts +4 -0
  900. package/dist/types/inquiry/search/index.d.ts +7 -0
  901. package/dist/types/layout/index.d.ts +9 -0
  902. package/dist/types/maintenanceEngine/crudBrowser/index.d.ts +6 -0
  903. package/dist/types/maintenanceEngine/index.d.ts +6 -0
  904. package/dist/types/maintenanceEngine/tableBrowser/index.d.ts +4 -0
  905. package/dist/types/maintenanceEngine/virtualBrowser/VirtualBrowser.d.ts +1 -0
  906. package/dist/types/maintenanceEngine/virtualBrowser/index.d.ts +5 -0
  907. package/dist/types/map-library/Controls/index.d.ts +7 -5
  908. package/dist/types/map-library/Layers/index.d.ts +7 -5
  909. package/dist/types/map-library/Map/index.d.ts +5 -1
  910. package/dist/types/map-library/Source/index.d.ts +6 -4
  911. package/dist/types/map-library/functions/index.d.ts +3 -0
  912. package/dist/types/map-library/geoLocation/index.d.ts +4 -0
  913. package/dist/types/map-library/ui/index.d.ts +12 -0
  914. package/dist/types/maps/index.d.ts +4 -0
  915. package/dist/types/maps/leafletMaps/index.d.ts +5 -0
  916. package/dist/types/maps/leafletMaps/ui/index.d.ts +4 -0
  917. package/dist/types/maps/openLayerMaps/Layers/index.d.ts +7 -5
  918. package/dist/types/maps/openLayerMaps/ui/index.d.ts +9 -0
  919. package/dist/types/menuPage/CustomMenuPage.d.ts +22 -0
  920. package/dist/types/menuPage/index.d.ts +3 -0
  921. package/dist/types/models/index.d.ts +8 -0
  922. package/dist/types/notes/index.d.ts +3 -0
  923. package/dist/types/page/index.d.ts +8 -0
  924. package/dist/types/reminders/index.d.ts +5 -0
  925. package/dist/types/reports/index.d.ts +3 -0
  926. package/dist/types/routes/components/PageNotFoundRoute.d.ts +1 -0
  927. package/dist/types/routes/components/PasswordResetRedirect.d.ts +1 -0
  928. package/dist/types/routes/index.d.ts +4 -0
  929. package/dist/types/shell/index.d.ts +4 -0
  930. package/dist/types/shell/ui/addUser/index.d.ts +6 -0
  931. package/dist/types/shell/ui/appSwitcher/index.d.ts +9 -0
  932. package/dist/types/shell/ui/index.d.ts +17 -0
  933. package/dist/types/stores/index.d.ts +10 -0
  934. package/dist/types/treeMenu/index.d.ts +4 -0
  935. package/dist/types/tsconfig.tsbuildinfo +1 -1
  936. package/dist/types/udp/ShortcutContent/index.d.ts +4 -0
  937. package/dist/types/udp/export/MyExportsPage.d.ts +1 -0
  938. package/dist/types/udp/export/index.d.ts +6 -0
  939. package/dist/types/udp/fileImportMapping/index.d.ts +8 -0
  940. package/dist/types/udp/pages/UdpAuditEventSidesheet.d.ts +3 -0
  941. package/dist/types/udp/pages/UdpAuditEventsPage.d.ts +3 -0
  942. package/dist/types/udp/pages/index.d.ts +20 -0
  943. package/dist/types/udp/pages/udpPages.d.ts +2 -0
  944. package/dist/types/udp/utilities/dateLocalizationHooks.d.ts +26 -0
  945. package/dist/types/udp/utilities/index.d.ts +3 -0
  946. package/dist/types/udp/utilities/useDateStringColumnDef.d.ts +18 -0
  947. package/dist/types/uploader/index.d.ts +7 -0
  948. package/dist/types/utilities/DemoJuly/index.d.ts +3 -0
  949. package/dist/types/utilities/aggrid/index.d.ts +6 -0
  950. package/dist/types/utilities/auth/index.d.ts +17 -0
  951. package/dist/types/utilities/catalog/index.d.ts +3 -0
  952. package/dist/types/utilities/chatBot/index.d.ts +5 -0
  953. package/dist/types/utilities/crud/index.d.ts +3 -0
  954. package/dist/types/utilities/customIcons/index.d.ts +4 -0
  955. package/dist/types/utilities/entities/index.d.ts +3 -0
  956. package/dist/types/utilities/floorplanFunctions/index.d.ts +3 -0
  957. package/dist/types/utilities/form/paymentForm/CreditCardUtils.d.ts +5 -1
  958. package/dist/types/utilities/iconLibrary/SvgIcon.d.ts +12 -0
  959. package/dist/types/utilities/iconLibrary/index.d.ts +9 -0
  960. package/dist/types/utilities/index.d.ts +44 -0
  961. package/dist/types/utilities/input/index.d.ts +5 -0
  962. package/dist/types/utilities/maintenanceEngine/index.d.ts +3 -0
  963. package/dist/types/utilities/menus/index.d.ts +4 -0
  964. package/dist/types/utilities/page/index.d.ts +3 -0
  965. package/dist/types/utilities/provider/index.d.ts +3 -0
  966. package/dist/types/utilities/redirect/index.d.ts +4 -0
  967. package/dist/types/utilities/rules/index.d.ts +3 -0
  968. package/dist/types/utilities/search/index.d.ts +4 -0
  969. package/dist/types/utilities/storage/index.d.ts +3 -0
  970. package/dist/types/utilities/style/index.d.ts +6 -0
  971. package/dist/types/utilities/tenant/index.d.ts +5 -0
  972. package/dist/types/utilities/tree/TreeUtilities.d.ts +2 -0
  973. package/dist/types/utilities/tree/index.d.ts +3 -0
  974. package/dist/types/utilities/uploader/index.d.ts +7 -0
  975. package/dist/types/utilities/utilityBar/index.d.ts +8 -0
  976. package/dist/types/utilities/workflow/index.d.ts +3 -0
  977. package/dist/types/workflow/WorkflowContainer.d.ts +1 -0
  978. package/dist/types/workflow/components/index.d.ts +3 -0
  979. package/dist/types/workflow/index.d.ts +7 -0
  980. package/dist/types/workflow/menus/index.d.ts +4 -0
  981. package/dist/typography-Cm-MBm67.js +47 -0
  982. package/dist/typography-Cm-MBm67.js.map +1 -0
  983. package/dist/udp/ShortcutContent/index.js +20 -0
  984. package/dist/udp/export/index.js +73 -0
  985. package/dist/udp/fileImportMapping/index.js +120 -0
  986. package/dist/udp/fileImportMapping/index.js.map +1 -0
  987. package/dist/udp/pages/index.js +255 -0
  988. package/dist/udp/utilities/index.js +3 -0
  989. package/dist/udpPages-DigIOO_J.js +2821 -0
  990. package/dist/udpPages-DigIOO_J.js.map +1 -0
  991. package/dist/ui-AtMBCKfe.js +20 -0
  992. package/dist/ui-AtMBCKfe.js.map +1 -0
  993. package/dist/ui-CdJK-GeY.js +1 -0
  994. package/dist/ui-DIMtL2w5.js +1 -0
  995. package/dist/ui-DJnya6DW.js +19 -0
  996. package/dist/ui-DJnya6DW.js.map +1 -0
  997. package/dist/ui-Dk8IEfOq.js +1 -0
  998. package/dist/ui-_KR24HU9.js +1 -0
  999. package/dist/unitySystemEnums-DXk8yS3v.js +296 -0
  1000. package/dist/unitySystemEnums-DXk8yS3v.js.map +1 -0
  1001. package/dist/uploader/index.js +107 -0
  1002. package/dist/uploader/index.js.map +1 -0
  1003. package/dist/uploader-CslKfeTU.js +1 -0
  1004. package/dist/useActions-C4qJAr_e.js +192 -0
  1005. package/dist/useActions-C4qJAr_e.js.map +1 -0
  1006. package/dist/useApiCatalog-Bt9zKIld.js +62 -0
  1007. package/dist/useApiCatalog-Bt9zKIld.js.map +1 -0
  1008. package/dist/useAuthedUser-BbuZ-TTz.js +34 -0
  1009. package/dist/useAuthedUser-BbuZ-TTz.js.map +1 -0
  1010. package/dist/useAxiosGet-CAH3ZOZ8.js +76 -0
  1011. package/dist/useAxiosGet-CAH3ZOZ8.js.map +1 -0
  1012. package/dist/{useAxiosMutate-pB7OdGIa.js → useAxiosMutate-BiRO7ZCN.js} +4 -3
  1013. package/dist/{useAxiosMutate-pB7OdGIa.js.map → useAxiosMutate-BiRO7ZCN.js.map} +1 -1
  1014. package/dist/useChatBot-CFYM_uhz.js +11 -0
  1015. package/dist/useChatBot-CFYM_uhz.js.map +1 -0
  1016. package/dist/useDefaultFormValues-DvWSqhBl.js +14 -0
  1017. package/dist/useDefaultFormValues-DvWSqhBl.js.map +1 -0
  1018. package/dist/useDynamicListCalculation-B4erIwyM.js +41 -0
  1019. package/dist/useDynamicListCalculation-B4erIwyM.js.map +1 -0
  1020. package/dist/useFluentIcon-CfE2FQgB.js +14 -0
  1021. package/dist/useFluentIcon-CfE2FQgB.js.map +1 -0
  1022. package/dist/useGravatar-CbLAVn5R.js +49 -0
  1023. package/dist/useGravatar-CbLAVn5R.js.map +1 -0
  1024. package/dist/useId-Dfv7qFlj.js +23 -0
  1025. package/dist/useId-Dfv7qFlj.js.map +1 -0
  1026. package/dist/useIsUnityAuthenticated-n3QuDnIj.js +10 -0
  1027. package/dist/useIsUnityAuthenticated-n3QuDnIj.js.map +1 -0
  1028. package/dist/useItemSubCard-BxxyLSUY.js +41 -0
  1029. package/dist/useItemSubCard-BxxyLSUY.js.map +1 -0
  1030. package/dist/usePageContext-BSM5LtIY.js +9 -0
  1031. package/dist/usePageContext-BSM5LtIY.js.map +1 -0
  1032. package/dist/usePrevious-BAOvZhl7.js +14 -0
  1033. package/dist/usePrevious-BAOvZhl7.js.map +1 -0
  1034. package/dist/usePromotedMethodEntities-BNxCKmpY.js +97 -0
  1035. package/dist/usePromotedMethodEntities-BNxCKmpY.js.map +1 -0
  1036. package/dist/usePromotedMethodEntity-YlKDqDnn.js +90 -0
  1037. package/dist/usePromotedMethodEntity-YlKDqDnn.js.map +1 -0
  1038. package/dist/useQueryExecutors-CU1LD7zt.js +148 -0
  1039. package/dist/useQueryExecutors-CU1LD7zt.js.map +1 -0
  1040. package/dist/useReadMetaData-CxjwewcJ.js +31 -0
  1041. package/dist/useReadMetaData-CxjwewcJ.js.map +1 -0
  1042. package/dist/useSearchFilterParamsMap-tHRVgYQ-.js +128 -0
  1043. package/dist/useSearchFilterParamsMap-tHRVgYQ-.js.map +1 -0
  1044. package/dist/useSetLocationState-BGgFvNVh.js +25 -0
  1045. package/dist/useSetLocationState-BGgFvNVh.js.map +1 -0
  1046. package/dist/useSingleLogout-CxS-L1qp.js +272 -0
  1047. package/dist/useSingleLogout-CxS-L1qp.js.map +1 -0
  1048. package/dist/useSplitDecimal-DWG5FyYU.js +24 -0
  1049. package/dist/useSplitDecimal-DWG5FyYU.js.map +1 -0
  1050. package/dist/useTenant-BGWpH8AX.js +11 -0
  1051. package/dist/useTenant-BGWpH8AX.js.map +1 -0
  1052. package/dist/useUpdateSearchParams-DmNKNx8U.js +23 -0
  1053. package/dist/useUpdateSearchParams-DmNKNx8U.js.map +1 -0
  1054. package/dist/useUser-Cn88hlN_.js +21 -0
  1055. package/dist/useUser-Cn88hlN_.js.map +1 -0
  1056. package/dist/users-Dd3wK8x1.js +42 -0
  1057. package/dist/users-Dd3wK8x1.js.map +1 -0
  1058. package/dist/utilities/DemoJuly/index.js +4 -0
  1059. package/dist/utilities/aggrid/index.js +10 -0
  1060. package/dist/utilities/auth/index.js +21 -0
  1061. package/dist/utilities/catalog/index.js +4 -0
  1062. package/dist/utilities/chatBot/index.js +7 -0
  1063. package/dist/utilities/crud/index.js +5 -0
  1064. package/dist/utilities/customIcons/index.js +4 -0
  1065. package/dist/utilities/entities/index.js +5 -0
  1066. package/dist/utilities/floorplanFunctions/index.js +4 -0
  1067. package/dist/utilities/form/index.js +6 -0
  1068. package/dist/utilities/iconLibrary/index.js +9 -0
  1069. package/dist/utilities/index.js +159 -0
  1070. package/dist/utilities/input/index.js +6 -0
  1071. package/dist/utilities/maintenanceEngine/index.js +4 -0
  1072. package/dist/utilities/menus/index.js +7 -0
  1073. package/dist/utilities/page/index.js +4 -0
  1074. package/dist/utilities/provider/index.js +94 -0
  1075. package/dist/utilities/redirect/index.js +5 -0
  1076. package/dist/utilities/rules/index.js +4 -0
  1077. package/dist/utilities/search/index.js +6 -0
  1078. package/dist/utilities/storage/index.js +4 -0
  1079. package/dist/utilities/style/index.js +7 -0
  1080. package/dist/utilities/tenant/index.js +14 -0
  1081. package/dist/utilities/tree/index.js +10 -0
  1082. package/dist/utilities/uploader/index.js +6 -0
  1083. package/dist/utilities/utilityBar/index.js +8 -0
  1084. package/dist/utilities/workflow/index.js +6 -0
  1085. package/dist/utilities-CO8iPD5J.js +1 -0
  1086. package/dist/utilityBar-efXsIsm6.js +1 -0
  1087. package/dist/utilityDisplay-CpRgXxVJ.js +15 -0
  1088. package/dist/utilityDisplay-CpRgXxVJ.js.map +1 -0
  1089. package/dist/utilityHeader-DR5YhYZ4.js +47 -0
  1090. package/dist/utilityHeader-DR5YhYZ4.js.map +1 -0
  1091. package/dist/utils-Ccah2Nvr.js +1 -0
  1092. package/dist/utils-K0OjqNhn.js +1 -0
  1093. package/dist/verticalStyles-CNJRNnZb.js +141 -0
  1094. package/dist/verticalStyles-CNJRNnZb.js.map +1 -0
  1095. package/dist/virtualActions-ByTDOaHE.js +84 -0
  1096. package/dist/virtualActions-ByTDOaHE.js.map +1 -0
  1097. package/dist/virtualBrowser-BjGPv8Ks.js +1 -0
  1098. package/dist/visualization-BmGUb6uk.js +1 -0
  1099. package/dist/widgets-C-lZrGAQ.js +281 -0
  1100. package/dist/widgets-C-lZrGAQ.js.map +1 -0
  1101. package/dist/widgets-CRzkTpIV.js +246 -0
  1102. package/dist/widgets-CRzkTpIV.js.map +1 -0
  1103. package/dist/withEngineComponent-BZhUdMxf.js +28 -0
  1104. package/dist/withEngineComponent-BZhUdMxf.js.map +1 -0
  1105. package/dist/workOrderCard-BpoZx9de.js +55 -0
  1106. package/dist/workOrderCard-BpoZx9de.js.map +1 -0
  1107. package/dist/workflow/components/index.js +6 -0
  1108. package/dist/workflow/index.js +75 -0
  1109. package/dist/workflow/menus/index.js +24 -0
  1110. package/dist/workflow-B3zdi9Fz.js +1 -0
  1111. package/dist/workflowEnums-xHM1JN6x.js +48 -0
  1112. package/dist/workflowEnums-xHM1JN6x.js.map +1 -0
  1113. package/dist/workflowStore-PaHzw4YO.js +25 -0
  1114. package/dist/workflowStore-PaHzw4YO.js.map +1 -0
  1115. package/dist/workflowUtilities-DpW6oHRe.js +152 -0
  1116. package/dist/workflowUtilities-DpW6oHRe.js.map +1 -0
  1117. package/dist/wrappers-CLy_1LEL.js +1 -0
  1118. package/export-map.json +782 -0
  1119. package/package.json +29 -7
  1120. package/dist/AmbientGridTemplate-Ch1eLyEu.js +0 -3478
  1121. package/dist/AmbientGridTemplate-Ch1eLyEu.js.map +0 -1
  1122. package/dist/ClientSideUdpGrid-B3NVu-9l.js +0 -56
  1123. package/dist/ClientSideUdpGrid-B3NVu-9l.js.map +0 -1
  1124. package/dist/EnvironmentRibbon-OD01SY9G.js +0 -935
  1125. package/dist/EnvironmentRibbon-OD01SY9G.js.map +0 -1
  1126. package/dist/MenuPage-BZk69VmF.js.map +0 -1
  1127. package/dist/MyExportsPage-DxyYPVIc.js +0 -11
  1128. package/dist/MyExportsPage-WaXST3tF.js +0 -662
  1129. package/dist/MyExportsPage-WaXST3tF.js.map +0 -1
  1130. package/dist/PageContainer-BxChq1eP.js +0 -1536
  1131. package/dist/PageContainer-BxChq1eP.js.map +0 -1
  1132. package/dist/PageNotFoundRoute-D9dLbM_w.js.map +0 -1
  1133. package/dist/PageNotFoundRoute-DUj0Q9J8.js +0 -3
  1134. package/dist/PasswordResetRedirect-C3g8L0vA.js.map +0 -1
  1135. package/dist/PasswordResetRedirect-Dh-S5Ril.js +0 -3
  1136. package/dist/SearchUtilities-lVLvOpzo.js.map +0 -1
  1137. package/dist/SideSheet-D48-jzNi.js +0 -288
  1138. package/dist/SideSheet-D48-jzNi.js.map +0 -1
  1139. package/dist/UdpMaintenanceConfigPage-Bbaa9QQm.js.map +0 -1
  1140. package/dist/UdpPublicForm-3xkpVjji.js.map +0 -1
  1141. package/dist/UdpPublicForm-BdzIFRc0.js +0 -4
  1142. package/dist/UtilitySideBar-9LDu9AaN.js.map +0 -1
  1143. package/dist/VirtualBrowser-CiD8XKsM.js.map +0 -1
  1144. package/dist/WorkflowContainer-BK2z5UDl.js +0 -11
  1145. package/dist/WorkflowContainer-CpWRhlBx.js +0 -1552
  1146. package/dist/WorkflowContainer-CpWRhlBx.js.map +0 -1
  1147. package/dist/apiHelpers-DZPI1QCL.js.map +0 -1
  1148. package/dist/propertyTypeEnums-BfQfG6sp.js +0 -136
  1149. package/dist/propertyTypeEnums-BfQfG6sp.js.map +0 -1
  1150. package/dist/types/UI/dataDisplay/visualization/amCharts/AmSankeyChart.d.ts +0 -3
  1151. package/dist/useAxiosGet-Bi4Z0b8W.js +0 -143
  1152. package/dist/useAxiosGet-Bi4Z0b8W.js.map +0 -1
  1153. /package/dist/types/UI/loading/{LoadingIndicator.d.ts → LoadingIndicator/LoadingIndicator.d.ts} +0 -0
  1154. /package/dist/types/utilities/{FluentIcon.d.ts → iconLibrary/FluentIcon.d.ts} +0 -0
  1155. /package/dist/types/utilities/{UnityFluentIcon.d.ts → iconLibrary/UnityFluentIcon.d.ts} +0 -0
  1156. /package/dist/types/utilities/{UnityIcon.d.ts → iconLibrary/UnityIcon.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"SideSheet-D48-jzNi.js","names":["isFocusableInput","findInput","getAllInputs","createDecorator","FinalForm","Form: React.FC<FormProps>","Field: FieldComponent","value","FinalField","name","useStyles"],"sources":["../src/utilities/form/final-form-scroll/isFocusableInput.js","../src/utilities/form/final-form-scroll/getAllInputs.js","../src/utilities/form/final-form-scroll/findInput.js","../src/utilities/form/final-form-scroll/createDecorator.js","../src/utilities/form/Form.tsx","../src/utilities/form/Field.tsx","../src/UI/dataDisplay/typography/SideSheetHeader.jsx","../src/UI/surfaces/SideSheet.jsx"],"sourcesContent":["const isFocusableInput = (wtf) =>\n !!(wtf && typeof wtf.focus === 'function');\n\nexport default isFocusableInput;\n","import isFocusableInput from './isFocusableInput';\n\nconst getAllInputs = () => {\n if (typeof document === 'undefined') {\n return [];\n }\n return Array.prototype.slice\n .call(document.forms)\n .reduce(\n (accumulator, form) =>\n accumulator.concat(\n Array.prototype.slice.call(form).filter(isFocusableInput)\n ),\n []\n );\n};\n\nexport default getAllInputs;\n","import { getIn } from 'final-form';\n\nconst findInput = (inputs, errors) =>\n inputs.find(input => input.name && getIn(errors, input.name));\n\nexport default findInput;\n","import getAllInputs from './getAllInputs.js';\nimport findInput from './findInput.js';\n\nconst noop = () => {};\n\n/**\n * The decorator is created based on final-form-focus https://github.com/final-form/final-form-focus\n */\nconst createDecorator = () => (form) => {\n const scrollToFirstError = (errors) => {\n const allInputs = getAllInputs();\n const firstInput = findInput(allInputs, errors);\n const inputToScrollTo = firstInput?.parentElement;\n if (inputToScrollTo) {\n inputToScrollTo.scrollIntoView({ behavior: 'smooth' });\n }\n };\n // Save original submit function\n const originalSubmit = form.submit;\n let state = {};\n const unsubscribe = form.subscribe(\n (nextState) => {\n state = nextState;\n },\n { errors: true, submitErrors: true }\n );\n // What to do after submit\n const afterSubmit = () => {\n const { errors, submitErrors } = state;\n if (errors && Object.keys(errors).length) {\n scrollToFirstError(errors);\n } else if (submitErrors && Object.keys(submitErrors).length) {\n scrollToFirstError(submitErrors);\n }\n };\n\n // Rewrite submit function\n form.submit = () => {\n const result = originalSubmit.call(form);\n if (result && typeof result.then === 'function') {\n // async\n result.then(afterSubmit, noop);\n } else {\n // sync\n afterSubmit();\n }\n return result;\n };\n\n return () => {\n unsubscribe();\n form.submit = originalSubmit;\n };\n};\n\nexport default createDecorator;\n","import React, { forwardRef, useImperativeHandle } from 'react';\nimport {\n AnyObject,\n Form as FinalForm,\n FormProps as FinalFormProps,\n FormRenderProps,\n} from 'react-final-form';\nimport createDecorator from './final-form-scroll/createDecorator';\n\nexport interface FormProps<FormValues = AnyObject>\n extends FinalFormProps<FormValues> {\n children?: (props: FormRenderProps<FormValues>) => React.ReactNode;\n id?: string;\n}\nconst scrollToError = createDecorator();\n\n/**\n * final-form Form wrapper with automatic <form> and submit handler\n */\n\nconst _Form = ({ render: renderProp, children, id, ...props }: FormProps, ref: React.Ref<any>) => {\n const render = renderProp || children;\n\n return (\n <FinalForm ref={ref} decorators={[scrollToError]} {...props}>\n {params => {\n useImperativeHandle(ref, () => ({ ...params}))\n return (\n <form onSubmit={params.handleSubmit} noValidate={true} id={id}>\n {typeof render === 'function' ? render(params) : render}\n </form>\n )\n }}\n </FinalForm>\n );\n};\n\nexport const Form: React.FC<FormProps> = forwardRef(_Form)\n","import { InputBaseComponentProps } from '@material-ui/core';\nimport React, {\n ElementType,\n forwardRef,\n useCallback,\n ComponentType,\n} from 'react';\nimport {\n Field as FinalField,\n FieldProps as FinalFieldProps,\n FieldRenderProps,\n} from 'react-final-form';\n\nexport interface MuiFieldComponentProps {\n error?: boolean;\n helperText?: React.ReactNode;\n inputProps?: InputBaseComponentProps;\n onChange: React.ChangeEventHandler;\n ComponentProps?: any;\n}\n\nexport type MuiFieldComponent = ElementType<MuiFieldComponentProps>;\n\nexport type FieldProps<\n FieldValue,\n RP extends FieldRenderProps<FieldValue, T>,\n T extends HTMLElement = HTMLElement\n > = {\n component: MuiFieldComponent;\n // @fixme Some of the onChange handlers pass value instead\n valueForChange?: (event: React.ChangeEvent<T>) => FieldValue;\n pattern?: string;\n } & Pick<\n FinalFieldProps<FieldValue, RP, T>,\n | 'afterSubmit'\n | 'allowNull'\n | 'beforeSubmit'\n | 'defaultValue'\n | 'format'\n | 'formatOnBlur'\n | 'initialValue'\n | 'isEqual'\n | 'name'\n | 'parse'\n | 'subscription'\n | 'type'\n | 'validate'\n | 'validateFields'\n | 'value'\n | 'required'\n > &\n MuiFieldComponentProps; // @fixme Add another generic to extend this with componentProps\n\ntype FieldComponent<\n FieldValue = any,\n RP extends FieldRenderProps<FieldValue, T> = FieldRenderProps<\n FieldValue,\n HTMLElement\n >,\n T extends HTMLElement = HTMLElement\n > = ComponentType<FieldProps<FieldValue, RP, T>>;\n\n/**\n * final-form Field wrapper that supports using Material UI fields as components\n * @todo Implement a validation function that uses required, etc... (or defer this till Redwerks' form library is built)\n */\nexport let Field: FieldComponent = forwardRef((props, ref) => {\n const {\n component: Component,\n afterSubmit,\n allowNull,\n beforeSubmit,\n component,\n defaultValue,\n format,\n formatOnBlur,\n initialValue,\n isEqual,\n name,\n parse,\n // @ts-ignore\n render, // extract the render prop so it doesn't get passed to Field\n subscription,\n validate,\n validateFields,\n value, // radio/checkbox\n helperText,\n valueForChange,\n required,\n ComponentProps,\n type,\n ...componentProps\n } = props;\n const fieldProps = {\n afterSubmit,\n allowNull,\n beforeSubmit,\n defaultValue,\n format,\n formatOnBlur,\n initialValue,\n isEqual,\n name,\n parse,\n subscription,\n validate,\n validateFields,\n value,\n type\n };\n\n // @fixme: will need to add a more generic validator for other valdiation props\n const makeValidation = useCallback(\n (value, allValues, meta) => {\n if (required && ((typeof (value) !== \"number\" && !!!value) || Array.isArray(value))) {\n if (Array.isArray(value) && value.length) {\n return undefined;\n } else if (!!value && !Array.isArray(value)) {\n return undefined;\n } else {\n return 'Required';\n }\n }\n if (validate) {\n return validate(value, allValues, meta);\n }\n },\n [required, validate]\n );\n\n return (\n <FinalField {...fieldProps} validate={makeValidation}>\n {params => {\n const { input, meta } = params;\n const { name, onChange, ...inputProps } = input;\n const showError =\n ((meta.submitError && !meta.dirtySinceLastSubmit) || meta.error) &&\n meta.touched;\n\n return (\n <Component\n ref={ref as any} // @fixme\n required={required}\n {...componentProps}\n {...ComponentProps}\n helperText={showError ? meta.error || meta.submitError : helperText}\n error={showError}\n onChange={(...args: any[]) => {\n if (valueForChange) {\n // @ts-ignore\n args = [valueForChange(...args)];\n }\n // @ts-ignore\n onChange(...args);\n }}\n name={name}\n {...inputProps}\n //value={value}\n />\n );\n }}\n </FinalField>\n );\n});\nField.displayName = 'Field';\n","import React from 'react';\nimport { makeStyles, CircularProgress } from '@material-ui/core';\nimport { StandardTitle } from './StandardTitle';\nimport { FluentIconButton } from '../../inputs/buttons/FluentIconButton';\nimport { FluentButton } from '../../inputs/buttons/FluentButton';\nimport { ChromeCloseIcon } from '@fluentui/react-icons';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(1),\n paddingLeft: 0,\n background:\n theme?.getThemeData()?.mode === 'dark'\n ? theme.palette.grey[800]\n : theme.palette.common.white,\n position: ({ isSticky }) => (isSticky ? 'sticky' : 'relative'),\n top: ({ isSticky }) => (isSticky ? 0 : 'auto'),\n zIndex: ({ isSticky }) => (isSticky ? 1200 : 'auto')\n },\n title: {\n display: 'flex',\n flex: 1,\n alignItems: 'center',\n marginLeft: theme.spacing(1.5)\n },\n actionButton: {\n marginRight: theme.spacing(1),\n position: 'relative'\n },\n fabProgress: {\n position: 'absolute',\n top: 4,\n left: '35%',\n zIndex: 1\n }\n}));\n\nexport const SideSheetHeader = ({ isSticky = false, ...props }) => {\n const classes = useStyles({ isSticky });\n const {\n title,\n onClose,\n buttonLabel,\n onSubmit,\n buttonProgress,\n buttonTwoLabel,\n buttonTwoIcon,\n buttonTwoAction,\n buttonTwoProgress,\n id,\n udprecordid = '',\n buttonOneDisabled,\n buttonTwoDisabled,\n ...otherProps\n } = props;\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n <FluentIconButton\n id={id + '-Close'}\n udprecordid={udprecordid + '-Close'}\n icon={ChromeCloseIcon}\n onClick={onClose}\n aria-label='Close Panel'\n />\n <StandardTitle className={classes.title}>{title}</StandardTitle>\n </div>\n {buttonTwoLabel && (\n <div>\n <FluentButton\n // variant='contained'\n color='secondary'\n onClick={buttonTwoAction}\n disabled={buttonTwoDisabled}\n {...otherProps}\n >\n {buttonTwoProgress && (\n <CircularProgress\n size={24}\n color='secondary'\n className={classes.fabProgress}\n />\n )}\n {buttonTwoIcon && (\n <FluentIcon\n size='small'\n component={buttonTwoIcon}\n style={{ marginRight: 8 }}\n />\n )}\n {buttonTwoLabel}\n </FluentButton>\n </div>\n )}\n {buttonLabel && (\n <div className={classes.actionButton}>\n <FluentButton\n id={id + '-CreateView'}\n udprecordid={udprecordid + '-CreateView'}\n variant='contained'\n color='secondary'\n onClick={onSubmit}\n disabled={buttonOneDisabled}\n {...otherProps}\n >\n {buttonProgress && (\n <CircularProgress\n id={id + '-ButtonProgress'}\n udprecordid={udprecordid + '-ButtonProgress'}\n size={24}\n color='secondary'\n className={classes.fabProgress}\n />\n )}\n {buttonLabel}\n </FluentButton>\n </div>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport {\n makeStyles,\n Drawer,\n LinearProgress,\n CardContent\n} from '@material-ui/core';\nimport { SideSheetHeader } from '../dataDisplay/typography/SideSheetHeader';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n // width: (props) => props.width || 320,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: (props) => props.width || 320\n },\n background:\n theme?.getThemeData()?.mode === 'dark'\n ? theme.palette.grey[700]\n : '#f4f4f4'\n },\n container: {\n height: (props) => (props.contentHeight ? props.contentHeight : ''),\n overflowY: (props) => (props.contentHeight ? 'auto' : ''),\n padding: (props) => (props.noPadding ? 0 : '')\n }\n}));\n\n/**\n * Base right hand side sheet with no contents\n */\nexport const BaseSideSheet = (props) => {\n const classes = useStyles(props);\n const {\n anchor = 'right',\n width,\n children,\n onClose,\n noBackdrop,\n buttonLabel,\n ...drawerProps\n } = props;\n\n return (\n <Drawer\n classes={{ paper: classes.paper }}\n variant='temporary'\n anchor={anchor}\n onClose={onClose}\n {...drawerProps}\n BackdropProps={{ invisible: noBackdrop }}\n >\n {children}\n </Drawer>\n );\n};\n\n/**\n * A right hand material side sheet\n */\nexport const SideSheet = (props) => {\n const classes = useStyles(props);\n const {\n children,\n title,\n progress,\n progressColor,\n buttonLabel,\n noPadding,\n onSubmit,\n variant = 'determinate',\n buttonTwoLabel,\n buttonTwoIcon,\n buttonTwoAction,\n buttonTwoProgress,\n buttonOneDisabled,\n buttonTwoDisabled,\n id,\n udprecordid,\n ...otherProps\n } = props;\n const { onClose } = props;\n return (\n <BaseSideSheet {...otherProps}>\n <SideSheetHeader\n id={id}\n udprecordid={udprecordid}\n onClose={onClose}\n title={title}\n buttonLabel={buttonLabel}\n onSubmit={onSubmit}\n buttonTwoLabel={buttonTwoLabel}\n buttonTwoIcon={buttonTwoIcon}\n buttonTwoAction={buttonTwoAction}\n buttonTwoProgress={buttonTwoProgress}\n isSticky={true}\n buttonOneDisabled={buttonOneDisabled}\n buttonTwoDisabled={buttonTwoDisabled}\n {...otherProps}\n />\n {progress && (\n <LinearProgress\n variant={variant}\n color={progressColor}\n value={progress}\n />\n )}\n <CardContent classes={{ root: classes.container }}>\n {children}\n </CardContent>\n </BaseSideSheet>\n );\n};\n\nSideSheet.propTypes = {\n /**\n * Main content for the modal view\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n /**\n * SideSheet title\n */\n title: PropTypes.string.isRequired,\n /**\n * Function to close SideSheet\n */\n onClose: PropTypes.func,\n /**\n * Determins the open or closed state of the SideSheet\n */\n open: PropTypes.bool,\n /**\n * Value for progress loading\n */\n progress: PropTypes.any, // ToDo: add fix for hiding 0 progress\n /**\n * Progress loading color\n */\n progressColor: PropTypes.string,\n /**\n * Width of the SideSheet\n */\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /**\n * Anchor orgin of card (right, left, top, bottom)\n */\n anchor: PropTypes.string,\n /**\n * Label for top action button (global only)\n */\n buttonLabel: PropTypes.string,\n /**\n * Option to override container padding\n */\n noPadding: PropTypes.string,\n /**\n * Progress loading color\n */\n contentHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\nSideSheet.defaultProps = {\n anchor: 'right',\n progressColor: 'secondary'\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UdpMaintenanceConfigPage-Bbaa9QQm.js","names":[],"sources":["../src/udp/pages/UdpMaintenanceConfigPage.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useMemo } from 'react';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { useAxiosMutate } from '../../utilities/useAxiosMutate';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { useHistory } from 'react-router-dom';\nimport { PageLoading } from '../../UI/feedback/PageLoading';\nimport { useTranslation } from 'react-i18next';\nimport { ClientSideUdpGrid } from '../../UI/templates/newGrid/ClientSideUdpGrid';\n\nconst UdpMaintenanceConfigPage = (props) => {\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const user = useAuthedUser();\n const history = useHistory();\n const { t } = useTranslation();\n\n /* #region API Methods */\n\n const [{ data: tpacb, loading: loadingTpacb, error: tpacbError }] =\n useAxiosGet(\n process.env.REACT_APP_INTEGRATION_API_BASE,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${process.env.REACT_APP_UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: promotedGetConfigApi,\n loading: loadingPromotedGetConfigApi,\n error: promotedGetConfigApiError\n }\n ] = useAxiosGet(\n process.env.REACT_APP_INTEGRATION_API_BASE,\n `apicatalog/${apiCatalogId}/promotedConfigEntity/product/${process.env.REACT_APP_UNITY_PRODUCT_ID}`,\n {},\n !!!apiCatalogId,\n false\n );\n\n const [\n {\n data: tableConfigList,\n loading: tableConfigListLoading,\n error: tableConfigListError\n },\n fetchTableConfigList\n ] = useAxiosMutate(\n process.env.REACT_APP_INTEGRATION_API_BASE,\n `apimethod/executeQueryWithParameters/${promotedGetConfigApi?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const [{ data: promotedMethods, loading, error }] = useAxiosGet(\n process.env.REACT_APP_INTEGRATION_API_BASE,\n `apicatalog/${apiCatalogId}/promotedMethodEntities?productId=${process.env.REACT_APP_UNITY_PRODUCT_ID}`,\n {},\n !!!apiCatalogId,\n false\n );\n\n /* #endregion */\n\n const rowData = useMemo(() => {\n if (!promotedMethods || !tableConfigList) {\n return [];\n }\n let tmp = [];\n if (Array.isArray(tableConfigList)) {\n tmp = tableConfigList;\n } else {\n // eslint-disable-next-line no-unused-vars\n for (const [key, value] of Object.entries(tableConfigList)) {\n tmp.push(`${key}`);\n }\n }\n\n const result = tmp.reduce((mergedData, tableConfig) => {\n const matchingEntityRow = promotedMethods.find(\n (promotedEntity) =>\n promotedEntity.entityName === getSanitizedName(tableConfig)\n );\n if (matchingEntityRow) {\n mergedData.push(matchingEntityRow);\n } else {\n const placeholderData = {\n entityName: tableConfig,\n productId: process.env.REACT_APP_UNITY_PRODUCT_ID,\n unityBaseGetAllMethod: null,\n unityBaseGetMethod: null,\n unityBaseCreateMethod: null,\n unityBaseUpdateMethod: null,\n unityBaseDeleteMethod: null\n };\n mergedData.push(placeholderData);\n }\n return mergedData;\n }, []);\n return result;\n }, [promotedMethods, tableConfigList]);\n\n const handleOpenEntityMaintenancePage = useCallback(\n (selectedEntity) => {\n history.push(`/crudbrowser`, {\n entityName: getSanitizedName(selectedEntity?.entityName),\n apiCatalogId: apiCatalogId\n });\n },\n [history, apiCatalogId]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 0,\n title: t('View table data'),\n iconName: 'arrowRight16',\n handleOnClick: (e, params) => handleOpenEntityMaintenancePage(params?.data),\n disabled: false\n }\n ],\n [handleOpenEntityMaintenancePage, t]\n );\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: 'Entity Name',\n field: 'entityName',\n valueGetter: (params) =>\n params.data?.properties?.displayName ||\n params.data?.sanitizedName ||\n getSanitizedName(params.data?.entityName),\n },\n {\n headerName: 'Actions',\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: actionList\n }\n }\n ];\n }, [actionList]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n useEffect(() => {\n if (promotedGetConfigApi?.apiMethodId) {\n fetchTableConfigList({ data: {} });\n }\n }, [fetchTableConfigList, promotedGetConfigApi]);\n\n if (loadingTpacb || loadingPromotedGetConfigApi || tableConfigListLoading) {\n return <PageLoading />;\n }\n\n if (tpacbError) {\n return (\n <div>\n {t('There is no Api Catalog associated with your tenant and product')}\n </div>\n );\n }\n\n if (promotedGetConfigApiError) {\n return (\n <div>\n {t(\n 'Please promote your get configuration tables method before proceeding'\n )}\n </div>\n );\n }\n\n if (tableConfigListError) {\n return <div>{t('No configuration tables could be found')}</div>;\n }\n\n return (\n <ClientSideUdpGrid\n rowData={rowData}\n columnDefs={columnDefs}\n gridHeaderConfig={{ title: 'Table Browser' }}\n />\n );\n};\n\nexport default UdpMaintenanceConfigPage;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UdpPublicForm-3xkpVjji.js","names":[],"sources":["../src/udp/pages/UdpPublicForm.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { UdpFormsRenderer } from 'udp-react-stencil-component-library';\nimport { useLocation } from 'react-router-dom';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nconst useSearchParams = () => {\n const search = useLocation().search;\n\n // when params are populated with an internal redirect, like on a Page menu, the useLocation hook does not get the query params\n // so it will fallback with window.location.search in that case\n return new URLSearchParams(search || window.location.search);\n}\nexport const UdpPublicForm = (props) => {\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const queryParams = useSearchParams()\n\n const formId = queryParams.get('udpf_formId');\n const tenantId = queryParams.get('udpf_tenantId');\n const callbackUrl = queryParams.get('udpf_callback_url');\n\n useEffect(() => {\n if (!formId) {\n handleErrorSnackbar({}, 'Form Id not found, please specify udpf_formid in the query params');\n }\n if (!tenantId) {\n handleErrorSnackbar({}, 'tenantId not found, please specify udpf_formid in the query params');\n }\n }, []);\n if (!formId || !tenantId) return null;\n\n return (\n <UdpFormsRenderer\n formId={formId}\n tenantId={tenantId}\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n apiUrlBase={ConfigService.productV1ApiUrl}\n callbackUrl={callbackUrl}\n isPublic\n />\n );\n};\n\nexport default UdpPublicForm;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM,wBAAwB;CAC5B,MAAM,SAAS,aAAa,CAAC;AAI7B,QAAO,IAAI,gBAAgB,UAAU,OAAO,SAAS,OAAO;;AAE9D,MAAa,iBAAiB,UAAU;CACtC,MAAM,EAAE,wBAAwB,wBAAwB;CACxD,MAAM,cAAc,iBAAiB;CAErC,MAAM,SAAS,YAAY,IAAI,cAAc;CAC7C,MAAM,WAAW,YAAY,IAAI,gBAAgB;CACjD,MAAM,cAAc,YAAY,IAAI,oBAAoB;AAExD,iBAAgB;AACd,MAAI,CAAC,OACH,qBAAoB,EAAE,EAAE,oEAAoE;AAE9F,MAAI,CAAC,SACH,qBAAoB,EAAE,EAAE,qEAAqE;IAE9F,EAAE,CAAC;AACN,KAAI,CAAC,UAAU,CAAC,SAAU,QAAO;AAEjC,QACE,oCAAC;EACS;EACE;EACV,WAAW,cAAc,OAAO;EAChC,YAAY,cAAc;EACb;EACb;GACA;;AAIN,4BAAe"}
@@ -1,4 +0,0 @@
1
- import { UdpPublicForm, UdpPublicForm_default } from "./UdpPublicForm-3xkpVjji.js";
2
- import "./apiHelpers-DZPI1QCL.js";
3
-
4
- export { UdpPublicForm, UdpPublicForm_default as default };
@@ -1 +0,0 @@
1
- {"version":3,"file":"UtilitySideBar-9LDu9AaN.js","names":["uuid","uuid","property","searchIdentifier","useStyles","useStyles","useStyles","useStyles","useStyles","Skeleton","useStyles","expanded"],"sources":["../src/utilities/rules/RuleUtilities.js","../src/models/GroupNode.ts","../src/utilities/tree/TreeUtilities.js","../src/utilities/iconLibrary/UnityIconLibrary.jsx","../src/shell/ui/SidebarCollapseButton.jsx","../src/UI/inputs/buttons/AmbientCardButton.jsx","../src/UI/components/feedback/Adornment.jsx","../src/UI/surfaces/cards/AmbientCard.jsx","../src/UI/feedback/NodeLoader.jsx","../src/models/NumberOperator.ts","../src/UI/utilityDisplay/utilities/aggregateUtils.js","../src/UI/dataDisplay/entityHeader/ui/AlertPill.jsx","../src/UI/utilityDisplay/AggregateChip.jsx","../src/utilities/utilityBar/UtilityBarInport.jsx","../src/UI/utilityDisplay/UtilitySideBar.jsx"],"sourcesContent":["import jsonLogic from 'json-logic-js';\n\n/**\n * Constructs an array of object from the object map.\n *\n * @param {Object} obj ex: {\"a\": \"customerID\", \"b\": \"firstName\"}\n * @returns an array of object ex. [{\"variable\": \"a\", \"value\": \"serviceLocationID\"}, {\"variable\": \"b\", \"value\" \"firstName\"}]\n */\nexport const getPropertyMappingList = (obj) => {\n const mappings = [];\n if (obj) {\n const keys = Object.keys(obj);\n keys.forEach((key) => {\n const mappingObj = { variable: key, value: obj[key] };\n mappings.push(mappingObj);\n });\n }\n return mappings;\n};\n\n/**\n * Constructs a map object where variables are keys and values are the values.\n *\n * @param {Array<Object>} properties ex. [{\"variable\": \"a\", \"value\": \"serviceLocationID\"}, {\"variable\": \"b\", \"value\" \"firstName\"}]\n * @returns mapped object ex: {\"a\": \"customerID\", \"b\": \"firstName\"}\n */\nexport const getPropertyMappingObj = (properties) => {\n const mapping = {};\n if (properties?.length) {\n properties.forEach((property) => {\n mapping[property.variable] = property.value;\n });\n }\n return mapping;\n};\n\n/**\n * Maps the keys of mapping to the values of data.\n *\n * @param {Object} mapping ex: {\"a\": \"customerID\", \"b\": \"firstName\"}\n * @param {Object} data ex: {\"customerID\": 1001, \"firstName\": \"John\"}\n * @returns flat object ex: {\"a\": 1001, \"b\": \"John\"}\n */\nexport const mapRuleData = (mapping, data) => {\n const mappedData = {};\n if (mapping && mapping.length) {\n const keys = Object.keys(mapping);\n keys.forEach((key) => {\n const dataKey = mapping[key];\n if (dataKey) {\n const dataValue = data[dataKey];\n mappedData[key] = dataValue;\n }\n });\n }\n return mappedData;\n};\n\n/**\n * Maps the mapping values in the mapping object to the variables in the rule.\n *\n * @param {Object} mapping ex: {\"a\": \"customerID\", \"b\": \"firstName\"}\n * @param {Object} rule ex: {\"or\": [{\"==\": [{\"var\": \"a\"}, 400]}, {\"==\": [{\"var\": \"b\"}, John]}]}\n * @returns jsonLogic object with the correct variable names ex: [{\"==\": [{\"var\": \"customerID\"}, 400]}, {\"==\": [{\"var\": \"firstName\"}, John]}]\n */\nexport const mapRule = (mapping = {}, rule = '') => {\n const keys = Object.keys(mapping);\n let updatedJsonLogic = JSON.stringify(rule);\n keys.forEach((key) => {\n const substr = JSON.stringify({ var: key });\n const newSubstr = JSON.stringify({ var: mapping[key] });\n updatedJsonLogic = updatedJsonLogic.replaceAll(substr, newSubstr);\n });\n try {\n return JSON.parse(updatedJsonLogic);\n } catch (err) {\n console.err('Error with parsing JSON Logic String');\n return {};\n }\n};\n\n/**\n * Evaluates the rule with provided data.\n *\n * @param {Object} rule ex: {\"or\": [{\"==\": [{\"var\": \"customerID\"}, 400]}, {\"==\": [{\"var\": \"firstName\"}, John]}]}\n * @param {Object} data ex: {\"customerID\": 1001, \"firstName\": \"John\"}\n * @param {string} objectKey ex: \"users\"\n * @param {boolean} dataLazyLoaded ex: \"true\"\n * @returns the evaluated rule ex: true\n */\nexport const evaluateRule = (rule, data, objectKey, dataLazyLoaded) => {\n let formattedData = {};\n if (objectKey && dataLazyLoaded) {\n formattedData[objectKey] = data[objectKey] ? data[objectKey] : data;\n } else {\n formattedData = data;\n }\n return jsonLogic.apply(rule, formattedData);\n};\n","import { v4 as uuid } from 'uuid';\nimport { NodeGroupTypeEnums } from '../enums/unitySystemEnums';\n\nexport default class GroupNode {\n id: string;\n isGroupNode: boolean;\n groupType: string;\n children: Array<any>;\n isExpanded: boolean;\n parentId: string;\n parentGroupId: string;\n properties: Object;\n isOutlierGroup: boolean;\n hideEmptyGroups: boolean;\n\n constructor(node: any) {\n this.id = node.id || uuid();\n this.isGroupNode = true;\n this.hideEmptyGroups = node.hideEmptyGroups || false;\n this.groupType = node.groupType || NodeGroupTypeEnums.Static;\n this.children = node.children || [];\n this.isExpanded = node.isExpanded || false;\n this.parentId = node.parentId || null;\n this.parentGroupId = node.parentGroupId || null;\n this.properties = node.properties\n ? {\n propertyMapping: null,\n jsonLogic: null,\n icon: {\n name: 'GroupedListIcon',\n type: '',\n color: ''\n },\n ...node.properties\n }\n : {\n propertyMapping: null,\n jsonLogic: null,\n icon: {\n name: 'GroupedListIcon',\n type: '',\n color: ''\n }\n };\n this.isOutlierGroup = node.isOutlierGroup || false;\n }\n}\n","import * as Icons from '@fluentui/react-icons';\nimport { cloneDeep, orderBy } from 'lodash';\nimport { v4 as uuid } from 'uuid';\nimport { evaluateRule, mapRule } from '../rules/RuleUtilities';\nimport {\n getSearchIdentifiers,\n getSearchObject\n} from '../search/SearchUtilities';\nimport { toLowerFirstChar, toUpperFirstChar } from '../input/StringUtilities';\nimport {\n CardinalityTypeEnums,\n NodeGroupTypeEnums,\n NodeGroupOutlierEnums\n} from '../../enums/unitySystemEnums';\nimport GroupNode from '../../models/GroupNode';\n\nexport const makeTreeStructure = (\n treeData,\n key,\n parentKey,\n parentGroupKey = 'parentGroupId'\n) => {\n if (!treeData) {\n return [];\n }\n const keys = [];\n\n treeData.forEach((node) => {\n node.children = [];\n if (node['isExpanded'] === undefined && !node.isGroupNode) {\n if (\n node.properties.defaultDisplay === 'collapsed' ||\n node.properties.lazyLoad\n ) {\n node.isExpanded = false;\n } else {\n node.isExpanded = true;\n }\n }\n keys.push(node[key]);\n });\n const roots = treeData.filter((node) => {\n return !(node?.isGroupNode ? node[parentGroupKey] : node[parentKey]);\n });\n const nodes = [];\n const existingGroups = [];\n roots.forEach((root) => {\n nodes.push(root);\n });\n while (nodes.length > 0) {\n const node = nodes.pop();\n let children = treeData.filter(\n (data) =>\n data[parentKey] === node[key] || data[parentGroupKey] === node[key]\n );\n children.forEach((child) => {\n if (child?.isGroupNode) {\n const existingGroup = existingGroups.find(\n (eg) => eg.id === child.id && eg.parentGroupId === child.parentGroupId\n );\n if (!existingGroup) {\n existingGroups.push(child);\n node.children.push(child);\n nodes.push(child);\n }\n } else {\n if (\n (node.isGroupNode && child.parentGroupId) ||\n (!node.isGroupNode && !child.parentGroupId)\n ) {\n node.children.push(child);\n nodes.push(child);\n }\n }\n });\n }\n\n const removeEmptyGroupNodes = (node) => {\n if (node?.isGroupNode && node?.hideEmptyGroups && !node?.children?.length) {\n return null;\n }\n node.children = node.children\n .map(removeEmptyGroupNodes)\n .filter((child) => child !== null);\n return node;\n };\n\n const filteredRoots = roots\n .map(removeEmptyGroupNodes)\n .filter((root) => root !== null);\n if (filteredRoots.length === 1) return filteredRoots[0];\n return filteredRoots;\n};\n\nexport const makeTreeStaticGroupStructure = (\n treeData,\n key,\n parentKey,\n groupType = NodeGroupTypeEnums.Static,\n hideEmptyGroups\n) => {\n if (!treeData) {\n return [];\n }\n const keys = [];\n\n treeData.forEach((node, index) => {\n const {\n id,\n hideEmptyGroups,\n children,\n apiMethodInstanceId,\n parentGroupId,\n order,\n isExpanded,\n ...groupProperties\n } = node;\n treeData[index] = new GroupNode({\n id: id,\n groupType,\n children,\n parentId: parentGroupId,\n parentGroupId,\n isExpanded,\n properties: { ...groupProperties }\n });\n\n keys.push(node[key]);\n });\n const roots = treeData.filter((node) => keys.indexOf(node[parentKey]) === -1);\n const nodes = [];\n roots.forEach((root) => {\n nodes.push(root);\n });\n while (nodes.length > 0) {\n const node = nodes.pop();\n let children = treeData.filter((data) => data[parentKey] === node[key]);\n children.forEach((child) => {\n node.children.push(child);\n nodes.push(child);\n });\n }\n if (roots.length === 1) return roots[0];\n return roots;\n};\n\nexport const makeDynamicGroupStructures = (treeStructure, results) => {\n if (!treeStructure) {\n return [];\n }\n const groupStructures = [];\n results.forEach((item) => {\n processDynamicGroupForCurrentNodeLevel(\n item,\n treeStructure,\n groupStructures,\n groupStructures\n );\n });\n\n return groupStructures;\n};\n\nconst processDynamicGroupForCurrentNodeLevel = (\n item,\n node,\n groupStructures,\n previousFilteredGroups = []\n) => {\n const { property, id } = node;\n const label = property ? getLabelFromProperty(item, property) : null;\n // stores the next set of nodes for the current level of the tree\n let filteredGroups = [];\n previousFilteredGroups.forEach((group) => {\n if (group) {\n const foundGroups = findNodesByIdAndLabel(group, id, label);\n if (foundGroups.length) {\n filteredGroups = filteredGroups.concat(foundGroups);\n }\n }\n });\n if (filteredGroups.length) {\n if (node?.children?.length) {\n node.children.forEach((child) =>\n processDynamicGroupForCurrentNodeLevel(\n item,\n child,\n groupStructures,\n filteredGroups\n )\n );\n }\n } else {\n if (label) {\n const dynamicGroupTree = makeDynamicGroupTree(node, item);\n if (node.parentGroupId) {\n // find the parent group structure and make it's children = dynamicGroupTree\n previousFilteredGroups.forEach((filteredGroup) => {\n const matchingGroupNode = findNodeById(\n filteredGroup,\n node.parentGroupId\n );\n if (matchingGroupNode) {\n // set the parentGroupId of the groupTree to matchingGroupNode parent in case\n // parentGroupId does not exist\n dynamicGroupTree.parentGroupId = matchingGroupNode.id;\n matchingGroupNode.children.push(dynamicGroupTree);\n }\n });\n } else {\n groupStructures.push(dynamicGroupTree);\n }\n }\n }\n};\n\nconst makeDynamicGroupTree = (node, item, parentGroupNode) => {\n const {\n id,\n children,\n apiMethodInstanceId,\n parentGroupId,\n order,\n property,\n label,\n isExpanded,\n ...groupProperties\n } = node;\n const updatedLabel = property ? getLabelFromProperty(item, property) : null;\n if (updatedLabel) {\n const groupNode = new GroupNode({\n id: `${id}`,\n groupType: NodeGroupTypeEnums.Dynamic,\n children: [],\n parentGroupId: parentGroupNode?.id || null,\n isExpanded,\n properties: {\n label: updatedLabel,\n ...groupProperties,\n propertyKey: property\n }\n });\n if (parentGroupNode) {\n parentGroupNode.children.push(groupNode);\n }\n if (children?.length) {\n children.forEach((child) => makeDynamicGroupTree(child, item, groupNode));\n }\n\n return groupNode;\n }\n};\n\nexport const makeDynamicTreeStructure = (treeData, key, parentKey) => {\n if (!treeData) {\n return [];\n }\n const keys = [];\n\n treeData.forEach((node, index) => {\n keys.push(node[key]);\n });\n const roots = treeData.filter((node) => keys.indexOf(node[parentKey]) === -1);\n const nodes = [];\n roots.forEach((root) => {\n nodes.push(root);\n });\n while (nodes.length > 0) {\n const node = nodes.pop();\n let children = treeData.filter((data) => data[parentKey] === node[key]);\n children.forEach((child) => {\n node.children.push(child);\n nodes.push(child);\n });\n }\n if (roots.length === 1) return roots[0];\n return roots;\n};\n\nexport const getIconFromName = (name) => {\n if (!name) {\n return null;\n }\n const substr = name.slice(-4);\n if (substr.toLowerCase() !== 'icon') {\n const updatedName = `${name}Icon`;\n return Icons[updatedName] || null;\n } else {\n return Icons[name] || null;\n }\n};\n\nexport const findLastNode = (tree) => {\n let result = null;\n if (!tree?.children?.length) {\n return tree;\n } else {\n if (tree?.children) {\n tree.children.forEach((node) => (result = findLastNode(node)));\n }\n return result;\n }\n};\n\nexport const searchTree = (tree, id) => {\n let result = null;\n if (tree.id === id) {\n return tree;\n } else {\n if (tree.children) {\n tree.children.some((node) => (result = searchTree(node, id)));\n }\n return result;\n }\n};\n\nexport const deleteNode = (treeData, nodeId) => {\n const updatedTreeData = [...treeData];\n const foundNode = updatedTreeData.find((node) => node.id === nodeId);\n const nodeIndex = updatedTreeData.findIndex((node) => node.id === nodeId);\n\n // If it's node is first or last...\n if (\n !foundNode.parentId ||\n !updatedTreeData.some((node) => node.parentId === nodeId)\n ) {\n if (nodeIndex > -1) {\n // Delete the node\n updatedTreeData.splice(nodeIndex, 1);\n }\n const immediateChild = updatedTreeData.find(\n (node) => node.parentId === nodeId\n );\n // Set the immediate child's parent id to null\n if (immediateChild) {\n immediateChild.parentId = null;\n }\n } else {\n foundNode.isDeleted = true;\n foundNode.properties = {};\n }\n return updatedTreeData;\n};\n\nexport const deleteNodeAndChildren = (treeData, nodeId) => {\n const updatedTreeData = [...treeData];\n const nodeIdsToDelete = [];\n nodeIdsToDelete.push(nodeId);\n getAllChildrenNodesToDelete(updatedTreeData, nodeId, nodeIdsToDelete);\n return updatedTreeData.filter((node) => !nodeIdsToDelete.includes(node.id));\n};\n\nexport const getAllChildrenNodesToDelete = (\n treeData,\n nodeId,\n nodeIdsToDelete\n) => {\n const nodesToDelete = treeData.filter((node) => node.parentId === nodeId);\n nodesToDelete.forEach((node) => {\n nodeIdsToDelete.push(node.id);\n getAllChildrenNodesToDelete(treeData, node.id, nodeIdsToDelete);\n });\n};\n\nexport const processCatalogObjectKeysInOrder = (tree, keys) => {\n if (!tree?.children?.length) {\n keys.push(tree?.properties?.catalogObjectKey);\n } else {\n if (tree?.children) {\n if (tree?.properties?.catalogObjectKey) {\n keys.push(tree?.properties?.catalogObjectKey);\n }\n tree.children.forEach((node) =>\n processCatalogObjectKeysInOrder(node, keys)\n );\n }\n }\n};\n\nexport const processOrderedTreeData = (tree, treeData) => {\n if (!tree?.children?.length) {\n treeData.push(tree);\n } else {\n if (tree?.children) {\n treeData.push(tree);\n tree.children.forEach((node) => processOrderedTreeData(node, treeData));\n }\n }\n};\n\n// treeData is ordered by heirarchy\nexport const processObjectToTree = (\n result,\n treeData,\n objectReferenceKeys,\n treeList,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n) => {\n const treeArr = { ...treeData };\n processReferences(\n result,\n objectReferenceKeys,\n treeArr,\n 0,\n treeList,\n null,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n );\n};\n\n/*\n example parameters:\n objectReferenceKeys : [\"customers\", \"customerAccounts\", \"usagePoints\"]\n*/\nexport const processReferences = (\n reference,\n objectReferenceKeys,\n treeData,\n index,\n treeList,\n parentId,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n) => {\n const newIndex = index + 1;\n if (reference) {\n let node = parentId ? treeData[newIndex] : treeData[0];\n let nodeGroups = [];\n if (parentId) {\n if (\n node?.properties?.groupConfiguration?.groupType ===\n NodeGroupTypeEnums.Static\n ) {\n nodeGroups = constructStaticNodeGroups(node, true);\n } else if (\n node?.properties?.groupConfiguration?.groupType ===\n NodeGroupTypeEnums.Dynamic\n ) {\n nodeGroups = constructDynamicNodeGroups(reference, node, true);\n }\n }\n if (Array.isArray(reference) && reference.length) {\n reference.forEach((ref, i) => {\n if (node) {\n const nodeCopy = cloneDeep(node);\n processObjIndex(\n nodeCopy,\n ref,\n i,\n parentId,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n );\n if (nodeGroups.length) {\n if (\n node?.properties?.groupConfiguration?.groupType ===\n NodeGroupTypeEnums.Static\n ) {\n const groupedItemIndexes = new Set();\n let processedItem = { itemAdded: false, nodeChildren: [] };\n nodeGroups.forEach((nodeGroup) => {\n let nodeGroupChildren = [];\n processedItem = processItemForStaticNodeGroup(\n nodeGroup,\n ref,\n groupedItemIndexes,\n nodeCopy,\n i,\n new Set(),\n treeList\n );\n nodeGroupChildren = nodeGroupChildren.concat(\n processedItem.nodeChildren\n );\n mapNodeGroupChildren(nodeGroup, nodeGroupChildren);\n nodeGroup.parentGroupId = nodeCopy.parentId;\n });\n if (\n !processedItem.itemAdded &&\n node?.properties?.groupConfiguration?.outlier ===\n NodeGroupOutlierEnums.Individual\n ) {\n const nodeIsHidden = checkNodeIsHidden(\n nodeCopy,\n ref,\n wasLazyLoaded\n );\n !nodeIsHidden && treeList.push(nodeCopy);\n }\n } else if (\n node?.properties?.groupConfiguration?.groupType ===\n NodeGroupTypeEnums.Dynamic\n ) {\n // Handle constructing dynamic node groups\n // There's a nodeCopy and we want to check what group it belongs to\n nodeGroups.forEach((nodeGroup) => {\n nodeGroup.parentGroupId = nodeCopy.parentId;\n nodeGroup.parentId = nodeCopy.parentId;\n processGroupNodesAndAddToTreeList(\n nodeGroup,\n treeList,\n nodeCopy.parentId,\n ref,\n wasLazyLoaded\n );\n });\n }\n } else {\n const nodeIsHidden = checkNodeIsHidden(\n nodeCopy,\n ref,\n wasLazyLoaded\n );\n !nodeIsHidden && treeList.push(nodeCopy);\n }\n\n if (nodeCopy?.children?.length) {\n const objectReferenceKeysCopy = [...objectReferenceKeys];\n nodeCopy.children.forEach((childNode, i) => {\n const catalogObjectKey = childNode?.properties?.catalogObjectKey;\n const nextIndex =\n objectReferenceKeysCopy.indexOf(catalogObjectKey);\n if (!parentId) {\n objectReferenceKeysCopy[nextIndex] = null;\n }\n processReferences(\n ref[catalogObjectKey],\n objectReferenceKeys,\n treeData,\n nextIndex,\n treeList,\n nodeCopy.id,\n catalogObjects,\n promotedEntities,\n nodeCopy.properties.lazyLoad\n );\n });\n }\n }\n });\n } else if (typeof reference === 'object' && !Array.isArray(reference)) {\n processObjIndex(\n node,\n reference,\n 0,\n parentId,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n );\n if (node) {\n const nodeCopy = cloneDeep(node);\n const nodeIsHidden = checkNodeIsHidden(\n nodeCopy,\n reference,\n wasLazyLoaded\n );\n !nodeIsHidden && treeList.push(nodeCopy);\n if (nodeCopy?.children?.length) {\n const objectReferenceKeysCopy = [...objectReferenceKeys];\n nodeCopy.children.forEach((childNode, i) => {\n const catalogObjectKey = childNode?.properties?.catalogObjectKey;\n const nextIndex = parentId\n ? newIndex\n : objectReferenceKeysCopy.indexOf(catalogObjectKey);\n if (!parentId) {\n objectReferenceKeysCopy[nextIndex] = null;\n }\n processReferences(\n reference[catalogObjectKey],\n objectReferenceKeys,\n treeData,\n nextIndex,\n treeList,\n nodeCopy.id,\n catalogObjects,\n promotedEntities,\n nodeCopy.properties.lazyLoad\n );\n });\n }\n }\n }\n }\n};\n\n// Updates current node object properties with data it needs to be rendered\nexport const processObjIndex = (\n node,\n obj,\n index,\n parentId,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n) => {\n if (node.properties.conditionalNodeIconExpression) {\n const conditionalNodeIcon = evaluateRule(\n node.properties.conditionalNodeIconExpression,\n obj,\n node.properties?.joiningEntityCatalogObjectKey,\n wasLazyLoaded\n );\n if (conditionalNodeIcon) {\n node.properties['conditionalNodeIconName'] =\n conditionalNodeIcon?.name || '';\n node.properties['conditionalNodeIconColor'] =\n conditionalNodeIcon?.iconColor?.hex;\n node.properties['conditionalNodeIconType'] =\n conditionalNodeIcon?.type || '';\n } else {\n // explicitly sets it to empty string due to other conditional icons setting the node properties\n node.properties['conditionalNodeIconName'] = '';\n node.properties['conditionalNodeIconColor'] = '';\n node.properties['conditionalNodeIconType'] = '';\n }\n }\n // due to the original adornments being stored as conditionalIcons, we need to check the conditionalIconExpression as a fallback\n if (\n node.properties.conditionalNodeAdornmentExpression ||\n node.properties.conditionalIconExpression\n ) {\n const conditionalNodeAdornment = node.properties\n .conditionalNodeAdornmentExpression\n ? evaluateRule(\n node.properties.conditionalNodeAdornmentExpression,\n obj,\n node.properties?.joiningEntityCatalogObjectKey,\n wasLazyLoaded\n )\n : evaluateRule(\n node.properties.conditionalIconExpression,\n obj,\n node.properties?.joiningEntityCatalogObjectKey,\n wasLazyLoaded\n );\n\n if (conditionalNodeAdornment) {\n node.properties['conditionalNodeAdornmentName'] =\n conditionalNodeAdornment?.name || '';\n node.properties['conditionalNodeAdornmentColor'] =\n conditionalNodeAdornment?.iconColor?.hex;\n node.properties['conditionalNodeAdornmentType'] =\n conditionalNodeAdornment?.type || '';\n } else {\n // explicitly sets it to empty string due to other conditional icons setting the node properties\n node.properties['conditionalNodeAdornmentName'] = '';\n node.properties['conditionalNodeAdornmentColor'] = '';\n node.properties['conditionalNodeAdornmentType'] = '';\n }\n }\n\n if (node.properties.catalogReturnObject) {\n let searchIdentifiers = getSearchIdentifiers(\n catalogObjects,\n node.properties.catalogReturnObject\n );\n node.properties['searchIdentifier'] = searchIdentifiers?.join(',');\n const associatedTreePrimaryKeyMap =\n node.properties.associatedTreePrimaryKeyMap;\n if (!!associatedTreePrimaryKeyMap) {\n searchIdentifiers = Object.keys(associatedTreePrimaryKeyMap);\n node.properties['searchIdentifier'] = searchIdentifiers;\n }\n\n node.properties['filterElements'] = [];\n const searchValues = [];\n const joiningEntityCatalogObjectKey =\n node?.properties?.joiningEntityCatalogObjectKey;\n searchIdentifiers.forEach((searchIdentifier) => {\n const searchField = searchIdentifier\n ? searchIdentifier.charAt(0).toUpperCase() + searchIdentifier.slice(1)\n : '';\n let searchValue = '';\n let si = associatedTreePrimaryKeyMap?.[searchIdentifier]\n ? associatedTreePrimaryKeyMap?.[searchIdentifier]\n : searchIdentifier;\n if (obj[si]) {\n searchValue = obj[si];\n } else if (joiningEntityCatalogObjectKey) {\n searchValue = obj[joiningEntityCatalogObjectKey]\n ? obj[joiningEntityCatalogObjectKey][si]\n : '';\n }\n node.properties['filterElements'].push({\n searchField: searchField,\n searchOperator: '=',\n searchValue: searchValue ?? ''\n });\n searchValues.push(searchValue);\n });\n node.properties['searchValue'] = searchValues.toString();\n }\n node.properties['nodeLabel'] = getDisplayName(node, obj);\n node.properties['nodeSubLabel'] = getDisplayDetails(node, obj);\n node.properties['headerTitle'] = getHeaderTitle(node, obj);\n\n node.parentId = parentId;\n node['entityNodeParentId'] = parentId;\n node.id = uuid();\n node.nodeObj = obj;\n\n if (node?.properties?.lazyLoad) {\n node.lazyLoadChildrenArr = getLazyLoadChildrenArr(\n node,\n catalogObjects,\n promotedEntities\n );\n }\n};\n\nconst getEntityAssoc = (nodeEntity, node) => {\n let entityAssoc = null;\n if (nodeEntity) {\n const referenceProperty = nodeEntity.properties.find((property) => {\n if (node.properties?.joiningEntityName) {\n return property.reference === node.properties?.joiningEntityName;\n } else {\n return property.reference === node.properties?.catalogReturnObject;\n }\n });\n entityAssoc = referenceProperty\n ? referenceProperty.extendedProperties?.childEntityAssoc\n : null;\n }\n return entityAssoc;\n};\n\nexport const getLazyLoadChildrenArr = (\n node,\n catalogObjects,\n promotedEntities\n) => {\n const lazyLoadChildrenArr = [];\n let defaultSearchIdentifiers = [];\n if (node?.properties?.catalogReturnObject) {\n defaultSearchIdentifiers = getSearchIdentifiers(\n catalogObjects,\n node.properties.catalogReturnObject\n );\n }\n node &&\n node.children &&\n node.children.forEach((childNode) => {\n const lazyNodeSearchObj = {\n apiMethodId: null,\n data: null,\n parentNodeRefKey: childNode.properties?.catalogObjectKey,\n catalogReturnObject: childNode.properties?.catalogReturnObject\n };\n const entityName = childNode.properties?.catalogReturnObject;\n const promotedEntity = promotedEntities?.find(\n (pe) => pe.entityName === entityName\n );\n let searchIdentifiers = [];\n const filterElements = [];\n if (promotedEntity) {\n // Use base search method to be the method for lazy loading node\n let baseSearch = promotedEntity.unityBaseSearchMethod;\n // Used for many-to-many subsequent entity search\n let childBaseSearch = promotedEntity.unityBaseSearchMethod;\n const nodeEntity = catalogObjects?.find(\n (co) => co.catalogObjectName === node.properties?.catalogReturnObject\n );\n let isManyToManySearch = false;\n let usingJoiningTableForSearch = false;\n if (nodeEntity) {\n const childEntityAssoc = getEntityAssoc(nodeEntity, childNode);\n let joiningEntityName = null;\n let promotedEntityForJoiningTable = null;\n // process many-to-many association to get the joined table information\n if (\n childEntityAssoc.Cardinality === CardinalityTypeEnums.Many_To_Many\n ) {\n isManyToManySearch = true;\n lazyNodeSearchObj['manyToManyKeys'] = [];\n joiningEntityName = childNode.properties?.joiningEntityName;\n promotedEntityForJoiningTable = promotedEntities?.find(\n (pe) => pe.entityName === joiningEntityName\n );\n\n // if there is a many-to-many joining table search method, we should use that for searching\n if (promotedEntityForJoiningTable?.unityBaseSearchMethod) {\n baseSearch = promotedEntityForJoiningTable.unityBaseSearchMethod;\n // this is basically the property that identifies whether or not to make an additional network call\n // to get the entity data\n lazyNodeSearchObj.manyToManyJointEntityApiMethodId =\n childBaseSearch?.apiMethodId;\n usingJoiningTableForSearch = true;\n }\n\n const childNodeEntity = catalogObjects.find(\n (co) =>\n co.catalogObjectName ===\n childNode.properties?.catalogReturnObject\n );\n\n const entityAssoc = getEntityAssoc(childNodeEntity, childNode);\n if (entityAssoc && Object.keys(entityAssoc).length) {\n entityAssoc.Keys.forEach((keyVal) => {\n const keyValArr = keyVal.split(',');\n const foreignKeyName = keyValArr[0] ? keyValArr[0].trim() : '';\n const parentIdentifierName = keyValArr[1]\n ? keyValArr[1].trim()\n : '';\n const searchValueKey = /^[A-Z]*$/.test(parentIdentifierName)\n ? parentIdentifierName.toLowerCase()\n : toLowerFirstChar(parentIdentifierName);\n lazyNodeSearchObj['manyToManyKeys'].push({\n searchItemIdentifier: usingJoiningTableForSearch\n ? /^[A-Z]*$/.test(foreignKeyName)\n ? foreignKeyName.toLowerCase()\n : toLowerFirstChar(foreignKeyName)\n : searchValueKey,\n searchNameKey: foreignKeyName,\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n searchValueKey: searchValueKey\n });\n });\n }\n }\n\n if (childEntityAssoc && Object.keys(childEntityAssoc).length) {\n childEntityAssoc.Keys.forEach((keyVal) => {\n const keyValArr = keyVal.split(',');\n let searchJoiningEntity = '';\n if (\n !isManyToManySearch &&\n node.nodeObj.hasOwnProperty(\n node.properties.joiningEntityCatalogObjectKey\n )\n ) {\n searchJoiningEntity =\n node.properties.joiningEntityCatalogObjectKey;\n }\n const foreignKeyName = keyValArr[0] ? keyValArr[0].trim() : '';\n const parentIdentifierName = keyValArr[1]\n ? keyValArr[1].trim()\n : '';\n let siObj = {\n searchNameKey: parentIdentifierName,\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n searchValueKey: /^[A-Z]*$/.test(foreignKeyName)\n ? foreignKeyName.toLowerCase()\n : toLowerFirstChar(foreignKeyName),\n searchJoiningEntity: searchJoiningEntity\n };\n if (isManyToManySearch && !usingJoiningTableForSearch) {\n siObj = {\n searchNameKey: foreignKeyName,\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n searchValueKey: /^[A-Z]*$/.test(foreignKeyName)\n ? foreignKeyName.toLowerCase()\n : toLowerFirstChar(foreignKeyName)\n };\n }\n if (isManyToManySearch) {\n if (\n childNode.properties?.catalogObjectKey &&\n childNode.properties?.joiningEntityCatalogObjectLeftKey\n ) {\n siObj['joiningEntityKeyName'] = toUpperFirstChar(\n !usingJoiningTableForSearch\n ? childNode.properties?.joiningEntityChildKey\n : childNode.properties?.catalogObjectKey\n );\n siObj['joiningEntityCatalogObjectLeftKeyName'] =\n toUpperFirstChar(\n childNode.properties?.joiningEntityCatalogObjectLeftKey\n );\n }\n if (promotedEntityForJoiningTable?.unityBaseSearchMethod) {\n siObj['joiningEntityKeyName'] = null;\n siObj['joiningEntityCatalogObjectLeftKeyName'] = null;\n }\n }\n searchIdentifiers.push(siObj);\n });\n }\n }\n\n // If there are no search identifiers, then use the default one retrieved from catalog entities\n if (!searchIdentifiers.length) {\n defaultSearchIdentifiers.forEach((searchIdentifier) => {\n const siObj = {\n searchNameKey: searchIdentifier,\n searchValueKey: searchIdentifier\n };\n if (\n childNode.properties?.catalogObjectKey &&\n childNode.properties?.joiningEntityCatalogObjectLeftKey\n ) {\n siObj['joiningEntityKeyName'] = toUpperFirstChar(\n childNode.properties?.catalogObjectKey\n );\n siObj['joiningEntityCatalogObjectLeftKeyName'] = toUpperFirstChar(\n childNode.properties?.joiningEntityCatalogObjectLeftKey\n );\n }\n searchIdentifiers.push(siObj);\n });\n }\n\n searchIdentifiers.forEach((si) => {\n // value come's from parent node object\n let searchValue = '';\n if (si?.searchJoiningEntity) {\n searchValue =\n node.nodeObj[si.searchJoiningEntity][si.searchValueKey];\n } else {\n if (usingJoiningTableForSearch) {\n const joiningEntityCatalogObjectKey =\n node?.properties?.joiningEntityCatalogObjectKey;\n const value = node?.nodeObj?.[joiningEntityCatalogObjectKey];\n searchValue = value\n ? value[si.searchValueKey]\n : node.nodeObj[si.searchValueKey];\n } else {\n searchValue = node.nodeObj[si.searchValueKey];\n }\n }\n let formattedPropertyName = toUpperFirstChar(si.searchNameKey);\n if (\n si['joiningEntityKeyName'] &&\n si['joiningEntityCatalogObjectLeftKeyName']\n ) {\n formattedPropertyName = `${si['joiningEntityKeyName']}.${si['joiningEntityCatalogObjectLeftKeyName']}.${formattedPropertyName}`;\n }\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: searchValue,\n searchOperator: '='\n });\n });\n lazyNodeSearchObj.data = getSearchObject(filterElements, 1, 50);\n lazyNodeSearchObj.apiMethodId = baseSearch?.apiMethodId || null;\n lazyLoadChildrenArr.push(lazyNodeSearchObj);\n } else {\n console.log('Error: Promote ' + entityName + ' entity');\n node.errorRetrievingChildren =\n 'Error: Promote ' + entityName + ' child entity';\n }\n });\n return lazyLoadChildrenArr;\n};\n\nexport const formatTreeMenuItem = (\n responseObject,\n treeStructure,\n catalogObjects,\n promotedEntities,\n associatedInquiryTree,\n wasLazyLoaded\n) => {\n if (!responseObject) return null;\n const tree = cloneDeep(treeStructure);\n const orderedKeys = [];\n const orderedTreeData = [];\n const treeArr = [];\n processCatalogObjectKeysInOrder(tree, orderedKeys);\n processOrderedTreeData(tree, orderedTreeData);\n processObjectToTree(\n responseObject,\n orderedTreeData,\n orderedKeys,\n treeArr,\n catalogObjects,\n promotedEntities,\n wasLazyLoaded\n );\n\n const displayTree = makeTreeStructure(treeArr, 'id', 'parentId');\n displayTree['associatedInquiryTree'] = associatedInquiryTree;\n displayTree['wasLazyLoaded'] = wasLazyLoaded;\n return displayTree;\n};\n\nexport const expandAllNodes = (tree) => {\n tree.isExpanded = true;\n if (tree?.children) {\n tree.children.forEach((node) => expandAllNodes(node));\n }\n};\n\nexport const collapseAllNodes = (tree) => {\n tree.isExpanded = false;\n if (tree?.children) {\n tree.children.forEach((node) => collapseAllNodes(node));\n }\n};\n\nexport const findAllParentIds = (\n menuItems,\n currentParentNode,\n allParentIds = []\n) => {\n if (currentParentNode?.parentId) {\n allParentIds.push(currentParentNode?.parentId);\n const newParentNode = searchTree(menuItems, currentParentNode?.parentId);\n findAllParentIds(menuItems, newParentNode, allParentIds);\n }\n\n return allParentIds;\n};\n\nexport const formatTreeLabel = (label, obj) => {\n const fields = label?.split('+');\n const keys = fields?.map((field) => field.trim());\n if (keys) {\n const skippableKeys = [];\n const updatedKeys = keys.map((key, index) => {\n const matchedKey = key.charAt(0) === '\"';\n if (matchedKey) {\n skippableKeys.push(index);\n key = key.replace(/\"/g, '');\n }\n return key;\n });\n const values = [];\n for (let j = 0; j < keys.length; j++) {\n let property = keys[j];\n if (property) {\n const splitProperties = property.split('.');\n if (splitProperties.length > 1) {\n let constructedValue = null;\n splitProperties.forEach((property) => {\n const matches = property.match(/\\[(.*?)\\]/);\n let objIndex = null;\n let arrIndex = null;\n if (matches) {\n arrIndex = parseInt(matches[1]);\n objIndex = matches.index;\n }\n if (typeof arrIndex === 'number' && objIndex) {\n const formattedProperty = property.substring(0, objIndex);\n if (!constructedValue) {\n if (obj[formattedProperty]) {\n constructedValue = obj[formattedProperty][arrIndex];\n }\n } else {\n if (constructedValue[formattedProperty]) {\n constructedValue =\n constructedValue[formattedProperty][arrIndex];\n }\n }\n } else {\n if (!constructedValue) {\n constructedValue = obj[property];\n } else {\n constructedValue = constructedValue[property];\n }\n }\n });\n if (\n typeof constructedValue === 'boolean' ||\n typeof constructedValue === 'number'\n ) {\n constructedValue = constructedValue.toString();\n }\n values.push(constructedValue);\n continue;\n }\n }\n let value = obj[property];\n if (typeof value === 'boolean' || typeof value === 'number') {\n value = value.toString();\n }\n values.push(value);\n }\n let displayName = updatedKeys.join('+');\n for (let k = 0; k < updatedKeys.length; k++) {\n if (!skippableKeys.includes(k)) {\n if (values[k]) {\n displayName = displayName.replace(`${updatedKeys[k]}`, values[k]);\n } else {\n displayName = displayName.replace(`${updatedKeys[k]}`, '');\n }\n }\n }\n\n return displayName.replaceAll('+', ' ');\n } else {\n return label;\n }\n};\n\nexport const getDisplayName = (node, obj) => {\n return formatTreeLabel(node.properties['displayName'], obj);\n};\n\nexport const getDisplayDetails = (node, obj) => {\n return formatTreeLabel(node.properties['displayDetails'], obj);\n};\n\nexport const getHeaderTitle = (node, obj) => {\n return formatTreeLabel(node.properties['headerName'], obj);\n};\n\nexport const searchForMatchingNode = (\n tree,\n nodeObj = {},\n searchIdentifiers = []\n) => {\n let result = null;\n let match = true;\n searchIdentifiers.forEach((searchIdentifier) => {\n if (tree?.nodeObj[searchIdentifier] !== nodeObj[searchIdentifier]) {\n match = false;\n }\n });\n if (match && searchIdentifiers.length) {\n return tree;\n } else {\n if (tree.children) {\n tree.children.some(\n (node) =>\n (result = searchForMatchingNode(node, nodeObj, searchIdentifiers))\n );\n }\n return result;\n }\n};\n\nexport const getNodeIdForRightBorder = (expandedNodeIds, node, parentId) => {\n if (!expandedNodeIds.includes(node?.id)) {\n return node.id;\n }\n if (!expandedNodeIds.includes(parentId)) {\n const foundParentNode = node.children.find((item) => item.id === parentId);\n if (foundParentNode) {\n if (expandedNodeIds.includes(foundParentNode?.parentId)) {\n return parentId;\n } else {\n return getNodeIdForRightBorder(\n expandedNodeIds,\n foundParentNode,\n foundParentNode?.parentId\n );\n }\n }\n } else {\n return parentId;\n }\n};\n\nexport const findNodeById = (tree, id) => {\n let result = null;\n if (tree?.id === id) {\n return tree;\n } else {\n if (tree.children) {\n tree.children.some((node) => (result = findNodeById(node, id)));\n }\n return result;\n }\n};\n\nexport const findNodeByIdAndLabel = (tree, id, label) => {\n let result = null;\n if (tree?.id === id && tree?.properties?.label === label) {\n return tree;\n } else {\n if (tree.children) {\n tree.children.some((node) => (result = findNodeById(node, id, label)));\n }\n return result;\n }\n};\n\nexport const findNodesByIdAndLabel = (tree, id, label) => {\n let results = [];\n if (tree?.id === id && tree?.properties?.label === label) {\n results.push(tree);\n }\n if (tree.children) {\n tree.children.forEach((node) => {\n results = results.concat(findNodesByIdAndLabel(node, id, label));\n });\n }\n return results;\n};\n\nconst updateNodeForStaticGrouping = (\n displayTree,\n nodeGroup,\n nodeChildren,\n treeList,\n scopedGroupItemIndexes,\n groupedItemIndexes,\n index,\n item\n) => {\n // Only clone deep on children to handle multiple of same node\n // references in different groups.\n const updatedDisplayTree = { ...displayTree };\n const nodeIsHidden = checkNodeIsHidden(updatedDisplayTree, item, false);\n if (!nodeIsHidden) {\n updatedDisplayTree.children = displayTree.children\n ? cloneDeep(displayTree.children)\n : displayTree.children;\n updatedDisplayTree['parentId'] = nodeGroup.id;\n updatedDisplayTree['parentGroupId'] = nodeGroup.id;\n updatedDisplayTree['parentGroupName'] = nodeGroup.properties.label;\n if (updatedDisplayTree.isGroupNode) {\n nodeGroup.children.push(updatedDisplayTree);\n } else {\n nodeChildren.push(updatedDisplayTree);\n }\n if (treeList) {\n treeList.push(updatedDisplayTree);\n }\n scopedGroupItemIndexes.add(index);\n groupedItemIndexes.add(index);\n }\n};\n\nexport const processItemForStaticNodeGroup = (\n nodeGroup,\n item,\n groupedItemIndexes,\n displayTree,\n index,\n scopedGroupItemIndexes = new Set(),\n treeList,\n nodeChildren = []\n) => {\n if (\n nodeGroup?.properties?.propertyMapping &&\n nodeGroup?.properties?.jsonLogic\n ) {\n const rule = mapRule(\n nodeGroup?.properties?.propertyMapping,\n nodeGroup?.properties?.jsonLogic\n );\n if (\n rule &&\n evaluateRule(\n rule,\n item,\n item.properties?.joiningEntityCatalogObjectKey,\n false\n )\n ) {\n let itemAdded = false;\n nodeGroup.children.forEach((childGroup) => {\n if (childGroup.isGroupNode) {\n const processedItem = processItemForStaticNodeGroup(\n childGroup,\n item,\n groupedItemIndexes,\n displayTree,\n index,\n childGroup.children.length ? new Set() : scopedGroupItemIndexes,\n treeList,\n nodeChildren\n ) || { itemAdded };\n itemAdded = processedItem?.itemAdded;\n }\n });\n if (!itemAdded) {\n updateNodeForStaticGrouping(\n displayTree,\n nodeGroup,\n nodeChildren,\n treeList,\n scopedGroupItemIndexes,\n groupedItemIndexes,\n index,\n item\n );\n itemAdded = true;\n }\n }\n } else {\n if (nodeGroup.isOutlierGroup && !groupedItemIndexes.has(index)) {\n updateNodeForStaticGrouping(\n displayTree,\n nodeGroup,\n nodeChildren,\n treeList,\n scopedGroupItemIndexes,\n groupedItemIndexes,\n index,\n item\n );\n }\n }\n if (treeList && nodeGroup.isGroupNode) {\n // Handles duplicates\n const existingGroup = treeList\n .filter((node) => node.isGroupNode)\n .find((eg) => eg.id === nodeGroup.id);\n if (!existingGroup) {\n const nodeIsHidden = checkNodeIsHidden(nodeGroup, item, false);\n !nodeIsHidden && treeList.push(nodeGroup);\n }\n }\n return { itemAdded: groupedItemIndexes.has(index), nodeChildren };\n};\nexport const constructStaticNodeGroups = (tree, shouldUseNewId = false) => {\n const nodeGroups = [];\n const groupConfiguration = tree?.properties?.groupConfiguration;\n const groupType = groupConfiguration?.groupType || NodeGroupTypeEnums.Static;\n const hideEmptyGroups = groupConfiguration?.hideEmptyGroups;\n\n if (\n groupConfiguration?.enabled &&\n groupConfiguration?.groupings[groupType]?.length\n ) {\n groupConfiguration.groupings[groupType].forEach((grouping) => {\n // Order By Group order\n const orderedGroups = orderByGroupOrder(grouping?.groups);\n // key is old id value is new id\n const newIdMap = {};\n orderedGroups.forEach((group) => {\n if (shouldUseNewId) {\n newIdMap[group.id] = uuid();\n }\n group['children'] = [];\n });\n if (Object.keys(newIdMap).length) {\n orderedGroups.forEach((group) => {\n if (newIdMap[group.id]) {\n group.id = newIdMap[group.id];\n }\n if (newIdMap[group.parentGroupId]) {\n group.parentGroupId = newIdMap[group.parentGroupId];\n }\n });\n }\n if (orderedGroups?.length) {\n // Get the first group where it doesn't have parentGroupId\n const firstGroup =\n orderedGroups.find((group) => !group.parentGroupId) ||\n orderedGroups[0];\n orderedGroups.shift();\n // make tree group structure\n const displayTree = makeTreeStaticGroupStructure(\n orderedGroups,\n 'id',\n 'parentGroupId',\n groupType,\n hideEmptyGroups\n );\n const { id, isExpanded, ...firstGroupProperties } = firstGroup;\n const groupNode = new GroupNode({\n id,\n hideEmptyGroups,\n groupType,\n children: Array.isArray(displayTree) ? displayTree : [displayTree],\n isExpanded,\n properties: { ...firstGroupProperties }\n });\n nodeGroups.push(groupNode);\n }\n });\n\n if (groupConfiguration?.outlier === 'group') {\n const outlierGroup = new GroupNode({\n groupType,\n isOutlierGroup: true,\n properties: {\n label:\n groupConfiguration?.outlierGroupLabel || 'Unlabeled Outlier Group',\n icon: groupConfiguration?.outlierIcon\n }\n });\n nodeGroups.push(outlierGroup);\n }\n }\n\n return nodeGroups;\n};\n\nexport const getOrderedDynamicGroups = (tree, shouldUseNewId = false) => {\n const groupConfiguration = tree?.properties?.groupConfiguration;\n const groupType = groupConfiguration?.groupType || NodeGroupTypeEnums.Dynamic;\n let orderedGroups = [];\n\n if (\n groupConfiguration?.enabled &&\n groupConfiguration?.groupings[groupType]?.length\n ) {\n groupConfiguration.groupings[groupType].forEach((grouping) => {\n // Order By Group order\n orderedGroups = orderByGroupOrder(grouping?.groups);\n // key is old id value is new id\n const newIdMap = {};\n orderedGroups.forEach((group) => {\n if (shouldUseNewId) {\n newIdMap[group.id] = uuid();\n }\n group['children'] = [];\n });\n if (Object.keys(newIdMap).length) {\n orderedGroups.forEach((group) => {\n if (newIdMap[group.id]) {\n group.id = newIdMap[group.id];\n }\n if (newIdMap[group.parentGroupId]) {\n group.parentGroupId = newIdMap[group.parentGroupId];\n }\n });\n }\n });\n }\n return orderedGroups;\n};\n\nexport const constructDynamicNodeGroups = (\n results,\n tree,\n shouldUseNewId = false\n) => {\n let nodeGroups = [];\n const groupConfiguration = tree?.properties?.groupConfiguration;\n const groupType = groupConfiguration?.groupType || NodeGroupTypeEnums.Dynamic;\n\n if (\n groupConfiguration?.enabled &&\n groupConfiguration?.groupings[groupType]?.length\n ) {\n groupConfiguration.groupings[groupType].forEach((grouping) => {\n // Order By Group order\n const orderedGroups = orderByGroupOrder(grouping?.groups);\n // key is old id value is new id\n const newIdMap = {};\n orderedGroups.forEach((group) => {\n if (shouldUseNewId) {\n newIdMap[group.id] = uuid();\n }\n group['children'] = [];\n });\n if (Object.keys(newIdMap).length) {\n orderedGroups.forEach((group) => {\n if (newIdMap[group.id]) {\n group.id = newIdMap[group.id];\n }\n if (newIdMap[group.parentGroupId]) {\n group.parentGroupId = newIdMap[group.parentGroupId];\n }\n });\n }\n if (orderedGroups?.length) {\n const isSingleGroup = orderedGroups.length === 1;\n const dynamicTreeStructure = makeDynamicTreeStructure(\n orderedGroups,\n 'id',\n 'parentGroupId'\n );\n\n const groupSet = makeDynamicGroupStructures(\n dynamicTreeStructure,\n results\n );\n\n results.forEach((item, index) => {\n const orderedKeys = [];\n const orderedTreeData = [];\n const treeArr = [];\n const innerGroupList = [];\n processCatalogObjectKeysInOrder(tree, orderedKeys);\n processOrderedTreeData(tree, orderedTreeData);\n processObjectToTree(\n item,\n orderedTreeData,\n orderedKeys,\n treeArr,\n null,\n null,\n false,\n innerGroupList\n );\n const displayTree = makeTreeStructure(treeArr, 'id', 'parentId');\n const updatedDisplayTree = cloneDeep(displayTree);\n const nodeIsHidden = checkNodeIsHidden(\n updatedDisplayTree,\n item,\n false\n );\n !nodeIsHidden &&\n processItemForDynamicNodeGroups(\n updatedDisplayTree,\n dynamicTreeStructure,\n groupSet,\n groupSet,\n isSingleGroup\n );\n });\n groupSet.forEach((group) =>\n updateTreeIds(group, null, uuid(), uuid(), null)\n );\n nodeGroups = nodeGroups.concat(groupSet);\n }\n });\n }\n\n return nodeGroups;\n};\n\nconst getLabelFromProperty = (item, property) => {\n const splitProperties = property.split('.');\n if (splitProperties.length) {\n let constructedValue = null;\n splitProperties.forEach((property) => {\n const matches = property.match(/\\[(.*?)\\]/);\n let objIndex = null;\n let arrIndex = null;\n if (matches) {\n arrIndex = parseInt(matches[1]);\n objIndex = matches.index;\n }\n if (typeof arrIndex === 'number' && objIndex) {\n const formattedProperty = property.substring(0, objIndex);\n if (!constructedValue) {\n if (item[formattedProperty]) {\n constructedValue = item[formattedProperty][arrIndex];\n }\n } else {\n if (constructedValue[formattedProperty]) {\n constructedValue = constructedValue[formattedProperty][arrIndex];\n }\n }\n } else {\n if (!constructedValue) {\n constructedValue = item ? item[property] : '';\n } else {\n constructedValue = constructedValue[property];\n }\n }\n });\n return constructedValue;\n }\n return null;\n};\n\nexport const constructBusinessObjectArrFromTree = (\n node,\n businessObjects = []\n) => {\n if (node?.nodeObj) {\n // construct the businessObject\n const businessObject = { label: '', value: '', domainObject: '' };\n const joiningEntityCatalogObjectKey =\n node.properties?.joiningEntityCatalogObjectKey;\n const displayName = node.properties?.displayName;\n if (joiningEntityCatalogObjectKey) {\n const jointEntity = node.nodeObj[joiningEntityCatalogObjectKey];\n businessObject.label =\n formatTreeLabel(displayName, node.nodeObj) ||\n jointEntity?.businessObjectKey;\n businessObject.value = jointEntity?.businessObjectKey;\n businessObject.domainObject = node.properties?.catalogReturnObject;\n } else {\n const entity = node.nodeObj;\n businessObject.label =\n formatTreeLabel(displayName, node.nodeObj) || entity?.businessObjectKey;\n businessObject.value = entity?.businessObjectKey;\n businessObject.domainObject = node.properties?.catalogReturnObject;\n }\n businessObjects.push(businessObject);\n }\n if (node?.children?.length) {\n node.children.forEach((childNode) =>\n constructBusinessObjectArrFromTree(childNode, businessObjects)\n );\n }\n return businessObjects;\n};\n\nexport const processItemForDynamicNodeGroups = (\n displayTree,\n node,\n groupNodes,\n previousFilteredGroups = [],\n isSingleGroup = false\n) => {\n const { property, id } = node;\n const item = displayTree?.nodeObj;\n const label = property ? getLabelFromProperty(item, property) : null;\n // stores the next set of nodes for the current level of the tree\n let filteredGroups = [];\n previousFilteredGroups.forEach((group) => {\n if (group) {\n const foundGroups = findNodesByIdAndLabel(group, id, label);\n if (foundGroups.length) {\n filteredGroups = filteredGroups.concat(foundGroups);\n }\n }\n });\n if (filteredGroups.length) {\n if (node?.children?.length) {\n node.children.forEach((child) =>\n processItemForDynamicNodeGroups(\n displayTree,\n child,\n groupNodes,\n filteredGroups,\n isSingleGroup\n )\n );\n } else {\n filteredGroups.forEach((filteredGroup) => {\n const matchingGroupNode = findNodeByIdAndLabel(\n filteredGroup,\n node.id,\n label\n );\n if (matchingGroupNode) {\n displayTree['parentGroupId'] = matchingGroupNode.id;\n matchingGroupNode.children.push(displayTree);\n }\n });\n }\n } else {\n if (isSingleGroup) {\n groupNodes.push(displayTree);\n } else {\n // if there isn't a match for the current level of the tree for the item,\n // if there are any previous level groups, then add it to their children\n previousFilteredGroups.forEach((filteredGroup) => {\n if (filteredGroup) {\n displayTree['parentGroupId'] = filteredGroup.id;\n filteredGroup.children.push(displayTree);\n }\n });\n }\n }\n};\n\nconst orderByGroupOrder = (groups = []) => {\n return orderBy(groups, ['order'], ['asc']);\n};\n\nexport const updateTreeIds = (\n node,\n lastEntityNodeId,\n newId = uuid(),\n newParentId = uuid(),\n parentGroupName = null\n) => {\n let entityNodeParentId = lastEntityNodeId;\n if (node) {\n node.id = newId;\n if (node.parentId || node.parentGroupId) {\n node.parentId = newParentId;\n node.parentGroupId = newParentId;\n }\n if (parentGroupName) {\n node['parentGroupName'] = parentGroupName;\n }\n\n if (!node.isGroupNode && entityNodeParentId) {\n node['entityNodeParentId'] = entityNodeParentId;\n }\n if (!node.isGroupNode) {\n entityNodeParentId = node.id;\n }\n }\n\n // traverse the children recursively and update their ids and parentIds\n if (node?.children?.length) {\n node.children.forEach((child) =>\n updateTreeIds(child, entityNodeParentId, uuid(), newId, parentGroupName)\n );\n }\n};\n\nconst processGroupNodesAndAddToTreeList = (\n node,\n treeList,\n lastEntityNodeId,\n item,\n wasLazyLoaded\n) => {\n let entityNodeParentId = lastEntityNodeId;\n if (treeList) {\n // handle duplicates\n if (!treeList.find((tree) => tree.id === node.id)) {\n if (!node.isGroupNode && entityNodeParentId) {\n node['entityNodeParentId'] = entityNodeParentId;\n }\n if (!node.isGroupNode) {\n entityNodeParentId = node.id;\n }\n const nodeIsHidden = checkNodeIsHidden(node, item, wasLazyLoaded);\n !nodeIsHidden && treeList.push(node);\n }\n }\n\n // traverse the children and add to treeList\n if (node?.children?.length) {\n node.children.forEach((child) =>\n processGroupNodesAndAddToTreeList(\n child,\n treeList,\n entityNodeParentId,\n item,\n wasLazyLoaded\n )\n );\n }\n};\n\nexport const mapNodeGroupChildren = (nodeGroup, nodeGroupChildren = []) => {\n nodeGroupChildren.forEach((node) => {\n if (nodeGroup.id === node.parentGroupId) {\n nodeGroup.children.push(node);\n }\n });\n\n if (nodeGroup?.children?.length) {\n nodeGroup.children.forEach((childGroup) => {\n if (childGroup.isGroupNode) {\n mapNodeGroupChildren(childGroup, nodeGroupChildren); // recursively call function to traverse child node groups\n }\n });\n }\n\n return nodeGroup; // return the updated object\n};\n\nexport const checkNodeIsHidden = (node, item, wasLazyLoaded = false) => {\n if (!node || (node && !Object.keys(node).length)) {\n return true;\n }\n let rule = null;\n if (node.isGroupNode) {\n if (node.properties?.hiddenNode?.enabled) {\n // TODO: handle conditional hiding for group node\n }\n } else {\n if (node.properties?.hiddenNode?.enabled) {\n // Handle conditional hiding of node\n rule = mapRule(\n node.properties.hiddenNode.propertyMapping,\n node.properties.hiddenNode.jsonLogic\n );\n if (\n rule &&\n evaluateRule(\n rule,\n item,\n node.properties?.joiningEntityCatalogObjectKey,\n wasLazyLoaded\n )\n ) {\n return true;\n }\n }\n }\n return false;\n};\n\nexport const constructPreloadedTree = (treeStructure, pageList) => {\n if (!pageList) return null;\n let preloadedList = [];\n const tree = cloneDeep(treeStructure);\n if (\n tree.properties?.groupConfiguration?.enabled &&\n tree.properties?.groupConfiguration.groupType ===\n NodeGroupTypeEnums.Static &&\n tree.properties?.groupConfiguration?.groupings?.static?.length\n ) {\n const topNodeGroups = constructStaticNodeGroups(tree);\n const groupedItemIndexes = new Set();\n topNodeGroups.forEach((nodeGroup) => {\n // Loop through each response item and group them\n let nodeGroupChildren = [];\n pageList.forEach((item, index) => {\n const orderedKeys = [];\n const orderedTreeData = [];\n const treeArr = [];\n const innerGroupList = [];\n processCatalogObjectKeysInOrder(tree, orderedKeys);\n processOrderedTreeData(tree, orderedTreeData);\n processObjectToTree(\n item,\n orderedTreeData,\n orderedKeys,\n treeArr,\n null,\n null,\n false,\n innerGroupList\n );\n const displayTree = makeTreeStructure(treeArr, 'id', 'parentId');\n const processedItem = processItemForStaticNodeGroup(\n nodeGroup,\n item,\n groupedItemIndexes,\n displayTree,\n index,\n new Set()\n );\n nodeGroupChildren = nodeGroupChildren.concat(\n processedItem?.nodeChildren || []\n );\n });\n // map nodeGroupChildren to the node groups\n const updatedNodeGroup = mapNodeGroupChildren(\n nodeGroup,\n nodeGroupChildren\n );\n // handles having the same node in multiple groups\n updatedNodeGroup.children.forEach((child) => {\n updateTreeIds(\n child,\n null,\n uuid(),\n updatedNodeGroup.id || uuid(),\n updatedNodeGroup?.properties.label || null\n );\n });\n preloadedList.push(updatedNodeGroup);\n });\n if (\n tree.properties?.groupConfiguration?.outlier ===\n NodeGroupOutlierEnums.Individual\n ) {\n pageList.forEach((item, index) => {\n if (!groupedItemIndexes.has(index)) {\n const orderedKeys = [];\n const orderedTreeData = [];\n const treeArr = [];\n processCatalogObjectKeysInOrder(tree, orderedKeys);\n processOrderedTreeData(tree, orderedTreeData);\n processObjectToTree(\n item,\n orderedTreeData,\n orderedKeys,\n treeArr,\n null,\n null,\n false\n );\n const displayTree = makeTreeStructure(treeArr, 'id', 'parentId');\n const nodeIsHidden = checkNodeIsHidden(displayTree, item, false);\n if (!nodeIsHidden) {\n updateTreeIds(displayTree, null, uuid(), uuid(), null);\n preloadedList.push(displayTree);\n }\n }\n });\n }\n } else if (\n tree.properties?.groupConfiguration?.enabled &&\n tree.properties?.groupConfiguration.groupType ===\n NodeGroupTypeEnums.Dynamic &&\n tree.properties?.groupConfiguration?.groupings?.dynamic?.length\n ) {\n // Handle Dynamic GroupType for single tree\n //const nodeGroups = constructDynamicNodeGroups(pageList, tree);\n // Use the new methods for constructing the dynamic group nodes\n const nodeGroups = constructDynamicNodeGroups2(pageList, tree);\n preloadedList = preloadedList.concat(nodeGroups);\n } else {\n pageList.forEach((item) => {\n const orderedKeys = [];\n const orderedTreeData = [];\n const treeArr = [];\n processCatalogObjectKeysInOrder(tree, orderedKeys);\n processOrderedTreeData(tree, orderedTreeData);\n processObjectToTree(item, orderedTreeData, orderedKeys, treeArr);\n const displayTree = makeTreeStructure(treeArr, 'id', 'parentId');\n const nodeIsHidden = checkNodeIsHidden(displayTree, item, false);\n !nodeIsHidden && preloadedList.push(displayTree);\n });\n }\n return preloadedList;\n};\n\n// Dynamic Group Functions\n// SF - 20230531\n\n// Compare function to be used when sorting groups by order\nconst CompareGroupByOrder = (a, b) => {\n if (a.order > b.order) return 1;\n if (a.order < b.order) return -1;\n\n return 0;\n};\n\n// Compare function to be used when sorting sibling nodes so that all group nodes appear first in the list\nconst CompareSiblingNodes = (a, b) => {\n if (a.hasOwnProperty('isGroupNode') && !b.hasOwnProperty('isGroupNode'))\n return -1;\n if (!a.hasOwnProperty('isGroupNode') && b.hasOwnProperty('isGroupNode'))\n return 1;\n\n // If both nodes are groups then sort by the order property\n if (a.hasOwnProperty('isGroupNode') && b.hasOwnProperty('isGroupNode')) {\n if (a.properties?.order > b.properties?.order) return 1;\n if (a.properties?.order < b.properties?.order) return -1;\n }\n\n return 0;\n};\n\n// Util function to map child groups to their parent collections\nconst GetGroupChildMap = (_map, groupKey) => {\n //If no child map for the group exists yet then create it\n if (_map[groupKey] === undefined) {\n _map[groupKey] = [];\n }\n return _map[groupKey];\n};\n\n// Util function to add a group node to a parent groups child mapping\nconst AddGroupToChildMap = (_map, groupKey, groupNode) => {\n // Get the child map for the parent node. If none exists, create it.\n let childMap = GetGroupChildMap(_map, groupKey);\n // Add the child node to the map\n childMap.push(groupNode);\n // Order the groups based on their 'order' property\n childMap.sort(CompareGroupByOrder);\n};\n\nconst createDynamicGroups2 = (\n _treeConfig,\n _groupConfig,\n _item,\n _curItem,\n _pList,\n _siblings,\n _parentId\n) => {\n let _groupCreated = false;\n if (_pList.length > 0) {\n let tmpProp = _pList[0];\n // Check if the current item has the property the dynamic group should be created from\n if (_curItem.hasOwnProperty(tmpProp)) {\n let newItem = _curItem[tmpProp];\n // Check if there are additional parts to the property the group should be created from\n if (_pList.length > 1) {\n // Arrays are also considered Objects, so check for it first\n if (Array.isArray(newItem)) {\n // If it's an array then loop through each of the items and carry on to check the next part of the group property\n for (let i = 0, numOfItems = newItem.length; i < numOfItems; i++) {\n let aGroupWasCreated = createDynamicGroups2(\n _treeConfig,\n _groupConfig,\n _item,\n newItem[i],\n _pList.slice(1),\n _siblings,\n _parentId\n );\n _groupCreated = aGroupWasCreated ? aGroupWasCreated : _groupCreated;\n }\n } else if (typeof newItem === 'object' && newItem !== null) {\n let aGroupWasCreated = createDynamicGroups2(\n _treeConfig,\n _groupConfig,\n _item,\n newItem,\n _pList.slice(1),\n _siblings,\n _parentId\n );\n _groupCreated = aGroupWasCreated ? aGroupWasCreated : _groupCreated;\n }\n } else {\n // If newItem is not an array, object, or null, then create a group for the config entry\n if (typeof newItem !== 'object' && newItem !== null && newItem !== '') {\n let groupName = newItem.toString();\n\n // Check if a group with this name already exists in the list of siblings\n let groupNode = null;\n for (\n let siblingIdx = 0, numOfSiblings = _siblings.length;\n siblingIdx < numOfSiblings;\n siblingIdx++\n ) {\n let sibling = _siblings[siblingIdx];\n if (\n sibling.hasOwnProperty('isGroupNode') &&\n sibling.isGroupNode === true\n ) {\n if (sibling.properties.label === groupName) {\n groupNode = sibling;\n break;\n }\n }\n }\n // If no groupNode was found in the list of siblings, create one\n if (groupNode == null) {\n let newGroupNodeId = uuid();\n groupNode = new GroupNode({\n id: `${newGroupNodeId}`,\n groupType: NodeGroupTypeEnums.Dynamic,\n children: [],\n parentGroupId: _parentId,\n parentId: _parentId,\n isExpanded: _groupConfig.isExpanded,\n properties: {\n label: groupName,\n propertyIsCustom: _groupConfig.propertyIsCustom,\n propertyKey: _groupConfig.property,\n order: _groupConfig.order\n }\n });\n // Add the groupNode to the list of siblings\n _siblings.push(groupNode);\n }\n // Now that we have a groupNode, set groupCreated to true, as it means that a groupNode for this name was either created\n // or an existing groupNode with the same name was found.\n _groupCreated = true;\n\n let subGroupWasCreated = false;\n // Check if the config group has subgroups\n for (\n let subGroupIdx = 0, numOfSubGroups = _groupConfig.children.length;\n subGroupIdx < numOfSubGroups;\n subGroupIdx++\n ) {\n let subGroupConfig = _groupConfig.children[subGroupIdx];\n // Get the the property name used to create the subgroup\n let subGroupPropList = subGroupConfig.property\n ? subGroupConfig.property.split('.')\n : [];\n // For each subgroup config tree, pass see if groups need to be created for the result record\n let subGroupCreated = createDynamicGroups2(\n _treeConfig,\n subGroupConfig,\n _item,\n _item,\n subGroupPropList,\n groupNode.children,\n groupNode.id\n );\n subGroupWasCreated = subGroupCreated\n ? subGroupCreated\n : subGroupWasCreated;\n }\n // If there were no subgroups found or created for this record then create a normal node for this result record and add it to the list of group children\n if (!subGroupWasCreated) {\n let tmpNode = cloneDeep(_treeConfig);\n processObjIndex(\n tmpNode,\n _item,\n null,\n groupNode.id,\n null,\n null,\n false\n );\n groupNode.children.push(tmpNode);\n\n let newChildNodes = [];\n // If there are child config nodes, we need to process them now\n for (\n let childNodeIdx = 0, numOfChildNodes = tmpNode.children.length;\n childNodeIdx < numOfChildNodes;\n childNodeIdx++\n ) {\n let childConfigNode = tmpNode.children[childNodeIdx];\n // Get the property of the current node that represents the associated child node(s)\n let propToGetRecords =\n childConfigNode.properties.catalogObjectKey;\n // Check if the current node has the property of the associated childe node(s)\n if (\n propToGetRecords &&\n propToGetRecords != null &&\n _item.hasOwnProperty(propToGetRecords)\n ) {\n let newResultSet = _item[propToGetRecords];\n if (newResultSet && newResultSet != null) {\n // constructDynamicNodeGroups2 expects the result set to be passed in as an array\n if (Array.isArray(newResultSet)) {\n newChildNodes.push(\n ...constructDynamicNodeGroups2(\n newResultSet,\n childConfigNode,\n tmpNode.id\n )\n );\n } else {\n let tmpNewResultSet = [];\n tmpNewResultSet.push(newResultSet);\n newChildNodes.push(\n ...constructDynamicNodeGroups2(\n newResultSet,\n childConfigNode,\n tmpNode.id\n )\n );\n }\n }\n }\n }\n tmpNode.children = newChildNodes;\n }\n\n groupNode.children.sort(CompareSiblingNodes);\n }\n }\n }\n }\n return _groupCreated;\n};\n\nconst constructDynamicGroupConfigTrees2 = (configNode) => {\n // List of the top level group nodes for this configNode\n let topLevelConfigGroupNodes = [];\n\n // tree is really the current config node we're looking at\n const groupConfiguration = configNode?.properties?.groupConfiguration;\n const groupType = groupConfiguration?.groupType || NodeGroupTypeEnums.Dynamic;\n\n // Check if there are groupings for this current level of config\n if (\n groupConfiguration?.enabled &&\n groupConfiguration?.groupings[groupType]?.length\n ) {\n // Each grouping of groups is treated as its own tree and should be constructed as such\n let dynamicGroupings = groupConfiguration.groupings[groupType];\n for (\n let groupingIdx = 0, numOfGroupings = dynamicGroupings.length;\n groupingIdx < numOfGroupings;\n groupingIdx++\n ) {\n let grouping = dynamicGroupings[groupingIdx];\n\n // If the grouping has no groups, continue to the next grouping in the list\n if (grouping.groups === undefined || grouping.groups === null) continue;\n\n // Map of each groups collection of childeren\n let groupChildMap = {};\n\n // loop through the groups in the config grouping and build out the tree\n for (\n let groupIdx = 0, numOfGroups = grouping.groups.length;\n groupIdx < numOfGroups;\n groupIdx++\n ) {\n let group = grouping.groups[groupIdx];\n // initialize list of childeren\n group['children'] = GetGroupChildMap(groupChildMap, group.id);\n // add node to parents list of childeren\n if (group.parentGroupId === undefined || group.parentGroupId === null) {\n topLevelConfigGroupNodes.push(group);\n } else {\n // Add the group to the child map of the parent\n AddGroupToChildMap(groupChildMap, group.parentGroupId, group);\n }\n }\n }\n }\n\n for (\n let configIdx = 0, numOfChildConfigNodes = configNode.children.length;\n configIdx < numOfChildConfigNodes;\n configIdx++\n ) {\n let childConfigNode = configNode.children[configIdx];\n constructDynamicGroupConfigTrees2(childConfigNode);\n }\n\n configNode.groupConfigTrees = topLevelConfigGroupNodes;\n};\n\nexport const constructDynamicNodeGroups2 = (\n results,\n configNode,\n parentId = null\n) => {\n let levelNodes = [];\n\n if (!configNode.groupConfigTrees) {\n // Take the flat list of dynamic groupings and build a tree for them\n constructDynamicGroupConfigTrees2(configNode);\n }\n\n // Now that we have a config tree with each level having a tree of for dynamic group config\n // We need to iterate through each record of the resultset and construct a tree of nodes and group nodesuse it with each record of the results to build out a tree of GroupNodes\n // Each of the Config Group Trees in topLevelConfigGroupNodes may result in a GroupNode being created and added to the levelNodes list\n for (\n let rIdx = 0, numOfResults = results.length;\n rIdx < numOfResults;\n rIdx++\n ) {\n let item = results[rIdx];\n let groupCreated = false;\n for (\n let ctlIdx = 0,\n numOfGroupConfigTrees = configNode.groupConfigTrees.length;\n ctlIdx < numOfGroupConfigTrees;\n ctlIdx++\n ) {\n let groupConfigNode = configNode.groupConfigTrees[ctlIdx];\n // The property the dynamic group should be using to get the group name\n let gPropList = groupConfigNode.property\n ? groupConfigNode.property.split('.')\n : [];\n // Create and populate a GroupNode for the record based on its value of the property the group is configured against\n let aGroupWasCreated = createDynamicGroups2(\n configNode,\n groupConfigNode,\n item,\n item,\n gPropList,\n levelNodes,\n parentId\n );\n groupCreated = aGroupWasCreated ? aGroupWasCreated : groupCreated;\n }\n\n // If no dynamic group was created for the record then we need to add it as a sibling to the levelNodes list\n if (!groupCreated) {\n // TO DO: Create a Tree Node based on the record and add it to the levelNodes list\n let tmpNode = cloneDeep(configNode);\n processObjIndex(tmpNode, item, null, parentId, null, null, false);\n levelNodes.push(tmpNode);\n\n let newChildNodes = [];\n // If there are child config nodes, we need to process them now\n for (\n let childNodeIdx = 0, numOfChildNodes = tmpNode.children.length;\n childNodeIdx < numOfChildNodes;\n childNodeIdx++\n ) {\n let childConfigNode = tmpNode.children[childNodeIdx];\n let propToGetRecords = childConfigNode.properties.catalogObjectKey;\n if (\n propToGetRecords &&\n propToGetRecords != null &&\n item.hasOwnProperty(propToGetRecords)\n ) {\n let newResultSet = item[propToGetRecords];\n if (newResultSet && newResultSet != null) {\n if (Array.isArray(newResultSet)) {\n newChildNodes.push(\n ...constructDynamicNodeGroups2(\n newResultSet,\n childConfigNode,\n tmpNode.id\n )\n );\n } else {\n let tmpNewResultSet = [];\n tmpNewResultSet.push(newResultSet);\n newChildNodes.push(\n ...constructDynamicNodeGroups2(\n newResultSet,\n childConfigNode,\n tmpNode.id\n )\n );\n }\n }\n }\n }\n tmpNode.children = newChildNodes;\n }\n }\n levelNodes.sort(CompareSiblingNodes);\n\n return levelNodes;\n};\n\n// End of Dynamic Group functions\n// SF - 20230531\n\nexport const transformMenuPageTree = (node) => {\n if (!node?.menuItemInstance?.isActive) return null;\n const parameters =\n node.menuItemInstance?.parameters &&\n JSON.parse(node.menuItemInstance.parameters);\n const label = node.title || '';\n const expanded = parameters?.defaultDisplay === 'expanded';\n\n const updatedNode = {\n id: node.menuStructureId,\n parentId: node.parentId,\n isExpanded: expanded,\n properties: {\n defaultIcon: { type: '', name: parameters.FluentIcon, color: '' },\n nodeLabel: label,\n nodeSubLabel: '',\n page: {\n id: parameters.PageId,\n entity: {\n entityName: parameters.entityName\n },\n pbiReportCode: parameters.pbiReportCode,\n udpTagId: parameters.udpTagId,\n queryId: parameters.queryId,\n inquiryTreeId: parameters?.InquiryTreeId,\n requiredFieldMapping: parameters?.requiredFieldMapping\n },\n aggregateThresholdId: parameters.aggregateThresholdId || ''\n },\n children: []\n };\n\n for (const child of node.menuItemInstanceStructures) {\n const updatedChild = transformMenuPageTree(child);\n if (updatedChild) {\n updatedNode.children.push(updatedChild);\n }\n }\n\n return updatedNode;\n};\n\nexport const mapNodeObjValuesToSearchParameters = (\n nodeObj,\n aggregateThresholdParamMappings\n) => {\n if (!aggregateThresholdParamMappings || !nodeObj) {\n return {};\n }\n const mappings = { ...aggregateThresholdParamMappings };\n Object.keys(mappings).forEach((key) => {\n const nodeObjKey = mappings[key];\n if (nodeObjKey) {\n const nodeObjValue = nodeObj[nodeObjKey];\n mappings[key] = nodeObjValue || '';\n }\n });\n return mappings;\n};\n\nexport const getSearchValueString = (nodeObj, searchIdentifier) => {\n const searchIdentifiers = searchIdentifier.split(',');\n const searchValues = [];\n searchIdentifiers.forEach((searchIdentifier) => {\n searchValues.push(nodeObj[searchIdentifier]);\n });\n return searchValues.toString();\n};\n","import React from 'react';\nimport Sewer from '../../assets/unityIcons/Sewer.svg';\nimport WaterDrop from '../../assets/unityIcons/WaterDrop.svg';\nexport const unityIcons = [\n {\n id: 'WaterDropIcon',\n label: 'Water Drop',\n icon: <WaterDrop />,\n type: 'unity',\n },\n {\n id: 'SewerIcon',\n label: 'Sewer',\n icon: <Sewer />,\n type: 'unity',\n },\n];\n\nexport const getUnityIconFromName = name => {\n const foundIcon = unityIcons.find(icon => icon.id === name);\n return foundIcon?.icon || null;\n};\n","import { makeStyles } from '@material-ui/core'\nimport clsx from 'clsx'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ChevronRightIcon } from '@fluentui/react-icons'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\n\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {\n display: 'flex',\n justifyContent: 'flex-start',\n height: 48,\n width: '100%',\n paddingLeft: 0,\n },\n iconButton: {\n width: 48,\n height: 48,\n marginLeft: 16 - (48 - 24) / 2\n },\n expanded: {},\n icon: {\n width: 14,\n height: 14,\n margin: (24 - 16) / 2,\n transition: theme?.transitions?.create('transform', {\n easing: theme?.transitions?.easing?.sharp,\n duration: theme?.transitions?.duration?.shortest\n }),\n '$expanded &': {\n transform: 'scaleX(-1)'\n }\n },\n switch: {\n margin: (24 - 16) / 2,\n transition: theme?.transitions?.create('transform', {\n easing: theme?.transitions?.easing?.sharp,\n duration: theme?.transitions?.duration?.shortest\n }),\n '$expanded &': {\n transform: 'scaleX(-1)'\n }\n }\n }),\n { name: 'SidebarCollapseButton' }\n)\n\n/**\n * Custom styled button used for expanding/collapsing sidebars\n */\nexport const SidebarCollapseButton = (props) => {\n const classes = useStyles(props)\n const { expanded, className, id, udprecordid, ...other } = props\n const { t } = useTranslation()\n\n return (\n <div\n {...other}\n className={clsx(className, classes.root, {\n [classes.expanded]: expanded\n })}\n >\n <FluentIconButton\n id={id}\n udprecordid={udprecordid}\n color='inherit'\n className={clsx(classes.iconButton, classes.switch)}\n aria-label={\n expanded\n ? t('mainMenuAria.collapseNavigation')\n : t('mainMenuAria.expandNavigation')\n }\n icon={ChevronRightIcon}\n />\n </div>\n )\n}\n","import React from 'react'\nimport { Button, makeStyles } from '@material-ui/core'\nimport { ArrowUpRightIcon, EditIcon, DeleteIcon } from '@fluentui/react-icons'\nimport PropTypes from 'prop-types'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n borderRadius: 0,\n padding: 8\n }\n}))\n\nexport const AmbientCardButton = (props) => {\n const classes = useStyles(props)\n\n const { editOption, launchOption, deleteOption, children, ...otherProps } = props\n\n return (\n <Button\n classes={{ root: classes.root }}\n variant='outlined'\n disableElevation\n color='primary'\n {...otherProps}\n >\n {editOption && <EditIcon />}\n {launchOption && <ArrowUpRightIcon />}\n {deleteOption && <DeleteIcon />}\n {children}\n </Button>\n );\n}\n\nAmbientCardButton.propTypes = {\n /**\n * When true will display edit button.\n */\n editOption: PropTypes.bool,\n /**\n * When true will display launch button.\n */\n launchOption: PropTypes.bool,\n /**\n * When true will display delete button.\n */\n deleteOption: PropTypes.bool,\n /**\n * Will display a text lable vesion.\n */\n children: PropTypes.string,\n\n}","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\n\nconst useStyles = makeStyles((theme) => ({\n root: props => ({\n width: theme.spacing(0.5),\n height: \"100%\",\n background: theme.palette[props.color].main\n })\n}));\n\nexport const Adornment = (props) => {\n const classes = useStyles(props);\n\n return <div className={classes.root} />;\n};\n\nAdornment.propTypes = {\n color: PropTypes.string\n}\n","import React, { useState } from 'react';\nimport {\n Paper,\n CardContent,\n makeStyles,\n Typography,\n CardMedia,\n lighten,\n Collapse\n} from '@material-ui/core';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { StatusChip } from '../../dataDisplay/StatusChip';\nimport { ChevronDownIcon, ChevronUpIcon } from '@fluentui/react-icons';\nimport { FluentButton } from '../../inputs/buttons/FluentButton';\nimport { FluentIconButton } from '../../inputs/buttons/FluentIconButton';\nimport { AmbientCardButton } from '../../inputs/buttons/AmbientCardButton';\nimport { Adornment } from '../../components/feedback/Adornment';\nimport { getEllipseColor } from '../../../utilities/style/colorConverter';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n width: '100%',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n height: (props) => props?.cardHeight ?? ''\n },\n adornment: {\n top: 0,\n left: 0,\n height: '100%',\n position: 'absolute'\n },\n launchButtons: {\n // position: (props) => !props.extendedContent && 'absolute',\n // marginTop: 'auto',\n padding: theme.spacing(0, 2, 2, 2),\n display: 'flex',\n justifyContent: 'flex-end',\n bottom: (props) => (props.adjustBaseline ? props.adjustBaseline : 16),\n right: theme.spacing(2),\n gridGap: theme.spacing(1)\n },\n moreButton: {\n marginTop: theme.spacing(1),\n display: 'flex',\n justifyContent: 'center',\n backgroundColor: lighten(theme.palette.secondary.main, 0.9),\n padding: theme.spacing(1)\n },\n styleWidth: {\n width: (props) => (!props?.fullWidth ? '75%' : '100%'),\n height: '100%'\n },\n media: {\n height: (props) => props.mediaHeight || 120\n },\n cardContent: {\n // backgroundColor: 'red',\n flexGrow: 1,\n padding: (props) => props.removePadding && 0,\n '&:last-child': {\n paddingBottom: (props) =>\n props.lastChildBottomPadding\n ? props.lastChildBottomPadding\n : theme.spacing(2)\n },\n paddingTop: 0,\n height: (props) => (props.cardContentHeight ? props.cardContentHeight : '')\n },\n titleWrapper: {\n display: 'flex',\n backgroundColor: (props) =>\n props.headerColor && getEllipseColor(theme, props.headerColor, 'light')\n },\n title: {\n color: (props) =>\n props.headerColor &&\n theme.palette.getContrastText(\n getEllipseColor(theme, props.headerColor, 'light')\n )\n },\n loading: {\n position: 'absolute',\n top: 0,\n left: 0\n },\n expandMessage: {\n display: 'flex'\n },\n cardRoot: {\n '&:last-child': {\n paddingBottom: theme.spacing(2)\n }\n },\n visualization: {\n display: 'flex',\n alignItems: 'flex-end',\n width: '100%',\n height: 300\n },\n titlesWrapper: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n lineHeight: (props) => props.globalExpanded && '125%'\n },\n collapseChildren: {\n flexGrow: 1,\n '& .MuiCollapse-wrapper': {\n height: '100%'\n },\n '& .MuiCollapse-wrapperInner': {\n height: '100%'\n },\n height: (props) => (props.cardContentHeight ? props.cardContentHeight : '')\n }\n}));\n\nexport const AmbientCard = (props) => {\n const classes = useStyles(props);\n const [expanded, setExpanded] = useState(false);\n\n const {\n adornment = 'secondary',\n ariaLabel,\n baseLoading,\n cardHeight,\n children,\n collapseChildrenWhenExpanded,\n customAdornment = ' ',\n deleteEvent,\n deleteOption,\n editEvent,\n editOption,\n extendedContent,\n extendedList,\n fullWidth,\n globalToggle,\n header,\n image,\n imageTitle,\n label,\n large,\n launchEvent,\n launchOption,\n loading,\n mediaHeight,\n more,\n moreMessage,\n moreButton,\n moreButtonExpanded,\n noAdornment = false,\n overrideStatusSuccess,\n overrideStatusError,\n overrideStatusWarning,\n overrideStatusInfo,\n removeTopLayoutUnit,\n status,\n subCard,\n title,\n toggleGlobalExpanded = true,\n visualization,\n subtitle,\n ...otherProps\n } = props;\n\n const [globalExpanded, setGlobalExpanded] = useState(toggleGlobalExpanded);\n\n if (baseLoading) return null;\n\n return (\n <Paper\n elevation={0}\n // className={clsx(classes.paper, adornment && classes.adornment)}\n className={classes.paper}\n >\n {!noAdornment && (\n <div className={classes.adornment}>\n {customAdornment ? customAdornment : <Adornment color={adornment} />}\n </div>\n )}\n {/* {loading && (\n <div className={classes.loading}>\n <Skeleton variant=\"rectangle\" width={4} height={400} />\n </div>\n )} */}\n {title && (\n <CardContent\n className={classes.titleWrapper}\n classes={{ root: classes.cardRoot }}\n >\n <div className={classes.titlesWrapper}>\n <Typography\n className={classes.title}\n component='h2'\n variant={subCard ? 'subtitle2' : 'h6'}\n >\n {title}\n </Typography>\n {subtitle && (\n <Typography variant={'body1'} className={classes.title}>\n {subtitle}\n </Typography>\n )}\n </div>\n\n {status && (\n <StatusChip\n status={status}\n label={label}\n success={overrideStatusSuccess}\n error={overrideStatusError}\n warning={overrideStatusWarning}\n info={overrideStatusInfo}\n />\n )}\n {globalToggle && (\n <div>\n <FluentIconButton\n onClick={() => setGlobalExpanded(!globalExpanded)}\n icon={globalExpanded ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n id={\n 'udpRecord-AmbientCard-Toggle-' +\n (globalExpanded ? 'Up' : 'Down')\n }\n udprecordid={\n 'udpRecord-AmbientCard-Toggle-' +\n (globalExpanded ? 'Up' : 'Down')\n }\n />\n </div>\n )}\n </CardContent>\n )}\n {image && (\n <CardMedia className={classes.media} image={image} title={imageTitle} />\n )}\n {globalExpanded && (\n <CardContent classes={{ root: classes.cardContent }}>\n {!image && !header && !removeTopLayoutUnit && (\n <LayoutUnit unit={large ? 'md' : 'xxs'} />\n )}\n {image && <LayoutUnit unit='xs' />}\n\n {/* LAA UNT-2624: Add logic to collapse children when expanded if prop is set */}\n <Collapse\n in={!collapseChildrenWhenExpanded || !expanded}\n timeout='auto'\n className={classes.collapseChildren}\n >\n <div className={classes.styleWidth}>{children}</div>\n </Collapse>\n\n {extendedList && (\n <Collapse in={expanded} timeout='auto'>\n <div>{extendedList}</div>\n </Collapse>\n )}\n {more && (\n <div className={classes.moreButton}>\n <div className={classes.expandMessage}>\n <Typography\n style={{ marginTop: 4, marginRight: 16 }}\n variant='subtitle2'\n >\n {!expanded && moreMessage}\n </Typography>\n <FluentButton\n onClick={() => setExpanded(!expanded)}\n color='secondary'\n variant='outlined'\n >\n {expanded ? moreButtonExpanded : moreButton}\n </FluentButton>\n </div>\n </div>\n )}\n </CardContent>\n )}\n {visualization && (\n <div className={classes.visualization}>{visualization}</div>\n )}\n {!globalToggle && (editOption || launchOption || deleteOption) && (\n <div className={classes.launchButtons}>\n {editOption && (\n <AmbientCardButton\n aria-label={ariaLabel}\n editOption\n {...otherProps}\n onClick={editEvent}\n id='udpRecord-AmbientCard-edit'\n udprecordid='udpRecord-AmbientCard-edit'\n />\n )}\n {launchOption && (\n <AmbientCardButton\n aria-label={ariaLabel}\n launchOption\n {...otherProps}\n onClick={launchEvent}\n id='udpRecord-AmbientCard-launch'\n udprecordid='udpRecord-AmbientCard-launch'\n />\n )}\n {deleteOption && (\n <AmbientCardButton\n aria-label={ariaLabel}\n deleteOption\n {...otherProps}\n onClick={deleteEvent}\n id='udpRecord-AmbientCard-delete'\n udprecordid='udpRecord-AmbientCard-delete'\n />\n )}\n </div>\n )}\n </Paper>\n );\n};\n","import React from 'react'\nimport { makeStyles } from '@material-ui/core'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { LayoutUnit } from '../../layout/LayoutUnit'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n nodeWrapper: {\n display: 'flex'\n }\n}))\n\nexport const NodeLoader = ({ loading, nodesRequested = [1] }) => {\n const classes = useStyles()\n\n const singleNode = [1, 2, 3, 4]\n\n const NodeElement = () => {\n return (\n <div className={classes.nodeWrapper}>\n <div>\n <Skeleton variant='circle' width={20} height={20} />\n </div>\n <div style={{ marginLeft: 8, width: '100%' }}>\n <Skeleton height={20} variant='rect' width='100%' />\n </div>\n </div>\n )\n }\n\n const NodeGroup = ({ indent }) => {\n return (\n <div>\n <div style={{ marginLeft: indent }}>\n <NodeElement />\n </div>\n <LayoutUnit unit='xxs' />\n </div>\n )\n }\n\n const singleNodeGroup = loading && (\n <div>\n {singleNode.map((item, index) => {\n return <NodeGroup indent={index * 8} />\n })}\n </div>\n )\n\n return (\n <div>\n {nodesRequested &&\n nodesRequested.map((item) => {\n return (\n <div className={classes.root}>\n {singleNodeGroup} <LayoutUnit unit='xxs' />\n </div>\n )\n })}\n </div>\n )\n}\n","export interface NumberOperator {\n value: string;\n label: string;\n}\n\nexport const NumberOperators: Array<NumberOperator> = [\n {\n value: '=',\n label: 'Equals'\n },\n {\n value: '!=',\n label: 'Does not Equal'\n },\n {\n value: '>',\n label: 'Greater Than'\n },\n {\n value: '<',\n label: 'Less Than'\n },\n {\n value: '>=',\n label: 'Greater Than or Equal To'\n },\n {\n value: '<=',\n label: 'Less Than or Equal To'\n },\n {\n value: 'BETWEEN',\n label: 'Between'\n }\n];\n\nexport enum NumberOperatorEnums {\n Equals = '=',\n Does_Not_Equal = '!=',\n Greater_Than = '>',\n Less_Than = '<',\n Greater_Than_Or_Equal_To = '>=',\n Less_Than_Or_Equal_To = '<=',\n Between = 'BETWEEN'\n}\n","import { SeverityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { NumberOperatorEnums } from '../../../models/NumberOperator';\n\nexport const getThresholdStatus = (aggThreshold, aggregateValue) => {\n if (!aggThreshold || !aggregateValue) return null;\n // Order of this array matters\n const thresholdTypes = [\n {\n type: SeverityTypeEnums.Success,\n threshold: aggThreshold.successThreshold\n },\n { type: SeverityTypeEnums.Error, threshold: aggThreshold.errorThreshold },\n {\n type: SeverityTypeEnums.Warning,\n threshold: aggThreshold.warningThreshold\n },\n { type: SeverityTypeEnums.Info, threshold: aggThreshold.infoThreshold }\n ];\n\n let thresholdStatus = '';\n for (const { type, threshold } of thresholdTypes) {\n if (threshold && evaluateThreshold(threshold, aggregateValue)) {\n thresholdStatus = type;\n break;\n }\n }\n\n return thresholdStatus;\n};\n\nconst evaluateThreshold = (threshold = {}, aggregateValue) => {\n if (typeof threshold === 'string') {\n try {\n threshold = JSON.parse(threshold);\n } catch {\n console.error(`Could not parse: ${threshold}`);\n return false;\n }\n }\n const { operator, value1, value2 } = threshold;\n let thresholdMet = false;\n\n switch (operator) {\n case NumberOperatorEnums.Equals:\n thresholdMet = aggregateValue === parseFloat(value1);\n break;\n case NumberOperatorEnums.Does_Not_Equal:\n thresholdMet = aggregateValue !== parseFloat(value1);\n break;\n case NumberOperatorEnums.Greater_Than:\n thresholdMet = aggregateValue > parseFloat(value1);\n break;\n case NumberOperatorEnums.Less_Than:\n thresholdMet = aggregateValue < parseFloat(value1);\n break;\n case NumberOperatorEnums.Greater_Than_Or_Equal_To:\n thresholdMet = aggregateValue >= parseFloat(value1);\n break;\n case NumberOperatorEnums.Less_Than_Or_Equal_To:\n thresholdMet = aggregateValue <= parseFloat(value1);\n break;\n case NumberOperatorEnums.Between:\n thresholdMet =\n aggregateValue >= parseFloat(value1) &&\n aggregateValue <= parseFloat(value2);\n break;\n default:\n break;\n }\n\n return thresholdMet;\n};\n","import React, { memo } from 'react';\nimport { ButtonBase, makeStyles } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { SeverityTypeEnums } from '../../../../enums/unitySystemEnums';\n\n/**\n * Styles for the AlertPill component\n */\n\nconst useStyles = makeStyles((theme) => {\n const endRadius = theme.spacing(3);\n return {\n root: {\n display: 'flex',\n flexDirection: 'row',\n // borderRadius: endRadius,\n overflow: 'hidden',\n flexGrow: 0,\n alignSelf: 'start'\n },\n alertRoot: {\n // mui alert class\n padding: theme.spacing(0, 1.5, 0, 1),\n borderRadius: 0,\n '&:first-of-type': {\n borderTopLeftRadius: endRadius,\n borderBottomLeftRadius: endRadius\n },\n '&:last-of-type': {\n borderTopRightRadius: endRadius,\n borderBottomRightRadius: endRadius\n }\n },\n alertIcon: {\n // mui alert icon class\n marginRight: theme.spacing(0.5)\n },\n buttonBase: {\n borderRadius: endRadius,\n overflow: 'hidden'\n },\n defaultSeverityAlert: {\n backgroundColor: theme.palette.grey[400]\n }\n };\n});\n\n/**\n * Memoized version of the Alert component\n *\n * @param {object} props - Component props\n * @param {number} props.count - The count to display in the Alert\n * @param {boolean} props.hide - Whether the Alert should be hidden\n * @param {string} props.severity - The severity of the Alert\n * @param {object} props.alertProps - Additional props to pass to the Alert component\n * @param {number} props.maxCount - Max count to show before displaying as \"{maxCount}+\"\n * @returns {JSX.Element | null} - The Alert component, or null if the count is falsy or hide is true\n */\nconst MemoizedAlert = memo((props) => {\n const { count, hide, severity, alertProps, maxCount, label } = props;\n const classes = useStyles(props);\n\n if (count && !hide) {\n let displayCount = count;\n if (maxCount && count > maxCount) {\n displayCount = `${maxCount}+`;\n }\n\n if (severity === SeverityTypeEnums.Default) {\n return (\n <Alert\n severity={SeverityTypeEnums.Info}\n {...alertProps}\n className={classes.defaultSeverityAlert}\n >\n {displayCount}\n </Alert>\n );\n }\n\n return (\n <Alert severity={severity} {...alertProps}>\n {label ? label : displayCount}\n </Alert>\n );\n }\n\n return null;\n});\n\nMemoizedAlert.displayName = 'MemoizedAlert';\n\n/**\n * The AlertPill component displays a row of Alerts, each with a count and a severity level.\n * Alerts can be hidden by setting the corresponding hide prop to true.\n *\n * @param {object} props - Component props\n * @param {function} [props.handleClick] - The click event handler.\n * @param {number} props.maxCount - Max count to show before displaying as \"{maxCount}+\"\n * @param {number} props.errorCount - The count for the error Alert\n * @param {number} props.warningCount - The count for the warning Alert\n * @param {number} props.successCount - The count for the success Alert\n * @param {number} props.infoCount - The count for the info Alert\n * @param {number} props.defaultCount - The count for the default Alert\n * @param {string} props.errorLabel - The label for the error Alert\n * @param {string} props.warningLabel - The label for the warning Alert\n * @param {string} props.successLabel - The label for the success Alert\n * @param {string} props.infoLabel - The label for the info Alert\n * @param {string} props.defaultLabel - The label for the default Alert\n * @param {boolean} props.hideError - Whether the error Alert should be hidden\n * @param {boolean} props.hideWarning - Whether the warning Alert should be hidden\n * @param {boolean} props.hideSuccess - Whether the success Alert should be hidden\n * @param {boolean} props.hideInfo - Whether the info Alert should be hidden\n * @param {boolean} props.hideDefault - Whether the default Alert should be hidden\n * @param {string} props.variant - The variant of the Alert\n * @param {function} [props.handleClick] - The click event handler.\n * @param {number} props.maxCount - Max count to show before displaying as \"{maxCount}+\"\n * @returns {JSX.Element} - The AlertPill component\n */\nexport const AlertPill = (props) => {\n const {\n variant = 'filled',\n handleClick,\n maxCount,\n errorCount,\n warningCount,\n successCount,\n infoCount,\n defaultCount,\n errorLabel,\n warningLabel,\n successLabel,\n infoLabel,\n defaultLabel,\n hideError = false,\n hideWarning = false,\n hideSuccess = false,\n hideInfo = false,\n hideDefault = false\n } = props;\n const classes = useStyles(props);\n\n const variantMapping = {\n filled: 'filled',\n standard: 'hint',\n outlined: 'outlined',\n text: ''\n };\n\n const alertProps = {\n variant: variantMapping[variant],\n classes: {\n root: classes.alertRoot,\n icon: classes.alertIcon\n }\n };\n\n return (\n <div className={classes.root}>\n <ButtonBase onClick={handleClick} className={classes.buttonBase}>\n <MemoizedAlert\n count={errorCount}\n hide={hideError}\n severity={SeverityTypeEnums.Error}\n alertProps={alertProps}\n maxCount={maxCount}\n label={errorLabel}\n />\n <MemoizedAlert\n count={warningCount}\n hide={hideWarning}\n severity={SeverityTypeEnums.Warning}\n alertProps={alertProps}\n maxCount={maxCount}\n label={warningLabel}\n />\n <MemoizedAlert\n count={successCount}\n hide={hideSuccess}\n severity={SeverityTypeEnums.Success}\n alertProps={alertProps}\n maxCount={maxCount}\n label={successLabel}\n />\n <MemoizedAlert\n count={infoCount}\n hide={hideInfo}\n severity={SeverityTypeEnums.Info}\n alertProps={alertProps}\n maxCount={maxCount}\n label={infoLabel}\n />\n <MemoizedAlert\n count={defaultCount}\n hide={hideDefault}\n severity={SeverityTypeEnums.Default}\n alertProps={alertProps}\n maxCount={maxCount}\n label={defaultLabel}\n />\n </ButtonBase>\n </div>\n );\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { StatusChip } from '../dataDisplay/StatusChip';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { Typography, CircularProgress } from '@material-ui/core';\nimport { executeQueryInstance } from '../../udp/utilities/methodUtils';\nimport { getThresholdStatus } from './utilities/aggregateUtils';\nimport { AlertPill } from '../dataDisplay/entityHeader/ui/AlertPill';\nimport { SeverityTypeEnums } from '../../enums/unitySystemEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nexport const AggregateChip = (props) => {\n const {\n aggregateThresholdId,\n aggregateThresholdParamMappings,\n label,\n chipColor,\n setStatus,\n isActionable = false,\n isAlert = false,\n hideAlert = false,\n onAlertClick\n } = props;\n const [color, setColor] = useState(chipColor);\n const [aggregateValue, setAggregateValue] = useState(null);\n const [loading, setLoading] = useState(false);\n const [{ data: aggregateThreshold, loading: loadingAggregateThreshold }] =\n useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `aggregateThreshold/${aggregateThresholdId}`,\n {},\n !!!aggregateThresholdId\n );\n\n const alertDisplayLabel = useMemo(() => {\n if (!label) {\n return aggregateValue;\n }\n return `${label.replace('{value}', aggregateValue)}`;\n }, [aggregateValue, label]);\n\n useEffect(() => {\n const setAggregateData = async (apiMethodInstanceId, valueKey) => {\n setLoading(true);\n const data = aggregateThresholdParamMappings\n ? { data: aggregateThresholdParamMappings }\n : { data: {} };\n const response = await executeQueryInstance(\n data,\n apiMethodInstanceId\n ).catch((res) => setLoading(false));\n if (response?.status === 200 && valueKey) {\n const aggregateResult =\n response.data?.aggregateResults && response.data?.aggregateResults[0];\n if (aggregateResult) {\n setAggregateValue(\n aggregateResult[valueKey]\n ? Math.round(aggregateResult[valueKey])\n : ''\n );\n }\n }\n setLoading(false);\n };\n if (aggregateThreshold) {\n setAggregateData(\n aggregateThreshold.apiMethodInstanceId,\n aggregateThreshold.aggregateKey\n );\n }\n // when aggregateThresholdParamMappings changes we don't want to re-render chip\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [aggregateThreshold]);\n\n useEffect(() => {\n if (aggregateThreshold && aggregateValue) {\n const status = getThresholdStatus(aggregateThreshold, aggregateValue);\n setColor(status);\n if (setStatus) {\n setStatus(status || 'default');\n }\n }\n }, [aggregateThreshold, aggregateValue, setStatus]);\n\n if (loading || loadingAggregateThreshold) {\n return <CircularProgress size={18} />;\n }\n\n if (!color && !isAlert) {\n return (\n <Typography variant='caption2' style={{ fontSize: '0.7rem' }}>\n {label || aggregateValue}\n </Typography>\n );\n }\n\n if (isAlert) {\n return (\n <AlertPill\n handleClick={onAlertClick}\n successCount={color === SeverityTypeEnums.Success ? aggregateValue : ''}\n errorCount={color === SeverityTypeEnums.Error ? aggregateValue : ''}\n warningCount={color === SeverityTypeEnums.Warning ? aggregateValue : ''}\n infoCount={color === SeverityTypeEnums.Info ? aggregateValue : ''}\n defaultCount={!color && (aggregateValue || '')}\n successLabel={\n color === SeverityTypeEnums.Success ? alertDisplayLabel : ''\n }\n errorLabel={color === SeverityTypeEnums.Error ? alertDisplayLabel : ''}\n warningLabel={\n color === SeverityTypeEnums.Warning ? alertDisplayLabel : ''\n }\n infoLabel={color === SeverityTypeEnums.Info ? alertDisplayLabel : ''}\n defaultLabel={!color && (alertDisplayLabel || '')}\n hideSuccess={color === SeverityTypeEnums.Success ? hideAlert : false}\n hideError={color === SeverityTypeEnums.Error ? hideAlert : false}\n hideWarning={color === SeverityTypeEnums.Warning ? hideAlert : false}\n hideInfo={color === SeverityTypeEnums.Info ? hideAlert : false}\n hideDefault={!color ? hideAlert : false}\n />\n );\n }\n\n return label || aggregateValue ? (\n <StatusChip\n label={label || aggregateValue}\n status={color}\n useSmallChip={true}\n isActionable={isActionable}\n />\n ) : null;\n};\n\nAggregateChip.prototype = {\n /**\n * Color of chip\n */\n chipColor: PropTypes.oneOf([\n 'success',\n 'error',\n 'warning',\n 'info',\n undefined,\n null\n ]),\n /**\n * Id of AggregateThreshold\n */\n aggregateThresholdId: PropTypes.oneOf([PropTypes.string, undefined, null])\n};\n","import React from 'react'\nimport { createTeleporter } from 'react-teleporter'\n\nconst UtilityBarInports = createTeleporter({\n multiSources: true\n})\n\n/**\n * @param {any} props\n */\nexport function UtilityBarInportTarget(props) {\n return <UtilityBarInports.Target {...props} />\n}\n\n/**\n * Places a Control in the App SubHeader\n */\nexport const UtilityBarInport = (props) => {\n const { children, className, ...buttonProps } = props\n\n return <UtilityBarInports.Source>{children}</UtilityBarInports.Source>\n}\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { makeStyles, Typography, useTheme } from '@material-ui/core';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { SidebarCollapseButton } from '../../shell/ui/SidebarCollapseButton';\nimport { UtilityBarInportTarget } from '../../utilities/utilityBar/UtilityBarInport';\nimport { ResizableBox } from 'react-resizable';\nimport {\n APP_RIBBON_SPACE,\n useBuildEnvironment\n} from '../../shell/ui/EnvironmentRibbon';\n\nconst EXPANDED_WIDTH = 288;\nconst COLLAPSED_WIDTH = 78;\nconst MAX_WIDTH = 700;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingTop: (props) =>\n props.removePadding || props.sidebarHidden ? 0 : 40,\n overflow: 'hidden',\n height: '100%'\n },\n titleWrapper: {\n display: (props) => (props.hideTitleBar ? 'none' : 'flex'),\n width: '100%',\n paddingLeft: theme.spacing(1)\n },\n button: {\n marginTop: -8\n },\n title: {\n flex: 1,\n width: '100%',\n marginTop: 8\n },\n expandedWidth: {\n width: 288\n },\n handle: {\n top: 0,\n right: theme.spacing(-0.75),\n width: theme.spacing(0.75),\n zIndex: 10000,\n height: 'calc(100vh - 56px)',\n display: 'inline-block',\n position: 'absolute',\n '&:hover': {\n cursor: 'col-resize'\n }\n }\n}));\n\nexport const UtilitySideBar = (props) => {\n const {\n onUtilitySidebarToggleExpandClick,\n resizable,\n title,\n utilitySidebarToggleOverride,\n isUsingChildren = false,\n removeTopLayoutUnit = false,\n collapsedWidth,\n children,\n sidebarHidden,\n handleResize = null,\n hideTitleBar\n } = props;\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n appRibbbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const [expanded, setExpanded] = useState(true);\n const [width, setWidth] = useState(EXPANDED_WIDTH);\n const _collapsedWidth = collapsedWidth ?? COLLAPSED_WIDTH;\n\n const theme = useTheme();\n\n const onResize = (event, { element, size, handle }) => {\n setWidth(size.width);\n if (handleResize) {\n handleResize(size.width);\n }\n };\n\n const handleToggleClick = useCallback(() => {\n if (onUtilitySidebarToggleExpandClick) {\n onUtilitySidebarToggleExpandClick();\n }\n setExpanded((expanded) => !expanded);\n }, [onUtilitySidebarToggleExpandClick]);\n\n useEffect(() => {\n if (typeof utilitySidebarToggleOverride === 'boolean') {\n setExpanded(utilitySidebarToggleOverride);\n }\n }, [utilitySidebarToggleOverride]);\n return (\n <ResizableBox\n width={expanded ? width : _collapsedWidth}\n resizeHandles={resizable && expanded ? ['e'] : []}\n axis='x'\n minConstraints={expanded ? [EXPANDED_WIDTH] : [_collapsedWidth]}\n maxConstraints={[MAX_WIDTH]}\n onResize={onResize}\n handle={expanded && <div className={classes.handle} />}\n style={{ position: 'relative' }}\n >\n <div\n className={classes.root}\n style={{ width: expanded ? width : _collapsedWidth }}\n >\n <AmbientCard\n fullWidth\n removePadding\n lastChildBottomPadding={12}\n removeTopLayoutUnit={removeTopLayoutUnit || sidebarHidden}\n >\n <div\n style={{\n display: hideTitleBar ? 'none' : 'flex',\n width: '100%',\n paddingLeft: theme.spacing(1)\n }}\n >\n <div className={classes.title}>\n {expanded && <Typography variant='h6'> {title} </Typography>}\n </div>\n <div className={classes.button}>\n <SidebarCollapseButton\n id={'udpRecord-UtilitySideBar'}\n udprecordid={'udpRecord-UtilitySideBar'}\n expanded={expanded}\n onClick={handleToggleClick}\n />\n </div>\n </div>\n {!isUsingChildren && <UtilityBarInportTarget />}\n {isUsingChildren && children}\n </AmbientCard>\n </div>\n </ResizableBox>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAa,0BAA0B,QAAQ;CAC7C,MAAM,WAAW,EAAE;AACnB,KAAI,IAEF,CADa,OAAO,KAAK,IAAI,CACxB,SAAS,QAAQ;EACpB,MAAM,aAAa;GAAE,UAAU;GAAK,OAAO,IAAI;GAAM;AACrD,WAAS,KAAK,WAAW;GACzB;AAEJ,QAAO;;;;;;;;AAST,MAAa,yBAAyB,eAAe;CACnD,MAAM,UAAU,EAAE;AAClB,KAAI,YAAY,OACd,YAAW,SAAS,aAAa;AAC/B,UAAQ,SAAS,YAAY,SAAS;GACtC;AAEJ,QAAO;;;;;;;;;AAUT,MAAa,eAAe,SAAS,SAAS;CAC5C,MAAM,aAAa,EAAE;AACrB,KAAI,WAAW,QAAQ,OAErB,CADa,OAAO,KAAK,QAAQ,CAC5B,SAAS,QAAQ;EACpB,MAAM,UAAU,QAAQ;AACxB,MAAI,QAEF,YAAW,OADO,KAAK;GAGzB;AAEJ,QAAO;;;;;;;;;AAUT,MAAa,WAAW,UAAU,EAAE,EAAE,OAAO,OAAO;CAClD,MAAM,OAAO,OAAO,KAAK,QAAQ;CACjC,IAAI,mBAAmB,KAAK,UAAU,KAAK;AAC3C,MAAK,SAAS,QAAQ;EACpB,MAAM,SAAS,KAAK,UAAU,EAAE,KAAK,KAAK,CAAC;EAC3C,MAAM,YAAY,KAAK,UAAU,EAAE,KAAK,QAAQ,MAAM,CAAC;AACvD,qBAAmB,iBAAiB,WAAW,QAAQ,UAAU;GACjE;AACF,KAAI;AACF,SAAO,KAAK,MAAM,iBAAiB;UAC5B,KAAK;AACZ,UAAQ,IAAI,uCAAuC;AACnD,SAAO,EAAE;;;;;;;;;;;;AAab,MAAa,gBAAgB,MAAM,MAAM,WAAW,mBAAmB;CACrE,IAAI,gBAAgB,EAAE;AACtB,KAAI,aAAa,eACf,eAAc,aAAa,KAAK,aAAa,KAAK,aAAa;KAE/D,iBAAgB;AAElB,QAAO,UAAU,MAAM,MAAM,cAAc;;;;;AC9F7C,IAAqB,YAArB,MAA+B;CAY7B,YAAY,MAAW;AACrB,OAAK,KAAK,KAAK,MAAMA,IAAM;AAC3B,OAAK,cAAc;AACnB,OAAK,kBAAkB,KAAK,mBAAmB;AAC/C,OAAK,YAAY,KAAK,aAAa,mBAAmB;AACtD,OAAK,WAAW,KAAK,YAAY,EAAE;AACnC,OAAK,aAAa,KAAK,cAAc;AACrC,OAAK,WAAW,KAAK,YAAY;AACjC,OAAK,gBAAgB,KAAK,iBAAiB;AAC3C,OAAK,aAAa,KAAK,aACnB;GACE,iBAAiB;GACjB,WAAW;GACX,MAAM;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACR;GACD,GAAG,KAAK;GACT,GACD;GACE,iBAAiB;GACjB,WAAW;GACX,MAAM;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACR;GACF;AACL,OAAK,iBAAiB,KAAK,kBAAkB;;;;;;AC5BjD,MAAa,qBACX,UACA,KACA,WACA,iBAAiB,oBACd;AACH,KAAI,CAAC,SACH,QAAO,EAAE;CAEX,MAAM,OAAO,EAAE;AAEf,UAAS,SAAS,SAAS;AACzB,OAAK,WAAW,EAAE;AAClB,MAAI,KAAK,kBAAkB,UAAa,CAAC,KAAK,YAC5C,KACE,KAAK,WAAW,mBAAmB,eACnC,KAAK,WAAW,SAEhB,MAAK,aAAa;MAElB,MAAK,aAAa;AAGtB,OAAK,KAAK,KAAK,KAAK;GACpB;CACF,MAAM,QAAQ,SAAS,QAAQ,SAAS;AACtC,SAAO,EAAE,MAAM,cAAc,KAAK,kBAAkB,KAAK;GACzD;CACF,MAAM,QAAQ,EAAE;CAChB,MAAM,iBAAiB,EAAE;AACzB,OAAM,SAAS,SAAS;AACtB,QAAM,KAAK,KAAK;GAChB;AACF,QAAO,MAAM,SAAS,GAAG;EACvB,MAAM,OAAO,MAAM,KAAK;AAKxB,EAJe,SAAS,QACrB,SACC,KAAK,eAAe,KAAK,QAAQ,KAAK,oBAAoB,KAAK,KAClE,CACQ,SAAS,UAAU;AAC1B,OAAI,OAAO,aAIT;QAAI,CAHkB,eAAe,MAClC,OAAO,GAAG,OAAO,MAAM,MAAM,GAAG,kBAAkB,MAAM,cAC1D,EACmB;AAClB,oBAAe,KAAK,MAAM;AAC1B,UAAK,SAAS,KAAK,MAAM;AACzB,WAAM,KAAK,MAAM;;cAIhB,KAAK,eAAe,MAAM,iBAC1B,CAAC,KAAK,eAAe,CAAC,MAAM,eAC7B;AACA,SAAK,SAAS,KAAK,MAAM;AACzB,UAAM,KAAK,MAAM;;IAGrB;;CAGJ,MAAM,yBAAyB,SAAS;AACtC,MAAI,MAAM,eAAe,MAAM,mBAAmB,CAAC,MAAM,UAAU,OACjE,QAAO;AAET,OAAK,WAAW,KAAK,SAClB,IAAI,sBAAsB,CAC1B,QAAQ,UAAU,UAAU,KAAK;AACpC,SAAO;;CAGT,MAAM,gBAAgB,MACnB,IAAI,sBAAsB,CAC1B,QAAQ,SAAS,SAAS,KAAK;AAClC,KAAI,cAAc,WAAW,EAAG,QAAO,cAAc;AACrD,QAAO;;AAGT,MAAa,gCACX,UACA,KACA,WACA,YAAY,mBAAmB,QAC/B,oBACG;AACH,KAAI,CAAC,SACH,QAAO,EAAE;CAEX,MAAM,OAAO,EAAE;AAEf,UAAS,SAAS,MAAM,UAAU;EAChC,MAAM,EACJ,IACA,oCACA,UACA,qBACA,eACA,OACA,WACA,GAAG,oBACD;AACJ,WAAS,SAAS,IAAI,UAAU;GAC1B;GACJ;GACA;GACA,UAAU;GACV;GACA;GACA,YAAY,EAAE,GAAG,iBAAiB;GACnC,CAAC;AAEF,OAAK,KAAK,KAAK,KAAK;GACpB;CACF,MAAM,QAAQ,SAAS,QAAQ,SAAS,KAAK,QAAQ,KAAK,WAAW,KAAK,GAAG;CAC7E,MAAM,QAAQ,EAAE;AAChB,OAAM,SAAS,SAAS;AACtB,QAAM,KAAK,KAAK;GAChB;AACF,QAAO,MAAM,SAAS,GAAG;EACvB,MAAM,OAAO,MAAM,KAAK;AAExB,EADe,SAAS,QAAQ,SAAS,KAAK,eAAe,KAAK,KAAK,CAC9D,SAAS,UAAU;AAC1B,QAAK,SAAS,KAAK,MAAM;AACzB,SAAM,KAAK,MAAM;IACjB;;AAEJ,KAAI,MAAM,WAAW,EAAG,QAAO,MAAM;AACrC,QAAO;;AAGT,MAAa,8BAA8B,eAAe,YAAY;AACpE,KAAI,CAAC,cACH,QAAO,EAAE;CAEX,MAAM,kBAAkB,EAAE;AAC1B,SAAQ,SAAS,SAAS;AACxB,yCACE,MACA,eACA,iBACA,gBACD;GACD;AAEF,QAAO;;AAGT,MAAM,0CACJ,MACA,MACA,iBACA,yBAAyB,EAAE,KACxB;CACH,MAAM,EAAE,UAAU,OAAO;CACzB,MAAM,QAAQ,WAAW,qBAAqB,MAAM,SAAS,GAAG;CAEhE,IAAI,iBAAiB,EAAE;AACvB,wBAAuB,SAAS,UAAU;AACxC,MAAI,OAAO;GACT,MAAM,cAAc,sBAAsB,OAAO,IAAI,MAAM;AAC3D,OAAI,YAAY,OACd,kBAAiB,eAAe,OAAO,YAAY;;GAGvD;AACF,KAAI,eAAe,QACjB;MAAI,MAAM,UAAU,OAClB,MAAK,SAAS,SAAS,UACrB,uCACE,MACA,OACA,iBACA,eACD,CACF;YAGC,OAAO;EACT,MAAM,mBAAmB,qBAAqB,MAAM,KAAK;AACzD,MAAI,KAAK,cAEP,wBAAuB,SAAS,kBAAkB;GAChD,MAAM,oBAAoB,aACxB,eACA,KAAK,cACN;AACD,OAAI,mBAAmB;AAGrB,qBAAiB,gBAAgB,kBAAkB;AACnD,sBAAkB,SAAS,KAAK,iBAAiB;;IAEnD;MAEF,iBAAgB,KAAK,iBAAiB;;;AAM9C,MAAM,wBAAwB,MAAM,MAAM,oBAAoB;CAC5D,MAAM,EACJ,IACA,UACA,qBACA,eACA,OACA,UACA,OACA,WACA,GAAG,oBACD;CACJ,MAAM,eAAe,WAAW,qBAAqB,MAAM,SAAS,GAAG;AACvE,KAAI,cAAc;EAChB,MAAM,YAAY,IAAI,UAAU;GAC9B,IAAI,GAAG;GACP,WAAW,mBAAmB;GAC9B,UAAU,EAAE;GACZ,eAAe,iBAAiB,MAAM;GACtC;GACA,YAAY;IACV,OAAO;IACP,GAAG;IACH,aAAa;IACd;GACF,CAAC;AACF,MAAI,gBACF,iBAAgB,SAAS,KAAK,UAAU;AAE1C,MAAI,UAAU,OACZ,UAAS,SAAS,UAAU,qBAAqB,OAAO,MAAM,UAAU,CAAC;AAG3E,SAAO;;;AAIX,MAAa,4BAA4B,UAAU,KAAK,cAAc;AACpE,KAAI,CAAC,SACH,QAAO,EAAE;CAEX,MAAM,OAAO,EAAE;AAEf,UAAS,SAAS,MAAM,UAAU;AAChC,OAAK,KAAK,KAAK,KAAK;GACpB;CACF,MAAM,QAAQ,SAAS,QAAQ,SAAS,KAAK,QAAQ,KAAK,WAAW,KAAK,GAAG;CAC7E,MAAM,QAAQ,EAAE;AAChB,OAAM,SAAS,SAAS;AACtB,QAAM,KAAK,KAAK;GAChB;AACF,QAAO,MAAM,SAAS,GAAG;EACvB,MAAM,OAAO,MAAM,KAAK;AAExB,EADe,SAAS,QAAQ,SAAS,KAAK,eAAe,KAAK,KAAK,CAC9D,SAAS,UAAU;AAC1B,QAAK,SAAS,KAAK,MAAM;AACzB,SAAM,KAAK,MAAM;IACjB;;AAEJ,KAAI,MAAM,WAAW,EAAG,QAAO,MAAM;AACrC,QAAO;;AAGT,MAAa,mBAAmB,SAAS;AACvC,KAAI,CAAC,KACH,QAAO;AAGT,KADe,KAAK,MAAM,GAAG,CAClB,aAAa,KAAK,OAE3B,QAAO,MADa,GAAG,KAAK,UACC;KAE7B,QAAO,MAAM,SAAS;;AAI1B,MAAa,gBAAgB,SAAS;CACpC,IAAI,SAAS;AACb,KAAI,CAAC,MAAM,UAAU,OACnB,QAAO;MACF;AACL,MAAI,MAAM,SACR,MAAK,SAAS,SAAS,SAAU,SAAS,aAAa,KAAK,CAAE;AAEhE,SAAO;;;AAIX,MAAa,cAAc,MAAM,OAAO;CACtC,IAAI,SAAS;AACb,KAAI,KAAK,OAAO,GACd,QAAO;MACF;AACL,MAAI,KAAK,SACP,MAAK,SAAS,MAAM,SAAU,SAAS,WAAW,MAAM,GAAG,CAAE;AAE/D,SAAO;;;AAIX,MAAa,cAAc,UAAU,WAAW;CAC9C,MAAM,kBAAkB,CAAC,GAAG,SAAS;CACrC,MAAM,YAAY,gBAAgB,MAAM,SAAS,KAAK,OAAO,OAAO;CACpE,MAAM,YAAY,gBAAgB,WAAW,SAAS,KAAK,OAAO,OAAO;AAGzE,KACE,CAAC,UAAU,YACX,CAAC,gBAAgB,MAAM,SAAS,KAAK,aAAa,OAAO,EACzD;AACA,MAAI,YAAY,GAEd,iBAAgB,OAAO,WAAW,EAAE;EAEtC,MAAM,iBAAiB,gBAAgB,MACpC,SAAS,KAAK,aAAa,OAC7B;AAED,MAAI,eACF,gBAAe,WAAW;QAEvB;AACL,YAAU,YAAY;AACtB,YAAU,aAAa,EAAE;;AAE3B,QAAO;;AAGT,MAAa,yBAAyB,UAAU,WAAW;CACzD,MAAM,kBAAkB,CAAC,GAAG,SAAS;CACrC,MAAM,kBAAkB,EAAE;AAC1B,iBAAgB,KAAK,OAAO;AAC5B,6BAA4B,iBAAiB,QAAQ,gBAAgB;AACrE,QAAO,gBAAgB,QAAQ,SAAS,CAAC,gBAAgB,SAAS,KAAK,GAAG,CAAC;;AAG7E,MAAa,+BACX,UACA,QACA,oBACG;AAEH,CADsB,SAAS,QAAQ,SAAS,KAAK,aAAa,OAAO,CAC3D,SAAS,SAAS;AAC9B,kBAAgB,KAAK,KAAK,GAAG;AAC7B,8BAA4B,UAAU,KAAK,IAAI,gBAAgB;GAC/D;;AAGJ,MAAa,mCAAmC,MAAM,SAAS;AAC7D,KAAI,CAAC,MAAM,UAAU,OACnB,MAAK,KAAK,MAAM,YAAY,iBAAiB;UAEzC,MAAM,UAAU;AAClB,MAAI,MAAM,YAAY,iBACpB,MAAK,KAAK,MAAM,YAAY,iBAAiB;AAE/C,OAAK,SAAS,SAAS,SACrB,gCAAgC,MAAM,KAAK,CAC5C;;;AAKP,MAAa,0BAA0B,MAAM,aAAa;AACxD,KAAI,CAAC,MAAM,UAAU,OACnB,UAAS,KAAK,KAAK;UAEf,MAAM,UAAU;AAClB,WAAS,KAAK,KAAK;AACnB,OAAK,SAAS,SAAS,SAAS,uBAAuB,MAAM,SAAS,CAAC;;;AAM7E,MAAa,uBACX,QACA,UACA,qBACA,UACA,gBACA,kBACA,kBACG;AAEH,mBACE,QACA,qBAHc,EAAE,GAAG,UAAU,EAK7B,GACA,UACA,MACA,gBACA,kBACA,cACD;;AAOH,MAAa,qBACX,WACA,qBACA,UACA,OACA,UACA,UACA,gBACA,kBACA,kBACG;CACH,MAAM,WAAW,QAAQ;AACzB,KAAI,WAAW;EACb,IAAI,OAAO,WAAW,SAAS,YAAY,SAAS;EACpD,IAAI,aAAa,EAAE;AACnB,MAAI,UACF;OACE,MAAM,YAAY,oBAAoB,cACtC,mBAAmB,OAEnB,cAAa,0BAA0B,MAAM,KAAK;YAElD,MAAM,YAAY,oBAAoB,cACtC,mBAAmB,QAEnB,cAAa,2BAA2B,WAAW,MAAM,KAAK;;AAGlE,MAAI,MAAM,QAAQ,UAAU,IAAI,UAAU,OACxC,WAAU,SAAS,KAAK,MAAM;AAC5B,OAAI,MAAM;IACR,MAAM,WAAW,UAAU,KAAK;AAChC,oBACE,UACA,KACA,GACA,UACA,gBACA,kBACA,cACD;AACD,QAAI,WAAW,QACb;SACE,MAAM,YAAY,oBAAoB,cACtC,mBAAmB,QACnB;MACA,MAAM,qCAAqB,IAAI,KAAK;MACpC,IAAI,gBAAgB;OAAE,WAAW;OAAO,cAAc,EAAE;OAAE;AAC1D,iBAAW,SAAS,cAAc;OAChC,IAAI,oBAAoB,EAAE;AAC1B,uBAAgB,8BACd,WACA,KACA,oBACA,UACA,mBACA,IAAI,KAAK,EACT,SACD;AACD,2BAAoB,kBAAkB,OACpC,cAAc,aACf;AACD,4BAAqB,WAAW,kBAAkB;AAClD,iBAAU,gBAAgB,SAAS;QACnC;AACF,UACE,CAAC,cAAc,aACf,MAAM,YAAY,oBAAoB,YACpC,sBAAsB,WAOxB,EALqB,kBACnB,UACA,KACA,cACD,IACgB,SAAS,KAAK,SAAS;gBAG1C,MAAM,YAAY,oBAAoB,cACtC,mBAAmB,QAInB,YAAW,SAAS,cAAc;AAChC,gBAAU,gBAAgB,SAAS;AACnC,gBAAU,WAAW,SAAS;AAC9B,wCACE,WACA,UACA,SAAS,UACT,KACA,cACD;OACD;UAQJ,EALqB,kBACnB,UACA,KACA,cACD,IACgB,SAAS,KAAK,SAAS;AAG1C,QAAI,UAAU,UAAU,QAAQ;KAC9B,MAAM,0BAA0B,CAAC,GAAG,oBAAoB;AACxD,cAAS,SAAS,SAAS,WAAW,QAAM;MAC1C,MAAM,mBAAmB,WAAW,YAAY;MAChD,MAAM,YACJ,wBAAwB,QAAQ,iBAAiB;AACnD,UAAI,CAAC,SACH,yBAAwB,aAAa;AAEvC,wBACE,IAAI,mBACJ,qBACA,UACA,WACA,UACA,SAAS,IACT,gBACA,kBACA,SAAS,WAAW,SACrB;OACD;;;IAGN;WACO,OAAO,cAAc,YAAY,CAAC,MAAM,QAAQ,UAAU,EAAE;AACrE,mBACE,MACA,WACA,GACA,UACA,gBACA,kBACA,cACD;AACD,OAAI,MAAM;IACR,MAAM,WAAW,UAAU,KAAK;AAMhC,KALqB,kBACnB,UACA,WACA,cACD,IACgB,SAAS,KAAK,SAAS;AACxC,QAAI,UAAU,UAAU,QAAQ;KAC9B,MAAM,0BAA0B,CAAC,GAAG,oBAAoB;AACxD,cAAS,SAAS,SAAS,WAAW,MAAM;MAC1C,MAAM,mBAAmB,WAAW,YAAY;MAChD,MAAM,YAAY,WACd,WACA,wBAAwB,QAAQ,iBAAiB;AACrD,UAAI,CAAC,SACH,yBAAwB,aAAa;AAEvC,wBACE,UAAU,mBACV,qBACA,UACA,WACA,UACA,SAAS,IACT,gBACA,kBACA,SAAS,WAAW,SACrB;OACD;;;;;;AAQZ,MAAa,mBACX,MACA,KACA,OACA,UACA,gBACA,kBACA,kBACG;AACH,KAAI,KAAK,WAAW,+BAA+B;EACjD,MAAM,sBAAsB,aAC1B,KAAK,WAAW,+BAChB,KACA,KAAK,YAAY,+BACjB,cACD;AACD,MAAI,qBAAqB;AACvB,QAAK,WAAW,6BACd,qBAAqB,QAAQ;AAC/B,QAAK,WAAW,8BACd,qBAAqB,WAAW;AAClC,QAAK,WAAW,6BACd,qBAAqB,QAAQ;SAC1B;AAEL,QAAK,WAAW,6BAA6B;AAC7C,QAAK,WAAW,8BAA8B;AAC9C,QAAK,WAAW,6BAA6B;;;AAIjD,KACE,KAAK,WAAW,sCAChB,KAAK,WAAW,2BAChB;EACA,MAAM,2BAA2B,KAAK,WACnC,qCACC,aACE,KAAK,WAAW,oCAChB,KACA,KAAK,YAAY,+BACjB,cACD,GACD,aACE,KAAK,WAAW,2BAChB,KACA,KAAK,YAAY,+BACjB,cACD;AAEL,MAAI,0BAA0B;AAC5B,QAAK,WAAW,kCACd,0BAA0B,QAAQ;AACpC,QAAK,WAAW,mCACd,0BAA0B,WAAW;AACvC,QAAK,WAAW,kCACd,0BAA0B,QAAQ;SAC/B;AAEL,QAAK,WAAW,kCAAkC;AAClD,QAAK,WAAW,mCAAmC;AACnD,QAAK,WAAW,kCAAkC;;;AAItD,KAAI,KAAK,WAAW,qBAAqB;EACvC,IAAI,oBAAoB,qBACtB,gBACA,KAAK,WAAW,oBACjB;AACD,OAAK,WAAW,sBAAsB,mBAAmB,KAAK,IAAI;EAClE,MAAM,8BACJ,KAAK,WAAW;AAClB,MAAI,CAAC,CAAC,6BAA6B;AACjC,uBAAoB,OAAO,KAAK,4BAA4B;AAC5D,QAAK,WAAW,sBAAsB;;AAGxC,OAAK,WAAW,oBAAoB,EAAE;EACtC,MAAM,eAAe,EAAE;EACvB,MAAM,gCACJ,MAAM,YAAY;AACpB,oBAAkB,SAAS,qBAAqB;GAC9C,MAAM,cAAc,mBAChB,iBAAiB,OAAO,EAAE,CAAC,aAAa,GAAG,iBAAiB,MAAM,EAAE,GACpE;GACJ,IAAI,cAAc;GAClB,IAAI,KAAK,8BAA8B,oBACnC,8BAA8B,oBAC9B;AACJ,OAAI,IAAI,IACN,eAAc,IAAI;YACT,8BACT,eAAc,IAAI,iCACd,IAAI,+BAA+B,MACnC;AAEN,QAAK,WAAW,kBAAkB,KAAK;IACxB;IACb,gBAAgB;IAChB,aAAa,eAAe;IAC7B,CAAC;AACF,gBAAa,KAAK,YAAY;IAC9B;AACF,OAAK,WAAW,iBAAiB,aAAa,UAAU;;AAE1D,MAAK,WAAW,eAAe,eAAe,MAAM,IAAI;AACxD,MAAK,WAAW,kBAAkB,kBAAkB,MAAM,IAAI;AAC9D,MAAK,WAAW,iBAAiB,eAAe,MAAM,IAAI;AAE1D,MAAK,WAAW;AAChB,MAAK,wBAAwB;AAC7B,MAAK,KAAKC,IAAM;AAChB,MAAK,UAAU;AAEf,KAAI,MAAM,YAAY,SACpB,MAAK,sBAAsB,uBACzB,MACA,gBACA,iBACD;;AAIL,MAAM,kBAAkB,YAAY,SAAS;CAC3C,IAAI,cAAc;AAClB,KAAI,YAAY;EACd,MAAM,oBAAoB,WAAW,WAAW,MAAM,aAAa;AACjE,OAAI,KAAK,YAAY,kBACnB,QAAO,SAAS,cAAc,KAAK,YAAY;OAE/C,QAAO,SAAS,cAAc,KAAK,YAAY;IAEjD;AACF,gBAAc,oBACV,kBAAkB,oBAAoB,mBACtC;;AAEN,QAAO;;AAGT,MAAa,0BACX,MACA,gBACA,qBACG;CACH,MAAM,sBAAsB,EAAE;CAC9B,IAAI,2BAA2B,EAAE;AACjC,KAAI,MAAM,YAAY,oBACpB,4BAA2B,qBACzB,gBACA,KAAK,WAAW,oBACjB;AAEH,SACE,KAAK,YACL,KAAK,SAAS,SAAS,cAAc;EACnC,MAAM,oBAAoB;GACxB,aAAa;GACb,MAAM;GACN,kBAAkB,UAAU,YAAY;GACxC,qBAAqB,UAAU,YAAY;GAC5C;EACD,MAAM,aAAa,UAAU,YAAY;EACzC,MAAM,iBAAiB,kBAAkB,MACtC,OAAO,GAAG,eAAe,WAC3B;EACD,IAAI,oBAAoB,EAAE;EAC1B,MAAM,iBAAiB,EAAE;AACzB,MAAI,gBAAgB;GAElB,IAAI,aAAa,eAAe;GAEhC,IAAI,kBAAkB,eAAe;GACrC,MAAM,aAAa,gBAAgB,MAChC,OAAO,GAAG,sBAAsB,KAAK,YAAY,oBACnD;GACD,IAAI,qBAAqB;GACzB,IAAI,6BAA6B;AACjC,OAAI,YAAY;IACd,MAAM,mBAAmB,eAAe,YAAY,UAAU;IAC9D,IAAI,oBAAoB;IACxB,IAAI,gCAAgC;AAEpC,QACE,iBAAiB,gBAAgB,qBAAqB,cACtD;AACA,0BAAqB;AACrB,uBAAkB,oBAAoB,EAAE;AACxC,yBAAoB,UAAU,YAAY;AAC1C,qCAAgC,kBAAkB,MAC/C,OAAO,GAAG,eAAe,kBAC3B;AAGD,SAAI,+BAA+B,uBAAuB;AACxD,mBAAa,8BAA8B;AAG3C,wBAAkB,mCAChB,iBAAiB;AACnB,mCAA6B;;KAS/B,MAAM,cAAc,eANI,eAAe,MACpC,OACC,GAAG,sBACH,UAAU,YAAY,oBACzB,EAEmD,UAAU;AAC9D,SAAI,eAAe,OAAO,KAAK,YAAY,CAAC,OAC1C,aAAY,KAAK,SAAS,WAAW;MACnC,MAAM,YAAY,OAAO,MAAM,IAAI;MACnC,MAAM,iBAAiB,UAAU,KAAK,UAAU,GAAG,MAAM,GAAG;MAC5D,MAAM,uBAAuB,UAAU,KACnC,UAAU,GAAG,MAAM,GACnB;MACJ,MAAM,iBAAiB,WAAW,KAAK,qBAAqB,GACxD,qBAAqB,aAAa,GAClC,iBAAiB,qBAAqB;AAC1C,wBAAkB,kBAAkB,KAAK;OACvC,sBAAsB,6BAClB,WAAW,KAAK,eAAe,GAC7B,eAAe,aAAa,GAC5B,iBAAiB,eAAe,GAClC;OACJ,eAAe;OAEC;OACjB,CAAC;OACF;;AAIN,QAAI,oBAAoB,OAAO,KAAK,iBAAiB,CAAC,OACpD,kBAAiB,KAAK,SAAS,WAAW;KACxC,MAAM,YAAY,OAAO,MAAM,IAAI;KACnC,IAAI,sBAAsB;AAC1B,SACE,CAAC,sBACD,KAAK,QAAQ,eACX,KAAK,WAAW,8BACjB,CAED,uBACE,KAAK,WAAW;KAEpB,MAAM,iBAAiB,UAAU,KAAK,UAAU,GAAG,MAAM,GAAG;KAI5D,IAAI,QAAQ;MACV,eAJ2B,UAAU,KACnC,UAAU,GAAG,MAAM,GACnB;MAIF,gBAAgB,WAAW,KAAK,eAAe,GAC3C,eAAe,aAAa,GAC5B,iBAAiB,eAAe;MACf;MACtB;AACD,SAAI,sBAAsB,CAAC,2BACzB,SAAQ;MACN,eAAe;MAEf,gBAAgB,WAAW,KAAK,eAAe,GAC3C,eAAe,aAAa,GAC5B,iBAAiB,eAAe;MACrC;AAEH,SAAI,oBAAoB;AACtB,UACE,UAAU,YAAY,oBACtB,UAAU,YAAY,mCACtB;AACA,aAAM,0BAA0B,iBAC9B,CAAC,6BACG,UAAU,YAAY,wBACtB,UAAU,YAAY,iBAC3B;AACD,aAAM,2CACJ,iBACE,UAAU,YAAY,kCACvB;;AAEL,UAAI,+BAA+B,uBAAuB;AACxD,aAAM,0BAA0B;AAChC,aAAM,2CAA2C;;;AAGrD,uBAAkB,KAAK,MAAM;MAC7B;;AAKN,OAAI,CAAC,kBAAkB,OACrB,0BAAyB,SAAS,qBAAqB;IACrD,MAAM,QAAQ;KACZ,eAAe;KACf,gBAAgB;KACjB;AACD,QACE,UAAU,YAAY,oBACtB,UAAU,YAAY,mCACtB;AACA,WAAM,0BAA0B,iBAC9B,UAAU,YAAY,iBACvB;AACD,WAAM,2CAA2C,iBAC/C,UAAU,YAAY,kCACvB;;AAEH,sBAAkB,KAAK,MAAM;KAC7B;AAGJ,qBAAkB,SAAS,OAAO;IAEhC,IAAI,cAAc;AAClB,QAAI,IAAI,oBACN,eACE,KAAK,QAAQ,GAAG,qBAAqB,GAAG;aAEtC,4BAA4B;KAC9B,MAAM,gCACJ,MAAM,YAAY;KACpB,MAAM,QAAQ,MAAM,UAAU;AAC9B,mBAAc,QACV,MAAM,GAAG,kBACT,KAAK,QAAQ,GAAG;UAEpB,eAAc,KAAK,QAAQ,GAAG;IAGlC,IAAI,wBAAwB,iBAAiB,GAAG,cAAc;AAC9D,QACE,GAAG,2BACH,GAAG,yCAEH,yBAAwB,GAAG,GAAG,wBAAwB,GAAG,GAAG,yCAAyC,GAAG;AAE1G,mBAAe,KAAK;KAClB,aAAa;KACA;KACb,gBAAgB;KACjB,CAAC;KACF;AACF,qBAAkB,OAAO,gBAAgB,gBAAgB,GAAG,GAAG;AAC/D,qBAAkB,cAAc,YAAY,eAAe;AAC3D,uBAAoB,KAAK,kBAAkB;SACtC;AACL,WAAQ,IAAI,oBAAoB,aAAa,UAAU;AACvD,QAAK,0BACH,oBAAoB,aAAa;;GAErC;AACJ,QAAO;;AAGT,MAAa,sBACX,gBACA,eACA,gBACA,kBACA,uBACA,kBACG;AACH,KAAI,CAAC,eAAgB,QAAO;CAC5B,MAAM,OAAO,UAAU,cAAc;CACrC,MAAM,cAAc,EAAE;CACtB,MAAM,kBAAkB,EAAE;CAC1B,MAAM,UAAU,EAAE;AAClB,iCAAgC,MAAM,YAAY;AAClD,wBAAuB,MAAM,gBAAgB;AAC7C,qBACE,gBACA,iBACA,aACA,SACA,gBACA,kBACA,cACD;CAED,MAAM,cAAc,kBAAkB,SAAS,MAAM,WAAW;AAChE,aAAY,2BAA2B;AACvC,aAAY,mBAAmB;AAC/B,QAAO;;AAGT,MAAa,kBAAkB,SAAS;AACtC,MAAK,aAAa;AAClB,KAAI,MAAM,SACR,MAAK,SAAS,SAAS,SAAS,eAAe,KAAK,CAAC;;AAIzD,MAAa,oBAAoB,SAAS;AACxC,MAAK,aAAa;AAClB,KAAI,MAAM,SACR,MAAK,SAAS,SAAS,SAAS,iBAAiB,KAAK,CAAC;;AAI3D,MAAa,oBACX,WACA,mBACA,eAAe,EAAE,KACd;AACH,KAAI,mBAAmB,UAAU;AAC/B,eAAa,KAAK,mBAAmB,SAAS;AAE9C,mBAAiB,WADK,WAAW,WAAW,mBAAmB,SAAS,EAC7B,aAAa;;AAG1D,QAAO;;AAGT,MAAa,mBAAmB,OAAO,QAAQ;CAE7C,MAAM,QADS,OAAO,MAAM,IAAI,GACX,KAAK,UAAU,MAAM,MAAM,CAAC;AACjD,KAAI,MAAM;EACR,MAAM,gBAAgB,EAAE;EACxB,MAAM,cAAc,KAAK,KAAK,KAAK,UAAU;AAE3C,OADmB,IAAI,OAAO,EAAE,KAAK,MACrB;AACd,kBAAc,KAAK,MAAM;AACzB,UAAM,IAAI,QAAQ,MAAM,GAAG;;AAE7B,UAAO;IACP;EACF,MAAM,SAAS,EAAE;AACjB,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACpC,IAAI,WAAW,KAAK;AACpB,OAAI,UAAU;IACZ,MAAM,kBAAkB,SAAS,MAAM,IAAI;AAC3C,QAAI,gBAAgB,SAAS,GAAG;KAC9B,IAAI,mBAAmB;AACvB,qBAAgB,SAAS,eAAa;MACpC,MAAM,UAAUC,WAAS,MAAM,YAAY;MAC3C,IAAI,WAAW;MACf,IAAI,WAAW;AACf,UAAI,SAAS;AACX,kBAAW,SAAS,QAAQ,GAAG;AAC/B,kBAAW,QAAQ;;AAErB,UAAI,OAAO,aAAa,YAAY,UAAU;OAC5C,MAAM,oBAAoBA,WAAS,UAAU,GAAG,SAAS;AACzD,WAAI,CAAC,kBACH;YAAI,IAAI,mBACN,oBAAmB,IAAI,mBAAmB;kBAGxC,iBAAiB,mBACnB,oBACE,iBAAiB,mBAAmB;iBAItC,CAAC,iBACH,oBAAmB,IAAIA;UAEvB,oBAAmB,iBAAiBA;OAGxC;AACF,SACE,OAAO,qBAAqB,aAC5B,OAAO,qBAAqB,SAE5B,oBAAmB,iBAAiB,UAAU;AAEhD,YAAO,KAAK,iBAAiB;AAC7B;;;GAGJ,IAAI,QAAQ,IAAI;AAChB,OAAI,OAAO,UAAU,aAAa,OAAO,UAAU,SACjD,SAAQ,MAAM,UAAU;AAE1B,UAAO,KAAK,MAAM;;EAEpB,IAAI,cAAc,YAAY,KAAK,IAAI;AACvC,OAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,IACtC,KAAI,CAAC,cAAc,SAAS,EAAE,CAC5B,KAAI,OAAO,GACT,eAAc,YAAY,QAAQ,GAAG,YAAY,MAAM,OAAO,GAAG;MAEjE,eAAc,YAAY,QAAQ,GAAG,YAAY,MAAM,GAAG;AAKhE,SAAO,YAAY,WAAW,KAAK,IAAI;OAEvC,QAAO;;AAIX,MAAa,kBAAkB,MAAM,QAAQ;AAC3C,QAAO,gBAAgB,KAAK,WAAW,gBAAgB,IAAI;;AAG7D,MAAa,qBAAqB,MAAM,QAAQ;AAC9C,QAAO,gBAAgB,KAAK,WAAW,mBAAmB,IAAI;;AAGhE,MAAa,kBAAkB,MAAM,QAAQ;AAC3C,QAAO,gBAAgB,KAAK,WAAW,eAAe,IAAI;;AAG5D,MAAa,yBACX,MACA,UAAU,EAAE,EACZ,oBAAoB,EAAE,KACnB;CACH,IAAI,SAAS;CACb,IAAI,QAAQ;AACZ,mBAAkB,SAAS,qBAAqB;AAC9C,MAAI,MAAM,QAAQ,sBAAsB,QAAQ,kBAC9C,SAAQ;GAEV;AACF,KAAI,SAAS,kBAAkB,OAC7B,QAAO;MACF;AACL,MAAI,KAAK,SACP,MAAK,SAAS,MACX,SACE,SAAS,sBAAsB,MAAM,SAAS,kBAAkB,CACpE;AAEH,SAAO;;;AAIX,MAAa,2BAA2B,iBAAiB,MAAM,aAAa;AAC1E,KAAI,CAAC,gBAAgB,SAAS,MAAM,GAAG,CACrC,QAAO,KAAK;AAEd,KAAI,CAAC,gBAAgB,SAAS,SAAS,EAAE;EACvC,MAAM,kBAAkB,KAAK,SAAS,MAAM,SAAS,KAAK,OAAO,SAAS;AAC1E,MAAI,gBACF,KAAI,gBAAgB,SAAS,iBAAiB,SAAS,CACrD,QAAO;MAEP,QAAO,wBACL,iBACA,iBACA,iBAAiB,SAClB;OAIL,QAAO;;AAIX,MAAa,gBAAgB,MAAM,OAAO;CACxC,IAAI,SAAS;AACb,KAAI,MAAM,OAAO,GACf,QAAO;MACF;AACL,MAAI,KAAK,SACP,MAAK,SAAS,MAAM,SAAU,SAAS,aAAa,MAAM,GAAG,CAAE;AAEjE,SAAO;;;AAIX,MAAa,wBAAwB,MAAM,IAAI,UAAU;CACvD,IAAI,SAAS;AACb,KAAI,MAAM,OAAO,MAAM,MAAM,YAAY,UAAU,MACjD,QAAO;MACF;AACL,MAAI,KAAK,SACP,MAAK,SAAS,MAAM,SAAU,SAAS,aAAa,MAAM,IAAI,MAAM,CAAE;AAExE,SAAO;;;AAIX,MAAa,yBAAyB,MAAM,IAAI,UAAU;CACxD,IAAI,UAAU,EAAE;AAChB,KAAI,MAAM,OAAO,MAAM,MAAM,YAAY,UAAU,MACjD,SAAQ,KAAK,KAAK;AAEpB,KAAI,KAAK,SACP,MAAK,SAAS,SAAS,SAAS;AAC9B,YAAU,QAAQ,OAAO,sBAAsB,MAAM,IAAI,MAAM,CAAC;GAChE;AAEJ,QAAO;;AAGT,MAAM,+BACJ,aACA,WACA,cACA,UACA,wBACA,oBACA,OACA,SACG;CAGH,MAAM,qBAAqB,EAAE,GAAG,aAAa;AAE7C,KAAI,CADiB,kBAAkB,oBAAoB,MAAM,MAAM,EACpD;AACjB,qBAAmB,WAAW,YAAY,WACtC,UAAU,YAAY,SAAS,GAC/B,YAAY;AAChB,qBAAmB,cAAc,UAAU;AAC3C,qBAAmB,mBAAmB,UAAU;AAChD,qBAAmB,qBAAqB,UAAU,WAAW;AAC7D,MAAI,mBAAmB,YACrB,WAAU,SAAS,KAAK,mBAAmB;MAE3C,cAAa,KAAK,mBAAmB;AAEvC,MAAI,SACF,UAAS,KAAK,mBAAmB;AAEnC,yBAAuB,IAAI,MAAM;AACjC,qBAAmB,IAAI,MAAM;;;AAIjC,MAAa,iCACX,WACA,MACA,oBACA,aACA,OACA,yCAAyB,IAAI,KAAK,EAClC,UACA,eAAe,EAAE,KACd;AACH,KACE,WAAW,YAAY,mBACvB,WAAW,YAAY,WACvB;EACA,MAAM,OAAO,QACX,WAAW,YAAY,iBACvB,WAAW,YAAY,UACxB;AACD,MACE,QACA,aACE,MACA,MACA,KAAK,YAAY,+BACjB,MACD,EACD;GACA,IAAI,YAAY;AAChB,aAAU,SAAS,SAAS,eAAe;AACzC,QAAI,WAAW,YAWb,cAVsB,8BACpB,YACA,MACA,oBACA,aACA,OACA,WAAW,SAAS,yBAAS,IAAI,KAAK,GAAG,wBACzC,UACA,aACD,IAAI,EAAE,WAAW,GACS;KAE7B;AACF,OAAI,CAAC,WAAW;AACd,gCACE,aACA,WACA,cACA,UACA,wBACA,oBACA,OACA,KACD;AACD,gBAAY;;;YAIZ,UAAU,kBAAkB,CAAC,mBAAmB,IAAI,MAAM,CAC5D,6BACE,aACA,WACA,cACA,UACA,wBACA,oBACA,OACA,KACD;AAGL,KAAI,YAAY,UAAU,aAKxB;MAAI,CAHkB,SACnB,QAAQ,SAAS,KAAK,YAAY,CAClC,MAAM,OAAO,GAAG,OAAO,UAAU,GAAG,CAGrC,EADqB,kBAAkB,WAAW,MAAM,MAAM,IAC7C,SAAS,KAAK,UAAU;;AAG7C,QAAO;EAAE,WAAW,mBAAmB,IAAI,MAAM;EAAE;EAAc;;AAEnE,MAAa,6BAA6B,MAAM,iBAAiB,UAAU;CACzE,MAAM,aAAa,EAAE;CACrB,MAAM,qBAAqB,MAAM,YAAY;CAC7C,MAAM,YAAY,oBAAoB,aAAa,mBAAmB;CACtE,MAAM,kBAAkB,oBAAoB;AAE5C,KACE,oBAAoB,WACpB,oBAAoB,UAAU,YAAY,QAC1C;AACA,qBAAmB,UAAU,WAAW,SAAS,aAAa;GAE5D,MAAM,gBAAgB,kBAAkB,UAAU,OAAO;GAEzD,MAAM,WAAW,EAAE;AACnB,iBAAc,SAAS,UAAU;AAC/B,QAAI,eACF,UAAS,MAAM,MAAMD,IAAM;AAE7B,UAAM,cAAc,EAAE;KACtB;AACF,OAAI,OAAO,KAAK,SAAS,CAAC,OACxB,eAAc,SAAS,UAAU;AAC/B,QAAI,SAAS,MAAM,IACjB,OAAM,KAAK,SAAS,MAAM;AAE5B,QAAI,SAAS,MAAM,eACjB,OAAM,gBAAgB,SAAS,MAAM;KAEvC;AAEJ,OAAI,eAAe,QAAQ;IAEzB,MAAM,aACJ,cAAc,MAAM,UAAU,CAAC,MAAM,cAAc,IACnD,cAAc;AAChB,kBAAc,OAAO;IAErB,MAAM,cAAc,6BAClB,eACA,MACA,iBACA,WACA,gBACD;IACD,MAAM,EAAE,IAAI,WAAY,GAAG,yBAAyB;IACpD,MAAM,YAAY,IAAI,UAAU;KAC9B;KACA;KACA;KACA,UAAU,MAAM,QAAQ,YAAY,GAAG,cAAc,CAAC,YAAY;KAClE;KACA,YAAY,EAAE,GAAG,sBAAsB;KACxC,CAAC;AACF,eAAW,KAAK,UAAU;;IAE5B;AAEF,MAAI,oBAAoB,YAAY,SAAS;GAC3C,MAAM,eAAe,IAAI,UAAU;IACjC;IACA,gBAAgB;IAChB,YAAY;KACV,OACE,oBAAoB,qBAAqB;KAC3C,MAAM,oBAAoB;KAC3B;IACF,CAAC;AACF,cAAW,KAAK,aAAa;;;AAIjC,QAAO;;AAGT,MAAa,2BAA2B,MAAM,iBAAiB,UAAU;CACvE,MAAM,qBAAqB,MAAM,YAAY;CAC7C,MAAM,YAAY,oBAAoB,aAAa,mBAAmB;CACtE,IAAI,gBAAgB,EAAE;AAEtB,KACE,oBAAoB,WACpB,oBAAoB,UAAU,YAAY,OAE1C,oBAAmB,UAAU,WAAW,SAAS,aAAa;AAE5D,kBAAgB,kBAAkB,UAAU,OAAO;EAEnD,MAAM,WAAW,EAAE;AACnB,gBAAc,SAAS,UAAU;AAC/B,OAAI,eACF,UAAS,MAAM,MAAMA,IAAM;AAE7B,SAAM,cAAc,EAAE;IACtB;AACF,MAAI,OAAO,KAAK,SAAS,CAAC,OACxB,eAAc,SAAS,UAAU;AAC/B,OAAI,SAAS,MAAM,IACjB,OAAM,KAAK,SAAS,MAAM;AAE5B,OAAI,SAAS,MAAM,eACjB,OAAM,gBAAgB,SAAS,MAAM;IAEvC;GAEJ;AAEJ,QAAO;;AAGT,MAAa,8BACX,SACA,MACA,iBAAiB,UACd;CACH,IAAI,aAAa,EAAE;CACnB,MAAM,qBAAqB,MAAM,YAAY;CAC7C,MAAM,YAAY,oBAAoB,aAAa,mBAAmB;AAEtE,KACE,oBAAoB,WACpB,oBAAoB,UAAU,YAAY,OAE1C,oBAAmB,UAAU,WAAW,SAAS,aAAa;EAE5D,MAAM,gBAAgB,kBAAkB,UAAU,OAAO;EAEzD,MAAM,WAAW,EAAE;AACnB,gBAAc,SAAS,UAAU;AAC/B,OAAI,eACF,UAAS,MAAM,MAAMA,IAAM;AAE7B,SAAM,cAAc,EAAE;IACtB;AACF,MAAI,OAAO,KAAK,SAAS,CAAC,OACxB,eAAc,SAAS,UAAU;AAC/B,OAAI,SAAS,MAAM,IACjB,OAAM,KAAK,SAAS,MAAM;AAE5B,OAAI,SAAS,MAAM,eACjB,OAAM,gBAAgB,SAAS,MAAM;IAEvC;AAEJ,MAAI,eAAe,QAAQ;GACzB,MAAM,gBAAgB,cAAc,WAAW;GAC/C,MAAM,uBAAuB,yBAC3B,eACA,MACA,gBACD;GAED,MAAM,WAAW,2BACf,sBACA,QACD;AAED,WAAQ,SAAS,MAAM,UAAU;IAC/B,MAAM,cAAc,EAAE;IACtB,MAAM,kBAAkB,EAAE;IAC1B,MAAM,UAAU,EAAE;IAClB,MAAM,iBAAiB,EAAE;AACzB,oCAAgC,MAAM,YAAY;AAClD,2BAAuB,MAAM,gBAAgB;AAC7C,wBACE,MACA,iBACA,aACA,SACA,MACA,MACA,OACA,eACD;IAED,MAAM,qBAAqB,UADP,kBAAkB,SAAS,MAAM,WAAW,CACf;AAMjD,KALqB,kBACnB,oBACA,MACA,MACD,IAEC,gCACE,oBACA,sBACA,UACA,UACA,cACD;KACH;AACF,YAAS,SAAS,UAChB,cAAc,OAAO,MAAMA,IAAM,EAAEA,IAAM,EAAE,KAAK,CACjD;AACD,gBAAa,WAAW,OAAO,SAAS;;GAE1C;AAGJ,QAAO;;AAGT,MAAM,wBAAwB,MAAM,aAAa;CAC/C,MAAM,kBAAkB,SAAS,MAAM,IAAI;AAC3C,KAAI,gBAAgB,QAAQ;EAC1B,IAAI,mBAAmB;AACvB,kBAAgB,SAAS,eAAa;GACpC,MAAM,UAAUC,WAAS,MAAM,YAAY;GAC3C,IAAI,WAAW;GACf,IAAI,WAAW;AACf,OAAI,SAAS;AACX,eAAW,SAAS,QAAQ,GAAG;AAC/B,eAAW,QAAQ;;AAErB,OAAI,OAAO,aAAa,YAAY,UAAU;IAC5C,MAAM,oBAAoBA,WAAS,UAAU,GAAG,SAAS;AACzD,QAAI,CAAC,kBACH;SAAI,KAAK,mBACP,oBAAmB,KAAK,mBAAmB;eAGzC,iBAAiB,mBACnB,oBAAmB,iBAAiB,mBAAmB;cAIvD,CAAC,iBACH,oBAAmB,OAAO,KAAKA,cAAY;OAE3C,oBAAmB,iBAAiBA;IAGxC;AACF,SAAO;;AAET,QAAO;;AAGT,MAAa,sCACX,MACA,kBAAkB,EAAE,KACjB;AACH,KAAI,MAAM,SAAS;EAEjB,MAAM,iBAAiB;GAAE,OAAO;GAAI,OAAO;GAAI,cAAc;GAAI;EACjE,MAAM,gCACJ,KAAK,YAAY;EACnB,MAAM,cAAc,KAAK,YAAY;AACrC,MAAI,+BAA+B;GACjC,MAAM,cAAc,KAAK,QAAQ;AACjC,kBAAe,QACb,gBAAgB,aAAa,KAAK,QAAQ,IAC1C,aAAa;AACf,kBAAe,QAAQ,aAAa;AACpC,kBAAe,eAAe,KAAK,YAAY;SAC1C;GACL,MAAM,SAAS,KAAK;AACpB,kBAAe,QACb,gBAAgB,aAAa,KAAK,QAAQ,IAAI,QAAQ;AACxD,kBAAe,QAAQ,QAAQ;AAC/B,kBAAe,eAAe,KAAK,YAAY;;AAEjD,kBAAgB,KAAK,eAAe;;AAEtC,KAAI,MAAM,UAAU,OAClB,MAAK,SAAS,SAAS,cACrB,mCAAmC,WAAW,gBAAgB,CAC/D;AAEH,QAAO;;AAGT,MAAa,mCACX,aACA,MACA,YACA,yBAAyB,EAAE,EAC3B,gBAAgB,UACb;CACH,MAAM,EAAE,UAAU,OAAO;CACzB,MAAM,OAAO,aAAa;CAC1B,MAAM,QAAQ,WAAW,qBAAqB,MAAM,SAAS,GAAG;CAEhE,IAAI,iBAAiB,EAAE;AACvB,wBAAuB,SAAS,UAAU;AACxC,MAAI,OAAO;GACT,MAAM,cAAc,sBAAsB,OAAO,IAAI,MAAM;AAC3D,OAAI,YAAY,OACd,kBAAiB,eAAe,OAAO,YAAY;;GAGvD;AACF,KAAI,eAAe,OACjB,KAAI,MAAM,UAAU,OAClB,MAAK,SAAS,SAAS,UACrB,gCACE,aACA,OACA,YACA,gBACA,cACD,CACF;KAED,gBAAe,SAAS,kBAAkB;EACxC,MAAM,oBAAoB,qBACxB,eACA,KAAK,IACL,MACD;AACD,MAAI,mBAAmB;AACrB,eAAY,mBAAmB,kBAAkB;AACjD,qBAAkB,SAAS,KAAK,YAAY;;GAE9C;UAGA,cACF,YAAW,KAAK,YAAY;KAI5B,wBAAuB,SAAS,kBAAkB;AAChD,MAAI,eAAe;AACjB,eAAY,mBAAmB,cAAc;AAC7C,iBAAc,SAAS,KAAK,YAAY;;GAE1C;;AAKR,MAAM,qBAAqB,SAAS,EAAE,KAAK;AACzC,QAAO,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;;AAG5C,MAAa,iBACX,MACA,kBACA,QAAQD,IAAM,EACd,cAAcA,IAAM,EACpB,kBAAkB,SACf;CACH,IAAI,qBAAqB;AACzB,KAAI,MAAM;AACR,OAAK,KAAK;AACV,MAAI,KAAK,YAAY,KAAK,eAAe;AACvC,QAAK,WAAW;AAChB,QAAK,gBAAgB;;AAEvB,MAAI,gBACF,MAAK,qBAAqB;AAG5B,MAAI,CAAC,KAAK,eAAe,mBACvB,MAAK,wBAAwB;AAE/B,MAAI,CAAC,KAAK,YACR,sBAAqB,KAAK;;AAK9B,KAAI,MAAM,UAAU,OAClB,MAAK,SAAS,SAAS,UACrB,cAAc,OAAO,oBAAoBA,IAAM,EAAE,OAAO,gBAAgB,CACzE;;AAIL,MAAM,qCACJ,MACA,UACA,kBACA,MACA,kBACG;CACH,IAAI,qBAAqB;AACzB,KAAI,UAEF;MAAI,CAAC,SAAS,MAAM,SAAS,KAAK,OAAO,KAAK,GAAG,EAAE;AACjD,OAAI,CAAC,KAAK,eAAe,mBACvB,MAAK,wBAAwB;AAE/B,OAAI,CAAC,KAAK,YACR,sBAAqB,KAAK;AAG5B,IADqB,kBAAkB,MAAM,MAAM,cAAc,IAChD,SAAS,KAAK,KAAK;;;AAKxC,KAAI,MAAM,UAAU,OAClB,MAAK,SAAS,SAAS,UACrB,kCACE,OACA,UACA,oBACA,MACA,cACD,CACF;;AAIL,MAAa,wBAAwB,WAAW,oBAAoB,EAAE,KAAK;AACzE,mBAAkB,SAAS,SAAS;AAClC,MAAI,UAAU,OAAO,KAAK,cACxB,WAAU,SAAS,KAAK,KAAK;GAE/B;AAEF,KAAI,WAAW,UAAU,OACvB,WAAU,SAAS,SAAS,eAAe;AACzC,MAAI,WAAW,YACb,sBAAqB,YAAY,kBAAkB;GAErD;AAGJ,QAAO;;AAGT,MAAa,qBAAqB,MAAM,MAAM,gBAAgB,UAAU;AACtE,KAAI,CAAC,QAAS,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OACvC,QAAO;CAET,IAAI,OAAO;AACX,KAAI,KAAK,aACP;MAAI,KAAK,YAAY,YAAY,SAAS;YAItC,KAAK,YAAY,YAAY,SAAS;AAExC,SAAO,QACL,KAAK,WAAW,WAAW,iBAC3B,KAAK,WAAW,WAAW,UAC5B;AACD,MACE,QACA,aACE,MACA,MACA,KAAK,YAAY,+BACjB,cACD,CAED,QAAO;;AAIb,QAAO;;AAGT,MAAa,0BAA0B,eAAe,aAAa;AACjE,KAAI,CAAC,SAAU,QAAO;CACtB,IAAI,gBAAgB,EAAE;CACtB,MAAM,OAAO,UAAU,cAAc;AACrC,KACE,KAAK,YAAY,oBAAoB,WACrC,KAAK,YAAY,mBAAmB,cAClC,mBAAmB,UACrB,KAAK,YAAY,oBAAoB,WAAW,QAAQ,QACxD;EACA,MAAM,gBAAgB,0BAA0B,KAAK;EACrD,MAAM,qCAAqB,IAAI,KAAK;AACpC,gBAAc,SAAS,cAAc;GAEnC,IAAI,oBAAoB,EAAE;AAC1B,YAAS,SAAS,MAAM,UAAU;IAChC,MAAM,cAAc,EAAE;IACtB,MAAM,kBAAkB,EAAE;IAC1B,MAAM,UAAU,EAAE;IAClB,MAAM,iBAAiB,EAAE;AACzB,oCAAgC,MAAM,YAAY;AAClD,2BAAuB,MAAM,gBAAgB;AAC7C,wBACE,MACA,iBACA,aACA,SACA,MACA,MACA,OACA,eACD;IAED,MAAM,gBAAgB,8BACpB,WACA,MACA,oBAJkB,kBAAkB,SAAS,MAAM,WAAW,EAM9D,uBACA,IAAI,KAAK,CACV;AACD,wBAAoB,kBAAkB,OACpC,eAAe,gBAAgB,EAAE,CAClC;KACD;GAEF,MAAM,mBAAmB,qBACvB,WACA,kBACD;AAED,oBAAiB,SAAS,SAAS,UAAU;AAC3C,kBACE,OACA,MACAA,IAAM,EACN,iBAAiB,MAAMA,IAAM,EAC7B,kBAAkB,WAAW,SAAS,KACvC;KACD;AACF,iBAAc,KAAK,iBAAiB;IACpC;AACF,MACE,KAAK,YAAY,oBAAoB,YACrC,sBAAsB,WAEtB,UAAS,SAAS,MAAM,UAAU;AAChC,OAAI,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAClC,MAAM,cAAc,EAAE;IACtB,MAAM,kBAAkB,EAAE;IAC1B,MAAM,UAAU,EAAE;AAClB,oCAAgC,MAAM,YAAY;AAClD,2BAAuB,MAAM,gBAAgB;AAC7C,wBACE,MACA,iBACA,aACA,SACA,MACA,MACA,MACD;IACD,MAAM,cAAc,kBAAkB,SAAS,MAAM,WAAW;AAEhE,QAAI,CADiB,kBAAkB,aAAa,MAAM,MAAM,EAC7C;AACjB,mBAAc,aAAa,MAAMA,IAAM,EAAEA,IAAM,EAAE,KAAK;AACtD,mBAAc,KAAK,YAAY;;;IAGnC;YAGJ,KAAK,YAAY,oBAAoB,WACrC,KAAK,YAAY,mBAAmB,cAClC,mBAAmB,WACrB,KAAK,YAAY,oBAAoB,WAAW,SAAS,QACzD;EAIA,MAAM,aAAa,4BAA4B,UAAU,KAAK;AAC9D,kBAAgB,cAAc,OAAO,WAAW;OAEhD,UAAS,SAAS,SAAS;EACzB,MAAM,cAAc,EAAE;EACtB,MAAM,kBAAkB,EAAE;EAC1B,MAAM,UAAU,EAAE;AAClB,kCAAgC,MAAM,YAAY;AAClD,yBAAuB,MAAM,gBAAgB;AAC7C,sBAAoB,MAAM,iBAAiB,aAAa,QAAQ;EAChE,MAAM,cAAc,kBAAkB,SAAS,MAAM,WAAW;AAEhE,GADqB,kBAAkB,aAAa,MAAM,MAAM,IAC/C,cAAc,KAAK,YAAY;GAChD;AAEJ,QAAO;;AAOT,MAAM,uBAAuB,GAAG,MAAM;AACpC,KAAI,EAAE,QAAQ,EAAE,MAAO,QAAO;AAC9B,KAAI,EAAE,QAAQ,EAAE,MAAO,QAAO;AAE9B,QAAO;;AAIT,MAAM,uBAAuB,GAAG,MAAM;AACpC,KAAI,EAAE,eAAe,cAAc,IAAI,CAAC,EAAE,eAAe,cAAc,CACrE,QAAO;AACT,KAAI,CAAC,EAAE,eAAe,cAAc,IAAI,EAAE,eAAe,cAAc,CACrE,QAAO;AAGT,KAAI,EAAE,eAAe,cAAc,IAAI,EAAE,eAAe,cAAc,EAAE;AACtE,MAAI,EAAE,YAAY,QAAQ,EAAE,YAAY,MAAO,QAAO;AACtD,MAAI,EAAE,YAAY,QAAQ,EAAE,YAAY,MAAO,QAAO;;AAGxD,QAAO;;AAIT,MAAM,oBAAoB,MAAM,aAAa;AAE3C,KAAI,KAAK,cAAc,OACrB,MAAK,YAAY,EAAE;AAErB,QAAO,KAAK;;AAId,MAAM,sBAAsB,MAAM,UAAU,cAAc;CAExD,IAAI,WAAW,iBAAiB,MAAM,SAAS;AAE/C,UAAS,KAAK,UAAU;AAExB,UAAS,KAAK,oBAAoB;;AAGpC,MAAM,wBACJ,aACA,cACA,OACA,UACA,QACA,WACA,cACG;CACH,IAAI,gBAAgB;AACpB,KAAI,OAAO,SAAS,GAAG;EACrB,IAAI,UAAU,OAAO;AAErB,MAAI,SAAS,eAAe,QAAQ,EAAE;GACpC,IAAI,UAAU,SAAS;AAEvB,OAAI,OAAO,SAAS,GAElB;QAAI,MAAM,QAAQ,QAAQ,CAExB,MAAK,IAAI,IAAI,GAAG,aAAa,QAAQ,QAAQ,IAAI,YAAY,KAAK;KAChE,IAAI,mBAAmB,qBACrB,aACA,cACA,OACA,QAAQ,IACR,OAAO,MAAM,EAAE,EACf,WACA,UACD;AACD,qBAAgB,mBAAmB,mBAAmB;;aAE/C,OAAO,YAAY,YAAY,YAAY,MAAM;KAC1D,IAAI,mBAAmB,qBACrB,aACA,cACA,OACA,SACA,OAAO,MAAM,EAAE,EACf,WACA,UACD;AACD,qBAAgB,mBAAmB,mBAAmB;;cAIpD,OAAO,YAAY,YAAY,YAAY,QAAQ,YAAY,IAAI;IACrE,IAAI,YAAY,QAAQ,UAAU;IAGlC,IAAI,YAAY;AAChB,SACE,IAAI,aAAa,GAAG,gBAAgB,UAAU,QAC9C,aAAa,eACb,cACA;KACA,IAAI,UAAU,UAAU;AACxB,SACE,QAAQ,eAAe,cAAc,IACrC,QAAQ,gBAAgB,MAExB;UAAI,QAAQ,WAAW,UAAU,WAAW;AAC1C,mBAAY;AACZ;;;;AAKN,QAAI,aAAa,MAAM;AAErB,iBAAY,IAAI,UAAU;MACxB,IAAI,GAFeA,IAAM;MAGzB,WAAW,mBAAmB;MAC9B,UAAU,EAAE;MACZ,eAAe;MACf,UAAU;MACV,YAAY,aAAa;MACzB,YAAY;OACV,OAAO;OACP,kBAAkB,aAAa;OAC/B,aAAa,aAAa;OAC1B,OAAO,aAAa;OACrB;MACF,CAAC;AAEF,eAAU,KAAK,UAAU;;AAI3B,oBAAgB;IAEhB,IAAI,qBAAqB;AAEzB,SACE,IAAI,cAAc,GAAG,iBAAiB,aAAa,SAAS,QAC5D,cAAc,gBACd,eACA;KACA,IAAI,iBAAiB,aAAa,SAAS;KAM3C,IAAI,kBAAkB,qBACpB,aACA,gBACA,OACA,OARqB,eAAe,WAClC,eAAe,SAAS,MAAM,IAAI,GAClC,EAAE,EAQJ,UAAU,UACV,UAAU,GACX;AACD,0BAAqB,kBACjB,kBACA;;AAGN,QAAI,CAAC,oBAAoB;KACvB,IAAI,UAAU,UAAU,YAAY;AACpC,qBACE,SACA,OACA,MACA,UAAU,IACV,MACA,MACA,MACD;AACD,eAAU,SAAS,KAAK,QAAQ;KAEhC,IAAI,gBAAgB,EAAE;AAEtB,UACE,IAAI,eAAe,GAAG,kBAAkB,QAAQ,SAAS,QACzD,eAAe,iBACf,gBACA;MACA,IAAI,kBAAkB,QAAQ,SAAS;MAEvC,IAAI,mBACF,gBAAgB,WAAW;AAE7B,UACE,oBACA,oBAAoB,QACpB,MAAM,eAAe,iBAAiB,EACtC;OACA,IAAI,eAAe,MAAM;AACzB,WAAI,gBAAgB,gBAAgB,KAElC,KAAI,MAAM,QAAQ,aAAa,CAC7B,eAAc,KACZ,GAAG,4BACD,cACA,iBACA,QAAQ,GACT,CACF;YACI;AAEL,QADsB,EAAE,CACR,KAAK,aAAa;AAClC,sBAAc,KACZ,GAAG,4BACD,cACA,iBACA,QAAQ,GACT,CACF;;;;AAKT,aAAQ,WAAW;;AAGrB,cAAU,SAAS,KAAK,oBAAoB;;;;AAKpD,QAAO;;AAGT,MAAM,qCAAqC,eAAe;CAExD,IAAI,2BAA2B,EAAE;CAGjC,MAAM,qBAAqB,YAAY,YAAY;CACnD,MAAM,YAAY,oBAAoB,aAAa,mBAAmB;AAGtE,KACE,oBAAoB,WACpB,oBAAoB,UAAU,YAAY,QAC1C;EAEA,IAAI,mBAAmB,mBAAmB,UAAU;AACpD,OACE,IAAI,cAAc,GAAG,iBAAiB,iBAAiB,QACvD,cAAc,gBACd,eACA;GACA,IAAI,WAAW,iBAAiB;AAGhC,OAAI,SAAS,WAAW,UAAa,SAAS,WAAW,KAAM;GAG/D,IAAI,gBAAgB,EAAE;AAGtB,QACE,IAAI,WAAW,GAAG,cAAc,SAAS,OAAO,QAChD,WAAW,aACX,YACA;IACA,IAAI,QAAQ,SAAS,OAAO;AAE5B,UAAM,cAAc,iBAAiB,eAAe,MAAM,GAAG;AAE7D,QAAI,MAAM,kBAAkB,UAAa,MAAM,kBAAkB,KAC/D,0BAAyB,KAAK,MAAM;QAGpC,oBAAmB,eAAe,MAAM,eAAe,MAAM;;;;AAMrE,MACE,IAAI,YAAY,GAAG,wBAAwB,WAAW,SAAS,QAC/D,YAAY,uBACZ,aACA;EACA,IAAI,kBAAkB,WAAW,SAAS;AAC1C,oCAAkC,gBAAgB;;AAGpD,YAAW,mBAAmB;;AAGhC,MAAa,+BACX,SACA,YACA,WAAW,SACR;CACH,IAAI,aAAa,EAAE;AAEnB,KAAI,CAAC,WAAW,iBAEd,mCAAkC,WAAW;AAM/C,MACE,IAAI,OAAO,GAAG,eAAe,QAAQ,QACrC,OAAO,cACP,QACA;EACA,IAAI,OAAO,QAAQ;EACnB,IAAI,eAAe;AACnB,OACE,IAAI,SAAS,GACX,wBAAwB,WAAW,iBAAiB,QACtD,SAAS,uBACT,UACA;GACA,IAAI,kBAAkB,WAAW,iBAAiB;GAMlD,IAAI,mBAAmB,qBACrB,YACA,iBACA,MACA,MARc,gBAAgB,WAC5B,gBAAgB,SAAS,MAAM,IAAI,GACnC,EAAE,EAQJ,YACA,SACD;AACD,kBAAe,mBAAmB,mBAAmB;;AAIvD,MAAI,CAAC,cAAc;GAEjB,IAAI,UAAU,UAAU,WAAW;AACnC,mBAAgB,SAAS,MAAM,MAAM,UAAU,MAAM,MAAM,MAAM;AACjE,cAAW,KAAK,QAAQ;GAExB,IAAI,gBAAgB,EAAE;AAEtB,QACE,IAAI,eAAe,GAAG,kBAAkB,QAAQ,SAAS,QACzD,eAAe,iBACf,gBACA;IACA,IAAI,kBAAkB,QAAQ,SAAS;IACvC,IAAI,mBAAmB,gBAAgB,WAAW;AAClD,QACE,oBACA,oBAAoB,QACpB,KAAK,eAAe,iBAAiB,EACrC;KACA,IAAI,eAAe,KAAK;AACxB,SAAI,gBAAgB,gBAAgB,KAClC,KAAI,MAAM,QAAQ,aAAa,CAC7B,eAAc,KACZ,GAAG,4BACD,cACA,iBACA,QAAQ,GACT,CACF;UACI;AAEL,MADsB,EAAE,CACR,KAAK,aAAa;AAClC,oBAAc,KACZ,GAAG,4BACD,cACA,iBACA,QAAQ,GACT,CACF;;;;AAKT,WAAQ,WAAW;;;AAGvB,YAAW,KAAK,oBAAoB;AAEpC,QAAO;;AAMT,MAAa,yBAAyB,SAAS;AAC7C,KAAI,CAAC,MAAM,kBAAkB,SAAU,QAAO;CAC9C,MAAM,aACJ,KAAK,kBAAkB,cACvB,KAAK,MAAM,KAAK,iBAAiB,WAAW;CAC9C,MAAM,QAAQ,KAAK,SAAS;CAC5B,MAAM,WAAW,YAAY,mBAAmB;CAEhD,MAAM,cAAc;EAClB,IAAI,KAAK;EACT,UAAU,KAAK;EACf,YAAY;EACZ,YAAY;GACV,aAAa;IAAE,MAAM;IAAI,MAAM,WAAW;IAAY,OAAO;IAAI;GACjE,WAAW;GACX,cAAc;GACd,MAAM;IACJ,IAAI,WAAW;IACf,QAAQ,EACN,YAAY,WAAW,YACxB;IACD,eAAe,WAAW;IAC1B,UAAU,WAAW;IACrB,SAAS,WAAW;IACpB,eAAe,YAAY;IAC3B,sBAAsB,YAAY;IACnC;GACD,sBAAsB,WAAW,wBAAwB;GAC1D;EACD,UAAU,EAAE;EACb;AAED,MAAK,MAAM,SAAS,KAAK,4BAA4B;EACnD,MAAM,eAAe,sBAAsB,MAAM;AACjD,MAAI,aACF,aAAY,SAAS,KAAK,aAAa;;AAI3C,QAAO;;AAGT,MAAa,sCACX,SACA,oCACG;AACH,KAAI,CAAC,mCAAmC,CAAC,QACvC,QAAO,EAAE;CAEX,MAAM,WAAW,EAAE,GAAG,iCAAiC;AACvD,QAAO,KAAK,SAAS,CAAC,SAAS,QAAQ;EACrC,MAAM,aAAa,SAAS;AAC5B,MAAI,WAEF,UAAS,OADY,QAAQ,eACG;GAElC;AACF,QAAO;;AAGT,MAAa,wBAAwB,SAAS,qBAAqB;CACjE,MAAM,oBAAoB,iBAAiB,MAAM,IAAI;CACrD,MAAM,eAAe,EAAE;AACvB,mBAAkB,SAAS,uBAAqB;AAC9C,eAAa,KAAK,QAAQE,oBAAkB;GAC5C;AACF,QAAO,aAAa,UAAU;;;;;AC7xEhC,MAAa,aAAa,CACxB;CACE,IAAI;CACJ,OAAO;CACP,MAAM,oCAAC,gBAAY;CACnB,MAAM;CACP,EACD;CACE,IAAI;CACJ,OAAO;CACP,MAAM,oCAAC,YAAQ;CACf,MAAM;CACP,CACF;AAED,MAAa,wBAAuB,SAAQ;AAE1C,QADkB,WAAW,MAAK,SAAQ,KAAK,OAAO,KAAK,EACzC,QAAQ;;;;;ACZ5B,MAAMC,cAAY,YACf,WAAW;CACV,MAAM;EACJ,SAAS;EACT,gBAAgB;EAChB,QAAQ;EACR,OAAO;EACP,aAAa;EACd;CACD,YAAY;EACV,OAAO;EACP,QAAQ;EACR,YAAY,KAAM,KAAW;EAC9B;CACD,UAAU,EAAE;CACZ,MAAM;EACJ,OAAO;EACP,QAAQ;EACR,QAAS,IAAW;EACpB,YAAY,OAAO,aAAa,OAAO,aAAa;GAClD,QAAQ,OAAO,aAAa,QAAQ;GACpC,UAAU,OAAO,aAAa,UAAU;GACzC,CAAC;EACF,eAAe,EACb,WAAW,cACZ;EACF;CACD,QAAQ;EACN,QAAS,IAAW;EACpB,YAAY,OAAO,aAAa,OAAO,aAAa;GAClD,QAAQ,OAAO,aAAa,QAAQ;GACpC,UAAU,OAAO,aAAa,UAAU;GACzC,CAAC;EACF,eAAe,EACb,WAAW,cACZ;EACF;CACF,GACD,EAAE,MAAM,yBAAyB,CAClC;;;;AAKD,MAAa,yBAAyB,UAAU;CAC9C,MAAM,UAAUA,YAAU,MAAM;CAChC,MAAM,EAAE,UAAU,WAAW,IAAI,YAAa,GAAG,UAAU;CAC3D,MAAM,EAAE,MAAM,gBAAgB;AAE9B,QACE,oCAAC;EACC,GAAI;EACJ,WAAW,KAAK,WAAW,QAAQ,MAAM,GACtC,QAAQ,WAAW,UACrB,CAAC;IAEF,oCAAC;EACK;EACS;EACb,OAAM;EACN,WAAW,KAAK,QAAQ,YAAY,QAAQ,OAAO;EACnD,cACE,WACI,EAAE,kCAAkC,GACpC,EAAE,gCAAgC;EAExC,MAAM;GACN,CACE;;;;;ACvEV,MAAMC,cAAY,YAAY,WAAW,EACvC,MAAM;CACJ,cAAc;CACd,SAAS;CACV,EACF,EAAE;AAEH,MAAa,qBAAqB,UAAU;CAC1C,MAAM,UAAUA,YAAU,MAAM;CAEhC,MAAM,EAAE,YAAY,cAAc,cAAc,SAAU,GAAG,eAAe;AAE5E,QACE,oCAAC;EACC,SAAS,EAAE,MAAM,QAAQ,MAAM;EAC/B,SAAQ;EACR;EACA,OAAM;EACN,GAAI;IAEH,cAAc,oCAAC,eAAW,EAC1B,gBAAgB,oCAAC,uBAAmB,EACpC,gBAAgB,oCAAC,iBAAa,EAC9B,SACM;;AAIb,kBAAkB,YAAY;CAI5B,YAAY,UAAU;CAItB,cAAc,UAAU;CAIxB,cAAc,UAAU;CAIxB,UAAU,UAAU;CAErB;;;;AC9CD,MAAMC,cAAY,YAAY,WAAW,EACvC,OAAM,WAAU;CACd,OAAO,MAAM,QAAQ,GAAI;CACzB,QAAQ;CACR,YAAY,MAAM,QAAQ,MAAM,OAAO;CACxC,GACF,EAAE;AAEH,MAAa,aAAa,UAAU;CAClC,MAAM,UAAUA,YAAU,MAAM;AAEhC,QAAO,oCAAC,SAAI,WAAW,QAAQ,OAAQ;;AAGzC,UAAU,YAAY,EACpB,OAAO,UAAU,QAClB;;;;ACFD,MAAMC,cAAY,YAAY,WAAW;CACvC,MAAM,EAAE;CACR,OAAO;EACL,OAAO;EACP,UAAU;EACV,SAAS;EACT,eAAe;EACf,SAAS,UAAU,OAAO,cAAc;EACzC;CACD,WAAW;EACT,KAAK;EACL,MAAM;EACN,QAAQ;EACR,UAAU;EACX;CACD,eAAe;EAGb,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,EAAE;EAClC,SAAS;EACT,gBAAgB;EAChB,SAAS,UAAW,MAAM,iBAAiB,MAAM,iBAAiB;EAClE,OAAO,MAAM,QAAQ,EAAE;EACvB,SAAS,MAAM,QAAQ,EAAE;EAC1B;CACD,YAAY;EACV,WAAW,MAAM,QAAQ,EAAE;EAC3B,SAAS;EACT,gBAAgB;EAChB,iBAAiB,QAAQ,MAAM,QAAQ,UAAU,MAAM,GAAI;EAC3D,SAAS,MAAM,QAAQ,EAAE;EAC1B;CACD,YAAY;EACV,QAAQ,UAAW,CAAC,OAAO,YAAY,QAAQ;EAC/C,QAAQ;EACT;CACD,OAAO,EACL,SAAS,UAAU,MAAM,eAAe,KACzC;CACD,aAAa;EAEX,UAAU;EACV,UAAU,UAAU,MAAM,iBAAiB;EAC3C,gBAAgB,EACd,gBAAgB,UACd,MAAM,yBACF,MAAM,yBACN,MAAM,QAAQ,EAAE,EACvB;EACD,YAAY;EACZ,SAAS,UAAW,MAAM,oBAAoB,MAAM,oBAAoB;EACzE;CACD,cAAc;EACZ,SAAS;EACT,kBAAkB,UAChB,MAAM,eAAe,gBAAgB,OAAO,MAAM,aAAa,QAAQ;EAC1E;CACD,OAAO,EACL,QAAQ,UACN,MAAM,eACN,MAAM,QAAQ,gBACZ,gBAAgB,OAAO,MAAM,aAAa,QAAQ,CACnD,EACJ;CACD,SAAS;EACP,UAAU;EACV,KAAK;EACL,MAAM;EACP;CACD,eAAe,EACb,SAAS,QACV;CACD,UAAU,EACR,gBAAgB,EACd,eAAe,MAAM,QAAQ,EAAE,EAChC,EACF;CACD,eAAe;EACb,SAAS;EACT,YAAY;EACZ,OAAO;EACP,QAAQ;EACT;CACD,eAAe;EACb,SAAS;EACT,eAAe;EACf,MAAM;EACN,aAAa,UAAU,MAAM,kBAAkB;EAChD;CACD,kBAAkB;EAChB,UAAU;EACV,0BAA0B,EACxB,QAAQ,QACT;EACD,+BAA+B,EAC7B,QAAQ,QACT;EACD,SAAS,UAAW,MAAM,oBAAoB,MAAM,oBAAoB;EACzE;CACF,EAAE;AAEH,MAAa,eAAe,UAAU;CACpC,MAAM,UAAUA,YAAU,MAAM;CAChC,MAAM,CAAC,UAAU,eAAe,SAAS,MAAM;CAE/C,MAAM,EACJ,YAAY,aACZ,WACA,aACA,YACA,UACA,8BACA,kBAAkB,KAClB,aACA,cACA,WACA,YACA,iBACA,cACA,WACA,cACA,QACA,OACA,YACA,OACA,OACA,aACA,cACA,SACA,aACA,MACA,aACA,YACA,oBACA,cAAc,OACd,uBACA,qBACA,uBACA,oBACA,qBACA,QACA,SACA,OACA,uBAAuB,MACvB,eACA,SACA,GAAG,eACD;CAEJ,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,qBAAqB;AAE1E,KAAI,YAAa,QAAO;AAExB,QACE,oCAAC;EACC,WAAW;EAEX,WAAW,QAAQ;IAElB,CAAC,eACA,oCAAC,SAAI,WAAW,QAAQ,aACrB,kBAAkB,kBAAkB,oCAAC,aAAU,OAAO,YAAa,CAChE,EAOP,SACC,oCAAC;EACC,WAAW,QAAQ;EACnB,SAAS,EAAE,MAAM,QAAQ,UAAU;IAEnC,oCAAC,SAAI,WAAW,QAAQ,iBACtB,oCAAC;EACC,WAAW,QAAQ;EACnB,WAAU;EACV,SAAS,UAAU,cAAc;IAEhC,MACU,EACZ,YACC,oCAAC;EAAW,SAAS;EAAS,WAAW,QAAQ;IAC9C,SACU,CAEX,EAEL,UACC,oCAAC;EACS;EACD;EACP,SAAS;EACT,OAAO;EACP,SAAS;EACT,MAAM;GACN,EAEH,gBACC,oCAAC,aACC,oCAAC;EACC,eAAe,kBAAkB,CAAC,eAAe;EACjD,MAAM,iBAAiB,gBAAgB;EACvC,WAAW,QAAQ;EACnB,IACE,mCACC,iBAAiB,OAAO;EAE3B,aACE,mCACC,iBAAiB,OAAO;GAE3B,CACE,CAEI,EAEf,SACC,oCAAC;EAAU,WAAW,QAAQ;EAAc;EAAO,OAAO;GAAc,EAEzE,kBACC,oCAAC,eAAY,SAAS,EAAE,MAAM,QAAQ,aAAa,IAChD,CAAC,SAAS,CAAC,UAAU,CAAC,uBACrB,oCAAC,cAAW,MAAM,QAAQ,OAAO,QAAS,EAE3C,SAAS,oCAAC,cAAW,MAAK,OAAO,EAGlC,oCAAC;EACC,IAAI,CAAC,gCAAgC,CAAC;EACtC,SAAQ;EACR,WAAW,QAAQ;IAEnB,oCAAC,SAAI,WAAW,QAAQ,cAAa,SAAe,CAC3C,EAEV,gBACC,oCAAC;EAAS,IAAI;EAAU,SAAQ;IAC9B,oCAAC,aAAK,aAAmB,CAChB,EAEZ,QACC,oCAAC,SAAI,WAAW,QAAQ,cACtB,oCAAC,SAAI,WAAW,QAAQ,iBACtB,oCAAC;EACC,OAAO;GAAE,WAAW;GAAG,aAAa;GAAI;EACxC,SAAQ;IAEP,CAAC,YAAY,YACH,EACb,oCAAC;EACC,eAAe,YAAY,CAAC,SAAS;EACrC,OAAM;EACN,SAAQ;IAEP,WAAW,qBAAqB,WACpB,CACX,CACF,CAEI,EAEf,iBACC,oCAAC,SAAI,WAAW,QAAQ,iBAAgB,cAAoB,EAE7D,CAAC,iBAAiB,cAAc,gBAAgB,iBAC/C,oCAAC,SAAI,WAAW,QAAQ,iBACrB,cACC,oCAAC;EACC,cAAY;EACZ;EACA,GAAI;EACJ,SAAS;EACT,IAAG;EACH,aAAY;GACZ,EAEH,gBACC,oCAAC;EACC,cAAY;EACZ;EACA,GAAI;EACJ,SAAS;EACT,IAAG;EACH,aAAY;GACZ,EAEH,gBACC,oCAAC;EACC,cAAY;EACZ;EACA,GAAI;EACJ,SAAS;EACT,IAAG;EACH,aAAY;GACZ,CAEA,CAEF;;;;;AC1TZ,MAAMC,cAAY,YAAY,WAAW;CACvC,MAAM,EAAE;CACR,aAAa,EACX,SAAS,QACV;CACF,EAAE;AAEH,MAAa,cAAc,EAAE,SAAS,iBAAiB,CAAC,EAAE,OAAO;CAC/D,MAAM,UAAUA,aAAW;CAE3B,MAAM,aAAa;EAAC;EAAG;EAAG;EAAG;EAAE;CAE/B,MAAM,oBAAoB;AACxB,SACE,oCAAC,SAAI,WAAW,QAAQ,eACtB,oCAAC,aACC,oCAACC;GAAS,SAAQ;GAAS,OAAO;GAAI,QAAQ;IAAM,CAChD,EACN,oCAAC,SAAI,OAAO;GAAE,YAAY;GAAG,OAAO;GAAQ,IAC1C,oCAACA;GAAS,QAAQ;GAAI,SAAQ;GAAO,OAAM;IAAS,CAChD,CACF;;CAIV,MAAM,aAAa,EAAE,aAAa;AAChC,SACE,oCAAC,aACC,oCAAC,SAAI,OAAO,EAAE,YAAY,QAAQ,IAChC,oCAAC,kBAAc,CACX,EACN,oCAAC,cAAW,MAAK,QAAQ,CACrB;;CAIV,MAAM,kBAAkB,WACtB,oCAAC,aACE,WAAW,KAAK,MAAM,UAAU;AAC/B,SAAO,oCAAC,aAAU,QAAQ,QAAQ,IAAK;GACvC,CACE;AAGR,QACE,oCAAC,aACE,kBACC,eAAe,KAAK,SAAS;AAC3B,SACE,oCAAC,SAAI,WAAW,QAAQ,QACrB,iBAAgB,KAAC,oCAAC,cAAW,MAAK,QAAQ,CACvC;GAER,CACA;;;;;ACvBV,IAAY,sEAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACxCF,MAAa,sBAAsB,cAAc,mBAAmB;AAClE,KAAI,CAAC,gBAAgB,CAAC,eAAgB,QAAO;CAE7C,MAAM,iBAAiB;EACrB;GACE,MAAM,kBAAkB;GACxB,WAAW,aAAa;GACzB;EACD;GAAE,MAAM,kBAAkB;GAAO,WAAW,aAAa;GAAgB;EACzE;GACE,MAAM,kBAAkB;GACxB,WAAW,aAAa;GACzB;EACD;GAAE,MAAM,kBAAkB;GAAM,WAAW,aAAa;GAAe;EACxE;CAED,IAAI,kBAAkB;AACtB,MAAK,MAAM,EAAE,MAAM,eAAe,eAChC,KAAI,aAAa,kBAAkB,WAAW,eAAe,EAAE;AAC7D,oBAAkB;AAClB;;AAIJ,QAAO;;AAGT,MAAM,qBAAqB,YAAY,EAAE,EAAE,mBAAmB;AAC5D,KAAI,OAAO,cAAc,SACvB,KAAI;AACF,cAAY,KAAK,MAAM,UAAU;SAC3B;AACN,UAAQ,MAAM,oBAAoB,YAAY;AAC9C,SAAO;;CAGX,MAAM,EAAE,UAAU,QAAQ,WAAW;CACrC,IAAI,eAAe;AAEnB,SAAQ,UAAR;EACE,KAAK,oBAAoB;AACvB,kBAAe,mBAAmB,WAAW,OAAO;AACpD;EACF,KAAK,oBAAoB;AACvB,kBAAe,mBAAmB,WAAW,OAAO;AACpD;EACF,KAAK,oBAAoB;AACvB,kBAAe,iBAAiB,WAAW,OAAO;AAClD;EACF,KAAK,oBAAoB;AACvB,kBAAe,iBAAiB,WAAW,OAAO;AAClD;EACF,KAAK,oBAAoB;AACvB,kBAAe,kBAAkB,WAAW,OAAO;AACnD;EACF,KAAK,oBAAoB;AACvB,kBAAe,kBAAkB,WAAW,OAAO;AACnD;EACF,KAAK,oBAAoB;AACvB,kBACE,kBAAkB,WAAW,OAAO,IACpC,kBAAkB,WAAW,OAAO;AACtC;EACF,QACE;;AAGJ,QAAO;;;;;;;;AC7DT,MAAMC,cAAY,YAAY,UAAU;CACtC,MAAM,YAAY,MAAM,QAAQ,EAAE;AAClC,QAAO;EACL,MAAM;GACJ,SAAS;GACT,eAAe;GAEf,UAAU;GACV,UAAU;GACV,WAAW;GACZ;EACD,WAAW;GAET,SAAS,MAAM,QAAQ,GAAG,KAAK,GAAG,EAAE;GACpC,cAAc;GACd,mBAAmB;IACjB,qBAAqB;IACrB,wBAAwB;IACzB;GACD,kBAAkB;IAChB,sBAAsB;IACtB,yBAAyB;IAC1B;GACF;EACD,WAAW,EAET,aAAa,MAAM,QAAQ,GAAI,EAChC;EACD,YAAY;GACV,cAAc;GACd,UAAU;GACX;EACD,sBAAsB,EACpB,iBAAiB,MAAM,QAAQ,KAAK,MACrC;EACF;EACD;;;;;;;;;;;;AAaF,MAAM,gBAAgB,MAAM,UAAU;CACpC,MAAM,EAAE,OAAO,MAAM,UAAU,YAAY,UAAU,UAAU;CAC/D,MAAM,UAAUA,YAAU,MAAM;AAEhC,KAAI,SAAS,CAAC,MAAM;EAClB,IAAI,eAAe;AACnB,MAAI,YAAY,QAAQ,SACtB,gBAAe,GAAG,SAAS;AAG7B,MAAI,aAAa,kBAAkB,QACjC,QACE,oCAAC;GACC,UAAU,kBAAkB;GAC5B,GAAI;GACJ,WAAW,QAAQ;KAElB,aACK;AAIZ,SACE,oCAAC;GAAgB;GAAU,GAAI;KAC5B,QAAQ,QAAQ,aACX;;AAIZ,QAAO;EACP;AAEF,cAAc,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6B5B,MAAa,aAAa,UAAU;CAClC,MAAM,EACJ,UAAU,UACV,aACA,UACA,YACA,cACA,cACA,WACA,cACA,YACA,cACA,cACA,WACA,cACA,YAAY,OACZ,cAAc,OACd,cAAc,OACd,WAAW,OACX,cAAc,UACZ;CACJ,MAAM,UAAUA,YAAU,MAAM;CAShC,MAAM,aAAa;EACjB,SARqB;GACrB,QAAQ;GACR,UAAU;GACV,UAAU;GACV,MAAM;GACP,CAGyB;EACxB,SAAS;GACP,MAAM,QAAQ;GACd,MAAM,QAAQ;GACf;EACF;AAED,QACE,oCAAC,SAAI,WAAW,QAAQ,QACtB,oCAAC;EAAW,SAAS;EAAa,WAAW,QAAQ;IACnD,oCAAC;EACC,OAAO;EACP,MAAM;EACN,UAAU,kBAAkB;EAChB;EACF;EACV,OAAO;GACP,EACF,oCAAC;EACC,OAAO;EACP,MAAM;EACN,UAAU,kBAAkB;EAChB;EACF;EACV,OAAO;GACP,EACF,oCAAC;EACC,OAAO;EACP,MAAM;EACN,UAAU,kBAAkB;EAChB;EACF;EACV,OAAO;GACP,EACF,oCAAC;EACC,OAAO;EACP,MAAM;EACN,UAAU,kBAAkB;EAChB;EACF;EACV,OAAO;GACP,EACF,oCAAC;EACC,OAAO;EACP,MAAM;EACN,UAAU,kBAAkB;EAChB;EACF;EACV,OAAO;GACP,CACS,CACT;;;;;AC9LV,MAAa,iBAAiB,UAAU;CACtC,MAAM,EACJ,sBACA,iCACA,OACA,WACA,WACA,eAAe,OACf,UAAU,OACV,YAAY,OACZ,iBACE;CACJ,MAAM,CAAC,OAAO,YAAY,SAAS,UAAU;CAC7C,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAC1D,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,EAAE,MAAM,oBAAoB,SAAS,+BAC1C,YACE,cAAc,qBACd,sBAAsB,wBACtB,EAAE,EACF,CAAC,CAAC,CAAC,qBACJ;CAEH,MAAM,oBAAoB,cAAc;AACtC,MAAI,CAAC,MACH,QAAO;AAET,SAAO,GAAG,MAAM,QAAQ,WAAW,eAAe;IACjD,CAAC,gBAAgB,MAAM,CAAC;AAE3B,iBAAgB;EACd,MAAM,mBAAmB,OAAO,qBAAqB,aAAa;AAChE,cAAW,KAAK;GAIhB,MAAM,WAAW,MAAM,qBAHV,kCACT,EAAE,MAAM,iCAAiC,GACzC,EAAE,MAAM,EAAE,EAAE,EAGd,oBACD,CAAC,OAAO,QAAQ,WAAW,MAAM,CAAC;AACnC,OAAI,UAAU,WAAW,OAAO,UAAU;IACxC,MAAM,kBACJ,SAAS,MAAM,oBAAoB,SAAS,MAAM,iBAAiB;AACrE,QAAI,gBACF,mBACE,gBAAgB,YACZ,KAAK,MAAM,gBAAgB,UAAU,GACrC,GACL;;AAGL,cAAW,MAAM;;AAEnB,MAAI,mBACF,kBACE,mBAAmB,qBACnB,mBAAmB,aACpB;IAIF,CAAC,mBAAmB,CAAC;AAExB,iBAAgB;AACd,MAAI,sBAAsB,gBAAgB;GACxC,MAAM,SAAS,mBAAmB,oBAAoB,eAAe;AACrE,YAAS,OAAO;AAChB,OAAI,UACF,WAAU,UAAU,UAAU;;IAGjC;EAAC;EAAoB;EAAgB;EAAU,CAAC;AAEnD,KAAI,WAAW,0BACb,QAAO,oCAAC,oBAAiB,MAAM,KAAM;AAGvC,KAAI,CAAC,SAAS,CAAC,QACb,QACE,oCAAC;EAAW,SAAQ;EAAW,OAAO,EAAE,UAAU,UAAU;IACzD,SAAS,eACC;AAIjB,KAAI,QACF,QACE,oCAAC;EACC,aAAa;EACb,cAAc,UAAU,kBAAkB,UAAU,iBAAiB;EACrE,YAAY,UAAU,kBAAkB,QAAQ,iBAAiB;EACjE,cAAc,UAAU,kBAAkB,UAAU,iBAAiB;EACrE,WAAW,UAAU,kBAAkB,OAAO,iBAAiB;EAC/D,cAAc,CAAC,UAAU,kBAAkB;EAC3C,cACE,UAAU,kBAAkB,UAAU,oBAAoB;EAE5D,YAAY,UAAU,kBAAkB,QAAQ,oBAAoB;EACpE,cACE,UAAU,kBAAkB,UAAU,oBAAoB;EAE5D,WAAW,UAAU,kBAAkB,OAAO,oBAAoB;EAClE,cAAc,CAAC,UAAU,qBAAqB;EAC9C,aAAa,UAAU,kBAAkB,UAAU,YAAY;EAC/D,WAAW,UAAU,kBAAkB,QAAQ,YAAY;EAC3D,aAAa,UAAU,kBAAkB,UAAU,YAAY;EAC/D,UAAU,UAAU,kBAAkB,OAAO,YAAY;EACzD,aAAa,CAAC,QAAQ,YAAY;GAClC;AAIN,QAAO,SAAS,iBACd,oCAAC;EACC,OAAO,SAAS;EAChB,QAAQ;EACR,cAAc;EACA;GACd,GACA;;AAGN,cAAc,YAAY;CAIxB,WAAW,UAAU,MAAM;EACzB;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAIF,sBAAsB,UAAU,MAAM;EAAC,UAAU;EAAQ;EAAW;EAAK,CAAC;CAC3E;;;;AClJD,MAAM,oBAAoB,iBAAiB,EACzC,cAAc,MACf,CAAC;;;;AAKF,SAAgB,uBAAuB,OAAO;AAC5C,QAAO,oCAAC,kBAAkB,QAAW,MAAS;;;;;AAMhD,MAAa,oBAAoB,UAAU;CACzC,MAAM,EAAE,UAAU,UAAW,GAAG,gBAAgB;AAEhD,QAAO,oCAAC,kBAAkB,cAAQ,SAAoC;;;;;ACTxE,MAAM,iBAAiB;AACvB,MAAM,kBAAkB;AACxB,MAAM,YAAY;AAElB,MAAM,YAAY,YAAY,WAAW;CACvC,MAAM;EACJ,aAAa,UACX,MAAM,iBAAiB,MAAM,gBAAgB,IAAI;EACnD,UAAU;EACV,QAAQ;EACT;CACD,cAAc;EACZ,UAAU,UAAW,MAAM,eAAe,SAAS;EACnD,OAAO;EACP,aAAa,MAAM,QAAQ,EAAE;EAC9B;CACD,QAAQ,EACN,WAAW,IACZ;CACD,OAAO;EACL,MAAM;EACN,OAAO;EACP,WAAW;EACZ;CACD,eAAe,EACb,OAAO,KACR;CACD,QAAQ;EACN,KAAK;EACL,OAAO,MAAM,QAAQ,KAAM;EAC3B,OAAO,MAAM,QAAQ,IAAK;EAC1B,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,UAAU;EACV,WAAW,EACT,QAAQ,cACT;EACF;CACF,EAAE;AAEH,MAAa,kBAAkB,UAAU;CACvC,MAAM,EACJ,mCACA,WACA,OACA,8BACA,kBAAkB,OAClB,sBAAsB,OACtB,gBACA,UACA,eACA,eAAe,MACf,iBACE;CACJ,MAAM,WAAW,qBAAqB;CACtC,MAAM,UAAU,UAAU;EACxB,GAAG;EACH,iBAAiB,WAAW,mBAAmB;EAChD,CAAC;CACF,MAAM,CAAC,UAAU,eAAe,SAAS,KAAK;CAC9C,MAAM,CAAC,OAAO,YAAY,SAAS,eAAe;CAClD,MAAM,kBAAkB,kBAAkB;CAE1C,MAAM,QAAQ,UAAU;CAExB,MAAM,YAAY,OAAO,EAAE,SAAS,MAAM,aAAa;AACrD,WAAS,KAAK,MAAM;AACpB,MAAI,aACF,cAAa,KAAK,MAAM;;CAI5B,MAAM,oBAAoB,kBAAkB;AAC1C,MAAI,kCACF,oCAAmC;AAErC,eAAa,eAAa,CAACC,WAAS;IACnC,CAAC,kCAAkC,CAAC;AAEvC,iBAAgB;AACd,MAAI,OAAO,iCAAiC,UAC1C,aAAY,6BAA6B;IAE1C,CAAC,6BAA6B,CAAC;AAClC,QACE,oCAAC;EACC,OAAO,WAAW,QAAQ;EAC1B,eAAe,aAAa,WAAW,CAAC,IAAI,GAAG,EAAE;EACjD,MAAK;EACL,gBAAgB,WAAW,CAAC,eAAe,GAAG,CAAC,gBAAgB;EAC/D,gBAAgB,CAAC,UAAU;EACjB;EACV,QAAQ,YAAY,oCAAC,SAAI,WAAW,QAAQ,SAAU;EACtD,OAAO,EAAE,UAAU,YAAY;IAE/B,oCAAC;EACC,WAAW,QAAQ;EACnB,OAAO,EAAE,OAAO,WAAW,QAAQ,iBAAiB;IAEpD,oCAAC;EACC;EACA;EACA,wBAAwB;EACxB,qBAAqB,uBAAuB;IAE5C,oCAAC,SACC,OAAO;EACL,SAAS,eAAe,SAAS;EACjC,OAAO;EACP,aAAa,MAAM,QAAQ,EAAE;EAC9B,IAED,oCAAC,SAAI,WAAW,QAAQ,SACrB,YAAY,oCAAC,cAAW,SAAQ,QAAK,KAAE,OAAM,IAAc,CACxD,EACN,oCAAC,SAAI,WAAW,QAAQ,UACtB,oCAAC;EACC,IAAI;EACJ,aAAa;EACH;EACV,SAAS;GACT,CACE,CACF,EACL,CAAC,mBAAmB,oCAAC,6BAAyB,EAC9C,mBAAmB,SACR,CACV,CACO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VirtualBrowser-CiD8XKsM.js","names":["useStyles","value","PrimaryActionButton"],"sources":["../src/maintenanceEngine/virtualBrowser/VirtualTableColumnDefs.js","../src/hooks/virtualActions.jsx","../src/UI/forms/VirtualForm.jsx","../src/maintenanceEngine/virtualBrowser/VirtualTableSidePanel.jsx","../src/maintenanceEngine/virtualBrowser/VirtualBrowser.jsx"],"sourcesContent":["import { toTitleCase } from '../../utilities/input/StringUtilities';\n\nconst defaultGridColumn = {\n headerName: '',\n field: '',\n minWidth: 80,\n autoHeight: false,\n sortable: true\n};\n\nexport const VirtualTableColumnDefs = (\n tableDescription,\n actionList,\n columnName = 'Actions',\n crudTableActionRenderName = 'actionsRenderer',\n panelDirection = 'right'\n) => {\n let columnDefs =\n tableDescription?.reduce((defs, element) => {\n defs.push({\n ...defaultGridColumn,\n headerName: toTitleCase(element?.name || ''),\n field: element?.name\n });\n return defs;\n }, []) || [];\n\n columnDefs.push({\n headerName:\n crudTableActionRenderName === 'actionsRenderer' ? 'Actions' : columnName,\n filter: false,\n pinned: panelDirection,\n width: 150,\n maxWidth: 180,\n cellRenderer: crudTableActionRenderName,\n cellRendererParams: {\n actionList\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n });\n\n return columnDefs;\n};\n\nexport const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import { FormControlLabel, TextField } from '@material-ui/core';\nimport React, { useCallback } from 'react';\nimport { DateTimeField } from '../UI/inputs/datetimes/DateTimeField';\nimport { Field } from '../utilities/form';\nimport { findTermByType } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { FluentToggle } from '../UI/inputs/toggle/FluentToggle';\nimport { PropertyTypeEnum } from '../enums/propertyTypeEnums';\nimport { toLowerFirstChar } from '../utilities/input/StringUtilities';\nimport { toTitleCase } from '../utilities/input/StringUtilities';\n\nexport function useVirtualActions() {\n const renderInputByFieldType = useCallback(\n (formField, index, virtualTableFormData, classes) => {\n const NUMBER_TYPE = [\n PropertyTypeEnum.Int,\n PropertyTypeEnum.Long,\n PropertyTypeEnum.Double\n ];\n\n if (\n formField.type === 'boolean' &&\n virtualTableFormData[toLowerFirstChar(formField.name)] === ''\n ) {\n virtualTableFormData[toLowerFirstChar(formField.name)] = false;\n }\n\n const fieldType = formField.type?.toLowerCase();\n let fieldIsNumberType = NUMBER_TYPE.includes(fieldType);\n\n const DefaultTextField = (\n <Field\n component={TextField}\n id={`${formField.name}${index}`}\n name={toLowerFirstChar(formField.name)}\n label={toTitleCase(formField.name)}\n initialValue={\n virtualTableFormData[toLowerFirstChar(formField.name)] || ''\n }\n type={fieldIsNumberType && 'number'}\n fullWidth\n variant='outlined'\n size='small'\n required={!formField?.nullable}\n margin='dense'\n InputProps={{\n classes: {\n root: classes?.input,\n input: classes?.formTextInput\n }\n }}\n InputLabelProps={{\n classes: {\n root: classes?.labelRoot\n }\n }}\n disabled={formField?.disabled}\n />\n );\n\n const DefaultFluentToggle = (\n <FormControlLabel\n control={\n <Field\n component={FluentToggle}\n type='checkbox'\n id={`${formField.name}${index}`}\n name={toLowerFirstChar(formField.name)}\n label={toTitleCase(formField.name)}\n initialValue={\n typeof virtualTableFormData[\n toLowerFirstChar(formField.name)\n ] === 'boolean'\n ? virtualTableFormData[toLowerFirstChar(formField.name)]\n : virtualTableFormData[toLowerFirstChar(formField.name)] ===\n 'true'\n ? true\n : false\n }\n disabled={formField?.disabled}\n classes={{ root: classes?.switchRoot }}\n color='secondary'\n inputProps={{ 'aria-label': 'Active condition' }}\n />\n }\n label={toTitleCase(formField.name)}\n labelPlacement='start'\n style={{ marginLeft: 4 }}\n />\n );\n\n switch (fieldType.toLowerCase()) {\n case findTermByType(fieldType, 'int'):\n case findTermByType(fieldType, 'long'):\n case findTermByType(fieldType, 'double'):\n case findTermByType(fieldType, 'string'):\n case findTermByType(fieldType, 'string uuid'):\n return DefaultTextField;\n case findTermByType(fieldType, 'boolean'):\n return DefaultFluentToggle;\n case findTermByType(fieldType, 'datetime'):\n return (\n <Field\n disabled={formField?.disabled}\n component={DateTimeField}\n id={`${formField.name}${index}`}\n name={toLowerFirstChar(formField.name)}\n label={toTitleCase(formField.name)}\n initialValue={\n virtualTableFormData[toLowerFirstChar(formField.name)]\n ? new Date(\n virtualTableFormData[toLowerFirstChar(formField.name)]\n )\n : ''\n }\n fullWidth\n variant='outlined'\n size='small'\n required={!formField?.nullable}\n style={{ marginTop: 8 }}\n />\n );\n default:\n return null;\n }\n },\n []\n );\n\n return {\n renderInputByFieldType\n };\n}\n","import { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { Form, FormButtons, SubmitButton } from '../../utilities/form';\nimport { useVirtualActions } from '../../hooks/virtualActions';\n\nconst useStyles = makeStyles((theme) => ({\n actions: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n flexGrow: 1\n },\n subject: {\n marginLeft: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row',\n flexGrow: 1\n },\n switchRoot: {\n marginLeft: theme.spacing(1)\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 13\n },\n labelRoot: {\n fontSize: 13\n }\n}));\n\nexport const VirtualForm = (props) => {\n const { tableDescription, rowValue, closeSideSheet, onCreate, onUpdate } =\n props;\n const { renderInputByFieldType } = useVirtualActions();\n\n const [virtualTableFormData, setVirtualTableFormData] = useState(\n rowValue || {}\n );\n const classes = useStyles();\n\n const handleSubmit = async (values) => {\n let newTableData = {\n ...virtualTableFormData,\n ...values\n };\n\n const isNewRow = !rowValue;\n\n if (isNewRow) {\n onCreate && (await onCreate(newTableData));\n } else {\n onUpdate && (await onUpdate(newTableData));\n }\n closeSideSheet && closeSideSheet();\n };\n\n return (\n <Form onSubmit={handleSubmit}>\n <div>\n {tableDescription?.map((formField, index) => {\n return (\n <React.Fragment key={`${formField.name}-${index}`}>\n <Typography variant='subtitle2' style={{ marginTop: 8 }}>\n {formField.friendlyName}\n </Typography>\n {renderInputByFieldType(\n formField,\n index,\n virtualTableFormData,\n classes\n )}\n </React.Fragment>\n );\n })}\n </div>\n\n <FormButtons>\n <SubmitButton\n variant='contained'\n color='secondary'\n disablePristine={false}\n disabled={false}\n style={{ marginTop: 15 }}\n >\n Save\n </SubmitButton>\n </FormButtons>\n </Form>\n );\n};\n\nVirtualForm.propTypes = {\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n","import { Divider, makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { PageContainer } from '../../page/PageContainer';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { Skeleton } from '@material-ui/lab';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { VirtualForm } from '../../UI/forms/VirtualForm';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n divider: {\n marginTop: theme.spacing(2)\n }\n}));\n\nconst FIELD_NUMBER = 10;\n\nexport const VirtualTableSidePanel = (props) => {\n const {\n tableDescription,\n value,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n pageId,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit,\n setSideSheetProps\n } = props;\n const user = useUser();\n const classes = useStyles();\n\n const [{ data: page, loading: loadingPage }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `page/${pageId}`,\n {},\n !!!pageId,\n false\n );\n\n const skeleton = useMemo(() => {\n const skeletonArr = [];\n for (let i = 0; i < FIELD_NUMBER; i++) {\n skeletonArr.push(\n <>\n <Skeleton key={i} variant='rect' className={classes.skeleton} />\n <LayoutUnit unit='xxs' />\n </>\n );\n }\n return skeletonArr;\n }, [classes]);\n\n const sideSheetContent = useMemo(() => {\n if (page) {\n return (\n <DndProvider backend={HTML5Backend}>\n <PageContainer\n user={user}\n key={pageId}\n pageData={page}\n widgetParams={{\n pageId: page?.pageId,\n nodeObj: crudTableEditionData,\n setSideSheetWidth: setSideSheetWidth,\n setSideSheetButtonLabel: setSideSheetButtonLabel,\n setSideSheetOnSubmit: setSideSheetOnSubmit,\n closeSideSheet: closeSideSheet,\n setSideSheetProps: setSideSheetProps,\n onCreate: onCreate,\n onUpdate: onUpdate\n }}\n disableMargins={true}\n />\n </DndProvider>\n );\n } else {\n return (\n <>\n <VirtualForm\n tableDescription={tableDescription}\n rowValue={value}\n closeSideSheet={closeSideSheet}\n onCreate={onCreate}\n onUpdate={onUpdate}\n />\n <div className={classes.divider}>\n <Divider />\n </div>\n </>\n );\n }\n }, [\n page,\n user,\n pageId,\n crudTableEditionData,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit,\n setSideSheetProps,\n closeSideSheet,\n onCreate,\n onUpdate,\n classes,\n tableDescription,\n value\n ]);\n\n return (\n <div>\n {loadingPage ? (\n <>\n {skeleton.map((sk) => sk)}\n <LayoutUnit unit='md' />\n <Skeleton variant='rect' className={classes.skeletonButton} />\n </>\n ) : (\n sideSheetContent\n )}\n </div>\n );\n};\n\nVirtualTableSidePanel.propTypes = {\n /**\n * Description of the table\n */\n tableDescription: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n","import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport PrimaryActionButton from '../../UI/inputs/buttons/PrimaryActionButton';\nimport { AmbientGridTemplate } from '../../UI/templates/AmbientGridTemplate';\nimport { SideSheet } from '../../UI/surfaces/SideSheet';\nimport { ActionsRenderer } from '../../UI/templates/ui/renderers/ActionsRenderer';\nimport { VirtualTableColumnDefs } from './VirtualTableColumnDefs';\nimport { AddIcon, DeleteIcon, EditIcon } from '@fluentui/react-icons';\nimport { Typography } from '@material-ui/core';\nimport { format } from 'date-fns';\nimport { getPathObject } from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { executeQueryWithParameters } from '../../udp/utilities/methodUtils';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { useAxiosMutate } from '../../utilities/useAxiosMutate';\nimport { useLocation } from 'react-router-dom';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { VirtualTableSidePanel } from './VirtualTableSidePanel';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { useBuildEnvironment } from '../../shell/ui/EnvironmentRibbon';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { useSetLocationState } from '../../hooks/useSetLocationState';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useSearchParams = () => {\n const { search } = useLocation();\n return useMemo(() => new URLSearchParams(search), [search]);\n};\n\nexport const VirtualBrowser = (props) => {\n const { ...other } = props;\n const urlSearchParams = useSearchParams();\n const location = useLocation();\n const { value, promotedEntity } = location.state || {};\n const parts = location?.pathname?.split('/');\n const virtualId = value\n ? value?.id\n : '' || parts\n ? parts[parts.length - 1]\n : null;\n\n const user = useUser();\n const buildEnv = useBuildEnvironment();\n const [isSheetOpen, setSheetOpen] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [otherSideSheetProps, setOtherSideSheetProps] = useState({});\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n const [selectedEntity, setSelectedEntity] = useState(promotedEntity);\n const { t } = useTranslation();\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n const setLocationState = useSetLocationState();\n\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const entityName = useMemo(() => {\n if (selectedEntity) {\n return selectedEntity.entityName || '';\n } else {\n return urlSearchParams.has('entityName') === true\n ? urlSearchParams.get('entityName')\n : '';\n }\n }, [selectedEntity, urlSearchParams]);\n\n const createApiMethodPageId = useMemo(() => {\n return selectedEntity?.unityBaseCreateMethod?.pageId;\n }, [selectedEntity]);\n\n const [{ data: tpacb, loading: loadingTpacb, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user || !!promotedEntity,\n false\n );\n\n const [{ data: promotedMethodEntities }] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${tpacb?.apiCatalogId}/promotedMethodEntities/${entityName}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!tpacb || !!!user || !!!entityName,\n false\n );\n\n // Get all rows of an entity\n const [{ data: entityData, loading: isLoading }, fetchEntityData] =\n useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseGetDataMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n // Get all rows of an entity\n const [\n { data: tableDescription, loading: tableDescriptionLoading },\n fetchTableDescription\n ] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDescribeMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const constructVirtualValuesForRequest = useCallback(\n (values) => {\n if (!tableDescription) {\n return [];\n }\n const bodyArr = [];\n tableDescription.forEach((column) => {\n const valueExist =\n typeof values[column.name] == 'boolean' || values[column.name];\n if (column.name || valueExist) {\n switch (getSanitizedName(entityName?.toLowerCase())) {\n case UdpEnums.Udp_Lookup.toLowerCase():\n bodyArr.push({\n lookupColumnId: column.id,\n value: values[column.name]\n });\n break;\n default:\n }\n }\n });\n return bodyArr;\n },\n [tableDescription, entityName]\n );\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity?.unityBaseVirtualCreateMethod) {\n const requestArr = constructVirtualValuesForRequest(values);\n const data = { requestBody: requestArr, id: virtualId };\n const response = await executeQueryWithParameters(\n { data },\n selectedEntity.unityBaseVirtualCreateMethod.apiMethodId\n ).catch((res) => {\n handleErrorSnackbar(res.message);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(t(`Row has been created`));\n const queryData = { id: virtualId };\n fetchEntityData({ data: queryData });\n }\n }\n },\n [\n selectedEntity,\n t,\n fetchEntityData,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n virtualId,\n constructVirtualValuesForRequest\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values) => {\n if (selectedEntity?.unityBaseVirtualUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = [virtualId, values.udpVirtualRowId];\n const pathObject = getPathObject(\n selectedEntity.unityBaseVirtualUpdateMethod.pathParameters,\n primaryKeyValues\n );\n const requestArr = constructVirtualValuesForRequest(values);\n let data = { requestBody: requestArr };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: requestArr };\n }\n\n const response = await executeQueryWithParameters(\n { data },\n selectedEntity.unityBaseVirtualUpdateMethod.apiMethodId\n ).catch((res) => {\n handleErrorSnackbar(res.message);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(t(`Row has been updated`));\n const queryData = { id: virtualId };\n fetchEntityData({ data: queryData });\n }\n }\n },\n [\n selectedEntity,\n t,\n fetchEntityData,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n virtualId,\n constructVirtualValuesForRequest\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n if (selectedEntity?.unityBaseVirtualDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = [virtualId, value.udpVirtualRowId];\n const pathObject = getPathObject(\n selectedEntity?.unityBaseVirtualDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await executeQueryWithParameters(\n { data },\n selectedEntity.unityBaseVirtualDeleteMethod.apiMethodId\n ).catch((res) => {\n handleErrorSnackbar(res.message);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(t(`Row has been deleted`));\n const queryData = { id: virtualId };\n fetchEntityData({ data: queryData });\n }\n }\n },\n [\n selectedEntity,\n t,\n fetchEntityData,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n virtualId\n ]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n return [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseVirtualUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n view: {\n component: VirtualTableSidePanel,\n properties: {\n tableDescription: tableDescription,\n onUpdate: handleOnUpdate,\n valuePropName: 'value',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseVirtualUpdateMethod?.pageId,\n isNewEntry: false\n }\n },\n disabled: !!!selectedEntity?.unityBaseVirtualUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseVirtualDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseVirtualDeleteMethod\n }\n ];\n }, [selectedEntity, t, handleOnUpdate, handleOnDelete, tableDescription]);\n\n const columnDefs = useMemo(() => {\n if (tableDescription?.length) {\n return VirtualTableColumnDefs(tableDescription, actionList);\n }\n return [];\n }, [actionList, tableDescription]);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (virtualId) {\n const queryData = { id: virtualId };\n if (selectedEntity?.unityBaseGetDataMethod?.apiMethodId) {\n fetchEntityData({ data: queryData });\n }\n if (selectedEntity?.unityBaseDescribeMethod?.apiMethodId) {\n fetchTableDescription({ data: queryData });\n }\n }\n }, [selectedEntity, fetchEntityData, virtualId, fetchTableDescription]);\n\n // Setting location state label so that if this page was saved to favorites\n // we can determine the bread crumb\n useEffect(() => {\n setLocationState({ label: t(value?.name) || t('Virtual Lookup') });\n }, [setLocationState, t, value]);\n\n const pab = (\n <PrimaryActionButton onClick={() => setSheetOpen && setSheetOpen(true)}>\n <Typography style={{ marginRight: 5 }}>Add</Typography>\n <AddIcon />\n </PrimaryActionButton>\n );\n\n const SideOptionList = useMemo(\n () => (\n <SideSheet\n open={isSheetOpen}\n onClose={closeSheet}\n title={`Add new ${entityName}`}\n width={sideSheetWidth}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n {...otherSideSheetProps}\n >\n <VirtualTableSidePanel\n onCreate={handleOnCreate}\n closeSideSheet={closeSheet}\n pageId={createApiMethodPageId}\n setSideSheetWidth={setSideSheetWidth}\n setSideSheetButtonLabel={setSideSheetButtonLabel}\n setSideSheetOnSubmit={setSideSheetOnSubmit}\n setSideSheetProps={setOtherSideSheetProps}\n tableDescription={tableDescription}\n />\n </SideSheet>\n ),\n [\n isSheetOpen,\n closeSheet,\n entityName,\n sideSheetWidth,\n sideSheetButtonLabel,\n sideSheetOnSubmit,\n handleOnCreate,\n createApiMethodPageId,\n otherSideSheetProps,\n tableDescription\n ]\n );\n\n const formatData = useCallback(() => {\n if (entityData?.data && tableDescription) {\n let formattedEntityData = cloneDeep(entityData?.data);\n\n // get list of attributes that are datetime\n const datetimeFields = tableDescription?.reduce((fields, element) => {\n if (element?.type === 'datetime') {\n fields.push(element?.name);\n }\n return fields;\n }, []);\n\n if (datetimeFields.length) {\n formattedEntityData.forEach((e) => {\n Object.keys(e).forEach((key) => {\n // format all datetime fields\n if (datetimeFields.find((field) => field === key)) {\n // LAA UNT-2977: add null check to prevent default date from being added when null\n if (e[key] === null) return;\n e[key] = format(new Date(e[key]), 'yyyy/MM/dd kk:mm:ss');\n }\n });\n });\n }\n\n return formattedEntityData;\n }\n return [];\n }, [entityData, tableDescription]);\n\n return (\n <>\n <AmbientGridTemplate\n title={value?.name || entityData?.name}\n data={entityData ? formatData(entityData?.data) : []}\n columnDefs={columnDefs}\n groupingData={groupData}\n primaryActionButton={pab}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n disableRowSelection={true}\n loading={isLoading}\n {...other}\n />\n {SideOptionList}\n </>\n );\n};\n"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import "./SideSheet-D48-jzNi.js";
2
- import "./EnvironmentRibbon-OD01SY9G.js";
3
- import "./apiHelpers-DZPI1QCL.js";
4
- import "./useAxiosGet-Bi4Z0b8W.js";
5
- import "./useAxiosMutate-pB7OdGIa.js";
6
- import { WorkflowContainer } from "./WorkflowContainer-CpWRhlBx.js";
7
- import "./UtilitySideBar-9LDu9AaN.js";
8
- import "./SearchUtilities-lVLvOpzo.js";
9
- import "./PageContainer-BxChq1eP.js";
10
-
11
- export { WorkflowContainer };