dealpos 26.21.2 → 26.21.4

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 (348) hide show
  1. package/browser/{chunk-BIKBTT5K.js → chunk-27RD5DUW.js} +1 -1
  2. package/browser/{chunk-BVXWNYP5.js → chunk-27UQXQX3.js} +1 -1
  3. package/browser/{chunk-PRC6BIGW.js → chunk-2D4XBF6C.js} +1 -1
  4. package/browser/{chunk-JWGWQVEI.js → chunk-2DWHCM3H.js} +1 -1
  5. package/browser/{chunk-EMM3H73N.js → chunk-2ETXWQWB.js} +1 -1
  6. package/browser/{chunk-TKBQO5Z6.js → chunk-2HIDUY57.js} +1 -1
  7. package/browser/{chunk-5THMDIRI.js → chunk-2L4KXB4Z.js} +1 -1
  8. package/browser/{chunk-UPAKGSOK.js → chunk-2MELUOYA.js} +1 -1
  9. package/browser/{chunk-7X4VZXLW.js → chunk-2QIQUFIR.js} +1 -1
  10. package/browser/{chunk-NS7JQEFX.js → chunk-2ZXCNSZZ.js} +1 -1
  11. package/browser/chunk-34MTBKLM.js +1 -0
  12. package/browser/{chunk-2XVBPKJM.js → chunk-36RFM2QR.js} +1 -1
  13. package/browser/{chunk-UW2KC72E.js → chunk-36ZLZ4UM.js} +1 -1
  14. package/browser/{chunk-SA6XKTJ7.js → chunk-3ADOIVBZ.js} +1 -1
  15. package/browser/{chunk-D5HR64UD.js → chunk-3BNRZECT.js} +1 -1
  16. package/browser/{chunk-3KNAOUQW.js → chunk-3I4RBZJN.js} +1 -1
  17. package/browser/{chunk-VQFUZUU2.js → chunk-3NJAM5KX.js} +1 -1
  18. package/browser/{chunk-HRGUDDKZ.js → chunk-3PTVMOA6.js} +1 -1
  19. package/browser/{chunk-BW3AS55J.js → chunk-3R7V3MZ4.js} +1 -1
  20. package/browser/{chunk-5FZQUUGO.js → chunk-3S3T7QLT.js} +1 -1
  21. package/browser/{chunk-LPFB4TBW.js → chunk-3VHHFWVY.js} +1 -1
  22. package/browser/{chunk-ULKU53FA.js → chunk-3XSF2UCW.js} +1 -1
  23. package/browser/{chunk-4ZK3IR2D.js → chunk-42NRCBQQ.js} +1 -1
  24. package/browser/{chunk-MQR2WSUL.js → chunk-42QHG2Q3.js} +1 -1
  25. package/browser/{chunk-ZAPREM3S.js → chunk-43NB6BM4.js} +1 -1
  26. package/browser/{chunk-AJ6OO7CP.js → chunk-4AEX2WLA.js} +1 -1
  27. package/browser/{chunk-ZDHOVOGV.js → chunk-4F45HHZT.js} +1 -1
  28. package/browser/{chunk-73EJVU34.js → chunk-4HU2VBID.js} +1 -1
  29. package/browser/{chunk-Z3E6ZNA3.js → chunk-4KO3X4S2.js} +1 -1
  30. package/browser/{chunk-UUBRI47J.js → chunk-4LE5YWG6.js} +1 -1
  31. package/browser/{chunk-VXGIPE22.js → chunk-4P6SOZDY.js} +1 -1
  32. package/browser/{chunk-XC2DOMTX.js → chunk-4VRCKWUY.js} +1 -1
  33. package/browser/{chunk-XOJZGUT3.js → chunk-54VUHDZ6.js} +1 -1
  34. package/browser/{chunk-SZD474G3.js → chunk-556M4ZJZ.js} +1 -1
  35. package/browser/{chunk-63IEPSCL.js → chunk-5BXDD263.js} +1 -1
  36. package/browser/{chunk-JNZ42KTE.js → chunk-5FBSMOVI.js} +1 -1
  37. package/browser/{chunk-3CKAVJ6X.js → chunk-5PE7Q3TJ.js} +1 -1
  38. package/browser/{chunk-2BQQJ3YS.js → chunk-5TTXT2K2.js} +1 -1
  39. package/browser/{chunk-LYKSZ3H6.js → chunk-5TY4K3E2.js} +1 -1
  40. package/browser/{chunk-CDMGWSNE.js → chunk-5UX7NZFM.js} +1 -1
  41. package/browser/{chunk-UY6CU3BU.js → chunk-62OWGDR3.js} +1 -1
  42. package/browser/{chunk-IYBZF2FL.js → chunk-673C2336.js} +1 -1
  43. package/browser/{chunk-Q3RZOQGP.js → chunk-6DGOPC4N.js} +1 -1
  44. package/browser/{chunk-Y3K3NP4V.js → chunk-6KDTVFMW.js} +1 -1
  45. package/browser/{chunk-S5D6TMC7.js → chunk-6N2DU4HB.js} +1 -1
  46. package/browser/{chunk-LL5BSD6J.js → chunk-72HORKXP.js} +1 -1
  47. package/browser/{chunk-X4P6TIDV.js → chunk-76NB5ZWF.js} +1 -1
  48. package/browser/{chunk-7LEZ4GA5.js → chunk-7AGCWGKV.js} +1 -1
  49. package/browser/{chunk-5GXM4COS.js → chunk-7IM65HWS.js} +1 -1
  50. package/browser/{chunk-H3ITCPBQ.js → chunk-7KGYW3GW.js} +1 -1
  51. package/browser/{chunk-WJKACG7G.js → chunk-7OSU3HGW.js} +1 -1
  52. package/browser/{chunk-UIRYQ6AD.js → chunk-7VMEOE35.js} +1 -1
  53. package/browser/{chunk-LGRCPEZK.js → chunk-7VN6JRCV.js} +1 -1
  54. package/browser/{chunk-L6CBGZUL.js → chunk-7XAFDL5H.js} +1 -1
  55. package/browser/{chunk-XJTZNTJ7.js → chunk-7YWY56DD.js} +1 -1
  56. package/browser/{chunk-STBAFUPM.js → chunk-A2GXLE6R.js} +1 -1
  57. package/browser/{chunk-VHJ2ZXWZ.js → chunk-A4WBVZ6B.js} +1 -1
  58. package/browser/{chunk-GWQWKZCJ.js → chunk-A5SQSYKP.js} +1 -1
  59. package/browser/{chunk-YA5C6NHJ.js → chunk-A62RAQMI.js} +1 -1
  60. package/browser/{chunk-W4URBIH6.js → chunk-A6AJPSD5.js} +1 -1
  61. package/browser/{chunk-L3DK5GS2.js → chunk-ABW35MCY.js} +1 -1
  62. package/browser/{chunk-S7FFABWP.js → chunk-ACHFIGLO.js} +1 -1
  63. package/browser/{chunk-IOQ4G4WB.js → chunk-AFFNOHUH.js} +1 -1
  64. package/browser/{chunk-QPK64NBX.js → chunk-ALNH5CCE.js} +1 -1
  65. package/browser/{chunk-AQVBCYN3.js → chunk-ASAVFLFF.js} +1 -1
  66. package/browser/{chunk-I6OKNDJM.js → chunk-AUWINTZB.js} +1 -1
  67. package/browser/{chunk-NBWB36JC.js → chunk-AW3DJNSA.js} +1 -1
  68. package/browser/{chunk-6XTA2JEB.js → chunk-AWAOQQKS.js} +1 -1
  69. package/browser/{chunk-5YCLGGSI.js → chunk-AZ5Q6PPP.js} +1 -1
  70. package/browser/{chunk-24QUENNL.js → chunk-B4HPVD2K.js} +1 -1
  71. package/browser/{chunk-DBEHZZPY.js → chunk-B5AIOOC2.js} +1 -1
  72. package/browser/{chunk-KCKWSNMS.js → chunk-BACG4SJJ.js} +1 -1
  73. package/browser/{chunk-PVHKCD42.js → chunk-BEXSLV5X.js} +1 -1
  74. package/browser/chunk-BI7G3FU7.js +1 -0
  75. package/browser/{chunk-ZVVLCVYR.js → chunk-BKQSR55C.js} +1 -1
  76. package/browser/{chunk-DI3HRQ2Y.js → chunk-BLIS2XXD.js} +1 -1
  77. package/browser/{chunk-6RFU4RXC.js → chunk-BQPO535K.js} +1 -1
  78. package/browser/{chunk-5SKRY63J.js → chunk-BUHFVOX2.js} +1 -1
  79. package/browser/{chunk-FRPA5M5U.js → chunk-BVTWASFQ.js} +1 -1
  80. package/browser/{chunk-NLFBNSNG.js → chunk-BXA2JYKG.js} +1 -1
  81. package/browser/{chunk-Y2WF6LTV.js → chunk-CBV65HEB.js} +1 -1
  82. package/browser/chunk-CHGFAVY4.js +1 -0
  83. package/browser/{chunk-GXWN4N46.js → chunk-CJTKTU53.js} +1 -1
  84. package/browser/{chunk-B46V3AH7.js → chunk-CLVIHR37.js} +1 -1
  85. package/browser/{chunk-AXUIWEJK.js → chunk-CM3TA6HV.js} +1 -1
  86. package/browser/{chunk-IEXCLXA2.js → chunk-CQTLBAQD.js} +1 -1
  87. package/browser/{chunk-MHLT7VZA.js → chunk-D2UNYCWT.js} +1 -1
  88. package/browser/{chunk-LLHEBPGG.js → chunk-D3OAVKSC.js} +1 -1
  89. package/browser/{chunk-H6DCYTCB.js → chunk-D5H7DMDH.js} +1 -1
  90. package/browser/{chunk-ZYWSPXDH.js → chunk-DAGMLKAT.js} +1 -1
  91. package/browser/{chunk-ESZK4YUA.js → chunk-DDDLCS7E.js} +1 -1
  92. package/browser/{chunk-IB3OHAIQ.js → chunk-DFAXUKNB.js} +1 -1
  93. package/browser/{chunk-RBHEXXH3.js → chunk-DFZDIRQU.js} +1 -1
  94. package/browser/{chunk-V7BXA3TE.js → chunk-DIE5KUA6.js} +1 -1
  95. package/browser/{chunk-FJJC6Y2W.js → chunk-DOTO6P52.js} +1 -1
  96. package/browser/{chunk-CIT4ZXVF.js → chunk-DP4A7Y5Q.js} +1 -1
  97. package/browser/{chunk-3AOAFHAV.js → chunk-DQO5QVWX.js} +2 -2
  98. package/browser/{chunk-W2DSNINP.js → chunk-DSDEJGLO.js} +1 -1
  99. package/browser/{chunk-OYHZ4HDL.js → chunk-DVEVLWRQ.js} +1 -1
  100. package/browser/{chunk-P3LQ4ZY4.js → chunk-DVYN5634.js} +1 -1
  101. package/browser/{chunk-WOEG3CGQ.js → chunk-DWW6JVSH.js} +1 -1
  102. package/browser/{chunk-CIDPGJ5I.js → chunk-DX6RJE57.js} +1 -1
  103. package/browser/{chunk-P7GYYXGP.js → chunk-DYMB65KX.js} +1 -1
  104. package/browser/{chunk-6MEBNFIU.js → chunk-DYQ5CXZF.js} +1 -1
  105. package/browser/{chunk-U3EOY2C6.js → chunk-E3NCRS4Y.js} +1 -1
  106. package/browser/{chunk-W2DHHNBD.js → chunk-E52TYAOK.js} +1 -1
  107. package/browser/{chunk-SPL57LHG.js → chunk-EHMKEWAU.js} +1 -1
  108. package/browser/{chunk-NOF55KZZ.js → chunk-EKQHEAIY.js} +1 -1
  109. package/browser/{chunk-RGIVVYSM.js → chunk-ESI3EIOA.js} +1 -1
  110. package/browser/{chunk-4M7RPVWV.js → chunk-ETGLCIRD.js} +1 -1
  111. package/browser/{chunk-FSSQ22RN.js → chunk-F3KFGZUV.js} +1 -1
  112. package/browser/{chunk-RKJBBGQM.js → chunk-F65GLKMK.js} +1 -1
  113. package/browser/{chunk-OACSS2RN.js → chunk-F6AHCJAP.js} +1 -1
  114. package/browser/{chunk-QMRPYPIV.js → chunk-FCNGKCNJ.js} +1 -1
  115. package/browser/{chunk-NTS32SLI.js → chunk-FE5BCSD5.js} +1 -1
  116. package/browser/{chunk-72QH5QCU.js → chunk-FJV5ELPC.js} +1 -1
  117. package/browser/{chunk-ZYEUHF4Q.js → chunk-FOA3AR3E.js} +2 -2
  118. package/browser/{chunk-UTSIMPYB.js → chunk-FQBOJD3J.js} +1 -1
  119. package/browser/{chunk-PDTEF7GP.js → chunk-FQHQQAJZ.js} +1 -1
  120. package/browser/{chunk-6PYB66YW.js → chunk-FUMYDU4T.js} +1 -1
  121. package/browser/{chunk-HRIVC724.js → chunk-FVUFPTGH.js} +1 -1
  122. package/browser/{chunk-HKQCTE6O.js → chunk-FY5TG474.js} +1 -1
  123. package/browser/{chunk-P7GOTTNS.js → chunk-G4AV4UPW.js} +1 -1
  124. package/browser/{chunk-DK5YF3WV.js → chunk-G4PTT2Z6.js} +1 -1
  125. package/browser/{chunk-INL666X3.js → chunk-G7E24J2R.js} +1 -1
  126. package/browser/{chunk-QWL5S2RG.js → chunk-GAOYV53E.js} +1 -1
  127. package/browser/{chunk-NGFIIVK5.js → chunk-GJDGQISV.js} +1 -1
  128. package/browser/{chunk-52P774MB.js → chunk-GNISQCU4.js} +1 -1
  129. package/browser/{chunk-JP66BF4L.js → chunk-GO3FYZZE.js} +1 -1
  130. package/browser/{chunk-I4A4FBK3.js → chunk-GOB3T42H.js} +1 -1
  131. package/browser/{chunk-C4ZRQJ4K.js → chunk-GPVURIKQ.js} +1 -1
  132. package/browser/{chunk-W74HRDSC.js → chunk-GREMX4ZK.js} +1 -1
  133. package/browser/{chunk-WRGRIYV5.js → chunk-GXBPAVNN.js} +1 -1
  134. package/browser/{chunk-C2SVNRPP.js → chunk-GXDZFU2K.js} +1 -1
  135. package/browser/{chunk-UD2YNGJT.js → chunk-H5HTQL6G.js} +1 -1
  136. package/browser/{chunk-NEKBV3FU.js → chunk-H6I3IQAE.js} +1 -1
  137. package/browser/{chunk-RZWSEQQM.js → chunk-HAGBKBLS.js} +1 -1
  138. package/browser/{chunk-ZV77I6PW.js → chunk-HGQDSXZE.js} +1 -1
  139. package/browser/{chunk-CYMHS5BE.js → chunk-HIKBIXFM.js} +1 -1
  140. package/browser/{chunk-YCV6GUTW.js → chunk-HLLBCLO6.js} +1 -1
  141. package/browser/{chunk-M42U7VID.js → chunk-HNHLGX7F.js} +1 -1
  142. package/browser/{chunk-MHXBWEDX.js → chunk-HP5IPESO.js} +1 -1
  143. package/browser/{chunk-LC7VGS4V.js → chunk-HT6DSP63.js} +1 -1
  144. package/browser/{chunk-GA3ZX5LP.js → chunk-HTYQN767.js} +1 -1
  145. package/browser/{chunk-BWRSAUCR.js → chunk-HU4CMNID.js} +1 -1
  146. package/browser/{chunk-XUQHA7FY.js → chunk-HY3IUHOC.js} +1 -1
  147. package/browser/{chunk-O5L7T7AG.js → chunk-HYDOMSL4.js} +1 -1
  148. package/browser/{chunk-CLCL3SNH.js → chunk-I5YB4XM4.js} +1 -1
  149. package/browser/{chunk-W63JXQCH.js → chunk-I6BZSZXZ.js} +1 -1
  150. package/browser/{chunk-LRGIUDMK.js → chunk-IDRQUF52.js} +1 -1
  151. package/browser/{chunk-Q7OVBNEW.js → chunk-IEJVBN5K.js} +1 -1
  152. package/browser/{chunk-MCKNFF2P.js → chunk-IGJSYOLU.js} +1 -1
  153. package/browser/{chunk-6XQGVQJW.js → chunk-IOKWCZEB.js} +1 -1
  154. package/browser/{chunk-52XUSKVO.js → chunk-IVJVDUFI.js} +1 -1
  155. package/browser/{chunk-24WTAQ5I.js → chunk-J32AHUB4.js} +1 -1
  156. package/browser/{chunk-HBG5VWFZ.js → chunk-J5PGTC4U.js} +1 -1
  157. package/browser/{chunk-XRHB5YFU.js → chunk-J63OB27M.js} +1 -1
  158. package/browser/{chunk-C5P74IZA.js → chunk-JDES2UDY.js} +1 -1
  159. package/browser/{chunk-TMLUWER3.js → chunk-JEKS3WOF.js} +1 -1
  160. package/browser/{chunk-NS5MW6GH.js → chunk-JFIKQKZJ.js} +1 -1
  161. package/browser/{chunk-5UKWQA6U.js → chunk-JFJPOKIM.js} +1 -1
  162. package/browser/{chunk-RZVQKRTV.js → chunk-JGG6GJ4T.js} +1 -1
  163. package/browser/{chunk-VAOJLIBG.js → chunk-JIEQSXGO.js} +1 -1
  164. package/browser/{chunk-5ETFWY47.js → chunk-JKSTBZ36.js} +1 -1
  165. package/browser/{chunk-FKYSDVEG.js → chunk-JLQUTBFH.js} +1 -1
  166. package/browser/{chunk-UMVQXTFA.js → chunk-JQJEFMXM.js} +1 -1
  167. package/browser/{chunk-AABGWHYV.js → chunk-JRJIRB7P.js} +1 -1
  168. package/browser/{chunk-OXM3JOPU.js → chunk-JTLOJLFL.js} +1 -1
  169. package/browser/chunk-JZ6ARGZ6.js +1 -0
  170. package/browser/{chunk-4NNCGDRY.js → chunk-KAUOBT6G.js} +1 -1
  171. package/browser/{chunk-IGAEFS7B.js → chunk-KBZZ7PX4.js} +1 -1
  172. package/browser/{chunk-DU73NSE6.js → chunk-KCC3QUHA.js} +1 -1
  173. package/browser/{chunk-77OYJ25Y.js → chunk-KF3MHC66.js} +1 -1
  174. package/browser/chunk-KGEB45XC.js +1 -0
  175. package/browser/{chunk-PPG3MCAW.js → chunk-KIWTC7A2.js} +1 -1
  176. package/browser/{chunk-HTRT7SEF.js → chunk-KKYC76C4.js} +1 -1
  177. package/browser/{chunk-HVYHG7VJ.js → chunk-KMQJA2M5.js} +1 -1
  178. package/browser/{chunk-KRBDQYUK.js → chunk-KQK25QJL.js} +1 -1
  179. package/browser/{chunk-J6SDXI74.js → chunk-KVTHO5AJ.js} +1 -1
  180. package/browser/{chunk-XXU37TUV.js → chunk-KX5Y75RM.js} +1 -1
  181. package/browser/{chunk-OAKHPHHJ.js → chunk-L5JF7GV6.js} +1 -1
  182. package/browser/{chunk-AU6FKVKC.js → chunk-L7RIRVWS.js} +1 -1
  183. package/browser/{chunk-VBRUPUOJ.js → chunk-LBBDKTVE.js} +1 -1
  184. package/browser/{chunk-OV5Y7DJD.js → chunk-LELTMD7E.js} +1 -1
  185. package/browser/{chunk-XMX6BFJD.js → chunk-LI7WLMTE.js} +1 -1
  186. package/browser/{chunk-INSQK5JW.js → chunk-LJBZOZ3D.js} +1 -1
  187. package/browser/{chunk-KXQNUECI.js → chunk-LL4377Z2.js} +1 -1
  188. package/browser/{chunk-DU3EU6UY.js → chunk-LMI6FIPG.js} +1 -1
  189. package/browser/{chunk-RXUND2RC.js → chunk-LQN5IQYG.js} +1 -1
  190. package/browser/{chunk-YECO23BV.js → chunk-LSMXZOUY.js} +1 -1
  191. package/browser/{chunk-O7NYVHTN.js → chunk-LVK765K4.js} +1 -1
  192. package/browser/{chunk-N4MJS6YZ.js → chunk-LWIWXGM5.js} +1 -1
  193. package/browser/{chunk-DTQAQRLJ.js → chunk-LXFJ7QGK.js} +1 -1
  194. package/browser/{chunk-IEOZRCAV.js → chunk-LY56B57S.js} +1 -1
  195. package/browser/{chunk-45724ODM.js → chunk-M2AZOKFB.js} +1 -1
  196. package/browser/{chunk-USA42OKH.js → chunk-M337IVGS.js} +1 -1
  197. package/browser/{chunk-QMS2MBIA.js → chunk-MDIMQ3H3.js} +1 -1
  198. package/browser/{chunk-BUUA4N37.js → chunk-MGRYK5ZC.js} +1 -1
  199. package/browser/{chunk-ASZMSQPM.js → chunk-MOC2F2UJ.js} +1 -1
  200. package/browser/{chunk-JGRL2V64.js → chunk-MPN57TB5.js} +1 -1
  201. package/browser/{chunk-J5EG5QTU.js → chunk-MQ2VG5QC.js} +1 -1
  202. package/browser/{chunk-Z6DGFGP3.js → chunk-MQLMXL2E.js} +1 -1
  203. package/browser/{chunk-3KDQ42LP.js → chunk-MU3MEP6L.js} +1 -1
  204. package/browser/{chunk-WLVEHCCR.js → chunk-MWDJTJ3O.js} +1 -1
  205. package/browser/{chunk-MEUL7Z76.js → chunk-N2FXAMZD.js} +1 -1
  206. package/browser/{chunk-WQ627RLB.js → chunk-N4NZWFKH.js} +1 -1
  207. package/browser/{chunk-CONGWQP2.js → chunk-N4S7RUAZ.js} +1 -1
  208. package/browser/chunk-N4VK5DYX.js +1 -0
  209. package/browser/{chunk-2KZXKJGS.js → chunk-N6PZ2GPQ.js} +1 -1
  210. package/browser/{chunk-O5R4PNYK.js → chunk-NADXG2SZ.js} +1 -1
  211. package/browser/{chunk-VQU2UMHI.js → chunk-NHDATDCF.js} +1 -1
  212. package/browser/{chunk-4TUZFBLZ.js → chunk-NNBYWSLJ.js} +1 -1
  213. package/browser/{chunk-6ZXTXUPX.js → chunk-O4HZASC4.js} +1 -1
  214. package/browser/{chunk-E62YCHTD.js → chunk-O7PB3FRE.js} +1 -1
  215. package/browser/{chunk-7L2VIMUM.js → chunk-OCHLHTFC.js} +1 -1
  216. package/browser/{chunk-HPK2WVYW.js → chunk-OFSPPASQ.js} +1 -1
  217. package/browser/{chunk-E6X2PNDL.js → chunk-OIB33BTV.js} +1 -1
  218. package/browser/{chunk-YG5E3SM5.js → chunk-OJEDALLJ.js} +1 -1
  219. package/browser/chunk-OMJAEFFC.js +1 -0
  220. package/browser/{chunk-GFYUN37C.js → chunk-OMT4BHOU.js} +1 -1
  221. package/browser/{chunk-3XXHI4EL.js → chunk-OQMWV4LA.js} +1 -1
  222. package/browser/{chunk-Q5GHLHOB.js → chunk-OTT4TTOC.js} +1 -1
  223. package/browser/{chunk-X36HAWOW.js → chunk-OVEGWW7W.js} +1 -1
  224. package/browser/{chunk-OEZWD2O3.js → chunk-PAPGVZ7T.js} +1 -1
  225. package/browser/{chunk-VE53UNOI.js → chunk-PAREHHAS.js} +13 -13
  226. package/browser/{chunk-JBBS6MZ3.js → chunk-PDHUOBIF.js} +1 -1
  227. package/browser/{chunk-TFJCPO3G.js → chunk-PF3DRUXX.js} +1 -1
  228. package/browser/{chunk-FRO6W3G2.js → chunk-PLKLDF7O.js} +1 -1
  229. package/browser/{chunk-4TIUWQFJ.js → chunk-POOETPMH.js} +1 -1
  230. package/browser/{chunk-SMJ3Q4YP.js → chunk-PTNINHYR.js} +1 -1
  231. package/browser/{chunk-VWU53F6L.js → chunk-PUITSSTH.js} +1 -1
  232. package/browser/{chunk-LHUG6IEF.js → chunk-Q2MH6FUO.js} +1 -1
  233. package/browser/{chunk-6P7P7GJI.js → chunk-Q5JNZAJW.js} +1 -1
  234. package/browser/{chunk-V47BF5NR.js → chunk-QGLVNNU7.js} +1 -1
  235. package/browser/{chunk-UNPNX2VJ.js → chunk-QITN3O4Q.js} +1 -1
  236. package/browser/{chunk-CNIYY2V6.js → chunk-QQ3ZXLAC.js} +1 -1
  237. package/browser/{chunk-U7M23FOA.js → chunk-QQNQMLD5.js} +1 -1
  238. package/browser/{chunk-I7EGOGKN.js → chunk-QZ4TL3J4.js} +1 -1
  239. package/browser/{chunk-DOTWLCQF.js → chunk-QZHX7PUV.js} +1 -1
  240. package/browser/{chunk-HWXMIVER.js → chunk-R2G34Y4U.js} +1 -1
  241. package/browser/{chunk-OFAMZL4W.js → chunk-R3DFB5VD.js} +1 -1
  242. package/browser/{chunk-LMTTEJMZ.js → chunk-R5TG5MGA.js} +2 -2
  243. package/browser/{chunk-CSFBLJDG.js → chunk-RG65F34V.js} +1 -1
  244. package/browser/{chunk-UOCETP76.js → chunk-RGCJTKHR.js} +1 -1
  245. package/browser/{chunk-C2KT6Y6G.js → chunk-RLAW7IYA.js} +4 -4
  246. package/browser/{chunk-RGNVHJEV.js → chunk-RQ6JLGJU.js} +1 -1
  247. package/browser/{chunk-OQDKFI6M.js → chunk-RULWGB4E.js} +1 -1
  248. package/browser/{chunk-YC5634OZ.js → chunk-RUTIGN3K.js} +1 -1
  249. package/browser/{chunk-E3AQWDTI.js → chunk-RXYT5HJD.js} +1 -1
  250. package/browser/{chunk-KES7A76F.js → chunk-RYI45JJG.js} +1 -1
  251. package/browser/{chunk-E3UJMWGM.js → chunk-S23G7K52.js} +2 -2
  252. package/browser/{chunk-MWY577UE.js → chunk-S473FEE4.js} +1 -1
  253. package/browser/{chunk-C74DYN7Q.js → chunk-SDZ36IP4.js} +1 -1
  254. package/browser/{chunk-5CDIUZGT.js → chunk-SFPVBTPY.js} +1 -1
  255. package/browser/{chunk-SPPZGYU7.js → chunk-SH55PTEY.js} +1 -1
  256. package/browser/{chunk-KDEZDP6U.js → chunk-SQ4J5VUZ.js} +1 -1
  257. package/browser/{chunk-J2I4HEWO.js → chunk-SQMWYYIH.js} +1 -1
  258. package/browser/{chunk-AS24FSZZ.js → chunk-SSIG6XZC.js} +1 -1
  259. package/browser/{chunk-COTMQWBD.js → chunk-ST3DS4CS.js} +1 -1
  260. package/browser/{chunk-WHSWPCIL.js → chunk-SVBUPXS7.js} +1 -1
  261. package/browser/{chunk-EAVZ4SXW.js → chunk-SWUGRJS4.js} +1 -1
  262. package/browser/{chunk-UBUEIODA.js → chunk-SYX5U3J7.js} +1 -1
  263. package/browser/{chunk-BC2Z275X.js → chunk-T4LWKUK5.js} +1 -1
  264. package/browser/{chunk-UT6PYALE.js → chunk-T55R27DC.js} +1 -1
  265. package/browser/{chunk-34JY2ECJ.js → chunk-THAD6CL6.js} +1 -1
  266. package/browser/{chunk-KIE4BN2K.js → chunk-THHRLMFG.js} +1 -1
  267. package/browser/{chunk-3GXUD7K4.js → chunk-TKVDP62Z.js} +1 -1
  268. package/browser/{chunk-AOEI3WEZ.js → chunk-TLK3CAMT.js} +1 -1
  269. package/browser/{chunk-GQNL5UOC.js → chunk-TP45JUZP.js} +1 -1
  270. package/browser/{chunk-J43GSUA6.js → chunk-TPBK22YK.js} +1 -1
  271. package/browser/{chunk-EYCCYRM7.js → chunk-TTWAJGFI.js} +1 -1
  272. package/browser/{chunk-M5BHFFPW.js → chunk-U5Y75IZ5.js} +1 -1
  273. package/browser/{chunk-FICGNDPR.js → chunk-UGBMCXS6.js} +1 -1
  274. package/browser/{chunk-7MEKAJQV.js → chunk-UGNFATAN.js} +1 -1
  275. package/browser/{chunk-DLILLFS2.js → chunk-UOEL5IO2.js} +1 -1
  276. package/browser/{chunk-P2I7DDV6.js → chunk-UOPCQK6F.js} +1 -1
  277. package/browser/{chunk-JVLPHGPP.js → chunk-USDQFBVL.js} +1 -1
  278. package/browser/chunk-UTSZOSU4.js +1 -0
  279. package/browser/{chunk-XC3JJCOC.js → chunk-UYHXRS56.js} +1 -1
  280. package/browser/{chunk-QBX566Z7.js → chunk-V3X3VXRO.js} +1 -1
  281. package/browser/{chunk-ZL3WFHZD.js → chunk-V6V2WEWG.js} +2 -2
  282. package/browser/{chunk-HV2N5XUJ.js → chunk-VDBNEUI3.js} +1 -1
  283. package/browser/{chunk-EJIIOVMK.js → chunk-VET2ARIA.js} +1 -1
  284. package/browser/{chunk-OOHBNWEU.js → chunk-VEZN4Y5P.js} +1 -1
  285. package/browser/{chunk-UAA6T24W.js → chunk-VIU4JJGW.js} +1 -1
  286. package/browser/{chunk-CYJHL24R.js → chunk-VMEREBN5.js} +1 -1
  287. package/browser/{chunk-27PS55DU.js → chunk-VMI4C4H3.js} +1 -1
  288. package/browser/{chunk-DYDRVXX3.js → chunk-VPS35GPI.js} +1 -1
  289. package/browser/{chunk-TSB3FACO.js → chunk-VTVV4QY7.js} +1 -1
  290. package/browser/{chunk-UUDJ3GRY.js → chunk-VU4DKVXW.js} +1 -1
  291. package/browser/{chunk-UUAZGIAN.js → chunk-VYA2NFJ5.js} +1 -1
  292. package/browser/{chunk-T4JLDJP3.js → chunk-VYIGEOPG.js} +1 -1
  293. package/browser/{chunk-2MYBK7UR.js → chunk-W363RBZT.js} +1 -1
  294. package/browser/{chunk-VELSSWYV.js → chunk-W4INQTK3.js} +1 -1
  295. package/browser/{chunk-DAFNUG4K.js → chunk-W4ZNNGBX.js} +1 -1
  296. package/browser/{chunk-EIHLZNAI.js → chunk-W6A4RO2L.js} +1 -1
  297. package/browser/{chunk-UL6HUKIC.js → chunk-W6JPMHYE.js} +1 -1
  298. package/browser/{chunk-JYCI6IOX.js → chunk-W6N427P2.js} +1 -1
  299. package/browser/{chunk-MUX4L3J6.js → chunk-WAFAI3XC.js} +1 -1
  300. package/browser/{chunk-OLMLN73G.js → chunk-WCOPD6N3.js} +1 -1
  301. package/browser/{chunk-BEUPVYZM.js → chunk-WIRBOCUD.js} +1 -1
  302. package/browser/chunk-WIS6WICO.js +1 -0
  303. package/browser/{chunk-HMG4CYEC.js → chunk-WJGP2CLN.js} +1 -1
  304. package/browser/{chunk-ZRFWOPNQ.js → chunk-WJLIXXN3.js} +1 -1
  305. package/browser/{chunk-R3UZF2WY.js → chunk-WKQXLGOY.js} +1 -1
  306. package/browser/{chunk-H7W4UZGS.js → chunk-WNZEZOCG.js} +1 -1
  307. package/browser/{chunk-FMECWSCG.js → chunk-WOPE6PPO.js} +1 -1
  308. package/browser/{chunk-GSQLULMY.js → chunk-WX3I46JS.js} +1 -1
  309. package/browser/{chunk-U44TFWWE.js → chunk-X7KPMRA2.js} +1 -1
  310. package/browser/{chunk-XV3LZZ5N.js → chunk-XGIQ7PXS.js} +1 -1
  311. package/browser/{chunk-GQLZJQI6.js → chunk-XKQYXDV6.js} +1 -1
  312. package/browser/{chunk-PG5RORVW.js → chunk-XN7T54IM.js} +1 -1
  313. package/browser/{chunk-YQH2QORC.js → chunk-XULGDGRO.js} +1 -1
  314. package/browser/{chunk-GA2XTQDR.js → chunk-XVHLJIVE.js} +1 -1
  315. package/browser/{chunk-UUPYWK4S.js → chunk-XWSSYPZN.js} +2 -2
  316. package/browser/{chunk-JETO3THN.js → chunk-XWSZLS3S.js} +1 -1
  317. package/browser/{chunk-LW3NAZSU.js → chunk-Y2JZ33AY.js} +1 -1
  318. package/browser/{chunk-J3K4ERVX.js → chunk-YCWV2P74.js} +1 -1
  319. package/browser/{chunk-ELS45DNO.js → chunk-YHXZO4DY.js} +1 -1
  320. package/browser/{chunk-JQ2IYWYZ.js → chunk-YIUHUP4T.js} +2 -2
  321. package/browser/{chunk-QICFCYOV.js → chunk-YLB3CLW7.js} +1 -1
  322. package/browser/{chunk-3I2OP7RX.js → chunk-YPRYCJUU.js} +1 -1
  323. package/browser/{chunk-RYNRTXUG.js → chunk-YQOJKXQE.js} +1 -1
  324. package/browser/{chunk-ZOY3GIWS.js → chunk-YTZPBL5O.js} +1 -1
  325. package/browser/{chunk-IGOPLAZG.js → chunk-YULQA3XO.js} +1 -1
  326. package/browser/{chunk-6TUMVYIK.js → chunk-YWSLOOOL.js} +1 -1
  327. package/browser/{chunk-KRSKO5VM.js → chunk-YXHVCEPP.js} +1 -1
  328. package/browser/{chunk-HC3K34H3.js → chunk-YYN6DHYB.js} +1 -1
  329. package/browser/{chunk-XKYTZX4R.js → chunk-Z5XOA7AW.js} +1 -1
  330. package/browser/{chunk-PHG7KVWT.js → chunk-ZGMSSF4Z.js} +1 -1
  331. package/browser/{chunk-AXLHH5DT.js → chunk-ZJFJ6CVF.js} +1 -1
  332. package/browser/{chunk-EBWGDFJA.js → chunk-ZKFCAAPK.js} +1 -1
  333. package/browser/{chunk-UJJCPSIF.js → chunk-ZNLURZB2.js} +1 -1
  334. package/browser/{chunk-SDCBAUGX.js → chunk-ZPCQGGBE.js} +1 -1
  335. package/browser/{chunk-A3BNMPSP.js → chunk-ZXCZ554Q.js} +1 -1
  336. package/browser/{chunk-IG6RIECR.js → chunk-ZYUNMQMD.js} +1 -1
  337. package/browser/index.html +2 -2
  338. package/browser/{main-FGJE54BB.js → main-VBYYZ7XM.js} +2 -2
  339. package/package.json +1 -1
  340. package/browser/chunk-3T253YL2.js +0 -1
  341. package/browser/chunk-B7BRCHFL.js +0 -1
  342. package/browser/chunk-E2JPNWPN.js +0 -1
  343. package/browser/chunk-ENUNL64N.js +0 -1
  344. package/browser/chunk-KGERHXQY.js +0 -1
  345. package/browser/chunk-MRCN2WRZ.js +0 -1
  346. package/browser/chunk-R3Z6WGRK.js +0 -1
  347. package/browser/chunk-UIT4FE3W.js +0 -1
  348. package/browser/chunk-YGTSYNJ4.js +0 -1
@@ -1,2 +1,2 @@
1
- import{a as Xt,b as ue,c as ii,d as ni,e as oi,f as ri}from"./chunk-UTSIMPYB.js";import{a as Zt}from"./chunk-LHUG6IEF.js";import{a as ei}from"./chunk-OLMLN73G.js";import{a as ti}from"./chunk-HRGUDDKZ.js";import{a as ai,b as li,c as di,g as si}from"./chunk-PDTEF7GP.js";import"./chunk-UNPNX2VJ.js";import{a as Jt}from"./chunk-NEKBV3FU.js";import{a as zt}from"./chunk-OEZWD2O3.js";import{b as Ne,c as Yt}from"./chunk-CLCL3SNH.js";import"./chunk-MHLT7VZA.js";import"./chunk-CSFBLJDG.js";import"./chunk-B46V3AH7.js";import{a as Qt}from"./chunk-XOJZGUT3.js";import"./chunk-DDLXGCOB.js";import"./chunk-ZOY3GIWS.js";import{b as St,c as Pt,d as Vt,e as Dt}from"./chunk-CIDPGJ5I.js";import"./chunk-LC7VGS4V.js";import{d as qt}from"./chunk-3XXHI4EL.js";import{a as Kt}from"./chunk-XC2DOMTX.js";import"./chunk-OFAMZL4W.js";import"./chunk-PRC6BIGW.js";import"./chunk-XRHB5YFU.js";import"./chunk-JGRL2V64.js";import"./chunk-77OYJ25Y.js";import"./chunk-IGAEFS7B.js";import"./chunk-4M7RPVWV.js";import{b as Me,c as Se,d as Pe}from"./chunk-W2DHHNBD.js";import{d as Wt,e as Gt}from"./chunk-CIT4ZXVF.js";import"./chunk-W4URBIH6.js";import"./chunk-HMG4CYEC.js";import"./chunk-NS7JQEFX.js";import{b as Ht,c as jt}from"./chunk-H6DCYTCB.js";import"./chunk-DU3EU6UY.js";import"./chunk-5FZQUUGO.js";import"./chunk-S5D6TMC7.js";import"./chunk-6MEBNFIU.js";import"./chunk-FKYSDVEG.js";import"./chunk-ELS45DNO.js";import"./chunk-TMLUWER3.js";import"./chunk-GQLZJQI6.js";import"./chunk-KCKWSNMS.js";import"./chunk-IEXCLXA2.js";import{a as we}from"./chunk-HPK2WVYW.js";import"./chunk-NS5MW6GH.js";import"./chunk-WQ627RLB.js";import"./chunk-LLHEBPGG.js";import"./chunk-YQH2QORC.js";import"./chunk-ZAPREM3S.js";import"./chunk-X36HAWOW.js";import"./chunk-KXQNUECI.js";import"./chunk-QWL5S2RG.js";import"./chunk-UL6HUKIC.js";import{a as Tt,b as wt,d as Ve,e as It,f as De,h as Te}from"./chunk-NLFBNSNG.js";import{b as Rt,c as At,f as Bt,g as $t}from"./chunk-J43GSUA6.js";import"./chunk-IB3OHAIQ.js";import{a as Ft}from"./chunk-5SKRY63J.js";import"./chunk-HRIVC724.js";import"./chunk-DTQAQRLJ.js";import{a as Ut,b as Lt}from"./chunk-JWGWQVEI.js";import{b as Ot,e as Ie,f as ke}from"./chunk-W74HRDSC.js";import"./chunk-INL666X3.js";import"./chunk-UUAZGIAN.js";import"./chunk-SPPZGYU7.js";import"./chunk-DYDRVXX3.js";import"./chunk-FICGNDPR.js";import{a as w,b as I}from"./chunk-2BQQJ3YS.js";import"./chunk-YNQPX5G6.js";import{O as W}from"./chunk-VQFUZUU2.js";import"./chunk-5UKWQA6U.js";import"./chunk-QYSFCWV7.js";import{a as Nt,b as Et,d as X,e as ee}from"./chunk-Q7OVBNEW.js";import"./chunk-AXLHH5DT.js";import{c as Z,h as kt}from"./chunk-6RFU4RXC.js";import{a as ce}from"./chunk-YCV6GUTW.js";import"./chunk-VXGIPE22.js";import"./chunk-PG5RORVW.js";import"./chunk-OQDKFI6M.js";import"./chunk-TKBQO5Z6.js";import{a as K}from"./chunk-M5BHFFPW.js";import"./chunk-XUQHA7FY.js";import"./chunk-AJ6OO7CP.js";import"./chunk-UPAKGSOK.js";import"./chunk-FMECWSCG.js";import{B as bt,E as F,F as xt,c as B,e as xe,h as E,l as ze,o as U,s as yt}from"./chunk-QMS2MBIA.js";import"./chunk-W2DSNINP.js";import"./chunk-N4MJS6YZ.js";import"./chunk-WLVEHCCR.js";import{b as $}from"./chunk-P7GOTTNS.js";import{a as V}from"./chunk-3DEA4WWC.js";import"./chunk-CYMHS5BE.js";import{n as be,q as Mt}from"./chunk-3GXUD7K4.js";import{Ba as Ce,Bb as h,Bc as _e,Cc as mt,Db as v,Dc as fe,Eb as at,Ec as qe,F as re,Fa as T,Fb as lt,Gb as H,Ha as ie,Hb as j,Ib as C,J as Ze,Jb as a,Kb as l,Kc as ut,La as tt,Lb as b,Lc as gt,N as He,R as je,Rd as ft,Tc as y,Td as ht,Ua as it,Ub as M,Ud as ye,Wd as vt,Xb as g,Xc as Ct,Yc as he,Za as d,Zb as s,ba as G,bc as dt,cc as st,dc as ct,eb as nt,ga as A,hc as me,ib as D,jc as q,lc as pt,mc as p,md as ve,na as ae,nb as ot,nc as O,o as Ye,ob as J,oc as z,p as Y,ra as x,rc as le,sc as de,sd as _t,tc as se,u as R,v as Je,va as _,wa as f,xa as Xe,xb as rt,ya as et,zd as N}from"./chunk-NGFIIVK5.js";import"./chunk-WFMAM73Y.js";import{a as m,b as u,k as Qe}from"./chunk-SNAKHGZS.js";var Ee=class{ID;Name;CreatorID;Created;ModifierID;Modified;Description};var P=class r{http=x(Mt);toastr=x(be);processUppy=x(Zt);destroyRef=x(Ce);formulaNameService=x(ei);_productForm=T(null);productForm=this._productForm.asReadonly();product=y(()=>this._productForm()?.Product??null);options=y(()=>this._productForm()?.Options??null);outletStocks=y(()=>this._productForm()?.Product?.OutletStocks??[]);productImages=y(()=>this._productForm()?.Product?.ProductImages??[]);supplierName=y(()=>this._productForm()?.SupplierName??null);maskingFields=y(()=>V.generateMaskingField(this._productForm()?.MaskFields??[]));isValidVariantCode=y(()=>this._productForm()?.CodeRequired?!(this._productForm()?.Product?.Variants??[]).some(e=>V.IsEmpty(e.Code)):!0);nextProductName=y(()=>this._productForm()?.NextProductName??null);productLocations=y(()=>this._productForm()?.Product?.ProductLocations??[]);language=y(()=>this._productForm()?.Language??"Indonesian");isEditMode=y(()=>!V.IsEmpty(this._productForm()?.Product?.ID));productNameMaxCharacter=200;productDescriptionMaxCharacter=3e3;variantNameMaxCharacter=100;loadForm(t={}){return this.http.post(W.ProductForm,t).pipe(A(e=>{let i=V.IsEmpty(e.Product?.ID),n=this.applyCodeSuggestion(e,i);this._productForm.set(n),this.initializeProductLocations(),this.initializeOutletStocks(n.Options?.Entities??[]),this.initializeDefaultCategory(i,n)}))}initializeOutletStocks(t){if(this.isEditMode()==!1){let e=t.map(n=>({EntityID:n.ID,Name:n.Name,OnHand:void 0,MinStock:void 0,MaxStock:void 0})),i=this._productForm()?.Product?.OutletStocks;this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{OutletStocks:i?.length>0?i:e})}))}}initializeProductLocations(){let t=this._productForm()?.ProductLocations;t&&this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{ProductLocations:t})}))}updateProductName(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Name:t})}))}updateProductCode(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Code:t})}))}updateProductCategory(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{CategoryID:t})})),this.updateCodeByCategory(t)}updateProductReleaseDate(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Released:t})}))}updateProductDiscontinue(t){let e=(this._productForm()?.Product?.Variants??[]).map(i=>u(m({},i),{Discontinued:t}));this._productForm.update(i=>u(m({},i),{Product:u(m({},i?.Product),{Discontinued:t,Variants:e})}))}handleVariantTypeUOM(t){let e=t===7||t===8,i=(this._productForm()?.Product?.Variants??[]).map((n,o)=>u(m({},n),{Ratio:e?1:n.Ratio,TypeID:e?o===0?8:7:t}));this.updateProductVariant(i)}updateBaseUnitModelReferences(t,e){if(!t||t.trim()===""||t===e)return;let i=(this._productForm()?.Product?.Variants??[]).map(n=>n.BaseUnitModel===t?u(m({},n),{BaseUnitModel:e}):n);this.updateProductVariant(i)}updateProductBrand(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{BrandID:t})}))}updateProductTag(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{TagIDs:[...t]})}))}updateProductSupplier(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{SupplierID:t})}))}updateProductVariantType(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{VariantTypeID:t})})),this.updateVariantType(t)}updateVariantType(t){let e=this.product()?.Variants??[];e.length>=1&&(t===7||t===8?(e=e.map((i,n)=>(n===0?(i.TypeID=8,i.TypeIdLabel=this.findInventoryTypeLabel(8)):(i.TypeID=7,i.TypeIdLabel=this.findInventoryTypeLabel(7)),i)),this.updateProductVariant(e)):(e=e.map(i=>(i.TypeID=t,i.TypeIdLabel=this.findInventoryTypeLabel(t),i)),this.updateProductVariant(e)))}updateProductSupplierWithName(t,e){this._productForm.update(i=>u(m({},i),{SupplierName:e,Product:u(m({},i?.Product),{SupplierID:t})}))}updateProductNextID(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{NextProductID:t})}))}updateProductDesc(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Description:t})}))}updateProductCurrency(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{CostCurrencyID:t})}))}updateProductImages(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{ProductImages:[...t],ImageUrl:t?.[0]?.URL??null})}))}updateProductVariant(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Variants:[...t]})}))}updateOutletStocks(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{OutletStocks:[...t]})}))}updateProductVariantValue(t,e){let i=(this._productForm()?.Product?.Variants??[]).map(n=>u(m({},n),{[e]:t}));this.updateProductVariant(i),e==="UnitPrice"&&this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{VariantUnitPrice:t})})),e==="UnitCost"&&this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{VariantUnitCost:t})})),e==="Weight"&&this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{VariantWeight:t})}))}updateStorageLocation(t,e){let i=this._productForm()?.Product?.ProductLocations??[];V.IsEmpty(t)&&(t=V.GuidEmpty),i.find(o=>o.OutletID===e)?i=i.map(o=>o.OutletID===e?u(m({},o),{StorageID:t}):o):V.IsEmpty(t)||(i=[...i,{OutletID:e,StorageID:t}]),this._productForm.update(o=>u(m({},o),{Product:u(m({},o?.Product),{ProductLocations:i})}))}updateProductUOM(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{VariantUOM:t})}))}updateNextProductWithName(t,e){this._productForm.update(i=>u(m({},i),{NextProductName:e,Product:u(m({},i?.Product),{NextProductID:t})}))}uploadImages(t){let e=this._productForm()?.CloudinaryFolder??"",i=t.map(({file:n,id:o})=>this.processUppy.uploadFileThroughPreSignedUrl(n,e).pipe(R(c=>({ImageID:o,ImageName:n.name,ImageURL:c.url}))));i.length&&Je(i).pipe(ce(this.destroyRef)).subscribe(n=>{let o=new Set(this.productImages().map(S=>S.ImageID??S.ID)),c=n.filter(S=>!o.has(S.ImageID));this.updateProductImages([...this.productImages(),...c])})}removeImageById(t){let e=this.productImages().filter(i=>(i.ImageID??i.ID)!==t);this.updateProductImages(e)}removeImageByIndex(t){let e=[...this.productImages()];e.splice(t,1),this.updateProductImages(e)}updateCodeByCategory(t){this._productForm()?.ProductCodeByCategory&&this.http.get(W.ProductCodeByCategory,[{key:"ID",value:t}]).pipe(re(e=>V.IsNotEmpty(e.Code)),ce(this.destroyRef)).subscribe(e=>this.updateProductCode(e.Code))}applyCodeSuggestion(t,e){let i=V.IsNotEmpty(t.CodeSuggestion);return e&&i?u(m({},t),{Product:u(m({},t.Product),{Code:t.CodeSuggestion})}):t}initializeDefaultCategory(t,e){let i=V.IsEmpty(e.Product?.CategoryID),n=e.Options?.Categories?.[0]?.key??null;!t||!i||!n||this.updateProductCategory(n)}createNewCategory(t){return this.http.post(W.CreateNewCategory,{name:t,parentID:"undefined"}).pipe(A(()=>this.toastr.success("Category added",K.Success)))}createNewBrand(t){return this.http.post(W.CreateNewBrand,{name:t}).pipe(R(e=>({ID:e.ObjectID,Name:t})),A(e=>{this._productForm.update(i=>u(m({},i),{Options:u(m({},i?.Options),{Brands:[...i?.Options?.Brands??[],e]})})),this.updateProductBrand(e.ID),this.toastr.success("Brand added",K.Success)}))}createNewTag(t){return this.http.post(W.CreateNewTags,{name:t}).pipe(R(e=>({ID:e.ObjectID,Name:t})),A(e=>{let i=new Ee;i.ID=e.ID,i.Name=e.Name,this._productForm.update(n=>u(m({},n),{Options:u(m({},n?.Options),{Tags:[...n?.Options?.Tags??[],i]})})),this.updateProductTag([...this.product()?.TagIDs??[],e.ID]),this.toastr.success("Tag added",K.Success)}))}createNewSupplier(t){let e={contact:t,type:"supplier",groups:t?.Group??[]};return this.http.post(W.CreateNewSupplier,e).pipe(R(i=>({ID:i.ID,Name:t.Name})),A(i=>{this.updateProductSupplier(i.ID),this.toastr.success("Supplier added",K.Success)}))}checkExistNameAndCode(t,e){return this.http.post(W.ProductIsUnique,{Name:t,Code:e,ID:this._productForm()?.Product?.ID??null}).pipe(Ze(()=>Ye({exist:!1})))}showDuplicateNameCodeError(){this.toastr.error("Product name or code already exist",K.Error)}getProductDescSuggestion(t,e){let i={ProductName:this.product()?.Name,CategoryID:this.product()?.CategoryID,Language:t,Keywords:e};return this.http.post(W.GetProductDescSuggestion,i)}updateVariantCodesFromProductCode(t){let e=this._productForm()?.ProductCodeGenerator?.VariantCodeGenerator;if(!e?.Enabled||!t)return;let i=(this._productForm()?.Product?.Variants??[]).map(n=>u(m({},n),{Code:n.Code?n.Code:t+`${e.Separator}${(n.Model??"").slice(0,e.SubstringDigit)}`}));this.updateProductVariant(i)}findInventoryTypeLabel(t){return(this.options()?.Types??[]).find(i=>i.Key===t)?.Value??""}onSave(){let t=this.product();if(!t?.Name)return this.toastr.error("Product name is required",K.Error),Y(()=>new Error("Product name is required"));if(this._productForm()?.CodeRequired&&V.IsEmpty(t?.Code))return this.toastr.error("Product code is required",K.Error),Y(()=>new Error("Product code is required"));if(!this.isValidVariantCode())return this.toastr.warning("Please fill in the code for all variants","Variant Code Required"),Y(()=>new Error("Variant code is required"));if((t?.Name?.length??0)>this.productNameMaxCharacter)return this.toastr.warning(`Product name maximum character is ${this.productNameMaxCharacter}`,"Maximum Character Exceeded"),Y(()=>new Error("Product name exceeds maximum character limit"));if(this.getDescriptionLength(t?.Description)>this.productDescriptionMaxCharacter)return this.toastr.warning(`Product description maximum character is ${this.productDescriptionMaxCharacter}`,"Maximum Character Exceeded"),Y(()=>new Error("Product description exceeds maximum character limit"));if(!this.validateBaseUnitAndMultiUOM())return Y(()=>new Error("Invalid BaseUnit/MultipleUOM configuration"));if(!this.validateVariantNames())return Y(()=>new Error("Duplicate variant names found"));let e=this.prepareProductForSubmit(t);return this.http.post(W.SubmitProduct,e).pipe(A(()=>this.toastr.success("Product saved successfully",K.Success)))}prepareImagesForSubmit(t,e){return(t??[]).map(i=>{let n=i?.URL??"",o="";if(n&&n.includes("crop")){let S=n.split("upload/")[1]??"",k=e?S.split(`/${e}`)[0]:S.split("/")[0];k&&(o=k+"#")}let c=n?n.substring(n.lastIndexOf("/")+1):"";return u(m({},i),{URL:(o||"")+(c??"")})})}prepareProductForSubmit(t){if(!t)return t;let e=this._productForm()?.CloudinaryFolder??"",i=this.prepareImagesForSubmit(t?.ProductImages??[],e);return u(m({},t),{Variants:this.preparedVariantNameBeforeSubmit(t.Name,t.Variants)??[],ProductImages:i,ImageUrl:i[0]?.URL??t?.ImageUrl??null})}preparedVariantNameBeforeSubmit(t,e=[]){let i=this._productForm()?.VariantDisplayNameFormula;return i?e.map(o=>u(m({},o),{Name:this.formulaNameService.generateVariantName(i,t,o.Model??"")})):void 0}validateVariantNames(){let t=this.product()?.Variants??[],e=new Set;for(let i of t){let n=(i.Model??"").trim().toLowerCase();if(!n)continue;let o=(i.Code??"").trim().toLowerCase(),c=`${n}||${o}`;if(e.has(c))return this.toastr.error("Variant name & code combination should be unique!","Duplicate Variant code and name"),!1;e.add(c)}return!0}getDescriptionLength(t){if(!t)return 0;let e=document.createElement("div");return e.innerHTML=t,e.textContent?.length??0}validateBaseUnitAndMultiUOM(){let t=this.product(),e=t?.VariantTypeID===8,i=t?.VariantTypeID===7;if(!e&&!i)return!0;let n=t?.Variants??[],o=n.filter(k=>k.TypeID===8).length,c=n.filter(k=>k.TypeID===7).length,S=o>=1&&c>=1&&o<=1;return S||this.toastr.warning("Ensure there is at least one base unit type and one multi-unit type.","Incomplete Variant Configuration"),S}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ae({token:r,factory:r.\u0275fac})};function Ci(r,t){r&1&&(a(0,"span",6),p(1,"Main"),l())}function _i(r,t){if(r&1){let e=M();a(0,"button",8),g("click",function(){_(e);let n=s().$index,o=s();return f(o.onRemove(n))}),p(1," \xD7 "),l()}}function fi(r,t){if(r&1){let e=M();a(0,"div",3),g("cdkDropListDropped",function(n){_(e);let o=s();return f(o.drop(n))}),a(1,"div",4),g("click",function(n){let o=_(e).$implicit,c=s();return f(c.onZoomImage(o.OnNewFormURL??o.URL,n))}),b(2,"img",5),h(3,Ci,2,0,"span",6),h(4,_i,2,0,"button",7),l()()}if(r&2){let e=t.$implicit,i=t.$index,n=s();C("cdkDropListData",i),d(2),C("src",e.ImageURL||e.ImageUrl||"",it)("alt",e.ImageName||"Product image"),d(),v(i===0?3:-1),d(),v(n.hasRole()?4:-1)}}function hi(r,t){r&1&&(a(0,"div",10),Xe(),a(1,"svg",12),b(2,"rect",13)(3,"circle",14)(4,"polyline",15),l(),et(),a(5,"div",16),p(6,"Upload Image"),l()())}function vi(r,t){r&1&&b(0,"i",11)}function yi(r,t){if(r&1){let e=M();a(0,"div",9),g("click",function(){_(e);let n=s();return f(n.openUploadDialog())}),h(1,hi,7,0,"div",10)(2,vi,1,0,"i",11),l()}if(r&2){let e=s();q("piu-upload-area--full",e.images().length===0)("piu-upload-area--shrink",e.images().length>0)("piu-upload-area--disabled",!e.hasRole())("piu-upload-area--edit-mode",e.service.isEditMode()),C("matTooltip",e.hasRole()?"Click to upload image":"You do not have permission to upload images"),d(),v(e.images().length===0?1:2)}}var Fe=class r{service=x(P);role=x($);dialog=x(Z);bigPicture=x(Jt);images=he([]);maxFile=he(5);cloudinaryFolder=he("");imagesChange=Ct();hasRole=y(()=>this.service.isEditMode()?!!this.role.product?.Edit&&!!this.role.product?.ImageEditor:!!this.role.product?.Create&&!!this.role.product?.ImageEditor);slotAvailable=y(()=>(this.images()?.length??0)<this.maxFile());canUpload=y(()=>this.hasRole()&&this.slotAvailable());onRemove(t){let e=[...this.images()||[]];e.splice(t,1),this.service.updateProductImages(e)}openUploadDialog(){if(!this.canUpload())return;let t=this.service.productForm();this.dialog.open(Xt,{data:{currentProductImagesLength:this.images()?.length??0,CloudinaryFolder:t?.CloudinaryFolder??"",productID:t?.Product?.ID??null}}).afterClosed().subscribe(i=>{if(i?.length){let n=[...this.images()||[],...i];this.service.updateProductImages(n)}})}onZoomImage(t,e){return Qe(this,null,function*(){this.bigPicture.openBiggerPicture(e,t)})}drop(t){let e=[...this.images()||[]];Tt(e,t.previousContainer.data,t.container.data),this.service.updateProductImages(e)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-product-image-upload"]],inputs:{images:[1,"images"],maxFile:[1,"maxFile"],cloudinaryFolder:[1,"cloudinaryFolder"]},outputs:{imagesChange:"imagesChange"},decls:4,vars:1,consts:[["cdkDropListGroup","",1,"d-flex","flex-wrap","gap-2","align-items-start","w-100"],["cdkDropList","","cdkDropListOrientation","horizontal",3,"cdkDropListData"],[1,"piu-upload-area",3,"matTooltip","piu-upload-area--full","piu-upload-area--shrink","piu-upload-area--disabled","piu-upload-area--edit-mode"],["cdkDropList","","cdkDropListOrientation","horizontal",3,"cdkDropListDropped","cdkDropListData"],["cdkDrag","",1,"piu-preview-item","cursor-pointer",3,"click"],[3,"src","alt"],[1,"piu-main-badge"],["type","button","aria-label","Remove image",1,"piu-remove-btn"],["type","button","aria-label","Remove image",1,"piu-remove-btn",3,"click"],[1,"piu-upload-area",3,"click","matTooltip"],[1,"text-center"],["aria-hidden","true",1,"fa-thin","fa-plus","fa-2x",2,"color","#9ca3af"],["xmlns","http://www.w3.org/2000/svg","width","32","height","32","viewBox","0 0 24 24","fill","none","stroke","#9ca3af","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round"],["x","3","y","3","width","18","height","18","rx","2"],["cx","8.5","cy","8.5","r","1.5"],["points","21 15 16 10 5 21"],[1,"piu-upload-label","mt-1","fs-6","text-muted"]],template:function(e,i){e&1&&(a(0,"div",0),H(1,fi,5,5,"div",1,lt),h(3,yi,3,10,"div",2),l()),e&2&&(d(),j(i.images()),d(2),v(i.slotAvailable()?3:-1))},dependencies:[N,I,w,Te,De,It,Ve],styles:[".piu-preview-item[_ngcontent-%COMP%]{position:relative;width:125px;height:125px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;flex-shrink:0}.piu-preview-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block}.piu-preview-item[_ngcontent-%COMP%] .piu-main-badge[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;background:#0b5ed7d1;color:#fff;font-size:.6rem;font-weight:600;text-align:center;padding:2px 0;letter-spacing:.04em}.piu-preview-item[_ngcontent-%COMP%] .piu-remove-btn[_ngcontent-%COMP%]{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:none;background:#dc2626d9;color:#fff;font-size:.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.piu-preview-item[_ngcontent-%COMP%]:hover .piu-remove-btn[_ngcontent-%COMP%]{opacity:1}.piu-upload-area[_ngcontent-%COMP%]{border:1.5px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s}.piu-upload-area[_ngcontent-%COMP%]:hover{border-color:#9ca3af;background:#f3f4f6}.piu-upload-area--full[_ngcontent-%COMP%]{width:100%;min-height:160px;flex-direction:column;gap:.25rem}.piu-upload-area--edit-mode[_ngcontent-%COMP%]{min-height:125px}.piu-upload-area--shrink[_ngcontent-%COMP%]{width:125px;height:125px;flex-shrink:0}.piu-upload-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:#374151}.piu-upload-hint[_ngcontent-%COMP%]{font-size:12px;color:#9ca3af}.piu-upload-area--disabled[_ngcontent-%COMP%]{opacity:.45;cursor:not-allowed}"],changeDetection:0})};function bi(r,t){r&1&&(a(0,"a",10),b(1,"i",19),l()),r&2&&C("matTooltipPositionAtOrigin",!0)}function xi(r,t){r&1&&(a(0,"div",11),p(1," Code is required "),l())}function Mi(r,t){if(r&1){let e=M();a(0,"POS-product-category-select",20),g("selectedCategoryIDChange",function(n){_(e);let o=s();return f(o.onCategoryChange(n))}),l()}if(r&2){let e,i=s();C("isInitializedCategoryLabel",!0)("selectedCategoryID",i.categoryID())("categories",(e=i.options())==null?null:e.Categories)}}var Oe=class r{service=x(P);roleService=x($);dialog=x(Z);treeSelector=x(Wt);destroyRef=x(Ce);productCode=y(()=>this.service.product()?.Code??null);isCodeRequired=y(()=>this.service.productForm()?.CodeRequired??!1);options=y(()=>this.service?.options()??null);maxNameLength=200;categoryID=y(()=>this.service.product()?.CategoryID??null);images=y(()=>this.service.productImages());cloudinaryFolder=y(()=>this.service.productForm()?.CloudinaryFolder??"");maxFile=5;productNameCtrl=new ze(null,xe.required);productCodeCtrl=new ze(null);constructor(){this.initCodeValidators(),ie(()=>{let t=this.productCode();this.productCodeCtrl.value!==t&&this.productCodeCtrl.setValue(t,{emitEvent:!1})}),ie(()=>{let t=this.service.product()?.Name??null,e=this.productNameCtrl.value;V.IsEmpty(e)&&V.IsNotEmpty(t)&&this.productNameCtrl.setValue(t,{emitEvent:!1})})}initCodeValidators(){ie(()=>{this.isCodeRequired()?this.productCodeCtrl.addValidators(xe.required):this.productCodeCtrl.removeValidators(xe.required),this.productCodeCtrl.updateValueAndValidity({emitEvent:!1})})}ngOnInit(){this.productNameCtrl.valueChanges.pipe(R(t=>(t??"").toString().trim()),je(),He(300),A(t=>this.service.updateProductName(t)),G(t=>this.service.checkExistNameAndCode(t,this.productCodeCtrl.value??"")),ce(this.destroyRef)).subscribe(t=>{t?.exist&&this.service.showDuplicateNameCodeError()}),this.productCodeCtrl.valueChanges.pipe(R(t=>(t??"").toString()),je(),He(300),G(t=>this.service.checkExistNameAndCode(this.productNameCtrl.value??"",t).pipe(A(e=>{e?.exist?this.service.showDuplicateNameCodeError():this.service.updateVariantCodesFromProductCode(t)}),R(()=>t))),ce(this.destroyRef)).subscribe(t=>this.service.updateProductCode(t??""))}onCategoryChange(t){this.service.updateProductCategory(t)}openAddCategoryDialog(){this.dialog.open(ue,{data:{form:{Name:null,Status:"Category"}}}).afterClosed().subscribe(e=>{e?.Name&&this.service.createNewCategory(e.Name).subscribe(i=>{i?.key&&this.service.updateProductCategory(i.key),this.treeSelector.forceLoadCategories()})})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-general-card"]],decls:27,vars:16,consts:[[1,"card","mb-12"],[1,"card-body"],[1,"d-flex","flex-column","gap-10"],["for","productName",1,"mb-2"],["placeholder","Long pants jeans","errorMessage","Name is required","id","productName","trimInput","",3,"autofocus","formControl","inputName","maxlength","valid","floatingLabel"],[1,"row","g-3"],[1,"col-6"],["for","productCode",1,"mb-2"],[1,"position-relative"],["id","productCode","type","text","disallowSpaces","","placeholder","VAR-0001","matTooltip","Stock Keeping Unit (SKU) Code","matTooltipPosition","above",1,"form-control",3,"formControl"],["routerLink","/menu/Settings/Module/Product","fragment","productCodeGeneratorProduct","target","_blank","matTooltip","Click here to enable or disable auto-generation of Code","matTooltipPosition","above","tabindex","-1",1,"pointer","text-dark","position-absolute",2,"top","50%","right","10px","transform","translateY(-50%)",3,"matTooltipPositionAtOrigin"],["aria-hidden","true",1,"invalid-feedback"],["for","categorySelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Category","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"],[1,"gc-category-wrap"],["placeholder","Select Category","id","categorySelect",3,"isInitializedCategoryLabel","selectedCategoryID","categories"],["for","productImageUpload",1,"mb-2"],[1,"text-muted"],["id","productImageUpload",3,"images","maxFile","cloudinaryFolder"],[1,"fa-solid","fa-gear","fa-lg"],["placeholder","Select Category","id","categorySelect",3,"selectedCategoryIDChange","isInitializedCategoryLabel","selectedCategoryID","categories"]],template:function(e,i){if(e&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"div")(4,"label",3),p(5,"Product Name"),l(),b(6,"POS-input-limit",4),l(),a(7,"div",5)(8,"div",6)(9,"label",7),p(10,"Product Code"),l(),a(11,"div",8),b(12,"input",9),h(13,bi,2,1,"a",10),h(14,xi,2,0,"div",11),l()(),a(15,"div",6)(16,"label",12),p(17," Category "),a(18,"i",13),g("click",function(){return i.openAddCategoryDialog()}),l()(),a(19,"div",14),h(20,Mi,1,3,"POS-product-category-select",15),l()()(),a(21,"div")(22,"label",16),p(23,"Product Image "),a(24,"span",17),p(25),l()(),b(26,"POS-product-image-upload",18),l()()()()),e&2){let n;d(6),C("autofocus",!0)("formControl",i.productNameCtrl)("inputName","productName")("maxlength",i.service.productNameMaxCharacter)("valid",i.productNameCtrl.touched&&i.productNameCtrl.invalid)("floatingLabel",!1),d(6),q("is-invalid",i.productCodeCtrl.touched&&i.productCodeCtrl.invalid),C("formControl",i.productCodeCtrl),d(),v(i.roleService.setup.View&&i.productCodeCtrl.valid?13:-1),d(),v(i.productCodeCtrl.touched&&i.productCodeCtrl.invalid?14:-1),d(6),v((n=i.options())!=null&&n.Categories?20:-1),d(5),z("(",i.images().length,"/5)"),d(),C("images",i.images())("maxFile",i.maxFile)("cloudinaryFolder",i.cloudinaryFolder())}},dependencies:[F,B,E,bt,xt,yt,I,w,ye,Fe,ii,Gt,ti,Ne],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] input[_ngcontent-%COMP%]{font-size:.75rem}[_nghost-%COMP%] label[_ngcontent-%COMP%]{font-size:.813rem}.card[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.gc-section-title[_ngcontent-%COMP%]{color:#374151;border-bottom-color:#eef2f5!important}.gc-label[_ngcontent-%COMP%]{color:#374151}#productCode[_ngcontent-%COMP%]{height:2.375rem;border-radius:.25rem!important;padding:.375rem .75rem!important} .input-limit-container .input-core{height:2.375rem;border-radius:.25rem!important;padding:.375rem .75rem!important;font-size:.75rem} pos-input-limit .limit-preview, .input-limit-container .limit-preview{top:3px!important;transform:none!important}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect{height:2.375rem;align-items:center;border-radius:.25rem;border:1px solid #dee2e6;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect.p-focus, .gc-category-wrap[_ngcontent-%COMP%] .p-treeselect.p-overlay-open{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-label{font-size:.75rem;padding:.375rem .75rem;line-height:1.5}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown{background:transparent!important;border:none!important;box-shadow:none!important;width:2rem;padding:0;display:flex;align-items:center;justify-content:center}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown .p-treeselect-dropdown-icon, .gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown svg{display:none!important}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown:after{content:"";border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0}'],changeDetection:0})};var Pi=r=>({"pb-9":r});function Vi(r,t){if(r&1){let e=M();a(0,"div",2)(1,"label",15),p(2," Type "),a(3,"a",16),b(4,"i",17),l()(),a(5,"ng-select",18),g("ngModelChange",function(n){_(e);let o=s();return f(o.onTypeChange(n))}),l()()}if(r&2){let e,i,n=s();d(5),C("items",(e=n.options())==null?null:e.Types)("clearable",!1)("ngModel",(i=n.product())==null?null:i.VariantTypeID)("disabled",n.service.isEditMode())}}function Di(r,t){if(r&1){let e=M();a(0,"i",19),g("click",function(){_(e);let n=s();return f(n.openSupplierDialog())}),l()}}var Ue=class r{service=x(P);dialog=x(Z);options=y(()=>this.service.options());product=y(()=>this.service.product());supplierName=y(()=>this.service.supplierName());roleService=x($);maskingFields=y(()=>this.service.maskingFields());maskingFieldMsg=Ot.maskingField;statusOptions=[{Key:!1,Value:"Active"},{Key:!0,Value:"Discontinued"}];onTypeChange(t){this.service.updateProductVariantType(t),this.service.handleVariantTypeUOM(t)}onBrandChange(t){this.service.updateProductBrand(t)}onTagsChange(t){this.service.updateProductTag(t??[])}onStatusChange(t){this.service.updateProductDiscontinue(t)}onSupplierSelected(t){let{Key:e,Value:i}=JSON.parse(t);this.service.updateProductSupplierWithName(e,i)}openBrandDialog(){this.dialog.open(ue,{data:{form:{Name:null,Status:"Brand"}}}).afterClosed().pipe(G(t=>t?.Name?this.service.createNewBrand(t.Name):[])).subscribe()}openTagDialog(){this.dialog.open(ue,{data:{form:{Name:null,Status:"Tag"}}}).afterClosed().pipe(G(t=>t?.Name?this.service.createNewTag(t.Name):[])).subscribe()}openSupplierDialog(){this.dialog.open(Yt,{data:{options:{Genders:[{Key:0,Value:"Male"},{Key:1,Value:"Female"}]},config:{DefaultValue:{Gender:0}},type:"supplier",title:"New Supplier Form"}}).afterClosed().pipe(re(t=>V.IsNotEmpty(t?.supplier?.Name)),G(t=>this.service.createNewSupplier(t.supplier))).subscribe(t=>{this.service.updateProductSupplierWithName(t.ID,t.Name)})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-properties-card"]],decls:23,vars:23,consts:[[1,"card","mb-12"],[1,"card-body"],[1,"mb-6"],["for","supplierSelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Supplier","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer"],["pOSFormOrFloatingOnMasked","",1,"position-relative","w-100",3,"label","value","isMasked"],["id","supplierSelect","customLabel","Supplier","placeholder","Supplier","requestUrl","/API/AC/GetSupplierSuggestion","matTooltipPosition","above",1,"w-100",3,"optionSelected","customStyle","ngModel","inputTextValue","matTooltip","disabled"],["for","brandSelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Brand","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"],["id","brandSelect","bindLabel","Name","bindValue","ID","matTooltip","Select brand for this product","matTooltipPosition","above",1,"productform","w-100",3,"ngModelChange","items","clearable","ngModel"],["for","tagsSelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Tag","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"],["id","tagsSelect","fluid","","display","chip","optionLabel","Name","optionValue","ID","matTooltip","Select tags for this product","matTooltipPosition","above",3,"ngModelChange","showClear","options","ngModel"],["for","statusSelect",1,"mb-2"],["id","statusSelect","bindLabel","Value","bindValue","Key","matTooltip","Set product status","matTooltipPosition","above",1,"productform","w-100",3,"ngModelChange","items","clearable","ngModel"],["for","typeSelect",1,"ms-2mb-2","d-flex","align-items-center","gap-1"],["href","https://support.dealpos.com/en/articles/15050371-product-type-in-dealpos","target","_blank","matTooltip","Read in Help Center","matTooltipPosition","above",1,"text-decoration-none"],[1,"fa-light","fa-circle-info","text-dark"],["id","typeSelect","bindLabel","Value","bindValue","Key","matTooltip","Choose product type","matTooltipPosition","above",1,"productform","w-100",3,"ngModelChange","items","clearable","ngModel","disabled"],["matTooltip","Add New Supplier","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"]],template:function(e,i){if(e&1&&(a(0,"div",0)(1,"div",1),h(2,Vi,6,4,"div",2),a(3,"div",2)(4,"label",3),p(5," Supplier "),h(6,Di,1,0,"i",4),l(),a(7,"div",5)(8,"autocompleteV2",6),g("optionSelected",function(o){return i.onSupplierSelected(o)}),l()()(),a(9,"div",2)(10,"label",7),p(11," Brand "),a(12,"i",8),g("click",function(){return i.openBrandDialog()}),l()(),a(13,"ng-select",9),g("ngModelChange",function(o){return i.onBrandChange(o)}),l()(),a(14,"div",2)(15,"label",10),p(16," Tags "),a(17,"i",11),g("click",function(){return i.openTagDialog()}),l()(),a(18,"p-multiselect",12),g("ngModelChange",function(o){return i.onTagsChange(o)}),l()(),a(19,"div",2)(20,"label",13),p(21,"Status"),l(),a(22,"ng-select",14),g("ngModelChange",function(o){return i.onStatusChange(o)}),l()()()()),e&2){let n,o,c,S,k,te;pt(fe(21,Pi,i.service.isEditMode())),d(2),v(i.service.isEditMode()?-1:2);let Ge=i.maskingFields().SupplierName&&!i.roleService.global.SensitiveField;d(4),v(Ge?-1:6),d(),C("label","Supplier")("value",i.supplierName())("isMasked",Ge),d(),C("customStyle",!0)("ngModel",(n=i.product())==null?null:n.SupplierID)("inputTextValue",i.supplierName())("matTooltip",Ge?i.maskingFieldMsg:"Input supplier for this product")("disabled",i.maskingFields().SupplierName&&!i.roleService.global.SensitiveField),d(5),C("items",(o=i.options())==null?null:o.Brands)("clearable",!0)("ngModel",(c=i.product())==null?null:c.BrandID),d(5),C("showClear",!0)("options",(S=i.options())==null?null:S.Tags)("ngModel",(k=i.product())==null?null:k.TagIDs),d(4),C("items",i.statusOptions)("clearable",!1)("ngModel",(te=i.product())==null?null:te.Discontinued)}},dependencies:[F,E,U,I,w,ee,X,jt,Ht,ke,Ie,ri],styles:['label[_ngcontent-%COMP%]{font-size:.813rem}[_nghost-%COMP%] .productform.ng-select .ng-select-container{border-color:#dee2e6;min-height:2.375rem}[_nghost-%COMP%] .productform.ng-select.ng-select-single .ng-select-container{height:2.375rem}[_nghost-%COMP%] .productform.ng-select input{padding-top:0!important}[_nghost-%COMP%] .productform.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}[_nghost-%COMP%] .p-multiselect{min-height:2.375rem;border-radius:.25rem;border:1px solid #dee2e6;align-items:center;width:100%}[_nghost-%COMP%] .p-multiselect.p-focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}[_nghost-%COMP%] .p-multiselect .p-multiselect-label{font-size:.75rem;padding:.375rem .75rem}[_nghost-%COMP%] .p-multiselect .p-multiselect-clear-icon{width:10px;font-weight:700}[_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown{background:transparent!important;border:none!important;box-shadow:none!important;width:2rem;padding:0;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown .p-multiselect-dropdown-icon, [_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown svg{display:none!important}[_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown:after{content:"";border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0}[_nghost-%COMP%] autocompleteV2{display:block}[_nghost-%COMP%] autocompleteV2 .mat-mdc-text-field-wrapper{height:2.375rem;padding:0!important;border:1px solid #dee2e6!important;border-radius:.25rem!important;background:#fff!important}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-flex{height:100%;padding:0 .75rem!important;align-items:center}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;min-height:unset!important;width:100%;display:flex;align-items:center}[_nghost-%COMP%] autocompleteV2 label{display:none!important}[_nghost-%COMP%] autocompleteV2 input.form-control{box-shadow:none!important;height:2.375rem;font-size:.75rem}[_nghost-%COMP%] autocompleteV2 .mdc-line-ripple{display:none}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-subscript-wrapper{display:none}[_nghost-%COMP%] autocompleteV2:focus-within .mat-mdc-text-field-wrapper{border-color:#86b7fe!important;box-shadow:0 0 0 .25rem #0d6efd40!important}'],changeDetection:0})};var oe=class r{productFormService=x(P);product=y(()=>this.productFormService.product());variants=y(()=>this.productFormService.product()?.Variants??[]);isMultiple=T(!1);isMultipleWithEmptyVariant=y(()=>this.isMultiple()&&this.variants().some(t=>(t.Model??"").trim().length===0));update(t){let e=[...this.variants()||[]],i=t(e);this.productFormService.updateProductVariant(i)}addVariantRow(){let t=this.createNewVariant();this.update(e=>[...e,t])}productType=y(()=>{let t=this.product()?.VariantTypeID??1,e=this.productFormService.options()?.Types??[],i=this.variants();if(t===8||t===7)if(i.length>0){let n=i[0],o=e.find(c=>c.Key===7);if(n.TypeID===8)return o}else return e.find(o=>o.Key===8);else return e.find(o=>o.Key===t)});createNewVariant(){let t=this.productType(),e={ID:"",Model:"",Name:this.product()?.Name??"",Code:"",UnitCost:0,UnitPrice:0,Discount:0,Weight:0,TypeID:t?.Key??1,TypeIdLabel:t?.Value??"",Ratio:1,UnitQuantity:1,Discontinued:!1,ActivePromotionCount:0,Components:null,BaseUnitModel:null,Invalid:!1},i=this.product()?.ID??null;return i&&i!==V.GuidEmpty?(e.ProductID=i,e.CostCurrencyID=this.productFormService.product()?.CostCurrencyID??1,e.PriceCurrencyID=this.productFormService.product()?.PriceCurrencyID??1):e.ProductID=V.GuidEmpty,e}updateVariantField(t,e,i){this.update(n=>{let o=[...n],c=u(m({},o[t]),{[e]:i});return e==="Model"&&(c.Code=this.generateVariantCodeConfig(c)),c.Invalid=this.checkNameCodeUnique(t,c.Model,c.Code),o[t]=c,o})}checkNameCodeUnique(t,e,i){let n=this.variants(),o=new Set(n.map((k,te)=>te!==t?this.trimAndTolower(k.Code):null)),c=this.trimAndTolower(i);return o.has(c)}trimAndTolower(t=""){return t?.trim()?.toLowerCase()}replaceVariant(t,e){this.variants()[t].TypeID!=e.TypeID&&this.updateVariantType(e.TypeID,t),this.update(n=>{let o=[...n];o[t]=m({},e);let c=o[t].Code??"";return V.IsEmpty(c)&&(o[t].Code=this.generateVariantCodeConfig(o[t])),o})}updateVariantType(t,e){(t===7||t===8)&&this.update(i=>{let n=[...i];return n=n.map((o,c)=>(t==8?(o.TypeID=c!=e?7:8,o.TypeIdLabel=this.productFormService.findInventoryTypeLabel(o.TypeID)):e!=0?(o.TypeID=c==0?8:7,o.TypeIdLabel=this.productFormService.findInventoryTypeLabel(o.TypeID)):(o.TypeID=c!=e?7:8,o.TypeIdLabel=this.productFormService.findInventoryTypeLabel(o.TypeID)),o)),n})}removeVariantByIndex(t){this.update(e=>e.filter((i,n)=>n!==t))}clearVariants(){this.productFormService.updateProductVariant([])}sortVariants(t,e){e&&this.update(i=>[...i].sort((o,c)=>{let S=o[t]??"",k=c[t]??"",te=typeof S=="number"?S-k:String(S).localeCompare(String(k));return e==="asc"?te:-te}))}reorderVariants(t,e){this.update(i=>{let n=[...i],[o]=n.splice(t,1);return n.splice(e,0,o),n})}updateAllVariantDiscount(t){this.update(e=>e.map(i=>u(m({},i),{Discount:t})))}generateVariantCodeConfig(t){let e=t.Code??"",i=this.productFormService.productForm()?.ProductCodeGenerator?.VariantCodeGenerator,n=this.productFormService.product()?.Code??"";return i?.Enabled&&n&&(e=`${n}${i.Separator??""}${t.Model.slice(0,i.SubstringDigit)}`),e}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ae({token:r,factory:r.\u0275fac})};var wi=["variantInput"],pi=(r,t)=>({"btn-primary":r,"btn-outline-secondary":t}),Ii=(r,t)=>t.key;function ki(r,t){if(r&1){let e=M();a(0,"li",14)(1,"div",15),g("click",function(n){return n.stopPropagation()}),a(2,"p-checkbox",16),se("ngModelChange",function(n){let o=_(e).$implicit;return de(o.selected,n)||(o.selected=n),f(n)}),g("onChange",function(){let n=_(e).$implicit,o=s(2);return f(o.columnService.toggleColumn(n.key))}),l(),a(3,"label",17),p(4),l()()()}if(r&2){let e=t.$implicit;d(2),le("ngModel",e.selected),C("binary",!0)("inputId","vcol-"+e.key),d(),C("for","vcol-"+e.key),d(),z(" ",e.name??e.key," ")}}function Ni(r,t){if(r&1&&(a(0,"div",4)(1,"div",10),b(2,"i",11),l(),a(3,"ul",12)(4,"div",13)(5,"h6"),p(6,"Columns to View"),l()(),H(7,ki,5,5,"li",14,Ii),l()()),r&2){let e=s();d(7),j(e.columnService.getAvailableColumns(!0))}}function Ei(r,t){if(r&1){let e=M();a(0,"div",5)(1,"button",18),g("click",function(){_(e);let n=s();return f(n.onToggleMode(!1))}),b(2,"i",19),p(3," Single "),l(),a(4,"button",18),g("click",function(){_(e);let n=s();return f(n.onToggleMode(!0))}),b(5,"i",20),p(6," Multiple "),l()()}if(r&2){let e=s();d(),C("ngClass",qe(2,pi,!e.variantService.isMultiple(),e.variantService.isMultiple())),d(3),C("ngClass",qe(5,pi,e.variantService.isMultiple(),!e.variantService.isMultiple()))}}function Fi(r,t){if(r&1){let e=M();a(0,"div",8)(1,"div",21)(2,"label",22),p(3,"Buying Cost"),l(),a(4,"input",23),g("ngModelChange",function(n){_(e);let o=s();return f(o.service.updateProductVariantValue(n,"UnitCost"))}),l()(),a(5,"div",21)(6,"label",24),p(7,"Selling Price"),l(),a(8,"input",25),g("ngModelChange",function(n){_(e);let o=s();return f(o.service.updateProductVariantValue(n,"UnitPrice"))}),l()(),a(9,"div",21)(10,"label",26),p(11,"Weight (gr)"),l(),a(12,"input",27),g("ngModelChange",function(n){_(e);let o=s();return f(o.service.updateProductVariantValue(n,"Weight"))}),l()()()}if(r&2){let e,i,n,o=s();d(4),C("ngModel",(e=o.product())==null?null:e.VariantUnitCost),d(4),C("ngModel",(i=o.product())==null?null:i.VariantUnitPrice),d(4),C("ngModel",(n=o.product())==null?null:n.VariantWeight)}}function Oi(r,t){r&1&&(a(0,"th",34),p(1,"Code"),l())}function Ui(r,t){r&1&&(a(0,"th",35),p(1," Cost "),l())}function Li(r,t){r&1&&(a(0,"th",36),p(1," Price "),l())}function Ri(r,t){r&1&&(a(0,"th",37),p(1,"Discount %"),l())}function Ai(r,t){r&1&&(a(0,"th",37),p(1,"Weight (gr)"),l())}function Bi(r,t){r&1&&(a(0,"th",37),p(1,"Type"),l())}function $i(r,t){r&1&&(a(0,"th",37),p(1,"Ratio"),l())}function Wi(r,t){r&1&&(a(0,"th",38),p(1,"Reference Unit"),l())}function Gi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",53,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"Code",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"Code"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),q("is-invalid",i.Invalid),C("id","v-"+n+"-Code")("ngModel",i.Code)}}function Hi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",54,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"UnitCost",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"UnitCost"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-UnitCost")("ngModel",i.UnitCost)}}function ji(r,t){if(r&1){let e=M();a(0,"td")(1,"input",54,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"UnitPrice",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"UnitPrice"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-UnitPrice")("ngModel",i.UnitPrice)}}function qi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",55,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"Discount",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"Discount"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-Discount")("ngModel",i.Discount)("max",100)("min",0)}}function zi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",54,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"Weight",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"Weight"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-Weight")("ngModel",i.Weight)}}function Ki(r,t){if(r&1&&(a(0,"td",47),p(1),l()),r&2){let e=s().$implicit;d(),O(e.TypeIdLabel)}}function Qi(r,t){if(r&1&&(a(0,"td",47),p(1),l()),r&2){let e=s().$implicit;d(),O(e.Ratio)}}function Yi(r,t){if(r&1&&(a(0,"td"),p(1),l()),r&2){let e=s().$implicit;d(),O(e.BaseUnitModel)}}function Ji(r,t){if(r&1){let e=M();a(0,"tr",42)(1,"td",43)(2,"button",44),b(3,"i",45),l()(),a(4,"td")(5,"input",46,0),g("ngModelChange",function(n){let o=_(e).$index,c=s(2);return f(c.updateVariantField(o,"Model",n))})("keydown.enter",function(n){let o=_(e).$index,c=s(2);return f(c.onVariantEnter(n,o,"Model"))}),l()(),h(7,Gi,3,4,"td"),h(8,Hi,3,2,"td"),h(9,ji,3,2,"td"),h(10,qi,3,4,"td"),h(11,zi,3,2,"td"),h(12,Ki,2,1,"td",47),h(13,Qi,2,1,"td",47),h(14,Yi,2,1,"td"),a(15,"td",43)(16,"div",48)(17,"button",49),g("click",function(){let n=_(e),o=n.$implicit,c=n.$index,S=s(2);return f(S.onEditVariant(o,c))}),b(18,"i",50),l(),a(19,"button",51),g("click",function(n){let o=_(e).$index,c=s(2);return f(c.removeVariantByIndex(o,n))}),b(20,"i",52),l()()()()}if(r&2){let e=t.$implicit,i=t.$index,n=t.$index,o=s(2);q("bg-gradient-warning",e.Discontinued),d(5),C("id","v-"+n+"-Model")("ngModel",e.Model),d(2),v(o.columnService.columnsToDisplay.Code.selected?7:-1),d(),v(o.role.product!=null&&o.role.product.Cost&&o.columnService.columnsToDisplay.UnitCost.selected?8:-1),d(),v(o.role.sell!=null&&o.role.sell.PriceVisible&&o.columnService.columnsToDisplay.UnitPrice.selected?9:-1),d(),v(o.columnService.columnsToDisplay.Percentage.selected?10:-1),d(),v(o.columnService.columnsToDisplay.Weight.selected?11:-1),d(),v(o.columnService.columnsToDisplay.VariantType.selected?12:-1),d(),v(o.columnService.columnsToDisplay.Ratio.selected?13:-1),d(),v(o.columnService.columnsToDisplay.ReferenceUnit.selected?14:-1),d(5),C("disabled",i==0)}}function Zi(r,t){r&1&&b(0,"td")}function Xi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",56),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.UnitCost,n)||(o.setAll.UnitCost=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantField(n,"UnitCost"))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.UnitCost)}}function en(r,t){if(r&1){let e=M();a(0,"td")(1,"input",57),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.UnitPrice,n)||(o.setAll.UnitPrice=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantField(n,"UnitPrice"))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.UnitPrice)}}function tn(r,t){if(r&1){let e=M();a(0,"td")(1,"input",58),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.Discount,n)||(o.setAll.Discount=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantDiscount(n))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.Discount),C("max",100)("min",0)}}function nn(r,t){if(r&1){let e=M();a(0,"td")(1,"input",59),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.Weight,n)||(o.setAll.Weight=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantField(n,"Weight"))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.Weight)}}function on(r,t){r&1&&b(0,"td")}function rn(r,t){r&1&&b(0,"td")}function an(r,t){if(r&1){let e=M();a(0,"div",9)(1,"table",28),g("matSortChange",function(n){_(e);let o=s();return f(o.onSortVariants(n))})("cdkDropListDropped",function(n){_(e);let o=s();return f(o.onDropVariant(n))}),a(2,"thead",29)(3,"tr")(4,"th")(5,"div",30)(6,"button",31),g("click",function(n){return _(e),s().addVariantRow(),f(n.stopPropagation())}),b(7,"i",32),l()()(),a(8,"th",33),p(9,"Variant Name"),l(),h(10,Oi,2,0,"th",34),h(11,Ui,2,0,"th",35),h(12,Li,2,0,"th",36),h(13,Ri,2,0,"th",37),h(14,Ai,2,0,"th",37),h(15,Bi,2,0,"th",37),h(16,$i,2,0,"th",37),h(17,Wi,2,0,"th",38),b(18,"th",39),l()(),a(19,"tbody"),H(20,Ji,21,13,"tr",40,at),l(),a(22,"tfoot")(23,"tr"),b(24,"td",41),h(25,Zi,1,0,"td"),h(26,Xi,2,1,"td"),h(27,en,2,1,"td"),h(28,tn,2,3,"td"),h(29,nn,2,1,"td"),h(30,on,1,0,"td"),h(31,rn,1,0,"td"),b(32,"td"),l()()()()}if(r&2){let e=s();d(10),v(e.columnService.columnsToDisplay.Code.selected?10:-1),d(),v(e.role.product!=null&&e.role.product.Cost&&e.columnService.columnsToDisplay.UnitCost.selected?11:-1),d(),v(e.role.sell!=null&&e.role.sell.PriceVisible&&e.columnService.columnsToDisplay.UnitPrice.selected?12:-1),d(),v(e.columnService.columnsToDisplay.Percentage.selected?13:-1),d(),v(e.columnService.columnsToDisplay.Weight.selected?14:-1),d(),v(e.columnService.columnsToDisplay.VariantType.selected?15:-1),d(),v(e.columnService.columnsToDisplay.Ratio.selected?16:-1),d(),v(e.columnService.columnsToDisplay.ReferenceUnit.selected?17:-1),d(3),j(e.variants()),d(5),v(e.columnService.columnsToDisplay.Code.selected?25:-1),d(),v(e.role.product!=null&&e.role.product.Cost&&e.columnService.columnsToDisplay.UnitCost.selected?26:-1),d(),v(e.role.sell!=null&&e.role.sell.PriceVisible&&e.columnService.columnsToDisplay.UnitPrice.selected?27:-1),d(),v(e.columnService.columnsToDisplay.Percentage.selected?28:-1),d(),v(e.columnService.columnsToDisplay.Weight.selected?29:-1),d(),v(e.columnService.columnsToDisplay.Ratio.selected?30:-1),d(),v(e.columnService.columnsToDisplay.ReferenceUnit.selected?31:-1)}}var Le=class r{service=x(P);variantService=x(oe);columnService=x(oi);role=x($);dialog=x(Z);toastr=x(be);variantInputs;setAll={UnitCost:null,UnitPrice:null,Discount:null,Weight:null};variants=y(()=>this.variantService.variants());product=y(()=>this.service.product());constructor(){this.listenProductVariantType(),this.listenToEditMode()}listenToEditMode(){ie(()=>{let t=this.service.product()?.Variants??[];(this.service.isEditMode()||t.length>0)&&(this.variantService.isMultiple()||this.variantService.isMultiple.set(!0))})}listenProductVariantType(){ie(()=>{let t=this.product()?.VariantTypeID??1;this.variantService.isMultiple.update(e=>!e&&(t==7||t==8)?(this.variantService.variants().length===0&&this.variantService.addVariantRow(),!0):e)})}onToggleMode(t){let e=this.product()?.VariantTypeID;if(this.variantService.isMultiple()&&(e==8||e==7)){this.toastr.warning(`Cannot switch to single variant mode when product variant type is Base Unit or Multiple UOM.
1
+ import{a as Xt,b as ue,c as ii,d as ni,e as oi,f as ri}from"./chunk-FQBOJD3J.js";import{a as Zt}from"./chunk-Q2MH6FUO.js";import{a as ei}from"./chunk-WCOPD6N3.js";import{a as ti}from"./chunk-3PTVMOA6.js";import{a as ai,b as li,c as di,g as si}from"./chunk-FQHQQAJZ.js";import"./chunk-QITN3O4Q.js";import{a as Jt}from"./chunk-H6I3IQAE.js";import{a as zt}from"./chunk-PAPGVZ7T.js";import{b as Ne,c as Yt}from"./chunk-I5YB4XM4.js";import"./chunk-D2UNYCWT.js";import"./chunk-RG65F34V.js";import"./chunk-CLVIHR37.js";import{a as Qt}from"./chunk-54VUHDZ6.js";import"./chunk-DDLXGCOB.js";import"./chunk-YTZPBL5O.js";import{b as St,c as Pt,d as Vt,e as Dt}from"./chunk-DX6RJE57.js";import"./chunk-HT6DSP63.js";import{d as qt}from"./chunk-OQMWV4LA.js";import{a as Kt}from"./chunk-4VRCKWUY.js";import"./chunk-R3DFB5VD.js";import"./chunk-2D4XBF6C.js";import"./chunk-J63OB27M.js";import"./chunk-MPN57TB5.js";import"./chunk-KF3MHC66.js";import"./chunk-KBZZ7PX4.js";import"./chunk-ETGLCIRD.js";import{b as Me,c as Se,d as Pe}from"./chunk-E52TYAOK.js";import{d as Wt,e as Gt}from"./chunk-DP4A7Y5Q.js";import"./chunk-A6AJPSD5.js";import"./chunk-WJGP2CLN.js";import"./chunk-2ZXCNSZZ.js";import{b as Ht,c as jt}from"./chunk-D5H7DMDH.js";import"./chunk-LMI6FIPG.js";import"./chunk-3S3T7QLT.js";import"./chunk-6N2DU4HB.js";import"./chunk-DYQ5CXZF.js";import"./chunk-JLQUTBFH.js";import"./chunk-YHXZO4DY.js";import"./chunk-JEKS3WOF.js";import"./chunk-XKQYXDV6.js";import"./chunk-BACG4SJJ.js";import"./chunk-CQTLBAQD.js";import{a as we}from"./chunk-OFSPPASQ.js";import"./chunk-JFIKQKZJ.js";import"./chunk-N4NZWFKH.js";import"./chunk-D3OAVKSC.js";import"./chunk-XULGDGRO.js";import"./chunk-43NB6BM4.js";import"./chunk-OVEGWW7W.js";import"./chunk-LL4377Z2.js";import"./chunk-GAOYV53E.js";import"./chunk-W6JPMHYE.js";import{a as Tt,b as wt,d as Ve,e as It,f as De,h as Te}from"./chunk-BXA2JYKG.js";import{b as Rt,c as At,f as Bt,g as $t}from"./chunk-TPBK22YK.js";import"./chunk-DFAXUKNB.js";import{a as Ft}from"./chunk-BUHFVOX2.js";import"./chunk-FVUFPTGH.js";import"./chunk-LXFJ7QGK.js";import{a as Ut,b as Lt}from"./chunk-2DWHCM3H.js";import{b as Ot,e as Ie,f as ke}from"./chunk-GREMX4ZK.js";import"./chunk-G7E24J2R.js";import"./chunk-VYA2NFJ5.js";import"./chunk-SH55PTEY.js";import"./chunk-VPS35GPI.js";import"./chunk-UGBMCXS6.js";import{a as w,b as I}from"./chunk-5TTXT2K2.js";import"./chunk-YNQPX5G6.js";import{O as W}from"./chunk-3NJAM5KX.js";import"./chunk-JFJPOKIM.js";import"./chunk-QYSFCWV7.js";import{a as Nt,b as Et,d as X,e as ee}from"./chunk-IEJVBN5K.js";import"./chunk-ZJFJ6CVF.js";import{c as Z,h as kt}from"./chunk-BQPO535K.js";import{a as ce}from"./chunk-HLLBCLO6.js";import"./chunk-4P6SOZDY.js";import"./chunk-XN7T54IM.js";import"./chunk-RULWGB4E.js";import"./chunk-2HIDUY57.js";import{a as K}from"./chunk-U5Y75IZ5.js";import"./chunk-HY3IUHOC.js";import"./chunk-4AEX2WLA.js";import"./chunk-2MELUOYA.js";import"./chunk-WOPE6PPO.js";import{B as bt,E as F,F as xt,c as B,e as xe,h as E,l as ze,o as U,s as yt}from"./chunk-MDIMQ3H3.js";import"./chunk-DSDEJGLO.js";import"./chunk-LWIWXGM5.js";import"./chunk-MWDJTJ3O.js";import{b as $}from"./chunk-G4AV4UPW.js";import{a as V}from"./chunk-3DEA4WWC.js";import"./chunk-HIKBIXFM.js";import{n as be,q as Mt}from"./chunk-TKVDP62Z.js";import{Ad as N,Ba as Ce,Bb as h,Bc as _e,Cc as mt,Db as v,Dc as fe,Eb as at,Ec as qe,F as re,Fa as T,Fb as lt,Gb as H,Ha as ie,Hb as j,Ib as C,J as Ze,Jb as a,Kb as l,Kc as ut,La as tt,Lb as b,Lc as gt,N as He,R as je,Sd as ft,Tc as y,Ua as it,Ub as M,Ud as ht,Vd as ye,Xb as g,Xc as Ct,Xd as vt,Yc as he,Za as d,Zb as s,ba as G,bc as dt,cc as st,dc as ct,eb as nt,ga as A,hc as me,ib as D,jc as q,lc as pt,mc as p,na as ae,nb as ot,nc as O,nd as ve,o as Ye,ob as J,oc as z,p as Y,ra as x,rc as le,sc as de,tc as se,td as _t,u as R,v as Je,va as _,wa as f,xa as Xe,xb as rt,ya as et}from"./chunk-GJDGQISV.js";import"./chunk-WFMAM73Y.js";import{a as m,b as u,k as Qe}from"./chunk-SNAKHGZS.js";var Ee=class{ID;Name;CreatorID;Created;ModifierID;Modified;Description};var P=class r{http=x(Mt);toastr=x(be);processUppy=x(Zt);destroyRef=x(Ce);formulaNameService=x(ei);_productForm=T(null);productForm=this._productForm.asReadonly();product=y(()=>this._productForm()?.Product??null);options=y(()=>this._productForm()?.Options??null);outletStocks=y(()=>this._productForm()?.Product?.OutletStocks??[]);productImages=y(()=>this._productForm()?.Product?.ProductImages??[]);supplierName=y(()=>this._productForm()?.SupplierName??null);maskingFields=y(()=>V.generateMaskingField(this._productForm()?.MaskFields??[]));isValidVariantCode=y(()=>this._productForm()?.CodeRequired?!(this._productForm()?.Product?.Variants??[]).some(e=>V.IsEmpty(e.Code)):!0);nextProductName=y(()=>this._productForm()?.NextProductName??null);productLocations=y(()=>this._productForm()?.Product?.ProductLocations??[]);language=y(()=>this._productForm()?.Language??"Indonesian");isEditMode=y(()=>!V.IsEmpty(this._productForm()?.Product?.ID));productNameMaxCharacter=200;productDescriptionMaxCharacter=3e3;variantNameMaxCharacter=100;loadForm(t={}){return this.http.post(W.ProductForm,t).pipe(A(e=>{let i=V.IsEmpty(e.Product?.ID),n=this.applyCodeSuggestion(e,i);this._productForm.set(n),this.initializeProductLocations(),this.initializeOutletStocks(n.Options?.Entities??[]),this.initializeDefaultCategory(i,n)}))}initializeOutletStocks(t){if(this.isEditMode()==!1){let e=t.map(n=>({EntityID:n.ID,Name:n.Name,OnHand:void 0,MinStock:void 0,MaxStock:void 0})),i=this._productForm()?.Product?.OutletStocks;this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{OutletStocks:i?.length>0?i:e})}))}}initializeProductLocations(){let t=this._productForm()?.ProductLocations;t&&this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{ProductLocations:t})}))}updateProductName(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Name:t})}))}updateProductCode(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Code:t})}))}updateProductCategory(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{CategoryID:t})})),this.updateCodeByCategory(t)}updateProductReleaseDate(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Released:t})}))}updateProductDiscontinue(t){let e=(this._productForm()?.Product?.Variants??[]).map(i=>u(m({},i),{Discontinued:t}));this._productForm.update(i=>u(m({},i),{Product:u(m({},i?.Product),{Discontinued:t,Variants:e})}))}handleVariantTypeUOM(t){let e=t===7||t===8,i=(this._productForm()?.Product?.Variants??[]).map((n,o)=>u(m({},n),{Ratio:e?1:n.Ratio,TypeID:e?o===0?8:7:t}));this.updateProductVariant(i)}updateBaseUnitModelReferences(t,e){if(!t||t.trim()===""||t===e)return;let i=(this._productForm()?.Product?.Variants??[]).map(n=>n.BaseUnitModel===t?u(m({},n),{BaseUnitModel:e}):n);this.updateProductVariant(i)}updateProductBrand(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{BrandID:t})}))}updateProductTag(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{TagIDs:[...t]})}))}updateProductSupplier(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{SupplierID:t})}))}updateProductVariantType(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{VariantTypeID:t})})),this.updateVariantType(t)}updateVariantType(t){let e=this.product()?.Variants??[];e.length>=1&&(t===7||t===8?(e=e.map((i,n)=>(n===0?(i.TypeID=8,i.TypeIdLabel=this.findInventoryTypeLabel(8)):(i.TypeID=7,i.TypeIdLabel=this.findInventoryTypeLabel(7)),i)),this.updateProductVariant(e)):(e=e.map(i=>(i.TypeID=t,i.TypeIdLabel=this.findInventoryTypeLabel(t),i)),this.updateProductVariant(e)))}updateProductSupplierWithName(t,e){this._productForm.update(i=>u(m({},i),{SupplierName:e,Product:u(m({},i?.Product),{SupplierID:t})}))}updateProductNextID(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{NextProductID:t})}))}updateProductDesc(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Description:t})}))}updateProductCurrency(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{CostCurrencyID:t})}))}updateProductImages(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{ProductImages:[...t],ImageUrl:t?.[0]?.URL??null})}))}updateProductVariant(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{Variants:[...t]})}))}updateOutletStocks(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{OutletStocks:[...t]})}))}updateProductVariantValue(t,e){let i=(this._productForm()?.Product?.Variants??[]).map(n=>u(m({},n),{[e]:t}));this.updateProductVariant(i),e==="UnitPrice"&&this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{VariantUnitPrice:t})})),e==="UnitCost"&&this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{VariantUnitCost:t})})),e==="Weight"&&this._productForm.update(n=>u(m({},n),{Product:u(m({},n?.Product),{VariantWeight:t})}))}updateStorageLocation(t,e){let i=this._productForm()?.Product?.ProductLocations??[];V.IsEmpty(t)&&(t=V.GuidEmpty),i.find(o=>o.OutletID===e)?i=i.map(o=>o.OutletID===e?u(m({},o),{StorageID:t}):o):V.IsEmpty(t)||(i=[...i,{OutletID:e,StorageID:t}]),this._productForm.update(o=>u(m({},o),{Product:u(m({},o?.Product),{ProductLocations:i})}))}updateProductUOM(t){this._productForm.update(e=>u(m({},e),{Product:u(m({},e?.Product),{VariantUOM:t})}))}updateNextProductWithName(t,e){this._productForm.update(i=>u(m({},i),{NextProductName:e,Product:u(m({},i?.Product),{NextProductID:t})}))}uploadImages(t){let e=this._productForm()?.CloudinaryFolder??"",i=t.map(({file:n,id:o})=>this.processUppy.uploadFileThroughPreSignedUrl(n,e).pipe(R(c=>({ImageID:o,ImageName:n.name,ImageURL:c.url}))));i.length&&Je(i).pipe(ce(this.destroyRef)).subscribe(n=>{let o=new Set(this.productImages().map(S=>S.ImageID??S.ID)),c=n.filter(S=>!o.has(S.ImageID));this.updateProductImages([...this.productImages(),...c])})}removeImageById(t){let e=this.productImages().filter(i=>(i.ImageID??i.ID)!==t);this.updateProductImages(e)}removeImageByIndex(t){let e=[...this.productImages()];e.splice(t,1),this.updateProductImages(e)}updateCodeByCategory(t){this._productForm()?.ProductCodeByCategory&&this.http.get(W.ProductCodeByCategory,[{key:"ID",value:t}]).pipe(re(e=>V.IsNotEmpty(e.Code)),ce(this.destroyRef)).subscribe(e=>this.updateProductCode(e.Code))}applyCodeSuggestion(t,e){let i=V.IsNotEmpty(t.CodeSuggestion);return e&&i?u(m({},t),{Product:u(m({},t.Product),{Code:t.CodeSuggestion})}):t}initializeDefaultCategory(t,e){let i=V.IsEmpty(e.Product?.CategoryID),n=e.Options?.Categories?.[0]?.key??null;!t||!i||!n||this.updateProductCategory(n)}createNewCategory(t){return this.http.post(W.CreateNewCategory,{name:t,parentID:"undefined"}).pipe(A(()=>this.toastr.success("Category added",K.Success)))}createNewBrand(t){return this.http.post(W.CreateNewBrand,{name:t}).pipe(R(e=>({ID:e.ObjectID,Name:t})),A(e=>{this._productForm.update(i=>u(m({},i),{Options:u(m({},i?.Options),{Brands:[...i?.Options?.Brands??[],e]})})),this.updateProductBrand(e.ID),this.toastr.success("Brand added",K.Success)}))}createNewTag(t){return this.http.post(W.CreateNewTags,{name:t}).pipe(R(e=>({ID:e.ObjectID,Name:t})),A(e=>{let i=new Ee;i.ID=e.ID,i.Name=e.Name,this._productForm.update(n=>u(m({},n),{Options:u(m({},n?.Options),{Tags:[...n?.Options?.Tags??[],i]})})),this.updateProductTag([...this.product()?.TagIDs??[],e.ID]),this.toastr.success("Tag added",K.Success)}))}createNewSupplier(t){let e={contact:t,type:"supplier",groups:t?.Group??[]};return this.http.post(W.CreateNewSupplier,e).pipe(R(i=>({ID:i.ID,Name:t.Name})),A(i=>{this.updateProductSupplier(i.ID),this.toastr.success("Supplier added",K.Success)}))}checkExistNameAndCode(t,e){return this.http.post(W.ProductIsUnique,{Name:t,Code:e,ID:this._productForm()?.Product?.ID??null}).pipe(Ze(()=>Ye({exist:!1})))}showDuplicateNameCodeError(){this.toastr.error("Product name or code already exist",K.Error)}getProductDescSuggestion(t,e){let i={ProductName:this.product()?.Name,CategoryID:this.product()?.CategoryID,Language:t,Keywords:e};return this.http.post(W.GetProductDescSuggestion,i)}updateVariantCodesFromProductCode(t){let e=this._productForm()?.ProductCodeGenerator?.VariantCodeGenerator;if(!e?.Enabled||!t)return;let i=(this._productForm()?.Product?.Variants??[]).map(n=>u(m({},n),{Code:n.Code?n.Code:t+`${e.Separator}${(n.Model??"").slice(0,e.SubstringDigit)}`}));this.updateProductVariant(i)}findInventoryTypeLabel(t){return(this.options()?.Types??[]).find(i=>i.Key===t)?.Value??""}onSave(){let t=this.product();if(!t?.Name)return this.toastr.error("Product name is required",K.Error),Y(()=>new Error("Product name is required"));if(this._productForm()?.CodeRequired&&V.IsEmpty(t?.Code))return this.toastr.error("Product code is required",K.Error),Y(()=>new Error("Product code is required"));if(!this.isValidVariantCode())return this.toastr.warning("Please fill in the code for all variants","Variant Code Required"),Y(()=>new Error("Variant code is required"));if((t?.Name?.length??0)>this.productNameMaxCharacter)return this.toastr.warning(`Product name maximum character is ${this.productNameMaxCharacter}`,"Maximum Character Exceeded"),Y(()=>new Error("Product name exceeds maximum character limit"));if(this.getDescriptionLength(t?.Description)>this.productDescriptionMaxCharacter)return this.toastr.warning(`Product description maximum character is ${this.productDescriptionMaxCharacter}`,"Maximum Character Exceeded"),Y(()=>new Error("Product description exceeds maximum character limit"));if(!this.validateBaseUnitAndMultiUOM())return Y(()=>new Error("Invalid BaseUnit/MultipleUOM configuration"));if(!this.validateVariantNames())return Y(()=>new Error("Duplicate variant names found"));let e=this.prepareProductForSubmit(t);return this.http.post(W.SubmitProduct,e).pipe(A(()=>this.toastr.success("Product saved successfully",K.Success)))}prepareImagesForSubmit(t,e){return(t??[]).map(i=>{let n=i?.URL??"",o="";if(n&&n.includes("crop")){let S=n.split("upload/")[1]??"",k=e?S.split(`/${e}`)[0]:S.split("/")[0];k&&(o=k+"#")}let c=n?n.substring(n.lastIndexOf("/")+1):"";return u(m({},i),{URL:(o||"")+(c??"")})})}prepareProductForSubmit(t){if(!t)return t;let e=this._productForm()?.CloudinaryFolder??"",i=this.prepareImagesForSubmit(t?.ProductImages??[],e);return u(m({},t),{Variants:this.preparedVariantNameBeforeSubmit(t.Name,t.Variants)??[],ProductImages:i,ImageUrl:i[0]?.URL??t?.ImageUrl??null})}preparedVariantNameBeforeSubmit(t,e=[]){let i=this._productForm()?.VariantDisplayNameFormula;return i?e.map(o=>u(m({},o),{Name:this.formulaNameService.generateVariantName(i,t,o.Model??"")})):void 0}validateVariantNames(){let t=this.product()?.Variants??[],e=new Set;for(let i of t){let n=(i.Model??"").trim().toLowerCase();if(!n)continue;let o=(i.Code??"").trim().toLowerCase(),c=`${n}||${o}`;if(e.has(c))return this.toastr.error("Variant name & code combination should be unique!","Duplicate Variant code and name"),!1;e.add(c)}return!0}getDescriptionLength(t){if(!t)return 0;let e=document.createElement("div");return e.innerHTML=t,e.textContent?.length??0}validateBaseUnitAndMultiUOM(){let t=this.product(),e=t?.VariantTypeID===8,i=t?.VariantTypeID===7;if(!e&&!i)return!0;let n=t?.Variants??[],o=n.filter(k=>k.TypeID===8).length,c=n.filter(k=>k.TypeID===7).length,S=o>=1&&c>=1&&o<=1;return S||this.toastr.warning("Ensure there is at least one base unit type and one multi-unit type.","Incomplete Variant Configuration"),S}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ae({token:r,factory:r.\u0275fac})};function Ci(r,t){r&1&&(a(0,"span",6),p(1,"Main"),l())}function _i(r,t){if(r&1){let e=M();a(0,"button",8),g("click",function(){_(e);let n=s().$index,o=s();return f(o.onRemove(n))}),p(1," \xD7 "),l()}}function fi(r,t){if(r&1){let e=M();a(0,"div",3),g("cdkDropListDropped",function(n){_(e);let o=s();return f(o.drop(n))}),a(1,"div",4),g("click",function(n){let o=_(e).$implicit,c=s();return f(c.onZoomImage(o.OnNewFormURL??o.URL,n))}),b(2,"img",5),h(3,Ci,2,0,"span",6),h(4,_i,2,0,"button",7),l()()}if(r&2){let e=t.$implicit,i=t.$index,n=s();C("cdkDropListData",i),d(2),C("src",e.ImageURL||e.ImageUrl||"",it)("alt",e.ImageName||"Product image"),d(),v(i===0?3:-1),d(),v(n.hasRole()?4:-1)}}function hi(r,t){r&1&&(a(0,"div",10),Xe(),a(1,"svg",12),b(2,"rect",13)(3,"circle",14)(4,"polyline",15),l(),et(),a(5,"div",16),p(6,"Upload Image"),l()())}function vi(r,t){r&1&&b(0,"i",11)}function yi(r,t){if(r&1){let e=M();a(0,"div",9),g("click",function(){_(e);let n=s();return f(n.openUploadDialog())}),h(1,hi,7,0,"div",10)(2,vi,1,0,"i",11),l()}if(r&2){let e=s();q("piu-upload-area--full",e.images().length===0)("piu-upload-area--shrink",e.images().length>0)("piu-upload-area--disabled",!e.hasRole())("piu-upload-area--edit-mode",e.service.isEditMode()),C("matTooltip",e.hasRole()?"Click to upload image":"You do not have permission to upload images"),d(),v(e.images().length===0?1:2)}}var Fe=class r{service=x(P);role=x($);dialog=x(Z);bigPicture=x(Jt);images=he([]);maxFile=he(5);cloudinaryFolder=he("");imagesChange=Ct();hasRole=y(()=>this.service.isEditMode()?!!this.role.product?.Edit&&!!this.role.product?.ImageEditor:!!this.role.product?.Create&&!!this.role.product?.ImageEditor);slotAvailable=y(()=>(this.images()?.length??0)<this.maxFile());canUpload=y(()=>this.hasRole()&&this.slotAvailable());onRemove(t){let e=[...this.images()||[]];e.splice(t,1),this.service.updateProductImages(e)}openUploadDialog(){if(!this.canUpload())return;let t=this.service.productForm();this.dialog.open(Xt,{data:{currentProductImagesLength:this.images()?.length??0,CloudinaryFolder:t?.CloudinaryFolder??"",productID:t?.Product?.ID??null}}).afterClosed().subscribe(i=>{if(i?.length){let n=[...this.images()||[],...i];this.service.updateProductImages(n)}})}onZoomImage(t,e){return Qe(this,null,function*(){this.bigPicture.openBiggerPicture(e,t)})}drop(t){let e=[...this.images()||[]];Tt(e,t.previousContainer.data,t.container.data),this.service.updateProductImages(e)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-product-image-upload"]],inputs:{images:[1,"images"],maxFile:[1,"maxFile"],cloudinaryFolder:[1,"cloudinaryFolder"]},outputs:{imagesChange:"imagesChange"},decls:4,vars:1,consts:[["cdkDropListGroup","",1,"d-flex","flex-wrap","gap-2","align-items-start","w-100"],["cdkDropList","","cdkDropListOrientation","horizontal",3,"cdkDropListData"],[1,"piu-upload-area",3,"matTooltip","piu-upload-area--full","piu-upload-area--shrink","piu-upload-area--disabled","piu-upload-area--edit-mode"],["cdkDropList","","cdkDropListOrientation","horizontal",3,"cdkDropListDropped","cdkDropListData"],["cdkDrag","",1,"piu-preview-item","cursor-pointer",3,"click"],[3,"src","alt"],[1,"piu-main-badge"],["type","button","aria-label","Remove image",1,"piu-remove-btn"],["type","button","aria-label","Remove image",1,"piu-remove-btn",3,"click"],[1,"piu-upload-area",3,"click","matTooltip"],[1,"text-center"],["aria-hidden","true",1,"fa-thin","fa-plus","fa-2x",2,"color","#9ca3af"],["xmlns","http://www.w3.org/2000/svg","width","32","height","32","viewBox","0 0 24 24","fill","none","stroke","#9ca3af","stroke-width","1.5","stroke-linecap","round","stroke-linejoin","round"],["x","3","y","3","width","18","height","18","rx","2"],["cx","8.5","cy","8.5","r","1.5"],["points","21 15 16 10 5 21"],[1,"piu-upload-label","mt-1","fs-6","text-muted"]],template:function(e,i){e&1&&(a(0,"div",0),H(1,fi,5,5,"div",1,lt),h(3,yi,3,10,"div",2),l()),e&2&&(d(),j(i.images()),d(2),v(i.slotAvailable()?3:-1))},dependencies:[N,I,w,Te,De,It,Ve],styles:[".piu-preview-item[_ngcontent-%COMP%]{position:relative;width:125px;height:125px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;flex-shrink:0}.piu-preview-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block}.piu-preview-item[_ngcontent-%COMP%] .piu-main-badge[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;background:#0b5ed7d1;color:#fff;font-size:.6rem;font-weight:600;text-align:center;padding:2px 0;letter-spacing:.04em}.piu-preview-item[_ngcontent-%COMP%] .piu-remove-btn[_ngcontent-%COMP%]{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:none;background:#dc2626d9;color:#fff;font-size:.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.piu-preview-item[_ngcontent-%COMP%]:hover .piu-remove-btn[_ngcontent-%COMP%]{opacity:1}.piu-upload-area[_ngcontent-%COMP%]{border:1.5px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s}.piu-upload-area[_ngcontent-%COMP%]:hover{border-color:#9ca3af;background:#f3f4f6}.piu-upload-area--full[_ngcontent-%COMP%]{width:100%;min-height:160px;flex-direction:column;gap:.25rem}.piu-upload-area--edit-mode[_ngcontent-%COMP%]{min-height:125px}.piu-upload-area--shrink[_ngcontent-%COMP%]{width:125px;height:125px;flex-shrink:0}.piu-upload-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:#374151}.piu-upload-hint[_ngcontent-%COMP%]{font-size:12px;color:#9ca3af}.piu-upload-area--disabled[_ngcontent-%COMP%]{opacity:.45;cursor:not-allowed}"],changeDetection:0})};function bi(r,t){r&1&&(a(0,"a",10),b(1,"i",19),l()),r&2&&C("matTooltipPositionAtOrigin",!0)}function xi(r,t){r&1&&(a(0,"div",11),p(1," Code is required "),l())}function Mi(r,t){if(r&1){let e=M();a(0,"POS-product-category-select",20),g("selectedCategoryIDChange",function(n){_(e);let o=s();return f(o.onCategoryChange(n))}),l()}if(r&2){let e,i=s();C("isInitializedCategoryLabel",!0)("selectedCategoryID",i.categoryID())("categories",(e=i.options())==null?null:e.Categories)}}var Oe=class r{service=x(P);roleService=x($);dialog=x(Z);treeSelector=x(Wt);destroyRef=x(Ce);productCode=y(()=>this.service.product()?.Code??null);isCodeRequired=y(()=>this.service.productForm()?.CodeRequired??!1);options=y(()=>this.service?.options()??null);maxNameLength=200;categoryID=y(()=>this.service.product()?.CategoryID??null);images=y(()=>this.service.productImages());cloudinaryFolder=y(()=>this.service.productForm()?.CloudinaryFolder??"");maxFile=5;productNameCtrl=new ze(null,xe.required);productCodeCtrl=new ze(null);constructor(){this.initCodeValidators(),ie(()=>{let t=this.productCode();this.productCodeCtrl.value!==t&&this.productCodeCtrl.setValue(t,{emitEvent:!1})}),ie(()=>{let t=this.service.product()?.Name??null,e=this.productNameCtrl.value;V.IsEmpty(e)&&V.IsNotEmpty(t)&&this.productNameCtrl.setValue(t,{emitEvent:!1})})}initCodeValidators(){ie(()=>{this.isCodeRequired()?this.productCodeCtrl.addValidators(xe.required):this.productCodeCtrl.removeValidators(xe.required),this.productCodeCtrl.updateValueAndValidity({emitEvent:!1})})}ngOnInit(){this.productNameCtrl.valueChanges.pipe(R(t=>(t??"").toString().trim()),je(),He(300),A(t=>this.service.updateProductName(t)),G(t=>this.service.checkExistNameAndCode(t,this.productCodeCtrl.value??"")),ce(this.destroyRef)).subscribe(t=>{t?.exist&&this.service.showDuplicateNameCodeError()}),this.productCodeCtrl.valueChanges.pipe(R(t=>(t??"").toString()),je(),He(300),G(t=>this.service.checkExistNameAndCode(this.productNameCtrl.value??"",t).pipe(A(e=>{e?.exist?this.service.showDuplicateNameCodeError():this.service.updateVariantCodesFromProductCode(t)}),R(()=>t))),ce(this.destroyRef)).subscribe(t=>this.service.updateProductCode(t??""))}onCategoryChange(t){this.service.updateProductCategory(t)}openAddCategoryDialog(){this.dialog.open(ue,{data:{form:{Name:null,Status:"Category"}}}).afterClosed().subscribe(e=>{e?.Name&&this.service.createNewCategory(e.Name).subscribe(i=>{i?.key&&this.service.updateProductCategory(i.key),this.treeSelector.forceLoadCategories()})})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-general-card"]],decls:27,vars:16,consts:[[1,"card","mb-12"],[1,"card-body"],[1,"d-flex","flex-column","gap-10"],["for","productName",1,"mb-2"],["placeholder","Long pants jeans","errorMessage","Name is required","id","productName","trimInput","",3,"autofocus","formControl","inputName","maxlength","valid","floatingLabel"],[1,"row","g-3"],[1,"col-6"],["for","productCode",1,"mb-2"],[1,"position-relative"],["id","productCode","type","text","disallowSpaces","","placeholder","VAR-0001","matTooltip","Stock Keeping Unit (SKU) Code","matTooltipPosition","above",1,"form-control",3,"formControl"],["routerLink","/menu/Settings/Module/Product","fragment","productCodeGeneratorProduct","target","_blank","matTooltip","Click here to enable or disable auto-generation of Code","matTooltipPosition","above","tabindex","-1",1,"pointer","text-dark","position-absolute",2,"top","50%","right","10px","transform","translateY(-50%)",3,"matTooltipPositionAtOrigin"],["aria-hidden","true",1,"invalid-feedback"],["for","categorySelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Category","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"],[1,"gc-category-wrap"],["placeholder","Select Category","id","categorySelect",3,"isInitializedCategoryLabel","selectedCategoryID","categories"],["for","productImageUpload",1,"mb-2"],[1,"text-muted"],["id","productImageUpload",3,"images","maxFile","cloudinaryFolder"],[1,"fa-solid","fa-gear","fa-lg"],["placeholder","Select Category","id","categorySelect",3,"selectedCategoryIDChange","isInitializedCategoryLabel","selectedCategoryID","categories"]],template:function(e,i){if(e&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"div")(4,"label",3),p(5,"Product Name"),l(),b(6,"POS-input-limit",4),l(),a(7,"div",5)(8,"div",6)(9,"label",7),p(10,"Product Code"),l(),a(11,"div",8),b(12,"input",9),h(13,bi,2,1,"a",10),h(14,xi,2,0,"div",11),l()(),a(15,"div",6)(16,"label",12),p(17," Category "),a(18,"i",13),g("click",function(){return i.openAddCategoryDialog()}),l()(),a(19,"div",14),h(20,Mi,1,3,"POS-product-category-select",15),l()()(),a(21,"div")(22,"label",16),p(23,"Product Image "),a(24,"span",17),p(25),l()(),b(26,"POS-product-image-upload",18),l()()()()),e&2){let n;d(6),C("autofocus",!0)("formControl",i.productNameCtrl)("inputName","productName")("maxlength",i.service.productNameMaxCharacter)("valid",i.productNameCtrl.touched&&i.productNameCtrl.invalid)("floatingLabel",!1),d(6),q("is-invalid",i.productCodeCtrl.touched&&i.productCodeCtrl.invalid),C("formControl",i.productCodeCtrl),d(),v(i.roleService.setup.View&&i.productCodeCtrl.valid?13:-1),d(),v(i.productCodeCtrl.touched&&i.productCodeCtrl.invalid?14:-1),d(6),v((n=i.options())!=null&&n.Categories?20:-1),d(5),z("(",i.images().length,"/5)"),d(),C("images",i.images())("maxFile",i.maxFile)("cloudinaryFolder",i.cloudinaryFolder())}},dependencies:[F,B,E,bt,xt,yt,I,w,ye,Fe,ii,Gt,ti,Ne],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] input[_ngcontent-%COMP%]{font-size:.75rem}[_nghost-%COMP%] label[_ngcontent-%COMP%]{font-size:.813rem}.card[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.gc-section-title[_ngcontent-%COMP%]{color:#374151;border-bottom-color:#eef2f5!important}.gc-label[_ngcontent-%COMP%]{color:#374151}#productCode[_ngcontent-%COMP%]{height:2.375rem;border-radius:.25rem!important;padding:.375rem .75rem!important} .input-limit-container .input-core{height:2.375rem;border-radius:.25rem!important;padding:.375rem .75rem!important;font-size:.75rem} pos-input-limit .limit-preview, .input-limit-container .limit-preview{top:3px!important;transform:none!important}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect{height:2.375rem;align-items:center;border-radius:.25rem;border:1px solid #dee2e6;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect.p-focus, .gc-category-wrap[_ngcontent-%COMP%] .p-treeselect.p-overlay-open{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-label{font-size:.75rem;padding:.375rem .75rem;line-height:1.5}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown{background:transparent!important;border:none!important;box-shadow:none!important;width:2rem;padding:0;display:flex;align-items:center;justify-content:center}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown .p-treeselect-dropdown-icon, .gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown svg{display:none!important}.gc-category-wrap[_ngcontent-%COMP%] .p-treeselect .p-treeselect-dropdown:after{content:"";border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0}'],changeDetection:0})};var Pi=r=>({"pb-9":r});function Vi(r,t){if(r&1){let e=M();a(0,"div",2)(1,"label",15),p(2," Type "),a(3,"a",16),b(4,"i",17),l()(),a(5,"ng-select",18),g("ngModelChange",function(n){_(e);let o=s();return f(o.onTypeChange(n))}),l()()}if(r&2){let e,i,n=s();d(5),C("items",(e=n.options())==null?null:e.Types)("clearable",!1)("ngModel",(i=n.product())==null?null:i.VariantTypeID)("disabled",n.service.isEditMode())}}function Di(r,t){if(r&1){let e=M();a(0,"i",19),g("click",function(){_(e);let n=s();return f(n.openSupplierDialog())}),l()}}var Ue=class r{service=x(P);dialog=x(Z);options=y(()=>this.service.options());product=y(()=>this.service.product());supplierName=y(()=>this.service.supplierName());roleService=x($);maskingFields=y(()=>this.service.maskingFields());maskingFieldMsg=Ot.maskingField;statusOptions=[{Key:!1,Value:"Active"},{Key:!0,Value:"Discontinued"}];onTypeChange(t){this.service.updateProductVariantType(t),this.service.handleVariantTypeUOM(t)}onBrandChange(t){this.service.updateProductBrand(t)}onTagsChange(t){this.service.updateProductTag(t??[])}onStatusChange(t){this.service.updateProductDiscontinue(t)}onSupplierSelected(t){let{Key:e,Value:i}=JSON.parse(t);this.service.updateProductSupplierWithName(e,i)}openBrandDialog(){this.dialog.open(ue,{data:{form:{Name:null,Status:"Brand"}}}).afterClosed().pipe(G(t=>t?.Name?this.service.createNewBrand(t.Name):[])).subscribe()}openTagDialog(){this.dialog.open(ue,{data:{form:{Name:null,Status:"Tag"}}}).afterClosed().pipe(G(t=>t?.Name?this.service.createNewTag(t.Name):[])).subscribe()}openSupplierDialog(){this.dialog.open(Yt,{data:{options:{Genders:[{Key:0,Value:"Male"},{Key:1,Value:"Female"}]},config:{DefaultValue:{Gender:0}},type:"supplier",title:"New Supplier Form"}}).afterClosed().pipe(re(t=>V.IsNotEmpty(t?.supplier?.Name)),G(t=>this.service.createNewSupplier(t.supplier))).subscribe(t=>{this.service.updateProductSupplierWithName(t.ID,t.Name)})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-properties-card"]],decls:23,vars:23,consts:[[1,"card","mb-12"],[1,"card-body"],[1,"mb-6"],["for","supplierSelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Supplier","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer"],["pOSFormOrFloatingOnMasked","",1,"position-relative","w-100",3,"label","value","isMasked"],["id","supplierSelect","customLabel","Supplier","placeholder","Supplier","requestUrl","/API/AC/GetSupplierSuggestion","matTooltipPosition","above",1,"w-100",3,"optionSelected","customStyle","ngModel","inputTextValue","matTooltip","disabled"],["for","brandSelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Brand","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"],["id","brandSelect","bindLabel","Name","bindValue","ID","matTooltip","Select brand for this product","matTooltipPosition","above",1,"productform","w-100",3,"ngModelChange","items","clearable","ngModel"],["for","tagsSelect",1,"mb-2","d-flex","align-items-center","gap-1"],["matTooltip","Add New Tag","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"],["id","tagsSelect","fluid","","display","chip","optionLabel","Name","optionValue","ID","matTooltip","Select tags for this product","matTooltipPosition","above",3,"ngModelChange","showClear","options","ngModel"],["for","statusSelect",1,"mb-2"],["id","statusSelect","bindLabel","Value","bindValue","Key","matTooltip","Set product status","matTooltipPosition","above",1,"productform","w-100",3,"ngModelChange","items","clearable","ngModel"],["for","typeSelect",1,"ms-2mb-2","d-flex","align-items-center","gap-1"],["href","https://support.dealpos.com/en/articles/15050371-product-type-in-dealpos","target","_blank","matTooltip","Read in Help Center","matTooltipPosition","above",1,"text-decoration-none"],[1,"fa-light","fa-circle-info","text-dark"],["id","typeSelect","bindLabel","Value","bindValue","Key","matTooltip","Choose product type","matTooltipPosition","above",1,"productform","w-100",3,"ngModelChange","items","clearable","ngModel","disabled"],["matTooltip","Add New Supplier","matTooltipPosition","above",1,"fa-sharp","fa-thin","fa-circle-plus","cursor-pointer",3,"click"]],template:function(e,i){if(e&1&&(a(0,"div",0)(1,"div",1),h(2,Vi,6,4,"div",2),a(3,"div",2)(4,"label",3),p(5," Supplier "),h(6,Di,1,0,"i",4),l(),a(7,"div",5)(8,"autocompleteV2",6),g("optionSelected",function(o){return i.onSupplierSelected(o)}),l()()(),a(9,"div",2)(10,"label",7),p(11," Brand "),a(12,"i",8),g("click",function(){return i.openBrandDialog()}),l()(),a(13,"ng-select",9),g("ngModelChange",function(o){return i.onBrandChange(o)}),l()(),a(14,"div",2)(15,"label",10),p(16," Tags "),a(17,"i",11),g("click",function(){return i.openTagDialog()}),l()(),a(18,"p-multiselect",12),g("ngModelChange",function(o){return i.onTagsChange(o)}),l()(),a(19,"div",2)(20,"label",13),p(21,"Status"),l(),a(22,"ng-select",14),g("ngModelChange",function(o){return i.onStatusChange(o)}),l()()()()),e&2){let n,o,c,S,k,te;pt(fe(21,Pi,i.service.isEditMode())),d(2),v(i.service.isEditMode()?-1:2);let Ge=i.maskingFields().SupplierName&&!i.roleService.global.SensitiveField;d(4),v(Ge?-1:6),d(),C("label","Supplier")("value",i.supplierName())("isMasked",Ge),d(),C("customStyle",!0)("ngModel",(n=i.product())==null?null:n.SupplierID)("inputTextValue",i.supplierName())("matTooltip",Ge?i.maskingFieldMsg:"Input supplier for this product")("disabled",i.maskingFields().SupplierName&&!i.roleService.global.SensitiveField),d(5),C("items",(o=i.options())==null?null:o.Brands)("clearable",!0)("ngModel",(c=i.product())==null?null:c.BrandID),d(5),C("showClear",!0)("options",(S=i.options())==null?null:S.Tags)("ngModel",(k=i.product())==null?null:k.TagIDs),d(4),C("items",i.statusOptions)("clearable",!1)("ngModel",(te=i.product())==null?null:te.Discontinued)}},dependencies:[F,E,U,I,w,ee,X,jt,Ht,ke,Ie,ri],styles:['label[_ngcontent-%COMP%]{font-size:.813rem}[_nghost-%COMP%] .productform.ng-select .ng-select-container{border-color:#dee2e6;min-height:2.375rem}[_nghost-%COMP%] .productform.ng-select.ng-select-single .ng-select-container{height:2.375rem}[_nghost-%COMP%] .productform.ng-select input{padding-top:0!important}[_nghost-%COMP%] .productform.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}[_nghost-%COMP%] .p-multiselect{min-height:2.375rem;border-radius:.25rem;border:1px solid #dee2e6;align-items:center;width:100%}[_nghost-%COMP%] .p-multiselect.p-focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}[_nghost-%COMP%] .p-multiselect .p-multiselect-label{font-size:.75rem;padding:.375rem .75rem}[_nghost-%COMP%] .p-multiselect .p-multiselect-clear-icon{width:10px;font-weight:700}[_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown{background:transparent!important;border:none!important;box-shadow:none!important;width:2rem;padding:0;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown .p-multiselect-dropdown-icon, [_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown svg{display:none!important}[_nghost-%COMP%] .p-multiselect .p-multiselect-dropdown:after{content:"";border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0}[_nghost-%COMP%] autocompleteV2{display:block}[_nghost-%COMP%] autocompleteV2 .mat-mdc-text-field-wrapper{height:2.375rem;padding:0!important;border:1px solid #dee2e6!important;border-radius:.25rem!important;background:#fff!important}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-flex{height:100%;padding:0 .75rem!important;align-items:center}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;min-height:unset!important;width:100%;display:flex;align-items:center}[_nghost-%COMP%] autocompleteV2 label{display:none!important}[_nghost-%COMP%] autocompleteV2 input.form-control{box-shadow:none!important;height:2.375rem;font-size:.75rem}[_nghost-%COMP%] autocompleteV2 .mdc-line-ripple{display:none}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-subscript-wrapper{display:none}[_nghost-%COMP%] autocompleteV2:focus-within .mat-mdc-text-field-wrapper{border-color:#86b7fe!important;box-shadow:0 0 0 .25rem #0d6efd40!important}'],changeDetection:0})};var oe=class r{productFormService=x(P);product=y(()=>this.productFormService.product());variants=y(()=>this.productFormService.product()?.Variants??[]);isMultiple=T(!1);isMultipleWithEmptyVariant=y(()=>this.isMultiple()&&this.variants().some(t=>(t.Model??"").trim().length===0));update(t){let e=[...this.variants()||[]],i=t(e);this.productFormService.updateProductVariant(i)}addVariantRow(){let t=this.createNewVariant();this.update(e=>[...e,t])}productType=y(()=>{let t=this.product()?.VariantTypeID??1,e=this.productFormService.options()?.Types??[],i=this.variants();if(t===8||t===7)if(i.length>0){let n=i[0],o=e.find(c=>c.Key===7);if(n.TypeID===8)return o}else return e.find(o=>o.Key===8);else return e.find(o=>o.Key===t)});createNewVariant(){let t=this.productType(),e={ID:"",Model:"",Name:this.product()?.Name??"",Code:"",UnitCost:0,UnitPrice:0,Discount:0,Weight:0,TypeID:t?.Key??1,TypeIdLabel:t?.Value??"",Ratio:1,UnitQuantity:1,Discontinued:!1,ActivePromotionCount:0,Components:null,BaseUnitModel:null,Invalid:!1},i=this.product()?.ID??null;return i&&i!==V.GuidEmpty?(e.ProductID=i,e.CostCurrencyID=this.productFormService.product()?.CostCurrencyID??1,e.PriceCurrencyID=this.productFormService.product()?.PriceCurrencyID??1):e.ProductID=V.GuidEmpty,e}updateVariantField(t,e,i){this.update(n=>{let o=[...n],c=u(m({},o[t]),{[e]:i});return e==="Model"&&(c.Code=this.generateVariantCodeConfig(c)),c.Invalid=this.checkNameCodeUnique(t,c.Model,c.Code),o[t]=c,o})}checkNameCodeUnique(t,e,i){let n=this.variants(),o=new Set(n.map((k,te)=>te!==t?this.trimAndTolower(k.Code):null)),c=this.trimAndTolower(i);return o.has(c)}trimAndTolower(t=""){return t?.trim()?.toLowerCase()}replaceVariant(t,e){this.variants()[t].TypeID!=e.TypeID&&this.updateVariantType(e.TypeID,t),this.update(n=>{let o=[...n];o[t]=m({},e);let c=o[t].Code??"";return V.IsEmpty(c)&&(o[t].Code=this.generateVariantCodeConfig(o[t])),o})}updateVariantType(t,e){(t===7||t===8)&&this.update(i=>{let n=[...i];return n=n.map((o,c)=>(t==8?(o.TypeID=c!=e?7:8,o.TypeIdLabel=this.productFormService.findInventoryTypeLabel(o.TypeID)):e!=0?(o.TypeID=c==0?8:7,o.TypeIdLabel=this.productFormService.findInventoryTypeLabel(o.TypeID)):(o.TypeID=c!=e?7:8,o.TypeIdLabel=this.productFormService.findInventoryTypeLabel(o.TypeID)),o)),n})}removeVariantByIndex(t){this.update(e=>e.filter((i,n)=>n!==t))}clearVariants(){this.productFormService.updateProductVariant([])}sortVariants(t,e){e&&this.update(i=>[...i].sort((o,c)=>{let S=o[t]??"",k=c[t]??"",te=typeof S=="number"?S-k:String(S).localeCompare(String(k));return e==="asc"?te:-te}))}reorderVariants(t,e){this.update(i=>{let n=[...i],[o]=n.splice(t,1);return n.splice(e,0,o),n})}updateAllVariantDiscount(t){this.update(e=>e.map(i=>u(m({},i),{Discount:t})))}generateVariantCodeConfig(t){let e=t.Code??"",i=this.productFormService.productForm()?.ProductCodeGenerator?.VariantCodeGenerator,n=this.productFormService.product()?.Code??"";return i?.Enabled&&n&&(e=`${n}${i.Separator??""}${t.Model.slice(0,i.SubstringDigit)}`),e}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ae({token:r,factory:r.\u0275fac})};var wi=["variantInput"],pi=(r,t)=>({"btn-primary":r,"btn-outline-secondary":t}),Ii=(r,t)=>t.key;function ki(r,t){if(r&1){let e=M();a(0,"li",14)(1,"div",15),g("click",function(n){return n.stopPropagation()}),a(2,"p-checkbox",16),se("ngModelChange",function(n){let o=_(e).$implicit;return de(o.selected,n)||(o.selected=n),f(n)}),g("onChange",function(){let n=_(e).$implicit,o=s(2);return f(o.columnService.toggleColumn(n.key))}),l(),a(3,"label",17),p(4),l()()()}if(r&2){let e=t.$implicit;d(2),le("ngModel",e.selected),C("binary",!0)("inputId","vcol-"+e.key),d(),C("for","vcol-"+e.key),d(),z(" ",e.name??e.key," ")}}function Ni(r,t){if(r&1&&(a(0,"div",4)(1,"div",10),b(2,"i",11),l(),a(3,"ul",12)(4,"div",13)(5,"h6"),p(6,"Columns to View"),l()(),H(7,ki,5,5,"li",14,Ii),l()()),r&2){let e=s();d(7),j(e.columnService.getAvailableColumns(!0))}}function Ei(r,t){if(r&1){let e=M();a(0,"div",5)(1,"button",18),g("click",function(){_(e);let n=s();return f(n.onToggleMode(!1))}),b(2,"i",19),p(3," Single "),l(),a(4,"button",18),g("click",function(){_(e);let n=s();return f(n.onToggleMode(!0))}),b(5,"i",20),p(6," Multiple "),l()()}if(r&2){let e=s();d(),C("ngClass",qe(2,pi,!e.variantService.isMultiple(),e.variantService.isMultiple())),d(3),C("ngClass",qe(5,pi,e.variantService.isMultiple(),!e.variantService.isMultiple()))}}function Fi(r,t){if(r&1){let e=M();a(0,"div",8)(1,"div",21)(2,"label",22),p(3,"Buying Cost"),l(),a(4,"input",23),g("ngModelChange",function(n){_(e);let o=s();return f(o.service.updateProductVariantValue(n,"UnitCost"))}),l()(),a(5,"div",21)(6,"label",24),p(7,"Selling Price"),l(),a(8,"input",25),g("ngModelChange",function(n){_(e);let o=s();return f(o.service.updateProductVariantValue(n,"UnitPrice"))}),l()(),a(9,"div",21)(10,"label",26),p(11,"Weight (gr)"),l(),a(12,"input",27),g("ngModelChange",function(n){_(e);let o=s();return f(o.service.updateProductVariantValue(n,"Weight"))}),l()()()}if(r&2){let e,i,n,o=s();d(4),C("ngModel",(e=o.product())==null?null:e.VariantUnitCost),d(4),C("ngModel",(i=o.product())==null?null:i.VariantUnitPrice),d(4),C("ngModel",(n=o.product())==null?null:n.VariantWeight)}}function Oi(r,t){r&1&&(a(0,"th",34),p(1,"Code"),l())}function Ui(r,t){r&1&&(a(0,"th",35),p(1," Cost "),l())}function Li(r,t){r&1&&(a(0,"th",36),p(1," Price "),l())}function Ri(r,t){r&1&&(a(0,"th",37),p(1,"Discount %"),l())}function Ai(r,t){r&1&&(a(0,"th",37),p(1,"Weight (gr)"),l())}function Bi(r,t){r&1&&(a(0,"th",37),p(1,"Type"),l())}function $i(r,t){r&1&&(a(0,"th",37),p(1,"Ratio"),l())}function Wi(r,t){r&1&&(a(0,"th",38),p(1,"Reference Unit"),l())}function Gi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",53,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"Code",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"Code"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),q("is-invalid",i.Invalid),C("id","v-"+n+"-Code")("ngModel",i.Code)}}function Hi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",54,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"UnitCost",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"UnitCost"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-UnitCost")("ngModel",i.UnitCost)}}function ji(r,t){if(r&1){let e=M();a(0,"td")(1,"input",54,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"UnitPrice",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"UnitPrice"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-UnitPrice")("ngModel",i.UnitPrice)}}function qi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",55,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"Discount",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"Discount"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-Discount")("ngModel",i.Discount)("max",100)("min",0)}}function zi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",54,0),g("ngModelChange",function(n){_(e);let o=s().$index,c=s(2);return f(c.updateVariantField(o,"Weight",n))})("keydown.enter",function(n){_(e);let o=s().$index,c=s(2);return f(c.onVariantEnter(n,o,"Weight"))}),l()()}if(r&2){let e=s(),i=e.$implicit,n=e.$index;d(),C("id","v-"+n+"-Weight")("ngModel",i.Weight)}}function Ki(r,t){if(r&1&&(a(0,"td",47),p(1),l()),r&2){let e=s().$implicit;d(),O(e.TypeIdLabel)}}function Qi(r,t){if(r&1&&(a(0,"td",47),p(1),l()),r&2){let e=s().$implicit;d(),O(e.Ratio)}}function Yi(r,t){if(r&1&&(a(0,"td"),p(1),l()),r&2){let e=s().$implicit;d(),O(e.BaseUnitModel)}}function Ji(r,t){if(r&1){let e=M();a(0,"tr",42)(1,"td",43)(2,"button",44),b(3,"i",45),l()(),a(4,"td")(5,"input",46,0),g("ngModelChange",function(n){let o=_(e).$index,c=s(2);return f(c.updateVariantField(o,"Model",n))})("keydown.enter",function(n){let o=_(e).$index,c=s(2);return f(c.onVariantEnter(n,o,"Model"))}),l()(),h(7,Gi,3,4,"td"),h(8,Hi,3,2,"td"),h(9,ji,3,2,"td"),h(10,qi,3,4,"td"),h(11,zi,3,2,"td"),h(12,Ki,2,1,"td",47),h(13,Qi,2,1,"td",47),h(14,Yi,2,1,"td"),a(15,"td",43)(16,"div",48)(17,"button",49),g("click",function(){let n=_(e),o=n.$implicit,c=n.$index,S=s(2);return f(S.onEditVariant(o,c))}),b(18,"i",50),l(),a(19,"button",51),g("click",function(n){let o=_(e).$index,c=s(2);return f(c.removeVariantByIndex(o,n))}),b(20,"i",52),l()()()()}if(r&2){let e=t.$implicit,i=t.$index,n=t.$index,o=s(2);q("bg-gradient-warning",e.Discontinued),d(5),C("id","v-"+n+"-Model")("ngModel",e.Model),d(2),v(o.columnService.columnsToDisplay.Code.selected?7:-1),d(),v(o.role.product!=null&&o.role.product.Cost&&o.columnService.columnsToDisplay.UnitCost.selected?8:-1),d(),v(o.role.sell!=null&&o.role.sell.PriceVisible&&o.columnService.columnsToDisplay.UnitPrice.selected?9:-1),d(),v(o.columnService.columnsToDisplay.Percentage.selected?10:-1),d(),v(o.columnService.columnsToDisplay.Weight.selected?11:-1),d(),v(o.columnService.columnsToDisplay.VariantType.selected?12:-1),d(),v(o.columnService.columnsToDisplay.Ratio.selected?13:-1),d(),v(o.columnService.columnsToDisplay.ReferenceUnit.selected?14:-1),d(5),C("disabled",i==0)}}function Zi(r,t){r&1&&b(0,"td")}function Xi(r,t){if(r&1){let e=M();a(0,"td")(1,"input",56),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.UnitCost,n)||(o.setAll.UnitCost=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantField(n,"UnitCost"))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.UnitCost)}}function en(r,t){if(r&1){let e=M();a(0,"td")(1,"input",57),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.UnitPrice,n)||(o.setAll.UnitPrice=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantField(n,"UnitPrice"))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.UnitPrice)}}function tn(r,t){if(r&1){let e=M();a(0,"td")(1,"input",58),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.Discount,n)||(o.setAll.Discount=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantDiscount(n))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.Discount),C("max",100)("min",0)}}function nn(r,t){if(r&1){let e=M();a(0,"td")(1,"input",59),se("ngModelChange",function(n){_(e);let o=s(2);return de(o.setAll.Weight,n)||(o.setAll.Weight=n),f(n)}),g("ngModelChange",function(n){_(e);let o=s(2);return f(o.updateAllVariantField(n,"Weight"))}),l()()}if(r&2){let e=s(2);d(),le("ngModel",e.setAll.Weight)}}function on(r,t){r&1&&b(0,"td")}function rn(r,t){r&1&&b(0,"td")}function an(r,t){if(r&1){let e=M();a(0,"div",9)(1,"table",28),g("matSortChange",function(n){_(e);let o=s();return f(o.onSortVariants(n))})("cdkDropListDropped",function(n){_(e);let o=s();return f(o.onDropVariant(n))}),a(2,"thead",29)(3,"tr")(4,"th")(5,"div",30)(6,"button",31),g("click",function(n){return _(e),s().addVariantRow(),f(n.stopPropagation())}),b(7,"i",32),l()()(),a(8,"th",33),p(9,"Variant Name"),l(),h(10,Oi,2,0,"th",34),h(11,Ui,2,0,"th",35),h(12,Li,2,0,"th",36),h(13,Ri,2,0,"th",37),h(14,Ai,2,0,"th",37),h(15,Bi,2,0,"th",37),h(16,$i,2,0,"th",37),h(17,Wi,2,0,"th",38),b(18,"th",39),l()(),a(19,"tbody"),H(20,Ji,21,13,"tr",40,at),l(),a(22,"tfoot")(23,"tr"),b(24,"td",41),h(25,Zi,1,0,"td"),h(26,Xi,2,1,"td"),h(27,en,2,1,"td"),h(28,tn,2,3,"td"),h(29,nn,2,1,"td"),h(30,on,1,0,"td"),h(31,rn,1,0,"td"),b(32,"td"),l()()()()}if(r&2){let e=s();d(10),v(e.columnService.columnsToDisplay.Code.selected?10:-1),d(),v(e.role.product!=null&&e.role.product.Cost&&e.columnService.columnsToDisplay.UnitCost.selected?11:-1),d(),v(e.role.sell!=null&&e.role.sell.PriceVisible&&e.columnService.columnsToDisplay.UnitPrice.selected?12:-1),d(),v(e.columnService.columnsToDisplay.Percentage.selected?13:-1),d(),v(e.columnService.columnsToDisplay.Weight.selected?14:-1),d(),v(e.columnService.columnsToDisplay.VariantType.selected?15:-1),d(),v(e.columnService.columnsToDisplay.Ratio.selected?16:-1),d(),v(e.columnService.columnsToDisplay.ReferenceUnit.selected?17:-1),d(3),j(e.variants()),d(5),v(e.columnService.columnsToDisplay.Code.selected?25:-1),d(),v(e.role.product!=null&&e.role.product.Cost&&e.columnService.columnsToDisplay.UnitCost.selected?26:-1),d(),v(e.role.sell!=null&&e.role.sell.PriceVisible&&e.columnService.columnsToDisplay.UnitPrice.selected?27:-1),d(),v(e.columnService.columnsToDisplay.Percentage.selected?28:-1),d(),v(e.columnService.columnsToDisplay.Weight.selected?29:-1),d(),v(e.columnService.columnsToDisplay.Ratio.selected?30:-1),d(),v(e.columnService.columnsToDisplay.ReferenceUnit.selected?31:-1)}}var Le=class r{service=x(P);variantService=x(oe);columnService=x(oi);role=x($);dialog=x(Z);toastr=x(be);variantInputs;setAll={UnitCost:null,UnitPrice:null,Discount:null,Weight:null};variants=y(()=>this.variantService.variants());product=y(()=>this.service.product());constructor(){this.listenProductVariantType(),this.listenToEditMode()}listenToEditMode(){ie(()=>{let t=this.service.product()?.Variants??[];(this.service.isEditMode()||t.length>0)&&(this.variantService.isMultiple()||this.variantService.isMultiple.set(!0))})}listenProductVariantType(){ie(()=>{let t=this.product()?.VariantTypeID??1;this.variantService.isMultiple.update(e=>!e&&(t==7||t==8)?(this.variantService.variants().length===0&&this.variantService.addVariantRow(),!0):e)})}onToggleMode(t){let e=this.product()?.VariantTypeID;if(this.variantService.isMultiple()&&(e==8||e==7)){this.toastr.warning(`Cannot switch to single variant mode when product variant type is Base Unit or Multiple UOM.
2
2
  Please change the product variant type first.`,"Variant Type Restriction");return}this.variantService.isMultiple.set(t),t&&this.variants().length==0?(this.variantService.addVariantRow(),setTimeout(()=>this.focusVariantInput(0,"Model"),0)):this.variantService.clearVariants()}addVariantRow(){let t=this.variants()?.length-1;this.validateNewVariant(t,"Model"),this.variantService.isMultiple.set(!0)}updateVariantField(t,e,i){this.variantService.updateVariantField(t,e,i)}removeVariantByIndex(t,e){e?.stopPropagation(),this.variantService.removeVariantByIndex(t)}onEditVariant(t,e){let i=t.Model,n=this.service.productForm();this.dialog.open(ni,{data:{form:m({},t),Options:n?.Options,parentDiscontinued:this.product()?.Discontinued,productName:this.product()?.Name,maskingFields:n?.MaskFields??[],codeRequired:n?.CodeRequired,variantDisplayNameFormula:n?.VariantDisplayNameFormula,referenceUnit:this.variants(),selectedReferenceUnitModel:this.variants().filter((o,c)=>c!==e).map(o=>o.BaseUnitModel)}}).afterClosed().subscribe(o=>{o&&(this.service.updateBaseUnitModelReferences(i,o.Model),this.variantService.replaceVariant(e,o))})}onSortVariants(t){this.variantService.sortVariants(t.active,t.direction)}onDropVariant(t){this.variantService.reorderVariants(t.previousIndex,t.currentIndex)}updateAllVariantField(t,e){this.service.updateProductVariantValue(Number(t)||0,e)}updateAllVariantDiscount(t){this.variantService.updateAllVariantDiscount(Number(t)||0)}onVariantEnter(t,e,i){t.preventDefault(),t.stopPropagation(),this.validateNewVariant(e,i)}validateNewVariant(t,e){let i=this.variants().length-1;if(t===i){if(!this.variants()[t]?.Model?.trim()){this.toastr.warning("Variant Name cannot be empty.","Empty Variant Name");return}this.variantService.addVariantRow(),setTimeout(()=>this.focusVariantInput(t+1,"Model"),0)}else this.focusVariantInput(t+1,e)}focusVariantInput(t,e){let i=this.variantInputs?.toArray()??[],n=`v-${t}-${e}`,o=i.find(S=>S.nativeElement.id===n);if(o){o.nativeElement.focus();return}let c=`v-${t}-Model`;o=i.find(S=>S.nativeElement.id===c),o?.nativeElement?.focus()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-variant-card"]],viewQuery:function(e,i){if(e&1&&dt(wi,5,tt),e&2){let n;st(n=ct())&&(i.variantInputs=n)}},decls:11,vars:4,consts:[["variantInput",""],[1,"card","mb-12"],[1,"card-header","d-flex","justify-content-between","align-items-center"],[1,"d-flex","align-items-center","gap-2"],[1,"dropdown"],[1,"btn-group"],[1,"border-bottom","mx-8","mt-6"],[1,"card-body","px-10"],[1,"row","g-3"],[1,"table-responsive"],["role","button","data-bs-toggle","dropdown","aria-expanded","false",1,"p-0","d-flex","justify-content-center","align-items-center",2,"cursor","pointer"],["matTooltip","Toggle columns","matTooltipPosition","above",1,"fa-solid","fa-columns-3","mt-2","position-relative","mb-0"],[1,"dropdown-menu","dropdown-menu-start","mt-2"],[1,"border-bottom","pb-3","px-3"],[1,"column-toggle-group"],[1,"p-4",3,"click"],[1,"me-3",3,"ngModelChange","onChange","ngModel","binary","inputId"],[1,"cursor-pointer",2,"width","70%",3,"for"],[1,"btn","fs-6",3,"click","ngClass"],[1,"fa-solid","fa-archive","fa-lg","me-1"],[1,"fa-solid","fa-boxes","fa-lg","me-1"],[1,"col-md-4"],["for","buyingCost",1,"mb-2"],["id","buyingCost","type","text","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel"],["for","sellingPrice",1,"mb-2"],["id","sellingPrice","type","text","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel"],["for","weight",1,"mb-2"],["id","weight","type","text","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel"],["matSort","","cdkDropList","",1,"table",3,"matSortChange","cdkDropListDropped"],[1,"table-light"],[1,"d-flex","justify-content-center","align-items-center"],["matTooltip","Add New Variant","aria-label","Add New Variant",1,"btn","btn-sm","btn-primary","border-0","cdk-mouse-focused","px-3","py-1",3,"click"],[1,"fa-solid","fa-plus","fs-6"],["mat-sort-header","Model",1,"fw-normal"],["mat-sort-header","Code",1,"fw-normal"],["mat-sort-header","UnitCost","arrowPosition","before",1,"text-end","fw-normal"],["mat-sort-header","UnitPrice","arrowPosition","before",1,"text-end","fw-normal"],[1,"text-end","fw-normal"],[1,"fw-normal"],[2,"width","80px"],["cdkDrag","",3,"bg-gradient-warning"],["colspan","2"],["cdkDrag",""],[1,"text-center"],["cdkDragHandle","","matTooltip","Drag to reorder",1,"btn","btn-sm","p-0",2,"cursor","grab"],[1,"fa-solid","fa-bars"],["type","text","placeholder","e.g. Red, Large","trimInput","",1,"form-control","rounded-1",3,"ngModelChange","keydown.enter","id","ngModel"],[1,"text-end"],[1,"d-flex","align-items-center","justify-content-center"],["matTooltip","Edit advanced fields",1,"btn","btn-sm","p-0",3,"click"],[1,"fas","fa-edit","text-secondary","me-2","fs-4"],["matTooltip","Remove variant",1,"btn","btn-sm","p-0","border-0",3,"click","disabled"],[1,"fa","fa-xmark","text-danger","fa-lg","fs-4"],["type","text","placeholder","VAR-001234",1,"form-control","rounded-1",3,"ngModelChange","keydown.enter","id","ngModel"],["type","text","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","keydown.enter","id","ngModel"],["type","text","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","keydown.enter","id","ngModel","max","min"],["type","text","placeholder","set all cost","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel"],["type","text","placeholder","set all price","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel"],["type","text","placeholder","set all %","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel","max","min"],["type","text","placeholder","set all weight","autoNum","",1,"form-control","text-end","rounded-1",3,"ngModelChange","ngModel"]],template:function(e,i){e&1&&(a(0,"div",1)(1,"div",2)(2,"div",3)(3,"h3"),p(4),l(),h(5,Ni,9,0,"div",4),l(),h(6,Ei,7,8,"div",5),l(),b(7,"div",6),a(8,"div",7),h(9,Fi,13,3,"div",8)(10,an,33,15,"div",9),l()()),e&2&&(d(4),z(" ",i.variantService.isMultiple()?"Pricing & Variants":"Pricing"," "),d(),v(i.variantService.isMultiple()&&i.variants().length>0?5:-1),d(),v(i.service.isEditMode()?-1:6),d(3),v(!i.variantService.isMultiple()&&!i.service.isEditMode()?9:10))},dependencies:[N,ve,F,B,E,U,Te,De,Ve,wt,Pe,Me,Se,I,w,kt,Lt,Ut,we,Ne],styles:["[_nghost-%COMP%] input[_ngcontent-%COMP%]{height:2.375rem;border-radius:.25rem!important;padding:.375rem .75rem!important;font-size:.75rem}[_nghost-%COMP%] label[_ngcontent-%COMP%]{font-size:.813rem}"],changeDetection:0})};var ge=class r{productFormService=x(P);outletStocks=y(()=>this.productFormService.outletStocks());entities=y(()=>this.productFormService.options()?.Entities??[]);update(t){let e=[...this.outletStocks()],i=t(e);this.productFormService.updateOutletStocks(i)}updateStockField(t,e,i){this.update(n=>n.map(o=>o.EntityID===t?u(m({},o),{[e]:i}):o))}updateAllStockField(t,e){this.update(i=>i.map(n=>u(m({},n),{[t]:e})))}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ae({token:r,factory:r.\u0275fac})};var ln=r=>({"bg-light":r}),dn=(r,t)=>t.EntityID;function sn(r,t){if(r&1&&b(0,"span",14),r&2){let e=s(3);C("ngClass",fe(1,ln,!e.role.inventory.Edit))}}function cn(r,t){if(r&1){let e=M();a(0,"input",18),g("ngModelChange",function(n){_(e);let o=s().$implicit,c=s(2);return f(c.onUpdateField(o.EntityID,"OnHand",n))}),l()}if(r&2){let e=s().$implicit;C("ngModel",e.OnHand)}}function pn(r,t){if(r&1){let e=M();a(0,"tr")(1,"td",13),p(2),l(),a(3,"td"),p(4,":"),l(),a(5,"td"),h(6,sn,1,3,"span",14),h(7,cn,1,1,"input",15),l(),a(8,"td")(9,"input",16),g("ngModelChange",function(n){let o=_(e).$implicit,c=s(2);return f(c.onUpdateField(o.EntityID,"MinStock",n))}),l()(),a(10,"td")(11,"input",17),g("ngModelChange",function(n){let o=_(e).$implicit,c=s(2);return f(c.onUpdateField(o.EntityID,"MaxStock",n))}),l()()()}if(r&2){let e=t.$implicit,i=s(2);d(2),O(e.Name),d(4),v(i.role.inventory.Edit?-1:6),d(),v(i.role.inventory.Edit?7:-1),d(2),C("ngModel",e.MinStock),d(2),C("ngModel",e.MaxStock)}}function mn(r,t){if(r&1){let e=M();a(0,"input",23),g("ngModelChange",function(n){_(e);let o=s(3);return o.bulkOnHand.set(n),f(o.onUpdateAllField("OnHand",n))}),l()}if(r&2){let e=s(3);C("ngModel",e.bulkOnHand())}}function un(r,t){if(r&1){let e=M();a(0,"tfoot")(1,"tr"),b(2,"td",19),a(3,"td"),h(4,mn,1,1,"input",20),l(),a(5,"td")(6,"input",21),g("ngModelChange",function(n){_(e);let o=s(2);return o.bulkMinStock.set(n),f(o.onUpdateAllField("MinStock",n))}),l()(),a(7,"td")(8,"input",22),g("ngModelChange",function(n){_(e);let o=s(2);return o.bulkMaxStock.set(n),f(o.onUpdateAllField("MaxStock",n))}),l()()()()}if(r&2){let e=s(2);d(4),v(e.role.inventory.Edit?4:-1),d(2),C("ngModel",e.bulkMinStock()),d(2),C("ngModel",e.bulkMaxStock())}}function gn(r,t){if(r&1){let e=M();a(0,"div",5)(1,"table",6),g("matSortChange",function(n){_(e);let o=s();return f(o.onSortStocks(n))}),a(2,"thead",7)(3,"tr")(4,"th",8),p(5," Outlet "),l(),b(6,"th",9),a(7,"th",10),p(8," On Hand "),l(),a(9,"th",11),p(10," ROP "),l(),a(11,"th",12),p(12," Max "),l()()(),a(13,"tbody"),H(14,pn,12,5,"tr",null,dn),l(),h(16,un,9,3,"tfoot"),l()()}if(r&2){let e=s();d(14),j(e.outletStocks()),d(2),v(e.hasMultipleEntities()?16:-1)}}var Re=class r{service=x(P);inventoryService=x(ge);role=x($);isExpanded=T(!1);outletStocks=y(()=>this.inventoryService.outletStocks());hasMultipleEntities=y(()=>this.inventoryService.outletStocks().length>1);bulkOnHand=T(null);bulkMinStock=T(null);bulkMaxStock=T(null);onUpdateField(t,e,i){this.inventoryService.updateStockField(t,e,i)}onUpdateAllField(t,e){this.inventoryService.updateAllStockField(t,e)}onSortStocks(t){if(!t.direction)return;let e=[...this.outletStocks()].sort((i,n)=>{let o=i.Name.localeCompare(n.Name);return t.direction==="asc"?o:-o});this.service.updateOutletStocks(e)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-inventory-card"]],features:[_e([ge])],decls:6,vars:2,consts:[[1,"card","mb-12"],[2,"box-shadow","none !important",3,"opened","closed","expanded"],["matTooltipPosition","above",2,"height","60px",3,"matTooltip"],[1,"fw-normal",2,"color","#4d4d4d"],["matExpansionPanelContent",""],[1,"table-responsive"],["matSort","",1,"table","table-bordered",3,"matSortChange"],[1,"thead-light"],["mat-sort-header","Name","matTooltipPosition","above","matTooltip","Outlet list",1,"border-end"],[1,"border-end",2,"width","10px"],["matTooltipPosition","above","matTooltip","Number of inventory in the outlet",1,"text-end","border-end",2,"width","120px"],["matTooltipPosition","above","matTooltip","Number of minimum inventory before it needs to be reordered",1,"text-end","border-end",2,"width","120px"],["matTooltipPosition","above","matTooltip","Number of maximum inventory to be kept in the outlet",1,"text-end","border-end",2,"width","120px"],[1,"align-middle"],[1,"form-control","text-end",3,"ngClass"],["type","text","matTooltipPosition","above","matTooltip","Input On Hand Inventory for this outlet","autoNum","",1,"form-control","text-end",3,"ngModel"],["type","text","matTooltipPosition","above","matTooltip","Input Reorder Inventory for this outlet","autoNum","",1,"form-control","text-end",3,"ngModelChange","ngModel"],["type","text","matTooltipPosition","above","matTooltip","Input Maximum Inventory for this outlet","autoNum","",1,"form-control","text-end",3,"ngModelChange","ngModel"],["type","text","matTooltipPosition","above","matTooltip","Input On Hand Inventory for this outlet","autoNum","",1,"form-control","text-end",3,"ngModelChange","ngModel"],["colspan","2"],["type","text","placeholder","Set all outlet","matTooltipPosition","above","matTooltip","Input On Hand Inventory for all outlets","autoNum","",1,"form-control","text-end",3,"ngModel"],["type","text","placeholder","Set all outlet","matTooltipPosition","above","matTooltip","Input Reorder Inventory for all outlets","autoNum","",1,"form-control","text-end",3,"ngModelChange","ngModel"],["type","text","placeholder","Set all outlet","matTooltipPosition","above","matTooltip","Input Maximum Inventory for all outlets","autoNum","",1,"form-control","text-end",3,"ngModelChange","ngModel"],["type","text","placeholder","Set all outlet","matTooltipPosition","above","matTooltip","Input On Hand Inventory for all outlets","autoNum","",1,"form-control","text-end",3,"ngModelChange","ngModel"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"mat-expansion-panel",1),g("opened",function(){return i.isExpanded.set(!0)})("closed",function(){return i.isExpanded.set(!1)}),a(2,"mat-expansion-panel-header",2)(3,"h3",3),p(4,"Inventory"),l()(),J(5,gn,17,1,"ng-template",4),l()()),e&2&&(d(),C("expanded",i.isExpanded()),d(),C("matTooltip",i.isExpanded()?"Click to collapse":"Click to expand"))},dependencies:[N,ve,F,B,E,U,si,li,di,ai,I,w,Pe,Me,Se,we],encapsulation:2,changeDetection:0})};function Cn(r,t){if(r&1&&(a(0,"div",18)(1,"p",21),p(2),l()()),r&2){let e=s();d(2),z(" ",e.generatedDescription()," ")}}function _n(r,t){r&1&&p(0," Generating... ")}function fn(r,t){r&1&&p(0," Generate ")}function hn(r,t){if(r&1){let e=M();a(0,"button",22),g("click",function(){_(e);let n=s(),o=me(12);return f(n.onGenerateDescription(o))}),h(1,_n,1,0)(2,fn,1,0),l()}if(r&2){let e=s();C("disabled",e.isGenerating()),d(),v(e.isGenerating()?1:2)}}function vn(r,t){if(r&1){let e=M();a(0,"button",23),g("click",function(){_(e);let n=s(),o=me(12);return f(n.onGenerateDescription(o))}),p(1," Regenerate "),l(),a(2,"button",24),g("click",function(){_(e);let n=s(),o=me(12);return f(n.onAcceptDescription(o))}),p(3," Accept "),l()}}var Ae=class r{service=x(P);dropdownEvent;description=y(()=>this.service.product()?.Description??"");maxLength=this.service.productDescriptionMaxCharacter;keywords=T("");selectedLanguage=T(this.service.language());generatedDescription=T(null);isGenerating=T(!1);onDescriptionChange(t){this.service.updateProductDesc(t)}onGenerateDescription(t){this.dropdownEvent=t,this.isGenerating.set(!0),this.service.getProductDescSuggestion(this.selectedLanguage(),this.keywords()).subscribe({next:e=>{this.generatedDescription.set(e.Message??e.message??""),this.isGenerating.set(!1)},error:()=>this.isGenerating.set(!1)})}onAcceptDescription(t){let e=this.generatedDescription();e&&(this.service.updateProductDesc(e),this.generatedDescription.set(null),this.keywords.set(""),t.hide())}ngOnDestroy(){this.dropdownEvent&&this.dropdownEvent?.hide()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-description"]],decls:26,vars:8,consts:[["op",""],["height","250px",3,"ngModelChange","ngModel","maxLength"],[1,"mt-8","d-flex","align-items-center","justify-content-end"],[1,"d-flex","align-items-center","gap-2"],[1,"btn","btn-gradient-ai","btn-sm",3,"click"],["matTooltipPosition","above","matTooltip","Generate product description with DealPOS AI",1,"fa-regular","fa-sparkles"],[1,"ms-2"],["href","https://support.dealpos.com/en/articles/10152475-generate-product-description-with-dealpos-ai","target","_blank","matTooltipPosition","above","matTooltip","Learn more about AI description"],[1,"fa-solid","fa-circle-info"],[1,"p-0"],[2,"max-width","400px"],[1,"mb-3"],[1,"fw-bold","mb-1"],["name","keywords","id","keywords","placeholder","Enter additional keywords (e.g., color, size, material)","cols","80","rows","3",1,"form-control",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center","gap-3","mb-3"],["bindLabel","Value","bindValue","Value","placeholder","Language",2,"min-width","130px",3,"ngModelChange","items","ngModel","clearable"],[1,"border-bottom","flex-grow-1"],[1,"fa-regular","fa-sparkles"],[1,"border","rounded","p-3","mb-3","bg-light"],[1,"d-flex","justify-content-end","gap-2"],[1,"btn","btn-success","btn-sm",3,"disabled"],[1,"mb-0",2,"white-space","pre-wrap"],[1,"btn","btn-success","btn-sm",3,"click","disabled"],[1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"btn","btn-success","btn-sm",3,"click"]],template:function(e,i){if(e&1){let n=M();a(0,"div")(1,"POS-tinymce-editor",1),g("ngModelChange",function(c){return i.onDescriptionChange(c)}),l()(),a(2,"div",2)(3,"div",3)(4,"button",4),g("click",function(c){_(n);let S=me(12);return f(S.toggle(c))}),b(5,"i",5),a(6,"span",6),p(7,"Generate with AI"),l()(),a(8,"h3")(9,"a",7),b(10,"i",8),l()()(),a(11,"p-popover",9,0)(13,"div",10)(14,"div",11)(15,"label",12),p(16,"Additional Keywords"),l(),a(17,"textarea",13),g("ngModelChange",function(c){return i.keywords.set(c)}),l()(),a(18,"div",14)(19,"ng-select",15),g("ngModelChange",function(c){return i.selectedLanguage.set(c)}),l(),b(20,"div",16)(21,"i",17),l(),h(22,Cn,3,1,"div",18),a(23,"div",19),h(24,hn,3,2,"button",20)(25,vn,4,0),l()()()()}if(e&2){let n;d(),C("ngModel",i.description())("maxLength",i.maxLength),d(16),C("ngModel",i.keywords()),d(2),C("items",(n=i.service.productForm())==null||n.Options==null?null:n.Options.LanguageOptions)("ngModel",i.selectedLanguage())("clearable",!1),d(3),v(i.generatedDescription()?22:-1),d(2),v(i.generatedDescription()?25:24)}},dependencies:[N,F,B,E,U,ee,X,I,w,At,Rt,Qt],encapsulation:2,changeDetection:0})};var yn=(r,t)=>t.ID;function bn(r,t){r&1&&(a(0,"div"),p(1,"Outlet"),l())}function xn(r,t){if(r&1){let e=M();a(0,"input",14),g("ngModelChange",function(n){_(e);let o=s();return f(o.outletQuery.set(n))})("click",function(n){return n.stopPropagation()}),l()}if(r&2){let e=s();C("ngModel",e.outletQuery())}}function Mn(r,t){if(r&1){let e=M();a(0,"tr")(1,"td"),p(2),l(),a(3,"td")(4,"ng-select",15),g("change",function(n){let o=_(e).$implicit,c=s(2);return f(c.onSelectStorage(o.ID,n))}),l()()()}if(r&2){let e=t.$implicit,i=s(2);d(2),O(e.Name),d(2),C("items",i.storages())("ngModel",i.selectedStoragesMap().get(e.ID))}}function Sn(r,t){if(r&1&&H(0,Mn,5,3,"tr",null,yn),r&2){let e=s();j(e.filteredEntities())}}function Pn(r,t){r&1&&(a(0,"tr")(1,"td",16),b(2,"app-empty-state"),l()())}var Be=class r{service=x(P);entities=y(()=>this.service.options()?.Entities??[]);storages=y(()=>this.service.options()?.Storages??[]);selectedStoragesMap=y(()=>{let t=this.service.productLocations(),e=new Map;return t.forEach(i=>{e.set(i.OutletID,i.StorageID??null)}),e});filterToggle=T(!1);outletQuery=T("");filteredEntities=y(()=>{let t=this.outletQuery().trim().toLowerCase();return t?this.entities().filter(e=>e.Name?.toLowerCase().includes(t)):this.entities()});onSelectStorage(t,e){let i=e?.Key??null;this.service.updateStorageLocation(i,t)}toggleSearch(){this.filterToggle.update(t=>!t),this.outletQuery.set("")}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-storage-location"]],decls:25,vars:7,consts:[[1,"row"],[1,"col-md-8"],[1,"table-responsive"],[1,"table",2,"position","relative"],[1,"thead-light"],["matTooltipPosition","above","matTooltip","Outlet List",1,"border-end",2,"width","40%"],[1,"d-flex","align-items-center","justify-content-between"],["type","text","placeholder","Search Outlet by Name","autofocus","",1,"txtFilter","form-control","me-4",3,"ngModel"],[1,"fa-solid","pointer",3,"click"],["matTooltipPosition","above","matTooltip","Storage location for the outlet"],[1,"col-md-4"],[1,"alert","d-flex","gap-3","align-items-start","border"],[1,"fa-solid","fa-circle-info","mt-1","flex-shrink-0"],[1,"text-secondary-emphasis","mt-2"],["type","text","placeholder","Search Outlet by Name","autofocus","",1,"txtFilter","form-control","me-4",3,"ngModelChange","click","ngModel"],["bindLabel","Value","bindValue","Key","matTooltipPosition","above","matTooltip","Select storage location for this outlet","appendTo","body",3,"change","items","ngModel"],["colspan","2",1,"text-center","py-5"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"table",3)(4,"thead",4)(5,"tr")(6,"th",5)(7,"div",6),h(8,bn,2,0,"div")(9,xn,1,1,"input",7),a(10,"i",8),g("click",function(o){return o.stopPropagation(),i.toggleSearch()}),l()()(),a(11,"th",9),p(12," Storage "),l()()(),a(13,"tbody"),h(14,Sn,2,0)(15,Pn,3,0,"tr"),l()()()(),a(16,"div",10)(17,"div",11),b(18,"i",12),a(19,"div")(20,"strong"),p(21,"Information"),l(),b(22,"br"),a(23,"div",13),p(24," You can add storage locations by going to the Product menu, selecting More Settings, and then choosing Storage Location under the Setup section. "),l()()()()()),e&2&&(d(8),v(i.filterToggle()?9:8),d(2),q("fa-filter",!i.filterToggle())("fa-filter-slash",i.filterToggle()),rt("title",i.filterToggle()?"Hide search":"Search outlet"),d(4),v(i.filteredEntities().length>0?14:15))},dependencies:[N,F,B,E,U,ee,X,I,w,Kt],encapsulation:2,changeDetection:0})};function Vn(r,t){if(r&1){let e=M();a(0,"div",1)(1,"label",10),p(2,"Units of Measurement"),l(),a(3,"ng-select",11),g("ngModelChange",function(n){_(e);let o=s();return f(o.onUOMChange(n))}),l()()}if(r&2){let e,i,n=s();d(3),C("clearable",!1)("ngModel",(e=n.product())==null?null:e.VariantUOM)("items",(i=n.options())==null?null:i.UOMs)}}function Dn(r,t){if(r&1&&(a(0,"div",12)(1,"span",13),p(2),l(),a(3,"span"),p(4),l()()),r&2){let e=t.item;d(2),z("",e.Symbol," - "),d(2),O(e.Name)}}function Tn(r,t){if(r&1&&(a(0,"div",12)(1,"span",13),p(2),l(),a(3,"span"),p(4),l()()),r&2){let e=t.item;d(2),O(e.Symbol),d(2),O(e.Name)}}var $e=class r{service=x(P);product=y(()=>this.service.product());options=y(()=>this.service.options());nextProductName=y(()=>this.service.nextProductName());onReleaseDateChange(t){if(!t){this.service.updateProductReleaseDate(null);return}let e=t instanceof Date?t:new Date(t),i=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),c=`${i}-${n}-${o}`;this.service.updateProductReleaseDate(c)}onUOMChange(t){this.service.updateProductUOM(t)}onCurrencyChange(t){this.service.updateProductCurrency(t)}onNextProductSelected(t){try{let e=JSON.parse(t);this.service.updateNextProductWithName(e.Key??null,e.Value??null)}catch(e){}}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-more-settings"]],decls:16,vars:8,consts:[[1,"row"],[1,"col-6","mb-6"],[1,"mb-2"],["placeholder","Release Date","matTooltipPosition","above","matTooltip","Input released date for this product",3,"dateChange","date","isFloatingLabel"],["for","inputCostCurrency",1,"mb-2"],["id","inputCostCurrency","bindLabel","DisplayName","bindValue","ID","placeholder","Select currency","matTooltipPosition","above","matTooltip","Select cost currency used for this variant","appendTo","body",3,"ngModelChange","items","clearable","ngModel"],["ng-option-tmp",""],["ng-label-tmp",""],["for","inputNextProduct",1,"mb-2"],["id","inputNextProduct","appendTo","body","placeholder","Search product...","requestUrl","/API/AC/GetProductSuggestion","matTooltipPosition","above","matTooltip","Select next product to upsell after this product",1,"w-100",3,"optionSelected","ngModel","inputTextValue"],["for","inputUOM",1,"mb-2"],["id","inputUOM","bindLabel","Name","bindValue","ID","placeholder","Select UOM","matTooltipPosition","above","matTooltip","Select UOM for this product e.g. gram, meter, pcs, etc.","appendTo","body",3,"ngModelChange","clearable","ngModel","items"],[1,"d-flex","align-items-center","gap-2"],[1,"fw-semibold"]],template:function(e,i){if(e&1&&(a(0,"div",0)(1,"div",1)(2,"label",2),p(3,"Release Date"),l(),a(4,"datepicker",3),g("dateChange",function(o){return i.onReleaseDateChange(o)}),l()(),h(5,Vn,4,3,"div",1),a(6,"div",1)(7,"label",4),p(8,"Cost Currency"),l(),a(9,"ng-select",5),g("ngModelChange",function(o){return i.onCurrencyChange(o)}),J(10,Dn,5,2,"ng-template",6)(11,Tn,5,2,"ng-template",7),l()(),a(12,"div",1)(13,"label",8),p(14,"Cross Sell Product"),l(),a(15,"autocompleteV2",9),g("optionSelected",function(o){return i.onNextProductSelected(o)}),l()()()),e&2){let n,o,c,S;d(4),C("date",(n=i.product())==null?null:n.Released)("isFloatingLabel",!1),d(),v(i.service.isEditMode()?-1:5),d(4),C("items",(o=i.options())==null?null:o.Currencies)("clearable",!1)("ngModel",(c=i.product())==null?null:c.CostCurrencyID),d(6),C("ngModel",(S=i.product())==null?null:S.NextProductID)("inputTextValue",i.nextProductName())}},dependencies:[N,F,E,U,ee,X,Nt,Et,I,w,qt,ke,Ie],styles:["label[_ngcontent-%COMP%]{font-size:.813rem}[_nghost-%COMP%] .ng-select .ng-select-container{border-color:#dee2e6;border-radius:.25rem;min-height:2.375rem}[_nghost-%COMP%] .ng-select.ng-select-single .ng-select-container{height:2.375rem}[_nghost-%COMP%] .ng-select input{padding-top:0!important}[_nghost-%COMP%] .ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}[_nghost-%COMP%] datepicker{display:block;--mdc-filled-text-field-container-color: white;--mdc-filled-text-field-active-indicator-color: transparent;--mdc-filled-text-field-hover-active-indicator-color: transparent;--mdc-filled-text-field-focus-active-indicator-color: transparent;--mdc-filled-text-field-active-indicator-height: 0px}[_nghost-%COMP%] datepicker mat-form-field{width:100%}[_nghost-%COMP%] datepicker .mat-mdc-text-field-wrapper{height:2.375rem;padding:0!important;background:#fff!important}[_nghost-%COMP%] datepicker .mat-mdc-form-field-flex{height:100%;padding:0 .75rem!important;align-items:center}[_nghost-%COMP%] datepicker .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;min-height:unset!important;width:100%;display:flex;align-items:center}[_nghost-%COMP%] datepicker .mat-mdc-form-field-infix input{font-size:.75rem}[_nghost-%COMP%] datepicker .mat-mdc-form-field-icon-suffix{padding:0!important;display:flex;align-items:center}[_nghost-%COMP%] datepicker .mat-mdc-form-field-icon-suffix button.mat-mdc-icon-button{width:1.75rem;height:1.75rem;padding:0;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] datepicker .mat-mdc-form-field-icon-suffix button.mat-mdc-icon-button .mat-icon, [_nghost-%COMP%] datepicker .mat-mdc-form-field-icon-suffix button.mat-mdc-icon-button mat-icon{font-size:1rem;width:1rem;height:1rem;line-height:1rem}[_nghost-%COMP%] datepicker .mat-mdc-form-field-icon-suffix button.mat-mdc-icon-button svg{width:1rem;height:1rem}[_nghost-%COMP%] datepicker .mdc-line-ripple{display:none}[_nghost-%COMP%] datepicker .mat-mdc-form-field-subscript-wrapper{display:none}[_nghost-%COMP%] datepicker label{display:none!important}[_nghost-%COMP%] datepicker:focus-within .mat-mdc-text-field-wrapper{border-color:#86b7fe!important;box-shadow:0 0 0 .25rem #0d6efd40!important}[_nghost-%COMP%] autocompleteV2{display:block}[_nghost-%COMP%] autocompleteV2 .mat-mdc-text-field-wrapper{height:2.375rem;padding:0!important;border:1px solid #dee2e6!important;border-radius:.25rem!important;background:#fff!important}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-flex{height:100%;padding:0 .75rem!important;align-items:center}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;min-height:unset!important;width:100%;display:flex;align-items:center}[_nghost-%COMP%] autocompleteV2 label{display:none!important}[_nghost-%COMP%] autocompleteV2 input.form-control{border-radius:4px!important;background:transparent!important;box-shadow:none!important;height:2.375rem;font-size:.75rem}[_nghost-%COMP%] autocompleteV2 .mdc-line-ripple{display:none}[_nghost-%COMP%] autocompleteV2 .mat-mdc-form-field-subscript-wrapper{display:none}[_nghost-%COMP%] autocompleteV2:focus-within .mat-mdc-text-field-wrapper{border-color:#86b7fe!important;box-shadow:0 0 0 .25rem #0d6efd40!important}"],changeDetection:0})};function wn(r,t){r&1&&(b(0,"i",5),a(1,"span",6),p(2,"Description"),l())}function In(r,t){r&1&&b(0,"POS-description")}function kn(r,t){r&1&&(b(0,"i",7),a(1,"span",6),p(2,"Storage Location"),l())}function Nn(r,t){r&1&&(b(0,"i",8),a(1,"span",6),p(2,"More Settings"),l())}var We=class r{activeTab=T(0);static \u0275fac=function(e){return new(e||r)};static \u0275cmp=D({type:r,selectors:[["POS-tabs-card"]],decls:15,vars:2,consts:[[1,"card","mb-12"],[1,"card-body"],[1,"product-info-tab",3,"selectedIndexChange","mat-stretch-tabs"],["mat-tab-label",""],[1,"p-6"],[1,"fa-solid","fa-text","me-3","me-2"],[1,"fs-5"],[1,"fa-solid","fa-warehouse","me-2"],[1,"fa-solid","fa-circle-info","me-2"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"mat-tab-group",2),g("selectedIndexChange",function(o){return i.activeTab.set(o)}),a(3,"mat-tab"),J(4,wn,3,0,"ng-template",3),a(5,"div",4),h(6,In,1,0,"POS-description"),l()(),a(7,"mat-tab"),J(8,kn,3,0,"ng-template",3),a(9,"div",4),b(10,"POS-storage-location"),l()(),a(11,"mat-tab"),J(12,Nn,3,0,"ng-template",3),a(13,"div",4),b(14,"POS-more-settings"),l()()()()()),e&2&&(d(2),C("mat-stretch-tabs",!1),d(4),v(i.activeTab()===0?6:-1))},dependencies:[Dt,St,Pt,Vt,Ae,Be,$e],styles:["mat-tab-group.product-info-tab mat-tab-header{border-bottom:1px solid #e0e0e0}"],changeDetection:0})};var En=()=>["/menu/Products/Catalog/Products"];function Fn(r,t){r&1&&(a(0,"div",8),b(1,"POS-inventory-card"),l())}var ui=class r extends zt{service=x(P);variantService=x(oe);submitBtnDisabled=y(()=>this.variantService.isMultipleWithEmptyVariant());router=x(ht);route=x(ft);product=this.service.product;menu$=this.menuData$.pipe(G(t=>{let e=this.route.snapshot.queryParams;return this.service.loadForm(e).pipe(R(i=>(i&&(t.H=i.PageTitle),t)))}));constructor(t){super(t)}onSave(){this.service.onSave().pipe(re(t=>V.IsNotEmpty(t))).subscribe(t=>{t.RedirectTo=="Variant"?this.router.navigate(["/menu/Products/Catalog/Variants/Form"],{queryParams:{ID:t.FirstVariantID}}):this.router.navigate(["/menu/Products/Catalog/Products"])})}onCancel(){this.router.navigate(["/menu/Products/Catalog/Products"])}static \u0275fac=function(e){return new(e||r)(nt(Ft))};static \u0275cmp=D({type:r,selectors:[["POS-product-form-v2"]],features:[_e([P,oe]),ot],decls:22,vars:9,consts:[[3,"pageData","hideSearchDropdown","hideSearchBox"],["role","button","matTooltipPosition","above","matTooltip","Cancel this product",1,"btn","btn-outline-secondary","me-2",3,"routerLink"],["type","button","role","button","matTooltipPosition","above","matTooltip","Save this product",1,"btn","btn-success",3,"click","disabled"],[1,"container-fluid","bg-light-gray","pt-5"],[1,"row"],[1,"col-md-8","d-flex"],[1,"w-100"],[1,"col-md-4","d-flex","ps-5"],[1,"col-md-12"]],template:function(e,i){e&1&&(a(0,"mainpanel-cmp",0),ut(1,"async"),a(2,"actions")(3,"a",1),p(4,"Cancel"),l(),a(5,"button",2),g("click",function(){return i.onSave()}),p(6," Save "),l()(),a(7,"content")(8,"div",3)(9,"div",4)(10,"div",5),b(11,"POS-general-card",6),l(),a(12,"div",7),b(13,"POS-properties-card",6),l()(),a(14,"div",4)(15,"div",8),b(16,"POS-variant-card"),l()(),a(17,"div",4),h(18,Fn,2,0,"div",8),l(),a(19,"div",4)(20,"div",8),b(21,"POS-tabs-card"),l()()()()()),e&2&&(C("pageData",gt(1,6,i.menu$))("hideSearchDropdown",!0)("hideSearchBox",!0),d(3),C("routerLink",mt(8,En)),d(2),C("disabled",i.submitBtnDisabled()),d(13),v(i.service.isEditMode()?-1:18))},dependencies:[N,vt,ye,Oe,Ue,Le,Re,We,$t,Bt,_t],styles:[".pf2-shell[_ngcontent-%COMP%]{background:#fff}"],changeDetection:0})};export{ui as ProductFormV2Component};
@@ -1 +1 @@
1
- import{a as D}from"./chunk-5GXM4COS.js";import{E as I,F as R,i as P,k as A,p as M}from"./chunk-QMS2MBIA.js";import{c as U}from"./chunk-W2DSNINP.js";import"./chunk-N4MJS6YZ.js";import"./chunk-WLVEHCCR.js";import"./chunk-P7GOTTNS.js";import{a as p}from"./chunk-3DEA4WWC.js";import"./chunk-CYMHS5BE.js";import{n as E}from"./chunk-3GXUD7K4.js";import{Fa as d,Ib as x,Jb as i,Kb as n,Lb as l,Td as T,Ub as S,Xb as c,Za as y,bc as _,cc as O,d as f,dc as w,ea as g,eb as s,ib as C,mc as r,va as v,wa as b}from"./chunk-NGFIIVK5.js";import"./chunk-WFMAM73Y.js";import"./chunk-SNAKHGZS.js";var N=["totpCode"],V=class u{constructor(t,e,o,a){this.authenticatorService=t;this.router=e;this.authService=o;this.toastrService=a;this.redirectUrl.set(this.authService.returnUrl),this.destroy$=new f,this.checkOnRefreshPage()}validationCodeEl;validationCode=d("");redirectUrl=d("");destroy$;ngOnInit(){document.body.classList.add("login-body")}ngAfterViewInit(){this.validationCodeEl.nativeElement.focus()}ngOnDestroy(){document.body.classList.remove("login-body"),this.destroy$.next(!0),this.destroy$.complete()}checkOnRefreshPage(){p.IsEmpty(this.authService.loginResponse)&&this.router.navigate(["/"])}onSubmit(){this.validateOnVerfiyCode()&&this.authenticatorService.validateCode(this.validationCode(),this.authService.loginResponse.UserID).pipe(g(this.destroy$)).subscribe({next:t=>{if(this.authService.saveLoginConfigToStorage(t),p.IsNotEmpty(this.redirectUrl()))this.router.navigateByUrl(this.redirectUrl()),this.authService.returnUrl=null;else{let e=this.authService.getRedirectUrl();this.router.navigate([e])}}})}validateOnVerfiyCode(){let t=!0;return p.IsEmpty(this.validationCode())?(t=!1,this.toastrService.warning("You must enter a authentication code.","Warning")):(this.validationCode().length<6||this.validationCode().length>6)&&(t=!1,this.toastrService.warning("The authentication code must be six digits long.","Warning")),t}numberOnly(t){return p.numberOnly(t)}submitOnFullOTP(t){t.length==6&&this.onSubmit()}static \u0275fac=function(e){return new(e||u)(s(D),s(T),s(U),s(E))};static \u0275cmp=C({type:u,selectors:[["POS-auth-totp"]],viewQuery:function(e,o){if(e&1&&_(N,5),e&2){let a;O(a=w())&&(o.validationCodeEl=a.first)}},decls:28,vars:1,consts:[["totpCode",""],[1,"container-fluid"],[1,"row","bg-white","mx-auto","totp-pane"],[1,"col-md-7","order-md-first","order-first","form-pane"],[1,"text-start"],[1,"mt-6","text-start"],[3,"submit"],[1,"row","mt-3"],[1,"col-12","text-start","otp-container","position-relative"],["for","totpCode",1,"form-label"],["type","text","maxlength","6","data-cy","totp-code","aria-label","Username","name","totp-code","id","totpCode",1,"border-0",3,"input","keypress","value"],[1,"stripe"],["type","submit",1,"btn","btn-lg","btn-primary","rounded-1","fw-normal","rounded-0"],[1,"col-md-5","order-md-last","order-last","border-start","border-secondary","d-flex","align-items-center","justify-content-center","img-pane"],[1,"d-flex","align-items-center","justify-content-center","mb-6"],["src","https://cdn.dealpos.xyz/web-image/TOTP.png",1,"border-0",2,"width","50%"],[1,"fixed-bottom"],[1,"d-flex","justify-content-start","mb-11","mx-11","footer-mobile"],["target","_blank","href","http://www.dealpos.com"],["src","https://cdn.dealpos.app/public/logo/dealpos_130.png",1,"ms-3","border-0"]],template:function(e,o){if(e&1){let a=S();i(0,"div",1)(1,"div",2)(2,"div",3)(3,"h3",4),r(4,"Enter time-based OTP"),n(),i(5,"p",5),r(6," Enter the OTP generated on your authenticator app "),n(),i(7,"form",6),c("submit",function(){return o.onSubmit()}),i(8,"div",7)(9,"div",8)(10,"label",9),r(11,"AUTHENTICATION CODE"),n(),i(12,"input",10,0),c("input",function(m){return v(a),o.validationCode.set(m.target.value),b(o.submitOnFullOTP(m.target.value))})("keypress",function(m){return o.numberOnly(m)}),n(),i(14,"span",11),r(15,"______"),n(),i(16,"button",12),r(17," Verify "),n()()()()(),i(18,"div",13)(19,"div",14),l(20,"img",15),n()()(),i(21,"div",16)(22,"div",17)(23,"div")(24,"span"),r(25,"powered by :"),n(),l(26,"a",18)(27,"img",19),n()()()()}e&2&&(y(12),x("value",o.validationCode()))},dependencies:[R,M,P,I,A],styles:["input[type=submit][_ngcontent-%COMP%]{font-size:1.125rem;width:11.25rem;font-family:Roboto Slab,serif}.totp-pane[_ngcontent-%COMP%]{max-width:57rem;height:max-content;margin-top:140px}@media(max-width:768px){.totp-pane[_ngcontent-%COMP%]{margin-top:0}}.form-pane[_ngcontent-%COMP%]{padding:3rem}@media(max-width:768px){.form-pane[_ngcontent-%COMP%]{padding:50px 24px 30px}}@media(max-width:768px){.img-pane[_ngcontent-%COMP%]{border:0px!important}}.otp-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{font-size:32px;letter-spacing:32px;width:325px;font-family:monospace;background:transparent;z-index:1;position:relative}.otp-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none!important}.otp-container[_ngcontent-%COMP%] .stripe[_ngcontent-%COMP%]{font-size:32px;letter-spacing:32px;font-family:monospace;position:absolute;padding-top:6px;z-index:0;bottom:0;left:14px}"],changeDetection:0})};export{V as AuthTotpComponent};
1
+ import{a as D}from"./chunk-7IM65HWS.js";import{E as I,F as R,i as P,k as A,p as M}from"./chunk-MDIMQ3H3.js";import{c as U}from"./chunk-DSDEJGLO.js";import"./chunk-LWIWXGM5.js";import"./chunk-MWDJTJ3O.js";import"./chunk-G4AV4UPW.js";import{a as p}from"./chunk-3DEA4WWC.js";import"./chunk-HIKBIXFM.js";import{n as E}from"./chunk-TKVDP62Z.js";import{Fa as d,Ib as x,Jb as i,Kb as n,Lb as l,Ub as S,Ud as T,Xb as c,Za as y,bc as _,cc as O,d as f,dc as w,ea as g,eb as s,ib as C,mc as r,va as v,wa as b}from"./chunk-GJDGQISV.js";import"./chunk-WFMAM73Y.js";import"./chunk-SNAKHGZS.js";var N=["totpCode"],V=class u{constructor(t,e,o,a){this.authenticatorService=t;this.router=e;this.authService=o;this.toastrService=a;this.redirectUrl.set(this.authService.returnUrl),this.destroy$=new f,this.checkOnRefreshPage()}validationCodeEl;validationCode=d("");redirectUrl=d("");destroy$;ngOnInit(){document.body.classList.add("login-body")}ngAfterViewInit(){this.validationCodeEl.nativeElement.focus()}ngOnDestroy(){document.body.classList.remove("login-body"),this.destroy$.next(!0),this.destroy$.complete()}checkOnRefreshPage(){p.IsEmpty(this.authService.loginResponse)&&this.router.navigate(["/"])}onSubmit(){this.validateOnVerfiyCode()&&this.authenticatorService.validateCode(this.validationCode(),this.authService.loginResponse.UserID).pipe(g(this.destroy$)).subscribe({next:t=>{if(this.authService.saveLoginConfigToStorage(t),p.IsNotEmpty(this.redirectUrl()))this.router.navigateByUrl(this.redirectUrl()),this.authService.returnUrl=null;else{let e=this.authService.getRedirectUrl();this.router.navigate([e])}}})}validateOnVerfiyCode(){let t=!0;return p.IsEmpty(this.validationCode())?(t=!1,this.toastrService.warning("You must enter a authentication code.","Warning")):(this.validationCode().length<6||this.validationCode().length>6)&&(t=!1,this.toastrService.warning("The authentication code must be six digits long.","Warning")),t}numberOnly(t){return p.numberOnly(t)}submitOnFullOTP(t){t.length==6&&this.onSubmit()}static \u0275fac=function(e){return new(e||u)(s(D),s(T),s(U),s(E))};static \u0275cmp=C({type:u,selectors:[["POS-auth-totp"]],viewQuery:function(e,o){if(e&1&&_(N,5),e&2){let a;O(a=w())&&(o.validationCodeEl=a.first)}},decls:28,vars:1,consts:[["totpCode",""],[1,"container-fluid"],[1,"row","bg-white","mx-auto","totp-pane"],[1,"col-md-7","order-md-first","order-first","form-pane"],[1,"text-start"],[1,"mt-6","text-start"],[3,"submit"],[1,"row","mt-3"],[1,"col-12","text-start","otp-container","position-relative"],["for","totpCode",1,"form-label"],["type","text","maxlength","6","data-cy","totp-code","aria-label","Username","name","totp-code","id","totpCode",1,"border-0",3,"input","keypress","value"],[1,"stripe"],["type","submit",1,"btn","btn-lg","btn-primary","rounded-1","fw-normal","rounded-0"],[1,"col-md-5","order-md-last","order-last","border-start","border-secondary","d-flex","align-items-center","justify-content-center","img-pane"],[1,"d-flex","align-items-center","justify-content-center","mb-6"],["src","https://cdn.dealpos.xyz/web-image/TOTP.png",1,"border-0",2,"width","50%"],[1,"fixed-bottom"],[1,"d-flex","justify-content-start","mb-11","mx-11","footer-mobile"],["target","_blank","href","http://www.dealpos.com"],["src","https://cdn.dealpos.app/public/logo/dealpos_130.png",1,"ms-3","border-0"]],template:function(e,o){if(e&1){let a=S();i(0,"div",1)(1,"div",2)(2,"div",3)(3,"h3",4),r(4,"Enter time-based OTP"),n(),i(5,"p",5),r(6," Enter the OTP generated on your authenticator app "),n(),i(7,"form",6),c("submit",function(){return o.onSubmit()}),i(8,"div",7)(9,"div",8)(10,"label",9),r(11,"AUTHENTICATION CODE"),n(),i(12,"input",10,0),c("input",function(m){return v(a),o.validationCode.set(m.target.value),b(o.submitOnFullOTP(m.target.value))})("keypress",function(m){return o.numberOnly(m)}),n(),i(14,"span",11),r(15,"______"),n(),i(16,"button",12),r(17," Verify "),n()()()()(),i(18,"div",13)(19,"div",14),l(20,"img",15),n()()(),i(21,"div",16)(22,"div",17)(23,"div")(24,"span"),r(25,"powered by :"),n(),l(26,"a",18)(27,"img",19),n()()()()}e&2&&(y(12),x("value",o.validationCode()))},dependencies:[R,M,P,I,A],styles:["input[type=submit][_ngcontent-%COMP%]{font-size:1.125rem;width:11.25rem;font-family:Roboto Slab,serif}.totp-pane[_ngcontent-%COMP%]{max-width:57rem;height:max-content;margin-top:140px}@media(max-width:768px){.totp-pane[_ngcontent-%COMP%]{margin-top:0}}.form-pane[_ngcontent-%COMP%]{padding:3rem}@media(max-width:768px){.form-pane[_ngcontent-%COMP%]{padding:50px 24px 30px}}@media(max-width:768px){.img-pane[_ngcontent-%COMP%]{border:0px!important}}.otp-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{font-size:32px;letter-spacing:32px;width:325px;font-family:monospace;background:transparent;z-index:1;position:relative}.otp-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none!important}.otp-container[_ngcontent-%COMP%] .stripe[_ngcontent-%COMP%]{font-size:32px;letter-spacing:32px;font-family:monospace;position:absolute;padding-top:6px;z-index:0;bottom:0;left:14px}"],changeDetection:0})};export{V as AuthTotpComponent};
@@ -1 +1 @@
1
- import{Rc as _,d as D,jb as T,na as M,oa as w,pa as d,ra as l}from"./chunk-NGFIIVK5.js";import{a as p,b as g}from"./chunk-SNAKHGZS.js";var h=new d("MAT_DATE_LOCALE",{providedIn:"root",factory:()=>l(_)}),s="Method not implemented",u=class{locale;_localeChanges=new D;localeChanges=this._localeChanges;setTime(r,e,t,n){throw new Error(s)}getHours(r){throw new Error(s)}getMinutes(r){throw new Error(s)}getSeconds(r){throw new Error(s)}parseTime(r,e){throw new Error(s)}addSeconds(r,e){throw new Error(s)}getValidDateOrNull(r){return this.isDateInstance(r)&&this.isValid(r)?r:null}deserialize(r){return r==null||this.isDateInstance(r)&&this.isValid(r)?r:this.invalid()}setLocale(r){this.locale=r,this._localeChanges.next()}compareDate(r,e){return this.getYear(r)-this.getYear(e)||this.getMonth(r)-this.getMonth(e)||this.getDate(r)-this.getDate(e)}compareTime(r,e){return this.getHours(r)-this.getHours(e)||this.getMinutes(r)-this.getMinutes(e)||this.getSeconds(r)-this.getSeconds(e)}sameDate(r,e){if(r&&e){let t=this.isValid(r),n=this.isValid(e);return t&&n?!this.compareDate(r,e):t==n}return r==e}sameTime(r,e){if(r&&e){let t=this.isValid(r),n=this.isValid(e);return t&&n?!this.compareTime(r,e):t==n}return r==e}clampDate(r,e,t){return e&&this.compareDate(r,e)<0?e:t&&this.compareDate(r,t)>0?t:r}},I=new d("mat-date-formats");var y=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/,E=/^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i;function c(i,r){let e=Array(i);for(let t=0;t<i;t++)e[t]=r(t);return e}var A=(()=>{class i extends u{_matDateLocale=l(h,{optional:!0});constructor(){super();let e=l(h,{optional:!0});e!==void 0&&(this._matDateLocale=e),super.setLocale(this._matDateLocale)}getYear(e){return e.getFullYear()}getMonth(e){return e.getMonth()}getDate(e){return e.getDate()}getDayOfWeek(e){return e.getDay()}getMonthNames(e){let t=new Intl.DateTimeFormat(this.locale,{month:e,timeZone:"utc"});return c(12,n=>this._format(t,new Date(2017,n,1)))}getDateNames(){let e=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return c(31,t=>this._format(e,new Date(2017,0,t+1)))}getDayOfWeekNames(e){let t=new Intl.DateTimeFormat(this.locale,{weekday:e,timeZone:"utc"});return c(7,n=>this._format(t,new Date(2017,0,n+1)))}getYearName(e){let t=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._format(t,e)}getFirstDayOfWeek(){if(typeof Intl<"u"&&Intl.Locale){let e=new Intl.Locale(this.locale),t=(e.getWeekInfo?.()||e.weekInfo)?.firstDay??0;return t===7?0:t}return 0}getNumDaysInMonth(e){return this.getDate(this._createDateWithOverflow(this.getYear(e),this.getMonth(e)+1,0))}clone(e){return new Date(e.getTime())}createDate(e,t,n){let o=this._createDateWithOverflow(e,t,n);return o.getMonth()!=t,o}today(){return new Date}parse(e,t){return typeof e=="number"?new Date(e):e?new Date(Date.parse(e)):null}format(e,t){if(!this.isValid(e))throw Error("NativeDateAdapter: Cannot format invalid date.");let n=new Intl.DateTimeFormat(this.locale,g(p({},t),{timeZone:"utc"}));return this._format(n,e)}addCalendarYears(e,t){return this.addCalendarMonths(e,t*12)}addCalendarMonths(e,t){let n=this._createDateWithOverflow(this.getYear(e),this.getMonth(e)+t,this.getDate(e));return this.getMonth(n)!=((this.getMonth(e)+t)%12+12)%12&&(n=this._createDateWithOverflow(this.getYear(n),this.getMonth(n),0)),n}addCalendarDays(e,t){return this._createDateWithOverflow(this.getYear(e),this.getMonth(e),this.getDate(e)+t)}toIso8601(e){return[e.getUTCFullYear(),this._2digit(e.getUTCMonth()+1),this._2digit(e.getUTCDate())].join("-")}deserialize(e){if(typeof e=="string"){if(!e)return null;if(y.test(e)){let t=new Date(e);if(this.isValid(t))return t}}return super.deserialize(e)}isDateInstance(e){return e instanceof Date}isValid(e){return!isNaN(e.getTime())}invalid(){return new Date(NaN)}setTime(e,t,n,o){let a=this.clone(e);return a.setHours(t,n,o,0),a}getHours(e){return e.getHours()}getMinutes(e){return e.getMinutes()}getSeconds(e){return e.getSeconds()}parseTime(e,t){if(typeof e!="string")return e instanceof Date?new Date(e.getTime()):null;let n=e.trim();if(n.length===0)return null;let o=this._parseTimeString(n);if(o===null){let a=n.replace(/[^0-9:(AM|PM)]/gi,"").trim();a.length>0&&(o=this._parseTimeString(a))}return o||this.invalid()}addSeconds(e,t){return new Date(e.getTime()+t*1e3)}_createDateWithOverflow(e,t,n){let o=new Date;return o.setFullYear(e,t,n),o.setHours(0,0,0,0),o}_2digit(e){return("00"+e).slice(-2)}_format(e,t){let n=new Date;return n.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setUTCHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e.format(n)}_parseTimeString(e){let t=e.toUpperCase().match(E);if(t){let n=parseInt(t[1]),o=parseInt(t[2]),a=t[3]==null?void 0:parseInt(t[3]),f=t[4];if(n===12?n=f==="AM"?0:n:f==="PM"&&(n+=12),m(n,0,23)&&m(o,0,59)&&(a==null||m(a,0,59)))return this.setTime(this.today(),n,o,a||0)}return null}static \u0275fac=function(t){return new(t||i)};static \u0275prov=M({token:i,factory:i.\u0275fac})}return i})();function m(i,r,e){return!isNaN(i)&&i>=r&&i<=e}var O={parse:{dateInput:null,timeInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},timeInput:{hour:"numeric",minute:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"},timeOptionLabel:{hour:"numeric",minute:"numeric"}}};var V=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=T({type:i});static \u0275inj=w({providers:[v()]})}return i})();function v(i=O){return[{provide:u,useClass:A},{provide:I,useValue:i}]}export{h as a,u as b,I as c,V as d};
1
+ import{Rc as _,d as D,jb as T,na as M,oa as w,pa as d,ra as l}from"./chunk-GJDGQISV.js";import{a as p,b as g}from"./chunk-SNAKHGZS.js";var h=new d("MAT_DATE_LOCALE",{providedIn:"root",factory:()=>l(_)}),s="Method not implemented",u=class{locale;_localeChanges=new D;localeChanges=this._localeChanges;setTime(r,e,t,n){throw new Error(s)}getHours(r){throw new Error(s)}getMinutes(r){throw new Error(s)}getSeconds(r){throw new Error(s)}parseTime(r,e){throw new Error(s)}addSeconds(r,e){throw new Error(s)}getValidDateOrNull(r){return this.isDateInstance(r)&&this.isValid(r)?r:null}deserialize(r){return r==null||this.isDateInstance(r)&&this.isValid(r)?r:this.invalid()}setLocale(r){this.locale=r,this._localeChanges.next()}compareDate(r,e){return this.getYear(r)-this.getYear(e)||this.getMonth(r)-this.getMonth(e)||this.getDate(r)-this.getDate(e)}compareTime(r,e){return this.getHours(r)-this.getHours(e)||this.getMinutes(r)-this.getMinutes(e)||this.getSeconds(r)-this.getSeconds(e)}sameDate(r,e){if(r&&e){let t=this.isValid(r),n=this.isValid(e);return t&&n?!this.compareDate(r,e):t==n}return r==e}sameTime(r,e){if(r&&e){let t=this.isValid(r),n=this.isValid(e);return t&&n?!this.compareTime(r,e):t==n}return r==e}clampDate(r,e,t){return e&&this.compareDate(r,e)<0?e:t&&this.compareDate(r,t)>0?t:r}},I=new d("mat-date-formats");var y=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/,E=/^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i;function c(i,r){let e=Array(i);for(let t=0;t<i;t++)e[t]=r(t);return e}var A=(()=>{class i extends u{_matDateLocale=l(h,{optional:!0});constructor(){super();let e=l(h,{optional:!0});e!==void 0&&(this._matDateLocale=e),super.setLocale(this._matDateLocale)}getYear(e){return e.getFullYear()}getMonth(e){return e.getMonth()}getDate(e){return e.getDate()}getDayOfWeek(e){return e.getDay()}getMonthNames(e){let t=new Intl.DateTimeFormat(this.locale,{month:e,timeZone:"utc"});return c(12,n=>this._format(t,new Date(2017,n,1)))}getDateNames(){let e=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return c(31,t=>this._format(e,new Date(2017,0,t+1)))}getDayOfWeekNames(e){let t=new Intl.DateTimeFormat(this.locale,{weekday:e,timeZone:"utc"});return c(7,n=>this._format(t,new Date(2017,0,n+1)))}getYearName(e){let t=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._format(t,e)}getFirstDayOfWeek(){if(typeof Intl<"u"&&Intl.Locale){let e=new Intl.Locale(this.locale),t=(e.getWeekInfo?.()||e.weekInfo)?.firstDay??0;return t===7?0:t}return 0}getNumDaysInMonth(e){return this.getDate(this._createDateWithOverflow(this.getYear(e),this.getMonth(e)+1,0))}clone(e){return new Date(e.getTime())}createDate(e,t,n){let o=this._createDateWithOverflow(e,t,n);return o.getMonth()!=t,o}today(){return new Date}parse(e,t){return typeof e=="number"?new Date(e):e?new Date(Date.parse(e)):null}format(e,t){if(!this.isValid(e))throw Error("NativeDateAdapter: Cannot format invalid date.");let n=new Intl.DateTimeFormat(this.locale,g(p({},t),{timeZone:"utc"}));return this._format(n,e)}addCalendarYears(e,t){return this.addCalendarMonths(e,t*12)}addCalendarMonths(e,t){let n=this._createDateWithOverflow(this.getYear(e),this.getMonth(e)+t,this.getDate(e));return this.getMonth(n)!=((this.getMonth(e)+t)%12+12)%12&&(n=this._createDateWithOverflow(this.getYear(n),this.getMonth(n),0)),n}addCalendarDays(e,t){return this._createDateWithOverflow(this.getYear(e),this.getMonth(e),this.getDate(e)+t)}toIso8601(e){return[e.getUTCFullYear(),this._2digit(e.getUTCMonth()+1),this._2digit(e.getUTCDate())].join("-")}deserialize(e){if(typeof e=="string"){if(!e)return null;if(y.test(e)){let t=new Date(e);if(this.isValid(t))return t}}return super.deserialize(e)}isDateInstance(e){return e instanceof Date}isValid(e){return!isNaN(e.getTime())}invalid(){return new Date(NaN)}setTime(e,t,n,o){let a=this.clone(e);return a.setHours(t,n,o,0),a}getHours(e){return e.getHours()}getMinutes(e){return e.getMinutes()}getSeconds(e){return e.getSeconds()}parseTime(e,t){if(typeof e!="string")return e instanceof Date?new Date(e.getTime()):null;let n=e.trim();if(n.length===0)return null;let o=this._parseTimeString(n);if(o===null){let a=n.replace(/[^0-9:(AM|PM)]/gi,"").trim();a.length>0&&(o=this._parseTimeString(a))}return o||this.invalid()}addSeconds(e,t){return new Date(e.getTime()+t*1e3)}_createDateWithOverflow(e,t,n){let o=new Date;return o.setFullYear(e,t,n),o.setHours(0,0,0,0),o}_2digit(e){return("00"+e).slice(-2)}_format(e,t){let n=new Date;return n.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setUTCHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e.format(n)}_parseTimeString(e){let t=e.toUpperCase().match(E);if(t){let n=parseInt(t[1]),o=parseInt(t[2]),a=t[3]==null?void 0:parseInt(t[3]),f=t[4];if(n===12?n=f==="AM"?0:n:f==="PM"&&(n+=12),m(n,0,23)&&m(o,0,59)&&(a==null||m(a,0,59)))return this.setTime(this.today(),n,o,a||0)}return null}static \u0275fac=function(t){return new(t||i)};static \u0275prov=M({token:i,factory:i.\u0275fac})}return i})();function m(i,r,e){return!isNaN(i)&&i>=r&&i<=e}var O={parse:{dateInput:null,timeInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},timeInput:{hour:"numeric",minute:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"},timeOptionLabel:{hour:"numeric",minute:"numeric"}}};var V=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=T({type:i});static \u0275inj=w({providers:[v()]})}return i})();function v(i=O){return[{provide:u,useClass:A},{provide:I,useValue:i}]}export{h as a,u as b,I as c,V as d};
@@ -1,4 +1,4 @@
1
- import{g as ae}from"./chunk-W74HRDSC.js";import{a as ce}from"./chunk-DYDRVXX3.js";import{a as oe}from"./chunk-XUQHA7FY.js";import{c as te,i as x,j as ie}from"./chunk-UPAKGSOK.js";import{Ea as ne,aa as W,ba as Y,va as ee,wa as I}from"./chunk-FMECWSCG.js";import{a as Z,g as J}from"./chunk-QMS2MBIA.js";import{Bc as j,Ca as f,Fa as z,Fc as H,Ib as a,Jb as B,Ka as u,Kb as M,Lb as C,Ob as P,Pb as w,Qb as T,Tc as R,Xb as O,Yc as V,Za as d,Zb as h,ac as $,bc as L,cc as _,dc as y,fd as k,gd as q,ib as g,jb as D,kc as Q,lc as l,ma as E,mb as A,md as G,na as S,nb as v,oa as F,ob as b,pa as N,pd as K,ra as m,rd as X,xa as p,xb as s,zd as U}from"./chunk-NGFIIVK5.js";var ue=["data-p-icon","minus"],re=(()=>{class e extends ce{static \u0275fac=(()=>{let n;return function(t){return(n||(n=u(e)))(t||e)}})();static \u0275cmp=g({type:e,selectors:[["","data-p-icon","minus"]],features:[v],attrs:ue,decls:1,vars:0,consts:[["d","M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z","fill","currentColor"]],template:function(o,t){o&1&&(p(),P(0,"path",0))},encapsulation:2})}return e})();var de=`
1
+ import{g as ae}from"./chunk-GREMX4ZK.js";import{a as ce}from"./chunk-VPS35GPI.js";import{a as oe}from"./chunk-HY3IUHOC.js";import{c as te,i as x,j as ie}from"./chunk-2MELUOYA.js";import{Ea as ne,aa as W,ba as Y,va as ee,wa as I}from"./chunk-WOPE6PPO.js";import{a as Z,g as J}from"./chunk-MDIMQ3H3.js";import{Ad as U,Bc as j,Ca as f,Fa as z,Fc as H,Ib as a,Jb as B,Ka as u,Kb as M,Lb as C,Ob as P,Pb as w,Qb as T,Tc as R,Xb as O,Yc as V,Za as d,Zb as h,ac as $,bc as L,cc as _,dc as y,fd as k,gd as q,ib as g,jb as D,kc as Q,lc as l,ma as E,mb as A,na as S,nb as v,nd as G,oa as F,ob as b,pa as N,qd as K,ra as m,sd as X,xa as p,xb as s}from"./chunk-GJDGQISV.js";var ue=["data-p-icon","minus"],re=(()=>{class e extends ce{static \u0275fac=(()=>{let n;return function(t){return(n||(n=u(e)))(t||e)}})();static \u0275cmp=g({type:e,selectors:[["","data-p-icon","minus"]],features:[v],attrs:ue,decls:1,vars:0,consts:[["d","M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z","fill","currentColor"]],template:function(o,t){o&1&&(p(),P(0,"path",0))},encapsulation:2})}return e})();var de=`
2
2
  .p-checkbox {
3
3
  position: relative;
4
4
  display: inline-flex;
@@ -1 +1 @@
1
- import{a as ge,b as fe}from"./chunk-UUBRI47J.js";import{g as ve}from"./chunk-ZOY3GIWS.js";import{a as _e}from"./chunk-LC7VGS4V.js";import{a as pe,b as ue}from"./chunk-JWGWQVEI.js";import{r as he}from"./chunk-UUAZGIAN.js";import{a as me,b as de}from"./chunk-2BQQJ3YS.js";import{E as ae,F as ce,h as re,o as le}from"./chunk-QMS2MBIA.js";import{n as se}from"./chunk-3GXUD7K4.js";import{Bb as D,Cc as x,Db as E,Dc as te,Fa as k,Ib as v,J as L,Ja as U,Jb as c,Kb as p,Kc as ie,La as b,Lb as N,Mc as ne,Qc as oe,Ua as P,Ub as $,Xb as _,Xc as f,Yc as l,Za as h,Zb as u,bc as Q,c as A,cc as q,db as C,dc as z,e as K,eb as T,ga as H,hc as G,ib as W,kb as M,kc as J,lb as O,mc as I,na as R,nc as F,o as j,ob as B,oc as X,ra as g,rc as Y,sc as Z,tc as ee,va as S,wa as y}from"./chunk-NGFIIVK5.js";var Se=(()=>{class n{constructor(){this.el=g(b),this.renderer=g(C),this.linkTarget=l("_blank"),this.brokenImageIconFailSafeClass=l("broken-image-placeholder"),this.redirectUrl=l(null),this.initialWidth=null,this.initialHeight=null}ngOnInit(){let e=this.el.nativeElement;this.initialWidth=e.style.width||e.getAttribute("width"),this.initialHeight=e.style.height||e.getAttribute("height"),!this.initialWidth&&e.clientWidth>0&&(this.initialWidth=`${e.clientWidth}px`),!this.initialHeight&&e.clientHeight>0&&(this.initialHeight=`${e.clientHeight}px`)}onError(){let e=this.el.nativeElement,i=this.renderer.parentNode(e);if(i){let t=this.renderer.createElement("div");this.brokenImageIconFailSafeClass().split(" ").filter(r=>r.trim()!=="").forEach(r=>{this.renderer.addClass(t,r)});let s=this.renderer.createElement("i");this.renderer.addClass(s,"fa-solid"),this.renderer.addClass(s,"fa-image-slash"),this.renderer.setAttribute(s,"title","Broken Image");let a,d=this.redirectUrl();if(d){let r=this.renderer.createElement("a");this.renderer.setAttribute(r,"href",d),this.renderer.setAttribute(r,"target",this.linkTarget()),this.renderer.setAttribute(r,"rel","noopener noreferrer"),this.renderer.setStyle(r,"display","flex"),this.renderer.setStyle(r,"align-items","center"),this.renderer.setStyle(r,"justify-content","center"),this.renderer.setStyle(r,"width","100%"),this.renderer.setStyle(r,"height","100%"),this.renderer.setStyle(r,"text-decoration","none"),this.renderer.setStyle(r,"color","inherit"),this.renderer.appendChild(r,s),a=r}else a=t,this.renderer.appendChild(a,s);a!==t&&this.renderer.appendChild(t,a),this.initialWidth?this.renderer.setStyle(t,"width",this.initialWidth):this.renderer.setStyle(t,"width","50px"),this.initialHeight?this.renderer.setStyle(t,"height",this.initialHeight):this.renderer.setStyle(t,"height",this.initialWidth||"50px"),this.renderer.setStyle(t,"display","flex"),this.renderer.setStyle(t,"align-items","center"),this.renderer.setStyle(t,"justify-content","center"),this.renderer.setStyle(t,"background-color","#f0f0f0"),this.renderer.setStyle(t,"border","1px solid #ccc"),this.renderer.setStyle(t,"color","#666"),this.renderer.setStyle(t,"font-size","24px"),this.renderer.setStyle(t,"border-radius","4px"),this.renderer.setStyle(t,"box-sizing","border-box"),this.renderer.setStyle(t,"overflow","hidden"),this.renderer.insertBefore(i,t,e),this.renderer.removeChild(i,e)}}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275dir=M({type:n,selectors:[["","brokenImageIconFailSafe",""]],hostBindings:function(i,t){i&1&&_("error",function(){return t.onError()})},inputs:{linkTarget:[1,"linkTarget"],brokenImageIconFailSafeClass:[1,"brokenImageIconFailSafeClass"],redirectUrl:[1,"redirectUrl"]}})}}return n})();var ye=(()=>{class n{transform(e,i=30){return e.length>i?e.substring(0,i)+"...":e}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275pipe=O({name:"TruncateText",type:n,pure:!0})}}return n})();var ke=["autocomplete"],be=()=>({width:"100%"}),Te=()=>({width:"100%",maxWidth:"400px"}),De=n=>({style:n});function Ee(n,m){if(n&1&&N(0,"img",10),n&2){let e=u(2).$implicit,i=u();v("src",e[i.thumbnailKey],P)}}function Ne(n,m){n&1&&(c(0,"div",11),N(1,"i",12),p())}function Fe(n,m){if(n&1&&(c(0,"div"),D(1,Ee,1,1,"img",10)(2,Ne,2,0,"div",11),p()),n&2){let e=u().$implicit,i=u();h(),E(e[i.thumbnailKey]&&e[i.thumbnailKey].trim()!==""?1:2)}}function Ve(n,m){if(n&1){let e=$();c(0,"div",5),_("click",function(t){let o=S(e).$implicit,s=u();return y(s.toggleCheckbox(o,t))})("mouseenter",function(t){return t.stopPropagation()})("mouseleave",function(t){return t.stopPropagation()}),c(1,"p-checkbox",6),ee("ngModelChange",function(t){let o=S(e).$implicit;return Z(o._checked,t)||(o._checked=t),y(t)}),_("onChange",function(){let t=S(e).$implicit,o=u();return y(o.onCheckboxChange(t))})("click",function(t){return t.stopPropagation()}),p(),D(2,Fe,3,1,"div"),c(3,"div",7)(4,"div",8),I(5),ie(6,"TruncateText"),p(),c(7,"div",9),I(8),p()()()}if(n&2){let e=m.$implicit,i=u();v("matTooltip",e[i.valueField()].length>40?e[i.valueField()]:""),h(),Y("ngModel",e._checked),v("binary",!0),h(),E(i.showThumbnail()?2:-1),h(3),F(ne(6,6,e[i.valueField()],40)),h(3),X(" ",e.Code," ")}}var Ae=(()=>{class n{constructor(){this.selectionsSubject=new K(new Map)}getSelectedItems(e){return this.selectionsSubject.value.get(e)||[]}setSelectedItems(e,i){let t=new Map(this.selectionsSubject.value);t.set(e,[...i]),this.selectionsSubject.next(t)}clearSelectedItems(e){let i=new Map(this.selectionsSubject.value);i.delete(e),this.selectionsSubject.next(i)}getSelectedItems$(e){return new A(i=>{let t=this.selectionsSubject.subscribe(o=>{i.next(o.get(e)||[])});return()=>t.unsubscribe()})}getAllSelections(){return this.selectionsSubject.value}clearAllSelections(){this.selectionsSubject.next(new Map)}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})(),rt=(()=>{class n{constructor(){this.matTooltip=l(),this.modelName=l(),this.isMultiple=l(!0),this.placeholder=l("Search"),this.isShowEmptyMessage=l(!1),this.emptyMessage=l("No results found"),this.tooltipMessage=l(""),this.valueField=l("Name"),this.paramsKey=l("Key"),this.label=l(),this.listDataEndpoint=l(""),this.showThumbnail=l(!1),this.thumbnailKey="",this.maxSelectedItems=l(0),this.modelNameChange=f(),this.onSelectItem=f(),this.onRemoveItem=f(),this.completeMethod=f(),this.onSelect=f(),this.onUnselect=f(),this.httpService=g(_e),this.toastr=g(se),this.autocompleteV3Service=g(Ae),this.selectedItems=k([]),this.internalSuggestionList=k([])}ngOnInit(){let e=this.modelName();if(this.isMultiple()&&e&&Array.isArray(e)&&e.length>0){if(this.suggestionList&&this.suggestionList.length>0){let t=e.map(o=>this.suggestionList.find(s=>s[this.paramsKey()]===o)).filter(o=>o!==void 0);if(t.length>0){this.selectedItems.set(t),this.autocompleteV3Service.setSelectedItems(this.listDataEndpoint(),t);return}}let i=this.autocompleteV3Service.getSelectedItems(this.listDataEndpoint());if(i&&i.length>0){let t=i.filter(o=>this.modelName()?.includes(o[this.paramsKey()]));if(t.length>0){this.selectedItems.set(t);return}}}}onModelChange(e){let i=this.isMultiple();if(i&&Array.isArray(e)){this.selectedItems.set(e),this.autocompleteV3Service.setSelectedItems(this.listDataEndpoint(),e);let t=e.map(o=>o[this.paramsKey()]);this.modelNameChange.emit(t)}else i||this.modelNameChange.emit(e)}onCompleteHandler(e){let i=e.query;if(this.suggestionList&&this.suggestionList.length>0){let s=this.selectedItems(),a=this.suggestionList.filter(d=>{let r=i.toLowerCase(),w=(d.Name||"").toLowerCase(),Me=(d.Key||"").toLowerCase(),Ie=w.includes(r)||Me.includes(r),xe=!s.some(we=>we[this.paramsKey()]===d[this.paramsKey()]);return Ie&&xe});this.internalSuggestionList.set(a);return}let t=new URLSearchParams({Prefix:i,Count:"100"}).toString(),o=this.listDataEndpoint();o&&this.httpService.get(`${o}?${t}`).pipe(L(()=>j([])),H(s=>{let a=this.selectedItems(),d=s.filter(r=>!a.some(w=>w[this.paramsKey()]===r[this.paramsKey()]));this.internalSuggestionList.set(d)})).subscribe()}onSelectHandler(e){let i=this.isMultiple(),t=this.maxSelectedItems();if(i&&t>0){let o=this.selectedItems();if(o.length>=t){this.toastr.warning(`Maximum ${t} items can be selected`,"Selection Limit"),setTimeout(()=>{this.modelNameChange.emit([...o])},0);return}}this.onSelectItem.emit(e),this.onSelect.emit(e)}onRemoveHandler(e){this.onRemoveItem.emit(e.value),this.onUnselect.emit(e.value),e.value&&(e.value._checked=!1)}isChecked(e){let i=this.selectedItems(),t=this.valueField();return i.some(o=>o[t]===e[t])}clearSelections(){this.selectedItems.set([]),this.autocompleteV3Service.clearSelectedItems(this.listDataEndpoint()),this.modelNameChange.emit([])}getCurrentSelectionsFromService(){return this.autocompleteV3Service.getSelectedItems(this.listDataEndpoint())}onCheckboxChange(e){if(e._checked)this.isChecked(e)||(this.selectedItems.set([...this.selectedItems(),e]),this.onModelChange(this.selectedItems()));else{let i=this.selectedItems().filter(t=>t[this.paramsKey()]!==e[this.paramsKey()]);this.selectedItems.set(i),this.onModelChange(i)}setTimeout(()=>{this.autocomplete&&this.autocomplete.inputEL?.nativeElement.focus()},0)}toggleCheckbox(e,i){e._checked=!e._checked,this.onCheckboxChange(e),i.stopPropagation()}ngOnDestroy(){}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=W({type:n,selectors:[["autocompleteV3"]],viewQuery:function(i,t){if(i&1&&Q(ke,5),i&2){let o;q(o=z())&&(t.autocomplete=o.first)}},inputs:{matTooltip:[1,"matTooltip"],modelName:[1,"modelName"],isMultiple:[1,"isMultiple"],placeholder:[1,"placeholder"],isShowEmptyMessage:[1,"isShowEmptyMessage"],emptyMessage:[1,"emptyMessage"],tooltipMessage:[1,"tooltipMessage"],valueField:[1,"valueField"],paramsKey:[1,"paramsKey"],label:[1,"label"],listDataEndpoint:[1,"listDataEndpoint"],showThumbnail:[1,"showThumbnail"],thumbnailKey:"thumbnailKey",maxSelectedItems:[1,"maxSelectedItems"]},outputs:{modelNameChange:"modelNameChange",onSelectItem:"onSelectItem",onRemoveItem:"onRemoveItem",completeMethod:"completeMethod",onSelect:"onSelect",onUnselect:"onUnselect"},decls:8,vars:19,consts:[["autocomplete",""],["item",""],[1,"d-flex","flex-column","gap-2",2,"margin-top","1rem"],[1,"w-100",2,"width","100%"],["matTooltipPosition","above",1,"w-100",3,"ngModelChange","completeMethod","onSelect","onUnselect","matTooltip","matTooltipDisabled","ngModel","suggestions","optionLabel","multiple","placeholder","showEmptyMessage","emptyMessage","inputStyle","overlayOptions"],["matTooltipPosition","above",1,"d-flex","align-items-center","gap-2","p-6","w-100",3,"click","mouseenter","mouseleave","matTooltip"],[2,"margin","0",3,"ngModelChange","onChange","click","ngModel","binary"],[1,"ms-2"],[1,"font-medium"],[1,"text-muted",2,"font-size","10px !important"],["width","30","height","30","brokenImageIconFailSafe","","brokenImageIconFailSafeClass","ms-2 empty-image d-flex justify-content-center align-items-center rounded-1",1,"ms-2","empty-image",3,"src"],[1,"empty-image","d-flex","justify-content-center","align-items-center","rounded-1","ms-2"],[1,"fa-solid","fa-image","fa-image-autocomplete",2,"color","#b4b4b4c2"]],template:function(i,t){if(i&1&&(c(0,"div",2)(1,"h6"),I(2),p(),c(3,"div",3)(4,"p-autocomplete",4,0),_("ngModelChange",function(s){return t.onModelChange(s)})("completeMethod",function(s){return t.onCompleteHandler(s)})("onSelect",function(s){return t.onSelectHandler(s)})("onUnselect",function(s){return t.onRemoveHandler(s)}),B(6,Ve,9,9,"ng-template",null,1,oe),p()()()),i&2){let o=G(5);h(2),F(t.label()),h(2),J(x(14,be)),v("matTooltip",t.tooltipMessage())("matTooltipDisabled",o==null?null:o.overlayVisible)("ngModel",t.selectedItems())("suggestions",t.internalSuggestionList())("optionLabel",t.valueField())("multiple",t.isMultiple())("placeholder",t.placeholder())("showEmptyMessage",t.isShowEmptyMessage())("emptyMessage",t.emptyMessage())("inputStyle",x(15,be))("overlayOptions",te(17,De,x(16,Te)))}},dependencies:[he,ce,re,ae,le,de,me,ve,fe,ge,ue,pe,Se,ye],styles:["div[_ngcontent-%COMP%] > .empty-image[_ngcontent-%COMP%]{height:32px;width:30px;border:solid 1px #dddddd}"]})}}return n})();var Ce=class n{constructor(m,e){this.el=m;this.renderer=e}value=null;ngOnChanges(){if(this.value===null||this.value===void 0)return;this.renderer.removeClass(this.el.nativeElement,"text-black"),this.renderer.removeClass(this.el.nativeElement,"text-danger");let m=+this.value==0||+this.value>=1?"text-black":"text-danger";this.renderer.addClass(this.el.nativeElement,m)}static \u0275fac=function(e){return new(e||n)(T(b),T(C))};static \u0275dir=M({type:n,selectors:[["","colsFontColor",""]],inputs:{value:[0,"colsFontColor","value"]},features:[U]})};export{rt as a,Ce as b};
1
+ import{a as ge,b as fe}from"./chunk-4LE5YWG6.js";import{g as ve}from"./chunk-YTZPBL5O.js";import{a as _e}from"./chunk-HT6DSP63.js";import{a as pe,b as ue}from"./chunk-2DWHCM3H.js";import{r as he}from"./chunk-VYA2NFJ5.js";import{a as me,b as de}from"./chunk-5TTXT2K2.js";import{E as ae,F as ce,h as re,o as le}from"./chunk-MDIMQ3H3.js";import{n as se}from"./chunk-TKVDP62Z.js";import{Bb as D,Cc as x,Db as E,Dc as te,Fa as k,Ib as v,J as L,Ja as U,Jb as c,Kb as p,Kc as ie,La as b,Lb as N,Mc as ne,Qc as oe,Ua as P,Ub as $,Xb as _,Xc as f,Yc as l,Za as h,Zb as u,bc as Q,c as A,cc as q,db as C,dc as z,e as K,eb as T,ga as H,hc as G,ib as W,kb as M,kc as J,lb as O,mc as I,na as R,nc as F,o as j,ob as B,oc as X,ra as g,rc as Y,sc as Z,tc as ee,va as S,wa as y}from"./chunk-GJDGQISV.js";var Se=(()=>{class n{constructor(){this.el=g(b),this.renderer=g(C),this.linkTarget=l("_blank"),this.brokenImageIconFailSafeClass=l("broken-image-placeholder"),this.redirectUrl=l(null),this.initialWidth=null,this.initialHeight=null}ngOnInit(){let e=this.el.nativeElement;this.initialWidth=e.style.width||e.getAttribute("width"),this.initialHeight=e.style.height||e.getAttribute("height"),!this.initialWidth&&e.clientWidth>0&&(this.initialWidth=`${e.clientWidth}px`),!this.initialHeight&&e.clientHeight>0&&(this.initialHeight=`${e.clientHeight}px`)}onError(){let e=this.el.nativeElement,i=this.renderer.parentNode(e);if(i){let t=this.renderer.createElement("div");this.brokenImageIconFailSafeClass().split(" ").filter(r=>r.trim()!=="").forEach(r=>{this.renderer.addClass(t,r)});let s=this.renderer.createElement("i");this.renderer.addClass(s,"fa-solid"),this.renderer.addClass(s,"fa-image-slash"),this.renderer.setAttribute(s,"title","Broken Image");let a,d=this.redirectUrl();if(d){let r=this.renderer.createElement("a");this.renderer.setAttribute(r,"href",d),this.renderer.setAttribute(r,"target",this.linkTarget()),this.renderer.setAttribute(r,"rel","noopener noreferrer"),this.renderer.setStyle(r,"display","flex"),this.renderer.setStyle(r,"align-items","center"),this.renderer.setStyle(r,"justify-content","center"),this.renderer.setStyle(r,"width","100%"),this.renderer.setStyle(r,"height","100%"),this.renderer.setStyle(r,"text-decoration","none"),this.renderer.setStyle(r,"color","inherit"),this.renderer.appendChild(r,s),a=r}else a=t,this.renderer.appendChild(a,s);a!==t&&this.renderer.appendChild(t,a),this.initialWidth?this.renderer.setStyle(t,"width",this.initialWidth):this.renderer.setStyle(t,"width","50px"),this.initialHeight?this.renderer.setStyle(t,"height",this.initialHeight):this.renderer.setStyle(t,"height",this.initialWidth||"50px"),this.renderer.setStyle(t,"display","flex"),this.renderer.setStyle(t,"align-items","center"),this.renderer.setStyle(t,"justify-content","center"),this.renderer.setStyle(t,"background-color","#f0f0f0"),this.renderer.setStyle(t,"border","1px solid #ccc"),this.renderer.setStyle(t,"color","#666"),this.renderer.setStyle(t,"font-size","24px"),this.renderer.setStyle(t,"border-radius","4px"),this.renderer.setStyle(t,"box-sizing","border-box"),this.renderer.setStyle(t,"overflow","hidden"),this.renderer.insertBefore(i,t,e),this.renderer.removeChild(i,e)}}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275dir=M({type:n,selectors:[["","brokenImageIconFailSafe",""]],hostBindings:function(i,t){i&1&&_("error",function(){return t.onError()})},inputs:{linkTarget:[1,"linkTarget"],brokenImageIconFailSafeClass:[1,"brokenImageIconFailSafeClass"],redirectUrl:[1,"redirectUrl"]}})}}return n})();var ye=(()=>{class n{transform(e,i=30){return e.length>i?e.substring(0,i)+"...":e}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275pipe=O({name:"TruncateText",type:n,pure:!0})}}return n})();var ke=["autocomplete"],be=()=>({width:"100%"}),Te=()=>({width:"100%",maxWidth:"400px"}),De=n=>({style:n});function Ee(n,m){if(n&1&&N(0,"img",10),n&2){let e=u(2).$implicit,i=u();v("src",e[i.thumbnailKey],P)}}function Ne(n,m){n&1&&(c(0,"div",11),N(1,"i",12),p())}function Fe(n,m){if(n&1&&(c(0,"div"),D(1,Ee,1,1,"img",10)(2,Ne,2,0,"div",11),p()),n&2){let e=u().$implicit,i=u();h(),E(e[i.thumbnailKey]&&e[i.thumbnailKey].trim()!==""?1:2)}}function Ve(n,m){if(n&1){let e=$();c(0,"div",5),_("click",function(t){let o=S(e).$implicit,s=u();return y(s.toggleCheckbox(o,t))})("mouseenter",function(t){return t.stopPropagation()})("mouseleave",function(t){return t.stopPropagation()}),c(1,"p-checkbox",6),ee("ngModelChange",function(t){let o=S(e).$implicit;return Z(o._checked,t)||(o._checked=t),y(t)}),_("onChange",function(){let t=S(e).$implicit,o=u();return y(o.onCheckboxChange(t))})("click",function(t){return t.stopPropagation()}),p(),D(2,Fe,3,1,"div"),c(3,"div",7)(4,"div",8),I(5),ie(6,"TruncateText"),p(),c(7,"div",9),I(8),p()()()}if(n&2){let e=m.$implicit,i=u();v("matTooltip",e[i.valueField()].length>40?e[i.valueField()]:""),h(),Y("ngModel",e._checked),v("binary",!0),h(),E(i.showThumbnail()?2:-1),h(3),F(ne(6,6,e[i.valueField()],40)),h(3),X(" ",e.Code," ")}}var Ae=(()=>{class n{constructor(){this.selectionsSubject=new K(new Map)}getSelectedItems(e){return this.selectionsSubject.value.get(e)||[]}setSelectedItems(e,i){let t=new Map(this.selectionsSubject.value);t.set(e,[...i]),this.selectionsSubject.next(t)}clearSelectedItems(e){let i=new Map(this.selectionsSubject.value);i.delete(e),this.selectionsSubject.next(i)}getSelectedItems$(e){return new A(i=>{let t=this.selectionsSubject.subscribe(o=>{i.next(o.get(e)||[])});return()=>t.unsubscribe()})}getAllSelections(){return this.selectionsSubject.value}clearAllSelections(){this.selectionsSubject.next(new Map)}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})(),rt=(()=>{class n{constructor(){this.matTooltip=l(),this.modelName=l(),this.isMultiple=l(!0),this.placeholder=l("Search"),this.isShowEmptyMessage=l(!1),this.emptyMessage=l("No results found"),this.tooltipMessage=l(""),this.valueField=l("Name"),this.paramsKey=l("Key"),this.label=l(),this.listDataEndpoint=l(""),this.showThumbnail=l(!1),this.thumbnailKey="",this.maxSelectedItems=l(0),this.modelNameChange=f(),this.onSelectItem=f(),this.onRemoveItem=f(),this.completeMethod=f(),this.onSelect=f(),this.onUnselect=f(),this.httpService=g(_e),this.toastr=g(se),this.autocompleteV3Service=g(Ae),this.selectedItems=k([]),this.internalSuggestionList=k([])}ngOnInit(){let e=this.modelName();if(this.isMultiple()&&e&&Array.isArray(e)&&e.length>0){if(this.suggestionList&&this.suggestionList.length>0){let t=e.map(o=>this.suggestionList.find(s=>s[this.paramsKey()]===o)).filter(o=>o!==void 0);if(t.length>0){this.selectedItems.set(t),this.autocompleteV3Service.setSelectedItems(this.listDataEndpoint(),t);return}}let i=this.autocompleteV3Service.getSelectedItems(this.listDataEndpoint());if(i&&i.length>0){let t=i.filter(o=>this.modelName()?.includes(o[this.paramsKey()]));if(t.length>0){this.selectedItems.set(t);return}}}}onModelChange(e){let i=this.isMultiple();if(i&&Array.isArray(e)){this.selectedItems.set(e),this.autocompleteV3Service.setSelectedItems(this.listDataEndpoint(),e);let t=e.map(o=>o[this.paramsKey()]);this.modelNameChange.emit(t)}else i||this.modelNameChange.emit(e)}onCompleteHandler(e){let i=e.query;if(this.suggestionList&&this.suggestionList.length>0){let s=this.selectedItems(),a=this.suggestionList.filter(d=>{let r=i.toLowerCase(),w=(d.Name||"").toLowerCase(),Me=(d.Key||"").toLowerCase(),Ie=w.includes(r)||Me.includes(r),xe=!s.some(we=>we[this.paramsKey()]===d[this.paramsKey()]);return Ie&&xe});this.internalSuggestionList.set(a);return}let t=new URLSearchParams({Prefix:i,Count:"100"}).toString(),o=this.listDataEndpoint();o&&this.httpService.get(`${o}?${t}`).pipe(L(()=>j([])),H(s=>{let a=this.selectedItems(),d=s.filter(r=>!a.some(w=>w[this.paramsKey()]===r[this.paramsKey()]));this.internalSuggestionList.set(d)})).subscribe()}onSelectHandler(e){let i=this.isMultiple(),t=this.maxSelectedItems();if(i&&t>0){let o=this.selectedItems();if(o.length>=t){this.toastr.warning(`Maximum ${t} items can be selected`,"Selection Limit"),setTimeout(()=>{this.modelNameChange.emit([...o])},0);return}}this.onSelectItem.emit(e),this.onSelect.emit(e)}onRemoveHandler(e){this.onRemoveItem.emit(e.value),this.onUnselect.emit(e.value),e.value&&(e.value._checked=!1)}isChecked(e){let i=this.selectedItems(),t=this.valueField();return i.some(o=>o[t]===e[t])}clearSelections(){this.selectedItems.set([]),this.autocompleteV3Service.clearSelectedItems(this.listDataEndpoint()),this.modelNameChange.emit([])}getCurrentSelectionsFromService(){return this.autocompleteV3Service.getSelectedItems(this.listDataEndpoint())}onCheckboxChange(e){if(e._checked)this.isChecked(e)||(this.selectedItems.set([...this.selectedItems(),e]),this.onModelChange(this.selectedItems()));else{let i=this.selectedItems().filter(t=>t[this.paramsKey()]!==e[this.paramsKey()]);this.selectedItems.set(i),this.onModelChange(i)}setTimeout(()=>{this.autocomplete&&this.autocomplete.inputEL?.nativeElement.focus()},0)}toggleCheckbox(e,i){e._checked=!e._checked,this.onCheckboxChange(e),i.stopPropagation()}ngOnDestroy(){}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=W({type:n,selectors:[["autocompleteV3"]],viewQuery:function(i,t){if(i&1&&Q(ke,5),i&2){let o;q(o=z())&&(t.autocomplete=o.first)}},inputs:{matTooltip:[1,"matTooltip"],modelName:[1,"modelName"],isMultiple:[1,"isMultiple"],placeholder:[1,"placeholder"],isShowEmptyMessage:[1,"isShowEmptyMessage"],emptyMessage:[1,"emptyMessage"],tooltipMessage:[1,"tooltipMessage"],valueField:[1,"valueField"],paramsKey:[1,"paramsKey"],label:[1,"label"],listDataEndpoint:[1,"listDataEndpoint"],showThumbnail:[1,"showThumbnail"],thumbnailKey:"thumbnailKey",maxSelectedItems:[1,"maxSelectedItems"]},outputs:{modelNameChange:"modelNameChange",onSelectItem:"onSelectItem",onRemoveItem:"onRemoveItem",completeMethod:"completeMethod",onSelect:"onSelect",onUnselect:"onUnselect"},decls:8,vars:19,consts:[["autocomplete",""],["item",""],[1,"d-flex","flex-column","gap-2",2,"margin-top","1rem"],[1,"w-100",2,"width","100%"],["matTooltipPosition","above",1,"w-100",3,"ngModelChange","completeMethod","onSelect","onUnselect","matTooltip","matTooltipDisabled","ngModel","suggestions","optionLabel","multiple","placeholder","showEmptyMessage","emptyMessage","inputStyle","overlayOptions"],["matTooltipPosition","above",1,"d-flex","align-items-center","gap-2","p-6","w-100",3,"click","mouseenter","mouseleave","matTooltip"],[2,"margin","0",3,"ngModelChange","onChange","click","ngModel","binary"],[1,"ms-2"],[1,"font-medium"],[1,"text-muted",2,"font-size","10px !important"],["width","30","height","30","brokenImageIconFailSafe","","brokenImageIconFailSafeClass","ms-2 empty-image d-flex justify-content-center align-items-center rounded-1",1,"ms-2","empty-image",3,"src"],[1,"empty-image","d-flex","justify-content-center","align-items-center","rounded-1","ms-2"],[1,"fa-solid","fa-image","fa-image-autocomplete",2,"color","#b4b4b4c2"]],template:function(i,t){if(i&1&&(c(0,"div",2)(1,"h6"),I(2),p(),c(3,"div",3)(4,"p-autocomplete",4,0),_("ngModelChange",function(s){return t.onModelChange(s)})("completeMethod",function(s){return t.onCompleteHandler(s)})("onSelect",function(s){return t.onSelectHandler(s)})("onUnselect",function(s){return t.onRemoveHandler(s)}),B(6,Ve,9,9,"ng-template",null,1,oe),p()()()),i&2){let o=G(5);h(2),F(t.label()),h(2),J(x(14,be)),v("matTooltip",t.tooltipMessage())("matTooltipDisabled",o==null?null:o.overlayVisible)("ngModel",t.selectedItems())("suggestions",t.internalSuggestionList())("optionLabel",t.valueField())("multiple",t.isMultiple())("placeholder",t.placeholder())("showEmptyMessage",t.isShowEmptyMessage())("emptyMessage",t.emptyMessage())("inputStyle",x(15,be))("overlayOptions",te(17,De,x(16,Te)))}},dependencies:[he,ce,re,ae,le,de,me,ve,fe,ge,ue,pe,Se,ye],styles:["div[_ngcontent-%COMP%] > .empty-image[_ngcontent-%COMP%]{height:32px;width:30px;border:solid 1px #dddddd}"]})}}return n})();var Ce=class n{constructor(m,e){this.el=m;this.renderer=e}value=null;ngOnChanges(){if(this.value===null||this.value===void 0)return;this.renderer.removeClass(this.el.nativeElement,"text-black"),this.renderer.removeClass(this.el.nativeElement,"text-danger");let m=+this.value==0||+this.value>=1?"text-black":"text-danger";this.renderer.addClass(this.el.nativeElement,m)}static \u0275fac=function(e){return new(e||n)(T(b),T(C))};static \u0275dir=M({type:n,selectors:[["","colsFontColor",""]],inputs:{value:[0,"colsFontColor","value"]},features:[U]})};export{rt as a,Ce as b};
@@ -1 +1 @@
1
- import{d as m,e as h}from"./chunk-UPAKGSOK.js";import{Aa as u,Ad as l,Ka as n,La as f,Oa as r,jb as c,kb as a,nb as d,oa as i,ra as o}from"./chunk-NGFIIVK5.js";var I=(()=>{class t extends m{autofocus=!1;focused=!1;platformId=o(r);document=o(u);host=o(f);onAfterContentChecked(){this.autofocus===!1?this.host.nativeElement.removeAttribute("autofocus"):this.host.nativeElement.setAttribute("autofocus",!0),this.focused||this.autoFocus()}onAfterViewChecked(){this.focused||this.autoFocus()}autoFocus(){l(this.platformId)&&this.autofocus&&setTimeout(()=>{let e=h.getFocusableElements(this.host?.nativeElement);e.length===0&&this.host.nativeElement.focus(),e.length>0&&e[0].focus(),this.focused=!0})}static \u0275fac=(()=>{let e;return function(p){return(e||(e=n(t)))(p||t)}})();static \u0275dir=a({type:t,selectors:[["","pAutoFocus",""]],inputs:{autofocus:[0,"pAutoFocus","autofocus"]},features:[d]})}return t})(),C=(()=>{class t{static \u0275fac=function(s){return new(s||t)};static \u0275mod=c({type:t});static \u0275inj=i({})}return t})();export{I as a,C as b};
1
+ import{d as m,e as h}from"./chunk-2MELUOYA.js";import{Aa as u,Bd as l,Ka as n,La as f,Oa as r,jb as c,kb as a,nb as d,oa as i,ra as o}from"./chunk-GJDGQISV.js";var I=(()=>{class t extends m{autofocus=!1;focused=!1;platformId=o(r);document=o(u);host=o(f);onAfterContentChecked(){this.autofocus===!1?this.host.nativeElement.removeAttribute("autofocus"):this.host.nativeElement.setAttribute("autofocus",!0),this.focused||this.autoFocus()}onAfterViewChecked(){this.focused||this.autoFocus()}autoFocus(){l(this.platformId)&&this.autofocus&&setTimeout(()=>{let e=h.getFocusableElements(this.host?.nativeElement);e.length===0&&this.host.nativeElement.focus(),e.length>0&&e[0].focus(),this.focused=!0})}static \u0275fac=(()=>{let e;return function(p){return(e||(e=n(t)))(p||t)}})();static \u0275dir=a({type:t,selectors:[["","pAutoFocus",""]],inputs:{autofocus:[0,"pAutoFocus","autofocus"]},features:[d]})}return t})(),C=(()=>{class t{static \u0275fac=function(s){return new(s||t)};static \u0275mod=c({type:t});static \u0275inj=i({})}return t})();export{I as a,C as b};
@@ -1 +1 @@
1
- import{a as g}from"./chunk-ZV77I6PW.js";import{Fa as p,Ha as h,e as l}from"./chunk-NGFIIVK5.js";var u=class extends g{constructor(t,e,s,i,n,a,r,o,c="post",D="post"){super(t,e,s,i,n,a,r,c,D);this.httpService=e;this.toastrService=n;this.route=a;this.cdr=o;this.dataMethod=c;this.loaderMethod=D;o&&h(()=>{this.infiniteListSignal(),this.cdr.markForCheck()})}toastrCount=0;nextPageDisabled=!1;extendData=!1;goToLast=!1;listTotal=0;_infiniteList$=new l([]);infiniteListSignal=p([]);get infiniteList(){return this._infiniteList$.value}set infiniteList(t){this._infiniteList$.next(t),this.infiniteListSignal.set(t)}originalData=[];StoreRowsCountAPIResult(t,e=!1){this.httpService.post("/api/"+t,this.pageData.Filter).subscribe(s=>{this.listTotal=s.Count,this.pageData.HideStoreApiCount=!0,e&&(this.pageData.Filter.RowCount=this.listTotal,this.goToLast=!0,this.pageData.Filter.PageNumber=1,this.getListData()),this.cdr&&this.cdr.markForCheck()})}NextPage(t){this.pageData.Filter.PageNumber=this.pageData.Filter.PageNumber||1,this.pageData.Filter.PageNumber+=1,this.extendData=t,this.getListData()}postInit(t){t?.Data?.length>0&&(this.toastrCount=0),t?.Data?.length===0&&this.toastrCount===0&&(this.toastrService?.info("No more data to load","Info"),this.toastrCount=1);let e=Array.isArray(t.Data?.hits),s=Array.isArray(t.Data?.[0]?.Variants),i=[...this.infiniteList];if(this.extendData){let a=i.at(-1),r=t.Data.find(o=>o.ID===a?.ID);if(s&&a)if(r){let o=t.Data.filter(c=>c.ID!==a?.ID);a.Variants=a.Variants.concat(r.Variants||[]),i=i.concat(o)}else i=i.concat(t.Data);else i=i.concat(e?t.Data.hits:t.Data);this.postExtendData(t),this.extendData=!1}else i=e?t.Data.hits:t.Data,this.assignAggregate(t);this.infiniteList=i,this.originalData=[...i];let n=e?t.Data.hits.length:t.Data.length;this.nextPageDisabled=n<this.pageData.Filter.RowCount,this.menuData.H=this.data.PageTitle||this.menuData.H,this.afterPostInit(t),this.cdr?.markForCheck?.()}afterPostInit(t){}preSearchFromPageOne(){this.goToLast=!1}postExtendData(t){}assignAggregate(t){}onSelectAllData(t){super.onSelectAllData(t),this.infiniteList=this.infiniteList.map(e=>(e.selected=t,e))}};export{u as a};
1
+ import{a as g}from"./chunk-HGQDSXZE.js";import{Fa as p,Ha as h,e as l}from"./chunk-GJDGQISV.js";var u=class extends g{constructor(t,e,s,i,n,a,r,o,c="post",D="post"){super(t,e,s,i,n,a,r,c,D);this.httpService=e;this.toastrService=n;this.route=a;this.cdr=o;this.dataMethod=c;this.loaderMethod=D;o&&h(()=>{this.infiniteListSignal(),this.cdr.markForCheck()})}toastrCount=0;nextPageDisabled=!1;extendData=!1;goToLast=!1;listTotal=0;_infiniteList$=new l([]);infiniteListSignal=p([]);get infiniteList(){return this._infiniteList$.value}set infiniteList(t){this._infiniteList$.next(t),this.infiniteListSignal.set(t)}originalData=[];StoreRowsCountAPIResult(t,e=!1){this.httpService.post("/api/"+t,this.pageData.Filter).subscribe(s=>{this.listTotal=s.Count,this.pageData.HideStoreApiCount=!0,e&&(this.pageData.Filter.RowCount=this.listTotal,this.goToLast=!0,this.pageData.Filter.PageNumber=1,this.getListData()),this.cdr&&this.cdr.markForCheck()})}NextPage(t){this.pageData.Filter.PageNumber=this.pageData.Filter.PageNumber||1,this.pageData.Filter.PageNumber+=1,this.extendData=t,this.getListData()}postInit(t){t?.Data?.length>0&&(this.toastrCount=0),t?.Data?.length===0&&this.toastrCount===0&&(this.toastrService?.info("No more data to load","Info"),this.toastrCount=1);let e=Array.isArray(t.Data?.hits),s=Array.isArray(t.Data?.[0]?.Variants),i=[...this.infiniteList];if(this.extendData){let a=i.at(-1),r=t.Data.find(o=>o.ID===a?.ID);if(s&&a)if(r){let o=t.Data.filter(c=>c.ID!==a?.ID);a.Variants=a.Variants.concat(r.Variants||[]),i=i.concat(o)}else i=i.concat(t.Data);else i=i.concat(e?t.Data.hits:t.Data);this.postExtendData(t),this.extendData=!1}else i=e?t.Data.hits:t.Data,this.assignAggregate(t);this.infiniteList=i,this.originalData=[...i];let n=e?t.Data.hits.length:t.Data.length;this.nextPageDisabled=n<this.pageData.Filter.RowCount,this.menuData.H=this.data.PageTitle||this.menuData.H,this.afterPostInit(t),this.cdr?.markForCheck?.()}afterPostInit(t){}preSearchFromPageOne(){this.goToLast=!1}postExtendData(t){}assignAggregate(t){}onSelectAllData(t){super.onSelectAllData(t),this.infiniteList=this.infiniteList.map(e=>(e.selected=t,e))}};export{u as a};