udp-react-enterprise-component-library 25.18.1-beta.50 → 25.18.1-beta.51

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 (288) hide show
  1. package/dist/{ActionProvider-C_rohJIr.js → ActionProvider-DGzli-X1.js} +4 -4
  2. package/dist/{ActionProvider-C_rohJIr.js.map → ActionProvider-DGzli-X1.js.map} +1 -1
  3. package/dist/{ActionSplitScreen-OFqIncG9.js → ActionSplitScreen-gKH4ISoo.js} +5 -5
  4. package/dist/{ActionSplitScreen-OFqIncG9.js.map → ActionSplitScreen-gKH4ISoo.js.map} +1 -1
  5. package/dist/{ActionWrapper-d9dIOSYB.js → ActionWrapper-Bpp9Mn4j.js} +8 -8
  6. package/dist/{ActionWrapper-d9dIOSYB.js.map → ActionWrapper-Bpp9Mn4j.js.map} +1 -1
  7. package/dist/{AggregateChip-6GSEsL_A.js → AggregateChip-BF7S3x_K.js} +3 -3
  8. package/dist/{AggregateChip-6GSEsL_A.js.map → AggregateChip-BF7S3x_K.js.map} +1 -1
  9. package/dist/{AmbientGridTemplate-D0GSZj4a.js → AmbientGridTemplate-D1TMpzxb.js} +4 -4
  10. package/dist/{AmbientGridTemplate-D0GSZj4a.js.map → AmbientGridTemplate-D1TMpzxb.js.map} +1 -1
  11. package/dist/{AppMenu-DW1oQdFA.js → AppMenu-oGJtO6Vp.js} +2 -2
  12. package/dist/{AppMenu-DW1oQdFA.js.map → AppMenu-oGJtO6Vp.js.map} +1 -1
  13. package/dist/{AuthProvider-qWjJiYSg.js → AuthProvider-V_6y6_xj.js} +3 -3
  14. package/dist/{AuthProvider-qWjJiYSg.js.map → AuthProvider-V_6y6_xj.js.map} +1 -1
  15. package/dist/{BaseTreeMenu-CBFIl0VF.js → BaseTreeMenu-Dg8MW4TD.js} +4 -4
  16. package/dist/{BaseTreeMenu-CBFIl0VF.js.map → BaseTreeMenu-Dg8MW4TD.js.map} +1 -1
  17. package/dist/{BioCardWrapper-BiRI3EDR.js → BioCardWrapper-B2bT-4zw.js} +2 -2
  18. package/dist/{BioCardWrapper-BiRI3EDR.js.map → BioCardWrapper-B2bT-4zw.js.map} +1 -1
  19. package/dist/{BulkActionsGridButton-uhTB0AGy.js → BulkActionsGridButton-JYgIABWU.js} +3 -3
  20. package/dist/{BulkActionsGridButton-uhTB0AGy.js.map → BulkActionsGridButton-JYgIABWU.js.map} +1 -1
  21. package/dist/{CircleButton-B9JAMG53.js → CircleButton-CrvnPHDw.js} +2 -2
  22. package/dist/{CircleButton-B9JAMG53.js.map → CircleButton-CrvnPHDw.js.map} +1 -1
  23. package/dist/{CrudBrowserContainer-De2WRDIH.js → CrudBrowserContainer-DJHq5ILl.js} +2 -2
  24. package/dist/{CrudBrowserContainer-De2WRDIH.js.map → CrudBrowserContainer-DJHq5ILl.js.map} +1 -1
  25. package/dist/{CrudForm-B5VDs-17.js → CrudForm-C9xMnPoA.js} +2 -2
  26. package/dist/{CrudForm-B5VDs-17.js.map → CrudForm-C9xMnPoA.js.map} +1 -1
  27. package/dist/{CrudTableSidePanel-DnxJx49i.js → CrudTableSidePanel-CNEZxJi0.js} +3 -3
  28. package/dist/{CrudTableSidePanel-DnxJx49i.js.map → CrudTableSidePanel-CNEZxJi0.js.map} +1 -1
  29. package/dist/{DataBrowserContainer-DZGhEt9N.js → DataBrowserContainer-cU_EEIiR.js} +6 -6
  30. package/dist/{DataBrowserContainer-DZGhEt9N.js.map → DataBrowserContainer-cU_EEIiR.js.map} +1 -1
  31. package/dist/{EntityHeader-DiOEw-za.js → EntityHeader-DKkYwvsi.js} +4 -4
  32. package/dist/{EntityHeader-DiOEw-za.js.map → EntityHeader-DKkYwvsi.js.map} +1 -1
  33. package/dist/{FieldArrayCard-DeZ7Q9KB.js → FieldArrayCard-C1I5_qJ4.js} +2 -2
  34. package/dist/{FieldArrayCard-DeZ7Q9KB.js.map → FieldArrayCard-C1I5_qJ4.js.map} +1 -1
  35. package/dist/{FluentCell-D2lpxw4O.js → FluentCell-F9eits6u.js} +2 -2
  36. package/dist/{FluentCell-D2lpxw4O.js.map → FluentCell-F9eits6u.js.map} +1 -1
  37. package/dist/{FluentDataTable-ChpZUwal.js → FluentDataTable-BSQ_EHJX.js} +2 -2
  38. package/dist/{FluentDataTable-ChpZUwal.js.map → FluentDataTable-BSQ_EHJX.js.map} +1 -1
  39. package/dist/{GridFunctions-CRTDIOe0.js → GridFunctions-D76ygiH2.js} +2 -2
  40. package/dist/{GridFunctions-CRTDIOe0.js.map → GridFunctions-D76ygiH2.js.map} +1 -1
  41. package/dist/{GroupNode-Djp62Urb.js → GroupNode-CZX--ble.js} +2 -2
  42. package/dist/{GroupNode-Djp62Urb.js.map → GroupNode-CZX--ble.js.map} +1 -1
  43. package/dist/{IconRenderer-JdCm70xC.js → IconRenderer-BEezfZ3N.js} +2 -2
  44. package/dist/{IconRenderer-JdCm70xC.js.map → IconRenderer-BEezfZ3N.js.map} +1 -1
  45. package/dist/{Inquiry-Cjz91wf_.js → Inquiry-BCu8bSal.js} +12 -12
  46. package/dist/{Inquiry-Cjz91wf_.js.map → Inquiry-BCu8bSal.js.map} +1 -1
  47. package/dist/Inquiry-NWBPf-o4.js +3 -0
  48. package/dist/{InquiryNodeControls-B677QFu4.js → InquiryNodeControls-DeK_hTzo.js} +2 -2
  49. package/dist/{InquiryNodeControls-B677QFu4.js.map → InquiryNodeControls-DeK_hTzo.js.map} +1 -1
  50. package/dist/{InquirySearchContainer-BnHwUWFC.js → InquirySearchContainer-DLkAOjWJ.js} +5 -5
  51. package/dist/{InquirySearchContainer-BnHwUWFC.js.map → InquirySearchContainer-DLkAOjWJ.js.map} +1 -1
  52. package/dist/MenuPage-R6mbeCuS.js +3 -0
  53. package/dist/{MenuPage-fqEs3MSY.js → MenuPage-tkkhpco5.js} +4 -4
  54. package/dist/{MenuPage-fqEs3MSY.js.map → MenuPage-tkkhpco5.js.map} +1 -1
  55. package/dist/{MenuProvider-rwBliXcV.js → MenuProvider-BuTAUs0Z.js} +2 -2
  56. package/dist/{MenuProvider-rwBliXcV.js.map → MenuProvider-BuTAUs0Z.js.map} +1 -1
  57. package/dist/{MttMainTimeline-nusYDWg_.js → MttMainTimeline-BG6nlcC_.js} +2 -2
  58. package/dist/{MttMainTimeline-nusYDWg_.js.map → MttMainTimeline-BG6nlcC_.js.map} +1 -1
  59. package/dist/{MttSummary-DWESRW7k.js → MttSummary-DP2U55LK.js} +3 -3
  60. package/dist/{MttSummary-DWESRW7k.js.map → MttSummary-DP2U55LK.js.map} +1 -1
  61. package/dist/MyExportsPage-DFIMneFr.js +3 -0
  62. package/dist/{MyExportsPage-CeeH8ViY.js → MyExportsPage-zKRz4fL5.js} +2 -2
  63. package/dist/{MyExportsPage-CeeH8ViY.js.map → MyExportsPage-zKRz4fL5.js.map} +1 -1
  64. package/dist/{NotesScreen-DE3fhpjW.js → NotesScreen-DQatppnX.js} +6 -6
  65. package/dist/{NotesScreen-DE3fhpjW.js.map → NotesScreen-DQatppnX.js.map} +1 -1
  66. package/dist/{PageActionWrapper-C-irIPLE.js → PageActionWrapper-BBkGtnC6.js} +3 -3
  67. package/dist/{PageActionWrapper-C-irIPLE.js.map → PageActionWrapper-BBkGtnC6.js.map} +1 -1
  68. package/dist/{PageRenderer-AfVo1f0z.js → PageRenderer-BTkUO-hr.js} +2 -2
  69. package/dist/{PageRenderer-AfVo1f0z.js.map → PageRenderer-BTkUO-hr.js.map} +1 -1
  70. package/dist/{PaymentForm-CRlhsB2F.js → PaymentForm-CtrVBoH8.js} +2 -2
  71. package/dist/{PaymentForm-CRlhsB2F.js.map → PaymentForm-CtrVBoH8.js.map} +1 -1
  72. package/dist/{RecentlyLoadedNodesTable-8WQBaAl4.js → RecentlyLoadedNodesTable-Dy8yBVfH.js} +2 -2
  73. package/dist/{RecentlyLoadedNodesTable-8WQBaAl4.js.map → RecentlyLoadedNodesTable-Dy8yBVfH.js.map} +1 -1
  74. package/dist/{RecentlyLoadedNodesWidget--NDwNQQF.js → RecentlyLoadedNodesWidget-C5chQWOm.js} +2 -2
  75. package/dist/{RecentlyLoadedNodesWidget--NDwNQQF.js.map → RecentlyLoadedNodesWidget-C5chQWOm.js.map} +1 -1
  76. package/dist/{RemindersCard-CSJ8buYt.js → RemindersCard-BOSGv9pc.js} +4 -4
  77. package/dist/{RemindersCard-CSJ8buYt.js.map → RemindersCard-BOSGv9pc.js.map} +1 -1
  78. package/dist/{RemindersScreen-CyT18piP.js → RemindersScreen-Cp7lMWrE.js} +6 -6
  79. package/dist/{RemindersScreen-CyT18piP.js.map → RemindersScreen-Cp7lMWrE.js.map} +1 -1
  80. package/dist/{RemindersWidget-B3qlh8K-.js → RemindersWidget-BnaccE9-.js} +5 -5
  81. package/dist/{RemindersWidget-B3qlh8K-.js.map → RemindersWidget-BnaccE9-.js.map} +1 -1
  82. package/dist/{SearchServiceDatasource-BrfkHkEq.js → SearchServiceDatasource-D8egrLwe.js} +3 -3
  83. package/dist/{SearchServiceDatasource-BrfkHkEq.js.map → SearchServiceDatasource-D8egrLwe.js.map} +1 -1
  84. package/dist/{SearchUtilities-B1TCyppF.js → SearchUtilities-DUW0kaw_.js} +2 -2
  85. package/dist/{SearchUtilities-B1TCyppF.js.map → SearchUtilities-DUW0kaw_.js.map} +1 -1
  86. package/dist/{Shell-CL_ENLg6.js → Shell-DunAQ9XC.js} +9 -9
  87. package/dist/{Shell-CL_ENLg6.js.map → Shell-DunAQ9XC.js.map} +1 -1
  88. package/dist/{ShortcutContentFinder-DTkqEgtI.js → ShortcutContentFinder-BR-Gd55o.js} +5 -5
  89. package/dist/{ShortcutContentFinder-DTkqEgtI.js.map → ShortcutContentFinder-BR-Gd55o.js.map} +1 -1
  90. package/dist/{SiteHeader-6rdY93D_.js → SiteHeader-CuOFCr7D.js} +5 -5
  91. package/dist/{SiteHeader-6rdY93D_.js.map → SiteHeader-CuOFCr7D.js.map} +1 -1
  92. package/dist/{Statistic-ChTR_kas.js → Statistic-CB8UpsW4.js} +2 -2
  93. package/dist/{Statistic-ChTR_kas.js.map → Statistic-CB8UpsW4.js.map} +1 -1
  94. package/dist/{TableContainer-CcHjtMCa.js → TableContainer-B0IAjIA3.js} +3 -3
  95. package/dist/{TableContainer-CcHjtMCa.js.map → TableContainer-B0IAjIA3.js.map} +1 -1
  96. package/dist/{TenantProvider-C-3eqCA3.js → TenantProvider-B_fwoUi4.js} +6 -6
  97. package/dist/TenantProvider-B_fwoUi4.js.map +1 -0
  98. package/dist/{TreeUtilities-VCy2z4Qv.js → TreeUtilities-jEhtZNg5.js} +4 -4
  99. package/dist/{TreeUtilities-VCy2z4Qv.js.map → TreeUtilities-jEhtZNg5.js.map} +1 -1
  100. package/dist/UI/accordion/index.js +1 -1
  101. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +1 -1
  102. package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
  103. package/dist/UI/dataDisplay/entityHeader/index.js +1 -1
  104. package/dist/UI/dataDisplay/index.js +1 -1
  105. package/dist/UI/fileViewer/index.js +1 -1
  106. package/dist/UI/floorplans/index.js +1 -1
  107. package/dist/UI/forms/index.js +1 -1
  108. package/dist/UI/index.js +14 -14
  109. package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
  110. package/dist/UI/mapLayout/index.js +1 -1
  111. package/dist/UI/mapLayout/ui/index.js +1 -1
  112. package/dist/UI/navigation/index.js +1 -1
  113. package/dist/UI/navigation/menus/index.js +1 -1
  114. package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +1 -1
  115. package/dist/UI/templates/ui/renderers/index.js +1 -1
  116. package/dist/UI/timeline/fluentTimeline/index.js +1 -1
  117. package/dist/UI/timeline/index.js +1 -1
  118. package/dist/UI/utilityDisplay/alerts/index.js +1 -1
  119. package/dist/UI/utilityDisplay/index.js +5 -5
  120. package/dist/UI/utilityDisplay/utilities/index.js +1 -1
  121. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
  122. package/dist/UI/widgets/library/RemindersWidget/index.js +1 -1
  123. package/dist/{UdpAlertsContainer-Dz76Kg2v.js → UdpAlertsContainer-CbiqX1P0.js} +4 -4
  124. package/dist/{UdpAlertsContainer-Dz76Kg2v.js.map → UdpAlertsContainer-CbiqX1P0.js.map} +1 -1
  125. package/dist/{UdpAppProvider-XtIYbmNb.js → UdpAppProvider-D7D0F8VO.js} +2 -2
  126. package/dist/{UdpAppProvider-XtIYbmNb.js.map → UdpAppProvider-D7D0F8VO.js.map} +1 -1
  127. package/dist/{UdpAuditEvents-Bqz0_-Du.js → UdpAuditEvents-JP-tGjrh.js} +2 -2
  128. package/dist/{UdpAuditEvents-Bqz0_-Du.js.map → UdpAuditEvents-JP-tGjrh.js.map} +1 -1
  129. package/dist/UdpAuditEventsPage-BiUdXrGu.js +3 -0
  130. package/dist/{UdpAuditEventsPage-CobHOioY.js → UdpAuditEventsPage-CohNvZiq.js} +2 -2
  131. package/dist/{UdpAuditEventsPage-CobHOioY.js.map → UdpAuditEventsPage-CohNvZiq.js.map} +1 -1
  132. package/dist/{UdpDataBrowserPage-B-afkKoz.js → UdpDataBrowserPage-CpDMeFtE.js} +7 -7
  133. package/dist/{UdpDataBrowserPage-B-afkKoz.js.map → UdpDataBrowserPage-CpDMeFtE.js.map} +1 -1
  134. package/dist/{UdpFormsPrivateForm-L8NRz5Xf.js → UdpFormsPrivateForm-D6clAgfY.js} +2 -2
  135. package/dist/{UdpFormsPrivateForm-L8NRz5Xf.js.map → UdpFormsPrivateForm-D6clAgfY.js.map} +1 -1
  136. package/dist/{UdpFormsSubmissionGrid-CkrI4_CC.js → UdpFormsSubmissionGrid-DzMuwwTO.js} +3 -3
  137. package/dist/{UdpFormsSubmissionGrid-CkrI4_CC.js.map → UdpFormsSubmissionGrid-DzMuwwTO.js.map} +1 -1
  138. package/dist/{UdpGridPanelManagementPage-Cvye5uKC.js → UdpGridPanelManagementPage-CJbKbZeN.js} +2 -2
  139. package/dist/{UdpGridPanelManagementPage-Cvye5uKC.js.map → UdpGridPanelManagementPage-CJbKbZeN.js.map} +1 -1
  140. package/dist/{UdpInquiryMaintenanceEnginePage-BiKDpo6a.js → UdpInquiryMaintenanceEnginePage-B7jCKzw5.js} +2 -2
  141. package/dist/{UdpInquiryMaintenanceEnginePage-BiKDpo6a.js.map → UdpInquiryMaintenanceEnginePage-B7jCKzw5.js.map} +1 -1
  142. package/dist/{UdpMaintenanceEnginePage-C1UcnDlL.js → UdpMaintenanceEnginePage-C5OzABlj.js} +6 -6
  143. package/dist/{UdpMaintenanceEnginePage-C1UcnDlL.js.map → UdpMaintenanceEnginePage-C5OzABlj.js.map} +1 -1
  144. package/dist/{UdpNotesPage-Deug2da_.js → UdpNotesPage-CO5te_bd.js} +6 -6
  145. package/dist/{UdpNotesPage-Deug2da_.js.map → UdpNotesPage-CO5te_bd.js.map} +1 -1
  146. package/dist/{UdpRemindersPage-B8vCglBX.js → UdpRemindersPage-Dvoe-qlm.js} +6 -6
  147. package/dist/{UdpRemindersPage-B8vCglBX.js.map → UdpRemindersPage-Dvoe-qlm.js.map} +1 -1
  148. package/dist/{UdpTransactionTypesPage-DxUsXnV7.js → UdpTransactionTypesPage-DFpnQn7f.js} +3 -3
  149. package/dist/{UdpTransactionTypesPage-DxUsXnV7.js.map → UdpTransactionTypesPage-DFpnQn7f.js.map} +1 -1
  150. package/dist/{UdpTransactionsPage-BZ0Idg5s.js → UdpTransactionsPage-hu97DvPW.js} +4 -4
  151. package/dist/{UdpTransactionsPage-BZ0Idg5s.js.map → UdpTransactionsPage-hu97DvPW.js.map} +1 -1
  152. package/dist/{UdpVerticalManagementPage-DHK7-w0K.js → UdpVerticalManagementPage-Cc4zz9Tv.js} +3 -3
  153. package/dist/{UdpVerticalManagementPage-DHK7-w0K.js.map → UdpVerticalManagementPage-Cc4zz9Tv.js.map} +1 -1
  154. package/dist/{UdpVerticalManagementSidesheet-C2kuDXac.js → UdpVerticalManagementSidesheet-DGL4dyia.js} +4 -4
  155. package/dist/{UdpVerticalManagementSidesheet-C2kuDXac.js.map → UdpVerticalManagementSidesheet-DGL4dyia.js.map} +1 -1
  156. package/dist/{UserForm-DZ1a9uqZ.js → UserForm-DNgeQvad.js} +2 -2
  157. package/dist/{UserForm-DZ1a9uqZ.js.map → UserForm-DNgeQvad.js.map} +1 -1
  158. package/dist/{UserFormSideSheet-B7bFqu5x.js → UserFormSideSheet-RyDFg3QI.js} +2 -2
  159. package/dist/{UserFormSideSheet-B7bFqu5x.js.map → UserFormSideSheet-RyDFg3QI.js.map} +1 -1
  160. package/dist/UserFormSideSheet-iBczI7p0.js +3 -0
  161. package/dist/{VirtualBrowser-BZkfXaY5.js → VirtualBrowser-CVs-vW3x.js} +3 -3
  162. package/dist/{VirtualBrowser-BZkfXaY5.js.map → VirtualBrowser-CVs-vW3x.js.map} +1 -1
  163. package/dist/VirtualBrowser-CcWYHhRb.js +3 -0
  164. package/dist/{WorkflowContainer-CHmVR99E.js → WorkflowContainer-Boj87JRI.js} +1 -1
  165. package/dist/{WorkflowContainer-BheQPhXt.js → WorkflowContainer-DDGm1Cxo.js} +3 -3
  166. package/dist/{WorkflowContainer-BheQPhXt.js.map → WorkflowContainer-DDGm1Cxo.js.map} +1 -1
  167. package/dist/{WorkflowTreeMenu-D2Uc09jP.js → WorkflowTreeMenu-HHtwkDzu.js} +4 -4
  168. package/dist/{WorkflowTreeMenu-D2Uc09jP.js.map → WorkflowTreeMenu-HHtwkDzu.js.map} +1 -1
  169. package/dist/{accordion-CT8euUVM.js → accordion--zpb1uMC.js} +2 -2
  170. package/dist/{accordion-CT8euUVM.js.map → accordion--zpb1uMC.js.map} +1 -1
  171. package/dist/{actionSummary-BEOW5B3h.js → actionSummary-D0CwyTXJ.js} +2 -2
  172. package/dist/{actionSummary-BEOW5B3h.js.map → actionSummary-D0CwyTXJ.js.map} +1 -1
  173. package/dist/{actionUtils-Bj5-851p.js → actionUtils-CPmiSAig.js} +2 -2
  174. package/dist/{actionUtils-Bj5-851p.js.map → actionUtils-CPmiSAig.js.map} +1 -1
  175. package/dist/actions/actionSummary/index.js +1 -1
  176. package/dist/actions/index.js +5 -5
  177. package/dist/actions/utils/index.js +1 -1
  178. package/dist/{aggregateUtils-B10uvnUw.js → aggregateUtils-UcpEjFnf.js} +2 -2
  179. package/dist/{aggregateUtils-B10uvnUw.js.map → aggregateUtils-UcpEjFnf.js.map} +1 -1
  180. package/dist/{aggridHelpers-RYO7tWY9.js → aggridHelpers-BvrSzjdD.js} +3 -3
  181. package/dist/{aggridHelpers-RYO7tWY9.js.map → aggridHelpers-BvrSzjdD.js.map} +1 -1
  182. package/dist/{auth-DX4sNV3x.js → auth-Bq7vHax4.js} +2 -2
  183. package/dist/{auth-DX4sNV3x.js.map → auth-Bq7vHax4.js.map} +1 -1
  184. package/dist/componentSystems/multiThreadTimeline/index.js +3 -3
  185. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
  186. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +1 -1
  187. package/dist/componentSystems/multiThreadTimeline/ui/index.js +1 -1
  188. package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
  189. package/dist/componentSystems/pageRenderer/index.js +3 -3
  190. package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
  191. package/dist/dataBrowser/index.js +1 -1
  192. package/dist/enums/index.js +2 -2
  193. package/dist/{fileViewer-BVzlhb3g.js → fileViewer-BbIFHura.js} +2 -2
  194. package/dist/{fileViewer-BVzlhb3g.js.map → fileViewer-BbIFHura.js.map} +1 -1
  195. package/dist/{floorplans-CF6ssxTg.js → floorplans-DNUFP5-n.js} +2 -2
  196. package/dist/{floorplans-CF6ssxTg.js.map → floorplans-DNUFP5-n.js.map} +1 -1
  197. package/dist/{fluentTimeline-BWoLOxF_.js → fluentTimeline-DpnUZabY.js} +2 -2
  198. package/dist/{fluentTimeline-BWoLOxF_.js.map → fluentTimeline-DpnUZabY.js.map} +1 -1
  199. package/dist/hooks/index.js +3 -3
  200. package/dist/index.js +62 -62
  201. package/dist/inquiry/dashboard/index.js +1 -1
  202. package/dist/inquiry/index.js +4 -4
  203. package/dist/inquiry/inquiryBar/index.js +1 -1
  204. package/dist/inquiry/search/index.js +1 -1
  205. package/dist/maintenanceEngine/crudBrowser/index.js +2 -2
  206. package/dist/maintenanceEngine/index.js +4 -4
  207. package/dist/maintenanceEngine/tableBrowser/index.js +1 -1
  208. package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
  209. package/dist/{mapLayout-DCBNFKk9.js → mapLayout-B_m2Fh8n.js} +2 -2
  210. package/dist/{mapLayout-DCBNFKk9.js.map → mapLayout-B_m2Fh8n.js.map} +1 -1
  211. package/dist/menuPage/index.js +1 -1
  212. package/dist/{menuPage-PIJOkANO.js → menuPage-7DcUM-Q3.js} +2 -2
  213. package/dist/{menuPage-PIJOkANO.js.map → menuPage-7DcUM-Q3.js.map} +1 -1
  214. package/dist/{menuUtilities-B6z02FRb.js → menuUtilities-Da5uVIJ8.js} +2 -2
  215. package/dist/{menuUtilities-B6z02FRb.js.map → menuUtilities-Da5uVIJ8.js.map} +1 -1
  216. package/dist/notes/index.js +1 -1
  217. package/dist/{profile-CXlla7mZ.js → profile-hGhjTafH.js} +3 -3
  218. package/dist/{profile-CXlla7mZ.js.map → profile-hGhjTafH.js.map} +1 -1
  219. package/dist/providers/index.js +1 -1
  220. package/dist/reminders/index.js +2 -2
  221. package/dist/routes/index.js +1 -1
  222. package/dist/{routes-BToKqY03.js → routes-qV4EIuwZ.js} +7 -7
  223. package/dist/{routes-BToKqY03.js.map → routes-qV4EIuwZ.js.map} +1 -1
  224. package/dist/shell/index.js +3 -3
  225. package/dist/shell/ui/addUser/index.js +1 -1
  226. package/dist/shell/ui/index.js +2 -2
  227. package/dist/shell/ui/profile/index.js +1 -1
  228. package/dist/stores/index.js +1 -1
  229. package/dist/{tenantStore-TgmV03z9.js → tenantStore-CFYu7ndZ.js} +2 -2
  230. package/dist/{tenantStore-TgmV03z9.js.map → tenantStore-CFYu7ndZ.js.map} +1 -1
  231. package/dist/treeMenu/index.js +1 -1
  232. package/dist/types/src/enums/unitySystemEnums.d.ts +5 -0
  233. package/dist/types/src/enums/unitySystemEnums.d.ts.map +1 -1
  234. package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  235. package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
  236. package/dist/types/src/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  237. package/dist/types/src/utilities/tenant/TenantProvider.d.ts.map +1 -1
  238. package/dist/types/tsconfig.tsbuildinfo +1 -1
  239. package/dist/udp/ShortcutContent/index.js +1 -1
  240. package/dist/udp/export/index.js +1 -1
  241. package/dist/udp/fileImportMapping/index.js +1 -1
  242. package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
  243. package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
  244. package/dist/udp/pages/UdpFormsPrivateForm/index.js +1 -1
  245. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
  246. package/dist/udp/pages/UdpGridPanelManagementPage/index.js +1 -1
  247. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
  248. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
  249. package/dist/udp/pages/UdpNotesPage/index.js +1 -1
  250. package/dist/udp/pages/UdpPages/index.js +13 -13
  251. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  252. package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
  253. package/dist/udp/pages/UdpTransactionTypesPage/index.js +1 -1
  254. package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
  255. package/dist/udp/pages/UdpVerticalManagementPage/index.js +1 -1
  256. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +1 -1
  257. package/dist/{unitySystemEnums-e5F9Jr7m.js → unitySystemEnums-CZDCsD5t.js} +6 -2
  258. package/dist/{unitySystemEnums-e5F9Jr7m.js.map → unitySystemEnums-CZDCsD5t.js.map} +1 -1
  259. package/dist/{useActions-BWBXokgQ.js → useActions-DZe6YlEm.js} +3 -3
  260. package/dist/{useActions-BWBXokgQ.js.map → useActions-DZe6YlEm.js.map} +1 -1
  261. package/dist/{usePromotedMethodEntities-DaPFmr0s.js → usePromotedMethodEntities-D-GoZJZB.js} +2 -2
  262. package/dist/{usePromotedMethodEntities-DaPFmr0s.js.map → usePromotedMethodEntities-D-GoZJZB.js.map} +1 -1
  263. package/dist/{useSearchFilterParamsMap-DPCfEY-N.js → useSearchFilterParamsMap-hAHx2Rav.js} +2 -2
  264. package/dist/{useSearchFilterParamsMap-DPCfEY-N.js.map → useSearchFilterParamsMap-hAHx2Rav.js.map} +1 -1
  265. package/dist/utilities/aggrid/datasources/index.js +1 -1
  266. package/dist/utilities/aggrid/index.js +2 -2
  267. package/dist/utilities/auth/index.js +3 -3
  268. package/dist/utilities/form/paymentForm/index.js +1 -1
  269. package/dist/utilities/menus/index.js +1 -1
  270. package/dist/utilities/provider/index.js +1 -1
  271. package/dist/utilities/search/index.js +1 -1
  272. package/dist/utilities/tenant/index.js +1 -1
  273. package/dist/utilities/tree/index.js +1 -1
  274. package/dist/{utilityDisplay-C6c73Efx.js → utilityDisplay-DtdjV7V1.js} +2 -2
  275. package/dist/{utilityDisplay-C6c73Efx.js.map → utilityDisplay-DtdjV7V1.js.map} +1 -1
  276. package/dist/{withEngineComponent-JSgAYpSg.js → withEngineComponent-CpOJBSmx.js} +2 -2
  277. package/dist/{withEngineComponent-JSgAYpSg.js.map → withEngineComponent-CpOJBSmx.js.map} +1 -1
  278. package/dist/workflow/index.js +2 -2
  279. package/dist/workflow/menus/index.js +1 -1
  280. package/export-map.json +3 -2
  281. package/package.json +1 -1
  282. package/dist/Inquiry-C1q14Yyd.js +0 -3
  283. package/dist/MenuPage-DP1ATpru.js +0 -3
  284. package/dist/MyExportsPage-DGc4Sbt9.js +0 -3
  285. package/dist/TenantProvider-C-3eqCA3.js.map +0 -1
  286. package/dist/UdpAuditEventsPage-DuHg-BRJ.js +0 -3
  287. package/dist/UserFormSideSheet-tpmcX5Ax.js +0 -3
  288. package/dist/VirtualBrowser-BUTWxd9P.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"BioCardWrapper-BiRI3EDR.js","names":[],"sources":["../src/componentSystems/pageRenderer/wrappers/PrimaryActionHeaderWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/DisplayCardWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/BarChartWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/HistogramWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/DonutWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/LineGraphWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/AgGridSimpleWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/BioCardWrapper.jsx"],"sourcesContent":["import React from 'react';\n//import { SubHeaderAction } from 'unity-fluent-library';\nimport { PrimaryActionHeader } from '../../../UI/utilityDisplay/utilityHeader/PrimaryActionHeader';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const PrimaryActionHeaderWrapper = (props) => {\n const { propsComponent } = props;\n const { id, title, subheader } = useReadMetaData(propsComponent);\n\n return (\n // <SubHeaderAction key={id}>\n\n // </SubHeaderAction>\n <PrimaryActionHeader\n title={title?.label || ''}\n //subheader={subheader?.label || ''}\n buttonLabel={subheader?.label || ''}\n single={true}\n grid={false}\n />\n );\n};\n","import React, { useEffect } from 'react';\nimport { AmbientCard } from '../../../UI/surfaces/cards/AmbientCard';\nimport { FluentMenuListItem } from '../../../UI/navigation/menus/FluentMenuListItem';\nimport { FluentIconButton } from '../../../UI/inputs/buttons/FluentIconButton';\nimport { FluentButton } from '../../../UI/inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { Grid, Box } from '@material-ui/core';\nimport { fluentLibraryIcons } from '../../../assets/unityIcons/LibraryData';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const DisplayCardWrapper = (props) => {\n const {\n propsComponent,\n setSideSheetOpen,\n sideSheetOpen,\n setSideSheetComponent\n } = props;\n // const { id, columnSize, title, label, status, button, secondaryButtons } =\n // useReadMetaData(propsComponent);\n\n // useEffect(() => {\n // const { view } = button;\n\n // setSideSheetComponent({\n // id: view?.id,\n // component: view?.component,\n // propsComponent: view?.properties,\n // });\n // }, [button, setSideSheetComponent]);\n\n return (\n <Grid\n item\n // xs={columnSize?.xs}\n // sm={columnSize?.sm}\n // md={columnSize?.md}\n // key={id}\n >\n <Box mt={2} sx={{ width: '100%', minWidth: '100%' }}>\n <AmbientCard\n // title={title?.label}\n // status={status?.label}\n overrideStatusSuccess='current'\n overrideStatusError='expired'\n editEvent={() => {}}\n deleteEvent={() => {}}\n // label={label?.label}\n fullWidth={true}\n >\n <div>\n <FluentMenuListItem value={2} label='Text Issued' arrow={false} />\n <FluentMenuListItem value={3} label='Date Issued' arrow={false} />\n <FluentMenuListItem value={4} label='Valid Until' arrow={false} />\n\n {/* {button && (\n <FluentButton\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => setSideSheetOpen(!sideSheetOpen)}\n >\n {button?.label?.label}\n </FluentButton>\n )} */}\n\n <FluentButton\n variant='contained'\n color='secondary'\n onClick={() => setSideSheetOpen(!sideSheetOpen)}\n >\n Test Button\n </FluentButton>\n\n {/* {secondaryButtons &&\n secondaryButtons.value?.map((button, index) => (\n <FluentIconButton\n key={index}\n icon={\n fluentLibraryIcons.find(x => x.id === button.icon)?.icon ||\n ChevronDownIcon\n }\n style={{ width: '40px', height: '40px' }}\n size=\"small\"\n onClick={() => setSideSheetOpen(!sideSheetOpen)}\n />\n ))} */}\n </div>\n </AmbientCard>\n </Box>\n </Grid>\n );\n};\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const BarChartWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"verticalBarChart\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega-lite/v4.json',\n width: 'container',\n data: {\n // values: [\n // { quarter: 'Q1', percent: 0.2 },\n // { quarter: 'Q2', percent: 0.28 },\n // { quarter: 'Q3', percent: 0.32 },\n // { quarter: 'Q4', percent: 0.39 },\n // ],\n values: values,\n },\n mark: 'bar',\n //encoding: encoding,\n encoding: {\n x: {\n field: xfield,\n type: 'nominal',\n axis: {\n ticks: false,\n },\n band: 0.5,\n },\n y: {\n field: yfield,\n type: 'quantitative',\n axis: {\n format: 'p',\n },\n },\n },\n }}\n />\n </Box>\n </Grid>\n );\n};\n\nexport const barChartWrapperProps = [\n {\n structure: [\n { label: 'Data1', value: 0 },\n { label: 'Data2', value: 1 },\n { label: 'Data3', value: 0 },\n { label: 'Data4', value: 1 },\n ],\n },\n];\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const HistogramWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"histogram\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega/v5.json',\n description:\n 'An interactive histogram for visualizing a univariate distribution.',\n width: 500,\n height: 100,\n padding: 5,\n\n signals: [\n {\n name: 'binOffset',\n value: 0,\n bind: { input: 'range', min: -0.1, max: 0.1 },\n },\n {\n name: 'binStep',\n value: 0.1,\n bind: { input: 'range', min: 0.001, max: 0.4, step: 0.001 },\n },\n ],\n\n data: [\n {\n name: 'points',\n url: 'data/normal-2d.json',\n },\n {\n name: 'binned',\n source: 'points',\n transform: [\n {\n type: 'bin',\n field: 'u',\n extent: [-1, 1],\n anchor: { signal: 'binOffset' },\n step: { signal: 'binStep' },\n nice: false,\n },\n {\n type: 'aggregate',\n key: 'bin0',\n groupby: ['bin0', 'bin1'],\n fields: ['bin0'],\n ops: ['count'],\n as: ['count'],\n },\n ],\n },\n ],\n\n scales: [\n {\n name: 'xscale',\n type: 'linear',\n range: 'width',\n domain: [-1, 1],\n },\n {\n name: 'yscale',\n type: 'linear',\n range: 'height',\n round: true,\n domain: { data: 'binned', field: 'count' },\n zero: true,\n nice: true,\n },\n ],\n\n axes: [\n { orient: 'bottom', scale: 'xscale', zindex: 1 },\n { orient: 'left', scale: 'yscale', tickCount: 5, zindex: 1 },\n ],\n\n marks: [\n {\n type: 'rect',\n from: { data: 'binned' },\n encode: {\n update: {\n x: { scale: 'xscale', field: 'bin0' },\n x2: {\n scale: 'xscale',\n field: 'bin1',\n offset: { signal: 'binStep > 0.02 ? -0.5 : 0' },\n },\n y: { scale: 'yscale', field: 'count' },\n y2: { scale: 'yscale', value: 0 },\n fill: { value: 'steelblue' },\n },\n hover: { fill: { value: 'firebrick' } },\n },\n },\n {\n type: 'rect',\n from: { data: 'points' },\n encode: {\n enter: {\n x: { scale: 'xscale', field: 'u' },\n width: { value: 1 },\n y: { value: 25, offset: { signal: 'height' } },\n height: { value: 5 },\n fill: { value: 'steelblue' },\n fillOpacity: { value: 0.4 },\n },\n },\n },\n ],\n }}\n />\n </Box>\n </Grid>\n );\n};\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const DonutWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"verticalBarChart\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega-lite/v5.json',\n description: 'A simple donut chart with embedded data.',\n data: {\n values: values,\n // values: [\n // { category: 1, value: 4 },\n // { category: 2, value: 6 },\n // { category: 3, value: 10 },\n // { category: 4, value: 3 },\n // { category: 5, value: 7 },\n // { category: 6, value: 8 },\n // ],\n },\n mark: { type: 'arc', innerRadius: 160 },\n width: 350,\n height: 350,\n encoding: {\n theta: { field: 'value', type: 'quantitative' },\n color: { field: 'category', type: 'nominal' },\n },\n }}\n />\n </Box>\n </Grid>\n );\n};\n\nexport const barChartWrapperProps = [\n {\n structure: [\n { label: 'Data1', value: 0 },\n { label: 'Data2', value: 1 },\n { label: 'Data3', value: 0 },\n { label: 'Data4', value: 1 },\n ],\n },\n];\n","import React from 'react';\nimport { Grid, Box } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const LineGraphWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, x, y, values } = useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"lineChart\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega-lite/v4.json',\n description: 'Values perdicted by the model',\n width: 'container',\n data: {\n // values: [\n // { a: 'A', b: 28, predicted: false },\n // { a: 'B', b: 55, predicted: false },\n // { a: 'D', b: 91, predicted: false },\n // { a: 'E', b: 81, predicted: false },\n // { a: 'E', b: 81, predicted: true },\n // { a: 'G', b: 19, predicted: true },\n // { a: 'H', b: 87, predicted: true },\n // ],\n values: values,\n },\n mark: 'line',\n encoding: {\n x: { field: 'a', type: 'ordinal' },\n y: { field: 'b', type: 'quantitative' },\n strokeDash: { field: 'predicted', type: 'nominal' },\n },\n }}\n />\n </Box>\n </Grid>\n );\n};\n","import React, { useMemo } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { TableColumnDefs } from '../utils/TableColumnDefs';\nimport { fluentLibraryIcons } from '../../../assets/unityIcons/LibraryData';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\n\n// Demonstrative purpose\nexport const data = [\n {\n id: 1,\n name: 'Pre-School Swim Lessons',\n tags: 'Child',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Published',\n instructors: 'Liam Atchison'\n },\n {\n id: 2,\n name: 'Skating Lessons',\n tags: 'Child',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Published',\n instructors: 'Luca Thomas'\n },\n {\n id: 3,\n name: 'Skating Lessons',\n tags: 'Adult',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Published',\n instructors: 'John Smith'\n },\n {\n id: 4,\n name: 'Pre-School Swim Lessons',\n tags: 'Self-Pace',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'In Progress',\n instructors: 'Lucy May'\n },\n {\n id: 5,\n name: 'Pre-School Swim Lessons',\n tags: 'Child',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-08-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Pending',\n instructors: 'Matteo Thomas'\n }\n];\n\n// Demonstrative purpose\nconst groupData = [\n { groupItem: 'instructors', label: 'Instructors', value: 'instructors' },\n { groupItem: 'tabs', label: 'Tabs', value: 'tabs' },\n { groupItem: 'name', label: 'Course Name', value: 'name' },\n { groupItem: 'status', label: 'Status', value: 'status' },\n { groupItem: 'start', label: 'Start Date', value: 'start' }\n];\n\nexport const AgGridSimpleWrapper = (props) => {\n const { propsComponent } = props;\n const { id, columnSize, columnDefs, actionsList, values } =\n useReadMetaData(propsComponent);\n\n const columnDefinitions = useMemo(() => {\n if (columnDefs?.length) {\n const newActionsList = actionsList?.map((actionItem) => {\n return {\n ...actionItem,\n icon:\n fluentLibraryIcons.find((x) => x.id === actionItem.icon)?.icon ||\n actionItem.icon,\n onClick: () => {}\n };\n });\n\n return TableColumnDefs(columnDefs, newActionsList);\n }\n return [];\n }, [actionsList, columnDefs]);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <AmbientGridTemplate\n title='Course List'\n data={values}\n columnDefs={columnDefinitions}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n groupingData={groupData}\n />\n </Grid>\n );\n};\n","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport { BioCard } from '../../../UI/surfaces/cards/BioCard';\nimport { AddressListItem } from '../../../UI/dataDisplay/address/AddressListItem';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\nexport const BioCardWrapper = (props) => {\n const { id, propsComponent } = props;\n const { columnSize } = useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <BioCard\n firstName='Marlene'\n lastName='Smith'\n avatar='http://www.woman-themovie.org/wp-content/uploads/2020/02/AQALLAL_Sofia-W_78-FRANCE_24-FACIES-LVMH-CALLIGARO_Sandra-V1.jpg'\n alt='Marlene'\n address={\n <>\n <AddressListItem>\n 123 Fake Street, Encinitas, CA, 92024\n </AddressListItem>\n <AddressListItem> +1.767.815.8957 </AddressListItem>\n <AddressListItem> marlene@smith.com </AddressListItem>\n </>\n }\n copy='Marlene Smith, 123 Fake Street, Encinitas, CA, 92024, +1.767.815.8957, marlene@smith.com '\n >\n <h1>Marlene Smith</h1>\n </BioCard>\n </Grid>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"BioCardWrapper-B2bT-4zw.js","names":[],"sources":["../src/componentSystems/pageRenderer/wrappers/PrimaryActionHeaderWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/DisplayCardWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/BarChartWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/HistogramWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/DonutWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/LineGraphWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/AgGridSimpleWrapper.jsx","../src/componentSystems/pageRenderer/wrappers/BioCardWrapper.jsx"],"sourcesContent":["import React from 'react';\n//import { SubHeaderAction } from 'unity-fluent-library';\nimport { PrimaryActionHeader } from '../../../UI/utilityDisplay/utilityHeader/PrimaryActionHeader';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const PrimaryActionHeaderWrapper = (props) => {\n const { propsComponent } = props;\n const { id, title, subheader } = useReadMetaData(propsComponent);\n\n return (\n // <SubHeaderAction key={id}>\n\n // </SubHeaderAction>\n <PrimaryActionHeader\n title={title?.label || ''}\n //subheader={subheader?.label || ''}\n buttonLabel={subheader?.label || ''}\n single={true}\n grid={false}\n />\n );\n};\n","import React, { useEffect } from 'react';\nimport { AmbientCard } from '../../../UI/surfaces/cards/AmbientCard';\nimport { FluentMenuListItem } from '../../../UI/navigation/menus/FluentMenuListItem';\nimport { FluentIconButton } from '../../../UI/inputs/buttons/FluentIconButton';\nimport { FluentButton } from '../../../UI/inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { Grid, Box } from '@material-ui/core';\nimport { fluentLibraryIcons } from '../../../assets/unityIcons/LibraryData';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const DisplayCardWrapper = (props) => {\n const {\n propsComponent,\n setSideSheetOpen,\n sideSheetOpen,\n setSideSheetComponent\n } = props;\n // const { id, columnSize, title, label, status, button, secondaryButtons } =\n // useReadMetaData(propsComponent);\n\n // useEffect(() => {\n // const { view } = button;\n\n // setSideSheetComponent({\n // id: view?.id,\n // component: view?.component,\n // propsComponent: view?.properties,\n // });\n // }, [button, setSideSheetComponent]);\n\n return (\n <Grid\n item\n // xs={columnSize?.xs}\n // sm={columnSize?.sm}\n // md={columnSize?.md}\n // key={id}\n >\n <Box mt={2} sx={{ width: '100%', minWidth: '100%' }}>\n <AmbientCard\n // title={title?.label}\n // status={status?.label}\n overrideStatusSuccess='current'\n overrideStatusError='expired'\n editEvent={() => {}}\n deleteEvent={() => {}}\n // label={label?.label}\n fullWidth={true}\n >\n <div>\n <FluentMenuListItem value={2} label='Text Issued' arrow={false} />\n <FluentMenuListItem value={3} label='Date Issued' arrow={false} />\n <FluentMenuListItem value={4} label='Valid Until' arrow={false} />\n\n {/* {button && (\n <FluentButton\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => setSideSheetOpen(!sideSheetOpen)}\n >\n {button?.label?.label}\n </FluentButton>\n )} */}\n\n <FluentButton\n variant='contained'\n color='secondary'\n onClick={() => setSideSheetOpen(!sideSheetOpen)}\n >\n Test Button\n </FluentButton>\n\n {/* {secondaryButtons &&\n secondaryButtons.value?.map((button, index) => (\n <FluentIconButton\n key={index}\n icon={\n fluentLibraryIcons.find(x => x.id === button.icon)?.icon ||\n ChevronDownIcon\n }\n style={{ width: '40px', height: '40px' }}\n size=\"small\"\n onClick={() => setSideSheetOpen(!sideSheetOpen)}\n />\n ))} */}\n </div>\n </AmbientCard>\n </Box>\n </Grid>\n );\n};\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const BarChartWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"verticalBarChart\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega-lite/v4.json',\n width: 'container',\n data: {\n // values: [\n // { quarter: 'Q1', percent: 0.2 },\n // { quarter: 'Q2', percent: 0.28 },\n // { quarter: 'Q3', percent: 0.32 },\n // { quarter: 'Q4', percent: 0.39 },\n // ],\n values: values,\n },\n mark: 'bar',\n //encoding: encoding,\n encoding: {\n x: {\n field: xfield,\n type: 'nominal',\n axis: {\n ticks: false,\n },\n band: 0.5,\n },\n y: {\n field: yfield,\n type: 'quantitative',\n axis: {\n format: 'p',\n },\n },\n },\n }}\n />\n </Box>\n </Grid>\n );\n};\n\nexport const barChartWrapperProps = [\n {\n structure: [\n { label: 'Data1', value: 0 },\n { label: 'Data2', value: 1 },\n { label: 'Data3', value: 0 },\n { label: 'Data4', value: 1 },\n ],\n },\n];\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const HistogramWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"histogram\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega/v5.json',\n description:\n 'An interactive histogram for visualizing a univariate distribution.',\n width: 500,\n height: 100,\n padding: 5,\n\n signals: [\n {\n name: 'binOffset',\n value: 0,\n bind: { input: 'range', min: -0.1, max: 0.1 },\n },\n {\n name: 'binStep',\n value: 0.1,\n bind: { input: 'range', min: 0.001, max: 0.4, step: 0.001 },\n },\n ],\n\n data: [\n {\n name: 'points',\n url: 'data/normal-2d.json',\n },\n {\n name: 'binned',\n source: 'points',\n transform: [\n {\n type: 'bin',\n field: 'u',\n extent: [-1, 1],\n anchor: { signal: 'binOffset' },\n step: { signal: 'binStep' },\n nice: false,\n },\n {\n type: 'aggregate',\n key: 'bin0',\n groupby: ['bin0', 'bin1'],\n fields: ['bin0'],\n ops: ['count'],\n as: ['count'],\n },\n ],\n },\n ],\n\n scales: [\n {\n name: 'xscale',\n type: 'linear',\n range: 'width',\n domain: [-1, 1],\n },\n {\n name: 'yscale',\n type: 'linear',\n range: 'height',\n round: true,\n domain: { data: 'binned', field: 'count' },\n zero: true,\n nice: true,\n },\n ],\n\n axes: [\n { orient: 'bottom', scale: 'xscale', zindex: 1 },\n { orient: 'left', scale: 'yscale', tickCount: 5, zindex: 1 },\n ],\n\n marks: [\n {\n type: 'rect',\n from: { data: 'binned' },\n encode: {\n update: {\n x: { scale: 'xscale', field: 'bin0' },\n x2: {\n scale: 'xscale',\n field: 'bin1',\n offset: { signal: 'binStep > 0.02 ? -0.5 : 0' },\n },\n y: { scale: 'yscale', field: 'count' },\n y2: { scale: 'yscale', value: 0 },\n fill: { value: 'steelblue' },\n },\n hover: { fill: { value: 'firebrick' } },\n },\n },\n {\n type: 'rect',\n from: { data: 'points' },\n encode: {\n enter: {\n x: { scale: 'xscale', field: 'u' },\n width: { value: 1 },\n y: { value: 25, offset: { signal: 'height' } },\n height: { value: 5 },\n fill: { value: 'steelblue' },\n fillOpacity: { value: 0.4 },\n },\n },\n },\n ],\n }}\n />\n </Box>\n </Grid>\n );\n};\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const DonutWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"verticalBarChart\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega-lite/v5.json',\n description: 'A simple donut chart with embedded data.',\n data: {\n values: values,\n // values: [\n // { category: 1, value: 4 },\n // { category: 2, value: 6 },\n // { category: 3, value: 10 },\n // { category: 4, value: 3 },\n // { category: 5, value: 7 },\n // { category: 6, value: 8 },\n // ],\n },\n mark: { type: 'arc', innerRadius: 160 },\n width: 350,\n height: 350,\n encoding: {\n theta: { field: 'value', type: 'quantitative' },\n color: { field: 'category', type: 'nominal' },\n },\n }}\n />\n </Box>\n </Grid>\n );\n};\n\nexport const barChartWrapperProps = [\n {\n structure: [\n { label: 'Data1', value: 0 },\n { label: 'Data2', value: 1 },\n { label: 'Data3', value: 0 },\n { label: 'Data4', value: 1 },\n ],\n },\n];\n","import React from 'react';\nimport { Grid, Box } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const LineGraphWrapper = props => {\n const { propsComponent } = props;\n const { id, columnSize, x, y, values } = useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <Box\n mt={2}\n clone\n overflow=\"hidden\"\n sx={{ width: '100%', minWidth: '100%' }}\n >\n <MuiVegaLite\n variant=\"lineChart\"\n color=\"secondary\"\n background=\"paper\"\n autoResize\n actions={false}\n spec={{\n $schema: 'https://vega.github.io/schema/vega-lite/v4.json',\n description: 'Values perdicted by the model',\n width: 'container',\n data: {\n // values: [\n // { a: 'A', b: 28, predicted: false },\n // { a: 'B', b: 55, predicted: false },\n // { a: 'D', b: 91, predicted: false },\n // { a: 'E', b: 81, predicted: false },\n // { a: 'E', b: 81, predicted: true },\n // { a: 'G', b: 19, predicted: true },\n // { a: 'H', b: 87, predicted: true },\n // ],\n values: values,\n },\n mark: 'line',\n encoding: {\n x: { field: 'a', type: 'ordinal' },\n y: { field: 'b', type: 'quantitative' },\n strokeDash: { field: 'predicted', type: 'nominal' },\n },\n }}\n />\n </Box>\n </Grid>\n );\n};\n","import React, { useMemo } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { TableColumnDefs } from '../utils/TableColumnDefs';\nimport { fluentLibraryIcons } from '../../../assets/unityIcons/LibraryData';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\n\n// Demonstrative purpose\nexport const data = [\n {\n id: 1,\n name: 'Pre-School Swim Lessons',\n tags: 'Child',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Published',\n instructors: 'Liam Atchison'\n },\n {\n id: 2,\n name: 'Skating Lessons',\n tags: 'Child',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Published',\n instructors: 'Luca Thomas'\n },\n {\n id: 3,\n name: 'Skating Lessons',\n tags: 'Adult',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Published',\n instructors: 'John Smith'\n },\n {\n id: 4,\n name: 'Pre-School Swim Lessons',\n tags: 'Self-Pace',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-07-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'In Progress',\n instructors: 'Lucy May'\n },\n {\n id: 5,\n name: 'Pre-School Swim Lessons',\n tags: 'Child',\n deferredGL: 'General Programs Deferred',\n earnedGL: `Registered Swim Programs`,\n start_date: '2022-08-23 13:10:11',\n end_date: '2022-07-23 13:10:11',\n status: 'Pending',\n instructors: 'Matteo Thomas'\n }\n];\n\n// Demonstrative purpose\nconst groupData = [\n { groupItem: 'instructors', label: 'Instructors', value: 'instructors' },\n { groupItem: 'tabs', label: 'Tabs', value: 'tabs' },\n { groupItem: 'name', label: 'Course Name', value: 'name' },\n { groupItem: 'status', label: 'Status', value: 'status' },\n { groupItem: 'start', label: 'Start Date', value: 'start' }\n];\n\nexport const AgGridSimpleWrapper = (props) => {\n const { propsComponent } = props;\n const { id, columnSize, columnDefs, actionsList, values } =\n useReadMetaData(propsComponent);\n\n const columnDefinitions = useMemo(() => {\n if (columnDefs?.length) {\n const newActionsList = actionsList?.map((actionItem) => {\n return {\n ...actionItem,\n icon:\n fluentLibraryIcons.find((x) => x.id === actionItem.icon)?.icon ||\n actionItem.icon,\n onClick: () => {}\n };\n });\n\n return TableColumnDefs(columnDefs, newActionsList);\n }\n return [];\n }, [actionsList, columnDefs]);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <AmbientGridTemplate\n title='Course List'\n data={values}\n columnDefs={columnDefinitions}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n groupingData={groupData}\n />\n </Grid>\n );\n};\n","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport { BioCard } from '../../../UI/surfaces/cards/BioCard';\nimport { AddressListItem } from '../../../UI/dataDisplay/address/AddressListItem';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\nexport const BioCardWrapper = (props) => {\n const { id, propsComponent } = props;\n const { columnSize } = useReadMetaData(propsComponent);\n\n return (\n <Grid\n item\n xs={columnSize?.xs}\n sm={columnSize?.sm}\n md={columnSize?.md}\n key={id}\n >\n <BioCard\n firstName='Marlene'\n lastName='Smith'\n avatar='http://www.woman-themovie.org/wp-content/uploads/2020/02/AQALLAL_Sofia-W_78-FRANCE_24-FACIES-LVMH-CALLIGARO_Sandra-V1.jpg'\n alt='Marlene'\n address={\n <>\n <AddressListItem>\n 123 Fake Street, Encinitas, CA, 92024\n </AddressListItem>\n <AddressListItem> +1.767.815.8957 </AddressListItem>\n <AddressListItem> marlene@smith.com </AddressListItem>\n </>\n }\n copy='Marlene Smith, 123 Fake Street, Encinitas, CA, 92024, +1.767.815.8957, marlene@smith.com '\n >\n <h1>Marlene Smith</h1>\n </BioCard>\n </Grid>\n );\n};\n"],"mappings":"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"}
@@ -5,13 +5,13 @@ import { t as ConfigService } from "./configService-C4uoG3wj.js";
5
5
  import { i as useHandleAxiosSnackbar } from "./apiHelpers-WIR8pqy0.js";
6
6
  import { t as apiMutate } from "./useAxiosMutate-DeqKSi5z.js";
7
7
  import { t as FluentIcon } from "./FluentIcon-DQ6nSDJg.js";
8
- import { U as VisibilityTypeEnums } from "./unitySystemEnums-e5F9Jr7m.js";
8
+ import { W as VisibilityTypeEnums } from "./unitySystemEnums-CZDCsD5t.js";
9
9
  import { n as PrimaryActionButton_default } from "./PrimaryActionButton-Dk8zvDAW.js";
10
10
  import { t as AmbientTextField } from "./AmbientTextField-CdnqPJUw.js";
11
11
  import { t as AmbientTokenButton } from "./AmbientTokenButton-B53E25r2.js";
12
12
  import { t as AmbientChipButton } from "./AmbientChipButton-DYAYXuKp.js";
13
13
  import { t as FluentDialog } from "./FluentDialog-B5ZxvX1E.js";
14
- import { r as getGridState } from "./GridFunctions-CRTDIOe0.js";
14
+ import { r as getGridState } from "./GridFunctions-D76ygiH2.js";
15
15
  import { t as DynamicContainerWithMenu } from "./DynamicContainerWithMenu-lYZyNyb_.js";
16
16
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
17
17
  import { Badge, Box, Divider, FormControlLabel, InputAdornment, MenuItem, Popover, Switch, Tab, Tabs, Tooltip, Typography, lighten, makeStyles } from "@material-ui/core";
@@ -919,4 +919,4 @@ const BulkActionsGridButton = (props) => {
919
919
 
920
920
  //#endregion
921
921
  export { GridActionBar as a, GridPrimaryBar as i, ChipSection as n, SaveViewFormDialog as r, BulkActionsGridButton as t };
922
- //# sourceMappingURL=BulkActionsGridButton-uhTB0AGy.js.map
922
+ //# sourceMappingURL=BulkActionsGridButton-JYgIABWU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActionsGridButton-uhTB0AGy.js","names":["useStyles","useStyles","PrimaryActionButton","useStyles","makeStyles","Chip","Divider","Tooltip","Typography"],"sources":["../src/UI/utilityDisplay/GridActionBar.jsx","../src/UI/utilityDisplay/GridPrimaryBar.jsx","../src/UI/utilityDisplay/SaveViewFormDialog.jsx","../src/UI/utilityDisplay/ChipSection.jsx","../src/UI/utilityDisplay/BulkActionsGridButton.jsx"],"sourcesContent":["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 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/iconLibrary/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 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 '../../configService';\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 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/esm/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, { 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/iconLibrary/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"],"mappings":"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"}
1
+ {"version":3,"file":"BulkActionsGridButton-JYgIABWU.js","names":["useStyles","useStyles","PrimaryActionButton","useStyles","makeStyles","Chip","Divider","Tooltip","Typography"],"sources":["../src/UI/utilityDisplay/GridActionBar.jsx","../src/UI/utilityDisplay/GridPrimaryBar.jsx","../src/UI/utilityDisplay/SaveViewFormDialog.jsx","../src/UI/utilityDisplay/ChipSection.jsx","../src/UI/utilityDisplay/BulkActionsGridButton.jsx"],"sourcesContent":["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 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/iconLibrary/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 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 '../../configService';\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 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/esm/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, { 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/iconLibrary/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"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
2
- import { t as IconRenderer } from "./IconRenderer-JdCm70xC.js";
2
+ import { t as IconRenderer } from "./IconRenderer-BEezfZ3N.js";
3
3
  import { n as TimelineStatus, r as TimelineDateBar } from "./MttYearTag-Cw8OyKTy.js";
4
4
  import React, { useState } from "react";
5
5
  import { ButtonBase, Divider, Fade, Paper, Tooltip, Typography, makeStyles } from "@material-ui/core";
@@ -237,4 +237,4 @@ CircleButton.propTypes = { children: PropTypes.node };
237
237
 
238
238
  //#endregion
239
239
  export { useStyles$3 as a, TimelineToggleButton as i, DateWrapper as n, SummaryToken as o, TimelineTopRowFilter as r, CircleButton as t };
240
- //# sourceMappingURL=CircleButton-B9JAMG53.js.map
240
+ //# sourceMappingURL=CircleButton-CrvnPHDw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CircleButton-B9JAMG53.js","names":["useStyles","useStyles","useStyles","useStyles"],"sources":["../src/componentSystems/multiThreadTimeline/ui/SummaryToken.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineToggleButton.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineTopRowFilter.jsx","../src/componentSystems/multiThreadTimeline/ui/DateWrapper.jsx","../src/componentSystems/multiThreadTimeline/ui/CircleButton.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Typography, Divider, Tooltip } from '@material-ui/core';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { TimelineDateBar } from './TimelineDateBar';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { TimelineStatus } from './TimelineStatus';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n minHeight: 200,\n background: (props) => !props.hidebackground && 'whitesmoke'\n },\n dateBar: {\n width: 130\n },\n centerWrapper: {\n display: 'flex',\n justifyContent: 'center'\n }\n}));\n\nexport const SummaryToken = (props) => {\n const {\n title,\n short,\n showMonth,\n amount,\n status,\n date,\n user,\n icon,\n months = [],\n className,\n month,\n balance\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={clsx(classes.root, className)}>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: 130\n }}\n >\n <div style={{ marginRight: -8 }} className={classes.centerWrapper}>\n {icon}\n </div>\n\n <div style={{ height: 24, display: 'flex', justifyContent: 'center' }}>\n <Divider orientation='vertical' />\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <LayoutUnit unit='nudge' />\n <div style={{ textAlign: 'center' }}>\n <Tooltip title={title}>\n <Typography\n variant='subtitle2'\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {title}\n </Typography>\n </Tooltip>\n </div>\n <LayoutUnit unit='nudge' />\n\n {amount && (\n <div\n style={{\n textAlign: 'center'\n }}\n >\n <Tooltip title={amount}>\n <Typography\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {amount}\n </Typography>\n </Tooltip>\n </div>\n )}\n\n {!amount && (\n <div\n style={{\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <TimelineStatus status={status} />\n </div>\n )}\n\n <div style={{ textAlign: 'center' }}>\n <Typography variant='caption'>{date}</Typography>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={user}>\n <Typography variant='caption'>{user}</Typography>\n </Tooltip>\n </div>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={balance}>\n <Typography variant='caption'>{balance}</Typography>\n </Tooltip>\n </div>\n </div>\n </div>\n <LayoutUnit unit='xxs' />\n {!short && (\n <div className={classes.dateBar}>\n <TimelineDateBar\n month={month}\n showMonth={showMonth}\n months={months}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nSummaryToken.propTypes = {\n title: PropTypes.string,\n short: PropTypes.bool,\n showMonth: PropTypes.bool,\n amount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.string,\n date: PropTypes.string,\n user: PropTypes.string,\n icon: PropTypes.element,\n months: PropTypes.array,\n className: PropTypes.string,\n month: PropTypes.string,\n balance: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hidebackground: PropTypes.bool\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\n/**\n * @returns {import('@material-ui/core/styles').WithStyles<import('@material-ui/core/styles/withStyles').Styles<any, {}, string>>}\n */\nexport const useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n off: {\n opacity: 0.5\n }\n}));\n\nexport const TimelineToggleButton = ({\n title,\n timelineItem,\n handleClick,\n icon,\n off\n}) => {\n //const [width, setWidth] = useState(0);\n const classes = useStyles();\n const [filter, setFilter] = useState(true);\n\n const selectFilter = () => {\n setFilter(!filter);\n };\n\n return (\n <div\n className={classes.root}\n onClick={handleClick}\n onMouseUp={selectFilter}\n >\n <div className={off && classes.off}>{icon}</div>\n\n <div style={{ marginTop: -4, marginRight: 48 }}>\n <Typography\n variant='caption'\n style={{ textDecoration: !filter && 'line-through' }}\n >\n {title}\n </Typography>\n </div>\n {/* @todo: fix caption size */}\n </div>\n );\n};\n\nTimelineToggleButton.propTypes = {\n title: PropTypes.string.isRequired,\n timelineItem: PropTypes.object,\n handleClick: PropTypes.func.isRequired,\n icon: PropTypes.node.isRequired,\n off: PropTypes.bool\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { TimelineToggleButton } from './TimelineToggleButton';\nimport { IconRenderer } from '../../../UI/templates/ui/renderers/IconRenderer';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n menu: {\n marginTop: 10,\n marginRight: 8,\n marginBottom: 20\n }\n}));\n\nexport const TimelineTopRowFilter = ({\n filterList,\n filterCall,\n filterListGroup,\n off,\n clear\n}) => {\n const classes = useStyles();\n\n return (\n <div className={classes.root}>\n {/* <button onClick={()=> setCompact(!compact) } > minimize </button> */}\n <div>\n <div>\n <div style={{ display: 'flex' }}>\n {filterListGroup &&\n filterListGroup.map((item) => {\n return (\n <TimelineToggleButton\n title={item.name}\n timelineItem={item.name}\n handleClick={() => filterCall(item.name)}\n off={off}\n icon={\n <IconRenderer\n noBorder\n value={{\n color: { hex: '#' + item.color },\n name: item.icon\n }}\n />\n }\n />\n );\n })}\n {/* <Button onClick={clear} >Clear</Button> */}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nTimelineTopRowFilter.propTypes = {\n filterList: PropTypes.array,\n filterCall: PropTypes.func,\n filterListGroup: PropTypes.array,\n off: PropTypes.bool,\n clear: PropTypes.func\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography, Fade, Divider } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignContent: 'flex-end',\n cursor: 'pointer',\n justifyContent: 'center'\n },\n wrapper: {\n display: 'flex'\n },\n countWrapper: {\n background: '#E9DADB',\n borderRadius: 25,\n padding: 8\n }\n}));\n\nexport const DateWrapper = ({ children, date, months, count }) => {\n const classes = useStyles();\n\n const [show, setShow] = useState(true);\n const threadHeight = 165;\n\n const MONTHS = {\n 1: 'Jan',\n 2: 'Feb',\n 3: 'March',\n 4: 'Apr',\n 5: 'May',\n 6: 'June',\n 7: 'July',\n 8: 'Aug',\n 9: 'Sept',\n 10: 'Oct',\n 11: 'Nov',\n 12: 'Dec'\n };\n\n // Convert months to order\n const orderedMonths = [months];\n\n orderedMonths.sort(function (a, b) {\n return a - b;\n });\n\n // Map to named months\n const output = orderedMonths.map(function (i) {\n return MONTHS[i];\n });\n\n return (\n <div onClick={() => setShow(!show)}>\n <Fade in={show}>\n <div>{show && <div className={classes.wrapper}>{children} </div>}</div>\n </Fade>\n\n <div className={classes.root}>\n <div>\n {!show && (\n <div\n style={{\n height: threadHeight,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <div>\n <div className={classes.countWrapper}>\n <Typography variant='subtitle2'> + </Typography>\n {count}\n </div>\n <div\n style={{\n height: 123,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <Divider orientation='vertical' />\n </div>\n </div>\n </div>\n )}\n <div style={{ padding: 4 }}>\n <Typography variant='caption'>{output} </Typography>\n </div>\n </div>\n </div>\n </div>\n );\n};\nDateWrapper.propTypes = {\n children: PropTypes.node,\n date: PropTypes.string,\n months: PropTypes.number,\n count: PropTypes.number\n};\n","import React from 'react';\nimport { makeStyles, ButtonBase, Paper } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: 12,\n paddingLeft: 13,\n paddingRight: 11,\n borderRadius: 50,\n background: theme.palette.common.white,\n minWidth: 32,\n minHeight: 32\n }\n}));\n\nexport const CircleButton = (props) => {\n const { children, ...otherProps } = props;\n const classes = useStyles(props);\n\n return (\n <ButtonBase {...otherProps}>\n <Paper className={classes.root} elevation={1}>\n {children}\n </Paper>\n </ButtonBase>\n );\n};\nCircleButton.propTypes = {\n children: PropTypes.node\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"CircleButton-CrvnPHDw.js","names":["useStyles","useStyles","useStyles","useStyles"],"sources":["../src/componentSystems/multiThreadTimeline/ui/SummaryToken.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineToggleButton.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineTopRowFilter.jsx","../src/componentSystems/multiThreadTimeline/ui/DateWrapper.jsx","../src/componentSystems/multiThreadTimeline/ui/CircleButton.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Typography, Divider, Tooltip } from '@material-ui/core';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { TimelineDateBar } from './TimelineDateBar';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { TimelineStatus } from './TimelineStatus';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n minHeight: 200,\n background: (props) => !props.hidebackground && 'whitesmoke'\n },\n dateBar: {\n width: 130\n },\n centerWrapper: {\n display: 'flex',\n justifyContent: 'center'\n }\n}));\n\nexport const SummaryToken = (props) => {\n const {\n title,\n short,\n showMonth,\n amount,\n status,\n date,\n user,\n icon,\n months = [],\n className,\n month,\n balance\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={clsx(classes.root, className)}>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: 130\n }}\n >\n <div style={{ marginRight: -8 }} className={classes.centerWrapper}>\n {icon}\n </div>\n\n <div style={{ height: 24, display: 'flex', justifyContent: 'center' }}>\n <Divider orientation='vertical' />\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <LayoutUnit unit='nudge' />\n <div style={{ textAlign: 'center' }}>\n <Tooltip title={title}>\n <Typography\n variant='subtitle2'\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {title}\n </Typography>\n </Tooltip>\n </div>\n <LayoutUnit unit='nudge' />\n\n {amount && (\n <div\n style={{\n textAlign: 'center'\n }}\n >\n <Tooltip title={amount}>\n <Typography\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {amount}\n </Typography>\n </Tooltip>\n </div>\n )}\n\n {!amount && (\n <div\n style={{\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <TimelineStatus status={status} />\n </div>\n )}\n\n <div style={{ textAlign: 'center' }}>\n <Typography variant='caption'>{date}</Typography>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={user}>\n <Typography variant='caption'>{user}</Typography>\n </Tooltip>\n </div>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={balance}>\n <Typography variant='caption'>{balance}</Typography>\n </Tooltip>\n </div>\n </div>\n </div>\n <LayoutUnit unit='xxs' />\n {!short && (\n <div className={classes.dateBar}>\n <TimelineDateBar\n month={month}\n showMonth={showMonth}\n months={months}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nSummaryToken.propTypes = {\n title: PropTypes.string,\n short: PropTypes.bool,\n showMonth: PropTypes.bool,\n amount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.string,\n date: PropTypes.string,\n user: PropTypes.string,\n icon: PropTypes.element,\n months: PropTypes.array,\n className: PropTypes.string,\n month: PropTypes.string,\n balance: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hidebackground: PropTypes.bool\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\n/**\n * @returns {import('@material-ui/core/styles').WithStyles<import('@material-ui/core/styles/withStyles').Styles<any, {}, string>>}\n */\nexport const useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n off: {\n opacity: 0.5\n }\n}));\n\nexport const TimelineToggleButton = ({\n title,\n timelineItem,\n handleClick,\n icon,\n off\n}) => {\n //const [width, setWidth] = useState(0);\n const classes = useStyles();\n const [filter, setFilter] = useState(true);\n\n const selectFilter = () => {\n setFilter(!filter);\n };\n\n return (\n <div\n className={classes.root}\n onClick={handleClick}\n onMouseUp={selectFilter}\n >\n <div className={off && classes.off}>{icon}</div>\n\n <div style={{ marginTop: -4, marginRight: 48 }}>\n <Typography\n variant='caption'\n style={{ textDecoration: !filter && 'line-through' }}\n >\n {title}\n </Typography>\n </div>\n {/* @todo: fix caption size */}\n </div>\n );\n};\n\nTimelineToggleButton.propTypes = {\n title: PropTypes.string.isRequired,\n timelineItem: PropTypes.object,\n handleClick: PropTypes.func.isRequired,\n icon: PropTypes.node.isRequired,\n off: PropTypes.bool\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { TimelineToggleButton } from './TimelineToggleButton';\nimport { IconRenderer } from '../../../UI/templates/ui/renderers/IconRenderer';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n menu: {\n marginTop: 10,\n marginRight: 8,\n marginBottom: 20\n }\n}));\n\nexport const TimelineTopRowFilter = ({\n filterList,\n filterCall,\n filterListGroup,\n off,\n clear\n}) => {\n const classes = useStyles();\n\n return (\n <div className={classes.root}>\n {/* <button onClick={()=> setCompact(!compact) } > minimize </button> */}\n <div>\n <div>\n <div style={{ display: 'flex' }}>\n {filterListGroup &&\n filterListGroup.map((item) => {\n return (\n <TimelineToggleButton\n title={item.name}\n timelineItem={item.name}\n handleClick={() => filterCall(item.name)}\n off={off}\n icon={\n <IconRenderer\n noBorder\n value={{\n color: { hex: '#' + item.color },\n name: item.icon\n }}\n />\n }\n />\n );\n })}\n {/* <Button onClick={clear} >Clear</Button> */}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nTimelineTopRowFilter.propTypes = {\n filterList: PropTypes.array,\n filterCall: PropTypes.func,\n filterListGroup: PropTypes.array,\n off: PropTypes.bool,\n clear: PropTypes.func\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography, Fade, Divider } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignContent: 'flex-end',\n cursor: 'pointer',\n justifyContent: 'center'\n },\n wrapper: {\n display: 'flex'\n },\n countWrapper: {\n background: '#E9DADB',\n borderRadius: 25,\n padding: 8\n }\n}));\n\nexport const DateWrapper = ({ children, date, months, count }) => {\n const classes = useStyles();\n\n const [show, setShow] = useState(true);\n const threadHeight = 165;\n\n const MONTHS = {\n 1: 'Jan',\n 2: 'Feb',\n 3: 'March',\n 4: 'Apr',\n 5: 'May',\n 6: 'June',\n 7: 'July',\n 8: 'Aug',\n 9: 'Sept',\n 10: 'Oct',\n 11: 'Nov',\n 12: 'Dec'\n };\n\n // Convert months to order\n const orderedMonths = [months];\n\n orderedMonths.sort(function (a, b) {\n return a - b;\n });\n\n // Map to named months\n const output = orderedMonths.map(function (i) {\n return MONTHS[i];\n });\n\n return (\n <div onClick={() => setShow(!show)}>\n <Fade in={show}>\n <div>{show && <div className={classes.wrapper}>{children} </div>}</div>\n </Fade>\n\n <div className={classes.root}>\n <div>\n {!show && (\n <div\n style={{\n height: threadHeight,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <div>\n <div className={classes.countWrapper}>\n <Typography variant='subtitle2'> + </Typography>\n {count}\n </div>\n <div\n style={{\n height: 123,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <Divider orientation='vertical' />\n </div>\n </div>\n </div>\n )}\n <div style={{ padding: 4 }}>\n <Typography variant='caption'>{output} </Typography>\n </div>\n </div>\n </div>\n </div>\n );\n};\nDateWrapper.propTypes = {\n children: PropTypes.node,\n date: PropTypes.string,\n months: PropTypes.number,\n count: PropTypes.number\n};\n","import React from 'react';\nimport { makeStyles, ButtonBase, Paper } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: 12,\n paddingLeft: 13,\n paddingRight: 11,\n borderRadius: 50,\n background: theme.palette.common.white,\n minWidth: 32,\n minHeight: 32\n }\n}));\n\nexport const CircleButton = (props) => {\n const { children, ...otherProps } = props;\n const classes = useStyles(props);\n\n return (\n <ButtonBase {...otherProps}>\n <Paper className={classes.root} elevation={1}>\n {children}\n </Paper>\n </ButtonBase>\n );\n};\nCircleButton.propTypes = {\n children: PropTypes.node\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { a as toTitleCase } from "./StringUtilities-u-cxAW6-.js";
2
2
  import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
3
- import { L as UdpEnums, m as LookupTypeIdEnums } from "./unitySystemEnums-e5F9Jr7m.js";
3
+ import { L as UdpEnums, m as LookupTypeIdEnums } from "./unitySystemEnums-CZDCsD5t.js";
4
4
  import { t as SearchMethodUdpGrid } from "./SearchMethodUdpGrid-CWYZUOx-.js";
5
5
  import React, { useCallback, useEffect, useMemo } from "react";
6
6
  import { useHistory } from "react-router-dom";
@@ -173,4 +173,4 @@ const CrudBrowserContainer = (props) => {
173
173
 
174
174
  //#endregion
175
175
  export { CrudTableColumnDefs as n, mapDotNetTypeToAgGridType as r, CrudBrowserContainer as t };
176
- //# sourceMappingURL=CrudBrowserContainer-De2WRDIH.js.map
176
+ //# sourceMappingURL=CrudBrowserContainer-DJHq5ILl.js.map