udp-react-enterprise-component-library 25.14.1-beta.9 → 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 -32
  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 -5
  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-UnnTFapw.js +0 -2988
  352. package/dist/Inquiry-UnnTFapw.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-D4tvTXC3.js +0 -56
  394. package/dist/MenuPage-DJGGAhH5.js +0 -227
  395. package/dist/MenuPage-DJGGAhH5.js.map +0 -1
  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-CZIS-LvO.js +0 -273
  477. package/dist/Shell-CZIS-LvO.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-Bjfl5no0.js +0 -110
  628. package/dist/UdpRoutes-Bjfl5no0.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-otYqGPhu.js +0 -95
  650. package/dist/UtilitySideBar-otYqGPhu.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-C5zXxhJE.js +0 -189
  662. package/dist/WorkflowContainer-C5zXxhJE.js.map +0 -1
  663. package/dist/WorkflowContainer-D0Od__D5.js +0 -73
  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 -9
  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 -780
  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":"AmbientGridTemplate-Ch1eLyEu.js","names":["apiMutate","useCatalogStore: () => CatalogState","apiMutate","useStyles","useStyles","useStyles","useStyles","AmbientTokenButton","useStyles","useStyles","useStyles","AmbientToggleButton","withStyles","useStyles","AmbientToggleButtonGroupDefault","useStyles","ArrowDropDownIcon","useStyles","globalModules: Module[]","AgTableButtons: FC<AgTableButttonsProps>","allColumnIds: string[]","AgTable: FC<AgTableProps>","calculateRowHeight: (\n params: RowHeightParams\n ) => number | null | undefined","useStyles","useStyles","AmbientChipButton","useStyles","PrimaryActionButton","useStyles","deleteGridState","useStyles","apiMutate","useStyles","makeStyles","visibleChildren","menuChildren","children","child","ref","useStyles","makeStyles","Chip","Divider","Tooltip","Typography","useStyles","useStyles","onClick","useStyles","makeStyles","useTheme","useStyles","Chip","SearchOperators: Array<SearchOperator>","value","apiMutate","GridViewsSideSheet"],"sources":["../src/AGLicense.js","../src/utilities/maintenanceEngine/CrudBrowserUtilities.js","../src/contexts/ActionDispatchContext.js","../src/contexts/ActionContext.js","../src/UI/SuccessAction.jsx","../src/stores/actionStore.ts","../src/stores/inquiryStore.ts","../src/actions/utils/actionUtils.js","../src/contexts/ActionLoadingDispatchContext.js","../src/stores/catalogStore.ts","../src/hooks/useActions.js","../src/UI/inputs/textField/AmbientTextField.jsx","../src/utilities/style/utils/styleUtils.js","../src/UI/components/dataDisplay/Ellipse.jsx","../src/UI/templates/ui/GridSidebarContainer.jsx","../src/UI/inputs/buttons/AmbientTokenButton.jsx","../src/UI/templates/ui/GridGroupingHeader.jsx","../src/UI/components/dataDisplay/Token.jsx","../src/UI/inputs/buttons/AmbientToggleButton.jsx","../src/utilities/isValueSelected.js","../src/UI/inputs/buttons/AmbientToggleButtonGroupDefault.jsx","../src/UI/templates/ui/GridGroupingSidebar.jsx","../src/utilities/aggrid/SplitButton.jsx","../src/utilities/aggrid/AgTable.tsx","../src/UI/utilityDisplay/GridActionBar.jsx","../src/UI/inputs/buttons/AmbientChipButton.jsx","../src/UI/utilityDisplay/GridPrimaryBar.jsx","../src/UI/feedback/FluentDialog.jsx","../src/utilities/aggrid/GridFunctions.js","../src/UI/utilityDisplay/SaveViewFormDialog.jsx","../src/hooks/useDynamicListCalculation.jsx","../src/UI/containers/DynamicContainerWithMenu.jsx","../src/UI/utilityDisplay/ChipSection.jsx","../src/UI/inputs/buttons/IconButtonWithToolTip.jsx","../src/UI/templates/ui/renderers/ActionsRenderer.jsx","../src/UI/dataDisplay/HintPanel.jsx","../src/UI/utilityDisplay/GridViewsSideSheet.jsx","../src/UI/utilityDisplay/BulkActionsGridButton.jsx","../src/models/SearchOperator.ts","../src/UI/templates/AmbientGridTemplate.jsx"],"sourcesContent":["export const LicenseKey =\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694';\n","const RESERVED_PATH_PARAMETERS = ['version', 'udp-api-version'];\n\nexport const getPrimaryKeyValues = (properties, entityValue) => {\n const primaryKeyProperties = properties.filter(\n (property) => property?.extendedProperties?.identifier\n );\n const primaryKeyValues = primaryKeyProperties.reduce(\n (keyValues, property) => {\n if (entityValue && entityValue[property['name']] !== null) {\n keyValues.push(entityValue[property['name']]);\n }\n return keyValues;\n },\n []\n );\n return primaryKeyValues;\n};\n\nexport const getPathObject = (pathParameters, primaryKeyValues) => {\n const primaryKeyParameters = pathParameters.filter(\n (parameter) => parameter.name !== RESERVED_PATH_PARAMETERS\n );\n\n const pathObject = {};\n if (primaryKeyParameters.length && primaryKeyValues.length) {\n primaryKeyParameters.forEach((pkp, index) => {\n pathObject[`{${pkp.name}}`] = primaryKeyValues[index];\n });\n }\n return pathObject;\n};\n\nexport const findTermByType = (fieldType, term) => {\n if (fieldType.toLowerCase() === term) {\n return fieldType.toLowerCase();\n } else {\n return '';\n }\n};\n\nconst getModelProperties = (model, componentsObj) => {\n let modelPropertiesObj = null;\n if (model) {\n modelPropertiesObj = model.properties;\n if (!modelPropertiesObj) {\n const refKeys = [];\n if (model['allOf']?.length) {\n model['allOf'].forEach((reference) => {\n if (reference['$ref']) {\n const refString = reference['$ref'];\n if (refString) {\n const lastIndex = refString.lastIndexOf('/');\n const referenceModel = refString.substring(lastIndex + 1);\n refKeys.push(referenceModel);\n }\n }\n });\n }\n refKeys.forEach((key) => {\n const abstractModel = componentsObj[key];\n if (modelPropertiesObj && abstractModel?.properties) {\n modelPropertiesObj = {\n ...modelPropertiesObj,\n ...abstractModel.properties\n };\n } else {\n modelPropertiesObj = abstractModel?.properties;\n }\n });\n }\n }\n return modelPropertiesObj;\n};\n\nexport const getEntityAttributes = (catalog, entityName) => {\n if (!catalog) {\n return [];\n }\n const catalogObjectList = catalog?.ctlg?.catalogObjectList;\n const componentsObj = catalog?.ctlg?.components;\n const entity = catalogObjectList?.find(\n (catalogObject) => catalogObject.catalogObjectName === entityName\n );\n\n if (!!componentsObj && Object.keys(componentsObj).length) {\n const model = componentsObj[entityName];\n let modelPropertiesObj = getModelProperties(model, componentsObj);\n if (entity?.properties?.length) {\n entity.properties.forEach((property) => {\n let nullable = true;\n if (modelPropertiesObj) {\n const modelProperty = modelPropertiesObj[property['name']];\n if (modelProperty) {\n nullable = modelProperty.nullable || false;\n }\n }\n property['nullable'] = nullable;\n });\n }\n }\n\n return entity ? entity.properties : [];\n};\n\nexport const getPathParametersObj = (pathParametersDefinition, entityData) => {\n if (!pathParametersDefinition || !entityData) return {};\n \n const pathParametersObj = {};\n\n for (let param of pathParametersDefinition) {\n pathParametersObj[param.name] = entityData[param.name];\n }\n\n return pathParametersObj;\n};\n","import { createContext } from 'react';\n\nexport const ActionDispatchContext = createContext(null);\n","import { createContext } from 'react';\n\nexport const ActionContext = createContext(null);\n","import React from 'react';\nimport { Button } from '@material-ui/core';\n\nexport const getSuccessAction = (closeSnackbar) => {\n const successAction = (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n OK\n </Button>\n );\n return successAction;\n};\n","import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface ActionState {\n selectedNode: object | null | undefined;\n setSelectedNode: (selectedNode: object) => void;\n hideActions: boolean;\n setHideActions: (hideActions: boolean) => void;\n}\n\nexport const useActionStore = create<ActionState>()(\n devtools((set) => ({\n selectedNode: null,\n setSelectedNode: (selectedNode) =>\n set((state) => ({ selectedNode: selectedNode })),\n hideActions: false,\n setHideActions: (hideActions) => set((state) => ({ hideActions }))\n }))\n);\n","import { useEffect } from 'react';\nimport { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface Workflow {\n inWorkflowMode: boolean;\n currentWorkflowPlayId: string | null | undefined;\n}\ninterface WorkflowMap {\n [containerId: string]: Workflow;\n}\n\ninterface InquiryState {\n title: string | null | undefined;\n setInquiryToolbarTitle: (title: string) => void;\n workflowMap: WorkflowMap | null | undefined;\n setWorkflowMap: (workflowMap: WorkflowMap) => void;\n workflowStarting: boolean;\n setWorkflowStarting: (workflowStarting: boolean) => void;\n inquiryMenuHidden: boolean | null | undefined;\n setInquiryMenuHidden: (inquiryMenuHidden: boolean) => void;\n}\n\nexport const useInquiryStore = create<InquiryState>()(\n devtools((set) => ({\n title: '',\n setInquiryToolbarTitle: (title) => set((state) => ({ title: title })),\n workflowMap: {},\n setWorkflowMap: (workflowMap) =>\n set((state) => ({\n workflowMap: { ...state.workflowMap, ...workflowMap }\n })),\n workflowStarting: false,\n setWorkflowStarting: (workflowStarting) =>\n set((state) => ({ workflowStarting })),\n inquiryMenuHidden: false,\n setInquiryMenuHidden: (inquiryMenuHidden) =>\n set((state) => ({\n inquiryMenuHidden: inquiryMenuHidden\n }))\n }))\n);\n\nexport const useSetInitialInquiryMenuVisibility = () => {\n const searchParams = new URLSearchParams(window.location.search);\n const inquiryMenuHidden =\n searchParams.has('inquiryMenuHidden') === true\n ? searchParams.get('inquiryMenuHidden') === 'true'\n ? true\n : false\n : false;\n\n const setInquiryMenuHidden = useInquiryStore(\n (state) => state.setInquiryMenuHidden\n );\n\n useEffect(() => {\n if (inquiryMenuHidden) {\n setInquiryMenuHidden(true);\n }\n }, [setInquiryMenuHidden, inquiryMenuHidden]);\n};\n","import { useHistory } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport {\n NodeActionEnums,\n SplitScreenTypeEnums\n} from '../../enums/unitySystemEnums';\nimport { getSuccessAction } from '../../UI/SuccessAction';\nimport { useActionStore } from '../../stores/actionStore';\nimport { useInquiryStore } from '../../stores/inquiryStore';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { getPathParametersObj } from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\n\nfunction isValidURL(url) {\n // Regular expression for URL validation\n const urlPattern = /^(ftp|http|https):\\/\\/[^ \"]+$/;\n return urlPattern.test(url);\n}\n\nexport const useHandleAction = () => {\n const history = useHistory();\n const { t } = useTranslation();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const successAction = getSuccessAction(closeSnackbar);\n const selectedNode = useActionStore((state) => state.selectedNode);\n const setWorkflowMap = useInquiryStore((state) => state.setWorkflowMap);\n const setWorkflowStarting = useInquiryStore(\n (state) => state.setWorkflowStarting\n );\n\n const executeStartWorkflow = async (workflowId, payload) =>\n apiMutate(\n ConfigService.config.BUILDER_API_BASE,\n `workflow/${workflowId}/start`,\n {\n method: 'post'\n },\n { data: payload }\n );\n\n const getApiMethod = async (apiMethodId) =>\n apiMutate(\n ConfigService.config.INTEGRATION_API_BASE,\n `apimethod/${apiMethodId}`,\n {\n method: 'get'\n }\n );\n\n const handleAction = async (\n dispatch,\n action,\n state,\n executeAction,\n apiCatalogId,\n entityAttributes,\n actionData,\n currentContainerId\n ) => {\n if (!action) {\n return;\n }\n\n const actionName = action.name;\n let actionValue = action.value;\n if (action?.parameters?.entityName) {\n actionValue +=\n '?entityName=' +\n action.parameters.entityName +\n '&apiCatalogId=' +\n apiCatalogId;\n }\n\n switch (action.actionTypeId) {\n case NodeActionEnums.Open_External_Link:\n window.open(actionValue, '_blank');\n break;\n case NodeActionEnums.Redirect:\n // if the url is valid, redirect to that url, if its not valid, assume its a path redirect on the same origin\n if (isValidURL(actionValue)) {\n window.location.href = actionValue;\n } else {\n history.push(actionValue);\n }\n break;\n case NodeActionEnums.Create:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Update:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Delete:\n if (dispatch) {\n dispatch({\n type: 'OPEN_MODAL',\n modal: { action: action, open: true, title: 'Delete ' }\n });\n }\n break;\n case NodeActionEnums.Retrieve:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Entity\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Page_Split_Screen:\n if (dispatch) {\n if (!!selectedNode) {\n dispatch({\n type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n pageContainerSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n } else {\n dispatch({\n type: 'OPEN_PAGE_SPLIT_SCREEN',\n pageSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Shell_Split_Screen:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Notes:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Notes\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Reminders:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Reminders\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Api:\n if (executeAction && action?.value) {\n let data = {};\n\n if (\n entityAttributes.length > 0 &&\n (selectedNode?.nodeObj || actionData)\n ) {\n // actionData will be used as Request Data first as it is directly passed into function\n if (actionData) {\n data = { ...actionData };\n } else {\n data = { ...selectedNode?.nodeObj };\n }\n const removeAttributes = entityAttributes.filter(\n (p) => p?.extendedProperties?.childEntity\n );\n removeAttributes.forEach((att) => {\n if (att['name'] in data || 'serializeFields' in data) {\n delete data[att['name']];\n }\n });\n }\n const apiMethod = await getApiMethod(action?.value);\n const pathParamValues = getPathParametersObj(\n apiMethod?.data?.pathParametersDefinition,\n data\n );\n\n const response = executeAction(\n {\n data: { requestBody: data, ...pathParamValues }\n },\n action.value\n )\n .then((res) => {\n enqueueSnackbar(\n t(`${action?.name} api has been executed successfully.`),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n })\n .catch((res) => {\n enqueueSnackbar(res.message, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n } else {\n enqueueSnackbar(t(`Unable to execute ${actionName} action.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n }\n break;\n case NodeActionEnums.Start_Workflow:\n setWorkflowStarting(true);\n // actionValue will be workflowId where we can call Start workflow\n // actionData is the selected nodeObj used as payload\n const response = await executeStartWorkflow(\n actionValue,\n actionData || {}\n ).catch((e) => {\n enqueueSnackbar(t(`Unable to Start Workflow`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n setWorkflowStarting(false);\n if (response.status === 200) {\n const playId = response.data;\n // if selectedNode it means we're in Inquiry\n if (selectedNode) {\n const workflow = {\n inWorkflowMode: true,\n currentWorkflowPlayId: playId\n };\n const containerId = currentContainerId || 0;\n setWorkflowMap({ [containerId]: workflow });\n } else {\n history.push({\n pathname: `/workflowtask/${playId}?taskId=${''}`,\n state: {\n label: t('Workflow')\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Function:\n !!actionData?.execute && actionData.execute();\n\n break;\n default:\n break;\n }\n };\n return { handleAction };\n};\n","import { createContext } from 'react';\n\nexport const ActionLoadingDispatchContext = createContext(null);\n","import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface CatalogState {\n currentApiCatalogId: string | null | undefined;\n setCurrentApiCatalogId: (apiCatalogId: string) => void;\n catalogsMap: Object | null | undefined;\n setCatalogsMap: (catalog: Object) => void;\n promotedEntityMap: Object | null | undefined;\n setPromotedEntityMap: (catalog: Object) => void;\n promotedMethodEntitiesMap: Object | null | undefined;\n setPromotedMethodEntitiesMap: (catalog: Object) => void;\n}\n\nexport const useCatalogStore: () => CatalogState = create<CatalogState>()(\n devtools((set) => ({\n currentApiCatalogId: '',\n setCurrentApiCatalogId: (apiCatalogId) => {\n sessionStorage.setItem('current-api-catalog-id', apiCatalogId);\n set((state) => ({ currentApiCatalogId: apiCatalogId }));\n },\n catalogsMap: {},\n setCatalogsMap: (catalogsMap) =>\n set((state) => ({\n catalogsMap: { ...state.catalogsMap, ...catalogsMap }\n })),\n promotedEntityMap: {},\n setPromotedEntityMap: (promotedEntityMap) =>\n set((state) => ({\n promotedEntityMap: { ...state.promotedEntityMap, ...promotedEntityMap }\n })),\n promotedMethodEntitiesMap: {},\n setPromotedMethodEntitiesMap: (promotedMethodEntitiesMap) =>\n set((state) => ({\n promotedMethodEntitiesMap: {\n ...state.promotedMethodEntitiesMap,\n ...promotedMethodEntitiesMap\n }\n }))\n }))\n);\n","import { useContext, useCallback } from 'react';\nimport { ActionDispatchContext } from '../contexts/ActionDispatchContext';\nimport { ActionContext } from '../contexts/ActionContext';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { getEntityAttributes } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useHandleAction } from '../actions/utils/actionUtils';\nimport { ActionLoadingDispatchContext } from '../contexts/ActionLoadingDispatchContext';\nimport { useCatalogStore } from '../stores/catalogStore';\nimport { useShellStore } from '../stores/shellStore';\nimport { NodeActionEnums } from '../enums/unitySystemEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nexport const useActions = () => {\n const dispatch = useContext(ActionDispatchContext);\n const dispatchActionLoading = useContext(ActionLoadingDispatchContext);\n const actionState = useActionState();\n const { catalogsMap, currentApiCatalogId } = useCatalogStore();\n const currentContainerId = useShellStore((state) => state.currentContainerId);\n const { enqueueSnackbar } = useSnackbar();\n const { t } = useTranslation();\n const { handleAction } = useHandleAction();\n\n const setActionLoading = useCallback(\n (loading) => {\n dispatchActionLoading({\n type: 'SET_ACTION_LOADING',\n loading\n });\n },\n [dispatchActionLoading]\n );\n\n const setActionWaitingToExecute = useCallback(\n (actionId) => {\n dispatchActionLoading({\n type: 'SET_ACTION_WAITING_TO_EXECUTE',\n actionId\n });\n },\n [dispatchActionLoading]\n );\n\n const executeGetAction = useCallback(\n async (actionId) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `action/${actionId}`,\n {\n method: 'get'\n },\n {}\n ),\n []\n );\n\n const executeAction = useCallback(\n async (data, id) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${id}`,\n {\n method: 'post'\n },\n data\n ),\n []\n );\n\n const setActionPanels = useCallback(\n (actionPanels, containerId) => {\n dispatch({ type: 'SET_ACTION_PANELS', actionPanels, containerId });\n },\n [dispatch]\n );\n\n const getActionPanelByAction = useCallback(\n (act) => {\n if (act && actionState) {\n const actionPanels = actionState.actionPanels;\n const containerId = currentContainerId || 0;\n\n if (actionPanels && Array.isArray(actionPanels) && actionPanels[containerId]) {\n const actionPanel = actionPanels[containerId];\n\n if (Array.isArray(actionPanel.panelActions)) {\n const foundPanel = actionPanel.find((ap) => {\n return ap.panelActions.find((pa) => {\n return pa.actionId === act.actionId;\n });\n });\n\n return foundPanel;\n } else {\n console.error('panelActions is not an array:', actionPanel.panelActions);\n }\n } else {\n console.error('actionPanels is not valid:', actionPanels);\n }\n } else {\n console.error('act or actionState is not defined:', act, actionState);\n }\n\n return null;\n },\n [actionState, currentContainerId]\n );\n\n const setupAndExecuteAction = useCallback(\n async (catalog, actionId, actionData) => {\n await executeGetAction(actionId).then((resp) => {\n const panel = getActionPanelByAction(resp.data);\n let entityName = panel?.entityName;\n\n if (!panel) {\n entityName = resp?.data?.parameters?.entityName;\n }\n\n if (entityName) {\n actionState?.setCurrentEntityName &&\n actionState.setCurrentEntityName(entityName);\n\n const eAttributes = getEntityAttributes(catalog, entityName);\n\n if (\n !eAttributes?.length &&\n resp.data.actionTypeId !== NodeActionEnums.Start_Workflow\n ) {\n enqueueSnackbar(t(`Unable to retrieve entity attributes.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n } else {\n handleAction(\n dispatch,\n resp.data,\n actionState,\n executeAction,\n catalog?.apiCatalogId,\n eAttributes,\n actionData,\n currentContainerId\n );\n }\n } else {\n console.warn('Entity name does not exist');\n // global actions will not necissarily have an entity name\n handleAction(\n dispatch,\n resp.data,\n actionState,\n executeAction,\n catalog?.apiCatalogId,\n {},\n actionData,\n currentContainerId\n );\n }\n });\n },\n [\n actionState,\n enqueueSnackbar,\n executeAction,\n executeGetAction,\n getActionPanelByAction,\n handleAction,\n t,\n dispatch,\n currentContainerId\n ]\n );\n\n const executeTriggerAction = useCallback(\n async (actionId, actionData) => {\n if (actionState?.catalogPromise) {\n if (!actionState?.catalog) setActionWaitingToExecute(actionId);\n try {\n const result = await actionState.catalogPromise;\n // Promise has been fulfilled, handle the result\n setupAndExecuteAction(\n result?.data || catalogsMap[currentApiCatalogId],\n actionId,\n actionData\n );\n } catch (error) {\n // Promise has been rejected or an error occurred\n enqueueSnackbar(t(`Unable to retrieve catalog data.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n }\n }\n setActionWaitingToExecute('');\n },\n [\n setupAndExecuteAction,\n enqueueSnackbar,\n t,\n actionState,\n setActionWaitingToExecute,\n catalogsMap,\n currentApiCatalogId\n ]\n );\n\n const triggerAction = useCallback(\n (actionId, actionData) => {\n executeTriggerAction(actionId, actionData);\n },\n [executeTriggerAction]\n );\n\n const triggerMultipleActions = useCallback(\n (actionIds) => {\n actionIds.forEach((id) => {\n executeTriggerAction(id);\n });\n },\n [executeTriggerAction]\n );\n\n const setCatalogEntities = useCallback(\n (catalogEntities) => {\n dispatch({ type: 'SET_CATALOG_ENTITIES', catalogEntities });\n },\n [dispatch]\n );\n\n const setCatalogPromotedEntities = useCallback(\n (catalogPromotedEntities) => {\n dispatch({\n type: 'SET_CATALOG_PROMOTED_ENTITIES',\n catalogPromotedEntities\n });\n },\n [dispatch]\n );\n\n const setInquiryParams = useCallback(\n (inquiryParams, containerId) => {\n dispatch({\n type: 'SET_INQUIRY_PARAMS',\n inquiryParams,\n containerId\n });\n },\n [dispatch]\n );\n\n const setShowInquiryHeaderActions = useCallback(\n (showInquiryHeaderActions) => {\n dispatch({\n type: 'SET_SHOW_INQUIRY_HEADER_ACTIONS',\n showInquiryHeaderActions\n });\n },\n [dispatch]\n );\n\n const setMenuListState = useCallback(\n (menuListState) => {\n dispatch({\n type: 'SET_MENU_LIST_STATE',\n menuListState\n });\n },\n [dispatch]\n );\n\n const closeAllSplitScreens = useCallback(() => {\n dispatch({\n type: 'CLOSE_ALL_SPLIT_SCREENS'\n });\n }, [dispatch]);\n\n const openSplitScreen = useCallback(\n (splitScreen) => {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen\n });\n },\n [dispatch]\n );\n\n const openPageSplitScreen = useCallback(\n (pageSplitScreen) => {\n dispatch({\n type: 'OPEN_PAGE_SPLIT_SCREEN',\n pageSplitScreen\n });\n },\n [dispatch]\n );\n\n const openPageContainerSplitScreen = useCallback(\n (pageContainerSplitScreen) => {\n dispatch({\n type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n pageContainerSplitScreen\n });\n },\n [dispatch]\n );\n\n const setApiCatalog = useCallback(\n (catalog) => {\n dispatch({\n type: 'SET_API_CATALOG',\n catalog\n });\n },\n [dispatch]\n );\n\n return {\n setActionPanels,\n triggerAction,\n triggerMultipleActions,\n setCatalogEntities,\n setCatalogPromotedEntities,\n setInquiryParams,\n setShowInquiryHeaderActions,\n setMenuListState,\n closeAllSplitScreens,\n openSplitScreen,\n openPageSplitScreen,\n openPageContainerSplitScreen,\n setApiCatalog,\n setActionLoading\n };\n};\n\nexport const useActionState = () => useContext(ActionContext);\n","import React from 'react';\nimport { makeStyles, TextField } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n input: {\n borderRadius: 2,\n height: (props) => !props.multiline && !Array.isArray(props.value) && 32, // multiline or multiselect\n padding: (props) => !props.multiline && 0,\n paddingBottom: 10,\n marginTop: 3,\n '& .MuiFilledInput-inputMarginDense': {\n paddingTop: 8\n },\n '& .MuiInputAdornment-filled.MuiInputAdornment-positionStart:not(.MuiInputAdornment-hiddenLabel)':\n {\n marginTop: theme.spacing(0.5),\n marginLeft: theme.spacing(1)\n }\n },\n formTextInput: {\n fontSize: 14\n },\n labelRoot: {\n fontSize: 14\n },\n FormControl: {\n display: 'none',\n marginTop: 0\n },\n root: {\n width: '100%',\n marginTop: 25,\n '& .MuiFormLabel-root': {\n marginTop: -30,\n marginLeft: -11\n },\n '& .MuiInputAdornment-root': {\n paddingLeft: theme.spacing(1)\n }\n // '& .MuiInputAdornment-filled.MuiInputAdornment-positionStart:not(.MuiInputAdornment-hiddenLabel)' : {\n // marginTop: 0\n // }\n },\n noLabel: {\n marginTop: theme.spacing(1)\n }\n}));\n\nexport const AmbientTextField = (props) => {\n const classes = useStyles(props);\n const { id, label, startAdornment, endAdornment, title = 'noTitle', ...InputProps } = props;\n return (\n <div className={label ? classes.root : classes.noLabel}>\n <TextField\n {...InputProps}\n id={id}\n udprecordid={`udpRecord-FluentAmbientTextField-${title.replace(/\\s/g, '')}-${props?.InputProps?.type}`}\n variant='filled'\n size='small'\n margin='dense'\n label={label}\n classes={{ label: classes.label }}\n InputProps={{\n classes: {\n root: classes.input,\n input: classes.formTextInput,\n ...props.InputProps?.classes\n },\n ...props.InputProps,\n ...startAdornment,\n ...endAdornment\n }}\n InputLabelProps={{\n shrink: false,\n classes: {\n root: classes.labelRoot,\n focused: classes.labelFocused\n }\n }}\n />\n </div>\n );\n};\n\nAmbientTextField.propTypes = {\n /**\n * id - textfield ID\n */\n id: PropTypes.string,\n /**\n * label - textField label\n */\n label: PropTypes.string,\n /**\n * startAdornment - icon placed at the beginning of the input\n */\n startAdornment: PropTypes.node,\n /**\n * endAdornment - icon placed at the end of the input\n */\n endAdornment: PropTypes.node\n};\n","export const getEllipseColor = (theme, color) => {\n if (!theme) {\n return '';\n }\n let ellipseColor = theme.palette.primary.main;\n switch (color) {\n case 'action':\n ellipseColor = theme.palette.systemIcon?.action?.main;\n break;\n case 'sequence':\n ellipseColor = theme.palette.systemIcon?.sequence?.main;\n break;\n case 'trigger':\n ellipseColor = theme.palette.systemIcon?.trigger?.main;\n break;\n case 'condition':\n ellipseColor = theme.palette.systemIcon?.condition?.main;\n break;\n case 'primary':\n ellipseColor = theme.palette.primary.main;\n break;\n case 'secondary':\n ellipseColor = theme.palette.secondary.main;\n break;\n case 'info':\n ellipseColor = theme.palette.info.main;\n break;\n case 'warning':\n ellipseColor = theme.palette.warning.main;\n break;\n case 'error':\n ellipseColor = theme.palette.error.main;\n break;\n case 'success':\n ellipseColor = theme.palette.success.main;\n break;\n default:\n ellipseColor = theme.palette.secondary.main;\n break;\n }\n return ellipseColor;\n};\n\nexport const getEllipseHintColor = (theme, color) => {\n if (!theme) {\n return '';\n }\n let ellipseHintColor = theme.palette.primary.main;\n switch (color) {\n case 'action':\n ellipseHintColor = theme.palette.systemIcon?.action?.hint;\n break;\n case 'sequence':\n ellipseHintColor = theme.palette.systemIcon?.sequence?.hint;\n break;\n case 'trigger':\n ellipseHintColor = theme.palette.systemIcon?.trigger?.hint;\n break;\n case 'condition':\n ellipseHintColor = theme.palette.systemIcon?.condition?.hint;\n break;\n case 'primary':\n ellipseHintColor = theme.palette.primary.hint;\n break;\n case 'secondary':\n ellipseHintColor = theme.palette.secondary.hint;\n break;\n case 'info':\n ellipseHintColor = theme.palette.unity?.info?.hint;\n break;\n case 'warning':\n ellipseHintColor = theme.palette.unity?.warning?.hint;\n break;\n case 'error':\n ellipseHintColor = theme.palette.unity?.error?.hint;\n break;\n case 'success':\n ellipseHintColor = theme.palette.unity?.success?.hint;\n break;\n default:\n ellipseHintColor = theme.palette.common.white;\n break;\n }\n\n return ellipseHintColor;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport {\n getEllipseColor,\n getEllipseHintColor\n} from '../../../utilities/style/utils/styleUtils';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n height: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n borderRadius: 50,\n border: (props) => (props.variant === 'filled' ? 'none' : `2px solid`),\n backgroundColor: (props) =>\n props.variant === 'filled' && getEllipseHintColor(theme, props.color),\n borderColor: (props) => getEllipseColor(theme, props.color)\n }\n}));\n\nexport const Ellipse = (props) => {\n const { children } = props;\n const classes = useStyles(props);\n\n return <div className={classes.root}>{children}</div>;\n};\n\nEllipse.propTypes = {\n color: PropTypes.string,\n size: PropTypes.string,\n variant: PropTypes.string\n};\n","import React from 'react';\nimport { makeStyles, Paper } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n groupWrapper: {\n padding: theme.spacing(2),\n height: (props) =>\n props?.height\n ? `${props.height} !important`\n : 'calc(100vh - 280px) !important',\n overflow: 'auto'\n }\n}));\n\nexport const GridSidebarContainer = (props) => {\n const { children, color } = props;\n const classes = useStyles(props);\n\n return (\n <div className={classes.root}>\n <Paper elevation='0' square style={{ background: color }}>\n <div className={classes.groupWrapper}>{children}</div>\n </Paper>\n </div>\n );\n};\nGridSidebarContainer.propTypes = {\n /**\n * Children of component\n */\n children: PropTypes.node,\n color: PropTypes.string\n};\n","import React, { forwardRef } from 'react';\nimport { makeStyles, Tooltip, IconButton } from '@material-ui/core';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionHeader: {\n display: 'flex',\n flexDirection: 'row'\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n}));\n\nexport const AmbientTokenButton = forwardRef(function AmbientTokenButton(\n props,\n ref\n) {\n const {\n tooltip,\n ariaLabel,\n onClick,\n size,\n icon = ChevronDownIcon,\n iconClassName,\n otherProps,\n id = 'token-button',\n udprecordid\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={classes.root}>\n <Tooltip title={tooltip}>\n <IconButton\n id={id}\n udprecordid={udprecordid}\n ref={ref}\n aria-label={ariaLabel}\n className={iconClassName ?? classes.icon}\n size={size ?? 'small'}\n onClick={onClick}\n {...otherProps}\n >\n <FluentIcon className={classes.iconButtonStyle} component={icon} />\n </IconButton>\n </Tooltip>\n </div>\n );\n});\n\nAmbientTokenButton.propTypes = {\n /**\n * Tooltip to display for button\n */\n tooltip: PropTypes.string.isRequired,\n /**\n * Accessiblity label for icon\n */\n ariaLabel: PropTypes.string.isRequired,\n /**\n * event for button function\n */\n onClick: PropTypes.func,\n /**\n * icon to appear in button\n */\n icon: PropTypes.func.isRequired\n};\n","import React from 'react'\nimport { makeStyles, Typography } from '@material-ui/core'\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { ChevronFold10Icon, ChevronUnfold10Icon } from '@fluentui/react-icons';\nimport { AmbientTokenButton } from '../../inputs/buttons/AmbientTokenButton'\nimport PropTypes from 'prop-types'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionHeader: {\n display: 'flex',\n flexDirection: 'row',\n gap: 10\n },\n icon:{\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n\n}))\n\nexport const GridGroupingHeader = ({expandClick, collapseClick }) => {\n const classes = useStyles()\n return (\n <div className={classes.root} >\n <div className={classes.actionHeader} >\n <AmbientTokenButton icon={ChevronFold10Icon} tooltip=\"Collapse All\" ariaLabel=\"Collapse All\" onClick={collapseClick} />\n <AmbientTokenButton icon={ChevronUnfold10Icon} tooltip=\"Expand All\" ariaLabel=\"Expand All\" onClick={expandClick} />\n </div>\n <LayoutUnit unit=\"nudge\" /> \n <div className={classes.label} ><Typography variant=\"caption\">Group By:</Typography></div>\n <LayoutUnit unit=\"nudge\" />\n </div>\n )\n}\nGridGroupingHeader.propTypes = {\n /**\n * expand fucntion to expand grid when items are grouped\n */\n expandClick: PropTypes.func.isRequired,\n /**\n * expand fucntion to collapse grid when items are grouped\n */\n collapseClick: PropTypes.func.isRequired,\n}\n","import React, { useMemo } from 'react';\nimport {\n makeStyles,\n useTheme,\n Typography,\n IconButton\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { Ellipse } from './Ellipse';\nimport { UnityFluentIcon } from '../../../utilities/UnityFluentIcon';\nimport {\n getEllipseColor,\n getEllipseHintColor\n} from '../../../utilities/style/utils/styleUtils';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: (props) => (props.compact ? theme.spacing(0.5) : theme.spacing(1))\n },\n letter: {\n fontSize: (props) =>\n props.size === 'small' ? theme.spacing(2.25) : theme.spacing(2.5),\n color: (props) => getEllipseColor(theme, props.color)\n },\n buttonRoot: {\n margin: theme.spacing(1),\n width: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n height: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n background: (props) =>\n props.variant === 'filled' ? getEllipseHintColor(theme, props.color) : '',\n border: (props) => (props.variant === 'outlined' ? `1px solid` : 'none'),\n borderColor: (props) =>\n props.variant === 'outlined' ? getEllipseColor(theme, props.color) : ''\n }\n}));\n\nexport const Token = (props) => {\n const {\n type = 'default',\n variant = 'outlined',\n color = 'default',\n size = 'large',\n iconType,\n icon,\n letter = 'A',\n IconEllipseProps,\n onClick\n } = props;\n const classes = useStyles(props);\n const theme = useTheme();\n\n const iconColor = useMemo(() => {\n return getEllipseColor(theme, color);\n }, [color, theme]);\n\n const tokenComponent = (\n <div className={classes.root}>\n <Ellipse\n variant={variant}\n size={size}\n color={color}\n {...IconEllipseProps}\n >\n {type === 'letter' ? (\n <Typography variant='body1' className={classes.letter}>\n {letter.toUpperCase()}\n </Typography>\n ) : (\n <UnityFluentIcon\n size={size === 'small' ? size : 'medium'}\n color={iconColor}\n type={iconType}\n icon={icon}\n style={{\n color: iconColor\n }}\n />\n )}\n </Ellipse>\n </div>\n );\n\n if (type === 'action') {\n return (\n <IconButton\n classes={{\n root: classes.buttonRoot\n }}\n onClick={onClick}\n >\n <UnityFluentIcon\n size={size === 'small' ? size : 'medium'}\n color={iconColor}\n type={iconType}\n icon={icon}\n style={{\n color: iconColor\n }}\n />\n </IconButton>\n );\n }\n\n return tokenComponent;\n};\n\nToken.propTypes = {\n type: PropTypes.string,\n variant: PropTypes.string,\n color: PropTypes.string,\n size: PropTypes.string,\n iconType: PropTypes.string,\n icon: PropTypes.elementType,\n letter: PropTypes.string,\n onClick: PropTypes.func\n};\n","import React from 'react'\nimport { makeStyles } from '@material-ui/core'\nimport ToggleButton from '@material-ui/lab/ToggleButton';\nimport PropTypes from 'prop-types'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n groupActionContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignContent: 'space-around',\n }, \n toggleRoot: {\n '&:not(:first-child)': {\n marginTop: 16,\n border: '1px solid lightgrey',\n borderTopLeftRadius: 25,\n borderTopRightRadius: 25,\n borderRadius: 25,\n padding: 0,\n paddingRight: theme.spacing(2),\n \n },\n '&:not(:last-child)': {\n borderBottomLeftRadius: 25,\n borderBottomRightRadius: 25,\n borderRadius: 25,\n padding: 0,\n border: '1px solid lightgrey',\n paddingRight: theme.spacing(2)\n },\n '& .MuiToggleButton-root.Mui-selected': {\n color: 'rgba(0, 0, 0, 0.54)',\n backgroundColor: 'white'\n }\n },\n buttonRoot: {\n textTransform: 'none',\n fontWeight: 700,\n justifyContent: 'flex-start'\n },\n '.MuiToggleButton-root.Mui-selected': {\n color: 'rgba(0, 0, 0, 0.54)',\n backgroundColor: 'white'\n }\n}))\n\nexport const AmbientToggleButton = ({children, value, ariaLabel, onClick, ...otherProps}) => {\n const classes = useStyles()\n\n\n return (\n <div className={classes.root} >\n \n <ToggleButton classes={{root: classes.buttonRoot}} value={value} aria-label={ariaLabel} onClick={onClick} {...otherProps} >\n {children}\n </ToggleButton>\n </div>\n )\n}\nAmbientToggleButton.propTypes = {\n /**\n * Contents of the button\n */\n children: PropTypes.node,\n /**\n * Value used to determine active toggle\n */\n value: PropTypes.string,\n /**\n * Lable for accessiblity on icon\n */\n ariaLabel: PropTypes.string,\n /**\n * Function to handle event\n */\n onClick: PropTypes.func,\n}\n","// Determine if the toggle button value matches, or is contained in, the\n// candidate group value.\nexport default function isValueSelected(value, candidate) {\n if (candidate === undefined || value === undefined) {\n return false;\n }\n \n if (Array.isArray(candidate)) {\n return candidate.indexOf(value) >= 0;\n }\n \n return value === candidate;\n }","import React, {forwardRef, Children, isValidElement, cloneElement} from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport isValueSelected from '../../../utilities/isValueSelected';\nimport { withStyles } from '@material-ui/core/styles';\nimport { capitalize } from '@material-ui/core/utils';\n\nexport const styles = (theme) => ({\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n padding: 0\n },\n /* Styles applied to the root element if `orientation=\"vertical\"`. */\n vertical: {\n flexDirection: 'column',\n },\n /* Styles applied to the children. */\n grouped: {},\n /* Styles applied to the children if `orientation=\"horizontal\"`. */\n groupedHorizontal: {\n // '&:not(:first-child)': {\n // marginLeft: -1,\n // borderLeft: '1px solid ',\n // borderTopLeftRadius: 25,\n // borderBottomLeftRadius: 25,\n // },\n // '&:not(:last-child)': {\n // borderTopRightRadius: 25,\n // borderBottomRightRadius: 25,\n // },\n borderRadius: 25,\n padding: 0,\n paddingRight: 16,\n '&:not(:first-child)': {\n marginTop: 16,\n borderRadius: 25,\n paddingRight: 16,\n padding: 0\n },\n '&:not(:last-child)': {\n padding: 0,\n borderRadius: 25,\n paddingRight: 16,\n },\n \n },\n /* Styles applied to the children if `orientation=\"vertical\"`. */\n groupedVertical: {\n borderRadius: 25,\n padding: 0,\n paddingRight: 16,\n '&:not(:first-child)': {\n marginTop: 16,\n borderRadius: 25,\n paddingRight: 16,\n padding: 0\n },\n '&:not(:last-child)': {\n padding: 0,\n borderRadius: 25,\n paddingRight: 16,\n },\n },\n});\n\nconst AmbientToggleButtonGroupDefault = forwardRef(function AmbientToggleButton(props, ref) {\n const {\n children,\n classes,\n className,\n exclusive = false,\n onChange,\n orientation = 'horizontal',\n size = 'medium',\n value,\n ...other\n } = props;\n\n const handleChange = (event, buttonValue) => {\n if (!onChange) {\n return;\n }\n\n const index = value && value.indexOf(buttonValue);\n let newValue;\n\n if (value && index >= 0) {\n newValue = value.slice();\n newValue.splice(index, 1);\n } else {\n newValue = value ? value.concat(buttonValue) : [buttonValue];\n }\n\n onChange(event, newValue);\n };\n\n const handleExclusiveChange = (event, buttonValue) => {\n if (!onChange) {\n return;\n }\n\n onChange(event, value === buttonValue ? null : buttonValue);\n };\n\n return (\n <div\n role=\"group\"\n className={clsx(\n classes.root,\n {\n [classes.vertical]: orientation === 'vertical',\n },\n className,\n )}\n ref={ref}\n {...other}\n >\n {Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error(\n [\n \"Material-UI: The ToggleButtonGroup component doesn't accept a Fragment as a child.\",\n 'Consider providing an array instead.',\n ].join('\\n'),\n );\n }\n }\n\n return cloneElement(child, {\n className: clsx(\n classes.grouped,\n classes[`grouped${capitalize(orientation)}`],\n child.props.className,\n ),\n onChange: exclusive ? handleExclusiveChange : handleChange,\n selected:\n child.props.selected === undefined\n ? isValueSelected(child.props.value, value)\n : child.props.selected,\n size: child.props.size || size,\n });\n })}\n </div>\n );\n});\n\nAmbientToggleButtonGroupDefault.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the button.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, only allow one of the child ToggleButton values to be selected.\n */\n exclusive: PropTypes.bool,\n /**\n * Callback fired when the value changes.\n *\n * @param {object} event The event source of the callback.\n * @param {any} value of the selected buttons. When `exclusive` is true\n * this is a single value; when false an array of selected values. If no value\n * is selected and `exclusive` is true the value is null; when false an empty array.\n */\n onChange: PropTypes.func,\n /**\n * The group orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The size of the buttons.\n */\n size: PropTypes.oneOf(['large', 'medium', 'small']),\n /**\n * The currently selected value within the group or an array of selected\n * values when `exclusive` is false.\n *\n * The value must have reference equality with the option in order to be selected.\n */\n value: PropTypes.any,\n};\n\n/**\n * Explicitly cast the HOC to any to avoid non-portable inferred React types in declaration output.\n * @type {any}\n */\nconst AmbientToggleButtonGroupDefaultExport = withStyles(styles, { name: 'MuiToggleButtonGroup' })(AmbientToggleButtonGroupDefault);\n\nexport default AmbientToggleButtonGroupDefaultExport;","import React, { useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { GridSidebarContainer } from './GridSidebarContainer';\nimport { GridGroupingHeader } from './GridGroupingHeader';\nimport { AssessmentGroupIcon, ChromeCloseIcon } from '@fluentui/react-icons';\nimport { Token } from '../../components/dataDisplay/Token';\nimport { AmbientToggleButton } from '../../inputs/buttons/AmbientToggleButton';\nimport AmbientToggleButtonGroupDefault from '../../inputs/buttons/AmbientToggleButtonGroupDefault';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n groupActionContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignContent: 'space-around'\n },\n buttonRoot: {\n textTransform: 'none',\n fontWeight: 700,\n justifyContent: 'flex-start'\n },\n buttonGroupWrapper: {\n gap: theme.spacing(2)\n }\n}));\n\nexport const GridGroupingSidebar = ({\n groupItem,\n expandClick,\n collapseClick,\n closeClick,\n groupingData,\n height,\n color = '#F5F2F8'\n}) => {\n const classes = useStyles();\n\n const [view, setView] = useState('');\n\n const handleChange = (event, nextView) => {\n setView(nextView);\n };\n\n const GroupItem = ({ label, clear }) => {\n return (\n <>\n <Token\n icon={clear ? ChromeCloseIcon : AssessmentGroupIcon}\n color='trigger'\n size='small'\n variant='filled'\n type='icon'\n />\n <Typography variant='caption' style={{ color: 'black' }}>\n {' '}\n {label}{' '}\n </Typography>\n </>\n );\n };\n\n return (\n <div className={classes.root}>\n <GridSidebarContainer color={color} height={height}>\n <GridGroupingHeader\n expandClick={expandClick}\n collapseClick={collapseClick}\n closeClick={closeClick}\n />\n <div className={classes.groupActionContainer}>\n <AmbientToggleButtonGroupDefault\n orientation='vertical'\n value={view}\n exclusive\n onChange={handleChange}\n className={classes.buttonGroupWrapper}\n >\n {\n // @todo: consider combining value and groupItem.\n groupingData.map((item) => {\n return (\n <AmbientToggleButton\n value={item.value}\n aria-label={item.label}\n onClick={() => groupItem(item.groupItem)}\n >\n <GroupItem label={item.label} />\n </AmbientToggleButton>\n );\n })\n }\n <AmbientToggleButton\n value='noGroups'\n aria-label='noGroups'\n onClick={closeClick}\n >\n <GroupItem label='No Groups' clear />\n </AmbientToggleButton>\n </AmbientToggleButtonGroupDefault>\n </div>\n </GridSidebarContainer>\n </div>\n );\n};\nGridGroupingSidebar.propTypes = {\n /**\n * Function to pass along grid grouping\n */\n groupItem: PropTypes.func,\n /**\n * Expand Grouped items on grid\n */\n expandClick: PropTypes.func,\n /**\n * Collapse grouped items on grid\n */\n collapseClick: PropTypes.func,\n /**\n * Clear grouped items\n */\n closeClick: PropTypes.func,\n /**\n * Array of data to create grouping list. Example: {groupItem: 'instructors', label: 'Instructors', value: 'instructors'},\n */\n groupingData: PropTypes.array,\n /**\n * Color of the sidebar\n */\n color: PropTypes.string\n};\n","import React, { Children, useCallback } from 'react';\nimport {\n usePopupState,\n bindTrigger,\n bindPopper,\n} from 'material-ui-popup-state/hooks';\nimport useId from '../../UI/widgets/utils/useId';\nimport {\n Button,\n ButtonGroup,\n Popper,\n Grow,\n Paper,\n ClickAwayListener,\n MenuList,\n makeStyles,\n} from '@material-ui/core';\nimport { ArrowDropDown as ArrowDropDownIcon } from '@material-ui/icons';\n\nconst useStyles = makeStyles(\n theme => ({\n arrowButtonRoot: {\n padding: 0,\n },\n menu: {\n zIndex: theme.zIndex.tooltip,\n },\n paper: {},\n }),\n { name: 'SplitButton' }\n);\n\n/**\n * https://material-ui.com/components/button-group/#split-button\n */\nexport const SplitButton = props => {\n const classes = useStyles(props);\n const {\n popupName,\n color,\n size,\n variant,\n label,\n 'aria-label': ariaLabel,\n children,\n } = props;\n const popupId = useId(popupName);\n const popupState = usePopupState({ variant: 'popper', popupId });\n\n const firstItem = Children.toArray(children)[0];\n\n const setAnchorEl = useCallback(ref => {\n if (ref) popupState.setAnchorEl(ref);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <React.Fragment>\n <ButtonGroup\n variant={variant}\n color={color}\n size={size}\n ref={setAnchorEl}\n aria-label={ariaLabel}\n >\n <Button onClick={firstItem?.props?.onClick}>\n {label || firstItem?.props?.children}\n </Button>\n <Button\n {...bindTrigger(popupState)}\n className={classes.arrowButtonRoot}\n color={color}\n size=\"small\"\n aria-expanded={popupState.isOpen ? true : undefined}\n // @fixme Allow labels for this button\n >\n <ArrowDropDownIcon />\n </Button>\n </ButtonGroup>\n <Popper\n {...bindPopper(popupState)}\n role={undefined}\n transition\n disablePortal\n className={classes.menu}\n >\n {({ TransitionProps, placement }) => (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin:\n placement === 'bottom' ? 'center top' : 'center bottom',\n }}\n >\n <Paper className={classes.paper}>\n <ClickAwayListener onClickAway={popupState.close}>\n <MenuList /*id={popupState.popupId}*/>{children}</MenuList>\n </ClickAwayListener>\n </Paper>\n </Grow>\n )}\n </Popper>\n </React.Fragment>\n );\n};\n","import { AllModules, RowHeightParams } from '@ag-grid-enterprise/all-modules';\nimport {\n AgGridEvent,\n ColumnApi,\n GridApi,\n Module\n} from '@ag-grid-enterprise/all-modules/dist/cjs/main';\nimport '@ag-grid-enterprise/all-modules/dist/styles/ag-grid.css';\nimport '@ag-grid-enterprise/all-modules/dist/styles/ag-theme-material.css';\nimport './ag-grid-styles.scss';\nimport { AgGridReact, AgGridReactProps } from '@ag-grid-community/react';\nimport { ExcelExportModule } from '@ag-grid-enterprise/excel-export';\nimport {\n Box,\n Button,\n Grid,\n makeStyles,\n MenuItem,\n useTheme\n} from '@material-ui/core';\nimport clsx from 'clsx';\nimport invariant from 'invariant';\nimport React, {\n Dispatch,\n FC,\n Reducer,\n useCallback,\n useMemo,\n useReducer\n} from 'react';\nimport { SplitButton } from './SplitButton';\nimport { LicenseManager } from '@ag-grid-enterprise/core';\nimport { LicenseKey } from '../../AGLicense';\n\nLicenseManager.setLicenseKey(LicenseKey);\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {\n flex: 1,\n height: (props: any) =>\n props?.height ? props.height : 'calc(100vh - 280px)'\n },\n AgGrid: (props: any) => ({\n '--ag-control-panel-background-color': theme.palette.primary.light,\n '--ag-checkbox-checked-color': theme.palette.primary.main,\n ...(props.hideHeader ? {} : {\n '--ag-header-background-color': theme.palette.primary.main,\n '--ag-header-foreground-color': theme.palette.primary.light,\n }),\n })\n }),\n { name: 'AgTable' }\n);\n\nconst globalModules: Module[] = [...AllModules, ExcelExportModule];\n\ninterface AgGridApi {\n gridApi?: GridApi;\n gridColumnApi?: ColumnApi;\n}\n\ninterface UseAgGridApi extends AgGridApi {\n onGridReady: Dispatch<AgGridEvent>;\n}\n\n/**\n * Utility hook for getting the ag-grid APIs into state\n */\nexport function useAgGridApi(): UseAgGridApi {\n const [{ gridApi, gridColumnApi }, onGridReady] = useReducer<\n Reducer<AgGridApi, AgGridEvent>\n >((state, params) => {\n return { gridApi: params.api, gridColumnApi: params.columnApi };\n }, {});\n\n return { gridApi, gridColumnApi, onGridReady };\n}\n\nexport interface AgTableButttonsProps {\n gridApi?: GridApi;\n gridColumnApi?: ColumnApi;\n}\n\n/**\n * Size/Export buttons for AgGrid tables\n */\nexport const AgTableButtons: FC<AgTableButttonsProps> = (props) => {\n const { gridApi, gridColumnApi } = props;\n\n const exportToCSV = useCallback(() => {\n invariant(gridApi, `gridApi not ready`);\n gridApi?.exportDataAsCsv({\n allColumns: true,\n fileName: 'export'\n });\n }, [gridApi]);\n const exportToExcel = useCallback(() => {\n invariant(gridApi, `gridApi not ready`);\n gridApi?.exportDataAsExcel({\n allColumns: true,\n fileName: 'export'\n });\n }, [gridApi]);\n\n const sizeToFit = useCallback(\n (params: any) => {\n invariant(gridApi, `gridApi not ready`);\n gridApi?.sizeColumnsToFit();\n },\n [gridApi]\n );\n\n const autoSizeAll = useCallback(\n (skipHeader: any) => {\n invariant(gridColumnApi, `gridColumnApi not ready`);\n const allColumnIds: string[] = [];\n gridColumnApi\n ?.getAllColumns()\n ?.forEach((column: { getColId: () => string }) => {\n allColumnIds.push(column.getColId());\n });\n gridColumnApi?.autoSizeColumns(allColumnIds, skipHeader);\n },\n [gridColumnApi]\n );\n const autoSizeAllWithHeader = useCallback(\n () => autoSizeAll(false),\n [autoSizeAll]\n );\n const autoSizeAllWithoutHeader = useCallback(\n () => autoSizeAll(false),\n [autoSizeAll]\n );\n\n return (\n // @ts-ignore\n <Box mb={1}>\n <Grid container direction='row' spacing={1} justify='flex-end'>\n <Grid item>\n <Button variant='outlined' size='small' onClick={sizeToFit}>\n Size to Fit\n </Button>\n </Grid>\n <Grid item>\n <SplitButton\n popupName='auto-size'\n variant='outlined'\n size='small'\n label='Auto-Size'\n >\n <MenuItem onClick={autoSizeAllWithHeader}>All</MenuItem>\n <MenuItem onClick={autoSizeAllWithoutHeader}>Skip Header</MenuItem>\n </SplitButton>\n </Grid>\n <Grid item>\n <SplitButton\n popupName='export'\n variant='outlined'\n size='small'\n label='Export'\n >\n <MenuItem onClick={exportToExcel}>Excel</MenuItem>\n <MenuItem onClick={exportToCSV}>CSV</MenuItem>\n </SplitButton>\n </Grid>\n </Grid>\n </Box>\n );\n};\n\ninterface AgTableProps extends AgGridReactProps {\n dynamicSizing?: boolean;\n className?: string;\n isUsingAgRowHeight?: boolean;\n hideHeader?: boolean; // Add the hideHeader prop\n}\n\n/**\n * AgGrid with tweaks\n */\nexport const AgTable: FC<AgTableProps> = (props) => {\n const classes = useStyles(props);\n const {\n modules: modulesProp,\n className,\n getRowHeight,\n rowModelType,\n isUsingAgRowHeight = false,\n hideHeader = false // Add the hideHeader prop to the destructuring\n } = props;\n const modules = useMemo<Module[]>(\n () => (modulesProp ? globalModules.concat(modulesProp) : globalModules),\n [modulesProp]\n );\n\n const calculateRowHeight: (\n params: RowHeightParams\n ) => number | null | undefined = (params) => {\n if (params.node.level === 0) {\n return 48;\n }\n if (params.node.level === 1) {\n return 32;\n }\n return 16;\n };\n\n const rowHeightFunction = useCallback(\n (params) => {\n if (rowModelType === 'serverSide') {\n if (isUsingAgRowHeight) {\n return undefined;\n } else {\n if (getRowHeight) {\n return getRowHeight(params);\n } else {\n return calculateRowHeight(params);\n }\n }\n } else {\n if (getRowHeight) {\n return getRowHeight(params);\n }\n }\n return undefined;\n },\n [getRowHeight, isUsingAgRowHeight]\n );\n\n const onGridSizeChanged = () => {\n if (props.dynamicSizing) {\n props.api?.sizeColumnsToFit();\n }\n };\n\n return (\n <div className={clsx('ag-theme-material', classes.root, className)}>\n <AgGridReact\n {...props}\n modules={modules}\n onGridSizeChanged={onGridSizeChanged}\n getRowHeight={rowHeightFunction}\n className={classes.AgGrid}\n />\n </div>\n );\n};\n","import React from 'react';\nimport {\n makeStyles,\n Typography,\n Tabs,\n Tab,\n InputAdornment,\n lighten\n} from '@material-ui/core';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\nimport {\n SearchIcon,\n CombineIcon,\n ExportIcon,\n DownloadIcon,\n BlockedIcon,\n SaveIcon,\n DeleteIcon,\n ClearIcon\n} from '@fluentui/react-icons';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PropTypes from 'prop-types';\n// import {PAHExport} from './PAHExport'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5),\n background: (props) =>\n props.background\n ? props.background\n : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n}));\n\nexport const GridActionBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n handleChange,\n value,\n exportCSV,\n exportExcel,\n exportPDF,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n saveGridConfig,\n deleteGridConfig,\n clearGridConfig,\n title,\n hideFitGrid = false,\n hideExpandGrid = false,\n hideExportGrid = false,\n hideRemoveFilters = false,\n hideFilterTab = false,\n hideGroupTab = false,\n hideColumnTab = false,\n hideSearchBar = false\n } = props;\n\n const gridControlsExport = (\n <div>\n {/* <PAHExport\n exportCSV={exportCSV}\n exportExcel={exportExcel}\n exportPDF={exportPDF}\n /> */}\n </div>\n );\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n <div> {gridControlsExport}</div>\n\n <div className={classes.controls}>\n {saveGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={SaveIcon}\n tooltip='Save Grid Configuration'\n ariaLabel='Save Grid Configuration'\n onClick={saveGridConfig}\n />\n )}\n {deleteGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DeleteIcon}\n tooltip='Delete Grid Configuration'\n ariaLabel='Delete Grid Configuration'\n onClick={deleteGridConfig}\n />\n )}\n {clearGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ClearIcon}\n tooltip='Clear Grid Configuration'\n ariaLabel='Clear Grid Configuration'\n onClick={clearGridConfig}\n />\n )}\n {!hideFitGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={CombineIcon}\n tooltip='Fit Grid'\n ariaLabel='Fit Grid'\n onClick={fitClick}\n />\n )}\n {!hideExpandGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ExportIcon}\n tooltip='Expand Grid'\n ariaLabel='Expand Grid'\n onClick={expandClick}\n />\n )}\n {!hideExportGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DownloadIcon}\n tooltip='Export Grid'\n ariaLabel='Export Grid'\n onClick={exportClick}\n />\n )}\n {!hideRemoveFilters && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={BlockedIcon}\n tooltip='Remove Filters'\n ariaLabel='Remove Filters'\n onClick={clearClick}\n />\n )}\n </div>\n\n <Tabs\n value={value}\n onChange={handleChange}\n aria-label='basic tabs example'\n >\n {!hideFilterTab && (\n <Tab label='Filter' classes={{ root: classes.tabRoot }} />\n )}\n {!hideGroupTab && (\n <Tab label='Group' classes={{ root: classes.tabRoot }} />\n )}\n {!hideColumnTab && (\n <Tab label='Column' classes={{ root: classes.tabRoot }} />\n )}\n </Tabs>\n\n {children}\n </div>\n );\n};\nGridActionBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * Handle change function for quick search\n */\n handleChange: PropTypes.func,\n /**\n * Passes the tab value of the action bar\n */\n value: PropTypes.number,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func\n};\n","import React, { forwardRef } from 'react';\nimport {\n makeStyles,\n Tooltip,\n IconButton,\n Chip,\n Typography\n} from '@material-ui/core';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionHeader: {\n display: 'flex',\n flexDirection: 'row'\n },\n icon: {\n marginLeft: theme.spacing(1),\n color: (props) =>\n props.background === 'transparent'\n ? theme.palette.secondary.main\n : theme.palette.primary.main\n },\n chipRoot: {\n background: (props) =>\n props.background ? props.background : theme.palette.common.white\n },\n label: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }\n}));\n\nexport const AmbientChipButton = forwardRef(function AmbientChipButton(\n props,\n ref\n) {\n const {\n tooltip,\n label,\n onClick,\n icon,\n iconClassName,\n className,\n labelClassName,\n otherProps,\n id='chip-button',\n udprecordid\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={classes.root}>\n <Tooltip title={tooltip}>\n <Chip\n id={id}\n udprecordid={udprecordid}\n ref={ref}\n className={className ?? classes.chipRoot}\n label={\n <Typography className={labelClassName ?? classes.label}>\n {label}\n </Typography>\n }\n onClick={onClick}\n icon={\n icon && (\n <FluentIcon\n className={iconClassName ?? classes.icon}\n component={icon}\n />\n )\n }\n {...otherProps}\n />\n </Tooltip>\n </div>\n );\n});\n\nAmbientChipButton.propTypes = {\n /**\n * Tooltip to display for button\n */\n tooltip: PropTypes.string.isRequired,\n /**\n * Accessiblity label for icon\n */\n label: PropTypes.string.isRequired,\n /**\n * event for button function\n */\n onClick: PropTypes.func,\n /**\n * icon to appear in button\n */\n icon: PropTypes.func.isRequired\n};\n","import React from \"react\";\nimport {\n AppIconDefaultIcon,\n BlockedIcon,\n BulletedTreeListIcon,\n CombineIcon,\n ExportIcon,\n FavoriteStarIcon,\n FilterIcon,\n LightbulbIcon,\n MoreVerticalIcon,\n SaveIcon,\n SearchIcon,\n TripleColumnIcon,\n UploadIcon\n} from '@fluentui/react-icons';\nimport {\n InputAdornment,\n MenuItem,\n Popover,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { FluentIcon } from '../../utilities/FluentIcon';\nimport { AmbientChipButton } from '../inputs/buttons/AmbientChipButton';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PrimaryActionButton from '../inputs/buttons/PrimaryActionButton';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5)\n // background: (props) =>\n // props.background\n // ? props.background\n // : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n }\n}));\n\nexport const GridPrimaryBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n filterClick,\n columnsClick,\n groupClick,\n title,\n hiddenActionButtons,\n hiddenLabels,\n hideSearchBar = false,\n secondaryActionButtons,\n saveViewClick,\n viewsClick,\n insightsClick,\n onPrimaryActionClick,\n primaryActionDisabled,\n primaryActionLabel,\n primaryActionIcon,\n onSearchKeyDown\n } = props;\n\n const [actionButtonMedianPx, setActionButtonMedianPx] = useState(0);\n const [actionButtons, setActionButtons] = useState([]);\n const [menuActionButtons, setMenuActionButtons] = useState([]);\n const [anchorEl, setAnchorEl] = useState(null);\n const [windowWidthBreakpoint, setWindowWidthBreakpoint] = useState(1400);\n\n const chipButtonSizePx = 100;\n const tokenButtonSizePx = 40;\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n const defaultActionButtons = useMemo(\n () => [\n {\n icon: SaveIcon,\n tooltip: 'Save Grid Configuration',\n label: 'Save View',\n visible: !hiddenActionButtons.includes('saveView'),\n hideLabel: hiddenLabels.includes('saveView'),\n onClick: saveViewClick,\n background: 'transparent'\n },\n {\n icon: FavoriteStarIcon,\n tooltip: 'Browse Views',\n label: 'Views',\n visible: !hiddenActionButtons.includes('views'),\n onClick: viewsClick,\n hideLabel: hiddenLabels.includes('views'),\n iconClassName: classes.icon\n },\n {\n icon: LightbulbIcon,\n tooltip: 'Insights',\n label: 'Insights',\n visible: !hiddenActionButtons.includes('insights'),\n hideLabel: hiddenLabels.includes('insights'),\n onClick: insightsClick,\n iconClassName: classes.icon\n },\n {\n icon: UploadIcon,\n tooltip: 'Import/Export',\n label: 'Import/Export',\n visible: !!exportClick && !hiddenActionButtons.includes('importExport'),\n hideLabel: hiddenLabels.includes('importExport'),\n onClick: exportClick,\n iconClassName: classes.icon\n },\n {\n icon: BulletedTreeListIcon,\n tooltip: 'Group',\n label: 'Group',\n visible: !!groupClick && !hiddenActionButtons.includes('group'),\n hideLabel: hiddenLabels.includes('group'),\n onClick: groupClick,\n iconClassName: classes.icon\n },\n {\n icon: FilterIcon,\n tooltip: 'Filter',\n label: 'Filter',\n visible: !!filterClick && !hiddenActionButtons.includes('filter'),\n hideLabel: hiddenLabels.includes('filter'),\n onClick: filterClick,\n iconClassName: classes.icon\n },\n {\n icon: TripleColumnIcon,\n tooltip: 'Columns',\n label: 'Columns',\n visible: !!columnsClick && !hiddenActionButtons.includes('columns'),\n hideLabel: hiddenLabels.includes('columns'),\n onClick: columnsClick,\n iconClassName: classes.icon\n },\n {\n icon: CombineIcon,\n tooltip: 'Fit Grid',\n label: 'Fit Grid',\n visible: !!fitClick && !hiddenActionButtons.includes('fitGrid'),\n hideLabel: hiddenLabels.includes('fitGrid'),\n onClick: fitClick,\n iconClassName: classes.icon\n },\n {\n icon: ExportIcon,\n tooltip: 'Expand Grid',\n label: 'Expand Grid',\n visible: !!expandClick && !hiddenActionButtons.includes('expandGrid'),\n hideLabel: hiddenLabels.includes('expandGrid'),\n onClick: expandClick,\n iconClassName: classes.icon\n },\n {\n icon: BlockedIcon,\n tooltip: 'Clear Filters',\n label: 'Clear Filters',\n visible: !!clearClick && !hiddenActionButtons.includes('clearFilters'),\n hideLabel: hiddenLabels.includes('clearFilters'),\n onClick: clearClick,\n iconClassName: classes.icon\n }\n ],\n [\n classes.icon,\n clearClick,\n columnsClick,\n expandClick,\n exportClick,\n filterClick,\n fitClick,\n groupClick,\n hiddenActionButtons,\n hiddenLabels,\n insightsClick,\n saveViewClick,\n viewsClick\n ]\n );\n\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const formatActionButtons = useCallback(\n (buttons) => {\n // This allows users to not have to set the visible and showLabel properties when passing secondaryActionButtons\n return buttons.map((button) => {\n if (button.visible === undefined) {\n button.visible = true;\n }\n if (button.hideLabel === undefined) {\n button.hideLabel = false;\n }\n if (button.label === undefined) {\n button.label = button.tooltip ?? 'Button';\n button.hideLabel = true;\n }\n if (\n button.iconClassName === undefined &&\n button.background === undefined\n ) {\n button.iconClassName = classes.icon;\n }\n return button;\n });\n },\n [classes?.icon]\n );\n\n // calculate the action buttons to display based on the window width\n useEffect(() => {\n const allActionButtons = formatActionButtons([\n ...defaultActionButtons,\n ...secondaryActionButtons\n ]);\n const menuButtons = [];\n\n const numActionButtons =\n allActionButtons.length - hiddenActionButtons.length;\n const buttonTotalWidth =\n numActionButtons * chipButtonSizePx -\n (chipButtonSizePx - tokenButtonSizePx) * hiddenLabels.length;\n\n const calculatedMedian = Math.floor(buttonTotalWidth / numActionButtons);\n\n const breakPointOffset = calculatedMedian > 70 ? 950 : 900;\n let breakPoint = breakPointOffset + buttonTotalWidth;\n\n const currentWindowWidth = window.innerWidth;\n while (currentWindowWidth < breakPoint && allActionButtons.length > 0) {\n const movedAction = allActionButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= calculatedMedian;\n }\n\n setActionButtonMedianPx(calculatedMedian);\n setActionButtons(allActionButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n }, [\n formatActionButtons,\n defaultActionButtons,\n secondaryActionButtons,\n hiddenActionButtons?.length,\n hiddenLabels?.length\n ]);\n\n useEffect(() => {\n const handleResize = () => {\n let breakPoint = windowWidthBreakpoint;\n let visibleButtons = [...actionButtons];\n let menuButtons = [...menuActionButtons];\n\n while (window.innerWidth < breakPoint && visibleButtons.length > 0) {\n const movedAction = visibleButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= actionButtonMedianPx;\n }\n\n while (\n window.innerWidth > breakPoint + actionButtonMedianPx &&\n menuButtons.length > 0\n ) {\n const movedAction = menuButtons.pop(0);\n visibleButtons.push(movedAction);\n breakPoint += actionButtonMedianPx;\n }\n\n setActionButtons(visibleButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [\n windowWidthBreakpoint,\n actionButtons,\n menuActionButtons,\n actionButtonMedianPx\n ]);\n\n const handleCustomKeyDown = (event) => {\n if(onSearchKeyDown){\n if (event.key === 'Enter') {\n onSearchKeyDown()\n }\n }\n \n }\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16,\n maxWidth: 300\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n onKeyDown={handleCustomKeyDown}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n\n <div className={classes.controls}>\n {actionButtons.map(\n (button) =>\n button.visible &&\n (button.hideLabel ? (\n <AmbientTokenButton\n id={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n onClick={button.onClick}\n ariaLabel={button.label}\n iconClassName={button.iconClassName}\n />\n ) : (\n <AmbientChipButton\n id={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n label={button.label}\n onClick={button.onClick}\n background={button.background}\n />\n ))\n )}\n\n {!!menuActionButtons.length && (\n <div>\n <AmbientTokenButton\n id={id}\n icon={MoreVerticalIcon}\n tooltip='More Actions'\n ariaLabel='More Actions'\n onClick={handlePopoverClick}\n iconClassName={classes.icon}\n />\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {menuActionButtons\n .slice(0)\n .reverse()\n .map((button) => {\n if (!button.visible) return null;\n return (\n <MenuItem\n id={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n onClick={button.onClick}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n >\n <Typography>{button.label}</Typography>\n <FluentIcon\n component={button.icon ?? AppIconDefaultIcon}\n style={{ marginLeft: 7 }}\n />\n </MenuItem>\n );\n })}\n </Popover>\n </div>\n )}\n </div>\n\n {onPrimaryActionClick && (\n <PrimaryActionButton\n onClick={onPrimaryActionClick}\n id='udpRecord-GridPrimaryBar-Add'\n udprecordid='udpRecord-GridPrimaryBar-Add'\n disabled={primaryActionDisabled}\n >\n <Typography style={{ marginLeft: 4 }}>\n {primaryActionLabel ?? 'Button'}\n </Typography>\n <FluentIcon\n style={{ marginLeft: 7 }}\n component={primaryActionIcon ?? AppIconDefaultIcon}\n />\n </PrimaryActionButton>\n )}\n </div>\n );\n};\n\nGridPrimaryBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * The event that occurs when the grid changes due to a search\n */\n onChange: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for clearing filters\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func,\n /**\n * Passes function that executes on the insights button click\n */\n insightsClick: PropTypes.func,\n /**\n * Passes click event to function for filtering grid\n */\n filterClick: PropTypes.func,\n /**\n * Passes click event to function for disabling columns in grid\n */\n columnsClick: PropTypes.func,\n /**\n * Passes click event to function for grouping grid\n */\n groupClick: PropTypes.func,\n /**\n * Specifies whether to hide the search bar\n */\n hideSearchBar: PropTypes.bool,\n /**\n * An optional array of secondary action buttons to display.\n * Required minimum format:\n * {\n tooltip: 'Description',\n label: 'Label',\n onClick: () => console.log('Button clicked'),\n },\n */\n secondaryActionButtons: PropTypes.arrayOf(PropTypes.object),\n /*\n * Specifies which action buttons to hide\n */\n hiddenActionButtons: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /*\n * Specifies which action button labels to hide\n */\n hiddenLabels: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /**\n * Passes function that executes on the primary action button click\n */\n onPrimaryActionClick: PropTypes.func,\n /**\n * Specifies the label for the primary action button\n */\n primaryActionLabel: PropTypes.string,\n /**\n * Specifies the icon for the primary action button\n */\n primaryActionIcon: PropTypes.elementType\n};\n","import {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n LinearProgress,\n makeStyles\n} from '@material-ui/core';\nimport React from 'react';\nimport { PrimaryActionButton } from '../inputs/buttons/PrimaryActionButton';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n borderRadius: 2,\n borderTop: (props) =>\n props.header && `4px solid ${theme.palette.secondary.main}`\n },\n title: {\n color: (props) => props.header && theme.palette.secondary.main\n },\n actions: {\n marginBottom: 0,\n marginRight: 0,\n padding: 0\n },\n button: {\n borderRadius: 0,\n padding: 'calc(.875rem - 3px) 23px calc(.875rem - 3px) 15px',\n textTransform: 'none'\n },\n dialogContent: {\n height: (props) => props.dialogContentHeight || 'auto',\n width: (props) => props.dialogContentWidth || 'auto'\n },\n dialogLeftBorder: {\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: theme.spacing(1),\n backgroundColor: (props) =>\n props.dialogLeftBorderColor ?? theme.palette.primary.main\n }\n}));\n\nexport const FluentDialog = (props) => {\n const classes = useStyles(props);\n const {\n title,\n message,\n actionOne,\n actionTwo,\n actionThree,\n labelOne,\n labelTwo,\n labelThree,\n open,\n handleClose,\n ariaLabelledby,\n ariaDescribedby,\n titleId,\n descriptionId,\n children,\n buttonOneHidden = false,\n buttonTwoHidden = false,\n buttonThreeHidden = true,\n disableOne,\n disableTwo,\n disableThree,\n progress,\n enableLeftBorderStyling = false,\n ...otherProps\n } = props;\n\n return (\n <Dialog\n open={open}\n onClose={handleClose}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n {...otherProps}\n classes={{\n paper: classes.paper\n }}\n >\n <div\n className={enableLeftBorderStyling ? classes.dialogLeftBorder : ''}\n />\n <DialogTitle className={classes.title} id={titleId}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n <DialogContentText id={descriptionId}>{message}</DialogContentText>\n {children}\n </DialogContent>\n\n <DialogActions className={classes.actions} disableSpacing>\n {!buttonThreeHidden && (\n <Button\n id='udpRecord-FluentDialog-Confirm'\n udprecordid='udpRecord-FluentDialog-Confirm'\n onClick={actionThree}\n color='secondary'\n disabled={disableThree}\n className={classes.button}\n >\n {labelThree}\n </Button>\n )}\n {!buttonTwoHidden && (\n <Button\n id='udpRecord-FluentDialog-Confirm'\n udprecordid='udpRecord-FluentDialog-Confirm'\n onClick={actionTwo}\n color='secondary'\n disabled={disableTwo}\n className={classes.button}\n >\n {labelTwo}\n </Button>\n )}\n {!buttonOneHidden && (\n <PrimaryActionButton\n id='udpRecord-FluentDialog-Cancel'\n udprecordid='udpRecord-FluentDialog-Cancel'\n disabled={disableOne}\n onClick={actionOne}\n >\n {labelOne}\n </PrimaryActionButton>\n )}\n </DialogActions>\n {progress && (\n <LinearProgress color='secondary' value={progress} {...otherProps} />\n )}\n </Dialog>\n );\n};\n","import { GridStateTypeEnums } from '../../enums/unitySystemEnums.ts';\n\nexport const useGridFormat = () => {\n const gridFormat = (gridApi, type) => {\n type === 'expand' && gridApi.expandAll()\n type === 'collapse' && gridApi.collapseAll()\n type === 'resize' && gridApi.sizeColumnsToFit()\n }\n return [gridFormat]\n}\n\nexport const useGridClear = () => {\n const gridClear = (gridApi, gridColumnApi) => {\n gridColumnApi.setRowGroupColumns([])\n gridApi.setFilterModel(null)\n gridApi.setQuickFilter('')\n gridApi.sizeColumnsToFit()\n gridColumnApi.resetColumnState()\n }\n return [gridClear]\n}\n\nexport const useQuickFilter = () => {\n const quickFilter = (gridApi, event) => {\n gridApi.setQuickFilter(event?.target.value)\n }\n return [quickFilter]\n}\n\nexport const useExport = () => {\n const gridExport = (gridApi, type) => {\n type === 'excel' && gridApi.exportDataAsExcel()\n type === 'csv' && gridApi.exportDataAsCsv()\n }\n return [gridExport]\n}\n\nexport const saveGridState = async (\n gridId,\n gridApi,\n gridColumnApi,\n execute\n) => {\n const columnState = gridColumnApi?.getColumnState();\n const columnGroupState = gridColumnApi?.getColumnGroupState();\n const sortModel = gridApi.getSortModel();\n const filterModel = gridApi.getFilterModel();\n const isPivotMode = gridColumnApi.isPivotMode();\n\n const gridState = [];\n const columnGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column,\n gridId: gridId,\n values: JSON.stringify(columnState),\n };\n const columnGroupGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Group,\n gridId: gridId,\n values: JSON.stringify(columnGroupState),\n };\n const columnSortGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Sort,\n gridId: gridId,\n values: JSON.stringify(sortModel),\n };\n const columnFilterGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Filter,\n gridId: gridId,\n values: JSON.stringify(filterModel),\n };\n const pivotGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Pivot_Mode,\n gridId: gridId,\n values: JSON.stringify(isPivotMode),\n };\n gridState.push(columnGridConfiguration);\n gridState.push(columnGroupGridConfiguration);\n gridState.push(columnSortGridConfiguration);\n gridState.push(columnFilterGridConfiguration);\n gridState.push(pivotGridConfiguration);\n\n return await execute({ data: gridState });\n};\n\n\nexport const getGridState = (gridApi, gridColumnApi, gridId) => {\n const columnState = gridColumnApi?.getColumnState();\n const columnGroupState = gridColumnApi?.getColumnGroupState();\n const sortModel = gridApi.getSortModel();\n const filterModel = gridApi.getFilterModel();\n const isPivotMode = gridColumnApi.isPivotMode();\n\n const gridState = [];\n const columnGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column,\n gridId: gridId,\n values: JSON.stringify(columnState),\n };\n const columnGroupGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Group,\n gridId: gridId,\n values: JSON.stringify(columnGroupState),\n };\n const columnSortGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Sort,\n gridId: gridId,\n values: JSON.stringify(sortModel),\n };\n const columnFilterGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Filter,\n gridId: gridId,\n values: JSON.stringify(filterModel),\n };\n const pivotGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Pivot_Mode,\n gridId: gridId,\n values: JSON.stringify(isPivotMode),\n };\n gridState.push(columnGridConfiguration);\n gridState.push(columnGroupGridConfiguration);\n gridState.push(columnSortGridConfiguration);\n gridState.push(columnFilterGridConfiguration);\n gridState.push(pivotGridConfiguration);\n\n return gridState;\n}\n\nexport const deleteGridState = async (\n gridApi,\n gridColumnApi,\n deleteGridState\n) => {\n clearGridState(gridApi, gridColumnApi);\n return await deleteGridState();\n};\n\nexport const clearGridState = (gridApi, gridColumnApi) => {\n gridColumnApi.resetColumnState();\n gridColumnApi.resetColumnGroupState();\n gridApi.setFilterModel({});\n gridApi.setSortModel([]);\n gridColumnApi.setPivotMode(false);\n gridApi.sizeColumnsToFit();\n};\n\nexport const onFirstDataRendered = (gridApi, gridColumnApi, gridStates) => {\n if (gridStates && gridStates.length) {\n gridStates.forEach(state => {\n switch (state.gridStateTypeId) {\n case GridStateTypeEnums.Column:\n gridColumnApi.setColumnState(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Column_Group:\n gridColumnApi.setColumnGroupState(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Pivot_Mode:\n gridColumnApi.setPivotMode(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Column_Sort:\n gridApi.setSortModel(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Column_Filter:\n gridApi.setFilterModel(JSON.parse(state.values));\n break;\n default:\n break;\n }\n });\n }\n};","import {\n Box,\n Divider,\n FormControlLabel,\n Switch,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport React, { useCallback, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field, Form } from '../../utilities/form';\nimport { FluentDialog } from '../feedback/FluentDialog.jsx';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField.jsx';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers.jsx';\nimport { getGridState } from '../../utilities/aggrid/GridFunctions';\nimport PropTypes from 'prop-types';\nimport { VisibilityTypeEnums } from '../../enums/unitySystemEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n saveForm: {\n minWidth: 450,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n column: {\n flex: 1,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n divider: {\n backgroundColor: 'grey',\n color: 'grey',\n width: 2,\n height: '100%'\n },\n infoHeader: {\n color: 'grey'\n }\n}));\n\n/**\n * @param {PropTypes.InferProps<typeof SaveViewFormDialog.propTypes>} props\n */\nexport const SaveViewFormDialog = (props) => {\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n const {\n open,\n handleClose,\n tenant,\n application,\n user,\n refetchViews,\n gApi,\n gcApi,\n gridId,\n domain,\n apiCatalogId\n } = props;\n const { t } = useTranslation();\n const classes = useStyles(props);\n\n const saveViewFormRef = useRef(null);\n const triggerSaveView = useCallback(() => {\n saveViewFormRef.current.handleSubmit();\n }, [saveViewFormRef]);\n\n const saveView = async (values) => {\n const data = {\n data: {\n gridView: {\n Name: values.name,\n GridViewVisibilityTypeId: values.private\n ? VisibilityTypeEnums.Private\n : VisibilityTypeEnums.Public,\n isDefault: 0,\n tenantId: user?.currentTenantId,\n userId: user?.id,\n gridId: gridId,\n domain: domain,\n apiCatalogId: apiCatalogId\n },\n gridConfigurations: getGridState(gApi, gcApi, gridId)\n },\n method: 'POST'\n };\n handleClose();\n await apiMutate(\n ConfigService.tenantV2ApiUrl,\n `GridView/createGridView`,\n data\n )\n .then((response) => {\n handleSuccessSnackbar(t('View Saved'));\n refetchViews();\n })\n .catch((error) => {\n console.log(error);\n handleErrorSnackbar(error, t('Failed to Save View'));\n });\n };\n\n return (\n <FluentDialog\n title={t('Save New View')}\n open={open}\n handleClose={handleClose}\n labelOne={t('Save View')}\n labelTwo={t('Cancel')}\n actionOne={triggerSaveView}\n actionTwo={handleClose}\n >\n <Box display='flex'>\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Tenant')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {tenant ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Application')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {application ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Entity')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {domain ?? '--'}\n </Typography>\n </div>\n </Box>\n\n <div className={classes.saveForm}>\n <Form onSubmit={saveView} ref={saveViewFormRef}>\n <Field\n type='text'\n component={AmbientTextField}\n name='name'\n id='name'\n label={t('Name')}\n fullWidth={true}\n required={true}\n style={{ marginBottom: 20, marginTop: 10 }}\n />\n\n <FormControlLabel\n control={\n <Field\n component={Switch}\n name='private'\n id='private'\n defaultValue={false}\n type='checkbox'\n />\n }\n label={t('Private')}\n labelPlacement='end'\n />\n </Form>\n </div>\n </FluentDialog>\n );\n};\n\nSaveViewFormDialog.propTypes = {\n open: PropTypes.bool.isRequired, // Determines whether the dialog is open or closed\n handleClose: PropTypes.func.isRequired, // Function called when the dialog is closed\n tenant: PropTypes.string, // Tenant value (optional)\n application: PropTypes.string, // Application value (optional)\n entity: PropTypes.string, // Entity value (optional)\n user: PropTypes.object, // User object (optional)\n columnDefsValues: PropTypes.array, // Array of column definitions values (optional)\n refetchViews: PropTypes.func, // Function to refetch views (optional)\n gApi: PropTypes.object, // Grid API object (optional)\n gcApi: PropTypes.object, // Grid Column API object (optional)\n setSelectedView: PropTypes.func // Function to set selected view (optional)\n};\n","import React from \"react\";\nimport { useCallback, useState } from 'react';\n\n/**\n * A custom React hook for calculating the number of visible children in a dynamic list based on container width and child widths.\n *\n * @returns {object} An object containing the `calculateNumberOfVisibleChildren` function.\n *\n * @example\n * // Basic usage:\n * const parentRef = useRef();\n * const childRefs = useRef([]);\n * const { calculateNumberOfVisibleChildren } = useDynamicListCalculation();\n * const maxVisibleChildren = calculateNumberOfVisibleChildren(parentRef, childRefs);\n\n * @example\n * // Excluding a buffer for less white space:\n * const parentRef = useRef();\n * const childRefs = useRef([]);\n * const { calculateNumberOfVisibleChildren } = useDynamicListCalculation();\n * const maxVisibleChildren = calculateNumberOfVisibleChildren(parentRef, childRefs, false);\n */\nexport const useDynamicListCalculation = () => {\n const [averageChildWidth, setAverageChildWidth] = useState(0);\n const [previousChildRefs, setPreviousChildRefs] = useState([]);\n\n /**\n * Calculate the number of visible children based on container width and child widths.\n *\n * @param {object} parentRef - Ref object for the parent container.\n * @param {object} childRefs - Ref object for an array of child elements.\n * @param {boolean} includeBuffer - Whether to include a buffer for better performance (default: true).\n * @returns {number} The maximum number of visible children.\n */\n const calculateNumberOfVisibleChildren = useCallback(\n (parentRef, childRefs, includeBuffer = true) => {\n if (!parentRef.current || !childRefs.current) return;\n\n const containerWidth =\n parentRef.current.getBoundingClientRect().width ?? 0;\n\n // If the average child width has not been calculated yet, or the child refs have changed, then calculate the average child width\n if (!averageChildWidth || previousChildRefs !== childRefs.current) {\n const childrenTotalWidth = childRefs.current\n .map((ref) =>\n ref && typeof ref?.getBoundingClientRect === 'function'\n ? ref.getBoundingClientRect().width\n : 0\n )\n .reduce((acc, curr) => acc + curr, 0);\n\n const calculatedAverageWidth =\n childrenTotalWidth / childRefs.current.length;\n\n setAverageChildWidth(calculatedAverageWidth);\n setPreviousChildRefs(childRefs.current);\n }\n\n const maxVisibleChildren = Math.floor(containerWidth / averageChildWidth);\n\n if (includeBuffer) return maxVisibleChildren - 1;\n\n return maxVisibleChildren;\n },\n [averageChildWidth, previousChildRefs]\n );\n\n return { calculateNumberOfVisibleChildren };\n};\n","import { MoreVerticalIcon } from '@fluentui/react-icons';\nimport { MenuItem, Popover } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport React, {\n Children,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { useDynamicListCalculation } from '../../hooks/useDynamicListCalculation';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\n\nconst useStyles = makeStyles((theme) => ({\n filterChipMenuIcon: {\n background: theme.palette.common.grey,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n }\n}));\n\nexport const DynamicContainerWithMenu = forwardRef((props, ref) => {\n // ################### Props ###################\n const {\n children,\n className,\n menuButton,\n menuIconClassName,\n includeBuffer = true\n } = props;\n\n // ################### Custom Hooks ###################\n const classes = useStyles();\n const { calculateNumberOfVisibleChildren } = useDynamicListCalculation();\n\n // ################### Memoized Values ###################\n const modifiedMenuButton = useMemo(() => {\n if (!menuButton) return null;\n\n return cloneElement(\n menuButton,\n {\n onClick: (event) => {\n menuButton.props.onClick(event);\n handlePopoverClick(event);\n },\n ...menuButton.props\n },\n menuButton.props.children\n );\n }, [menuButton]);\n\n // ################### States ###################\n const [allChildren, setAllChildren] = useState([]);\n const [visibleChildren, setVisibleChildren] = useState([]);\n const [menuChildren, setMenuChildren] = useState([]);\n const [anchorEl, setAnchorEl] = useState(null);\n\n // ################### Variables ###################\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n // ################### Refs ###################\n const containerRef = useRef(ref);\n const outerContainerRef = useRef(null);\n const childrenRefs = useRef([]);\n\n // ################### Functions ###################\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n // ################### Callbacks ###################\n const handleSizeChange = useCallback(() => {\n const maxVisibleChildren = calculateNumberOfVisibleChildren(\n containerRef,\n childrenRefs,\n includeBuffer\n );\n\n const visibleChildren = allChildren.slice(0, maxVisibleChildren);\n const menuChildren = allChildren.slice(maxVisibleChildren);\n\n setVisibleChildren(visibleChildren);\n setMenuChildren(menuChildren);\n }, [\n containerRef,\n allChildren,\n childrenRefs,\n calculateNumberOfVisibleChildren,\n includeBuffer\n ]);\n\n const handleMenuItemClick = useCallback((child) => {\n if (child.props.onClick && typeof child.props.onClick === 'function') {\n child.props.onClick();\n }\n\n // If the child has children, then call the onClick function for each child\n let children = child.props.children;\n while (children) {\n if (Array.isArray(children) && children.length > 0) {\n children.forEach((child) => {\n if (\n child.props.onClick &&\n typeof child.props.onClick === 'function'\n ) {\n child.props.onClick();\n }\n });\n } else if (typeof children === 'object') {\n if (\n children.props.onClick &&\n typeof children.props.onClick === 'function'\n ) {\n children.props.onClick();\n }\n }\n\n children = children.props.children;\n }\n\n handlePopoverClose();\n }, []);\n\n // ################### Effects ###################\n useEffect(() => {\n const arrayChildren = Children.toArray(children);\n setAllChildren(arrayChildren);\n setVisibleChildren(arrayChildren);\n }, [children]);\n\n useLayoutEffect(handleSizeChange, [handleSizeChange]);\n\n useLayoutEffect(() => {\n // Add the resize event listener for when the browser window is resized\n window.addEventListener('resize', handleSizeChange);\n // Add the resize observer for when the parent div is resized\n const resizeObserver = new ResizeObserver(handleSizeChange);\n if (outerContainerRef.current) {\n resizeObserver.observe(outerContainerRef.current);\n }\n\n // Remove the event listeners on cleanup\n return () => {\n window.removeEventListener('resize', handleSizeChange);\n resizeObserver.disconnect();\n };\n }, [handleSizeChange, outerContainerRef]);\n\n // ################### Render ###################\n return (\n <div\n ref={outerContainerRef}\n style={{\n width: '100%',\n overflow: 'hidden'\n }}\n >\n <div\n className={className}\n ref={containerRef}\n style={{\n display: 'flex',\n flexWrap: 'noWrap',\n overflow: 'hidden',\n flexGrow: 1\n }}\n >\n {visibleChildren &&\n Children.map(visibleChildren, (child, index) => {\n return cloneElement(\n child,\n {\n ref: (ref) => (childrenRefs.current[index] = ref),\n ...child.props\n },\n child.props.children\n );\n })}\n {menuChildren && menuChildren.length > 0 && (\n <div>\n {modifiedMenuButton ?? (\n <AmbientTokenButton\n id={id}\n icon={MoreVerticalIcon}\n tooltip='Additional Filter Values'\n ariaLabel='Additional Filter Values'\n onClick={handlePopoverClick}\n iconClassName={menuIconClassName ?? classes.filterChipMenuIcon}\n />\n )}\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {Children.map(menuChildren, (child, index) => {\n return (\n <MenuItem onClick={() => handleMenuItemClick(child)}>\n {cloneElement(\n child,\n {\n ...child.props\n },\n child.props.children\n )}\n </MenuItem>\n );\n })}\n </Popover>\n </div>\n )}\n </div>\n </div>\n );\n});\n\nDynamicContainerWithMenu.displayName = 'DynamicContainerWithMenu';\nDynamicContainerWithMenu.propTypes = {\n /**\n * The children to render in the container\n */\n children: PropTypes.node.isRequired,\n /**\n * A className to apply to the container\n */\n className: PropTypes.string,\n /**\n * A custom menu button to use instead of the default\n */\n menuButton: PropTypes.node,\n /**\n * A custom class to apply to the menu icon\n */\n menuIconClassName: PropTypes.string,\n /**\n * Whether to include a space buffer between the menu button and container border (default: true)\n * @default true\n */\n includeBuffer: PropTypes.bool\n};\n","import React from \"react\";\nimport Chip from '@material-ui/core/Chip';\nimport Divider from '@material-ui/core/Divider';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport StarIcon from '@material-ui/icons/Star';\nimport PropTypes from 'prop-types';\nimport { useRef, useState } from 'react';\nimport { DynamicContainerWithMenu } from '../containers/DynamicContainerWithMenu';\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n flexGrow: 1,\n width: '100%'\n },\n chipHolder: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n overflow: 'scroll',\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n flexGrow: 1\n },\n viewChip: {\n backgroundColor: theme.palette.secondary.main,\n color: 'white',\n maxWidth: '150px',\n transition: 'opacity 0.3s ease',\n marginLeft: theme.spacing(1)\n },\n menuItem: {\n backgroundColor: 'white'\n },\n filterChipMenuIcon: {\n background: theme.palette.common.grey,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n },\n additionalFilterChip: {},\n KPI: {\n marginLeft: 'auto',\n display: 'flex',\n gap: theme.spacing(1),\n color: 'grey',\n width: 'auto'\n },\n kpiValue: {\n color: 'black',\n fontSize: '1.1em'\n },\n kpiItem: {\n display: 'flex',\n justifyContent: 'center',\n width: 'max-content'\n },\n kpiLabel: {\n width: 'max-content',\n marginRight: theme.spacing(1)\n },\n clickedChip: {\n backgroundColor: theme.palette.primary.main,\n color: 'white',\n maxWidth: '150px'\n },\n filterChipLabel: {\n color: theme.palette.text.primary,\n whiteSpace: 'nowrap',\n marginRight: theme.spacing(1)\n },\n filterChipValue: {\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap'\n }\n}));\n\nexport const ChipSection = (props) => {\n // ################### Props ###################\n const {\n filterChips = [],\n viewChips = [],\n additionalFilterChips = [],\n hideKpiSection = false,\n kpiValues = [],\n maxKPIsDisplayed = 4,\n handleDelete\n } = props;\n\n // ################### Custom hooks ###################\n const classes = useStyles();\n\n // ################### Refs ###################\n const chipRefs = useRef([]);\n const chipSectionContainerRef = useRef(null);\n const viewChipsContainerRef = useRef(null);\n const filterChipsContainerRef = useRef(null);\n const additionalFilterChipsContainerRef = useRef(null);\n const kpiContainerRef = useRef(null);\n\n // ################### States ###################\n const [selectedFilterChip, setSelectedFilterChip] = useState(null);\n\n // ################### Helper Function ###################\n const abbrNum = (number, decPlaces) => {\n if (typeof number === 'string' && !isNaN(Number(number))) {\n number = Number(number);\n } else if (typeof number !== 'number') {\n throw new Error(\n 'The input must be a number or a string that can be converted to a number.'\n );\n }\n\n if (typeof decPlaces !== 'number') {\n return null;\n }\n\n decPlaces = Math.pow(10, decPlaces);\n let abbrev = ['k', 'm', 'b', 't'];\n\n for (let i = abbrev.length - 1; i >= 0; i--) {\n let size = Math.pow(10, (i + 1) * 3);\n\n if (size <= number) {\n number = Math.round((number * decPlaces) / size) / decPlaces;\n\n if (number === 1000 && i < abbrev.length - 1) {\n number = 1;\n i++;\n }\n\n number += abbrev[i];\n break;\n }\n }\n\n return number;\n };\n\n const isEmpty = (array) => Array.isArray(array) && array.length === 0;\n\n const abbreviateLabel = (label) => {\n const maxLength = 10;\n\n if (label.length > maxLength) {\n const newLabel = label.slice(0, maxLength - 3) + '...';\n return newLabel;\n } else {\n return null;\n }\n };\n\n const handleFilterChipToggle = (chip) => {\n setSelectedFilterChip(chip);\n\n if (typeof chip.onToggle === 'function') {\n chip.onToggle();\n }\n };\n\n const handleFilterChipUntoggle = () => {\n if (selectedFilterChip) {\n // if the user wants extra functionality when the filter chip is untoggled, call the function\n if (typeof selectedFilterChip.onUntoggle === 'function') {\n selectedFilterChip.onUntoggle();\n }\n\n setSelectedFilterChip(null);\n }\n };\n\n // ################### Render ###################\n return (\n <div\n ref={chipSectionContainerRef}\n className={classes.wrapper}\n style={{\n display: [\n kpiValues,\n additionalFilterChips,\n viewChips,\n filterChips\n ].every((arr) => arr.length === 0)\n ? 'none'\n : 'flex'\n }}\n >\n <div className={classes.chipHolder}>\n <div ref={viewChipsContainerRef}>\n {viewChips.map((chip, index) => (\n <Chip\n onDelete={() => handleDelete('view', index)}\n key={index}\n label={chip.label}\n className={classes.viewChip}\n icon={<StarIcon />}\n size='small'\n />\n ))}\n </div>\n\n {!isEmpty(viewChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n {!isEmpty(filterChips) && (\n <DynamicContainerWithMenu\n className={classes.chipHolder}\n ref={filterChipsContainerRef}\n >\n {selectedFilterChip && (\n <Chip\n onDelete={handleFilterChipUntoggle}\n label={selectedFilterChip.label}\n className={classes.viewChip}\n size='small'\n />\n )}\n {filterChips.map((chip, index) => {\n if (selectedFilterChip && chip.id === selectedFilterChip.id) {\n return null;\n }\n return (\n <Tooltip title={chip.label}>\n <Chip\n key={index}\n label={\n <div\n style={{\n display: 'flex',\n flexWrap: 'noWrap'\n }}\n >\n <Typography\n noWrap={true}\n className={chip.value ? classes.filterChipLabel : ''}\n >\n {chip.label}\n </Typography>\n <Typography\n noWrap={true}\n className={classes.filterChipValue}\n >\n {chip.value}\n </Typography>\n </div>\n }\n className={classes.filterChip}\n size='small'\n onClick={() => handleFilterChipToggle(chip)}\n ref={(el) => (chipRefs.current[index] = el)}\n />\n </Tooltip>\n );\n })}\n </DynamicContainerWithMenu>\n )}\n\n {!isEmpty(additionalFilterChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n <div\n ref={additionalFilterChipsContainerRef}\n style={{ display: 'flex' }}\n >\n {additionalFilterChips.map((chip, index) => (\n <Chip\n variant='outlined'\n onDelete={() => handleDelete('additionalFilter', index)}\n key={index}\n label={chip.label}\n className={classes.additionalFilterChip}\n size='small'\n />\n ))}\n </div>\n </div>\n\n {!hideKpiSection && (\n <div className={classes.KPI} ref={kpiContainerRef}>\n {kpiValues.slice(0, 4).map((kpi, index) => (\n <>\n <div className={classes.kpiItem} id={index}>\n <span className={classes.kpiLabel}>\n {(abbreviateLabel(kpi.label) && (\n <Tooltip title={kpi.label} arrow>\n <Typography noWrap={true}>\n <span>{kpi.label}:</span>\n </Typography>\n </Tooltip>\n )) || <>{kpi.label}</>}\n </span>\n <span className={classes.kpiValue}>\n <Tooltip title={kpi.value} arrow>\n <span>{abbrNum(kpi.value, 1)}</span>\n </Tooltip>\n </span>\n </div>\n {index !== maxKPIsDisplayed - 1 && (\n <Divider orientation='vertical' flexItem />\n )}\n </>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nChipSection.propTypes = {\n /**\n * An array of filter chips.\n */\n filterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of view chips.\n */\n viewChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of additional filter chips.\n */\n additionalFilterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * Indicates whether to hide the KPI section.\n */\n hideKpiSection: PropTypes.bool,\n /**\n * An array of KPI values.\n */\n kpiValues: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired\n })\n ),\n /**\n * The maximum number of KPIs to display.\n */\n maxKPIsDisplayed: PropTypes.number,\n /**\n * A function to handle chip deletion.\n */\n handleDelete: PropTypes.func,\n /**\n * The index of the selected filter chip.\n */\n selectedFilterChipsIndex: PropTypes.number,\n /**\n * A function to set the selected filter chip index.\n */\n setSelectedFilterChipsIndex: PropTypes.func\n};\n","import React from 'react';\nimport { IconButton, Tooltip, makeStyles } from '@material-ui/core';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\n\nconst useStyles = makeStyles(() => ({\n // Enables pointer events on disabled elements\n root: {\n '&.Mui-disabled': {\n pointerEvents: 'auto'\n }\n }\n}));\n\n// IconButtonWithTooltip allows you to set a tooltip on a disabled IconButton without ruining ButtonGroup layout\nexport const IconButtonWithTooltip = ({\n icon,\n title,\n disabled,\n onClick,\n className,\n fluentIconClassName,\n id,\n udprecordid,\n ...other\n}) => {\n const adjustedButtonProps = {\n disabled: disabled,\n component: disabled ? 'div' : undefined,\n onClick: disabled ? undefined : onClick\n };\n\n const classes = useStyles();\n\n return (\n <Tooltip title={title}>\n <IconButton\n id={id}\n udprecordid={udprecordid}\n className={`${className} ${classes.root}`}\n {...other}\n {...adjustedButtonProps}\n >\n <FluentIcon className={fluentIconClassName} component={icon} />\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { useState, useCallback, memo } from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { Skeleton } from '@material-ui/lab';\nimport { SideSheet } from '../../../surfaces/SideSheet';\nimport { FluentDialog } from '../../../feedback/FluentDialog';\nimport { IconButtonWithTooltip } from '../../../inputs/buttons/IconButtonWithToolTip';\nimport { ClickOpenEnums } from '../../../../enums/pageEnums.ts';\n\nconst useStyles = makeStyles((theme) => ({\n icon: {\n margin: theme.spacing(0.5)\n },\n iconButtonStyle: {\n width: `${theme.spacing(3)}px !important`,\n height: `${theme.spacing(3)}px !important`,\n background: '#fff',\n borderRadius: 25,\n padding: 6\n },\n circularSkeleton: {\n borderRadius: '50%'\n }\n}));\n\nconst ActionItem = memo((props) => {\n const { icon, title, onClick, disabled, businessObjectKey='' } = props;\n const classes = useStyles();\n\n return (\n <IconButtonWithTooltip\n title={title}\n className={classes.icon}\n size='small'\n onClick={onClick}\n disabled={disabled}\n icon={icon}\n fluentIconClassName={classes.iconButtonStyle}\n id={'udpRecord-ActionsRenderer-'+title}//+'-'+businessObjectKey.replace(/\\./g, '')}\n udprecordid={'udpRecord-ActionsRenderer-'+title}//+'-'+businessObjectKey.replace(/\\./g, '')}\n />\n );\n});\n\nexport const ActionsRenderer = memo((props) => {\n const { data: value, actionList, onClick } = props;\n const classes = useStyles();\n const [sheetOpen, setSheetOpen] = useState(false);\n const [sheetItem, setSheetItem] = useState(null);\n const [dialogItem, setDialogItem] = useState(null);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n\n const openSheet = useCallback((sheetView) => {\n setSheetItem(sheetView);\n setSheetOpen(true);\n }, []);\n\n const openDialog = useCallback((dialogView) => {\n setDialogItem(dialogView);\n setDialogOpen(true);\n }, []);\n\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const closeDialog = useCallback(() => {\n setDialogOpen(false);\n }, []);\n\n const getSheetView = (actionItem) => {\n if (actionItem.opens === ClickOpenEnums.SideSheet) {\n const valuePropName = actionItem?.view?.properties?.valuePropName;\n if (valuePropName) {\n actionItem.view.properties[valuePropName] = value;\n }\n const closeSideSheetPropName =\n actionItem?.view?.properties?.closeSideSheetPropName;\n if (closeSideSheetPropName) {\n actionItem.view.properties[closeSideSheetPropName] = closeSheet;\n }\n }\n const properties = actionItem?.view?.properties || {};\n return {\n id: actionItem.id,\n title: actionItem.title || '',\n width: actionItem?.view?.width,\n children: actionItem?.view?.component({\n ...properties,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit\n })\n };\n };\n\n const getDialogView = (actionItem) => {\n if (actionItem.opens === ClickOpenEnums.Dialog) {\n const handleActionTwo = async () => {\n if (actionItem?.view?.properties?.actionTwo) {\n setIsLoading(true);\n await actionItem?.view?.properties?.actionTwo(value);\n setIsLoading(false);\n }\n closeDialog();\n };\n return {\n id: actionItem.id,\n title: actionItem?.title || '',\n closeDialog: closeDialog,\n message: actionItem?.view?.properties?.message,\n labelOne: actionItem?.view?.properties?.labelOne,\n actionTwo: handleActionTwo,\n labelTwo: actionItem?.view?.properties?.labelTwo\n };\n }\n };\n\n const displayActions = actionList.map((item, index) => {\n let onClick = () => item.onClick(value);\n let title = item.title;\n let disabled = item.disabled;\n if (item.opens === ClickOpenEnums.SideSheet) {\n const sheetView = getSheetView(item);\n onClick = () => openSheet(sheetView);\n }\n if (item.opens === ClickOpenEnums.Dialog) {\n const dialogView = getDialogView(item);\n onClick = () => openDialog(dialogView);\n }\n if (item.getTitle) {\n title = item.getTitle(value);\n }\n if (item.checkDisabled) {\n disabled = item.checkDisabled(value);\n }\n return (\n <>\n {item.loading && (\n <div style={{ display: 'inline-flex', marginRight: 10 }}>\n <Skeleton\n className={classes.circularSkeleton}\n width={24}\n height={40}\n />\n </div>\n )}\n {!item.loading && (\n <ActionItem\n key={`${item.id}-${index}`}\n title={title}\n icon={item.icon}\n onClick={onClick}\n disabled={disabled}\n businessObjectKey={value?.businessObjectKey}\n />\n )}\n </>\n );\n });\n\n /* Final Render */\n return (\n <div>\n {displayActions}\n <SideSheet\n open={sheetOpen}\n onClose={closeSheet}\n title={sheetItem?.title}\n width={sheetItem?.width || 600}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n >\n <div>{sheetItem?.children}</div>\n </SideSheet>\n <FluentDialog\n open={dialogOpen}\n handleClose={closeDialog}\n title={dialogItem?.title}\n message={dialogItem?.message}\n actionOne={dialogItem?.closeDialog}\n labelOne={dialogItem?.labelOne}\n actionTwo={dialogItem?.actionTwo}\n labelTwo={dialogItem?.labelTwo}\n progress={dialogItem?.isLoading}\n />\n </div>\n );\n});\n\nActionItem.displayName = 'ActionItem';\nActionsRenderer.displayName = 'ActionsRenderer';\n","import React, { useState } from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n hintContainer: {\n borderLeft: `3px solid ${theme.palette.primary.main}`\n },\n hintContent: {\n backgroundColor: '#F3F9FE',\n padding: `1rem`\n },\n hideHintButton: {\n border: 'none',\n background: 'none',\n cursor: 'pointer',\n color: '#0B79D0',\n textDecoration: 'none'\n },\n hidehelp: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n width: '100%'\n }\n}));\n\nexport const HintPanel = ({ hint, hideHintText }) => {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [showHint, setShowHint] = useState(true);\n\n const handleHideHint = () => {\n setShowHint(false);\n };\n\n return (\n <div className={classes.hintContainer}>\n {showHint && (\n <div className={classes.hintContent}>\n <div>{hint}</div>\n <div className={classes.hidehelp}>\n <button className={classes.hideHintButton} onClick={handleHideHint}>\n {hideHintText}\n </button>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nHintPanel.propTypes = {\n hint: PropTypes.string.isRequired, // Hint content to be displayed\n hideHintText: PropTypes.string.isRequired // Text for the hide hint button\n};\n","import {\n makeStyles,\n} from '@material-ui/core';\nimport React, {\n useCallback,\n useMemo,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { SideSheet } from '../surfaces/SideSheet';\nimport { useAgGridApi } from '../../utilities/aggrid/AgTable.tsx';\nimport { ActionsRenderer } from '../templates/ui/renderers/ActionsRenderer';\nimport {\n TableHeaderRowIcon,\n OpenInNewTabIcon\n} from '@fluentui/react-icons';\nimport Chip from '@material-ui/core/Chip';\nimport { HintPanel } from '../dataDisplay/HintPanel';\nimport PropTypes from 'prop-types';\nimport { VisibilityTypeEnums } from '../../enums/unitySystemEnums';\nimport { AmbientGridTemplate } from '../templates/AmbientGridTemplate';\n\nconst useStyles = makeStyles((theme) => ({\n publicChip: {\n backgroundColor: '#96d2ff',\n color: 'black',\n width: '60%'\n },\n privateChip: {\n backgroundColor: '#fce597',\n color: 'black',\n width: '60%'\n },\n}));\n\nconst GridViewsSideSheet = (props) => {\n const {\n onClose,\n open,\n openSaveView,\n rowData,\n setSelectedView,\n } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n const { gridApi, onGridReady } = useAgGridApi();\n const gApi = gridApi;\n\n const ChipRenderer = ({ onChange, value, id }) => {\n const handleChipClick = () => {\n onChange(id);\n };\n\n return (\n <Chip\n label={\n value === VisibilityTypeEnums.Public ? t('Public') : t('Private')\n }\n onClick={handleChipClick}\n className={\n value === VisibilityTypeEnums.Public\n ? classes.publicChip\n : classes.privateChip\n }\n size='small'\n />\n );\n };\n\n const setView = useCallback(\n (value) => {\n setSelectedView(value);\n onClose();\n },\n [setSelectedView, onClose]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1,\n title: t('Load View'),\n icon: OpenInNewTabIcon,\n onClick: setView,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Workflows'),\n icon: TableHeaderRowIcon,\n // onClick: handleDelete,\n disabled: false\n }\n ],\n [setView, t]\n );\n\n const gridOptions = {\n headerHeight: 0,\n frameworkComponents: {\n actionsRenderer: ActionsRenderer,\n chipRenderer: ChipRenderer\n },\n columnDefs: [\n {\n headerName: t('Name'),\n field: 'name'\n },\n {\n field: 'visibility',\n cellRenderer: 'chipRenderer',\n cellRendererParams: (params) => ({\n onChange: (id) => {},\n value: params.data.gridViewVisibilityTypeId\n })\n },\n {\n headerName: t('Actions'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n width: '100px',\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ]\n };\n\n return (\n <SideSheet\n id='udpRecord-GridViewsSideSheet'\n udprecordid='udpRecord-GridViewsSideSheet'\n open={open}\n onClose={onClose}\n width={'40%'}\n title='Select a View'\n buttonLabel={'Create View'}\n onSubmit={openSaveView}\n >\n <div style={{ marginBottom: 10 }}>\n <HintPanel\n hint='Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.'\n hideHintText='Hide Help'\n />\n </div>\n\n <AmbientGridTemplate\n gridOptions={gridOptions}\n title='Saved Views'\n rowData={rowData || []}\n onGridReady={onGridReady}\n suppressCellSelection={true}\n suppressRowClickSelection={true}\n sideBar={false}\n pivotMode={false}\n pivotPanelShow='never'\n animateRows={true}\n pagination={false}\n api={gApi}\n useNewHeader\n hiddenActionButtons={[\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ]}\n />\n </SideSheet>\n );\n};\n\nexport default GridViewsSideSheet;\n\nGridViewsSideSheet.propTypes = {\n onClose: PropTypes.func.isRequired, // Function called when the component is closed\n open: PropTypes.bool.isRequired, // Determines whether the component is open or closed\n selectedMethod: PropTypes.string, // Currently selected method (optional)\n catalog: PropTypes.array, // Array of catalog items (optional)\n openSaveView: PropTypes.func, // Function called when the \"Save View\" button is clicked (optional)\n setViewChips: PropTypes.func, // Function to set view chips (optional)\n setFilter: PropTypes.func, // Function to set filter (optional)\n rowData: PropTypes.array, // Array of row data (optional)\n setSelectedView: PropTypes.func, // Function to set selected view (optional)\n frameworkComponents: PropTypes.object, // Object containing framework components (optional)\n scrollToTopOnStateChange: PropTypes.bool, // Determines whether to scroll to the top on state change (optional)\n};\n","import React, { useState } from 'react';\nimport {\n Badge,\n Popover,\n MenuItem,\n Typography,\n Tooltip\n} from '@material-ui/core';\nimport { FluentButton } from '../inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { FluentIcon } from '../../utilities/FluentIcon';\nimport { AppIconDefaultIcon, ErrorIcon } from '@fluentui/react-icons';\n\nexport const BulkActionsGridButton = (props) => {\n const { numSelectedRows, bulkActions, triggerAction, domain } = props;\n\n const [actionsAnchorEl, setActionsAnchorEl] = useState(null);\n\n const handleBulkActionsClick = (event) => {\n setActionsAnchorEl(event.currentTarget);\n };\n\n const triggerBulkAction = (actionId) => {\n triggerAction(actionId);\n };\n\n const filterAction = (action) => {\n return !!domain\n ? JSON.parse(action?.parameters)?.entityName === domain\n : true;\n };\n\n return (\n <div style={{ marginTop: 5, marginLeft: 20 }}>\n <Badge badgeContent={numSelectedRows} color='secondary'>\n <FluentButton\n type='button'\n onClick={handleBulkActionsClick}\n variant='outlined'\n color='primary'\n endIcon={<FluentIcon component={ChevronDownIcon} size='small' />}\n >\n With Selected\n </FluentButton>\n </Badge>\n <Popover\n id={'actions'}\n open={Boolean(actionsAnchorEl)}\n anchorEl={actionsAnchorEl}\n onClose={() => setActionsAnchorEl(null)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {bulkActions &&\n bulkActions.map((action) => {\n const valid = filterAction(action);\n return (\n <Tooltip\n placement='right'\n title={\n !valid ? 'Action entity does not match data grid entity' : ''\n }\n >\n <span>\n <MenuItem\n onClick={() => triggerBulkAction(action.actionId)}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n disabled={!valid}\n >\n <Typography>{action.name}</Typography>\n <FluentIcon\n component={\n valid ? action.icon ?? AppIconDefaultIcon : ErrorIcon\n }\n style={{ marginLeft: 7 }}\n color={!valid && 'red'}\n />\n </MenuItem>\n </span>\n </Tooltip>\n );\n })}\n </Popover>\n </div>\n );\n};\n","export interface SearchOperator {\n value: string;\n label: string;\n}\n\nexport const SearchOperators: Array<SearchOperator> = [\n {\n value: '=',\n label: 'Equals'\n },\n {\n value: 'IN',\n label: 'Contains'\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: 'LIKE',\n label: 'Like'\n },\n {\n value: 'STARTSWITH',\n label: 'Starts With'\n },\n {\n value: 'BETWEEN',\n label: 'Between'\n }\n];\n\nexport const FilterOperators = {\n equals: '=',\n contains: 'LIKE',\n notEqual: '<>',\n greaterThan: '>',\n lessThan: '<',\n greaterThanOrEqual: '>=',\n lessThanOrEqual: '<=',\n between: 'BETWEEN',\n In: \"IN\",\n startsWith: \"STARTSWITH\"\n\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { makeStyles, LinearProgress, Grow } from '@material-ui/core';\nimport '../../style.css';\nimport { GridGroupingSidebar } from './ui/GridGroupingSidebar';\nimport { ServerSideRowModelModule } from '@ag-grid-enterprise/server-side-row-model';\nimport invariant from 'invariant';\nimport PropTypes from 'prop-types';\nimport { AgTable, useAgGridApi } from '../../utilities/aggrid/AgTable.tsx';\nimport { GridActionBar } from '../utilityDisplay/GridActionBar';\nimport { GridPrimaryBar } from '../utilityDisplay/GridPrimaryBar.jsx';\nimport { SaveViewFormDialog } from '../utilityDisplay/SaveViewFormDialog.jsx';\nimport { ChipSection } from '../utilityDisplay/ChipSection.jsx';\nimport GridViewsSideSheet from '../utilityDisplay/GridViewsSideSheet.jsx';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { onFirstDataRendered } from '../../utilities/aggrid/GridFunctions';\nimport { BulkActionsGridButton } from '../utilityDisplay/BulkActionsGridButton';\nimport { useActions } from '../../hooks/useActions';\nimport { FilterOperators } from '../../models/SearchOperator';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n pab: {\n display: 'flex',\n [theme.breakpoints.between('xs', 'sm')]: {\n position: 'fixed',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n zIndex: theme.zIndex.appBar\n }\n },\n groupSideBar: {\n width: 225\n },\n gridApi: {\n display: 'flex'\n }\n}));\nexport const AmbientGridTemplate = (props) => {\n const {\n additionalFilters,\n api,\n apiMethod,\n applicationName,\n bulkActionFunctions,\n clearGridConfig,\n columnApi,\n columnDefs,\n data,\n defaultAutoSize,\n deleteGridConfig,\n disablePagination,\n disableDynamicSizing,\n disableRowSelection,\n entityName,\n filterChips = [],\n filters,\n frameworkComponents,\n gridReady,\n gridId,\n groupingData,\n height,\n hideFitGrid,\n hideExpandGrid,\n hideExportGrid,\n hideRemoveFilters,\n hideFilterTab,\n hideGroupTab,\n hideColumnTab,\n hideSearchBar,\n hiddenLabels,\n hiddenActionButtons = [],\n kpiValues = [],\n loading = false,\n onRowSelected,\n onSearch,\n onPrimaryActionClick,\n paginationPageSize = 20,\n primaryActionButton,\n primaryActionDisabled,\n primaryActionLabel,\n primaryActionIcon,\n rowModelType = 'clientSide',\n rowNodeIdName,\n saveGridConfig,\n scrollToTopOnStateChange,\n secondaryActionButtons,\n title,\n tenantName,\n hideHeader,\n useNewHeader,\n insightsClick,\n user,\n id,\n udprecordid,\n additionalGridOptions = {},\n headerBackgroundColor,\n onSearchKeyDown,\n ...otherGridProps\n } = props;\n\n const classes = useStyles();\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const [isVisible, setIsVisible] = useState();\n const [sidebarIsVisible, setSidebarIsVisible] = useState(false);\n const [showGroupOptions, setShowGroupOptions] = useState(false);\n const [selectedRow, setSelectedRow] = useState(null);\n const [value, setValue] = useState(0);\n const [saveViewOpen, setSaveViewOpen] = useState(false);\n const [defaultViews, setDefaultViews] = useState([]);\n const [viewsOpen, setViewsOpen] = useState(false);\n const [agGridOptions, setAgGridOptions] = useState({\n frameworkComponents: frameworkComponents,\n suppressScrollOnNewData: !scrollToTopOnStateChange,\n ...additionalGridOptions\n });\n const gApi = api || gridApi;\n const gcApi = columnApi || gridColumnApi;\n\n const [viewChips, setViewChips] = useState([]);\n const [additionalFilterChips, setAdditionalFilterChips] =\n useState(additionalFilters);\n const [columnDefsValues, setColumnDefsValues] = useState(null);\n const [selectedView, setSelectedView] = useState(null);\n const [viewsRowData, setViewsRowData] = useState(null);\n const [nonDefaultViewsRowData, setNonDefaultViewsRowData] = useState();\n const [numSelectedRows, setNumSelectedRows] = useState(0);\n const [domain, setDomain] = useState(null);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n\n const { triggerAction } = useActions();\n\n useEffect(() => {\n if (apiMethod) {\n setDomain(apiMethod.entityName);\n setApiCatalogId(apiMethod.apiCatalogId);\n }\n }, [apiMethod, setDomain, setApiCatalogId]);\n\n const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true,\n filterParams: {\n filterOptions: rowModelType === 'serverSide' ? Object.keys(FilterOperators) : undefined\n }\n };\n\n const handleChange = (event, newValue) => {\n event.preventDefault();\n setValue((preValue) => {\n if (newValue === preValue && newValue !== 1) {\n gApi.setSideBarVisible(!gApi.isSideBarVisible());\n } else if (newValue === 0) {\n gApi.setSideBarVisible(true);\n gApi.openToolPanel('filters');\n setShowGroupOptions(false);\n } else if (newValue === 1) {\n showGrouping();\n gApi.setSideBarVisible(false);\n } else {\n gApi.setSideBarVisible(true);\n gApi.openToolPanel('columns');\n setShowGroupOptions(false);\n }\n\n return newValue;\n });\n };\n\n const onFilterClick = (event) => {\n event.preventDefault();\n gApi.setSideBarVisible(!gApi.isSideBarVisible());\n gApi.openToolPanel('filters');\n setShowGroupOptions(false);\n setValue(0);\n setSidebarIsVisible(!sidebarIsVisible);\n };\n\n const onGroupClick = (event) => {\n // event.preventDefault();\n // // gApi.setSideBarVisible(!gApi.isSideBarVisible());\n // showGrouping();\n // setValue(1);\n alert('Group button clicked');\n };\n\n const onColumnsClick = (event) => {\n event.preventDefault();\n gApi.setSideBarVisible(!gApi.isSideBarVisible());\n gApi.openToolPanel('columns');\n setShowGroupOptions(false);\n setValue(2);\n setSidebarIsVisible(!sidebarIsVisible);\n };\n\n const emptyArr = [];\n\n const handleRowSelected = useCallback(\n (event) => {\n if (!gApi) return;\n const selectedRows = gApi.getSelectedRows();\n setNumSelectedRows(selectedRows.length); //for bulk actions ui\n const row = selectedRows.length && selectedRows[0];\n setSelectedRow(row);\n if (onRowSelected) {\n onRowSelected(event, row);\n }\n },\n [gApi, onRowSelected]\n );\n\n const setSideBarInvisible = () => {\n if (gApi.isSideBarVisible()) {\n gApi.setSideBarVisible(false);\n setIsVisible(false);\n } else {\n gApi.setSideBarVisible(true);\n gApi.openToolPanel('filters');\n setShowGroupOptions(false);\n setIsVisible(true);\n }\n };\n\n const handleFilterChange = (event) => {\n gApi.setQuickFilter(event.target.value);\n };\n\n // Sets Grouping on grid based on passed filter string\n const groupGridItems = (groupItem) => {\n gcApi.setRowGroupColumns([groupItem]);\n gApi.expandAll();\n // setToggleFlag(groupItem)\n };\n\n const restoreGridDefault = () => {\n gApi.setQuickFilter('');\n gcApi.setRowGroupColumns([]);\n gApi.setFilterModel(null);\n gApi.setQuickFilter('');\n gcApi.resetColumnState();\n };\n\n const showGrouping = () => {\n setShowGroupOptions(!showGroupOptions);\n gApi.setSideBarVisible(false);\n };\n\n const expandGroupedGrid = () => {\n gApi.expandAll();\n };\n\n const collapseGroupedGrid = () => {\n gApi.collapseAll();\n };\n\n const fitToSpace = () => {\n gApi.sizeColumnsToFit();\n };\n\n const exportGrid = () => {\n gApi.exportDataAsCsv({\n allColumns: true,\n fileName: 'export'\n });\n };\n\n const openSaveView = () => {\n setColumnDefsValues(JSON.stringify(gcApi.getColumnState()));\n setSaveViewOpen(true);\n };\n\n const closeSaveView = () => {\n setSaveViewOpen(false);\n };\n\n const openViews = useCallback(() => {\n setViewsOpen(true);\n },[]);\n\n const closeViews = () => {\n setViewsOpen(false);\n };\n\n const handleTriggerAction = useCallback(\n (actionId) => {\n if (triggerAction && gApi) {\n triggerAction(actionId, gApi.getSelectedRows());\n }\n },\n [triggerAction, gApi]\n );\n\n const autoSizeAll = useCallback(\n (skipHeader) => {\n invariant(gcApi, `gridColumnApi not ready`);\n const allColumnIds = [];\n gcApi.getAllColumns().forEach((column) => {\n allColumnIds.push(column.getColId());\n });\n gcApi.autoSizeColumns(allColumnIds, skipHeader);\n },\n [gcApi]\n );\n\n const autoSizeAllWithoutHeader = useCallback(\n () => autoSizeAll(false),\n [autoSizeAll]\n );\n\n const firstDataRendered = useCallback(\n (params) => {\n // Size columns to fit after the first data render\n !defaultAutoSize && params?.api.sizeColumnsToFit();\n\n defaultAutoSize && autoSizeAllWithoutHeader();\n },\n [defaultAutoSize, autoSizeAllWithoutHeader]\n );\n\n useEffect(() => {\n if (!gApi) return;\n\n setSelectedRow(gApi.getSelectedRows()?.length && gApi.getSelectedRows()[0]);\n selectedRow && gApi.ensureNodeVisible(selectedRow);\n }, [gApi, selectedRow]);\n\n const handleChipDelete = (chipType, chipIndex) => {\n switch (chipType) {\n case 'view':\n setViewChips((prevChips) =>\n prevChips.filter((_, index) => index !== chipIndex)\n );\n setSelectedView(null);\n gcApi.resetColumnState();\n gApi.sizeColumnsToFit();\n break;\n case 'additionalFilter':\n setAdditionalFilterChips((prevChips) => {\n if (prevChips[chipIndex]?.onUntoggle) {\n prevChips[chipIndex]?.onUntoggle();\n }\n return prevChips.filter((_, index) => index !== chipIndex);\n });\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n if (viewsRowData?.length > 0) {\n const DefaultViews = viewsRowData.reduce((acc, row) => {\n if (row.isDefault) {\n return [...acc, row];\n }\n return acc;\n }, []);\n\n const nonDefaultViews = viewsRowData.reduce((acc, row) => {\n if (!row.isDefault) {\n return [...acc, row];\n }\n return acc;\n }, []);\n setDefaultViews(DefaultViews);\n setNonDefaultViewsRowData(nonDefaultViews);\n }\n }, [viewsRowData]);\n\n // Function to handle closing the side sheet\n // const handleSideSheetClose = () => {\n // setIsSideSheetOpen(false);\n // };\n\n const setView = useCallback(\n (value) => {\n const columnState = value?.gridViewGridViewGridConfiguration.map(\n (ele) => ele.gridViewGridConfigurationGridConfiguration\n );\n setViewChips((prevChips) => [{ label: value?.name }]);\n onFirstDataRendered(gApi, gcApi, columnState);\n },\n [setViewChips, gApi, gcApi]\n );\n\n const setFilter = (value) => {\n // todo: filter will come from the ApiMethodInstance endpoint\n };\n\n const [{ data: views }, refetch] = useAxiosGet(\n ConfigService.tenantV2ApiUrl,\n `GridView/getFromUser/${user?.id}/${gridId}`,\n {\n params: {\n domainName: domain,\n apiCatalogId: apiCatalogId\n }\n },\n !!!ConfigService.tenantV2ApiUrl || !!!gridId || !!!user\n );\n\n const [{ data: bulkActions }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `action/grid/${gridId}`,\n {},\n !!!ConfigService.integrationV2ApiUrl || !!!gridId\n );\n\n useEffect(() => {\n setViewsRowData(views);\n }, [openViews, views]);\n\n const getView = useCallback(async () => {\n await apiMutate(\n ConfigService.tenantV2ApiUrl,\n `GridView/${selectedView.gridViewId}/PartiallyFull`,\n {\n method: 'get'\n }\n )\n .then((response) => {\n setView(response.data);\n })\n .catch((error) => {\n console.log(error);\n });\n }, [selectedView, setView]);\n\n useEffect(() => {\n if (!selectedView?.gridViewId) {\n gcApi?.resetColumnState();\n gApi?.sizeColumnsToFit();\n return undefined;\n }\n getView();\n\n // No cleanup function needed, so return undefined\n return undefined;\n }, [setSelectedView, selectedView, gcApi, gApi, getView]);\n\n useEffect(() => {\n if (additionalFilters) {\n setAdditionalFilterChips(additionalFilters);\n }\n }, [additionalFilters]);\n\n return (\n <>\n {/* Must wait for gApi to be instantiated before rendering primary bar */}\n {!hideHeader && useNewHeader && gApi && (\n <GridPrimaryBar\n title={title}\n showFilter={setSideBarInvisible}\n selected={isVisible}\n onChange={onSearch || handleFilterChange}\n showGroup={showGrouping}\n value={value}\n saveViewClick={openSaveView}\n viewsClick={openViews}\n handleChange={handleChange}\n fitClick={fitToSpace}\n expandClick={autoSizeAllWithoutHeader}\n exportClick={exportGrid}\n insightsClick={insightsClick}\n clearClick={restoreGridDefault}\n filterClick={onFilterClick}\n columnsClick={onColumnsClick}\n // groupClick={onGroupClick}\n hideSearchBar={hideSearchBar}\n secondaryActionButtons={secondaryActionButtons || []}\n onPrimaryActionClick={onPrimaryActionClick}\n primaryActionDisabled={primaryActionDisabled}\n primaryActionLabel={primaryActionLabel}\n primaryActionIcon={primaryActionIcon}\n hiddenActionButtons={hiddenActionButtons || []}\n hiddenLabels={hiddenLabels || []}\n background={headerBackgroundColor}\n onSearchKeyDown={onSearchKeyDown}\n />\n )}\n {useNewHeader &&\n (kpiValues?.length > 0 ||\n filterChips?.length > 0 ||\n filters?.length > 0 ||\n viewChips?.length > 0 ||\n additionalFilterChips?.length > 0) && (\n <div style={{ display: 'flex', flexDirection: 'row', height: 40 }}>\n <Grow in={bulkActions && numSelectedRows > 0} unmountOnExit>\n <BulkActionsGridButton\n bulkActions={bulkActions}\n numSelectedRows={numSelectedRows}\n triggerAction={handleTriggerAction}\n domain={domain}\n />\n </Grow>\n\n <ChipSection\n filterChips={filterChips}\n viewChips={viewChips}\n additionalFilterChips={additionalFilterChips}\n kpiValues={kpiValues}\n handleDelete={handleChipDelete}\n setAdditionalFilterChips={setAdditionalFilterChips}\n setViewChips={setViewChips}\n setFilter={setFilter}\n />\n </div>\n )}\n\n {useNewHeader && gApi && gcApi && (\n <GridViewsSideSheet\n open={viewsOpen}\n onClose={closeViews}\n openSaveView={openSaveView}\n setViewChips={setViewChips}\n setFilter={setView}\n rowData={views}\n setSelectedView={setSelectedView}\n />\n )}\n\n {!hideHeader && !useNewHeader && (\n <GridActionBar\n title={title}\n showFilter={setSideBarInvisible}\n selected={isVisible}\n onChange={onSearch || handleFilterChange}\n showGroup={showGrouping}\n value={value}\n handleChange={handleChange}\n fitClick={fitToSpace}\n expandClick={autoSizeAllWithoutHeader}\n exportClick={exportGrid}\n clearClick={restoreGridDefault}\n saveGridConfig={saveGridConfig}\n deleteGridConfig={deleteGridConfig}\n clearGridConfig={clearGridConfig}\n hideFitGrid={hideFitGrid}\n hideExpandGrid={hideExpandGrid}\n hideExportGrid={hideExportGrid}\n hideRemoveFilters={hideRemoveFilters}\n hideFilterTab={hideFilterTab}\n hideGroupTab={hideGroupTab}\n hideColumnTab={hideColumnTab}\n hideSearchBar={hideSearchBar}\n >\n {primaryActionButton && (\n <div className={classes.pab}>{primaryActionButton}</div>\n )}\n </GridActionBar>\n )}\n\n {loading && <LinearProgress />}\n <div style={{ display: 'flex' }}>\n <div style={{ width: '100%' }}>\n <AgTable\n {...agGridOptions}\n columnDefs={columnDefs}\n dynamicSizing={!disableDynamicSizing}\n rowData={data || emptyArr}\n onGridReady={gridReady || onGridReady}\n onRowSelected={handleRowSelected}\n suppressCellSelection={true}\n suppressRowClickSelection={false}\n defaultColDef={defaultColActionsDef}\n enableRangeSelection={true}\n enableColResize\n sideBar={sidebarIsVisible}\n pivotMode={false}\n pivotPanelShow='never'\n groupSelectsChildren={true}\n animateRows={false}\n pagination={!disablePagination}\n showOpenedGroup={true}\n paginateChildRows={true}\n paginationPageSize={paginationPageSize}\n modules={\n rowModelType === 'serverSide' ? [ServerSideRowModelModule] : []\n }\n onFirstDataRendered={firstDataRendered}\n rowModelType={rowModelType}\n rowClassRules={{\n 'first-row-in-group': (params) =>\n params.node.rowIndex !== 0 && params.node.firstChild\n }}\n height={height}\n api={gApi}\n rowSelection={\n !disableRowSelection && (bulkActions ? 'multiple' : 'single')\n }\n hideHeader={hideHeader}\n {...otherGridProps}\n />\n </div>\n {showGroupOptions && (\n <div className={classes.groupSideBar}>\n <GridGroupingSidebar\n groupItem={(item) => groupGridItems(item)}\n closeClick={() => groupGridItems('')}\n expandClick={expandGroupedGrid}\n collapseClick={collapseGroupedGrid}\n groupingData={groupingData}\n height={height}\n />\n </div>\n )}\n {!hiddenActionButtons?.includes('saveView') && (\n <SaveViewFormDialog\n open={saveViewOpen}\n handleClose={closeSaveView}\n application={applicationName}\n tenant={tenantName}\n user={user}\n columnDefsValues={columnDefsValues}\n refetchViews={refetch}\n gApi={gApi}\n gcApi={gcApi}\n setSelectedView={setView}\n gridId={gridId}\n domain={domain}\n apiCatalogId={apiCatalogId}\n />\n )}\n </div>\n </>\n );\n};\n\nAmbientGridTemplate.propTypes = {\n /**\n * Column Definitions for Ag Grid\n */\n columnDefs: PropTypes.array,\n /**\n * AG Grid function for onRowSelected\n */\n handleRowSelected: PropTypes.func,\n /**\n * Data array for AG Grid\n */\n data: PropTypes.array,\n /**\n * Title of the grid\n */\n title: PropTypes.string,\n /**\n * Array of data to allow for custom grouping, example: {groupItem: 'instructors', label: 'Instructors', value: 'instructors'}\n */\n groupingData: PropTypes.array,\n /**\n * Grid Options\n */\n frameworkComponents: PropTypes.object,\n /**\n * Handle loading status with progress animation\n */\n loading: PropTypes.bool,\n /**\n * Primary Action Button Component\n */\n primaryActionButton: PropTypes.object,\n /**\n * name of the property for the id\n */\n rowNodeIdName: PropTypes.string,\n /**\n * Sets the grid default to expaned size if true. The default is 'size to fit'.\n */\n defaultAutoSize: PropTypes.bool,\n /**\n * Scrolls the grid back to the top on state change if true, otherwise maintains scroll position. The default is false.\n */\n scrollToTopOnStateChange: PropTypes.bool,\n /**\n * Disable dynamicSizing so that the grid size stays the same regardless of the window size if true. The default is false.\n */\n disableDynamicSizing: PropTypes.bool,\n /**\n * An array of filter chips.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of view chips.\n */\n views: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of additional filter chips.\n */\n additionalFilters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of KPI values.\n */\n kpis: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired\n })\n ),\n /**\n * Enable the new header for data grids v2 if true. The default is false.\n */\n useNewHeader: PropTypes.bool,\n /**\n * Passes function that executes on the insights button click\n */\n insightsClick: PropTypes.func,\n /*\n * Specifies which action buttons to hide\n */\n hiddenActionButtons: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /*\n * Specifies which action button labels to hide\n */\n hiddenLabels: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /**\n * Passes function that executes on the primary action button click\n */\n onPrimaryActionClick: PropTypes.func,\n /**\n * Specifies the label for the primary action button\n */\n primaryActionLabel: PropTypes.string,\n /**\n * Specifies the icon for the primary action button\n */\n primaryActionIcon: PropTypes.elementType,\n /**\n * An array of objects that will be used to create the secondary action buttons. The default is an empty array.\n */\n secondaryActionButtons: PropTypes.array,\n /**\n * The name of the application that the grid is being used in\n */\n applicationName: PropTypes.string,\n /**\n * The name of the entity that the data in the grid is associated with\n */\n entityName: PropTypes.string,\n /**\n * The name of the tenant that is currently logged in\n */\n tenantName: PropTypes.string,\n /**\n * User object (optional)\n */\n user: PropTypes.object,\n /**\n * Array of KPI values (optional)\n */\n kpiValues: PropTypes.array\n};\n"],"mappings":"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"}