@argusoft/medplat-core 1.0.30 → 1.0.32

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 (226) hide show
  1. package/dist/{AccessRights-xrday-L1.js → AccessRights-DBjTQA1-.js} +395 -390
  2. package/dist/AccessRights-DBjTQA1-.js.map +1 -0
  3. package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
  4. package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
  5. package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
  6. package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
  7. package/dist/AddMenuConfiguration.css +1 -1
  8. package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-CdcAvaml-ZtVTX6vX.js} +43 -43
  9. package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
  10. package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-BprQEYJw-CclreTv1.js} +109 -102
  11. package/dist/CategoriesPage-BprQEYJw-CclreTv1.js.map +1 -0
  12. package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
  13. package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
  14. package/dist/ConditionConfig-Bpm6OoV5.js +408 -0
  15. package/dist/ConditionConfig-Bpm6OoV5.js.map +1 -0
  16. package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-CTiGSx71-CsYohJ5e.js} +32 -32
  17. package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-CTiGSx71-CsYohJ5e.js.map} +1 -1
  18. package/dist/EntityManagement-BGwJGl9k.js +62 -0
  19. package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
  20. package/dist/EventConfig-BY2cgGyx.js +27 -0
  21. package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
  22. package/dist/EventConfigurations-B-z7xHh_.js +544 -0
  23. package/dist/EventConfigurations-B-z7xHh_.js.map +1 -0
  24. package/dist/EventConfigurations.css +1 -1
  25. package/dist/EventsExceptionModal-DafomIv6.js +188 -0
  26. package/dist/EventsExceptionModal-DafomIv6.js.map +1 -0
  27. package/dist/EventsUi-Dl_yckSA.js +263 -0
  28. package/dist/EventsUi-Dl_yckSA.js.map +1 -0
  29. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js +112 -0
  30. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
  31. package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-Kc73yPHH.js} +9 -5
  32. package/dist/FeatureMenu-Kc73yPHH.js.map +1 -0
  33. package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-CrIHMAxz.js} +16 -16
  34. package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
  35. package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
  36. package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
  37. package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
  38. package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
  39. package/dist/{GrantPermissionModal-BDN66Atn.js → GrantPermissionModal-D7iNZd0M.js} +54 -51
  40. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  41. package/dist/ImmunizationConfigurationBase-lKsJZMak.js +8060 -0
  42. package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
  43. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
  44. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
  45. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
  46. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
  47. package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
  48. package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
  49. package/dist/ManageEventConfiguration-DqPbn3Oi.js +1216 -0
  50. package/dist/ManageEventConfiguration-DqPbn3Oi.js.map +1 -0
  51. package/dist/ManageEventConfiguration.css +1 -1
  52. package/dist/ManageRole-CyfpySt9.js +981 -0
  53. package/dist/ManageRole-CyfpySt9.js.map +1 -0
  54. package/dist/{ManageUser-DCFkUMV9.js → ManageUser-Dm0l833u.js} +286 -286
  55. package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-Dm0l833u.js.map} +1 -1
  56. package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +46 -46
  57. package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
  58. package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
  59. package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
  60. package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
  61. package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
  62. package/dist/MobileTypeEventConfigModal-DodU3beR.js +752 -0
  63. package/dist/MobileTypeEventConfigModal-DodU3beR.js.map +1 -0
  64. package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
  65. package/dist/NewServerManagement-BdayO78D.js.map +1 -0
  66. package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
  67. package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
  68. package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +58 -58
  69. package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
  70. package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +37 -37
  71. package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
  72. package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
  73. package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
  74. package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
  75. package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
  76. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
  77. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
  78. package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-BWblMlic-CWkgeBw0.js} +132 -132
  79. package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
  80. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
  81. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
  82. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
  83. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
  84. package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +44 -43
  85. package/dist/ProductsPage-BI22nPb4-CQBjnc-n.js.map +1 -0
  86. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
  87. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
  88. package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +428 -418
  89. package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
  90. package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +65 -65
  91. package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
  92. package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +55 -55
  93. package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
  94. package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
  95. package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
  96. package/dist/Roles-BoNGJhtR.js +19 -0
  97. package/dist/Roles-BoNGJhtR.js.map +1 -0
  98. package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +39 -39
  99. package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
  100. package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +61 -61
  101. package/dist/{SalesPage-D18DCseD-BxktGDRQ.js.map → SalesPage-eF9Yr42z-BQ9FlXC3.js.map} +1 -1
  102. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
  103. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js.map +1 -0
  104. package/dist/{ShowFlywayQuery-D1y_4A1u.js → ShowFlywayQuery-DIOUdYfG.js} +26 -19
  105. package/dist/{ShowFlywayQuery-D1y_4A1u.js.map → ShowFlywayQuery-DIOUdYfG.js.map} +1 -1
  106. package/dist/{StorageUnitsPage-7EqwuMOI-BwUso1Th.js → StorageUnitsPage-CTEVuemZ-B4osG74N.js} +253 -223
  107. package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
  108. package/dist/{SubMenu-eEDhZUvh.js → SubMenu-OO2zhKiu.js} +5 -3
  109. package/dist/SubMenu-OO2zhKiu.js.map +1 -0
  110. package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
  111. package/dist/TableDetails-Cc40dEUs.js.map +1 -0
  112. package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
  113. package/dist/TableList-B5tX4wII.js.map +1 -0
  114. package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +195 -180
  115. package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
  116. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
  117. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
  118. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
  119. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
  120. package/dist/TypeConfiguration-EaFiOzRE.js +114 -0
  121. package/dist/TypeConfiguration-EaFiOzRE.js.map +1 -0
  122. package/dist/UserList-Cf5B-o_1.js +1904 -0
  123. package/dist/UserList-Cf5B-o_1.js.map +1 -0
  124. package/dist/Users-MC7txo1V.js +43 -0
  125. package/dist/{Users-Bpc4Sazd.js.map → Users-MC7txo1V.js.map} +1 -1
  126. package/dist/VaccineEducation-T_UE57Ef.js +231 -0
  127. package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
  128. package/dist/VaccineEducation.css +1 -0
  129. package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
  130. package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
  131. package/dist/VaccineEducationConfigurator.css +4 -0
  132. package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
  133. package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
  134. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
  135. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
  136. package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-BTpJFQe_-CYPZIqQF.js} +166 -56
  137. package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
  138. package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
  139. package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
  140. package/dist/index-mfoqII2U.js +524 -0
  141. package/dist/index-mfoqII2U.js.map +1 -0
  142. package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
  143. package/dist/index-o8Pyt1Bt.js.map +1 -0
  144. package/dist/index.css +1 -1
  145. package/dist/index.js +1 -1
  146. package/dist/index.lib-BySa9-Z-.js +936 -0
  147. package/dist/index.lib-BySa9-Z-.js.map +1 -0
  148. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
  149. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
  150. package/package.json +5 -1
  151. package/dist/AccessRights-xrday-L1.js.map +0 -1
  152. package/dist/AddMenuConfiguration-e5BVXhmw.js +0 -8547
  153. package/dist/AddMenuConfiguration-e5BVXhmw.js.map +0 -1
  154. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +0 -1
  155. package/dist/ConditionConfig-Ddz9halE.js +0 -395
  156. package/dist/ConditionConfig-Ddz9halE.js.map +0 -1
  157. package/dist/ConditionConfig.css +0 -1
  158. package/dist/EntityManagement-CPQL6qBj.js +0 -50
  159. package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
  160. package/dist/EventConfig-BmLemzX3.js +0 -26
  161. package/dist/EventConfigurations-Bzh1qWXU.js +0 -450
  162. package/dist/EventConfigurations-Bzh1qWXU.js.map +0 -1
  163. package/dist/EventsExceptionModal-B2SRrnB1.js +0 -200
  164. package/dist/EventsExceptionModal-B2SRrnB1.js.map +0 -1
  165. package/dist/EventsSkeleton-BIcPks4T.js +0 -61
  166. package/dist/EventsSkeleton-BIcPks4T.js.map +0 -1
  167. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +0 -79
  168. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +0 -1
  169. package/dist/FeatureMenu-DYJmDt7q.js.map +0 -1
  170. package/dist/GrantPermissionModal-BDN66Atn.js.map +0 -1
  171. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +0 -7639
  172. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
  173. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +0 -665
  174. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +0 -1
  175. package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
  176. package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
  177. package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
  178. package/dist/ManageRole-CNZBRKGU.js +0 -776
  179. package/dist/ManageRole-CNZBRKGU.js.map +0 -1
  180. package/dist/MobileAnalytics-pQoE8cG1.js +0 -16888
  181. package/dist/MobileAnalytics-pQoE8cG1.js.map +0 -1
  182. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  183. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  184. package/dist/MobileTypeEventConfigModal-BeveaX0C.js +0 -783
  185. package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +0 -1
  186. package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
  187. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
  188. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
  189. package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
  190. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +0 -783
  191. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +0 -1
  192. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
  193. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +0 -599
  194. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +0 -1
  195. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +0 -1302
  196. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +0 -1
  197. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +0 -1
  198. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +0 -648
  199. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
  200. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
  201. package/dist/Roles-BIyiic67.js +0 -14
  202. package/dist/Roles-BIyiic67.js.map +0 -1
  203. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +0 -747
  204. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +0 -1
  205. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +0 -1
  206. package/dist/SubMenu-eEDhZUvh.js.map +0 -1
  207. package/dist/TableDetails-BtafRxXb.js.map +0 -1
  208. package/dist/TableList-Dpo6dO7S.js.map +0 -1
  209. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +0 -1
  210. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +0 -315
  211. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +0 -1
  212. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +0 -476
  213. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +0 -1
  214. package/dist/TypeConfiguration-3O6ABrK-.js +0 -117
  215. package/dist/TypeConfiguration-3O6ABrK-.js.map +0 -1
  216. package/dist/UserList-DgPxsnj2.js +0 -1129
  217. package/dist/UserList-DgPxsnj2.js.map +0 -1
  218. package/dist/Users-Bpc4Sazd.js +0 -41
  219. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +0 -321
  220. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +0 -1
  221. package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
  222. package/dist/dashboardLayoutUtils-D1xCAxp3.js +0 -405
  223. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  224. package/dist/index-D9YNFPn9.js.map +0 -1
  225. package/dist/index.lib-Dn8PMkeD.js +0 -862
  226. package/dist/index.lib-Dn8PMkeD.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-ClZJY2x1-MkSWn6TZ.js","sources":["../../productManagement/dist/constants-ClZJY2x1.js"],"sourcesContent":["//#region src/utils/constants.js\nvar e = [\n\t{\n\t\tvalue: \"VIAL\",\n\t\tlabel: \"Vial\"\n\t},\n\t{\n\t\tvalue: \"DROPS\",\n\t\tlabel: \"Drops\"\n\t},\n\t{\n\t\tvalue: \"PIECE\",\n\t\tlabel: \"Piece\"\n\t},\n\t{\n\t\tvalue: \"BOX\",\n\t\tlabel: \"Box\"\n\t},\n\t{\n\t\tvalue: \"BOTTLE\",\n\t\tlabel: \"Bottle\"\n\t},\n\t{\n\t\tvalue: \"PACK\",\n\t\tlabel: \"Pack\"\n\t},\n\t{\n\t\tvalue: \"OTHER\",\n\t\tlabel: \"Other\"\n\t}\n], t = [{\n\tvalue: \"VIAL\",\n\tlabel: \"Vial (ml)\"\n}, {\n\tvalue: \"DROPS\",\n\tlabel: \"Drops\"\n}], n = [{\n\tvalue: \"HOURS\",\n\tlabel: \"Hours\"\n}, {\n\tvalue: \"DAYS\",\n\tlabel: \"Days\"\n}], r = [\n\t{\n\t\tvalue: \"DAYS\",\n\t\tlabel: \"Days\"\n\t},\n\t{\n\t\tvalue: \"WEEKS\",\n\t\tlabel: \"Weeks\"\n\t},\n\t{\n\t\tvalue: \"MONTHS\",\n\t\tlabel: \"Months\"\n\t},\n\t{\n\t\tvalue: \"YEARS\",\n\t\tlabel: \"Years\"\n\t}\n], i = /* @__PURE__ */ \"faSyringe.faPills.faCapsules.faTablets.faVial.faVials.faPrescriptionBottle.faPrescriptionBottleMedical.faStethoscope.faHeartPulse.faVirus.faViruses.faBandage.faNotesMedical.faBoxesStacked.faBox.faBoxOpen.faDroplet.faShieldVirus.faShieldHeart.faKitMedical.faBriefcaseMedical.faFlask.faFlaskVial.faDna.faMicroscope.faThermometer.faTemperatureHalf.faWheelchair.faTooth.faBrain.faLungs.faBone.faEyeDropper.faHandHoldingMedical.faTruckMedical.faHospital.faUserDoctor.faUserNurse.faBaby.faBabyCarriage.faWeightScale.faRibbon.faTag.faTags.faLayerGroup.faCubesStacked.faJar.faBottleDroplet.faBacteria.faBacterium.faDisease.faMortarPestle.faWheatAwn.faAppleWhole.faLeaf.faSeedling.faWandMagicSparkles.faFileMedical.faClipboardCheck.faBoxArchive.faWarehouse.faCartFlatbed.faPumpMedical.faSoap.faHeadSideCough.faPersonCane.faWineBottle\".split(\".\");\nfunction a(e) {\n\treturn e ? e.replace(/^fa/, \"\").replace(/([a-z0-9])([A-Z])/g, \"$1 $2\").trim() : \"\";\n}\nvar o = [\n\t{\n\t\tvalue: \"REFRIGERATOR\",\n\t\tlabel: \"Refrigerator\"\n\t},\n\t{\n\t\tvalue: \"FREEZER\",\n\t\tlabel: \"Freezer\"\n\t},\n\t{\n\t\tvalue: \"COLD_ROOM\",\n\t\tlabel: \"Cold room\"\n\t},\n\t{\n\t\tvalue: \"COOLER_BOX\",\n\t\tlabel: \"Cooler box\"\n\t},\n\t{\n\t\tvalue: \"AMBIENT\",\n\t\tlabel: \"Ambient shelf\"\n\t},\n\t{\n\t\tvalue: \"OTHER\",\n\t\tlabel: \"Other\"\n\t}\n], s = [\n\t{\n\t\tvalue: \"IM\",\n\t\tlabel: \"Intramuscular (IM)\"\n\t},\n\t{\n\t\tvalue: \"SC\",\n\t\tlabel: \"Subcutaneous (SC)\"\n\t},\n\t{\n\t\tvalue: \"ID\",\n\t\tlabel: \"Intradermal (ID)\"\n\t},\n\t{\n\t\tvalue: \"ORAL\",\n\t\tlabel: \"Oral\"\n\t},\n\t{\n\t\tvalue: \"NASAL\",\n\t\tlabel: \"Nasal\"\n\t}\n], c = [\n\t{\n\t\tvalue: \"FREE\",\n\t\tlabel: \"Free (operator enters price)\"\n\t},\n\t{\n\t\tvalue: \"FIXED\",\n\t\tlabel: \"Fixed price\"\n\t},\n\t{\n\t\tvalue: \"CAPPED\",\n\t\tlabel: \"Price cap (MRP)\"\n\t}\n], l = [\n\t{\n\t\tvalue: \"CASH\",\n\t\tlabel: \"Cash\"\n\t},\n\t{\n\t\tvalue: \"UPI\",\n\t\tlabel: \"UPI\"\n\t},\n\t{\n\t\tvalue: \"CARD\",\n\t\tlabel: \"Card\"\n\t},\n\t{\n\t\tvalue: \"BANK\",\n\t\tlabel: \"Bank transfer\"\n\t},\n\t{\n\t\tvalue: \"CREDIT\",\n\t\tlabel: \"Credit (pay later)\"\n\t}\n], u = [\n\t{\n\t\tvalue: \"RECALL\",\n\t\tlabel: \"Recall\"\n\t},\n\t{\n\t\tvalue: \"TEMPERATURE_EXCURSION\",\n\t\tlabel: \"Temperature excursion\"\n\t},\n\t{\n\t\tvalue: \"INTEGRITY_ISSUE\",\n\t\tlabel: \"Packaging or integrity issue\"\n\t},\n\t{\n\t\tvalue: \"EXPIRED\",\n\t\tlabel: \"Expired\"\n\t},\n\t{\n\t\tvalue: \"DAMAGED\",\n\t\tlabel: \"Damaged\"\n\t},\n\t{\n\t\tvalue: \"LOST\",\n\t\tlabel: \"Lost\"\n\t},\n\t{\n\t\tvalue: \"OTHER\",\n\t\tlabel: \"Other\"\n\t}\n], d = [\n\t{\n\t\tvalue: \"TIME_EXPIRATION\",\n\t\tlabel: \"Time expired\"\n\t},\n\t{\n\t\tvalue: \"PARTIAL_USE\",\n\t\tlabel: \"Partial use\"\n\t},\n\t{\n\t\tvalue: \"SINGLE_USE_POLICY\",\n\t\tlabel: \"Single-use policy\"\n\t},\n\t{\n\t\tvalue: \"CONTAMINATION\",\n\t\tlabel: \"Contamination\"\n\t},\n\t{\n\t\tvalue: \"ACCIDENTAL_SPILLAGE\",\n\t\tlabel: \"Accidental spillage\"\n\t},\n\t{\n\t\tvalue: \"INCORRECT_DILUTION\",\n\t\tlabel: \"Incorrect dilution\"\n\t},\n\t{\n\t\tvalue: \"COLD_CHAIN_EXCURSION\",\n\t\tlabel: \"Cold chain break\"\n\t},\n\t{\n\t\tvalue: \"DAMAGED\",\n\t\tlabel: \"Damaged\"\n\t},\n\t{\n\t\tvalue: \"LOST\",\n\t\tlabel: \"Lost\"\n\t},\n\t{\n\t\tvalue: \"OTHER\",\n\t\tlabel: \"Other\"\n\t}\n], f = \"VACCINES\", p = [\n\t{\n\t\tvalue: \"ACTIVE\",\n\t\tlabel: \"Active\"\n\t},\n\t{\n\t\tvalue: \"IN_USE\",\n\t\tlabel: \"In use\"\n\t},\n\t{\n\t\tvalue: \"EXHAUSTED\",\n\t\tlabel: \"Used up\"\n\t},\n\t{\n\t\tvalue: \"EXPIRED\",\n\t\tlabel: \"Expired\"\n\t},\n\t{\n\t\tvalue: \"QUARANTINED\",\n\t\tlabel: \"Quarantined\"\n\t}\n], m = [\n\t{\n\t\tvalue: \"OPEN\",\n\t\tlabel: \"Out\"\n\t},\n\t{\n\t\tvalue: \"RETURNED\",\n\t\tlabel: \"Returned\"\n\t},\n\t{\n\t\tvalue: \"CANCELLED\",\n\t\tlabel: \"Cancelled\"\n\t}\n], h = [\n\t{\n\t\tvalue: \"USER\",\n\t\tlabel: \"Personal\"\n\t},\n\t{\n\t\tvalue: \"FACILITY\",\n\t\tlabel: \"Facility\"\n\t},\n\t{\n\t\tvalue: \"SESSION\",\n\t\tlabel: \"Session\"\n\t}\n];\nfunction g(e) {\n\treturn !e || e.status !== \"OPEN\" || !e.sessionExpectedEndTime ? !1 : new Date(e.sessionExpectedEndTime).getTime() < Date.now();\n}\nvar _ = [\n\t{\n\t\tvalue: \"PENDING_SHIPMENT\",\n\t\tlabel: \"Awaiting shipment\"\n\t},\n\t{\n\t\tvalue: \"IN_TRANSIT\",\n\t\tlabel: \"In transit\"\n\t},\n\t{\n\t\tvalue: \"RECEIVED\",\n\t\tlabel: \"Received\"\n\t},\n\t{\n\t\tvalue: \"PARTIALLY_RECEIVED\",\n\t\tlabel: \"Partially received\"\n\t},\n\t{\n\t\tvalue: \"DISCREPANCY\",\n\t\tlabel: \"Discrepancy\"\n\t}\n], v = [\n\t{\n\t\tvalue: \"AWAITING_APPROVAL\",\n\t\tlabel: \"Awaiting approval\",\n\t\tcolor: \"info\"\n\t},\n\t{\n\t\tvalue: \"AWAITING_SHIPMENT\",\n\t\tlabel: \"Awaiting shipment\",\n\t\tcolor: \"warning\"\n\t},\n\t{\n\t\tvalue: \"IN_TRANSIT\",\n\t\tlabel: \"In transit\",\n\t\tcolor: \"info\"\n\t},\n\t{\n\t\tvalue: \"DISCREPANCY\",\n\t\tlabel: \"Needs attention\",\n\t\tcolor: \"error\"\n\t},\n\t{\n\t\tvalue: \"PARTIALLY_RECEIVED\",\n\t\tlabel: \"Partially received\",\n\t\tcolor: \"warning\"\n\t},\n\t{\n\t\tvalue: \"NOT_RECEIVED\",\n\t\tlabel: \"Nothing received\",\n\t\tcolor: \"error\"\n\t},\n\t{\n\t\tvalue: \"RECEIVED\",\n\t\tlabel: \"Received\",\n\t\tcolor: \"success\"\n\t},\n\t{\n\t\tvalue: \"REJECTED\",\n\t\tlabel: \"Rejected\",\n\t\tcolor: \"error\"\n\t},\n\t{\n\t\tvalue: \"CANCELLED\",\n\t\tlabel: \"Cancelled\",\n\t\tcolor: \"default\"\n\t}\n];\nfunction y(e) {\n\tif (!e || e.status === \"PENDING\") return \"AWAITING_APPROVAL\";\n\tif (e.status === \"REJECTED\") return \"REJECTED\";\n\tif (e.status === \"CANCELLED\") return \"CANCELLED\";\n\tswitch (e.fulfillmentStatus) {\n\t\tcase \"PENDING_SHIPMENT\": return \"AWAITING_SHIPMENT\";\n\t\tcase \"IN_TRANSIT\": return \"IN_TRANSIT\";\n\t\tcase \"DISCREPANCY\": return \"DISCREPANCY\";\n\t\tcase \"PARTIALLY_RECEIVED\": return e.approvedPurchaseId ? \"PARTIALLY_RECEIVED\" : \"NOT_RECEIVED\";\n\t\tcase \"RECEIVED\": return \"RECEIVED\";\n\t\tdefault: return e.approvedPurchaseId ? \"RECEIVED\" : \"AWAITING_SHIPMENT\";\n\t}\n}\nvar b = [\n\t{\n\t\tvalue: \"PENDING\",\n\t\tlabel: \"Awaiting receipt\"\n\t},\n\t{\n\t\tvalue: \"IN_TRANSIT\",\n\t\tlabel: \"In transit\"\n\t},\n\t{\n\t\tvalue: \"RECEIVED\",\n\t\tlabel: \"Received\"\n\t},\n\t{\n\t\tvalue: \"CANCELLED\",\n\t\tlabel: \"Cancelled\"\n\t}\n], x = [\n\t{\n\t\tvalue: \"OPEN\",\n\t\tlabel: \"In use\"\n\t},\n\t{\n\t\tvalue: \"IN_USE\",\n\t\tlabel: \"In use\"\n\t},\n\t{\n\t\tvalue: \"CLOSED\",\n\t\tlabel: \"Closed\"\n\t},\n\t{\n\t\tvalue: \"EXPIRED\",\n\t\tlabel: \"Expired\"\n\t}\n], S = [\n\t{\n\t\tvalue: \"PENDING\",\n\t\tlabel: \"Pending\"\n\t},\n\t{\n\t\tvalue: \"COMPLETED\",\n\t\tlabel: \"Synced\"\n\t},\n\t{\n\t\tvalue: \"FAILED\",\n\t\tlabel: \"Failed\"\n\t}\n];\nfunction C(e, t) {\n\tif (t == null || t === \"\") return \"\";\n\tlet n = e.find((e) => e.value === t);\n\treturn n ? n.label : String(t);\n}\nfunction w(t, n) {\n\treturn t === \"OTHER\" && n ? n : C(e, t);\n}\n//#endregion\nexport { C, g as S, w as T, t as _, h as a, d as b, e as c, c as d, o as f, s as g, f as h, _ as i, u as l, b as m, p as n, l as o, S as p, i as r, m as s, r as t, v as u, n as v, y as w, a as x, x as y };\n\n//# sourceMappingURL=constants-ClZJY2x1.js.map"],"names":["e","t","n","r","i","a","s","c","l","u","d","f","p","m","h","g","_","v","y","b","x","S","C","w"],"mappings":"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"}
@@ -1,405 +0,0 @@
1
- import { generateUUID as R } from "@/utils/UUIDgenerator";
2
- import { DASHBOARD_COMPONENT_TYPES as l, DASHBOARD_ROOT_DROP_ZONE as g, DASHBOARD_ALLOWED_CHILDREN as I, DASHBOARD_LAYOUT_STYLE_DEFAULTS as U } from "@/utils/FormConstants";
3
- const S = (e, t = {}) => ({
4
- id: `node-${R()}`,
5
- type: e,
6
- children: [],
7
- ...U[e] || {},
8
- ...t
9
- }), q = (e, t) => ({
10
- id: e.id,
11
- name: e.name,
12
- type: l.FEATURE,
13
- instanceId: `${t || "DASHBOARD"}_${e.id}_${R()}`,
14
- icon: {
15
- id: `svg-icon-${e.id}`,
16
- content: e.icon,
17
- type: "svg"
18
- }
19
- }), F = (e, t) => {
20
- var i, r, o, s;
21
- if (!e || e.type !== l.FEATURE_CARD || !t)
22
- return e;
23
- const n = t.name || t.menuName || t.title || ((i = t.content) == null ? void 0 : i.title) || "";
24
- return {
25
- ...e,
26
- content: {
27
- ...e.content || {},
28
- title: n,
29
- subTitle: ""
30
- },
31
- icon: {
32
- icon: "",
33
- iconsvg: ((r = t.icon) == null ? void 0 : r.content) || ((o = t.icon) == null ? void 0 : o.svg) || ((s = t.icon) == null ? void 0 : s.iconsvg) || ""
34
- }
35
- };
36
- }, K = (e) => {
37
- var n, i;
38
- if (!e || e.type !== l.FEATURE_CARD)
39
- return e;
40
- const t = ((n = e.cta) == null ? void 0 : n.type) === "BUTTON" ? e.cta : (i = e.cta) != null && i.type ? { type: e.cta.type } : void 0;
41
- return {
42
- ...e,
43
- content: {
44
- ...e.content || {},
45
- title: "",
46
- subTitle: ""
47
- },
48
- icon: {
49
- icon: "",
50
- iconsvg: ""
51
- },
52
- ...t ? { cta: t } : {}
53
- };
54
- }, J = (e, t, n = null, i = null) => {
55
- var c, u, a;
56
- const r = I[e] || [], o = i || t, s = o === "FEATURE_CARD" ? "Feature Card" : o === "SECTION" ? "Section" : o === "ROW" || o === "COLUMN" ? "Card Stack" : o === "FEATURE" ? "Feature" : o === "SEARCH_BAR" ? "Search Bar" : o === "CAROUSEL" ? "Image Carousel" : o === "DIVIDER" ? "Divider" : o === "TEXT" ? "Text Heading" : o;
57
- if (n) {
58
- if (e === l.ROW && ((c = n.style) != null && c.height))
59
- return `Cannot place ${s} inside a horizontal spacer.`;
60
- if (e === l.COLUMN && ((u = n.style) != null && u.width))
61
- return `Cannot place ${s} inside a vertical spacer.`;
62
- }
63
- return r.includes(t) ? e === l.FEATURE_CARD && t === l.FEATURE && ((a = n == null ? void 0 : n.children) != null && a.some(
64
- (E) => E.type === l.FEATURE
65
- )) ? "A Feature Card can only contain one feature." : e === l.ROW && ((n == null ? void 0 : n.children) || []).length >= 4 ? "This card stack can contain a maximum of 4 items." : e === l.COLUMN && t === l.COLUMN && ((n == null ? void 0 : n.children) || []).filter(
66
- (E) => E.type === l.COLUMN
67
- ).length >= 4 ? "This container can contain a maximum of 4 items." : "" : t === l.SECTION ? `${s} can only be placed directly inside the layout.` : t === l.DIVIDER ? `${s} can only be placed inside a Section or Card Stack or direcly inside the layout.` : t === l.CAROUSEL ? `${s} can only be placed directly inside the layout.` : t === l.SEARCH_BAR ? `${s} can only be placed directly inside the layout.` : t === l.FEATURE_CARD ? `${s} can only be placed inside a Section or Card Stack.` : t === l.ROW ? `${s} can only be placed inside a Section or directly inside the layout.` : t === l.COLUMN ? `${s} can only be placed inside a Section or directly inside the layout.` : t === l.FEATURE ? `${s} can only be assigned to a Feature Card or Section or card stack.` : t === l.TEXT ? `${s} can only be placed inside a Section or directly inside the layout.` : `${s} cannot be placed in this container.`;
68
- }, C = (e, t) => {
69
- for (const n of e || []) {
70
- if (n.id === t || n.instanceId === t) return n;
71
- const i = C(n.children, t);
72
- if (i) return i;
73
- }
74
- return null;
75
- }, b = (e, t, n = { id: g, type: "HOME", node: null }) => {
76
- for (const i of e || []) {
77
- if (i.id === t || i.instanceId === t) return n;
78
- const r = b(i.children || [], t, {
79
- id: i.instanceId || i.id,
80
- type: i.type,
81
- node: i
82
- });
83
- if (r) return r;
84
- }
85
- return null;
86
- }, A = (e, t) => (e || []).map((n) => {
87
- const i = t(n);
88
- return i.children ? {
89
- ...i,
90
- children: A(i.children, t)
91
- } : i;
92
- }), _ = (e, t, n) => t === g ? [...e || [], n] : A(e, (i) => {
93
- if (i.id === t || i.instanceId === t) {
94
- let r = {
95
- ...i,
96
- children: [...i.children || [], n]
97
- };
98
- return r.type === l.FEATURE_CARD && n.type === l.FEATURE && (r = F(r, n)), r;
99
- }
100
- return i;
101
- }), B = (e, t) => (e || []).filter((n) => n.id !== t && n.instanceId !== t).map((n) => {
102
- const i = B(n.children, t);
103
- return {
104
- ...n,
105
- children: i
106
- };
107
- }), Q = (e, t, n) => A(
108
- e,
109
- (i) => i.id === t || i.instanceId === t ? n(i) : i
110
- ), tt = (e, t) => {
111
- const n = (o) => {
112
- const s = { ...o, id: `node-${R()}` };
113
- return s.instanceId && (s.instanceId = `DASHBOARD_DUP_${R()}`), s.children && (s.children = s.children.map(n)), s;
114
- };
115
- let i = !1;
116
- const r = (o) => {
117
- let s = !1;
118
- const c = [];
119
- for (const u of o)
120
- if (c.push(u), !i && (u.id === t || u.instanceId === t))
121
- i = !0, s = !0, c.push(n(u));
122
- else if (u.children) {
123
- const a = r(u.children);
124
- a !== u.children && (s = !0, c[c.length - 1] = { ...u, children: a });
125
- }
126
- return s ? c : o;
127
- };
128
- return r(e || []);
129
- }, et = (e, t) => {
130
- const n = (i) => {
131
- const r = i.findIndex((c) => c.id === t || c.instanceId === t);
132
- if (r > 0) {
133
- const c = [...i];
134
- return [c[r - 1], c[r]] = [c[r], c[r - 1]], c;
135
- }
136
- let o = !1;
137
- const s = i.map((c) => {
138
- if (c.children) {
139
- const u = n(c.children);
140
- if (u !== c.children)
141
- return o = !0, { ...c, children: u };
142
- }
143
- return c;
144
- });
145
- return o ? s : i;
146
- };
147
- return n(e || []);
148
- }, nt = (e, t) => {
149
- const n = (i) => {
150
- const r = i.findIndex((c) => c.id === t || c.instanceId === t);
151
- if (r >= 0 && r < i.length - 1) {
152
- const c = [...i];
153
- return [c[r], c[r + 1]] = [c[r + 1], c[r]], c;
154
- }
155
- let o = !1;
156
- const s = i.map((c) => {
157
- if (c.children) {
158
- const u = n(c.children);
159
- if (u !== c.children)
160
- return o = !0, { ...c, children: u };
161
- }
162
- return c;
163
- });
164
- return o ? s : i;
165
- };
166
- return n(e || []);
167
- }, H = (e) => (e == null ? void 0 : e.instanceId) || (e == null ? void 0 : e.id), p = (e, t) => {
168
- let n = null;
169
- return { nodes: (e || []).reduce((r, o) => {
170
- if (o.id === t || o.instanceId === t)
171
- return n = o, r;
172
- const s = p(o.children || [], t);
173
- if (s.removedNode) {
174
- n = s.removedNode;
175
- let c = { ...o, children: s.nodes };
176
- return r.push(c), r;
177
- }
178
- return r.push(o), r;
179
- }, []), removedNode: n };
180
- }, O = (e, t, n) => {
181
- let i = !1;
182
- return { nodes: (e || []).reduce((o, s) => {
183
- if (s.id === t || s.instanceId === t)
184
- return o.push(n, s), i = !0, o;
185
- const c = O(
186
- s.children || [],
187
- t,
188
- n
189
- );
190
- return c.didInsert ? (i = !0, o.push({ ...s, children: c.nodes }), o) : (o.push(s), o);
191
- }, []), didInsert: i };
192
- }, D = (e, t) => e ? e.id === t || e.instanceId === t ? !0 : (e.children || []).some((n) => D(n, t)) : !1, $ = (e, t) => {
193
- const n = H(t);
194
- return A(
195
- e,
196
- (i) => i.id === n || i.instanceId === n ? t : i
197
- );
198
- }, it = (e, t, n) => {
199
- const i = O(e, t, n);
200
- return i.didInsert ? i.nodes : e;
201
- }, rt = (e, t, n) => {
202
- const { nodes: i, removedNode: r } = p(
203
- e,
204
- t
205
- );
206
- return !r || n !== g && D(r, n) ? e : _(i, n, r);
207
- }, ct = (e, t, n) => {
208
- if (t === n) return e;
209
- const i = C(e, t), r = C(e, n);
210
- if (!i || !r || D(i, n))
211
- return e;
212
- const { nodes: o, removedNode: s } = p(
213
- e,
214
- t
215
- );
216
- if (!s) return e;
217
- const c = O(o, n, s);
218
- return c.didInsert ? c.nodes : $(o, i);
219
- }, M = (e) => {
220
- var E, f, d;
221
- if (e.contentLayout) return e;
222
- const t = ((f = (E = e.style) == null ? void 0 : E.contentAlignment) == null ? void 0 : f.toUpperCase()) || "LEFT", n = ((d = e.style) == null ? void 0 : d.layoutType) === "HORIZONTAL", i = t, r = i === "START" ? "LEFT" : i === "END" ? "RIGHT" : i === "CENTER" ? "CENTER" : "LEFT", o = "MIDDLE", s = {
223
- ICON: i === "CENTER" || i === "RIGHT" ? { horizontal: r, vertical: o } : { horizontal: "LEFT", vertical: "MIDDLE" },
224
- TITLE: i === "CENTER" || i === "RIGHT" ? { horizontal: r, vertical: o } : { horizontal: "CENTER", vertical: "MIDDLE" },
225
- SUBTITLE: i === "CENTER" || i === "RIGHT" ? { horizontal: r, vertical: o } : { horizontal: "LEFT", vertical: "BOTTOM" },
226
- BUTTON: { horizontal: "RIGHT", vertical: "MIDDLE" }
227
- }, c = {};
228
- ["ICON", "TITLE", "SUBTITLE", "BUTTON"].forEach((h) => {
229
- const m = s[h], y = `${m.horizontal}_${m.vertical}`;
230
- c[y] || (c[y] = {
231
- position: m,
232
- items: []
233
- }), c[y].items.push(h);
234
- });
235
- const a = Object.values(c).filter((h) => h.items.length > 0).map((h) => (h.items.length > 1 && (h.alignment = n ? "HORIZONTAL" : "VERTICAL", h.spacing = n ? 12 : 4), h));
236
- return {
237
- ...e,
238
- contentLayout: a
239
- };
240
- }, z = (e, t) => Array.isArray(e) ? e.map((n) => {
241
- var o, s;
242
- if (n.type === l.SECTION && Array.isArray(n.features)) {
243
- const c = `node-${R()}`;
244
- return S(l.SECTION, {
245
- id: c,
246
- title: n.title || "Section",
247
- header: {
248
- ...U[l.SECTION].header,
249
- title: n.title || "Section"
250
- },
251
- children: n.features.map((u) => t(u, c)).filter(Boolean)
252
- });
253
- }
254
- if (n.type === l.FEATURE)
255
- return t(n, "DASHBOARD");
256
- if (!n.type) return null;
257
- const i = z(
258
- n.children || [],
259
- t
260
- );
261
- let r = S(n.type, {
262
- ...n,
263
- id: n.id || `node-${R()}`,
264
- children: i
265
- });
266
- if (n.type === l.FEATURE_CARD) {
267
- const c = (i || []).find(
268
- (u) => u.type === l.FEATURE
269
- );
270
- c && !((o = r.content) != null && o.title) && !((s = r.content) != null && s.customTitle) && (r = F(r, c)), r = M(r);
271
- }
272
- return r;
273
- }).filter(Boolean) : [], w = (e) => ({
274
- type: l.FEATURE,
275
- id: e.id,
276
- menuName: e.name
277
- }), k = (e) => (e.children || []).find(
278
- (t) => t.type === l.FEATURE
279
- ), x = (e, t) => String(t || "").trim() || (e == null ? void 0 : e.name) || (e == null ? void 0 : e.menuName) || "", P = (e, t) => String(t || "").trim() || (e == null ? void 0 : e.subTitle) || (e == null ? void 0 : e.subtitle) || "", V = (e, t) => {
280
- var o, s, c, u;
281
- const n = ((o = e.icon) == null ? void 0 : o.icon) || ((s = e.icon) == null ? void 0 : s.iconName) || "", i = ((c = e.icon) == null ? void 0 : c.iconsvg) || ((u = e.icon) == null ? void 0 : u.svg) || "";
282
- if (n) return { icon: n, iconsvg: "" };
283
- if (i) return { icon: "", iconsvg: i };
284
- const r = t == null ? void 0 : t.icon;
285
- if (typeof r == "string") {
286
- const a = r.trim();
287
- return a.startsWith("<svg") ? { icon: "", iconsvg: a } : { icon: a, iconsvg: "" };
288
- }
289
- return r != null && r.content || r != null && r.iconsvg || r != null && r.svg ? {
290
- icon: "",
291
- iconsvg: r.content || r.iconsvg || r.svg
292
- } : {
293
- icon: (r == null ? void 0 : r.icon) || (r == null ? void 0 : r.iconName) || "",
294
- iconsvg: ""
295
- };
296
- }, W = (e) => {
297
- const t = typeof e == "object" && e !== null ? e.action : e;
298
- if (t === "" || t === null || t === void 0) return "";
299
- const n = Number(t);
300
- return Number.isNaN(n) ? t : n;
301
- }, v = (e = {}) => {
302
- const t = { ...e };
303
- return t.type === "GRADIENT" ? (delete t.solidLightModeColor, delete t.solidDarkModeColor, delete t.solidColor) : (delete t.gradientStartColor, delete t.gradientEndColor, delete t.gradientType, delete t.direction, delete t.gradientStartOpacity, delete t.gradientEndOpacity, delete t.solidColor), t;
304
- }, j = (e) => (e || []).map((t) => {
305
- var E, f, d, h, m, y, N;
306
- if (t.type === l.FEATURE)
307
- return w(t);
308
- const { id: n, instanceId: i, icon: r, name: o, features: s, title: c, ...u } = t, a = {
309
- ...u,
310
- children: j(t.children || [])
311
- };
312
- if (t.type === l.SECTION && (a.background = v(
313
- u.background
314
- ), (E = a.header) != null && E.color)) {
315
- const { color: T, ...L } = a.header;
316
- a.header = L;
317
- }
318
- if (t.type === l.FEATURE_CARD) {
319
- const T = k(t);
320
- a.content = {
321
- ...u.content || {},
322
- title: x(
323
- T,
324
- ((f = u.content) == null ? void 0 : f.title) || ((d = u.content) == null ? void 0 : d.customTitle)
325
- ),
326
- subTitle: P(
327
- T,
328
- ((h = u.content) == null ? void 0 : h.subTitle) || ((m = u.content) == null ? void 0 : m.customSubtitle)
329
- )
330
- }, a.icon = V(t, T), a.background = v(
331
- u.background
332
- ), a.style && (delete a.style.flex, delete a.style.layoutType, delete a.style.contentAlignment), delete a.content.customTitle, delete a.content.customSubtitle, delete a.navigation, ((y = a.cta) == null ? void 0 : y.type) !== "BUTTON" && (a.cta = {
333
- type: ((N = a.cta) == null ? void 0 : N.type) || (a.showLeadingArrow ? "ARROW" : "NONE")
334
- });
335
- }
336
- return t.type === l.CAROUSEL && (delete a.children, delete a.navigation, a.images = (t.images || []).map((T) => ({
337
- ...T,
338
- navigation: W(T.navigation)
339
- }))), t.type === l.TEXT && delete a.children, [
340
- l.SEARCH_BAR,
341
- l.DIVIDER
342
- ].includes(t.type) && delete a.children, t.type === l.DIVIDER && a.style && (delete a.style.color, delete a.style.marginVertical), a;
343
- }), G = (e) => e ? (Array.isArray(e) ? e : typeof e == "object" ? [e] : []).flatMap((n) => {
344
- var o;
345
- if (!n || typeof n != "object") return [];
346
- if (n.type === l.FEATURE) {
347
- const s = n.menuName || n.name || n.title || ((o = n.content) == null ? void 0 : o.title);
348
- return s ? [s] : [];
349
- }
350
- const i = n.children || n.features || n.layout || n.tabs || n.menus || (n.type ? [] : Object.values(n)), r = G(i);
351
- return n.menuName ? [n.menuName, ...r] : r;
352
- }) : [], Y = /* @__PURE__ */ new Set([
353
- l.SECTION,
354
- l.ROW,
355
- l.COLUMN
356
- ]), st = (e) => {
357
- const t = [], n = (i) => {
358
- var r, o, s, c, u, a, E, f;
359
- for (const d of i || []) {
360
- if (Y.has(d.type) && !(d.children || []).length) {
361
- const h = d.type === l.ROW && ((r = d.style) == null ? void 0 : r.height), m = d.type === l.COLUMN && ((o = d.style) == null ? void 0 : o.width);
362
- !h && !m && t.push(d);
363
- continue;
364
- }
365
- if (d.type === l.FEATURE_CARD) {
366
- const h = (d.children || []).some(
367
- (y) => y.type === l.FEATURE
368
- ), m = ((s = d.content) == null ? void 0 : s.customTitle) || ((c = d.content) == null ? void 0 : c.customSubtitle) || ((u = d.content) == null ? void 0 : u.title) || ((a = d.content) == null ? void 0 : a.subTitle) || ((E = d.icon) == null ? void 0 : E.iconsvg) || ((f = d.icon) == null ? void 0 : f.icon);
369
- if (!h && !m) {
370
- t.push(d);
371
- continue;
372
- }
373
- }
374
- if (d.type === l.CAROUSEL && !(d.images || []).length) {
375
- t.push(d);
376
- continue;
377
- }
378
- n(d.children || []);
379
- }
380
- };
381
- return n(e), t;
382
- };
383
- export {
384
- S as a,
385
- b,
386
- G as c,
387
- rt as d,
388
- it as e,
389
- C as f,
390
- J as g,
391
- z as h,
392
- st as i,
393
- tt as j,
394
- et as k,
395
- nt as l,
396
- ct as m,
397
- _ as n,
398
- q as o,
399
- K as p,
400
- F as q,
401
- B as r,
402
- j as s,
403
- Q as u
404
- };
405
- //# sourceMappingURL=dashboardLayoutUtils-D1xCAxp3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboardLayoutUtils-D1xCAxp3.js","sources":["../src/views/MobileMenuManagement/dashboardLayoutUtils.js"],"sourcesContent":["import { generateUUID } from \"@/utils/UUIDgenerator\";\nimport {\n DASHBOARD_ALLOWED_CHILDREN as ALLOWED_CHILDREN,\n DASHBOARD_COMPONENT_TYPES,\n DASHBOARD_LAYOUT_STYLE_DEFAULTS as styleDefaults,\n DASHBOARD_NODE_DROP_ZONE as NODE_DROP_ZONE,\n DASHBOARD_ROOT_DROP_ZONE as ROOT_DROP_ZONE,\n DEFAULT_DASHBOARD_APP_BAR_CONFIG as defaultAppBarConfig,\n DEFAULT_DASHBOARD_BOTTOM_NAVIGATION_CONFIG as defaultBottomNavigationConfig,\n} from \"@/utils/FormConstants\";\n\nexport {\n ALLOWED_CHILDREN,\n DASHBOARD_COMPONENT_TYPES,\n NODE_DROP_ZONE,\n ROOT_DROP_ZONE,\n defaultAppBarConfig,\n defaultBottomNavigationConfig,\n};\n\nexport const createLayoutNode = (type, overrides = {}) => ({\n id: `node-${generateUUID()}`,\n type,\n children: [],\n ...(styleDefaults[type] || {}),\n ...overrides,\n});\n\nexport const createFeatureNode = (feature, parentId) => ({\n id: feature.id,\n name: feature.name,\n type: DASHBOARD_COMPONENT_TYPES.FEATURE,\n instanceId: `${parentId || \"DASHBOARD\"}_${feature.id}_${generateUUID()}`,\n icon: {\n id: `svg-icon-${feature.id}`,\n content: feature.icon,\n type: \"svg\",\n },\n});\n\nexport const autoConfigureFeatureCardFromChild = (cardNode, featureNode) => {\n if (\n !cardNode ||\n cardNode.type !== DASHBOARD_COMPONENT_TYPES.FEATURE_CARD ||\n !featureNode\n ) {\n return cardNode;\n }\n const featureTitle =\n featureNode.name ||\n featureNode.menuName ||\n featureNode.title ||\n featureNode.content?.title ||\n \"\";\n return {\n ...cardNode,\n content: {\n ...(cardNode.content || {}),\n title: featureTitle,\n subTitle: \"\",\n },\n icon: {\n icon: \"\",\n iconsvg: featureNode.icon?.content || featureNode.icon?.svg || featureNode.icon?.iconsvg || \"\",\n },\n };\n};\n\nexport const clearFeatureCardConfig = (cardNode) => {\n if (!cardNode || cardNode.type !== DASHBOARD_COMPONENT_TYPES.FEATURE_CARD) {\n return cardNode;\n }\n const cleanedCta = cardNode.cta?.type === \"BUTTON\" \n ? cardNode.cta \n : cardNode.cta?.type ? { type: cardNode.cta.type } : undefined;\n\n return {\n ...cardNode,\n content: {\n ...(cardNode.content || {}),\n title: \"\",\n subTitle: \"\",\n },\n icon: {\n icon: \"\",\n iconsvg: \"\",\n },\n ...(cleanedCta ? { cta: cleanedCta } : {}),\n };\n};\n\nexport const getDashboardDropValidationMessage = (\n parentType,\n childType,\n parentNode = null,\n childName = null\n) => {\n const allowed = ALLOWED_CHILDREN[parentType] || [];\n const rawDisplayName = childName || childType;\n const displayName =\n rawDisplayName === \"FEATURE_CARD\"\n ? \"Feature Card\"\n : rawDisplayName === \"SECTION\"\n ? \"Section\"\n : rawDisplayName === \"ROW\" || rawDisplayName === \"COLUMN\"\n ? \"Card Stack\"\n : rawDisplayName === \"FEATURE\"\n ? \"Feature\"\n : rawDisplayName === \"SEARCH_BAR\"\n ? \"Search Bar\"\n : rawDisplayName === \"CAROUSEL\"\n ? \"Image Carousel\"\n : rawDisplayName === \"DIVIDER\"\n ? \"Divider\"\n : rawDisplayName === \"TEXT\"\n ? \"Text Heading\"\n : rawDisplayName;\n\n if (parentNode) {\n if (parentType === DASHBOARD_COMPONENT_TYPES.ROW && parentNode.style?.height) {\n return `Cannot place ${displayName} inside a horizontal spacer.`;\n }\n if (parentType === DASHBOARD_COMPONENT_TYPES.COLUMN && parentNode.style?.width) {\n return `Cannot place ${displayName} inside a vertical spacer.`;\n }\n }\n\n if (!allowed.includes(childType)) {\n if (childType === DASHBOARD_COMPONENT_TYPES.SECTION)\n return `${displayName} can only be placed directly inside the layout.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.DIVIDER)\n return `${displayName} can only be placed inside a Section or Card Stack or direcly inside the layout.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.CAROUSEL)\n return `${displayName} can only be placed directly inside the layout.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.SEARCH_BAR)\n return `${displayName} can only be placed directly inside the layout.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD)\n return `${displayName} can only be placed inside a Section or Card Stack.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.ROW)\n return `${displayName} can only be placed inside a Section or directly inside the layout.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.COLUMN)\n return `${displayName} can only be placed inside a Section or directly inside the layout.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.FEATURE)\n return `${displayName} can only be assigned to a Feature Card or Section or card stack.`;\n if (childType === DASHBOARD_COMPONENT_TYPES.TEXT)\n return `${displayName} can only be placed inside a Section or directly inside the layout.`;\n return `${displayName} cannot be placed in this container.`;\n }\n\n if (\n parentType === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD &&\n childType === DASHBOARD_COMPONENT_TYPES.FEATURE &&\n parentNode?.children?.some(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.FEATURE,\n )\n ) {\n return \"A Feature Card can only contain one feature.\";\n }\n\n if (\n parentType === DASHBOARD_COMPONENT_TYPES.ROW &&\n (parentNode?.children || []).length >= 4\n ) {\n return \"This card stack can contain a maximum of 4 items.\";\n }\n\n if (\n parentType === DASHBOARD_COMPONENT_TYPES.COLUMN &&\n childType === DASHBOARD_COMPONENT_TYPES.COLUMN &&\n (parentNode?.children || []).filter(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.COLUMN,\n ).length >= 4\n ) {\n return \"This container can contain a maximum of 4 items.\";\n }\n\n return \"\";\n};\n\nexport const findNodeById = (nodes, id) => {\n for (const node of nodes || []) {\n if (node.id === id || node.instanceId === id) return node;\n const child = findNodeById(node.children, id);\n if (child) return child;\n }\n return null;\n};\n\nexport const findParentNodeInfo = (\n nodes,\n id,\n parentInfo = { id: ROOT_DROP_ZONE, type: \"HOME\", node: null },\n) => {\n for (const node of nodes || []) {\n if (node.id === id || node.instanceId === id) return parentInfo;\n const childParent = findParentNodeInfo(node.children || [], id, {\n id: node.instanceId || node.id,\n type: node.type,\n node,\n });\n if (childParent) return childParent;\n }\n return null;\n};\n\nexport const mapLayoutTree = (nodes, updater) =>\n (nodes || []).map((node) => {\n const updatedNode = updater(node);\n if (updatedNode.children) {\n return {\n ...updatedNode,\n children: mapLayoutTree(updatedNode.children, updater),\n };\n }\n return updatedNode;\n });\n\nexport const addChildToParent = (nodes, parentId, childNode) => {\n if (parentId === ROOT_DROP_ZONE) {\n return [...(nodes || []), childNode];\n }\n return mapLayoutTree(nodes, (node) => {\n if (node.id === parentId || node.instanceId === parentId) {\n let updatedNode = {\n ...node,\n children: [...(node.children || []), childNode],\n };\n if (\n updatedNode.type === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD &&\n childNode.type === DASHBOARD_COMPONENT_TYPES.FEATURE\n ) {\n updatedNode = autoConfigureFeatureCardFromChild(updatedNode, childNode);\n }\n return updatedNode;\n }\n return node;\n });\n};\n\nexport const removeNodeById = (nodes, nodeId) =>\n (nodes || [])\n .filter((node) => node.id !== nodeId && node.instanceId !== nodeId)\n .map((node) => {\n const nextChildren = removeNodeById(node.children, nodeId);\n let updatedNode = {\n ...node,\n children: nextChildren,\n };\n return updatedNode;\n });\n\nexport const updateNodeById = (nodes, nodeId, updater) =>\n mapLayoutTree(nodes, (node) =>\n node.id === nodeId || node.instanceId === nodeId ? updater(node) : node,\n );\n\nexport const duplicateNode = (nodes, nodeId) => {\n const cloneNode = (node) => {\n const newNode = { ...node, id: `node-${generateUUID()}` };\n if (newNode.instanceId) {\n newNode.instanceId = `DASHBOARD_DUP_${generateUUID()}`;\n }\n if (newNode.children) {\n newNode.children = newNode.children.map(cloneNode);\n }\n return newNode;\n };\n\n let found = false;\n const processNodesPure = (currentNodes) => {\n let changed = false;\n const result = [];\n for (const node of currentNodes) {\n result.push(node);\n if (!found && (node.id === nodeId || node.instanceId === nodeId)) {\n found = true;\n changed = true;\n result.push(cloneNode(node));\n } else if (node.children) {\n const newChildren = processNodesPure(node.children);\n if (newChildren !== node.children) {\n changed = true;\n result[result.length - 1] = { ...node, children: newChildren };\n }\n }\n }\n return changed ? result : currentNodes;\n };\n return processNodesPure(nodes || []);\n};\n\nexport const moveNodeUp = (nodes, nodeId) => {\n const processNodes = (currentNodes) => {\n const index = currentNodes.findIndex(n => n.id === nodeId || n.instanceId === nodeId);\n if (index > 0) {\n const result = [...currentNodes];\n [result[index - 1], result[index]] = [result[index], result[index - 1]];\n return result;\n }\n\n let changed = false;\n const newNodes = currentNodes.map(node => {\n if (node.children) {\n const newChildren = processNodes(node.children);\n if (newChildren !== node.children) {\n changed = true;\n return { ...node, children: newChildren };\n }\n }\n return node;\n });\n return changed ? newNodes : currentNodes;\n };\n return processNodes(nodes || []);\n};\n\nexport const moveNodeDown = (nodes, nodeId) => {\n const processNodes = (currentNodes) => {\n const index = currentNodes.findIndex(n => n.id === nodeId || n.instanceId === nodeId);\n if (index >= 0 && index < currentNodes.length - 1) {\n const result = [...currentNodes];\n [result[index], result[index + 1]] = [result[index + 1], result[index]];\n return result;\n }\n\n let changed = false;\n const newNodes = currentNodes.map(node => {\n if (node.children) {\n const newChildren = processNodes(node.children);\n if (newChildren !== node.children) {\n changed = true;\n return { ...node, children: newChildren };\n }\n }\n return node;\n });\n return changed ? newNodes : currentNodes;\n };\n return processNodes(nodes || []);\n};\n\nconst getNodeKey = (node) => node?.instanceId || node?.id;\n\nconst removeNodeWithResult = (nodes, nodeId) => {\n let removedNode = null;\n\n const nextNodes = (nodes || []).reduce((acc, node) => {\n if (node.id === nodeId || node.instanceId === nodeId) {\n removedNode = node;\n return acc;\n }\n\n const childResult = removeNodeWithResult(node.children || [], nodeId);\n if (childResult.removedNode) {\n removedNode = childResult.removedNode;\n let updatedNode = { ...node, children: childResult.nodes };\n acc.push(updatedNode);\n return acc;\n }\n\n acc.push(node);\n return acc;\n }, []);\n\n return { nodes: nextNodes, removedNode };\n};\n\nconst insertNodeBeforeTarget = (nodes, targetId, nodeToInsert) => {\n let didInsert = false;\n\n const nextNodes = (nodes || []).reduce((acc, node) => {\n if (node.id === targetId || node.instanceId === targetId) {\n acc.push(nodeToInsert, node);\n didInsert = true;\n return acc;\n }\n\n const childResult = insertNodeBeforeTarget(\n node.children || [],\n targetId,\n nodeToInsert,\n );\n if (childResult.didInsert) {\n didInsert = true;\n acc.push({ ...node, children: childResult.nodes });\n return acc;\n }\n\n acc.push(node);\n return acc;\n }, []);\n\n return { nodes: nextNodes, didInsert };\n};\n\nconst hasNodeInTree = (node, targetId) => {\n if (!node) return false;\n if (node.id === targetId || node.instanceId === targetId) return true;\n return (node.children || []).some((child) => hasNodeInTree(child, targetId));\n};\n\nconst replaceNodeInTree = (nodes, replacementNode) => {\n const replacementId = getNodeKey(replacementNode);\n return mapLayoutTree(nodes, (node) =>\n node.id === replacementId || node.instanceId === replacementId\n ? replacementNode\n : node,\n );\n};\n\nexport const addNodeBeforeTarget = (nodes, targetId, nodeToInsert) => {\n const result = insertNodeBeforeTarget(nodes, targetId, nodeToInsert);\n return result.didInsert ? result.nodes : nodes;\n};\n\nexport const moveNodeToParent = (nodes, nodeId, parentId) => {\n const { nodes: withoutNode, removedNode } = removeNodeWithResult(\n nodes,\n nodeId,\n );\n if (!removedNode) return nodes;\n if (parentId !== ROOT_DROP_ZONE && hasNodeInTree(removedNode, parentId))\n return nodes;\n return addChildToParent(withoutNode, parentId, removedNode);\n};\n\nexport const moveNodeBeforeTarget = (nodes, nodeId, targetId) => {\n if (nodeId === targetId) return nodes;\n const sourceNode = findNodeById(nodes, nodeId);\n const targetNode = findNodeById(nodes, targetId);\n if (!sourceNode || !targetNode || hasNodeInTree(sourceNode, targetId))\n return nodes;\n\n const { nodes: withoutNode, removedNode } = removeNodeWithResult(\n nodes,\n nodeId,\n );\n if (!removedNode) return nodes;\n\n const result = insertNodeBeforeTarget(withoutNode, targetId, removedNode);\n if (result.didInsert) return result.nodes;\n\n return replaceNodeInTree(withoutNode, sourceNode);\n};\n\nconst migrateFeatureCardLayout = (node) => {\n if (node.contentLayout) return node;\n\n const contentAlignment = node.style?.contentAlignment?.toUpperCase() || 'LEFT';\n const isHorizontal = node.style?.layoutType === 'HORIZONTAL';\n const oldAlign = contentAlignment;\n const defaultHorizontal = oldAlign === 'START' ? 'LEFT' : oldAlign === 'END' ? 'RIGHT' : (oldAlign === 'CENTER' ? 'CENTER' : 'LEFT');\n const defaultVertical = 'MIDDLE';\n\n const positions = {\n ICON: (oldAlign === 'CENTER' || oldAlign === 'RIGHT' ? { horizontal: defaultHorizontal, vertical: defaultVertical } : { horizontal: 'LEFT', vertical: 'MIDDLE' }),\n TITLE: (oldAlign === 'CENTER' || oldAlign === 'RIGHT' ? { horizontal: defaultHorizontal, vertical: defaultVertical } : { horizontal: 'CENTER', vertical: 'MIDDLE' }),\n SUBTITLE: (oldAlign === 'CENTER' || oldAlign === 'RIGHT' ? { horizontal: defaultHorizontal, vertical: defaultVertical } : { horizontal: 'LEFT', vertical: 'BOTTOM' }),\n BUTTON: { horizontal: 'RIGHT', vertical: 'MIDDLE' }\n };\n\n const layoutMap = {};\n const orderedElements = [\"ICON\", \"TITLE\", \"SUBTITLE\", \"BUTTON\"];\n orderedElements.forEach(el => {\n const pos = positions[el];\n const key = `${pos.horizontal}_${pos.vertical}`;\n if (!layoutMap[key]) {\n layoutMap[key] = {\n position: pos,\n items: []\n };\n }\n layoutMap[key].items.push(el);\n });\n\n const contentLayout = Object.values(layoutMap).filter(group => group.items.length > 0).map(group => {\n if (group.items.length > 1) {\n group.alignment = isHorizontal ? \"HORIZONTAL\" : \"VERTICAL\";\n group.spacing = isHorizontal ? 12 : 4;\n }\n return group;\n });\n\n return {\n ...node,\n contentLayout\n };\n};\n\nexport const hydrateDashboardLayout = (layout, hydrateFeature) => {\n if (!Array.isArray(layout)) return [];\n return layout\n .map((node) => {\n if (\n node.type === DASHBOARD_COMPONENT_TYPES.SECTION &&\n Array.isArray(node.features)\n ) {\n const sectionId = `node-${generateUUID()}`;\n return createLayoutNode(DASHBOARD_COMPONENT_TYPES.SECTION, {\n id: sectionId,\n title: node.title || \"Section\",\n header: {\n ...styleDefaults[DASHBOARD_COMPONENT_TYPES.SECTION].header,\n title: node.title || \"Section\",\n },\n children: node.features\n .map((feature) => hydrateFeature(feature, sectionId))\n .filter(Boolean),\n });\n }\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE) {\n return hydrateFeature(node, \"DASHBOARD\");\n }\n if (!node.type) return null;\n const hydratedChildren = hydrateDashboardLayout(\n node.children || [],\n hydrateFeature,\n );\n let updatedNode = createLayoutNode(node.type, {\n ...node,\n id: node.id || `node-${generateUUID()}`,\n children: hydratedChildren,\n });\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD) {\n const childFeature = (hydratedChildren || []).find(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.FEATURE,\n );\n if (childFeature) {\n if (!updatedNode.content?.title && !updatedNode.content?.customTitle) {\n updatedNode = autoConfigureFeatureCardFromChild(updatedNode, childFeature);\n }\n }\n updatedNode = migrateFeatureCardLayout(updatedNode);\n }\n return updatedNode;\n })\n .filter(Boolean);\n};\n\nconst stripRuntimeFeature = (feature) => ({\n type: DASHBOARD_COMPONENT_TYPES.FEATURE,\n id: feature.id,\n menuName: feature.name,\n});\n\nconst getFeatureChild = (node) =>\n (node.children || []).find(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.FEATURE,\n );\n\nconst getFeatureTitle = (feature, contentTitle) => {\n const title = String(contentTitle || \"\").trim();\n return title || feature?.name || feature?.menuName || \"\";\n};\n\nconst getFeatureSubTitle = (feature, contentSubTitle) => {\n const subTitle = String(contentSubTitle || \"\").trim();\n return subTitle || feature?.subTitle || feature?.subtitle || \"\";\n};\n\nconst normalizeFeatureCardIcon = (node, feature) => {\n const configuredIcon = node.icon?.icon || node.icon?.iconName || \"\";\n const configuredSvg = node.icon?.iconsvg || node.icon?.svg || \"\";\n\n if (configuredIcon) return { icon: configuredIcon, iconsvg: \"\" };\n if (configuredSvg) return { icon: \"\", iconsvg: configuredSvg };\n\n const featureIcon = feature?.icon;\n if (typeof featureIcon === \"string\") {\n const trimmedIcon = featureIcon.trim();\n return trimmedIcon.startsWith(\"<svg\")\n ? { icon: \"\", iconsvg: trimmedIcon }\n : { icon: trimmedIcon, iconsvg: \"\" };\n }\n\n if (featureIcon?.content || featureIcon?.iconsvg || featureIcon?.svg) {\n return {\n icon: \"\",\n iconsvg: featureIcon.content || featureIcon.iconsvg || featureIcon.svg,\n };\n }\n\n return {\n icon: featureIcon?.icon || featureIcon?.iconName || \"\",\n iconsvg: \"\",\n };\n};\n\nconst normalizeNavigationFeatureId = (navigation) => {\n const value =\n typeof navigation === \"object\" && navigation !== null\n ? navigation.action\n : navigation;\n if (value === \"\" || value === null || value === undefined) return \"\";\n const numericValue = Number(value);\n return Number.isNaN(numericValue) ? value : numericValue;\n};\n\nconst normalizeFeatureCardBackground = (background = {}) => {\n const normalizedBackground = { ...background };\n\n if (normalizedBackground.type === \"GRADIENT\") {\n delete normalizedBackground.solidLightModeColor;\n delete normalizedBackground.solidDarkModeColor;\n delete normalizedBackground.solidColor;\n } else {\n delete normalizedBackground.gradientStartColor;\n delete normalizedBackground.gradientEndColor;\n delete normalizedBackground.gradientType;\n delete normalizedBackground.direction;\n delete normalizedBackground.gradientStartOpacity;\n delete normalizedBackground.gradientEndOpacity;\n delete normalizedBackground.solidColor;\n }\n\n return normalizedBackground;\n};\n\nexport const sanitizeDashboardLayout = (nodes) =>\n (nodes || []).map((node) => {\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE) {\n return stripRuntimeFeature(node);\n }\n\n const { id, instanceId, icon, name, features, title, ...config } = node;\n const sanitizedNode = {\n ...config,\n children: sanitizeDashboardLayout(node.children || []),\n };\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.SECTION) {\n // title is stripped above via destructuring; only header.title is kept\n sanitizedNode.background = normalizeFeatureCardBackground(\n config.background,\n );\n // clean up any legacy color field from header\n if (sanitizedNode.header?.color) {\n const { color, ...restHeader } = sanitizedNode.header;\n sanitizedNode.header = restHeader;\n }\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD) {\n const feature = getFeatureChild(node);\n sanitizedNode.content = {\n ...(config.content || {}),\n title: getFeatureTitle(\n feature,\n config.content?.title || config.content?.customTitle,\n ),\n subTitle: getFeatureSubTitle(\n feature,\n config.content?.subTitle || config.content?.customSubtitle,\n ),\n };\n sanitizedNode.icon = normalizeFeatureCardIcon(node, feature);\n sanitizedNode.background = normalizeFeatureCardBackground(\n config.background,\n );\n if (sanitizedNode.style) {\n delete sanitizedNode.style.flex;\n delete sanitizedNode.style.layoutType;\n delete sanitizedNode.style.contentAlignment;\n\n }\n delete sanitizedNode.content.customTitle;\n delete sanitizedNode.content.customSubtitle;\n delete sanitizedNode.navigation;\n\n if (sanitizedNode.cta?.type !== 'BUTTON') {\n sanitizedNode.cta = { \n type: sanitizedNode.cta?.type || (sanitizedNode.showLeadingArrow ? 'ARROW' : 'NONE') \n };\n }\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.CAROUSEL) {\n delete sanitizedNode.children;\n delete sanitizedNode.navigation;\n sanitizedNode.images = (node.images || []).map((image) => ({\n ...image,\n navigation: normalizeNavigationFeatureId(image.navigation),\n }));\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.TEXT) {\n delete sanitizedNode.children;\n }\n\n if (\n [\n DASHBOARD_COMPONENT_TYPES.SEARCH_BAR,\n DASHBOARD_COMPONENT_TYPES.DIVIDER,\n ].includes(node.type)\n ) {\n delete sanitizedNode.children;\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.DIVIDER) {\n if (sanitizedNode.style) {\n delete sanitizedNode.style.color;\n delete sanitizedNode.style.marginVertical;\n }\n }\n\n\n return sanitizedNode;\n });\n\nexport const collectFeatureNamesFromLayout = (nodes) => {\n if (!nodes) return [];\n const list = Array.isArray(nodes)\n ? nodes\n : typeof nodes === \"object\"\n ? [nodes]\n : [];\n return list.flatMap((node) => {\n if (!node || typeof node !== \"object\") return [];\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE) {\n const name =\n node.menuName || node.name || node.title || node.content?.title;\n return name ? [name] : [];\n }\n const children =\n node.children ||\n node.features ||\n node.layout ||\n node.tabs ||\n node.menus ||\n (node.type ? [] : Object.values(node));\n const childNames = collectFeatureNamesFromLayout(children);\n if (node.menuName) {\n return [node.menuName, ...childNames];\n }\n return childNames;\n });\n};\n\nconst EMPTY_CHILD_CONTAINER_TYPES = new Set([\n DASHBOARD_COMPONENT_TYPES.SECTION,\n DASHBOARD_COMPONENT_TYPES.ROW,\n DASHBOARD_COMPONENT_TYPES.COLUMN,\n]);\n\nexport const findEmptyDashboardLayoutNode = (nodes) => {\n for (const node of nodes || []) {\n if (\n EMPTY_CHILD_CONTAINER_TYPES.has(node.type) &&\n !(node.children || []).length\n ) {\n const isHorizontalSpacer = node.type === DASHBOARD_COMPONENT_TYPES.ROW && node.style?.height;\n const isVerticalSpacer = node.type === DASHBOARD_COMPONENT_TYPES.COLUMN && node.style?.width;\n if (!isHorizontalSpacer && !isVerticalSpacer) {\n return node;\n }\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD) {\n const hasFeature = (node.children || []).some(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.FEATURE,\n );\n const hasCustomContent = node.content?.customTitle || node.content?.customSubtitle || node.content?.title || node.content?.subTitle || node.icon?.iconsvg || node.icon?.icon;\n if (!hasFeature && !hasCustomContent) return node;\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.CAROUSEL) {\n if (!(node.images || []).length) return node;\n }\n\n const emptyChild = findEmptyDashboardLayoutNode(node.children || []);\n if (emptyChild) return emptyChild;\n }\n return null;\n};\n\nexport const findAllEmptyDashboardLayoutNodes = (nodes) => {\n const emptyNodes = [];\n const traverse = (items) => {\n for (const node of items || []) {\n if (\n EMPTY_CHILD_CONTAINER_TYPES.has(node.type) &&\n !(node.children || []).length\n ) {\n const isHorizontalSpacer = node.type === DASHBOARD_COMPONENT_TYPES.ROW && node.style?.height;\n const isVerticalSpacer = node.type === DASHBOARD_COMPONENT_TYPES.COLUMN && node.style?.width;\n if (!isHorizontalSpacer && !isVerticalSpacer) {\n emptyNodes.push(node);\n }\n continue;\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD) {\n const hasFeature = (node.children || []).some(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.FEATURE,\n );\n const hasCustomContent = node.content?.customTitle || node.content?.customSubtitle || node.content?.title || node.content?.subTitle || node.icon?.iconsvg || node.icon?.icon;\n if (!hasFeature && !hasCustomContent) {\n emptyNodes.push(node);\n continue;\n }\n }\n\n if (node.type === DASHBOARD_COMPONENT_TYPES.CAROUSEL) {\n if (!(node.images || []).length) {\n emptyNodes.push(node);\n continue;\n }\n }\n\n traverse(node.children || []);\n }\n };\n traverse(nodes);\n return emptyNodes;\n};\n\nexport const isSelfEmptyNode = (node) => {\n if (!node) return false;\n if (\n EMPTY_CHILD_CONTAINER_TYPES.has(node.type) &&\n !(node.children || []).length\n ) {\n const isHorizontalSpacer = node.type === DASHBOARD_COMPONENT_TYPES.ROW && node.style?.height;\n const isVerticalSpacer = node.type === DASHBOARD_COMPONENT_TYPES.COLUMN && node.style?.width;\n if (!isHorizontalSpacer && !isVerticalSpacer) {\n return true;\n }\n }\n if (node.type === DASHBOARD_COMPONENT_TYPES.FEATURE_CARD) {\n const hasFeature = (node.children || []).some(\n (child) => child.type === DASHBOARD_COMPONENT_TYPES.FEATURE,\n );\n const hasCustomContent = node.content?.customTitle || node.content?.customSubtitle || node.content?.title || node.content?.subTitle || node.icon?.iconsvg || node.icon?.icon;\n if (!hasFeature && !hasCustomContent) return true;\n }\n if (node.type === DASHBOARD_COMPONENT_TYPES.CAROUSEL) {\n if (!(node.images || []).length) return true;\n }\n return false;\n};\n\nexport const hasEmptyDashboardLayoutNode = (nodes) =>\n Boolean(findEmptyDashboardLayoutNode(nodes));\n\nexport const getComponentLabel = (node) => {\n if (!node) return 'Block';\n\n if (node.blockName) {\n return node.blockName;\n }\n\n const typeNames = {\n SECTION: 'Empty Section',\n ROW: 'Horizontal Card Stack',\n COLUMN: 'Vertical Card Stack',\n FEATURE_CARD: 'Feature Card',\n CAROUSEL: 'Image Carousel',\n SEARCH_BAR: 'Search Bar',\n TEXT: 'Text Heading',\n DIVIDER: 'Divider',\n };\n\n const typeName = typeNames[node.type] || node.type || 'Block';\n const title = node.title || node.content?.text || node.name;\n if (title && typeof title === 'string' && title.trim()) {\n return `${typeName} (\"${title.trim()}\")`;\n }\n return typeName;\n};\n"],"names":["createLayoutNode","type","overrides","generateUUID","styleDefaults","createFeatureNode","feature","parentId","DASHBOARD_COMPONENT_TYPES","autoConfigureFeatureCardFromChild","cardNode","featureNode","featureTitle","_a","_b","_c","_d","clearFeatureCardConfig","cleanedCta","getDashboardDropValidationMessage","parentType","childType","parentNode","childName","allowed","ALLOWED_CHILDREN","rawDisplayName","displayName","child","findNodeById","nodes","id","node","findParentNodeInfo","parentInfo","ROOT_DROP_ZONE","childParent","mapLayoutTree","updater","updatedNode","addChildToParent","childNode","removeNodeById","nodeId","nextChildren","updateNodeById","duplicateNode","cloneNode","newNode","found","processNodesPure","currentNodes","changed","result","newChildren","moveNodeUp","processNodes","index","n","newNodes","moveNodeDown","getNodeKey","removeNodeWithResult","removedNode","acc","childResult","insertNodeBeforeTarget","targetId","nodeToInsert","didInsert","hasNodeInTree","replaceNodeInTree","replacementNode","replacementId","addNodeBeforeTarget","moveNodeToParent","withoutNode","moveNodeBeforeTarget","sourceNode","targetNode","migrateFeatureCardLayout","contentAlignment","isHorizontal","oldAlign","defaultHorizontal","defaultVertical","positions","layoutMap","el","pos","key","contentLayout","group","hydrateDashboardLayout","layout","hydrateFeature","sectionId","hydratedChildren","childFeature","stripRuntimeFeature","getFeatureChild","getFeatureTitle","contentTitle","getFeatureSubTitle","contentSubTitle","normalizeFeatureCardIcon","configuredIcon","configuredSvg","featureIcon","trimmedIcon","normalizeNavigationFeatureId","navigation","value","numericValue","normalizeFeatureCardBackground","background","normalizedBackground","sanitizeDashboardLayout","instanceId","icon","name","features","title","config","sanitizedNode","color","restHeader","_e","_f","_g","image","collectFeatureNamesFromLayout","children","childNames","EMPTY_CHILD_CONTAINER_TYPES","findAllEmptyDashboardLayoutNodes","emptyNodes","traverse","items","isHorizontalSpacer","isVerticalSpacer","hasFeature","hasCustomContent","_h"],"mappings":"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"}