@argusoft/medplat-core 1.0.30 → 1.0.31

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 (156) hide show
  1. package/dist/{AccessRights-xrday-L1.js → AccessRights-DUgY6ewy.js} +151 -143
  2. package/dist/AccessRights-DUgY6ewy.js.map +1 -0
  3. package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
  4. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
  5. package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-DMw2vT0u-BVhvhc6J.js} +14 -14
  6. package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-DMw2vT0u-BVhvhc6J.js.map} +1 -1
  7. package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-D3ihx9Gi-CT58g0ry.js} +112 -105
  8. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
  9. package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-lQ9GamH1.js} +3 -3
  10. package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-lQ9GamH1.js.map} +1 -1
  11. package/dist/ConditionConfig-BQBmBHaM.js +408 -0
  12. package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
  13. package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-asr2XDRu-uOOlX9Vq.js} +29 -29
  14. package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-asr2XDRu-uOOlX9Vq.js.map} +1 -1
  15. package/dist/EventConfig-BY2cgGyx.js +27 -0
  16. package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
  17. package/dist/EventConfigurations-CUPEN5BV.js +544 -0
  18. package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
  19. package/dist/EventConfigurations.css +1 -1
  20. package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
  21. package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
  22. package/dist/EventsUi-D6O9S7BK.js +258 -0
  23. package/dist/EventsUi-D6O9S7BK.js.map +1 -0
  24. package/dist/{FacilityPicker-BiZeupmP-CyPHmj6b.js → FacilityPicker-DYl_PDyt-Cbwo2tAY.js} +10 -10
  25. package/dist/{FacilityPicker-BiZeupmP-CyPHmj6b.js.map → FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map} +1 -1
  26. package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-CHsBbw3W.js} +9 -5
  27. package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
  28. package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-iXBPkRVF.js} +11 -11
  29. package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
  30. package/dist/{GrantPermissionModal-BDN66Atn.js → GrantPermissionModal-D7iNZd0M.js} +54 -51
  31. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  32. package/dist/{ImmunizationConfigurationBase-Di1KO3oW.js → ImmunizationConfigurationBase-aUtx0JEe.js} +3440 -3060
  33. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
  34. package/dist/{InventoryPage-C_AxSy7A-QLvlL4rE.js → InventoryPage-DOotGZrj-CoPjOJEI.js} +10 -10
  35. package/dist/{InventoryPage-C_AxSy7A-QLvlL4rE.js.map → InventoryPage-DOotGZrj-CoPjOJEI.js.map} +1 -1
  36. package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
  37. package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
  38. package/dist/ManageEventConfiguration.css +1 -1
  39. package/dist/{ManageUser-DCFkUMV9.js → ManageUser-DZltBina.js} +134 -134
  40. package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-DZltBina.js.map} +1 -1
  41. package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-D5CgkTdJ-D2NgDJl3.js} +25 -25
  42. package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map} +1 -1
  43. package/dist/MobileAnalytics-BLOionG_.js +17301 -0
  44. package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
  45. package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
  46. package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
  47. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
  48. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
  49. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
  50. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
  51. package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-DfvSZ-kB-CckogYoe.js} +14 -14
  52. package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map} +1 -1
  53. package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-DMNjYWAJ-ChO9IXmk.js} +24 -24
  54. package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map} +1 -1
  55. package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js} +2 -2
  56. package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map} +1 -1
  57. package/dist/{PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js → PickupCreatePage-B4O_-vE5-DoOo9nJO.js} +64 -64
  58. package/dist/{PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map → PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map} +1 -1
  59. package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-D7zyioJB-bHKnARYw.js} +29 -29
  60. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
  61. package/dist/{PmGuard-b10TGXEi-G3N0G_Wg.js → PmGuard-BZE-y4In-D_pUm5MP.js} +25 -25
  62. package/dist/{PmGuard-b10TGXEi-G3N0G_Wg.js.map → PmGuard-BZE-y4In-D_pUm5MP.js.map} +1 -1
  63. package/dist/{ProductEditPage-C1thoKHu-URQaZ6st.js → ProductEditPage-BVlVUCtD-BR-tJ5Wb.js} +475 -472
  64. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
  65. package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-DvNHIeZt-BoOOJJtk.js} +36 -35
  66. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
  67. package/dist/{PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js → PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js} +214 -187
  68. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
  69. package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js} +80 -80
  70. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
  71. package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js} +29 -29
  72. package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map} +1 -1
  73. package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-DgL5T6BY-DePUuE9l.js} +31 -31
  74. package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-DgL5T6BY-DePUuE9l.js.map} +1 -1
  75. package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-CZnIOydv-DKBw-qp7.js} +15 -15
  76. package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-CZnIOydv-DKBw-qp7.js.map} +1 -1
  77. package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-DPIRrC_O-M8rqnK7z.js} +62 -62
  78. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
  79. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
  80. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
  81. package/dist/{ShowFlywayQuery-D1y_4A1u.js → ShowFlywayQuery-DIOUdYfG.js} +26 -19
  82. package/dist/{ShowFlywayQuery-D1y_4A1u.js.map → ShowFlywayQuery-DIOUdYfG.js.map} +1 -1
  83. package/dist/{StorageUnitsPage-7EqwuMOI-BwUso1Th.js → StorageUnitsPage-BDRkdCjW-UF64rf7q.js} +195 -188
  84. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
  85. package/dist/{SubMenu-eEDhZUvh.js → SubMenu-BdMTYtC1.js} +5 -3
  86. package/dist/SubMenu-BdMTYtC1.js.map +1 -0
  87. package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-CqWTMNU8-Df6eGFDW.js} +48 -48
  88. package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js.map → TransactionsPage-CqWTMNU8-Df6eGFDW.js.map} +1 -1
  89. package/dist/{TransferCreatePage-CuvoMrYH-DTTfHjz-.js → TransferCreatePage-DF7FZaTJ-CL79V3aR.js} +8 -8
  90. package/dist/{TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map → TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map} +1 -1
  91. package/dist/{TransfersPage-Cf701t8s-BBbN7cBf.js → TransfersPage-CGrRFaBF-cTwBUv0o.js} +69 -69
  92. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
  93. package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
  94. package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
  95. package/dist/{UserList-DgPxsnj2.js → UserList-L41Xw0Q6.js} +2 -2
  96. package/dist/{UserList-DgPxsnj2.js.map → UserList-L41Xw0Q6.js.map} +1 -1
  97. package/dist/Users-CsJ08Kjm.js +40 -0
  98. package/dist/{Users-Bpc4Sazd.js.map → Users-CsJ08Kjm.js.map} +1 -1
  99. package/dist/{VialsPage-8oAc1yFv-Cl3FUXBJ.js → VialsPage-rvvXjgZG-Oqo1v6kQ.js} +35 -35
  100. package/dist/{VialsPage-8oAc1yFv-Cl3FUXBJ.js.map → VialsPage-rvvXjgZG-Oqo1v6kQ.js.map} +1 -1
  101. package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-DpXnLsAB-D6lN5cjK.js} +58 -47
  102. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
  103. package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
  104. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
  105. package/dist/index.css +1 -1
  106. package/dist/index.js +1 -1
  107. package/dist/index.lib-ETRQOzvE.js +894 -0
  108. package/dist/index.lib-ETRQOzvE.js.map +1 -0
  109. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
  110. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
  111. package/package.json +1 -1
  112. package/dist/AccessRights-xrday-L1.js.map +0 -1
  113. package/dist/AddMenuConfiguration-e5BVXhmw.js +0 -8547
  114. package/dist/AddMenuConfiguration-e5BVXhmw.js.map +0 -1
  115. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +0 -1
  116. package/dist/ConditionConfig-Ddz9halE.js +0 -395
  117. package/dist/ConditionConfig-Ddz9halE.js.map +0 -1
  118. package/dist/ConditionConfig.css +0 -1
  119. package/dist/EventConfig-BmLemzX3.js +0 -26
  120. package/dist/EventConfigurations-Bzh1qWXU.js +0 -450
  121. package/dist/EventConfigurations-Bzh1qWXU.js.map +0 -1
  122. package/dist/EventsExceptionModal-B2SRrnB1.js +0 -200
  123. package/dist/EventsExceptionModal-B2SRrnB1.js.map +0 -1
  124. package/dist/EventsSkeleton-BIcPks4T.js +0 -61
  125. package/dist/EventsSkeleton-BIcPks4T.js.map +0 -1
  126. package/dist/FeatureMenu-DYJmDt7q.js.map +0 -1
  127. package/dist/GrantPermissionModal-BDN66Atn.js.map +0 -1
  128. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
  129. package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
  130. package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
  131. package/dist/MobileAnalytics-pQoE8cG1.js +0 -16888
  132. package/dist/MobileAnalytics-pQoE8cG1.js.map +0 -1
  133. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  134. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  135. package/dist/MobileTypeEventConfigModal-BeveaX0C.js +0 -783
  136. package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +0 -1
  137. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
  138. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
  139. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
  140. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +0 -1
  141. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +0 -1
  142. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
  143. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
  144. package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +0 -1
  145. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +0 -747
  146. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +0 -1
  147. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +0 -1
  148. package/dist/SubMenu-eEDhZUvh.js.map +0 -1
  149. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +0 -1
  150. package/dist/TypeConfiguration-3O6ABrK-.js +0 -117
  151. package/dist/TypeConfiguration-3O6ABrK-.js.map +0 -1
  152. package/dist/Users-Bpc4Sazd.js +0 -41
  153. package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
  154. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  155. package/dist/index.lib-Dn8PMkeD.js +0 -862
  156. 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 +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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"}