udp-react-enterprise-component-library 25.14.1-beta.8 → 25.16.0

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 (1187) hide show
  1. package/README.md +0 -97
  2. package/dist/AmbientGridTemplate-Ch1eLyEu.js +3478 -0
  3. package/dist/AmbientGridTemplate-Ch1eLyEu.js.map +1 -0
  4. package/dist/ClientSideUdpGrid-B3NVu-9l.js +56 -0
  5. package/dist/ClientSideUdpGrid-B3NVu-9l.js.map +1 -0
  6. package/dist/EnvironmentRibbon-OD01SY9G.js +935 -0
  7. package/dist/EnvironmentRibbon-OD01SY9G.js.map +1 -0
  8. package/dist/{BaseTreeMenu-DHEMztjA.js → MenuPage-BZk69VmF.js} +220 -20
  9. package/dist/MenuPage-BZk69VmF.js.map +1 -0
  10. package/dist/MyExportsPage-DxyYPVIc.js +11 -0
  11. package/dist/MyExportsPage-WaXST3tF.js +662 -0
  12. package/dist/MyExportsPage-WaXST3tF.js.map +1 -0
  13. package/dist/PageContainer-BxChq1eP.js +1536 -0
  14. package/dist/PageContainer-BxChq1eP.js.map +1 -0
  15. package/dist/{PageStatus-CjupI8az.js → PageNotFoundRoute-D9dLbM_w.js} +21 -4
  16. package/dist/PageNotFoundRoute-D9dLbM_w.js.map +1 -0
  17. package/dist/PageNotFoundRoute-DUj0Q9J8.js +3 -0
  18. package/dist/{PasswordResetRedirect-avgVRKhM.js → PasswordResetRedirect-C3g8L0vA.js} +21 -4
  19. package/dist/PasswordResetRedirect-C3g8L0vA.js.map +1 -0
  20. package/dist/PasswordResetRedirect-Dh-S5Ril.js +3 -0
  21. package/dist/{SearchUtilities-CzmJ6hI2.js → SearchUtilities-lVLvOpzo.js} +3 -3
  22. package/dist/{SearchUtilities-CzmJ6hI2.js.map → SearchUtilities-lVLvOpzo.js.map} +1 -1
  23. package/dist/SideSheet-D48-jzNi.js +288 -0
  24. package/dist/SideSheet-D48-jzNi.js.map +1 -0
  25. package/dist/{UdpMaintenanceConfigPage-mJ4AkDYp.js → UdpMaintenanceConfigPage-Bbaa9QQm.js} +8 -10
  26. package/dist/UdpMaintenanceConfigPage-Bbaa9QQm.js.map +1 -0
  27. package/dist/{UdpPublicForm-C0SHN_iy.js → UdpPublicForm-3xkpVjji.js} +15 -8
  28. package/dist/UdpPublicForm-3xkpVjji.js.map +1 -0
  29. package/dist/UdpPublicForm-BdzIFRc0.js +4 -0
  30. package/dist/{TreeUtilities-XLrXtUeL.js → UtilitySideBar-9LDu9AaN.js} +864 -35
  31. package/dist/UtilitySideBar-9LDu9AaN.js.map +1 -0
  32. package/dist/{VirtualBrowser-BansR6-F.js → VirtualBrowser-CiD8XKsM.js} +143 -31
  33. package/dist/VirtualBrowser-CiD8XKsM.js.map +1 -0
  34. package/dist/WorkflowContainer-BK2z5UDl.js +11 -0
  35. package/dist/WorkflowContainer-CpWRhlBx.js +1552 -0
  36. package/dist/WorkflowContainer-CpWRhlBx.js.map +1 -0
  37. package/dist/{apiHelpers-DF2KUI11.js → apiHelpers-DZPI1QCL.js} +91 -60
  38. package/dist/apiHelpers-DZPI1QCL.js.map +1 -0
  39. package/dist/{entityUtilities-D7_FeTEd.js → entityUtilities-Hohniu0Q.js} +2 -2
  40. package/dist/{entityUtilities-D7_FeTEd.js.map → entityUtilities-Hohniu0Q.js.map} +1 -1
  41. package/dist/index.js +44072 -3772
  42. package/dist/index.js.map +1 -1
  43. package/dist/propertyTypeEnums-BfQfG6sp.js +136 -0
  44. package/dist/propertyTypeEnums-BfQfG6sp.js.map +1 -0
  45. package/dist/types/UI/charts/types.d.ts +6 -31
  46. package/dist/types/UI/dataDisplay/visualization/amCharts/AmChart.d.ts +1 -1
  47. package/dist/types/UI/dataDisplay/visualization/amCharts/AmSankeyChart.d.ts +3 -0
  48. package/dist/types/index.d.ts +3 -4
  49. package/dist/types/maintenanceEngine/virtualBrowser/VirtualBrowser.d.ts +0 -1
  50. package/dist/types/map-library/Controls/index.d.ts +5 -7
  51. package/dist/types/map-library/Layers/index.d.ts +5 -7
  52. package/dist/types/map-library/Map/index.d.ts +1 -5
  53. package/dist/types/map-library/Source/index.d.ts +4 -6
  54. package/dist/types/maps/openLayerMaps/Layers/index.d.ts +5 -7
  55. package/dist/types/routes/components/PageNotFoundRoute.d.ts +0 -1
  56. package/dist/types/routes/components/PasswordResetRedirect.d.ts +0 -1
  57. package/dist/types/tsconfig.tsbuildinfo +1 -1
  58. package/dist/types/udp/export/MyExportsPage.d.ts +0 -1
  59. package/dist/types/utilities/form/paymentForm/CreditCardUtils.d.ts +1 -5
  60. package/dist/types/utilities/tree/TreeUtilities.d.ts +0 -2
  61. package/dist/types/workflow/WorkflowContainer.d.ts +0 -1
  62. package/dist/useAxiosGet-Bi4Z0b8W.js +143 -0
  63. package/dist/useAxiosGet-Bi4Z0b8W.js.map +1 -0
  64. package/dist/{useAxiosMutate-BNEb4J04.js → useAxiosMutate-pB7OdGIa.js} +4 -6
  65. package/dist/{useAxiosMutate-BNEb4J04.js.map → useAxiosMutate-pB7OdGIa.js.map} +1 -1
  66. package/package.json +8 -30
  67. package/dist/Accordion-DL61AM6M.js +0 -192
  68. package/dist/Accordion-DL61AM6M.js.map +0 -1
  69. package/dist/ActionLoadingContext-CNjaZnRA.js +0 -8
  70. package/dist/ActionLoadingContext-CNjaZnRA.js.map +0 -1
  71. package/dist/ActionLoadingDispatchContext-BnmdA_n3.js +0 -16
  72. package/dist/ActionLoadingDispatchContext-BnmdA_n3.js.map +0 -1
  73. package/dist/ActionProvider-DL5qMp-u.js +0 -369
  74. package/dist/ActionProvider-DL5qMp-u.js.map +0 -1
  75. package/dist/ActionSplitScreen-x0Bh5GEF.js +0 -296
  76. package/dist/ActionSplitScreen-x0Bh5GEF.js.map +0 -1
  77. package/dist/ActionWrapper-BRzh3vn0.js +0 -896
  78. package/dist/ActionWrapper-BRzh3vn0.js.map +0 -1
  79. package/dist/AddressListItem-ab1iGRhK.js +0 -19
  80. package/dist/AddressListItem-ab1iGRhK.js.map +0 -1
  81. package/dist/Adornment-9YJw6GPr.js +0 -19
  82. package/dist/Adornment-9YJw6GPr.js.map +0 -1
  83. package/dist/AgTable-BapmVuyC.js +0 -185
  84. package/dist/AgTable-BapmVuyC.js.map +0 -1
  85. package/dist/AggregateChip-EN9-abal.js +0 -242
  86. package/dist/AggregateChip-EN9-abal.js.map +0 -1
  87. package/dist/AlertContainer-nZR1BsF6.js +0 -46
  88. package/dist/AlertContainer-nZR1BsF6.js.map +0 -1
  89. package/dist/AmbientAlert-Daw5MVak.js +0 -42
  90. package/dist/AmbientAlert-Daw5MVak.js.map +0 -1
  91. package/dist/AmbientAutoComplete-BmBgMVpv.js +0 -101
  92. package/dist/AmbientAutoComplete-BmBgMVpv.js.map +0 -1
  93. package/dist/AmbientCard-Cp-eNzrW.js +0 -165
  94. package/dist/AmbientCard-Cp-eNzrW.js.map +0 -1
  95. package/dist/AmbientCardButton-DGmyyJxn.js +0 -31
  96. package/dist/AmbientCardButton-DGmyyJxn.js.map +0 -1
  97. package/dist/AmbientCardTitle-gBng9x3q.js +0 -38
  98. package/dist/AmbientCardTitle-gBng9x3q.js.map +0 -1
  99. package/dist/AmbientChipButton-C2KvNywY.js +0 -50
  100. package/dist/AmbientChipButton-C2KvNywY.js.map +0 -1
  101. package/dist/AmbientGridTemplate-VQA7Q_L7.js +0 -1664
  102. package/dist/AmbientGridTemplate-VQA7Q_L7.js.map +0 -1
  103. package/dist/AmbientPopoverMenuItem-Dy3rQ7sp.js +0 -75
  104. package/dist/AmbientPopoverMenuItem-Dy3rQ7sp.js.map +0 -1
  105. package/dist/AmbientSingleDateSelector-DCmSnon2.js +0 -45
  106. package/dist/AmbientSingleDateSelector-DCmSnon2.js.map +0 -1
  107. package/dist/AmbientTextField-BHfLW2L3.js +0 -76
  108. package/dist/AmbientTextField-BHfLW2L3.js.map +0 -1
  109. package/dist/AmbientToast-DazMeLYn.js +0 -70
  110. package/dist/AmbientToast-DazMeLYn.js.map +0 -1
  111. package/dist/AmbientToggleButton-C-7jtLY0.js +0 -67
  112. package/dist/AmbientToggleButton-C-7jtLY0.js.map +0 -1
  113. package/dist/AmbientToggleButtonGroup-DP1_fmcI.js +0 -87
  114. package/dist/AmbientToggleButtonGroup-DP1_fmcI.js.map +0 -1
  115. package/dist/AmbientToggleButtonGroupDefault-JAnbpfxZ.js +0 -107
  116. package/dist/AmbientToggleButtonGroupDefault-JAnbpfxZ.js.map +0 -1
  117. package/dist/AmbientTokenButton-CpdlLmsF.js +0 -46
  118. package/dist/AmbientTokenButton-CpdlLmsF.js.map +0 -1
  119. package/dist/AmbientVisualizer-Burox12C.js +0 -627
  120. package/dist/AmbientVisualizer-Burox12C.js.map +0 -1
  121. package/dist/AppMenu-TyQPUJBB.js +0 -170
  122. package/dist/AppMenu-TyQPUJBB.js.map +0 -1
  123. package/dist/AvatarAlphabet-BFwr2xyn.js +0 -187
  124. package/dist/AvatarAlphabet-BFwr2xyn.js.map +0 -1
  125. package/dist/BackwardsCompatibleGrid-C2zZwKox.js +0 -126
  126. package/dist/BackwardsCompatibleGrid-C2zZwKox.js.map +0 -1
  127. package/dist/BaseTreeMenu-DHEMztjA.js.map +0 -1
  128. package/dist/BioCard-DWXySB2s.js +0 -60
  129. package/dist/BioCard-DWXySB2s.js.map +0 -1
  130. package/dist/BioCardWrapper-CvOhu29n.js +0 -512
  131. package/dist/BioCardWrapper-CvOhu29n.js.map +0 -1
  132. package/dist/Box-C79_2EQb.js +0 -11
  133. package/dist/Box-C79_2EQb.js.map +0 -1
  134. package/dist/BreadCrumbMenu-42SrTsSI.js +0 -54
  135. package/dist/BreadCrumbMenu-42SrTsSI.js.map +0 -1
  136. package/dist/CardList-By_GnGmx.js +0 -78
  137. package/dist/CardList-By_GnGmx.js.map +0 -1
  138. package/dist/CatalogUtilities-BvkdL-P6.js +0 -17
  139. package/dist/CatalogUtilities-BvkdL-P6.js.map +0 -1
  140. package/dist/ChatBotContext-aIWq8Gqd.js +0 -8
  141. package/dist/ChatBotContext-aIWq8Gqd.js.map +0 -1
  142. package/dist/ChatBotProvider-DtLgLU17.js +0 -68
  143. package/dist/ChatBotProvider-DtLgLU17.js.map +0 -1
  144. package/dist/ChatContainer-CLXCK-1u.js +0 -251
  145. package/dist/ChatContainer-CLXCK-1u.js.map +0 -1
  146. package/dist/CircleButton-DBPFjNl1.js +0 -240
  147. package/dist/CircleButton-DBPFjNl1.js.map +0 -1
  148. package/dist/CircularProgress-BNz8u0DY.js +0 -48
  149. package/dist/CircularProgress-BNz8u0DY.js.map +0 -1
  150. package/dist/CkRichEditor-BzyNk5CH.js +0 -47
  151. package/dist/CkRichEditor-BzyNk5CH.js.map +0 -1
  152. package/dist/ClientSideUdpGrid-CDxftJTA.js +0 -11
  153. package/dist/ClientSideUdpGrid-CDxftJTA.js.map +0 -1
  154. package/dist/CompactDataList-drOdcMN5.js +0 -16
  155. package/dist/CompactDataList-drOdcMN5.js.map +0 -1
  156. package/dist/CompactDataListItem-DMGFdFDP.js +0 -28
  157. package/dist/CompactDataListItem-DMGFdFDP.js.map +0 -1
  158. package/dist/ContentContainer-WjoACMnE.js +0 -30
  159. package/dist/ContentContainer-WjoACMnE.js.map +0 -1
  160. package/dist/Controls-Dns0KUBq.js +0 -27
  161. package/dist/Controls-Dns0KUBq.js.map +0 -1
  162. package/dist/CoreLayoutFloorplan-BlMbuH2J.js +0 -154
  163. package/dist/CoreLayoutFloorplan-BlMbuH2J.js.map +0 -1
  164. package/dist/CrudBrowserContainer-B8AKH7kQ.js +0 -176
  165. package/dist/CrudBrowserContainer-B8AKH7kQ.js.map +0 -1
  166. package/dist/CrudBrowserUtilities-Cm_FNdfE.js +0 -77
  167. package/dist/CrudBrowserUtilities-Cm_FNdfE.js.map +0 -1
  168. package/dist/CrudForm-DIlveZRg.js +0 -349
  169. package/dist/CrudForm-DIlveZRg.js.map +0 -1
  170. package/dist/CrudTableSidePanel-1A8qrCCX.js +0 -120
  171. package/dist/CrudTableSidePanel-1A8qrCCX.js.map +0 -1
  172. package/dist/DashboardWidget-CpxtRgWv.js +0 -248
  173. package/dist/DashboardWidget-CpxtRgWv.js.map +0 -1
  174. package/dist/DataBrowserContainer-Bd2FU4Y4.js +0 -397
  175. package/dist/DataBrowserContainer-Bd2FU4Y4.js.map +0 -1
  176. package/dist/DateTimeField-O7EKOyoH.js +0 -32
  177. package/dist/DateTimeField-O7EKOyoH.js.map +0 -1
  178. package/dist/DateUtilities-DHTEYbE8.js +0 -15
  179. package/dist/DateUtilities-DHTEYbE8.js.map +0 -1
  180. package/dist/DemoJuly-D7RhIRiO.js +0 -1
  181. package/dist/DiffChecker-BZGx08fd.js +0 -38
  182. package/dist/DiffChecker-BZGx08fd.js.map +0 -1
  183. package/dist/Directory-B22QVz2r.js +0 -52
  184. package/dist/Directory-B22QVz2r.js.map +0 -1
  185. package/dist/Divider-BU1-Ll14.js +0 -11
  186. package/dist/Divider-BU1-Ll14.js.map +0 -1
  187. package/dist/DragDropFileUpload-D2moCBGI.js +0 -89
  188. package/dist/DragDropFileUpload-D2moCBGI.js.map +0 -1
  189. package/dist/DraggableSidebarTemplate-Dhrbn1H1.js +0 -93
  190. package/dist/DraggableSidebarTemplate-Dhrbn1H1.js.map +0 -1
  191. package/dist/DynamicContainerWithMenu-DKjYgu_E.js +0 -141
  192. package/dist/DynamicContainerWithMenu-DKjYgu_E.js.map +0 -1
  193. package/dist/DynamicRangeSlider-D8UVBHSs.js +0 -569
  194. package/dist/DynamicRangeSlider-D8UVBHSs.js.map +0 -1
  195. package/dist/Ellipse-q1-sPjh3.js +0 -113
  196. package/dist/Ellipse-q1-sPjh3.js.map +0 -1
  197. package/dist/EmailDisplay-Bglp_poX.js +0 -116
  198. package/dist/EmailDisplay-Bglp_poX.js.map +0 -1
  199. package/dist/EmptyStateDisplay-DK2wby5o.js +0 -66
  200. package/dist/EmptyStateDisplay-DK2wby5o.js.map +0 -1
  201. package/dist/EntityHeader-DOoeCEj3.js +0 -879
  202. package/dist/EntityHeader-DOoeCEj3.js.map +0 -1
  203. package/dist/EntitySideBarContent-BTVqCtxr.js +0 -85
  204. package/dist/EntitySideBarContent-BTVqCtxr.js.map +0 -1
  205. package/dist/EnvironmentRibbon-CPm8YnJ4.js +0 -59
  206. package/dist/EnvironmentRibbon-CPm8YnJ4.js.map +0 -1
  207. package/dist/ExpandRenderer-BFo5hbGj.js +0 -20
  208. package/dist/ExpandRenderer-BFo5hbGj.js.map +0 -1
  209. package/dist/Expander-DYGCUc1-.js +0 -81
  210. package/dist/Expander-DYGCUc1-.js.map +0 -1
  211. package/dist/ExtenderToggle-DnLA2lyT.js +0 -48
  212. package/dist/ExtenderToggle-DnLA2lyT.js.map +0 -1
  213. package/dist/ExternalRedirectUrlStorage-DWzDQVSk.js +0 -15
  214. package/dist/ExternalRedirectUrlStorage-DWzDQVSk.js.map +0 -1
  215. package/dist/FUIAppSwitcher-DzE2TQlx.js +0 -360
  216. package/dist/FUIAppSwitcher-DzE2TQlx.js.map +0 -1
  217. package/dist/FUICard-B5SvhKL0.js +0 -140
  218. package/dist/FUICard-B5SvhKL0.js.map +0 -1
  219. package/dist/FUIMenuItem-C6Ypt-fU.js +0 -26
  220. package/dist/FUIMenuItem-C6Ypt-fU.js.map +0 -1
  221. package/dist/FUISquareIconButton-CzLgq8u-.js +0 -20
  222. package/dist/FUISquareIconButton-CzLgq8u-.js.map +0 -1
  223. package/dist/Field-Idoc1A5M.js +0 -61
  224. package/dist/Field-Idoc1A5M.js.map +0 -1
  225. package/dist/FieldArrayCard-ColjIX9t.js +0 -407
  226. package/dist/FieldArrayCard-ColjIX9t.js.map +0 -1
  227. package/dist/FileUpload-NSFNV7f_.js +0 -241
  228. package/dist/FileUpload-NSFNV7f_.js.map +0 -1
  229. package/dist/FileViewer-Bhubf4Uv.js +0 -546
  230. package/dist/FileViewer-Bhubf4Uv.js.map +0 -1
  231. package/dist/FluentActivity-Btq_69F-.js +0 -1
  232. package/dist/FluentActivityRow-CmoRw1Lt.js +0 -69
  233. package/dist/FluentActivityRow-CmoRw1Lt.js.map +0 -1
  234. package/dist/FluentBody-PdsySA1c.js +0 -16
  235. package/dist/FluentBody-PdsySA1c.js.map +0 -1
  236. package/dist/FluentButton-h_8VjXGT.js +0 -44
  237. package/dist/FluentButton-h_8VjXGT.js.map +0 -1
  238. package/dist/FluentCard-CjR2Ft0S.js +0 -23
  239. package/dist/FluentCard-CjR2Ft0S.js.map +0 -1
  240. package/dist/FluentCardText-Cs6pzYL3.js +0 -89
  241. package/dist/FluentCardText-Cs6pzYL3.js.map +0 -1
  242. package/dist/FluentCell-C7lb2y4Z.js +0 -81
  243. package/dist/FluentCell-C7lb2y4Z.js.map +0 -1
  244. package/dist/FluentCheckbox-DdPx94AF.js +0 -23
  245. package/dist/FluentCheckbox-DdPx94AF.js.map +0 -1
  246. package/dist/FluentColorPicker-DWJ1ri6q.js +0 -77
  247. package/dist/FluentColorPicker-DWJ1ri6q.js.map +0 -1
  248. package/dist/FluentDataTable-BwVi4r3o.js +0 -1
  249. package/dist/FluentDataTable-C3A36z2b.js +0 -30
  250. package/dist/FluentDataTable-C3A36z2b.js.map +0 -1
  251. package/dist/FluentDatePicker-BV0xrRuX.js +0 -75
  252. package/dist/FluentDatePicker-BV0xrRuX.js.map +0 -1
  253. package/dist/FluentDialog-DU5BAKwU.js +0 -80
  254. package/dist/FluentDialog-DU5BAKwU.js.map +0 -1
  255. package/dist/FluentDisplayNumbers-BZUCpWE1.js +0 -51
  256. package/dist/FluentDisplayNumbers-BZUCpWE1.js.map +0 -1
  257. package/dist/FluentHead-BTV-o45z.js +0 -20
  258. package/dist/FluentHead-BTV-o45z.js.map +0 -1
  259. package/dist/FluentIcon-CB-ANF6C.js +0 -57
  260. package/dist/FluentIcon-CB-ANF6C.js.map +0 -1
  261. package/dist/FluentIconButton-le92OnEc.js +0 -29
  262. package/dist/FluentIconButton-le92OnEc.js.map +0 -1
  263. package/dist/FluentIconKey-DdoCGnzt.js +0 -41
  264. package/dist/FluentIconKey-DdoCGnzt.js.map +0 -1
  265. package/dist/FluentInputSlider-brB0q5Ek.js +0 -50
  266. package/dist/FluentInputSlider-brB0q5Ek.js.map +0 -1
  267. package/dist/FluentLink-Dd3rhW2L.js +0 -39
  268. package/dist/FluentLink-Dd3rhW2L.js.map +0 -1
  269. package/dist/FluentListItem-CyxaVYfq.js +0 -99
  270. package/dist/FluentListItem-CyxaVYfq.js.map +0 -1
  271. package/dist/FluentMap-Ba3tDjti.js +0 -72
  272. package/dist/FluentMap-Ba3tDjti.js.map +0 -1
  273. package/dist/FluentMenuListItem-B_HwFoIS.js +0 -32
  274. package/dist/FluentMenuListItem-B_HwFoIS.js.map +0 -1
  275. package/dist/FluentProfileMenuCard-FKdOEzYd.js +0 -783
  276. package/dist/FluentProfileMenuCard-FKdOEzYd.js.map +0 -1
  277. package/dist/FluentRadioGroup-BCKaV-qV.js +0 -31
  278. package/dist/FluentRadioGroup-BCKaV-qV.js.map +0 -1
  279. package/dist/FluentRow-CVqnk9pB.js +0 -18
  280. package/dist/FluentRow-CVqnk9pB.js.map +0 -1
  281. package/dist/FluentSearchField-D8ke5wUJ.js +0 -135
  282. package/dist/FluentSearchField-D8ke5wUJ.js.map +0 -1
  283. package/dist/FluentSideNav-eisBe33N.js +0 -144
  284. package/dist/FluentSideNav-eisBe33N.js.map +0 -1
  285. package/dist/FluentSimpleSelect-DVmrbG9x.js +0 -443
  286. package/dist/FluentSimpleSelect-DVmrbG9x.js.map +0 -1
  287. package/dist/FluentSimpleTabs-BrzfWBS4.js +0 -72
  288. package/dist/FluentSimpleTabs-BrzfWBS4.js.map +0 -1
  289. package/dist/FluentTabPanel-C3v9JmNy.js +0 -24
  290. package/dist/FluentTabPanel-C3v9JmNy.js.map +0 -1
  291. package/dist/FluentTabUtility-DRGQ1nUn.js +0 -55
  292. package/dist/FluentTabUtility-DRGQ1nUn.js.map +0 -1
  293. package/dist/FluentTextField-DCzp_6wE.js +0 -68
  294. package/dist/FluentTextField-DCzp_6wE.js.map +0 -1
  295. package/dist/FluentTextFieldAutoComplete-BQvVv8m_.js +0 -100
  296. package/dist/FluentTextFieldAutoComplete-BQvVv8m_.js.map +0 -1
  297. package/dist/FluentTimePicker-BmrYuAWs.js +0 -67
  298. package/dist/FluentTimePicker-BmrYuAWs.js.map +0 -1
  299. package/dist/FluentTimeline-B0VjMqsq.js +0 -156
  300. package/dist/FluentTimeline-B0VjMqsq.js.map +0 -1
  301. package/dist/FluentToggle-CCL31z0_.js +0 -49
  302. package/dist/FluentToggle-CCL31z0_.js.map +0 -1
  303. package/dist/FluentUploadIconButton-CAJJWYMr.js +0 -129
  304. package/dist/FluentUploadIconButton-CAJJWYMr.js.map +0 -1
  305. package/dist/FormButtons-Bstnb0d-.js +0 -131
  306. package/dist/FormButtons-Bstnb0d-.js.map +0 -1
  307. package/dist/FormControl-4nCOpGXb.js +0 -39
  308. package/dist/FormControl-4nCOpGXb.js.map +0 -1
  309. package/dist/FormControlLabel-CwjEQrj8.js +0 -17
  310. package/dist/FormControlLabel-CwjEQrj8.js.map +0 -1
  311. package/dist/GeoLocation-Dv1vb1xw.js +0 -116
  312. package/dist/GeoLocation-Dv1vb1xw.js.map +0 -1
  313. package/dist/GeoMap-CVGJXRRA.js +0 -108
  314. package/dist/GeoMap-CVGJXRRA.js.map +0 -1
  315. package/dist/Grid-DcfHTwyY.js +0 -17
  316. package/dist/Grid-DcfHTwyY.js.map +0 -1
  317. package/dist/GridFunctions-B6oVb2o3.js +0 -150
  318. package/dist/GridFunctions-B6oVb2o3.js.map +0 -1
  319. package/dist/GridGroupingSidebar-nHJQULrr.js +0 -142
  320. package/dist/GridGroupingSidebar-nHJQULrr.js.map +0 -1
  321. package/dist/GridRow-DZXcsSu-.js +0 -55
  322. package/dist/GridRow-DZXcsSu-.js.map +0 -1
  323. package/dist/GroupNode-Bms_Opmb.js +0 -39
  324. package/dist/GroupNode-Bms_Opmb.js.map +0 -1
  325. package/dist/HeaderExpander-BmyB0F85.js +0 -53
  326. package/dist/HeaderExpander-BmyB0F85.js.map +0 -1
  327. package/dist/HintPanel-Bhxty7to.js +0 -45
  328. package/dist/HintPanel-Bhxty7to.js.map +0 -1
  329. package/dist/IconButtonWithToolTip-DQacH9wQ.js +0 -28
  330. package/dist/IconButtonWithToolTip-DQacH9wQ.js.map +0 -1
  331. package/dist/IconKey-BIncc5r7.js +0 -60
  332. package/dist/IconKey-BIncc5r7.js.map +0 -1
  333. package/dist/IconLibrary-DIc1kbJA.js +0 -182
  334. package/dist/IconLibrary-DIc1kbJA.js.map +0 -1
  335. package/dist/IconRenderer-DiwGfDul.js +0 -43
  336. package/dist/IconRenderer-DiwGfDul.js.map +0 -1
  337. package/dist/Iframe-T9O-RU10.js +0 -31
  338. package/dist/Iframe-T9O-RU10.js.map +0 -1
  339. package/dist/IframeContainer-Cr0vSFwX.js +0 -23
  340. package/dist/IframeContainer-Cr0vSFwX.js.map +0 -1
  341. package/dist/ImportDataFromFileMapping-Cr-Yof-6.js +0 -745
  342. package/dist/ImportDataFromFileMapping-Cr-Yof-6.js.map +0 -1
  343. package/dist/InfoCard-MSU5VE1s.js +0 -217
  344. package/dist/InfoCard-MSU5VE1s.js.map +0 -1
  345. package/dist/InputAdornment-B1C26m73.js +0 -15
  346. package/dist/InputAdornment-B1C26m73.js.map +0 -1
  347. package/dist/InputFieldTypeEnums-yNsnE6kL.js +0 -14
  348. package/dist/InputFieldTypeEnums-yNsnE6kL.js.map +0 -1
  349. package/dist/InputsExample-BPDEWFXK.js +0 -11
  350. package/dist/InputsExample-BPDEWFXK.js.map +0 -1
  351. package/dist/Inquiry-3kldgl4S.js +0 -2988
  352. package/dist/Inquiry-3kldgl4S.js.map +0 -1
  353. package/dist/InquiryDashboard-Cn4F0BuC.js +0 -17
  354. package/dist/InquiryDashboard-Cn4F0BuC.js.map +0 -1
  355. package/dist/InquiryHeaderControl-D8G6OuEN.js +0 -40
  356. package/dist/InquiryHeaderControl-D8G6OuEN.js.map +0 -1
  357. package/dist/InquiryHeaderSecondaryAlert-BnYD5HYk.js +0 -39
  358. package/dist/InquiryHeaderSecondaryAlert-BnYD5HYk.js.map +0 -1
  359. package/dist/InquiryNodeControls-Da_DSKgd.js +0 -209
  360. package/dist/InquiryNodeControls-Da_DSKgd.js.map +0 -1
  361. package/dist/InquirySearchContainer-OBvUoZxU.js +0 -837
  362. package/dist/InquirySearchContainer-OBvUoZxU.js.map +0 -1
  363. package/dist/ItemsWidgetCard-Btb88zwI.js +0 -180
  364. package/dist/ItemsWidgetCard-Btb88zwI.js.map +0 -1
  365. package/dist/KeyValueTextField-DhkscBug.js +0 -104
  366. package/dist/KeyValueTextField-DhkscBug.js.map +0 -1
  367. package/dist/LayoutUnit-fGVQwt6Y.js +0 -80
  368. package/dist/LayoutUnit-fGVQwt6Y.js.map +0 -1
  369. package/dist/LibraryData-BtirxoE9.js +0 -9043
  370. package/dist/LibraryData-BtirxoE9.js.map +0 -1
  371. package/dist/LinearProgress-CVk0GRO-.js +0 -49
  372. package/dist/LinearProgress-CVk0GRO-.js.map +0 -1
  373. package/dist/LoadingIndicator-g9w3OnXH.js +0 -47
  374. package/dist/LoadingIndicator-g9w3OnXH.js.map +0 -1
  375. package/dist/LoadingOverlay-DBYfWYwS.js +0 -17
  376. package/dist/LoadingOverlay-DBYfWYwS.js.map +0 -1
  377. package/dist/LocalRedirectUrlStorage-BQHr5JcA.js +0 -21
  378. package/dist/LocalRedirectUrlStorage-BQHr5JcA.js.map +0 -1
  379. package/dist/Map-CM3OkjUS.js +0 -56
  380. package/dist/Map-CM3OkjUS.js.map +0 -1
  381. package/dist/Map-yjCCFFzf.js +0 -127
  382. package/dist/Map-yjCCFFzf.js.map +0 -1
  383. package/dist/MapContent-JgIyNm5C.js +0 -117
  384. package/dist/MapContent-JgIyNm5C.js.map +0 -1
  385. package/dist/MapContext-CUKty8Mr.js +0 -9
  386. package/dist/MapContext-CUKty8Mr.js.map +0 -1
  387. package/dist/MapContext-D6Th9h9w.js +0 -9
  388. package/dist/MapContext-D6Th9h9w.js.map +0 -1
  389. package/dist/MapControlsStandard-twyqBTRG.js +0 -142
  390. package/dist/MapControlsStandard-twyqBTRG.js.map +0 -1
  391. package/dist/MapLayout-CVBdE9Q8.js +0 -790
  392. package/dist/MapLayout-CVBdE9Q8.js.map +0 -1
  393. package/dist/MenuPage-CJ1JVrk8.js +0 -227
  394. package/dist/MenuPage-CJ1JVrk8.js.map +0 -1
  395. package/dist/MenuPage-kn130DcT.js +0 -56
  396. package/dist/MttMainTimeline-Bme6LQZO.js +0 -894
  397. package/dist/MttMainTimeline-Bme6LQZO.js.map +0 -1
  398. package/dist/MttSummary-CTETqPbU.js +0 -258
  399. package/dist/MttSummary-CTETqPbU.js.map +0 -1
  400. package/dist/MttYearTag-Cb_oIUNq.js +0 -178
  401. package/dist/MttYearTag-Cb_oIUNq.js.map +0 -1
  402. package/dist/MyExportsPage-Cq2MRoRf.js +0 -229
  403. package/dist/MyExportsPage-Cq2MRoRf.js.map +0 -1
  404. package/dist/MyExportsPage-ZP2V0i5h.js +0 -65
  405. package/dist/NestedGrid-CP4p4Vmb.js +0 -84
  406. package/dist/NestedGrid-CP4p4Vmb.js.map +0 -1
  407. package/dist/NestedGrid-fseCejIz.js +0 -1
  408. package/dist/NewsCard-BpNmD2kg.js +0 -57
  409. package/dist/NewsCard-BpNmD2kg.js.map +0 -1
  410. package/dist/NodeLoader-DRIIc46w.js +0 -46
  411. package/dist/NodeLoader-DRIIc46w.js.map +0 -1
  412. package/dist/Notes-Bc7nRiJE.js +0 -63
  413. package/dist/Notes-Bc7nRiJE.js.map +0 -1
  414. package/dist/NotesScreen-CmMz3GTR.js +0 -367
  415. package/dist/NotesScreen-CmMz3GTR.js.map +0 -1
  416. package/dist/NumberOperator-CDToRW8i.js +0 -45
  417. package/dist/NumberOperator-CDToRW8i.js.map +0 -1
  418. package/dist/PAHAdditionalRightComponent-CvWTgdMd.js +0 -21
  419. package/dist/PAHAdditionalRightComponent-CvWTgdMd.js.map +0 -1
  420. package/dist/PAHAdditionalTitleComponent-CAGVbIPY.js +0 -47
  421. package/dist/PAHAdditionalTitleComponent-CAGVbIPY.js.map +0 -1
  422. package/dist/PageActionWrapper-HgV0I8Km.js +0 -55
  423. package/dist/PageActionWrapper-HgV0I8Km.js.map +0 -1
  424. package/dist/PageContainer-Cvw3n3k2.js +0 -223
  425. package/dist/PageContainer-Cvw3n3k2.js.map +0 -1
  426. package/dist/PageContext-DujK-Yng.js +0 -49
  427. package/dist/PageContext-DujK-Yng.js.map +0 -1
  428. package/dist/PageLoading-DCoyVjWf.js +0 -18
  429. package/dist/PageLoading-DCoyVjWf.js.map +0 -1
  430. package/dist/PageNotFoundRoute-BGj6tqmn.js +0 -24
  431. package/dist/PageNotFoundRoute-BGj6tqmn.js.map +0 -1
  432. package/dist/PageNotFoundRoute-CTaRcNjL.js +0 -4
  433. package/dist/PageRenderer-B9aSUiue.js +0 -29
  434. package/dist/PageRenderer-B9aSUiue.js.map +0 -1
  435. package/dist/PageSectionSpacer-D_yz3sra.js +0 -88
  436. package/dist/PageSectionSpacer-D_yz3sra.js.map +0 -1
  437. package/dist/PageStatus-CjupI8az.js.map +0 -1
  438. package/dist/PageSubHeaderAction-Cw7gmU2W.js +0 -20
  439. package/dist/PageSubHeaderAction-Cw7gmU2W.js.map +0 -1
  440. package/dist/PasswordResetRedirect-BMDMHdhE.js +0 -4
  441. package/dist/PasswordResetRedirect-avgVRKhM.js.map +0 -1
  442. package/dist/PaymentReversalForm-DtiqJTZV.js +0 -456
  443. package/dist/PaymentReversalForm-DtiqJTZV.js.map +0 -1
  444. package/dist/PowerBIReport-Bt0Fjlyw.js +0 -60
  445. package/dist/PowerBIReport-Bt0Fjlyw.js.map +0 -1
  446. package/dist/PrimaryActionButton-CQXyHAeG.js +0 -36
  447. package/dist/PrimaryActionButton-CQXyHAeG.js.map +0 -1
  448. package/dist/PrimaryActionHeader-D9vn0zfH.js +0 -547
  449. package/dist/PrimaryActionHeader-D9vn0zfH.js.map +0 -1
  450. package/dist/PropertyFields-BOhyMi0i.js +0 -65
  451. package/dist/PropertyFields-BOhyMi0i.js.map +0 -1
  452. package/dist/QueryResult-BXX3-4Zh.js +0 -10
  453. package/dist/QueryResult-BXX3-4Zh.js.map +0 -1
  454. package/dist/QuickViewCard-Du-MuSVf.js +0 -24
  455. package/dist/QuickViewCard-Du-MuSVf.js.map +0 -1
  456. package/dist/RecentlyLoadedNodesTable-BRxssq07.js +0 -108
  457. package/dist/RecentlyLoadedNodesTable-BRxssq07.js.map +0 -1
  458. package/dist/RejectIcon-D8AWbOZq.js +0 -40
  459. package/dist/RejectIcon-D8AWbOZq.js.map +0 -1
  460. package/dist/RemindersCard-BrjYmZVz.js +0 -138
  461. package/dist/RemindersCard-BrjYmZVz.js.map +0 -1
  462. package/dist/RemindersScreen-CVTHY97W.js +0 -442
  463. package/dist/RemindersScreen-CVTHY97W.js.map +0 -1
  464. package/dist/RequiredFieldsMappingForm-GQH7b1rM.js +0 -344
  465. package/dist/RequiredFieldsMappingForm-GQH7b1rM.js.map +0 -1
  466. package/dist/RuleUtilities-DXVlN84J.js +0 -89
  467. package/dist/RuleUtilities-DXVlN84J.js.map +0 -1
  468. package/dist/SearchMethodUdpGrid-Ua0Kj84J.js +0 -11
  469. package/dist/SearchMethodUdpGrid-Ua0Kj84J.js.map +0 -1
  470. package/dist/SearchOperator-BLSwbmXG.js +0 -59
  471. package/dist/SearchOperator-BLSwbmXG.js.map +0 -1
  472. package/dist/SearchServiceDatasource-Can9G7Ei.js +0 -159
  473. package/dist/SearchServiceDatasource-Can9G7Ei.js.map +0 -1
  474. package/dist/SelectUtilities-BCLrDhpD.js +0 -30
  475. package/dist/SelectUtilities-BCLrDhpD.js.map +0 -1
  476. package/dist/Shell-DM4ZssU1.js +0 -273
  477. package/dist/Shell-DM4ZssU1.js.map +0 -1
  478. package/dist/ShortcutContentFinder-M8Rg7N2i.js +0 -124
  479. package/dist/ShortcutContentFinder-M8Rg7N2i.js.map +0 -1
  480. package/dist/SideBarTemplate-CIwUGjnW.js +0 -128
  481. package/dist/SideBarTemplate-CIwUGjnW.js.map +0 -1
  482. package/dist/SideSheet-BhKZOd2G.js +0 -82
  483. package/dist/SideSheet-BhKZOd2G.js.map +0 -1
  484. package/dist/SideSheetHeader-DomTDjrB.js +0 -79
  485. package/dist/SideSheetHeader-DomTDjrB.js.map +0 -1
  486. package/dist/SidebarCollapseButton-B6H3WAMn.js +0 -64
  487. package/dist/SidebarCollapseButton-B6H3WAMn.js.map +0 -1
  488. package/dist/SidebarHeader-BKV537q9.js +0 -82
  489. package/dist/SidebarHeader-BKV537q9.js.map +0 -1
  490. package/dist/SiteHeaderRightComponent-zuiawaq3.js +0 -20
  491. package/dist/SiteHeaderRightComponent-zuiawaq3.js.map +0 -1
  492. package/dist/Source-BUBwrbaZ.js +0 -34
  493. package/dist/Source-BUBwrbaZ.js.map +0 -1
  494. package/dist/StandardTitle-DkEO3oI5.js +0 -23
  495. package/dist/StandardTitle-DkEO3oI5.js.map +0 -1
  496. package/dist/StatusChip-Bw-0wE_B.js +0 -75
  497. package/dist/StatusChip-Bw-0wE_B.js.map +0 -1
  498. package/dist/Sticky-BDcWUrzq.js +0 -50
  499. package/dist/Sticky-BDcWUrzq.js.map +0 -1
  500. package/dist/StringUtilities-DyjYA5pU.js +0 -30
  501. package/dist/StringUtilities-DyjYA5pU.js.map +0 -1
  502. package/dist/StylizedTitle-Y_hYLsug.js +0 -47
  503. package/dist/StylizedTitle-Y_hYLsug.js.map +0 -1
  504. package/dist/SubHeaderAction-Cp5e8IwG.js +0 -28
  505. package/dist/SubHeaderAction-Cp5e8IwG.js.map +0 -1
  506. package/dist/SummaryBlock-BUKWxmJe.js +0 -98
  507. package/dist/SummaryBlock-BUKWxmJe.js.map +0 -1
  508. package/dist/SupportCaseSideSheet-BpHFSZL4.js +0 -388
  509. package/dist/SupportCaseSideSheet-BpHFSZL4.js.map +0 -1
  510. package/dist/TableColumnDefs-nlfu2DdT.js +0 -33
  511. package/dist/TableColumnDefs-nlfu2DdT.js.map +0 -1
  512. package/dist/TableContainer-DHqKmf_D.js +0 -109
  513. package/dist/TableContainer-DHqKmf_D.js.map +0 -1
  514. package/dist/TenantProvider-BLBngk91.js +0 -37
  515. package/dist/TenantProvider-BLBngk91.js.map +0 -1
  516. package/dist/TicketCard-DAWDuiwW.js +0 -143
  517. package/dist/TicketCard-DAWDuiwW.js.map +0 -1
  518. package/dist/TileDisplay-Bg0ZJFDh.js +0 -224
  519. package/dist/TileDisplay-Bg0ZJFDh.js.map +0 -1
  520. package/dist/TileLayer-Bk6rITEu.js +0 -31
  521. package/dist/TileLayer-Bk6rITEu.js.map +0 -1
  522. package/dist/TimeField-DK4r4zAc.js +0 -62
  523. package/dist/TimeField-DK4r4zAc.js.map +0 -1
  524. package/dist/TimelineCalendar-BxjFou_7.js +0 -280
  525. package/dist/TimelineCalendar-BxjFou_7.js.map +0 -1
  526. package/dist/TimelineToken-H8lALbXg.js +0 -72
  527. package/dist/TimelineToken-H8lALbXg.js.map +0 -1
  528. package/dist/ToggleSection-CBBfnC11.js +0 -211
  529. package/dist/ToggleSection-CBBfnC11.js.map +0 -1
  530. package/dist/Token-DOIAu9p4.js +0 -70
  531. package/dist/Token-DOIAu9p4.js.map +0 -1
  532. package/dist/TokenGroupItem-BAn9vpf7.js +0 -36
  533. package/dist/TokenGroupItem-BAn9vpf7.js.map +0 -1
  534. package/dist/TreeUtilities-XLrXtUeL.js.map +0 -1
  535. package/dist/TrimForAvatar-CB5QXqe_.js +0 -8
  536. package/dist/TrimForAvatar-CB5QXqe_.js.map +0 -1
  537. package/dist/Typography-6jelcyoY.js +0 -22
  538. package/dist/Typography-6jelcyoY.js.map +0 -1
  539. package/dist/UI/accordion/index.js +0 -15
  540. package/dist/UI/advancedSearchBuilder/index.js +0 -5
  541. package/dist/UI/charts/index.js +0 -3
  542. package/dist/UI/components/dataDisplay/index.js +0 -20
  543. package/dist/UI/components/feedback/index.js +0 -4
  544. package/dist/UI/components/index.js +0 -23
  545. package/dist/UI/containers/index.js +0 -7
  546. package/dist/UI/dataDisplay/FluentActivity/index.js +0 -6
  547. package/dist/UI/dataDisplay/FluentDataTable/FluentBody/index.js +0 -3
  548. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +0 -13
  549. package/dist/UI/dataDisplay/FluentDataTable/FluentHead/index.js +0 -3
  550. package/dist/UI/dataDisplay/FluentDataTable/FluentRow/index.js +0 -3
  551. package/dist/UI/dataDisplay/FluentDataTable/index.js +0 -18
  552. package/dist/UI/dataDisplay/address/index.js +0 -4
  553. package/dist/UI/dataDisplay/cardList/index.js +0 -5
  554. package/dist/UI/dataDisplay/directory/index.js +0 -5
  555. package/dist/UI/dataDisplay/entityHeader/index.js +0 -35
  556. package/dist/UI/dataDisplay/index.js +0 -89
  557. package/dist/UI/dataDisplay/map/index.js +0 -7
  558. package/dist/UI/dataDisplay/notes/index.js +0 -8
  559. package/dist/UI/dataDisplay/ticketCard/index.js +0 -7
  560. package/dist/UI/dataDisplay/typography/index.js +0 -13
  561. package/dist/UI/dataDisplay/visualization/index.js +0 -8
  562. package/dist/UI/demos/index.js +0 -4
  563. package/dist/UI/feedback/index.js +0 -12
  564. package/dist/UI/fileViewer/index.js +0 -28
  565. package/dist/UI/floorplans/index.js +0 -57
  566. package/dist/UI/forms/index.js +0 -51
  567. package/dist/UI/iframe/index.js +0 -4
  568. package/dist/UI/index.js +0 -251
  569. package/dist/UI/inputs/buttons/index.js +0 -53
  570. package/dist/UI/inputs/buttons/index.js.map +0 -1
  571. package/dist/UI/inputs/calendar/index.js +0 -3
  572. package/dist/UI/inputs/checkbox/index.js +0 -3
  573. package/dist/UI/inputs/datetimes/index.js +0 -4
  574. package/dist/UI/inputs/fieldArrayCard/index.js +0 -66
  575. package/dist/UI/inputs/link/index.js +0 -4
  576. package/dist/UI/inputs/menus/index.js +0 -11
  577. package/dist/UI/inputs/pickers/index.js +0 -8
  578. package/dist/UI/inputs/radio/index.js +0 -3
  579. package/dist/UI/inputs/richEditors/index.js +0 -3
  580. package/dist/UI/inputs/sliders/index.js +0 -3
  581. package/dist/UI/inputs/textField/index.js +0 -14
  582. package/dist/UI/inputs/toggle/index.js +0 -3
  583. package/dist/UI/loading/LoadingIndicator/index.js +0 -3
  584. package/dist/UI/loading/index.js +0 -6
  585. package/dist/UI/mapLayout/index.js +0 -62
  586. package/dist/UI/maps/index.js +0 -5
  587. package/dist/UI/navigation/index.js +0 -31
  588. package/dist/UI/navigation/menus/index.js +0 -22
  589. package/dist/UI/navigation/tabs/defaultTabs/index.js +0 -6
  590. package/dist/UI/navigation/tabs/index.js +0 -10
  591. package/dist/UI/property/index.js +0 -9
  592. package/dist/UI/property/widgets/index.js +0 -7
  593. package/dist/UI/stepper/index.js +0 -4
  594. package/dist/UI/support/index.js +0 -31
  595. package/dist/UI/surfaces/NestedGrid/index.js +0 -8
  596. package/dist/UI/surfaces/NestedGrid/ui/index.js +0 -5
  597. package/dist/UI/surfaces/cards/index.js +0 -37
  598. package/dist/UI/surfaces/cards/newsCard/index.js +0 -4
  599. package/dist/UI/surfaces/cards/workOrderCard/index.js +0 -14
  600. package/dist/UI/surfaces/index.js +0 -45
  601. package/dist/UI/templates/index.js +0 -76
  602. package/dist/UI/templates/newGrid/index.js +0 -37
  603. package/dist/UI/templates/ui/index.js +0 -15
  604. package/dist/UI/timeline/fluentTimeline/index.js +0 -14
  605. package/dist/UI/timeline/index.js +0 -16
  606. package/dist/UI/utilityDisplay/alerts/index.js +0 -24
  607. package/dist/UI/utilityDisplay/index.js +0 -87
  608. package/dist/UI/utilityDisplay/ui/index.js +0 -5
  609. package/dist/UI/utilityDisplay/utilities/index.js +0 -6
  610. package/dist/UI/utilityDisplay/utilityHeader/index.js +0 -17
  611. package/dist/UI/widgets/index.js +0 -19
  612. package/dist/UdpAdvancedSearchBuilder-B625wOxk.js +0 -19
  613. package/dist/UdpAdvancedSearchBuilder-B625wOxk.js.map +0 -1
  614. package/dist/UdpAlertsContainer-COjS21Kf.js +0 -80
  615. package/dist/UdpAlertsContainer-COjS21Kf.js.map +0 -1
  616. package/dist/UdpMaintenanceConfigPage-DfKk0PmB.js +0 -15
  617. package/dist/UdpMaintenanceConfigPage-mJ4AkDYp.js.map +0 -1
  618. package/dist/UdpMaintenanceEnginePage-DAioIeSf.js +0 -446
  619. package/dist/UdpMaintenanceEnginePage-DAioIeSf.js.map +0 -1
  620. package/dist/UdpMaintenanceEnginePage-M0RbzSTX.js +0 -59
  621. package/dist/UdpMap-5NE3rUIS.js +0 -11
  622. package/dist/UdpMap-5NE3rUIS.js.map +0 -1
  623. package/dist/UdpMapToolbar-DrHSV4fT.js +0 -17
  624. package/dist/UdpMapToolbar-DrHSV4fT.js.map +0 -1
  625. package/dist/UdpPublicForm-C0SHN_iy.js.map +0 -1
  626. package/dist/UdpPublicForm-DnPkG5dr.js +0 -6
  627. package/dist/UdpRoutes-Bmn455yo.js +0 -110
  628. package/dist/UdpRoutes-Bmn455yo.js.map +0 -1
  629. package/dist/UdpTabUtility-BFY5dGuO.js +0 -49
  630. package/dist/UdpTabUtility-BFY5dGuO.js.map +0 -1
  631. package/dist/UdpTabs-C7pvmyRq.js +0 -209
  632. package/dist/UdpTabs-C7pvmyRq.js.map +0 -1
  633. package/dist/UdpTimeSelector-CLYgUW1t.js +0 -147
  634. package/dist/UdpTimeSelector-CLYgUW1t.js.map +0 -1
  635. package/dist/UdpTimelineItemSeparator-CLmX2L55.js +0 -213
  636. package/dist/UdpTimelineItemSeparator-CLmX2L55.js.map +0 -1
  637. package/dist/UnityFluentIcon-fuqAQh0C.js +0 -70
  638. package/dist/UnityFluentIcon-fuqAQh0C.js.map +0 -1
  639. package/dist/UnityIconLibrary-DnCuEr5M.js +0 -44
  640. package/dist/UnityIconLibrary-DnCuEr5M.js.map +0 -1
  641. package/dist/UnitySessionStorage-DBqfMiK5.js +0 -19
  642. package/dist/UnitySessionStorage-DBqfMiK5.js.map +0 -1
  643. package/dist/UserFormSideSheet-LhDmbaza.js +0 -401
  644. package/dist/UserFormSideSheet-LhDmbaza.js.map +0 -1
  645. package/dist/UtilityBar-8sXK6La8.js +0 -98
  646. package/dist/UtilityBar-8sXK6La8.js.map +0 -1
  647. package/dist/UtilityBarInport-BZbPE650.js +0 -22
  648. package/dist/UtilityBarInport-BZbPE650.js.map +0 -1
  649. package/dist/UtilitySideBar-DlCvljVV.js +0 -95
  650. package/dist/UtilitySideBar-DlCvljVV.js.map +0 -1
  651. package/dist/VectorLayer-DvXP_PbI.js +0 -72
  652. package/dist/VectorLayer-DvXP_PbI.js.map +0 -1
  653. package/dist/VirtualBrowser-B66Iyn4h.js +0 -76
  654. package/dist/VirtualBrowser-BansR6-F.js.map +0 -1
  655. package/dist/VirtualForm-DlTtINdK.js +0 -65
  656. package/dist/VirtualForm-DlTtINdK.js.map +0 -1
  657. package/dist/WidgetCard-BX5kN_74.js +0 -72
  658. package/dist/WidgetCard-BX5kN_74.js.map +0 -1
  659. package/dist/WorkOrderCard-B-AMTskd.js +0 -55
  660. package/dist/WorkOrderCard-B-AMTskd.js.map +0 -1
  661. package/dist/WorkflowContainer-BTwu3z4L.js +0 -73
  662. package/dist/WorkflowContainer-Cq23yESD.js +0 -189
  663. package/dist/WorkflowContainer-Cq23yESD.js.map +0 -1
  664. package/dist/WorkflowContent-B7_Czp9q.js +0 -428
  665. package/dist/WorkflowContent-B7_Czp9q.js.map +0 -1
  666. package/dist/WorkflowTaskFlow-BCm5Iyy0.js +0 -135
  667. package/dist/WorkflowTaskFlow-BCm5Iyy0.js.map +0 -1
  668. package/dist/WorkflowTreeMenu-BtolZKVF.js +0 -347
  669. package/dist/WorkflowTreeMenu-BtolZKVF.js.map +0 -1
  670. package/dist/ZoomControl-Bud43x3A.js +0 -38
  671. package/dist/ZoomControl-Bud43x3A.js.map +0 -1
  672. package/dist/accordion-ChuOXM_i.js +0 -1
  673. package/dist/actionSummary-17wgAkD2.js +0 -255
  674. package/dist/actionSummary-17wgAkD2.js.map +0 -1
  675. package/dist/actionUtils-CLNnPiTs.js +0 -219
  676. package/dist/actionUtils-CLNnPiTs.js.map +0 -1
  677. package/dist/actions/actionSummary/index.js +0 -26
  678. package/dist/actions/index.js +0 -89
  679. package/dist/actions/sidebar/index.js +0 -12
  680. package/dist/actions/utils/index.js +0 -13
  681. package/dist/addUser-CS0LS9_W.js +0 -1
  682. package/dist/address-D8Cf2B--.js +0 -1
  683. package/dist/advancedSearchBuilder-BNE1r194.js +0 -1
  684. package/dist/aggregateUtils-DpHy5K9p.js +0 -70
  685. package/dist/aggregateUtils-DpHy5K9p.js.map +0 -1
  686. package/dist/aggrid-C3KMLJBL.js +0 -1
  687. package/dist/aggridHelpers-Dx7rjw7K.js +0 -103
  688. package/dist/aggridHelpers-Dx7rjw7K.js.map +0 -1
  689. package/dist/alerts-B--Jzz0v.js +0 -1
  690. package/dist/apiHelpers-DF2KUI11.js.map +0 -1
  691. package/dist/appSwitcher-DqliMkfh.js +0 -1
  692. package/dist/assets/index.js +0 -1
  693. package/dist/auth-DLdDsXt6.js +0 -1
  694. package/dist/axiosInterceptors-BPJXy48x.js +0 -28
  695. package/dist/axiosInterceptors-BPJXy48x.js.map +0 -1
  696. package/dist/cardList-B0bYLPWj.js +0 -1
  697. package/dist/cards-CD1BE7Mh.js +0 -76
  698. package/dist/cards-CD1BE7Mh.js.map +0 -1
  699. package/dist/catalog-DLo7sqLU.js +0 -1
  700. package/dist/catalogStore-DDyUXvDn.js +0 -30
  701. package/dist/catalogStore-DDyUXvDn.js.map +0 -1
  702. package/dist/charts-PdiOkLDF.js +0 -55
  703. package/dist/charts-PdiOkLDF.js.map +0 -1
  704. package/dist/chatBot/index.js +0 -13
  705. package/dist/chatBot-dEV9kiqk.js +0 -1
  706. package/dist/chunk-CTAAG5j7.js +0 -13
  707. package/dist/colorConverter-sleh0lAZ.js +0 -91
  708. package/dist/colorConverter-sleh0lAZ.js.map +0 -1
  709. package/dist/colors-VLk-T125.js +0 -73
  710. package/dist/colors-VLk-T125.js.map +0 -1
  711. package/dist/componentSystems/multiThreadTimeline/functions/index.js +0 -4
  712. package/dist/componentSystems/multiThreadTimeline/index.js +0 -34
  713. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +0 -28
  714. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +0 -24
  715. package/dist/componentSystems/multiThreadTimeline/ui/index.js +0 -23
  716. package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +0 -5
  717. package/dist/componentSystems/pageRenderer/hocs/index.js +0 -68
  718. package/dist/componentSystems/pageRenderer/hooks/index.js +0 -4
  719. package/dist/componentSystems/pageRenderer/index.js +0 -72
  720. package/dist/componentSystems/pageRenderer/utils/index.js +0 -4
  721. package/dist/componentSystems/pageRenderer/wrappers/index.js +0 -67
  722. package/dist/components-BpG8EmUu.js +0 -1
  723. package/dist/components-CnnFIob2.js +0 -1
  724. package/dist/configService/index.js +0 -3
  725. package/dist/constants/index.js +0 -3
  726. package/dist/containers/index.js +0 -4
  727. package/dist/containers-Cl2DkUJz.js +0 -1
  728. package/dist/contexts/index.js +0 -6
  729. package/dist/crud-C_ERd-Ed.js +0 -1
  730. package/dist/crudActions-BMP3H9Mr.js +0 -207
  731. package/dist/crudActions-BMP3H9Mr.js.map +0 -1
  732. package/dist/crudBrowser-BoZrPfr-.js +0 -1
  733. package/dist/customIcons-BzKpDhOz.js +0 -1
  734. package/dist/dashboard/index.js +0 -10
  735. package/dist/dashboard-B3PkRVxB.js +0 -1
  736. package/dist/dataBrowser/forms/index.js +0 -17
  737. package/dist/dataBrowser/index.js +0 -90
  738. package/dist/dataDisplay-BivdlLmj.js +0 -1
  739. package/dist/dataDisplay-BkAq_6Ba.js +0 -1
  740. package/dist/defaultTabs-C07t9FPZ.js +0 -43
  741. package/dist/defaultTabs-C07t9FPZ.js.map +0 -1
  742. package/dist/demos-L9SUck5b.js +0 -1
  743. package/dist/diffChecker/index.js +0 -4
  744. package/dist/directory-BmBd7DNf.js +0 -1
  745. package/dist/entities-Z3wHDYPc.js +0 -1
  746. package/dist/entityHeader-uoWltVXF.js +0 -1
  747. package/dist/enums/index.js +0 -10
  748. package/dist/feedback-CT_YIVkQ.js +0 -1
  749. package/dist/feedback-Cq3y6mnG.js +0 -1
  750. package/dist/fileViewer-DNmXMgEv.js +0 -1
  751. package/dist/floorplanFunctions-CyG-A6Ho.js +0 -1
  752. package/dist/floorplans-DCsLstCq.js +0 -1
  753. package/dist/fluentTimeline-Bw3MB61J.js +0 -1
  754. package/dist/form-B9PQSEDg.js +0 -76
  755. package/dist/form-B9PQSEDg.js.map +0 -1
  756. package/dist/formatBytes-D6vdwZ2k.js +0 -23
  757. package/dist/formatBytes-D6vdwZ2k.js.map +0 -1
  758. package/dist/forms-CTGzji9-.js +0 -1
  759. package/dist/forms-DBN5u9vQ.js +0 -1
  760. package/dist/functions-B886DHHN.js +0 -1
  761. package/dist/gridVisualizationFunctions-CgoYp935.js +0 -67
  762. package/dist/gridVisualizationFunctions-CgoYp935.js.map +0 -1
  763. package/dist/hocs-CLAAIJfF.js +0 -1
  764. package/dist/hooks/index.js +0 -63
  765. package/dist/hooks/index.js.map +0 -1
  766. package/dist/hooks-d0fHOxwg.js +0 -1
  767. package/dist/iconLibrary-DkiwUTn0.js +0 -1
  768. package/dist/iframe-qtuPeiq4.js +0 -1
  769. package/dist/input-Bd3pOKUF.js +0 -1
  770. package/dist/inquiry/dashboard/index.js +0 -29
  771. package/dist/inquiry/index.js +0 -150
  772. package/dist/inquiry/index.js.map +0 -1
  773. package/dist/inquiry/inquiryBar/index.js +0 -10
  774. package/dist/inquiry/search/index.js +0 -41
  775. package/dist/inquiryBar-cjTVuVy_.js +0 -1
  776. package/dist/inquiryStore-COAx0QBg.js +0 -39
  777. package/dist/inquiryStore-COAx0QBg.js.map +0 -1
  778. package/dist/isValueSelected-BfNYVyaD.js +0 -10
  779. package/dist/isValueSelected-BfNYVyaD.js.map +0 -1
  780. package/dist/layout/index.js +0 -14
  781. package/dist/leafletMaps-BjTYRV2R.js +0 -1
  782. package/dist/loading-BwYpS7fe.js +0 -1
  783. package/dist/lookupsStore-A8pX7cDA.js +0 -20
  784. package/dist/lookupsStore-A8pX7cDA.js.map +0 -1
  785. package/dist/maintenanceEngine/crudBrowser/index.js +0 -54
  786. package/dist/maintenanceEngine/index.js +0 -93
  787. package/dist/maintenanceEngine/tableBrowser/index.js +0 -61
  788. package/dist/maintenanceEngine/virtualBrowser/index.js +0 -77
  789. package/dist/maintenanceEngine-BiIXrgHI.js +0 -1
  790. package/dist/map-BWuSYF6e.js +0 -1
  791. package/dist/map-library/Controls/index.js +0 -31
  792. package/dist/map-library/Controls/index.js.map +0 -1
  793. package/dist/map-library/Layers/index.js +0 -4
  794. package/dist/map-library/Map/index.js +0 -8
  795. package/dist/map-library/Source/index.js +0 -34
  796. package/dist/map-library/Source/index.js.map +0 -1
  797. package/dist/map-library/functions/index.js +0 -3
  798. package/dist/map-library/geoLocation/index.js +0 -5
  799. package/dist/map-library/ui/index.js +0 -6
  800. package/dist/mapFunctions-6iGvgVF1.js +0 -32
  801. package/dist/mapFunctions-6iGvgVF1.js.map +0 -1
  802. package/dist/mapLayout-D7YBYQ7P.js +0 -1
  803. package/dist/maps/index.js +0 -16
  804. package/dist/maps/leafletMaps/index.js +0 -7
  805. package/dist/maps/leafletMaps/ui/index.js +0 -5
  806. package/dist/maps/openLayerMaps/Controls/index.js +0 -4
  807. package/dist/maps/openLayerMaps/Layers/index.js +0 -46
  808. package/dist/maps/openLayerMaps/Layers/index.js.map +0 -1
  809. package/dist/maps/openLayerMaps/Map/index.js +0 -4
  810. package/dist/maps/openLayerMaps/Source/index.js +0 -3
  811. package/dist/maps/openLayerMaps/ui/index.js +0 -6
  812. package/dist/maps-CevY6l2a.js +0 -1
  813. package/dist/menuPage/index.js +0 -56
  814. package/dist/menuUtilities-Ckh0KoGJ.js +0 -55
  815. package/dist/menuUtilities-Ckh0KoGJ.js.map +0 -1
  816. package/dist/menus-CreZRf8_.js +0 -1
  817. package/dist/menus-CwNO89uQ.js +0 -1
  818. package/dist/menus-lneAs-ot.js +0 -1
  819. package/dist/methodUtils-Bgi0VCWP.js +0 -20
  820. package/dist/methodUtils-Bgi0VCWP.js.map +0 -1
  821. package/dist/models/index.js +0 -7
  822. package/dist/modified-Cf42z6i8.js +0 -1
  823. package/dist/mttFunctions-BFUthekm.js +0 -248
  824. package/dist/mttFunctions-BFUthekm.js.map +0 -1
  825. package/dist/mttMainTimeline-D7IXpP1x.js +0 -1
  826. package/dist/mttSummary-BMkmdNju.js +0 -1
  827. package/dist/navigation-B6o0jZNc.js +0 -1
  828. package/dist/newGrid-DMD24lFv.js +0 -1
  829. package/dist/newsCard-BEEsHzuT.js +0 -1
  830. package/dist/notes/index.js +0 -40
  831. package/dist/notes-DXPGMU6E.js +0 -1
  832. package/dist/page/index.js +0 -29
  833. package/dist/page-DF9Cce_a.js +0 -1
  834. package/dist/pageEnums-CT6NFA8B.js +0 -21
  835. package/dist/pageEnums-CT6NFA8B.js.map +0 -1
  836. package/dist/paymentVendorFactoryEnum-BqXZMcQF.js +0 -38
  837. package/dist/paymentVendorFactoryEnum-BqXZMcQF.js.map +0 -1
  838. package/dist/property-BxFkD-ST.js +0 -1
  839. package/dist/propertyTypeEnums-VqSmSIfe.js +0 -15
  840. package/dist/propertyTypeEnums-VqSmSIfe.js.map +0 -1
  841. package/dist/provider-CDMCgVZv.js +0 -1
  842. package/dist/redirect-DXdJsOUE.js +0 -1
  843. package/dist/redirectToLink-B4Y9oH1K.js +0 -31
  844. package/dist/redirectToLink-B4Y9oH1K.js.map +0 -1
  845. package/dist/redirectToProduct-BHIghYZd.js +0 -9
  846. package/dist/redirectToProduct-BHIghYZd.js.map +0 -1
  847. package/dist/reminderConstants-Btqf39dU.js +0 -12
  848. package/dist/reminderConstants-Btqf39dU.js.map +0 -1
  849. package/dist/reminders/index.js +0 -45
  850. package/dist/reports/index.js +0 -12
  851. package/dist/routes/index.js +0 -8
  852. package/dist/rules-vy1m9JZd.js +0 -1
  853. package/dist/search-By3X_wDu.js +0 -1
  854. package/dist/search-CxezFXdW.js +0 -1
  855. package/dist/searchEnums-BFWywTGh.js +0 -11
  856. package/dist/searchEnums-BFWywTGh.js.map +0 -1
  857. package/dist/shell/index.js +0 -124
  858. package/dist/shell/ui/addUser/index.js +0 -23
  859. package/dist/shell/ui/appSwitcher/index.js +0 -9
  860. package/dist/shell/ui/index.js +0 -60
  861. package/dist/shellStore-Bqwtbs_K.js +0 -31
  862. package/dist/shellStore-Bqwtbs_K.js.map +0 -1
  863. package/dist/sidebar-CGs1WNkU.js +0 -1
  864. package/dist/stepper-DSXFT-Iq.js +0 -1
  865. package/dist/storage-Dzx9lS99.js +0 -1
  866. package/dist/stores/index.js +0 -10
  867. package/dist/style-DCetPHEb.js +0 -1
  868. package/dist/support-1Hknr9H-.js +0 -1
  869. package/dist/surfaces-SrimKL5h.js +0 -1
  870. package/dist/tableBrowser-BgKcSdyL.js +0 -1
  871. package/dist/tabs-HRFDrAzD.js +0 -1
  872. package/dist/tagEnums-BD6xUu3X.js +0 -11
  873. package/dist/tagEnums-BD6xUu3X.js.map +0 -1
  874. package/dist/teleporterStore-hSgRrvso.js +0 -33
  875. package/dist/teleporterStore-hSgRrvso.js.map +0 -1
  876. package/dist/templates-XRou7iKM.js +0 -1
  877. package/dist/tenant-9yY-GOUj.js +0 -1
  878. package/dist/tenantContext-Bh6_Lj9T.js +0 -8
  879. package/dist/tenantContext-Bh6_Lj9T.js.map +0 -1
  880. package/dist/tenantStore-DtqqPk4G.js +0 -20
  881. package/dist/tenantStore-DtqqPk4G.js.map +0 -1
  882. package/dist/theme-DtUeftmy.js +0 -289
  883. package/dist/theme-DtUeftmy.js.map +0 -1
  884. package/dist/ticketCard-B1ueM7V9.js +0 -1
  885. package/dist/timeline-CvlnNFik.js +0 -1
  886. package/dist/tree-n0-Yv6Oq.js +0 -1
  887. package/dist/treeMenu/index.js +0 -23
  888. package/dist/types/UI/accordion/index.d.ts +0 -3
  889. package/dist/types/UI/advancedSearchBuilder/index.d.ts +0 -3
  890. package/dist/types/UI/charts/UdpSankeyChart.d.ts +0 -12
  891. package/dist/types/UI/charts/UdpXYMultiSeriesChart.d.ts +0 -9
  892. package/dist/types/UI/components/dataDisplay/index.d.ts +0 -5
  893. package/dist/types/UI/components/feedback/index.d.ts +0 -1
  894. package/dist/types/UI/components/index.d.ts +0 -2
  895. package/dist/types/UI/containers/index.d.ts +0 -3
  896. package/dist/types/UI/dataDisplay/FluentActivity/index.d.ts +0 -4
  897. package/dist/types/UI/dataDisplay/FluentDataTable/index.d.ts +0 -3
  898. package/dist/types/UI/dataDisplay/address/index.d.ts +0 -3
  899. package/dist/types/UI/dataDisplay/cardList/index.d.ts +0 -4
  900. package/dist/types/UI/dataDisplay/directory/index.d.ts +0 -4
  901. package/dist/types/UI/dataDisplay/entityHeader/index.d.ts +0 -3
  902. package/dist/types/UI/dataDisplay/index.d.ts +0 -28
  903. package/dist/types/UI/dataDisplay/map/index.d.ts +0 -5
  904. package/dist/types/UI/dataDisplay/notes/index.d.ts +0 -4
  905. package/dist/types/UI/dataDisplay/ticketCard/index.d.ts +0 -5
  906. package/dist/types/UI/dataDisplay/typography/index.d.ts +0 -8
  907. package/dist/types/UI/dataDisplay/visualization/index.d.ts +0 -5
  908. package/dist/types/UI/demos/index.d.ts +0 -3
  909. package/dist/types/UI/feedback/index.d.ts +0 -7
  910. package/dist/types/UI/fileViewer/index.d.ts +0 -3
  911. package/dist/types/UI/floorplans/index.d.ts +0 -3
  912. package/dist/types/UI/forms/index.d.ts +0 -7
  913. package/dist/types/UI/iframe/index.d.ts +0 -3
  914. package/dist/types/UI/index.d.ts +0 -30
  915. package/dist/types/UI/inputs/buttons/index.d.ts +0 -21
  916. package/dist/types/UI/inputs/calendar/index.d.ts +0 -4
  917. package/dist/types/UI/inputs/checkbox/index.d.ts +0 -3
  918. package/dist/types/UI/inputs/datetimes/index.d.ts +0 -5
  919. package/dist/types/UI/inputs/fieldArrayCard/index.d.ts +0 -7
  920. package/dist/types/UI/inputs/link/index.d.ts +0 -4
  921. package/dist/types/UI/inputs/menus/index.d.ts +0 -7
  922. package/dist/types/UI/inputs/pickers/index.d.ts +0 -8
  923. package/dist/types/UI/inputs/radio/index.d.ts +0 -4
  924. package/dist/types/UI/inputs/richEditors/index.d.ts +0 -3
  925. package/dist/types/UI/inputs/sliders/index.d.ts +0 -3
  926. package/dist/types/UI/inputs/textField/index.d.ts +0 -9
  927. package/dist/types/UI/inputs/toggle/index.d.ts +0 -3
  928. package/dist/types/UI/loading/LoadingIndicator/index.d.ts +0 -1
  929. package/dist/types/UI/loading/index.d.ts +0 -5
  930. package/dist/types/UI/mapLayout/index.d.ts +0 -3
  931. package/dist/types/UI/maps/index.d.ts +0 -5
  932. package/dist/types/UI/navigation/index.d.ts +0 -5
  933. package/dist/types/UI/navigation/menus/index.d.ts +0 -8
  934. package/dist/types/UI/navigation/tabs/defaultTabs/index.d.ts +0 -7
  935. package/dist/types/UI/navigation/tabs/index.d.ts +0 -6
  936. package/dist/types/UI/property/index.d.ts +0 -3
  937. package/dist/types/UI/stepper/index.d.ts +0 -4
  938. package/dist/types/UI/support/index.d.ts +0 -4
  939. package/dist/types/UI/surfaces/NestedGrid/index.d.ts +0 -4
  940. package/dist/types/UI/surfaces/NestedGrid/ui/index.d.ts +0 -3
  941. package/dist/types/UI/surfaces/cards/index.d.ts +0 -18
  942. package/dist/types/UI/surfaces/cards/newsCard/index.d.ts +0 -3
  943. package/dist/types/UI/surfaces/cards/workOrderCard/index.d.ts +0 -4
  944. package/dist/types/UI/surfaces/index.d.ts +0 -5
  945. package/dist/types/UI/templates/index.d.ts +0 -15
  946. package/dist/types/UI/templates/newGrid/index.d.ts +0 -8
  947. package/dist/types/UI/templates/ui/index.d.ts +0 -7
  948. package/dist/types/UI/timeline/fluentTimeline/index.d.ts +0 -5
  949. package/dist/types/UI/timeline/index.d.ts +0 -14
  950. package/dist/types/UI/utilityDisplay/alerts/index.d.ts +0 -4
  951. package/dist/types/UI/utilityDisplay/index.d.ts +0 -20
  952. package/dist/types/UI/utilityDisplay/ui/index.d.ts +0 -3
  953. package/dist/types/UI/utilityDisplay/utilities/index.d.ts +0 -3
  954. package/dist/types/UI/utilityDisplay/utilityHeader/index.d.ts +0 -7
  955. package/dist/types/UI/widgets/index.d.ts +0 -4
  956. package/dist/types/actions/index.d.ts +0 -13
  957. package/dist/types/actions/sidebar/index.d.ts +0 -3
  958. package/dist/types/actions/utils/index.d.ts +0 -3
  959. package/dist/types/assets/index.d.ts +0 -2
  960. package/dist/types/chatBot/index.d.ts +0 -4
  961. package/dist/types/componentSystems/multiThreadTimeline/functions/index.d.ts +0 -3
  962. package/dist/types/componentSystems/multiThreadTimeline/index.d.ts +0 -7
  963. package/dist/types/componentSystems/multiThreadTimeline/mttMainTimeline/index.d.ts +0 -5
  964. package/dist/types/componentSystems/multiThreadTimeline/mttSummary/index.d.ts +0 -3
  965. package/dist/types/componentSystems/multiThreadTimeline/ui/index.d.ts +0 -20
  966. package/dist/types/componentSystems/multiThreadTimeline/ui/modified/index.d.ts +0 -3
  967. package/dist/types/componentSystems/pageRenderer/hocs/index.d.ts +0 -3
  968. package/dist/types/componentSystems/pageRenderer/hooks/index.d.ts +0 -3
  969. package/dist/types/componentSystems/pageRenderer/index.d.ts +0 -7
  970. package/dist/types/componentSystems/pageRenderer/utils/index.d.ts +0 -3
  971. package/dist/types/componentSystems/pageRenderer/wrappers/index.d.ts +0 -10
  972. package/dist/types/configService/index.d.ts +0 -1
  973. package/dist/types/constants/index.d.ts +0 -3
  974. package/dist/types/containers/index.d.ts +0 -3
  975. package/dist/types/contexts/index.d.ts +0 -8
  976. package/dist/types/dashboard/index.d.ts +0 -7
  977. package/dist/types/dataBrowser/forms/index.d.ts +0 -6
  978. package/dist/types/dataBrowser/index.d.ts +0 -5
  979. package/dist/types/diffChecker/index.d.ts +0 -3
  980. package/dist/types/enums/index.d.ts +0 -12
  981. package/dist/types/hooks/index.d.ts +0 -21
  982. package/dist/types/inquiry/dashboard/index.d.ts +0 -4
  983. package/dist/types/inquiry/index.d.ts +0 -23
  984. package/dist/types/inquiry/inquiryBar/index.d.ts +0 -4
  985. package/dist/types/inquiry/search/index.d.ts +0 -7
  986. package/dist/types/layout/index.d.ts +0 -9
  987. package/dist/types/maintenanceEngine/crudBrowser/index.d.ts +0 -6
  988. package/dist/types/maintenanceEngine/index.d.ts +0 -6
  989. package/dist/types/maintenanceEngine/tableBrowser/index.d.ts +0 -4
  990. package/dist/types/maintenanceEngine/virtualBrowser/index.d.ts +0 -5
  991. package/dist/types/map-library/functions/index.d.ts +0 -3
  992. package/dist/types/map-library/geoLocation/index.d.ts +0 -4
  993. package/dist/types/map-library/ui/index.d.ts +0 -12
  994. package/dist/types/maps/index.d.ts +0 -4
  995. package/dist/types/maps/leafletMaps/index.d.ts +0 -5
  996. package/dist/types/maps/leafletMaps/ui/index.d.ts +0 -4
  997. package/dist/types/maps/openLayerMaps/ui/index.d.ts +0 -9
  998. package/dist/types/menuPage/CustomMenuPage.d.ts +0 -22
  999. package/dist/types/menuPage/index.d.ts +0 -3
  1000. package/dist/types/models/index.d.ts +0 -8
  1001. package/dist/types/notes/index.d.ts +0 -3
  1002. package/dist/types/page/index.d.ts +0 -8
  1003. package/dist/types/reminders/index.d.ts +0 -5
  1004. package/dist/types/reports/index.d.ts +0 -3
  1005. package/dist/types/routes/index.d.ts +0 -4
  1006. package/dist/types/shell/index.d.ts +0 -4
  1007. package/dist/types/shell/ui/addUser/index.d.ts +0 -6
  1008. package/dist/types/shell/ui/appSwitcher/index.d.ts +0 -9
  1009. package/dist/types/shell/ui/index.d.ts +0 -17
  1010. package/dist/types/stores/index.d.ts +0 -10
  1011. package/dist/types/treeMenu/index.d.ts +0 -4
  1012. package/dist/types/udp/ShortcutContent/index.d.ts +0 -4
  1013. package/dist/types/udp/export/index.d.ts +0 -6
  1014. package/dist/types/udp/fileImportMapping/index.d.ts +0 -8
  1015. package/dist/types/udp/pages/index.d.ts +0 -20
  1016. package/dist/types/udp/utilities/index.d.ts +0 -3
  1017. package/dist/types/uploader/index.d.ts +0 -7
  1018. package/dist/types/utilities/DemoJuly/index.d.ts +0 -3
  1019. package/dist/types/utilities/aggrid/index.d.ts +0 -6
  1020. package/dist/types/utilities/auth/index.d.ts +0 -17
  1021. package/dist/types/utilities/catalog/index.d.ts +0 -3
  1022. package/dist/types/utilities/chatBot/index.d.ts +0 -5
  1023. package/dist/types/utilities/crud/index.d.ts +0 -3
  1024. package/dist/types/utilities/customIcons/index.d.ts +0 -4
  1025. package/dist/types/utilities/entities/index.d.ts +0 -3
  1026. package/dist/types/utilities/floorplanFunctions/index.d.ts +0 -3
  1027. package/dist/types/utilities/iconLibrary/SvgIcon.d.ts +0 -12
  1028. package/dist/types/utilities/iconLibrary/index.d.ts +0 -5
  1029. package/dist/types/utilities/index.d.ts +0 -44
  1030. package/dist/types/utilities/input/index.d.ts +0 -5
  1031. package/dist/types/utilities/maintenanceEngine/index.d.ts +0 -3
  1032. package/dist/types/utilities/menus/index.d.ts +0 -4
  1033. package/dist/types/utilities/page/index.d.ts +0 -3
  1034. package/dist/types/utilities/provider/index.d.ts +0 -3
  1035. package/dist/types/utilities/redirect/index.d.ts +0 -4
  1036. package/dist/types/utilities/rules/index.d.ts +0 -3
  1037. package/dist/types/utilities/search/index.d.ts +0 -4
  1038. package/dist/types/utilities/storage/index.d.ts +0 -3
  1039. package/dist/types/utilities/style/index.d.ts +0 -6
  1040. package/dist/types/utilities/tenant/index.d.ts +0 -5
  1041. package/dist/types/utilities/tree/index.d.ts +0 -3
  1042. package/dist/types/utilities/uploader/index.d.ts +0 -7
  1043. package/dist/types/utilities/utilityBar/index.d.ts +0 -8
  1044. package/dist/types/utilities/workflow/index.d.ts +0 -3
  1045. package/dist/types/workflow/components/index.d.ts +0 -3
  1046. package/dist/types/workflow/index.d.ts +0 -7
  1047. package/dist/types/workflow/menus/index.d.ts +0 -4
  1048. package/dist/typography-BUD73n7-.js +0 -1
  1049. package/dist/udp/ShortcutContent/index.js +0 -20
  1050. package/dist/udp/export/index.js +0 -73
  1051. package/dist/udp/fileImportMapping/index.js +0 -120
  1052. package/dist/udp/fileImportMapping/index.js.map +0 -1
  1053. package/dist/udp/pages/index.js +0 -136
  1054. package/dist/udp/utilities/index.js +0 -3
  1055. package/dist/udp-stepper-gArKLLan.js +0 -11
  1056. package/dist/udp-stepper-gArKLLan.js.map +0 -1
  1057. package/dist/udpPages-D6t7REhp.js +0 -2426
  1058. package/dist/udpPages-D6t7REhp.js.map +0 -1
  1059. package/dist/ui-5ngIc6S4.js +0 -1
  1060. package/dist/ui-C4SYLrHn.js +0 -1
  1061. package/dist/ui-CMEdOOxm.js +0 -1
  1062. package/dist/ui-GKTg3I2L.js +0 -1
  1063. package/dist/ui-Qt0TiwMS.js +0 -1
  1064. package/dist/ui-z-P1tNCJ.js +0 -19
  1065. package/dist/ui-z-P1tNCJ.js.map +0 -1
  1066. package/dist/unitySystemEnums-BIMR5AWe.js +0 -284
  1067. package/dist/unitySystemEnums-BIMR5AWe.js.map +0 -1
  1068. package/dist/uploader/index.js +0 -107
  1069. package/dist/uploader/index.js.map +0 -1
  1070. package/dist/uploader-DSBUHOEF.js +0 -1
  1071. package/dist/useActions-CKdp6TpD.js +0 -205
  1072. package/dist/useActions-CKdp6TpD.js.map +0 -1
  1073. package/dist/useApiCatalog-Cz8Sz4-r.js +0 -62
  1074. package/dist/useApiCatalog-Cz8Sz4-r.js.map +0 -1
  1075. package/dist/useAuthedUser-BbuZ-TTz.js +0 -34
  1076. package/dist/useAuthedUser-BbuZ-TTz.js.map +0 -1
  1077. package/dist/useAxiosGet-VY6m2qeW.js +0 -77
  1078. package/dist/useAxiosGet-VY6m2qeW.js.map +0 -1
  1079. package/dist/useChatBot-CFYM_uhz.js +0 -11
  1080. package/dist/useChatBot-CFYM_uhz.js.map +0 -1
  1081. package/dist/useDateLocale-8adyBxX8.js +0 -159
  1082. package/dist/useDateLocale-8adyBxX8.js.map +0 -1
  1083. package/dist/useDefaultFormValues-DvWSqhBl.js +0 -14
  1084. package/dist/useDefaultFormValues-DvWSqhBl.js.map +0 -1
  1085. package/dist/useDynamicListCalculation-C5eylOXb.js +0 -42
  1086. package/dist/useDynamicListCalculation-C5eylOXb.js.map +0 -1
  1087. package/dist/useFluentIcon-CfE2FQgB.js +0 -14
  1088. package/dist/useFluentIcon-CfE2FQgB.js.map +0 -1
  1089. package/dist/useGravatar-CbLAVn5R.js +0 -49
  1090. package/dist/useGravatar-CbLAVn5R.js.map +0 -1
  1091. package/dist/useId-Dfv7qFlj.js +0 -23
  1092. package/dist/useId-Dfv7qFlj.js.map +0 -1
  1093. package/dist/useIsUnityAuthenticated-n3QuDnIj.js +0 -10
  1094. package/dist/useIsUnityAuthenticated-n3QuDnIj.js.map +0 -1
  1095. package/dist/useItemSubCard-BxxyLSUY.js +0 -41
  1096. package/dist/useItemSubCard-BxxyLSUY.js.map +0 -1
  1097. package/dist/usePageContext-BSM5LtIY.js +0 -9
  1098. package/dist/usePageContext-BSM5LtIY.js.map +0 -1
  1099. package/dist/usePrevious-BAOvZhl7.js +0 -14
  1100. package/dist/usePrevious-BAOvZhl7.js.map +0 -1
  1101. package/dist/usePromotedMethodEntities-2_2h0W8f.js +0 -97
  1102. package/dist/usePromotedMethodEntities-2_2h0W8f.js.map +0 -1
  1103. package/dist/usePromotedMethodEntity-B50E6rbB.js +0 -90
  1104. package/dist/usePromotedMethodEntity-B50E6rbB.js.map +0 -1
  1105. package/dist/useQueryExecutors-qe-LOeaq.js +0 -149
  1106. package/dist/useQueryExecutors-qe-LOeaq.js.map +0 -1
  1107. package/dist/useReadMetaData-CxjwewcJ.js +0 -31
  1108. package/dist/useReadMetaData-CxjwewcJ.js.map +0 -1
  1109. package/dist/useSearchFilterParamsMap-C2uVXRCY.js +0 -131
  1110. package/dist/useSearchFilterParamsMap-C2uVXRCY.js.map +0 -1
  1111. package/dist/useSetLocationState-BGgFvNVh.js +0 -25
  1112. package/dist/useSetLocationState-BGgFvNVh.js.map +0 -1
  1113. package/dist/useSingleLogout-DeHKk6v6.js +0 -272
  1114. package/dist/useSingleLogout-DeHKk6v6.js.map +0 -1
  1115. package/dist/useSplitDecimal-DWG5FyYU.js +0 -24
  1116. package/dist/useSplitDecimal-DWG5FyYU.js.map +0 -1
  1117. package/dist/useTenant-BGWpH8AX.js +0 -11
  1118. package/dist/useTenant-BGWpH8AX.js.map +0 -1
  1119. package/dist/useUdpExport-Bg3Dwia8.js +0 -336
  1120. package/dist/useUdpExport-Bg3Dwia8.js.map +0 -1
  1121. package/dist/useUpdateSearchParams-CKTTs6Zx.js +0 -23
  1122. package/dist/useUpdateSearchParams-CKTTs6Zx.js.map +0 -1
  1123. package/dist/useUser-Cn88hlN_.js +0 -21
  1124. package/dist/useUser-Cn88hlN_.js.map +0 -1
  1125. package/dist/users-B6uc96Ts.js +0 -46
  1126. package/dist/users-B6uc96Ts.js.map +0 -1
  1127. package/dist/utilities/DemoJuly/index.js +0 -4
  1128. package/dist/utilities/aggrid/index.js +0 -10
  1129. package/dist/utilities/auth/index.js +0 -21
  1130. package/dist/utilities/catalog/index.js +0 -4
  1131. package/dist/utilities/chatBot/index.js +0 -7
  1132. package/dist/utilities/crud/index.js +0 -5
  1133. package/dist/utilities/customIcons/index.js +0 -4
  1134. package/dist/utilities/entities/index.js +0 -5
  1135. package/dist/utilities/floorplanFunctions/index.js +0 -4
  1136. package/dist/utilities/form/index.js +0 -6
  1137. package/dist/utilities/iconLibrary/index.js +0 -9
  1138. package/dist/utilities/index.js +0 -159
  1139. package/dist/utilities/input/index.js +0 -6
  1140. package/dist/utilities/maintenanceEngine/index.js +0 -4
  1141. package/dist/utilities/menus/index.js +0 -7
  1142. package/dist/utilities/page/index.js +0 -4
  1143. package/dist/utilities/provider/index.js +0 -94
  1144. package/dist/utilities/redirect/index.js +0 -5
  1145. package/dist/utilities/rules/index.js +0 -4
  1146. package/dist/utilities/search/index.js +0 -6
  1147. package/dist/utilities/storage/index.js +0 -4
  1148. package/dist/utilities/style/index.js +0 -7
  1149. package/dist/utilities/tenant/index.js +0 -14
  1150. package/dist/utilities/tree/index.js +0 -10
  1151. package/dist/utilities/uploader/index.js +0 -6
  1152. package/dist/utilities/utilityBar/index.js +0 -8
  1153. package/dist/utilities/workflow/index.js +0 -6
  1154. package/dist/utilities-C8yTJ1rO.js +0 -1
  1155. package/dist/utilityBar-BgOu4S_x.js +0 -1
  1156. package/dist/utilityDisplay-B2kppcKk.js +0 -1
  1157. package/dist/utilityHeader-B9G8SBPx.js +0 -1
  1158. package/dist/utils-BWi9Cg7u.js +0 -1
  1159. package/dist/utils-BaVKyFU8.js +0 -1
  1160. package/dist/verticalStyles-CNJRNnZb.js +0 -141
  1161. package/dist/verticalStyles-CNJRNnZb.js.map +0 -1
  1162. package/dist/virtualActions-B-cs7Mxr.js +0 -84
  1163. package/dist/virtualActions-B-cs7Mxr.js.map +0 -1
  1164. package/dist/virtualBrowser-DjU3bOv0.js +0 -1
  1165. package/dist/visualization-C71zC7Zo.js +0 -1
  1166. package/dist/widgets-BOvBco5h.js +0 -1
  1167. package/dist/widgets-C-lZrGAQ.js +0 -281
  1168. package/dist/widgets-C-lZrGAQ.js.map +0 -1
  1169. package/dist/withEngineComponent-5X9IoTXz.js +0 -28
  1170. package/dist/withEngineComponent-5X9IoTXz.js.map +0 -1
  1171. package/dist/workOrderCard-Cq8NIxl6.js +0 -1
  1172. package/dist/workflow/components/index.js +0 -6
  1173. package/dist/workflow/index.js +0 -75
  1174. package/dist/workflow/menus/index.js +0 -24
  1175. package/dist/workflow-Cy4leS9X.js +0 -1
  1176. package/dist/workflowEnums-xHM1JN6x.js +0 -48
  1177. package/dist/workflowEnums-xHM1JN6x.js.map +0 -1
  1178. package/dist/workflowStore-PaHzw4YO.js +0 -25
  1179. package/dist/workflowStore-PaHzw4YO.js.map +0 -1
  1180. package/dist/workflowUtilities-DpW6oHRe.js +0 -152
  1181. package/dist/workflowUtilities-DpW6oHRe.js.map +0 -1
  1182. package/dist/wrappers-Bvf3DVNC.js +0 -1
  1183. package/export-map.json +0 -779
  1184. /package/dist/types/UI/loading/{LoadingIndicator/LoadingIndicator.d.ts → LoadingIndicator.d.ts} +0 -0
  1185. /package/dist/types/utilities/{iconLibrary/FluentIcon.d.ts → FluentIcon.d.ts} +0 -0
  1186. /package/dist/types/utilities/{iconLibrary/UnityFluentIcon.d.ts → UnityFluentIcon.d.ts} +0 -0
  1187. /package/dist/types/utilities/{iconLibrary/UnityIcon.d.ts → UnityIcon.d.ts} +0 -0
@@ -0,0 +1 @@
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":"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"}
@@ -1,22 +1,14 @@
1
- import { getPathObject } from "./CrudBrowserUtilities-Cm_FNdfE.js";
2
- import { useHandleAxiosSnackbar } from "./apiHelpers-DF2KUI11.js";
3
- import { useUser } from "./useUser-Cn88hlN_.js";
4
- import { useAxiosMutate } from "./useAxiosMutate-BNEb4J04.js";
5
- import { toTitleCase } from "./StringUtilities-DyjYA5pU.js";
6
- import { getSanitizedName } from "./entityUtilities-D7_FeTEd.js";
7
- import { UdpEnums } from "./unitySystemEnums-BIMR5AWe.js";
8
- import { PrimaryActionButton_default } from "./PrimaryActionButton-CQXyHAeG.js";
9
- import { LayoutUnit } from "./LayoutUnit-fGVQwt6Y.js";
10
- import { SideSheet } from "./SideSheet-BhKZOd2G.js";
11
- import { useAxiosGet } from "./useAxiosGet-VY6m2qeW.js";
12
- import { PageContainer } from "./PageContainer-Cvw3n3k2.js";
13
- import { useSetLocationState } from "./useSetLocationState-BGgFvNVh.js";
14
- import { executeQueryWithParameters } from "./methodUtils-Bgi0VCWP.js";
15
- import { useBuildEnvironment } from "./EnvironmentRibbon-CPm8YnJ4.js";
16
- import { ActionsRenderer, AmbientGridTemplate } from "./AmbientGridTemplate-VQA7Q_L7.js";
17
- import { VirtualForm } from "./VirtualForm-DlTtINdK.js";
1
+ import { ActionsRenderer, AmbientGridTemplate, findTermByType, getPathObject } from "./AmbientGridTemplate-Ch1eLyEu.js";
2
+ import { Field, Form, SideSheet } from "./SideSheet-D48-jzNi.js";
3
+ import { LayoutUnit, PrimaryActionButton_default, UdpEnums, executeQueryWithParameters, useBuildEnvironment } from "./EnvironmentRibbon-OD01SY9G.js";
4
+ import { DateTimeField, FluentToggle, FormButtons, PropertyTypeEnum, SubmitButton } from "./propertyTypeEnums-BfQfG6sp.js";
5
+ import { useHandleAxiosSnackbar } from "./apiHelpers-DZPI1QCL.js";
6
+ import { toLowerFirstChar, toTitleCase, useAxiosGet, useUser } from "./useAxiosGet-Bi4Z0b8W.js";
7
+ import { useAxiosMutate } from "./useAxiosMutate-pB7OdGIa.js";
8
+ import { getSanitizedName } from "./entityUtilities-Hohniu0Q.js";
9
+ import { PageContainer, useSetLocationState } from "./PageContainer-BxChq1eP.js";
18
10
  import React, { useCallback, useEffect, useMemo, useState } from "react";
19
- import { Divider, Typography, makeStyles } from "@material-ui/core";
11
+ import { Divider, FormControlLabel, TextField, Typography, makeStyles } from "@material-ui/core";
20
12
  import { ConfigService } from "udp-react-stencil-component-library";
21
13
  import { useLocation } from "react-router-dom";
22
14
  import { AddIcon, DeleteIcon, EditIcon } from "@fluentui/react-icons";
@@ -63,13 +55,135 @@ const VirtualTableColumnDefs = (tableDescription, actionList, columnName = "Acti
63
55
  });
64
56
  return columnDefs;
65
57
  };
66
- const defaultColActionsDef = {
67
- resizable: true,
68
- editable: false,
69
- sortable: true,
70
- filter: true,
71
- floatingFilter: false,
72
- enableRowGroup: true
58
+
59
+ //#endregion
60
+ //#region src/hooks/virtualActions.jsx
61
+ function useVirtualActions() {
62
+ return { renderInputByFieldType: useCallback((formField, index, virtualTableFormData, classes) => {
63
+ const NUMBER_TYPE = [
64
+ PropertyTypeEnum.Int,
65
+ PropertyTypeEnum.Long,
66
+ PropertyTypeEnum.Double
67
+ ];
68
+ if (formField.type === "boolean" && virtualTableFormData[toLowerFirstChar(formField.name)] === "") virtualTableFormData[toLowerFirstChar(formField.name)] = false;
69
+ const fieldType = formField.type?.toLowerCase();
70
+ let fieldIsNumberType = NUMBER_TYPE.includes(fieldType);
71
+ const DefaultTextField = /* @__PURE__ */ React.createElement(Field, {
72
+ component: TextField,
73
+ id: `${formField.name}${index}`,
74
+ name: toLowerFirstChar(formField.name),
75
+ label: toTitleCase(formField.name),
76
+ initialValue: virtualTableFormData[toLowerFirstChar(formField.name)] || "",
77
+ type: fieldIsNumberType && "number",
78
+ fullWidth: true,
79
+ variant: "outlined",
80
+ size: "small",
81
+ required: !formField?.nullable,
82
+ margin: "dense",
83
+ InputProps: { classes: {
84
+ root: classes?.input,
85
+ input: classes?.formTextInput
86
+ } },
87
+ InputLabelProps: { classes: { root: classes?.labelRoot } },
88
+ disabled: formField?.disabled
89
+ });
90
+ const DefaultFluentToggle = /* @__PURE__ */ React.createElement(FormControlLabel, {
91
+ control: /* @__PURE__ */ React.createElement(Field, {
92
+ component: FluentToggle,
93
+ type: "checkbox",
94
+ id: `${formField.name}${index}`,
95
+ name: toLowerFirstChar(formField.name),
96
+ label: toTitleCase(formField.name),
97
+ initialValue: typeof virtualTableFormData[toLowerFirstChar(formField.name)] === "boolean" ? virtualTableFormData[toLowerFirstChar(formField.name)] : virtualTableFormData[toLowerFirstChar(formField.name)] === "true" ? true : false,
98
+ disabled: formField?.disabled,
99
+ classes: { root: classes?.switchRoot },
100
+ color: "secondary",
101
+ inputProps: { "aria-label": "Active condition" }
102
+ }),
103
+ label: toTitleCase(formField.name),
104
+ labelPlacement: "start",
105
+ style: { marginLeft: 4 }
106
+ });
107
+ switch (fieldType.toLowerCase()) {
108
+ case findTermByType(fieldType, "int"):
109
+ case findTermByType(fieldType, "long"):
110
+ case findTermByType(fieldType, "double"):
111
+ case findTermByType(fieldType, "string"):
112
+ case findTermByType(fieldType, "string uuid"): return DefaultTextField;
113
+ case findTermByType(fieldType, "boolean"): return DefaultFluentToggle;
114
+ case findTermByType(fieldType, "datetime"): return /* @__PURE__ */ React.createElement(Field, {
115
+ disabled: formField?.disabled,
116
+ component: DateTimeField,
117
+ id: `${formField.name}${index}`,
118
+ name: toLowerFirstChar(formField.name),
119
+ label: toTitleCase(formField.name),
120
+ initialValue: virtualTableFormData[toLowerFirstChar(formField.name)] ? new Date(virtualTableFormData[toLowerFirstChar(formField.name)]) : "",
121
+ fullWidth: true,
122
+ variant: "outlined",
123
+ size: "small",
124
+ required: !formField?.nullable,
125
+ style: { marginTop: 8 }
126
+ });
127
+ default: return null;
128
+ }
129
+ }, []) };
130
+ }
131
+
132
+ //#endregion
133
+ //#region src/UI/forms/VirtualForm.jsx
134
+ const useStyles$1 = makeStyles((theme) => ({
135
+ actions: {
136
+ marginTop: theme.spacing(2),
137
+ marginBottom: theme.spacing(2),
138
+ display: "flex",
139
+ flexDirection: "row"
140
+ },
141
+ title: { flexGrow: 1 },
142
+ subject: {
143
+ marginLeft: theme.spacing(1),
144
+ display: "flex",
145
+ flexDirection: "row",
146
+ flexGrow: 1
147
+ },
148
+ switchRoot: { marginLeft: theme.spacing(1) },
149
+ input: {
150
+ height: 34,
151
+ padding: 0
152
+ },
153
+ formTextInput: { fontSize: 13 },
154
+ labelRoot: { fontSize: 13 }
155
+ }));
156
+ const VirtualForm = (props) => {
157
+ const { tableDescription, rowValue, closeSideSheet, onCreate, onUpdate } = props;
158
+ const { renderInputByFieldType } = useVirtualActions();
159
+ const [virtualTableFormData, setVirtualTableFormData] = useState(rowValue || {});
160
+ const classes = useStyles$1();
161
+ const handleSubmit = async (values) => {
162
+ let newTableData = {
163
+ ...virtualTableFormData,
164
+ ...values
165
+ };
166
+ if (!rowValue) onCreate && await onCreate(newTableData);
167
+ else onUpdate && await onUpdate(newTableData);
168
+ closeSideSheet && closeSideSheet();
169
+ };
170
+ return /* @__PURE__ */ React.createElement(Form, { onSubmit: handleSubmit }, /* @__PURE__ */ React.createElement("div", null, tableDescription?.map((formField, index) => {
171
+ return /* @__PURE__ */ React.createElement(React.Fragment, { key: `${formField.name}-${index}` }, /* @__PURE__ */ React.createElement(Typography, {
172
+ variant: "subtitle2",
173
+ style: { marginTop: 8 }
174
+ }, formField.friendlyName), renderInputByFieldType(formField, index, virtualTableFormData, classes));
175
+ })), /* @__PURE__ */ React.createElement(FormButtons, null, /* @__PURE__ */ React.createElement(SubmitButton, {
176
+ variant: "contained",
177
+ color: "secondary",
178
+ disablePristine: false,
179
+ disabled: false,
180
+ style: { marginTop: 15 }
181
+ }, "Save")));
182
+ };
183
+ VirtualForm.propTypes = {
184
+ closeSideSheet: PropTypes.func,
185
+ onCreate: PropTypes.func,
186
+ onUpdate: PropTypes.func
73
187
  };
74
188
 
75
189
  //#endregion
@@ -204,11 +318,10 @@ const VirtualBrowser = (props) => {
204
318
  }, [tableDescription, entityName]);
205
319
  const handleOnCreate = useCallback(async (values) => {
206
320
  if (selectedEntity?.unityBaseVirtualCreateMethod) {
207
- const data = {
321
+ if ((await executeQueryWithParameters({ data: {
208
322
  requestBody: constructVirtualValuesForRequest(values),
209
323
  id: virtualId
210
- };
211
- if ((await executeQueryWithParameters({ data }, selectedEntity.unityBaseVirtualCreateMethod.apiMethodId).catch((res) => {
324
+ } }, selectedEntity.unityBaseVirtualCreateMethod.apiMethodId).catch((res) => {
212
325
  handleErrorSnackbar(res.message);
213
326
  }))?.status === 200) {
214
327
  handleSuccessSnackbar(t(`Row has been created`));
@@ -420,8 +533,7 @@ const VirtualBrowser = (props) => {
420
533
  ...other
421
534
  }), SideOptionList);
422
535
  };
423
- var VirtualBrowser_default = VirtualBrowser;
424
536
 
425
537
  //#endregion
426
- export { VirtualBrowser, VirtualBrowser_default, VirtualTableColumnDefs, VirtualTableSidePanel, defaultColActionsDef };
427
- //# sourceMappingURL=VirtualBrowser-BansR6-F.js.map
538
+ export { VirtualBrowser };
539
+ //# sourceMappingURL=VirtualBrowser-CiD8XKsM.js.map