crmbonus-component-wake 2.0.128 → 2.0.130

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 (370) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/app-modal.cjs.entry.js +28 -0
  4. package/dist/cjs/app-modal.cjs.entry.js.map +1 -0
  5. package/dist/cjs/cart.helper-d4d8d619.js +77 -0
  6. package/dist/cjs/cart.helper-d4d8d619.js.map +1 -0
  7. package/dist/cjs/countdown-timer_2.cjs.entry.js +63 -0
  8. package/dist/cjs/countdown-timer_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/crm-bonus-form.cjs.entry.js +104 -0
  10. package/dist/cjs/crm-bonus-form.cjs.entry.js.map +1 -0
  11. package/dist/cjs/crm-bonus-note.cjs.entry.js +101 -0
  12. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -0
  13. package/dist/cjs/crm-bonus.cjs.entry.js +249 -0
  14. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -0
  15. package/dist/cjs/crm-giftback-form_2.cjs.entry.js +253 -0
  16. package/dist/{crmbonus-component-wake/crm-giftback-form.entry.js.map → cjs/crm-giftback-form_2.cjs.entry.js.map} +1 -1
  17. package/dist/cjs/crm-tooltip_4.cjs.entry.js +211 -0
  18. package/dist/cjs/crm-tooltip_4.cjs.entry.js.map +1 -0
  19. package/dist/cjs/crmbonus-component-wake.cjs.js +27 -0
  20. package/dist/cjs/crmbonus-component-wake.cjs.js.map +1 -0
  21. package/dist/cjs/crmbonus.service-9067d00d.js +3877 -0
  22. package/dist/cjs/crmbonus.service-9067d00d.js.map +1 -0
  23. package/dist/cjs/giftback-finish_4.cjs.entry.js +131 -0
  24. package/dist/cjs/giftback-finish_4.cjs.entry.js.map +1 -0
  25. package/dist/cjs/i18n-f2a6f60e.js +2219 -0
  26. package/dist/cjs/i18n-f2a6f60e.js.map +1 -0
  27. package/dist/cjs/index-6054ed44.js +21 -0
  28. package/dist/cjs/index-6054ed44.js.map +1 -0
  29. package/dist/cjs/index-d11684bd.js +1599 -0
  30. package/dist/cjs/index-d11684bd.js.map +1 -0
  31. package/dist/cjs/index.cjs.js +11 -0
  32. package/dist/cjs/index.cjs.js.map +1 -0
  33. package/dist/cjs/info.config.helper-c5d9f781.js +16 -0
  34. package/dist/cjs/info.config.helper-c5d9f781.js.map +1 -0
  35. package/dist/cjs/keys.storage-de7744aa.js +17 -0
  36. package/dist/cjs/keys.storage-de7744aa.js.map +1 -0
  37. package/dist/cjs/loader.cjs.js +17 -0
  38. package/dist/cjs/loader.cjs.js.map +1 -0
  39. package/dist/cjs/loading-spinner.cjs.entry.js +24 -0
  40. package/dist/cjs/loading-spinner.cjs.entry.js.map +1 -0
  41. package/dist/cjs/pedido-finalizado.cjs.entry.js +39 -0
  42. package/dist/cjs/pedido-finalizado.cjs.entry.js.map +1 -0
  43. package/dist/cjs/phone-cancel-input.cjs.entry.js +25 -0
  44. package/dist/cjs/phone-cancel-input.cjs.entry.js.map +1 -0
  45. package/dist/cjs/phone-input-mask.cjs.entry.js +61 -0
  46. package/dist/cjs/phone-input-mask.cjs.entry.js.map +1 -0
  47. package/dist/cjs/phone-input.cjs.entry.js +25 -0
  48. package/dist/cjs/phone-input.cjs.entry.js.map +1 -0
  49. package/dist/cjs/utils-e9413ee3.js +25 -0
  50. package/dist/cjs/utils-e9413ee3.js.map +1 -0
  51. package/dist/collection/assets/svg/info-circle-svgrepo-com.svg +6 -0
  52. package/dist/collection/assets/svg/money-dollars-svgrepo-com.svg +6 -0
  53. package/dist/collection/collection-manifest.json +32 -0
  54. package/dist/collection/components/button/crm-button.css +22 -0
  55. package/dist/collection/components/button/index.js +76 -0
  56. package/dist/collection/components/button/index.js.map +1 -0
  57. package/dist/collection/components/countdown-timer/countdown-timer.js +81 -0
  58. package/dist/collection/components/countdown-timer/countdown-timer.js.map +1 -0
  59. package/dist/collection/components/crm-bonus/assets/logo.svg +18 -0
  60. package/dist/collection/components/crm-bonus/assets/success-svgrepo-com.svg +8 -0
  61. package/dist/collection/components/crm-bonus/assets/svg/logo.svg +18 -0
  62. package/dist/collection/components/crm-bonus/assets/svg/success-svgrepo-com.svg +8 -0
  63. package/dist/collection/components/crm-bonus/crm-bonus.css +84 -0
  64. package/dist/collection/components/crm-bonus/crm-bonus.js +313 -0
  65. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -0
  66. package/dist/collection/components/crm-bonus-form/crm-bonus-form.css +19 -0
  67. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js +348 -0
  68. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js.map +1 -0
  69. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.css +10 -0
  70. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js +20 -0
  71. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js.map +1 -0
  72. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.css +70 -0
  73. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js +126 -0
  74. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js.map +1 -0
  75. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.css +110 -0
  76. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js +127 -0
  77. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js.map +1 -0
  78. package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.css +108 -0
  79. package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.js +110 -0
  80. package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.js.map +1 -0
  81. package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js +75 -0
  82. package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js.map +1 -0
  83. package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js +75 -0
  84. package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js.map +1 -0
  85. package/dist/collection/components/giftback-form/giftback-form.css +75 -0
  86. package/dist/collection/components/giftback-form/giftback-form.js +410 -0
  87. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -0
  88. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +181 -0
  89. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +221 -0
  90. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -0
  91. package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js +11 -0
  92. package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js.map +1 -0
  93. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +103 -0
  94. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js.map +1 -0
  95. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.css +84 -0
  96. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +197 -0
  97. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js.map +1 -0
  98. package/dist/collection/components/loading-container/loading-container.css +47 -0
  99. package/dist/collection/components/loading-container/loading-container.js +43 -0
  100. package/dist/collection/components/loading-container/loading-container.js.map +1 -0
  101. package/dist/collection/components/loading-spinner/loading-spinner.css +17 -0
  102. package/dist/collection/components/loading-spinner/loading-spinner.js +63 -0
  103. package/dist/collection/components/loading-spinner/loading-spinner.js.map +1 -0
  104. package/dist/collection/components/modal/app-modal.css +45 -0
  105. package/dist/collection/components/modal/app-modal.js +83 -0
  106. package/dist/collection/components/modal/app-modal.js.map +1 -0
  107. package/dist/collection/components/note/crm-bonus-note.css +71 -0
  108. package/dist/collection/components/note/crm-bonus-note.js +117 -0
  109. package/dist/collection/components/note/crm-bonus-note.js.map +1 -0
  110. package/dist/collection/components/pedido/pedido.js +52 -0
  111. package/dist/collection/components/pedido/pedido.js.map +1 -0
  112. package/dist/collection/components/phone/phone-input-mask.css +40 -0
  113. package/dist/collection/components/phone/phone-input-mask.js +125 -0
  114. package/dist/collection/components/phone/phone-input-mask.js.map +1 -0
  115. package/dist/collection/components/tooltip/crm-tooltip.css +49 -0
  116. package/dist/collection/components/tooltip/tooltip.js +61 -0
  117. package/dist/collection/components/tooltip/tooltip.js.map +1 -0
  118. package/dist/collection/contants/index.js +16 -0
  119. package/dist/collection/contants/index.js.map +1 -0
  120. package/dist/collection/contants/mocks.js +28 -0
  121. package/dist/collection/contants/mocks.js.map +1 -0
  122. package/dist/collection/dto/pin.sent.js +2 -0
  123. package/dist/collection/dto/pin.sent.js.map +1 -0
  124. package/dist/collection/dto/update.order.dto.js +2 -0
  125. package/dist/collection/dto/update.order.dto.js.map +1 -0
  126. package/dist/collection/dto/validate.pin.bonus.js +5 -0
  127. package/dist/collection/dto/validate.pin.bonus.js.map +1 -0
  128. package/dist/collection/helpers/build.payload.helper.js +25 -0
  129. package/dist/collection/helpers/build.payload.helper.js.map +1 -0
  130. package/dist/collection/helpers/cart.helper.js +27 -0
  131. package/dist/collection/helpers/cart.helper.js.map +1 -0
  132. package/dist/collection/helpers/info.config.helper.js +11 -0
  133. package/dist/collection/helpers/info.config.helper.js.map +1 -0
  134. package/dist/collection/helpers/time.helper.js +12 -0
  135. package/dist/collection/helpers/time.helper.js.map +1 -0
  136. package/dist/collection/i18n/i18n.js +35 -0
  137. package/dist/collection/i18n/i18n.js.map +1 -0
  138. package/dist/collection/index.js +11 -0
  139. package/dist/collection/index.js.map +1 -0
  140. package/dist/collection/objectvalues/cart.wake.js +46 -0
  141. package/dist/collection/objectvalues/cart.wake.js.map +1 -0
  142. package/dist/collection/services/crmbonus.service.js +118 -0
  143. package/dist/collection/services/crmbonus.service.js.map +1 -0
  144. package/dist/collection/utils/keys.storage.js +9 -0
  145. package/dist/collection/utils/keys.storage.js.map +1 -0
  146. package/dist/{crmbonus-component-wake/utils-96cf9ae0.js → collection/utils/utils.js} +5 -8
  147. package/dist/collection/utils/utils.js.map +1 -0
  148. package/dist/components/app-modal.js +46 -0
  149. package/dist/components/app-modal.js.map +1 -0
  150. package/dist/components/countdown-timer.js +8 -0
  151. package/dist/components/countdown-timer.js.map +1 -0
  152. package/dist/components/crm-bonus-form.js +165 -0
  153. package/dist/components/crm-bonus-form.js.map +1 -0
  154. package/dist/components/crm-bonus-note.js +139 -0
  155. package/dist/components/crm-bonus-note.js.map +1 -0
  156. package/dist/components/crm-bonus.js +339 -0
  157. package/dist/components/crm-bonus.js.map +1 -0
  158. package/dist/components/crm-button.js +8 -0
  159. package/dist/components/crm-button.js.map +1 -0
  160. package/dist/components/crm-giftback-form.js +8 -0
  161. package/dist/components/crm-giftback-form.js.map +1 -0
  162. package/dist/components/crm-tooltip.js +8 -0
  163. package/dist/components/crm-tooltip.js.map +1 -0
  164. package/dist/components/giftback-finish.js +8 -0
  165. package/dist/components/giftback-finish.js.map +1 -0
  166. package/dist/components/giftback-info.js +8 -0
  167. package/dist/components/giftback-info.js.map +1 -0
  168. package/dist/components/giftback-pin.js +8 -0
  169. package/dist/components/giftback-pin.js.map +1 -0
  170. package/dist/components/giftback-progress.js +8 -0
  171. package/dist/components/giftback-progress.js.map +1 -0
  172. package/dist/components/index.js +4 -0
  173. package/dist/components/index.js.map +1 -0
  174. package/dist/components/loading-container.js +8 -0
  175. package/dist/components/loading-container.js.map +1 -0
  176. package/dist/components/loading-spinner.js +8 -0
  177. package/dist/components/loading-spinner.js.map +1 -0
  178. package/dist/components/name-input.js +8 -0
  179. package/dist/components/name-input.js.map +1 -0
  180. package/dist/components/p-11085d9b.js +79 -0
  181. package/dist/components/p-11085d9b.js.map +1 -0
  182. package/dist/{crmbonus-component-wake/name-input.entry.js → components/p-246a3e9d.js} +37 -8
  183. package/dist/components/p-246a3e9d.js.map +1 -0
  184. package/dist/{crmbonus-component-wake/giftback-info.entry.js → components/p-2671d669.js} +52 -12
  185. package/dist/components/p-2671d669.js.map +1 -0
  186. package/dist/{crmbonus-component-wake/countdown-timer.entry.js → components/p-2b3b8d6b.js} +27 -7
  187. package/dist/components/p-2b3b8d6b.js.map +1 -0
  188. package/dist/components/p-3e84f78c.js +1408 -0
  189. package/dist/components/p-3e84f78c.js.map +1 -0
  190. package/dist/components/p-47f9da55.js +46 -0
  191. package/dist/components/p-47f9da55.js.map +1 -0
  192. package/dist/components/p-5443db37.js +316 -0
  193. package/dist/components/p-5443db37.js.map +1 -0
  194. package/dist/{crmbonus-component-wake/crm-tooltip.entry.js → components/p-58b97429.js} +27 -8
  195. package/dist/components/p-58b97429.js.map +1 -0
  196. package/dist/{crmbonus-component-wake/giftback-pin.entry.js → components/p-6186ddcc.js} +38 -8
  197. package/dist/components/p-6186ddcc.js.map +1 -0
  198. package/dist/{crmbonus-component-wake/phone-form.entry.js → components/p-6c546e48.js} +47 -8
  199. package/dist/components/p-6c546e48.js.map +1 -0
  200. package/dist/{crmbonus-component-wake/crmbonus.service-9f4c6fd7.js → components/p-6eda79c3.js} +93 -165
  201. package/dist/components/p-6eda79c3.js.map +1 -0
  202. package/dist/components/p-75ba7b9a.js +14 -0
  203. package/dist/components/p-75ba7b9a.js.map +1 -0
  204. package/dist/{crmbonus-component-wake/giftback-progress.entry.js → components/p-7c744cca.js} +37 -8
  205. package/dist/components/p-7c744cca.js.map +1 -0
  206. package/dist/components/p-7cfea8fe.js +19 -0
  207. package/dist/components/p-7cfea8fe.js.map +1 -0
  208. package/dist/{crmbonus-component-wake/pin-form.entry.js → components/p-83a12a8f.js} +56 -9
  209. package/dist/components/p-83a12a8f.js.map +1 -0
  210. package/dist/{crmbonus-component-wake/cart.helper-4e40ffa9.js → components/p-abbfbc98.js} +2 -3
  211. package/dist/components/p-abbfbc98.js.map +1 -0
  212. package/dist/{crmbonus-component-wake/giftback-finish.entry.js → components/p-b79c86a8.js} +25 -8
  213. package/dist/components/p-b79c86a8.js.map +1 -0
  214. package/dist/components/p-ba369e65.js +21 -0
  215. package/dist/components/p-ba369e65.js.map +1 -0
  216. package/dist/components/p-cc1ea33f.js +36 -0
  217. package/dist/components/p-cc1ea33f.js.map +1 -0
  218. package/dist/{crmbonus-component-wake/i18n-11138a2c.js → components/p-e8c19a64.js} +1 -16
  219. package/dist/components/p-e8c19a64.js.map +1 -0
  220. package/dist/components/p-f9aeffc1.js +12 -0
  221. package/dist/components/p-f9aeffc1.js.map +1 -0
  222. package/dist/components/p-fe9c3966.js +39 -0
  223. package/dist/components/p-fe9c3966.js.map +1 -0
  224. package/dist/components/pedido-finalizado.js +54 -0
  225. package/dist/components/pedido-finalizado.js.map +1 -0
  226. package/dist/components/phone-cancel-input.js +55 -0
  227. package/dist/components/phone-cancel-input.js.map +1 -0
  228. package/dist/components/phone-form.js +8 -0
  229. package/dist/components/phone-form.js.map +1 -0
  230. package/dist/components/phone-input-mask.js +8 -0
  231. package/dist/components/phone-input-mask.js.map +1 -0
  232. package/dist/components/phone-input.js +55 -0
  233. package/dist/components/phone-input.js.map +1 -0
  234. package/dist/components/pin-form.js +8 -0
  235. package/dist/components/pin-form.js.map +1 -0
  236. package/dist/crmbonus-component-wake/crmbonus-component-wake.css +1 -7
  237. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -48
  238. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  239. package/dist/crmbonus-component-wake/index.esm.js +1 -12
  240. package/dist/crmbonus-component-wake/index.esm.js.map +1 -1
  241. package/dist/crmbonus-component-wake/p-03b77c41.entry.js +2 -0
  242. package/dist/crmbonus-component-wake/p-03b77c41.entry.js.map +1 -0
  243. package/dist/crmbonus-component-wake/p-3d6152b1.js +3 -0
  244. package/dist/crmbonus-component-wake/p-3d6152b1.js.map +1 -0
  245. package/dist/crmbonus-component-wake/p-620ec1a3.entry.js +2 -0
  246. package/dist/crmbonus-component-wake/p-620ec1a3.entry.js.map +1 -0
  247. package/dist/crmbonus-component-wake/p-6eda79c3.js +2 -0
  248. package/dist/crmbonus-component-wake/p-6eda79c3.js.map +1 -0
  249. package/dist/crmbonus-component-wake/p-74206c91.entry.js +2 -0
  250. package/dist/crmbonus-component-wake/p-74206c91.entry.js.map +1 -0
  251. package/dist/crmbonus-component-wake/p-75ba7b9a.js +2 -0
  252. package/dist/crmbonus-component-wake/p-75ba7b9a.js.map +1 -0
  253. package/dist/crmbonus-component-wake/p-7b7fb354.entry.js +2 -0
  254. package/dist/crmbonus-component-wake/p-7b7fb354.entry.js.map +1 -0
  255. package/dist/crmbonus-component-wake/p-7cfea8fe.js +2 -0
  256. package/dist/crmbonus-component-wake/p-7cfea8fe.js.map +1 -0
  257. package/dist/crmbonus-component-wake/p-885fc30e.entry.js +2 -0
  258. package/dist/crmbonus-component-wake/p-885fc30e.entry.js.map +1 -0
  259. package/dist/crmbonus-component-wake/p-8df3f949.entry.js +2 -0
  260. package/dist/crmbonus-component-wake/p-8df3f949.entry.js.map +1 -0
  261. package/dist/crmbonus-component-wake/p-90716188.entry.js +2 -0
  262. package/dist/crmbonus-component-wake/p-90716188.entry.js.map +1 -0
  263. package/dist/crmbonus-component-wake/p-a33f7c24.entry.js +2 -0
  264. package/dist/crmbonus-component-wake/p-a33f7c24.entry.js.map +1 -0
  265. package/dist/crmbonus-component-wake/p-abbfbc98.js +2 -0
  266. package/dist/crmbonus-component-wake/p-abbfbc98.js.map +1 -0
  267. package/dist/crmbonus-component-wake/p-b7a8f915.entry.js +2 -0
  268. package/dist/crmbonus-component-wake/p-b7a8f915.entry.js.map +1 -0
  269. package/dist/crmbonus-component-wake/p-ba369e65.js +2 -0
  270. package/dist/crmbonus-component-wake/p-ba369e65.js.map +1 -0
  271. package/dist/crmbonus-component-wake/p-be3ddacc.entry.js +2 -0
  272. package/dist/crmbonus-component-wake/p-be3ddacc.entry.js.map +1 -0
  273. package/dist/crmbonus-component-wake/p-c23f3a07.entry.js +2 -0
  274. package/dist/crmbonus-component-wake/{crm-bonus-form.entry.js.map → p-c23f3a07.entry.js.map} +1 -1
  275. package/dist/crmbonus-component-wake/p-e1255160.js +2 -0
  276. package/dist/crmbonus-component-wake/p-e1255160.js.map +1 -0
  277. package/dist/crmbonus-component-wake/p-e8bd92d1.entry.js +2 -0
  278. package/dist/crmbonus-component-wake/p-e8bd92d1.entry.js.map +1 -0
  279. package/dist/crmbonus-component-wake/p-e8c19a64.js +2 -0
  280. package/dist/crmbonus-component-wake/p-e8c19a64.js.map +1 -0
  281. package/dist/crmbonus-component-wake/p-f9aeffc1.js +2 -0
  282. package/dist/crmbonus-component-wake/p-f9aeffc1.js.map +1 -0
  283. package/dist/crmbonus-component-wake/p-fad20959.entry.js +2 -0
  284. package/dist/crmbonus-component-wake/p-fad20959.entry.js.map +1 -0
  285. package/dist/env.js +3 -0
  286. package/dist/env.js.map +1 -0
  287. package/dist/{crmbonus-component-wake → esm}/app-modal.entry.js +3 -2
  288. package/dist/esm/app-modal.entry.js.map +1 -0
  289. package/dist/{crmbonus-component-wake/cart.helper-a921d7f9.js → esm/cart.helper-30a40560.js} +2 -3
  290. package/dist/esm/cart.helper-30a40560.js.map +1 -0
  291. package/dist/esm/countdown-timer_2.entry.js +58 -0
  292. package/dist/esm/countdown-timer_2.entry.js.map +1 -0
  293. package/dist/{crmbonus-component-wake → esm}/crm-bonus-form.entry.js +5 -4
  294. package/dist/esm/crm-bonus-form.entry.js.map +1 -0
  295. package/dist/{crmbonus-component-wake → esm}/crm-bonus-note.entry.js +10 -9
  296. package/dist/esm/crm-bonus-note.entry.js.map +1 -0
  297. package/dist/{crmbonus-component-wake → esm}/crm-bonus.entry.js +8 -7
  298. package/dist/esm/crm-bonus.entry.js.map +1 -0
  299. package/dist/{crmbonus-component-wake/crm-giftback-form.entry.js → esm/crm-giftback-form_2.entry.js} +26 -11
  300. package/dist/esm/crm-giftback-form_2.entry.js.map +1 -0
  301. package/dist/esm/crm-tooltip_4.entry.js +204 -0
  302. package/dist/esm/crm-tooltip_4.entry.js.map +1 -0
  303. package/dist/esm/crmbonus-component-wake.js +22 -0
  304. package/dist/esm/crmbonus-component-wake.js.map +1 -0
  305. package/dist/{crmbonus-component-wake/crmbonus.service-67550994.js → esm/crmbonus.service-42fbd7fa.js} +90 -162
  306. package/dist/esm/crmbonus.service-42fbd7fa.js.map +1 -0
  307. package/dist/esm/giftback-finish_4.entry.js +124 -0
  308. package/dist/esm/giftback-finish_4.entry.js.map +1 -0
  309. package/dist/esm/i18n-e8150dff.js +2217 -0
  310. package/dist/{crmbonus-component-wake/i18n-11138a2c.js.map → esm/i18n-e8150dff.js.map} +1 -1
  311. package/dist/esm/index-e8724c8f.js +1571 -0
  312. package/dist/esm/index-e8724c8f.js.map +1 -0
  313. package/dist/esm/index.js +3 -0
  314. package/dist/esm/index.js.map +1 -0
  315. package/dist/esm/loader.js +13 -0
  316. package/dist/esm/loader.js.map +1 -0
  317. package/dist/{crmbonus-component-wake → esm}/loading-spinner.entry.js +3 -2
  318. package/dist/esm/loading-spinner.entry.js.map +1 -0
  319. package/dist/{crmbonus-component-wake → esm}/pedido-finalizado.entry.js +4 -4
  320. package/dist/esm/pedido-finalizado.entry.js.map +1 -0
  321. package/dist/{crmbonus-component-wake → esm}/phone-cancel-input.entry.js +1 -1
  322. package/dist/esm/phone-cancel-input.entry.js.map +1 -0
  323. package/dist/{crmbonus-component-wake → esm}/phone-input-mask.entry.js +3 -2
  324. package/dist/esm/phone-input-mask.entry.js.map +1 -0
  325. package/dist/{crmbonus-component-wake → esm}/phone-input.entry.js +1 -1
  326. package/dist/esm/phone-input.entry.js.map +1 -0
  327. package/dist/esm/utils-d642b4db.js +21 -0
  328. package/dist/esm/utils-d642b4db.js.map +1 -0
  329. package/dist/index.cjs.js +1 -0
  330. package/dist/index.js +1 -0
  331. package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +1 -1
  332. package/package.json +1 -1
  333. package/dist/crmbonus-component-wake/app-modal.entry.js.map +0 -1
  334. package/dist/crmbonus-component-wake/cart.helper-4e40ffa9.js.map +0 -1
  335. package/dist/crmbonus-component-wake/cart.helper-a921d7f9.js.map +0 -1
  336. package/dist/crmbonus-component-wake/countdown-timer.entry.js.map +0 -1
  337. package/dist/crmbonus-component-wake/crm-bonus-note.entry.js.map +0 -1
  338. package/dist/crmbonus-component-wake/crm-bonus.entry.js.map +0 -1
  339. package/dist/crmbonus-component-wake/crm-button.entry.js +0 -20
  340. package/dist/crmbonus-component-wake/crm-button.entry.js.map +0 -1
  341. package/dist/crmbonus-component-wake/crm-tooltip.entry.js.map +0 -1
  342. package/dist/crmbonus-component-wake/crmbonus.service-67550994.js.map +0 -1
  343. package/dist/crmbonus-component-wake/crmbonus.service-9f4c6fd7.js.map +0 -1
  344. package/dist/crmbonus-component-wake/giftback-finish.entry.js.map +0 -1
  345. package/dist/crmbonus-component-wake/giftback-info.entry.js.map +0 -1
  346. package/dist/crmbonus-component-wake/giftback-pin.entry.js.map +0 -1
  347. package/dist/crmbonus-component-wake/giftback-progress.entry.js.map +0 -1
  348. package/dist/crmbonus-component-wake/index-d0fd1dc0.js +0 -3039
  349. package/dist/crmbonus-component-wake/index-d0fd1dc0.js.map +0 -1
  350. package/dist/crmbonus-component-wake/loading-container.entry.js +0 -18
  351. package/dist/crmbonus-component-wake/loading-container.entry.js.map +0 -1
  352. package/dist/crmbonus-component-wake/loading-spinner.entry.js.map +0 -1
  353. package/dist/crmbonus-component-wake/name-input.entry.js.map +0 -1
  354. package/dist/crmbonus-component-wake/pedido-finalizado.entry.js.map +0 -1
  355. package/dist/crmbonus-component-wake/phone-cancel-input.entry.js.map +0 -1
  356. package/dist/crmbonus-component-wake/phone-form.entry.js.map +0 -1
  357. package/dist/crmbonus-component-wake/phone-input-mask.entry.js.map +0 -1
  358. package/dist/crmbonus-component-wake/phone-input.entry.js.map +0 -1
  359. package/dist/crmbonus-component-wake/pin-form.entry.js.map +0 -1
  360. package/dist/crmbonus-component-wake/shadow-css-7ad5caf8.js +0 -334
  361. package/dist/crmbonus-component-wake/shadow-css-7ad5caf8.js.map +0 -1
  362. package/dist/crmbonus-component-wake/utils-96cf9ae0.js.map +0 -1
  363. /package/dist/{crmbonus-component-wake → esm}/app-globals-0f993ce5.js +0 -0
  364. /package/dist/{crmbonus-component-wake → esm}/app-globals-0f993ce5.js.map +0 -0
  365. /package/dist/{crmbonus-component-wake → esm}/index-5b567099.js +0 -0
  366. /package/dist/{crmbonus-component-wake → esm}/index-5b567099.js.map +0 -0
  367. /package/dist/{crmbonus-component-wake → esm}/info.config.helper-42d9ddf9.js +0 -0
  368. /package/dist/{crmbonus-component-wake → esm}/info.config.helper-42d9ddf9.js.map +0 -0
  369. /package/dist/{crmbonus-component-wake → esm}/keys.storage-8c76fcd7.js +0 -0
  370. /package/dist/{crmbonus-component-wake → esm}/keys.storage-8c76fcd7.js.map +0 -0
@@ -0,0 +1,249 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-d11684bd.js');
6
+ const crmbonus_service = require('./crmbonus.service-9067d00d.js');
7
+ const index$1 = require('./index-6054ed44.js');
8
+ const i18n = require('./i18n-f2a6f60e.js');
9
+ const cart_helper = require('./cart.helper-d4d8d619.js');
10
+ const keys_storage = require('./keys.storage-de7744aa.js');
11
+
12
+ var AjustesTipoEnum;
13
+ (function (AjustesTipoEnum) {
14
+ AjustesTipoEnum["P"] = "Promocao";
15
+ })(AjustesTipoEnum || (AjustesTipoEnum = {}));
16
+
17
+ function buildProductsByWake(productsWake = []) {
18
+ const products = [];
19
+ for (const pw of productsWake) {
20
+ let discounts = getDiscount(pw.Ajustes);
21
+ products.push({
22
+ sku: pw.SKU,
23
+ value: (pw.PrecoPor * pw.Quantidade),
24
+ productVariantId: pw.ProdutoVarianteId.toString(),
25
+ quantity: pw.Quantidade,
26
+ discount: (discounts * -1)
27
+ });
28
+ }
29
+ return products;
30
+ }
31
+ function getDiscount(ajustes = []) {
32
+ let discounts = 0;
33
+ for (const discount of ajustes) {
34
+ if (discount.Tipo === AjustesTipoEnum.P) {
35
+ discounts += discount.Valor;
36
+ }
37
+ }
38
+ return discounts;
39
+ }
40
+
41
+ const crmBonusCss = ".container-button.sc-crm-bonus{cursor:pointer;padding:5px 5px 5px 14px}.section-crm.sc-crm-bonus{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm.sc-crm-bonus{margin-top:10px}.section-cart-crm.sc-crm-bonus p.sc-crm-bonus{padding:0;margin:0px 0px 0px 15px}.button.sc-crm-bonus{top:50%;background-color:#6c6c7e;color:#fff;border:none;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer;margin-left:10px;height:70px}.form-container.sc-crm-bonus{width:97%;display:flex;justify-content:space-around}.btn.sc-crm-bonus{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0px}.form-container.sc-crm-bonus .btnCrm.sc-crm-bonus{background:#00162e;border-color:#00162e;width:30%;color:#fff}.message-alert.sc-crm-bonus{font-family:sans-serif;color:#df4d4d;margin-top:5px}";
42
+ const CrmBonusStyle0 = crmBonusCss;
43
+
44
+ const CrmBonus = class {
45
+ constructor(hostRef) {
46
+ index.registerInstance(this, hostRef);
47
+ this.crmBonusService = crmbonus_service.CrmBonusService.getInstance();
48
+ this.cart = undefined;
49
+ this.showModal = false;
50
+ this.cartWake = undefined;
51
+ this.customer = {
52
+ birthDate: "",
53
+ document: "",
54
+ name: "",
55
+ phone: ""
56
+ };
57
+ this.loading = false;
58
+ this.message = undefined;
59
+ this.phone = undefined;
60
+ this.canCancel = false;
61
+ this.amountCancel = undefined;
62
+ this.sent = undefined;
63
+ this.session = undefined;
64
+ this.loading_reprocess = false;
65
+ }
66
+ async resetBonus() {
67
+ console.log('[START RESET BONUS]!!!!!');
68
+ try {
69
+ await this.crmBonusRef.processBonus(this.buildProducts(), true);
70
+ console.log('[BONUS RESETADO]!!!!!');
71
+ }
72
+ catch (err) {
73
+ this.loading = false;
74
+ console.log('[error ao reprocessar bonous]');
75
+ await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PHONE);
76
+ }
77
+ finally {
78
+ this.loading = false;
79
+ }
80
+ }
81
+ async setloading() {
82
+ this.loading_reprocess = !this.loading_reprocess;
83
+ }
84
+ async reprocess() {
85
+ this.loading_reprocess = true;
86
+ try {
87
+ const isUse = localStorage.getItem(keys_storage.USED_KEY);
88
+ if (!isUse)
89
+ return;
90
+ this.cartWake = await cart_helper.getCart();
91
+ await this.resetBonus();
92
+ }
93
+ catch (err) {
94
+ console.debug('[watchProducts]', err.message);
95
+ }
96
+ finally {
97
+ this.loading_reprocess = false;
98
+ }
99
+ }
100
+ // @Watch("productsInString")
101
+ // async watchProducts(newValue: string) {
102
+ // try {
103
+ // console.log('[update products list]');
104
+ // this.productsInString = newValue;
105
+ // await this.handleLoad();
106
+ // await this.resetBonus();
107
+ // } catch (err) {
108
+ // console.debug('[watchProducts]', err.message);
109
+ // }
110
+ // }
111
+ async componentWillLoad() {
112
+ i18n.instance.changeLanguage(i18n.instance.language);
113
+ await this.handleLoad();
114
+ await this.loadSession();
115
+ await this.loadConfigStore();
116
+ }
117
+ async loadConfigStore() {
118
+ await this.crmBonusService.getCustomization(this.cartWake.store.name);
119
+ }
120
+ async handleLoad() {
121
+ try {
122
+ this.cartWake = this.cart ? new cart_helper.CartWake(JSON.parse(this.cart)) : await cart_helper.getCart();
123
+ console.log('[handleLoad]', this.cartWake);
124
+ if (this.cartWake.user.id) {
125
+ this.customer = await this.crmBonusService.getCustomer(this.cartWake.user.id, this.cartWake.store.name);
126
+ console.log('customer', this.customer);
127
+ }
128
+ const amount = localStorage.getItem(this.cartWake.id);
129
+ if (amount) {
130
+ this.canCancel = true;
131
+ this.amountCancel = amount;
132
+ }
133
+ await this.buildAndGetProducts(this.cartWake.products);
134
+ }
135
+ catch (error) {
136
+ console.log('info customer');
137
+ }
138
+ }
139
+ async loadSession() {
140
+ this.session = await this.crmBonusService.getToken(this.cartWake.store.name);
141
+ setTimeout(() => {
142
+ this.loadSession();
143
+ }, 1500000);
144
+ }
145
+ async buildAndGetProducts(productsWake) {
146
+ console.log('productsWake', productsWake);
147
+ const key = `bc-products:${this.cartWake.id}`;
148
+ const productsString = JSON.stringify(productsWake);
149
+ localStorage.setItem(key, productsString);
150
+ const products_in_cache = JSON.parse(localStorage.getItem(key));
151
+ const products = [];
152
+ for (const product_cart of productsWake) {
153
+ const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId);
154
+ const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === "Formula");
155
+ if (pro) {
156
+ products.push(Object.assign(Object.assign({}, product_cart), { PrecoPor: pro.PrecoPor + (ajuste.Valor * -1), Quantidade: pro.Quantidade, Ajustes: pro.Ajustes }));
157
+ }
158
+ else {
159
+ products.push(product_cart);
160
+ }
161
+ }
162
+ this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);
163
+ }
164
+ async sendPin(phone) {
165
+ var _a, _b;
166
+ this.loading = true;
167
+ this.message = "";
168
+ try {
169
+ const _phone = phone.replace(/\D/g, '');
170
+ this.phone = Number(_phone);
171
+ this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);
172
+ await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PIN);
173
+ this.showModal = true;
174
+ }
175
+ catch (error) {
176
+ this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
177
+ }
178
+ finally {
179
+ this.loading = false;
180
+ }
181
+ }
182
+ async sendPinName(customerName) {
183
+ var _a, _b;
184
+ this.loading = true;
185
+ this.message = "";
186
+ try {
187
+ this.customer.name = customerName;
188
+ this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);
189
+ await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PIN);
190
+ this.showModal = true;
191
+ }
192
+ catch (error) {
193
+ this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
194
+ }
195
+ finally {
196
+ this.loading = false;
197
+ }
198
+ }
199
+ buildProducts() {
200
+ return buildProductsByWake(this.cartWake.products);
201
+ }
202
+ handleCloseModal() {
203
+ this.showModal = false;
204
+ }
205
+ save(amount) {
206
+ localStorage.setItem(this.cartWake.id, amount.toString());
207
+ this.canCancel = true;
208
+ this.amountCancel = amount.toString();
209
+ }
210
+ async cancel() {
211
+ this.message = "";
212
+ this.loading = true;
213
+ try {
214
+ await this.crmBonusService.cancel(this.cartWake.id);
215
+ this.canCancel = false;
216
+ localStorage.removeItem(this.cartWake.id);
217
+ }
218
+ catch (error) {
219
+ this.message = "Não consegui cancelar o bônus, tente novamente!";
220
+ }
221
+ finally {
222
+ this.loading = false;
223
+ }
224
+ }
225
+ async handleSendPin(phone) {
226
+ this.message = "";
227
+ if (!phone) {
228
+ this.message = "Informe seu telefone";
229
+ return;
230
+ }
231
+ this.customer.phone = phone;
232
+ const _phone = phone.replace(/\D/g, '');
233
+ this.phone = Number(_phone);
234
+ if (this.customer.name) {
235
+ return this.sendPin(phone);
236
+ }
237
+ await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_NAME);
238
+ this.showModal = true;
239
+ }
240
+ render() {
241
+ return (index.h("loading-container", { key: '21fafa4b9339db4a55ba454d05eecc0e4a8a2763', loading: this.loading_reprocess }, index.h("crm-giftback-form", { key: 'ef564d7e6794664b107d3996c8d081eafebfecb6', style: { position: "relative" }, ref: ref => this.crmBonusRef = ref, storeName: this.cartWake.store.name, products: this.buildProducts(), cartId: this.cartWake.id, customer: this.customer, loadProducts: () => this.buildProducts() })));
242
+ }
243
+ static get assetsDirs() { return ["assets"]; }
244
+ };
245
+ CrmBonus.style = CrmBonusStyle0;
246
+
247
+ exports.crm_bonus = CrmBonus;
248
+
249
+ //# sourceMappingURL=crm-bonus.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"crm-bonus.entry.cjs.js","mappings":"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","names":["CrmBonusService","StepFormEnum","USED_KEY","getCart","i18next","CartWake","h"],"sources":["src/dto/validate.pin.bonus.ts","src/helpers/build.payload.helper.ts","src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=scoped","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["export interface IProduct {\n productVariantId: string;\n sku: string;\n value: number;\n quantity: number;\n discount: number;\n}\n\nexport enum AjustesTipoEnum {\n P = \"Promocao\" \n}\n\nexport interface IAjustes {\n Tipo: AjustesTipoEnum;\n Valor: number;\n}\n\nexport interface IUser {\n id: number;\n}\n\nexport interface IStore {\n name: string;\n}\n\nexport interface IProductWake {\n ProdutoVarianteId: number;\n SKU: string;\n PrecoPor: number;\n Quantidade: number;\n Ajustes: IAjustes[];\n}\n\nexport interface ICustomer {\n birthDate: string;\n document: string;\n name: string;\n phone: string;\n}\n\nexport interface IProccesPinBonusDto {\n storeName: string;\n name: string;\n checkoutId: string;\n checkoutProducts: Array<IProduct>;\n storeId: string;\n userId: string;\n cellphone: number;\n pin: string;\n\n}\n\nexport interface IBonus {\n hasBonus: boolean;\n bonusBalance: number;\n totalBonus: number;\n minimumPurchase: number;\n bonusIds: string;\n firstValidityDate: string\n history: [\n {\n validityStart: string;\n validityEnd: string;\n value: number\n },\n {\n validityStart: string;\n validityEnd: string\n value: number\n }\n ]\n storeId: number;\n userId: number;\n cartId: string\n calculatedValue: number;\n totalValue: number\n}\n\n\nexport interface IReserveDTO {\n storeName: string;\n cartId: string;\n grossValue: number;\n redeemedBonus: number;\n ticket: string;\n storeId: string;\n userId: number;\n}","import { AjustesTipoEnum, IAjustes, IProduct, IProductWake } from \"../dto/validate.pin.bonus\";\n\nexport function buildProductsByWake(productsWake: Array<IProductWake> = []): Array<IProduct> {\n\n const products: Array<IProduct> = [];\n\n for ( const pw of productsWake ) {\n let discounts = getDiscount(pw.Ajustes)\n\n products.push(\n {\n sku: pw.SKU,\n value: (pw.PrecoPor * pw.Quantidade),\n productVariantId: pw.ProdutoVarianteId.toString(),\n quantity: pw.Quantidade,\n discount: (discounts * -1)\n }\n )\n }\n\n return products;\n}\n\nfunction getDiscount(ajustes: IAjustes[] = []) {\n \n let discounts = 0;\n \n for(const discount of ajustes) {\n if(discount.Tipo === AjustesTipoEnum.P) {\n discounts += discount.Valor;\n }\n }\n\n return discounts;\n}","\n.container-button {\n /* max-width: 100%; */\n cursor: pointer;\n padding: 5px 5px 5px 14px;\n /* display: flex; */\n}\n\n/* padding: 0 15px 15px;\nborder: 1px solid #ddd;\nmargin-bottom: 20px; */\n\n.section-crm {\n border: 1px solid #dbd4d4;\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.section-cart-crm {\n margin-top: 10px;\n}\n\n.section-cart-crm p {\n padding: 0;\n margin: 0px 0px 0px 15px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n /* border-radius: 10px; */\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n font-size: 20px;\n cursor: pointer;\n margin-left: 10px;\n height: 70px;\n}\n\n.form-container {\n width: 97%;\n display: flex;\n justify-content: space-around;\n}\n\n\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 0px;\n}\n\n.form-container .btnCrm {\n background: #00162e;\n border-color: #00162e;\n width: 30%;\n color: #fff;\n}\n\n.message-alert {\n font-family: sans-serif;\n color: #df4d4d;\n margin-top: 5px;\n}","import { Component, Method, Prop, State, h } from '@stencil/core';\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\nimport { CrmBonusService } from '../../services/crmbonus.service';\nimport { IPinSent } from '../../components';\nimport { StepFormEnum } from '../../contants';\n\nimport i18next from '../../i18n/i18n'\nimport { buildProductsByWake } from '../../helpers/build.payload.helper';\nimport { getCart } from '../../helpers/cart.helper';\nimport { CartWake } from '../../objectvalues/cart.wake';\nimport { USED_KEY } from '../../utils/keys.storage';\n\n@Component({\n tag: 'crm-bonus',\n styleUrl: 'crm-bonus.css',\n scoped: true,\n assetsDirs: ['assets']\n})\nexport class CrmBonus {\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n private crmBonusRef: HTMLCrmGiftbackFormElement;\n\n @Prop() cart;\n\n @State() showModal: boolean = false;\n \n @State() cartWake: CartWake;\n \n @State() customer: ICustomer = {\n birthDate: \"\",\n document: \"\",\n name: \"\",\n phone: \"\"\n };\n\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: number;\n @State() canCancel: boolean = false;\n @State() amountCancel: string;\n @State() sent: IPinSent;\n\n @State() session: string;\n @State() loading_reprocess = false;\n\n @Method()\n async resetBonus() {\n console.log('[START RESET BONUS]!!!!!');\n \n try {\n await this.crmBonusRef.processBonus(this.buildProducts(), true);\n console.log('[BONUS RESETADO]!!!!!');\n } catch (err) {\n\n this.loading = false;\n console.log('[error ao reprocessar bonous]');\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PHONE);\n } finally {\n this.loading = false;\n }\n }\n\n @Method()\n async setloading() {\n this.loading_reprocess = !this.loading_reprocess;\n }\n\n @Method()\n async reprocess() {\n this.loading_reprocess = true\n\n try {\n\n const isUse = localStorage.getItem(USED_KEY);\n\n if(!isUse) return;\n\n this.cartWake = await getCart();\n await this.resetBonus();\n } catch (err) {\n console.debug('[watchProducts]', err.message);\n } finally {\n this.loading_reprocess = false\n }\n }\n\n // @Watch(\"productsInString\")\n // async watchProducts(newValue: string) {\n // try {\n // console.log('[update products list]');\n // this.productsInString = newValue;\n // await this.handleLoad();\n\n // await this.resetBonus();\n // } catch (err) {\n // console.debug('[watchProducts]', err.message);\n // }\n // }\n\n async componentWillLoad() {\n i18next.changeLanguage(i18next.language);\n\n await this.handleLoad();\n\n await this.loadSession();\n await this.loadConfigStore()\n }\n\n async loadConfigStore() {\n await this.crmBonusService.getCustomization(this.cartWake.store.name);\n }\n\n async handleLoad() {\n try {\n\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\n\n console.log('[handleLoad]', this.cartWake)\n\n if (this.cartWake.user.id) {\n this.customer = await this.crmBonusService.getCustomer(this.cartWake.user.id, this.cartWake.store.name);\n console.log('customer', this.customer);\n }\n\n const amount = localStorage.getItem(this.cartWake.id);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n await this.buildAndGetProducts(this.cartWake.products);\n } catch (error) {\n console.log('info customer')\n }\n }\n\n async loadSession() {\n this.session = await this.crmBonusService.getToken(this.cartWake.store.name);\n\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n\n }\n\n async buildAndGetProducts(productsWake: IProductWake[]) {\n\n console.log('productsWake', productsWake)\n\n const key = `bc-products:${this.cartWake.id}`;\n\n const productsString = JSON.stringify(productsWake)\n\n localStorage.setItem(key, productsString);\n\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsWake) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === \"Formula\")\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor + (ajuste.Valor * -1),\n Quantidade: pro.Quantidade,\n Ajustes: pro.Ajustes\n })\n } else {\n products.push(product_cart)\n }\n\n }\n\n this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\n\n }\n\n public async sendPin(phone: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n public async sendPinName(customerName: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n this.customer.name = customerName;\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n buildProducts(): IProduct[] {\n return buildProductsByWake(this.cartWake.products);\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartWake.id, amount.toString());\n this.canCancel = true;\n this.amountCancel = amount.toString()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartWake.id);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartWake.id);\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n async handleSendPin(phone: string) {\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.customer.phone = phone;\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n if (this.customer.name) {\n return this.sendPin(phone)\n }\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\n this.showModal = true;\n }\n\n render() {\n\n return (\n <loading-container loading={this.loading_reprocess} >\n <crm-giftback-form\n style={{ position: \"relative\" }}\n ref={ref => this.crmBonusRef = ref}\n storeName={this.cartWake.store.name}\n products={this.buildProducts()}\n cartId={this.cartWake.id}\n customer={this.customer}\n loadProducts={() => this.buildProducts()}\n\n />\n </loading-container>\n )\n }\n}\n"],"version":3}
@@ -0,0 +1,253 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-d11684bd.js');
6
+ const crmbonus_service = require('./crmbonus.service-9067d00d.js');
7
+ const index$1 = require('./index-6054ed44.js');
8
+ const info_config_helper = require('./info.config.helper-c5d9f781.js');
9
+ const i18n = require('./i18n-f2a6f60e.js');
10
+ const keys_storage = require('./keys.storage-de7744aa.js');
11
+
12
+ const giftbackFormCss = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{font-family:Roboto;font-size:var(--crmfont-sizebodymd);font-weight:400;line-height:var(--crmline-heightbodymd);letter-spacing:var(--crmletter-spacingtitle-md);text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.crm-container-form{display:flex;flex-direction:column;justify-content:space-around;height:auto;padding:20px 24px 20px 24px;border:1px solid #CCCC;writing-mode:horizontal-tb;gap:16px;border-top:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.crm-phone-form{display:flex;flex-direction:column;height:100%;gap:16px}.crm-subtitle{font-size:14px;color:var(--crm-btn);font-weight:100}.crm-title{font-weight:700;line-height:20px;color:#262626;font-size:16px}.crm-message-info{color:#619013;font-weight:500;font-size:12px}.crm-message-error{color:#E11D48;font-weight:500;font-size:12px}";
13
+ const CrmGiftbackFormStyle0 = giftbackFormCss;
14
+
15
+ const CrmBonus = class {
16
+ constructor(hostRef) {
17
+ index.registerInstance(this, hostRef);
18
+ // private phoneInputMask: HTMLPhoneFormElement;
19
+ this.crmBonusService = crmbonus_service.CrmBonusService.getInstance();
20
+ this.storeName = undefined;
21
+ this.cartId = undefined;
22
+ this.products = undefined;
23
+ this.customer = undefined;
24
+ this.loadProducts = undefined;
25
+ this.value = undefined;
26
+ this.loading = false;
27
+ this.message = undefined;
28
+ this.phone = undefined;
29
+ this.pinInfo = undefined;
30
+ this.step = index$1.StepFormEnum.STEP_RESERVE;
31
+ this.bonus = undefined;
32
+ this.sucess = "";
33
+ this.error = "";
34
+ this.config = undefined;
35
+ this.hasApplyBonus = false;
36
+ }
37
+ async setStep(step) {
38
+ this.step = step;
39
+ }
40
+ async processBonus(products = [], hasNewProduct = false) {
41
+ this.sucess = "";
42
+ console.log('processBonus', []);
43
+ if (hasNewProduct) {
44
+ this.products = products;
45
+ }
46
+ const _bonus = localStorage.getItem(keys_storage.getKeyReserveByCartId(this.cartId));
47
+ if (_bonus) {
48
+ const bonus = JSON.parse(_bonus);
49
+ this.bonus = bonus;
50
+ this.phone = bonus.phone;
51
+ this.pinInfo = {
52
+ storeId: bonus.storeId,
53
+ userId: bonus.userId
54
+ };
55
+ await this.validateBonus("2018");
56
+ //this.step = StepFormEnum.STEP_RESERVE;
57
+ }
58
+ }
59
+ async handleSendPin(phone) {
60
+ this.message = "";
61
+ if (!phone) {
62
+ this.message = "Informe seu telefone";
63
+ return;
64
+ }
65
+ this.phone = phone;
66
+ this.sendPin();
67
+ }
68
+ async componentWillLoad() {
69
+ this.sucess = "";
70
+ this.error = "";
71
+ this.config = info_config_helper.getInfoCustomization(this.storeName);
72
+ const phoneAgain = this.getPhoneNumberAgain();
73
+ if (phoneAgain) {
74
+ this.step = index$1.StepFormEnum.STEP_PHONE;
75
+ return;
76
+ }
77
+ await this.processBonus();
78
+ }
79
+ getPhoneNumberAgain() {
80
+ const consulta_bonus = localStorage.getItem(keys_storage.getKeyReserveByCartId(this.cartId));
81
+ if (!consulta_bonus)
82
+ return true;
83
+ const bonus = JSON.parse(consulta_bonus);
84
+ return !bonus.hasBonus;
85
+ }
86
+ convertStringToNumber() {
87
+ const _phone = this.phone.replace(/\D/g, '');
88
+ return Number(_phone);
89
+ }
90
+ async sendPin() {
91
+ var _a, _b, _c;
92
+ this.loading = true;
93
+ this.message = "";
94
+ this.sucess = "";
95
+ this.error = "";
96
+ try {
97
+ const _phone = this.convertStringToNumber();
98
+ const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);
99
+ if (!pinInfoCache) {
100
+ this.pinInfo = await this.crmBonusService.sendPin(_phone, (_a = this.customer) === null || _a === void 0 ? void 0 : _a.name, this.storeName);
101
+ }
102
+ if (pinInfoCache) {
103
+ const bonus = JSON.parse(pinInfoCache);
104
+ this.pinInfo = {
105
+ storeId: bonus.storeId,
106
+ userId: bonus.userId
107
+ };
108
+ await this.validateBonus("2018");
109
+ this.step = index$1.StepFormEnum.STEP_RESERVE;
110
+ }
111
+ else {
112
+ this.step = index$1.StepFormEnum.STEP_PIN;
113
+ }
114
+ }
115
+ catch (error) {
116
+ this.message = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
117
+ }
118
+ finally {
119
+ this.loading = false;
120
+ }
121
+ }
122
+ changePhone() {
123
+ this.sucess = "";
124
+ this.error = "";
125
+ this.step = index$1.StepFormEnum.STEP_PHONE;
126
+ }
127
+ async validateBonus(pin) {
128
+ var _a, _b, _c;
129
+ await this.loadProducts();
130
+ const used_or_no = localStorage.getItem(keys_storage.USED_KEY);
131
+ if (used_or_no == "dontUse") {
132
+ this.step = index$1.StepFormEnum.STEP_RESERVE;
133
+ return;
134
+ }
135
+ this.loading = true;
136
+ this.sucess = "";
137
+ this.error = "";
138
+ const payload = {
139
+ pin: pin,
140
+ cellphone: this.convertStringToNumber(),
141
+ storeId: this.pinInfo.storeId.toString(),
142
+ userId: this.pinInfo.userId.toString(),
143
+ checkoutId: this.cartId,
144
+ checkoutProducts: this.products,
145
+ name: (_a = this.customer) === null || _a === void 0 ? void 0 : _a.name,
146
+ storeName: this.storeName
147
+ };
148
+ try {
149
+ this.bonus = await this.crmBonusService.validatePinBonus(payload);
150
+ if (!this.bonus.hasBonus) {
151
+ localStorage.setItem(keys_storage.getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
152
+ this.loading = false;
153
+ this.step = index$1.StepFormEnum.STEP_NO_BONUS;
154
+ return;
155
+ }
156
+ this.sucess = "Código validado com sucesso!";
157
+ localStorage.setItem(keys_storage.getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
158
+ localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));
159
+ localStorage.setItem(keys_storage.USED_KEY, "use");
160
+ localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());
161
+ this.step = index$1.StepFormEnum.STEP_RESERVE;
162
+ }
163
+ catch (error) {
164
+ const _error = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
165
+ if (_error.includes("Pin")) {
166
+ this.error = "Código inválido!";
167
+ }
168
+ else {
169
+ this.error = _error;
170
+ this.step = index$1.StepFormEnum.STEP_NO_BONUS;
171
+ }
172
+ }
173
+ finally {
174
+ this.loading = false;
175
+ }
176
+ }
177
+ handleCancel() {
178
+ // this.step = StepFormEnum.STEP_PHONE;
179
+ this.cancel();
180
+ }
181
+ async cancel() {
182
+ this.message = "";
183
+ this.loading = true;
184
+ try {
185
+ await this.crmBonusService.cancel(this.cartId);
186
+ localStorage.setItem(keys_storage.USED_KEY, "dontUse");
187
+ this.save(0);
188
+ }
189
+ catch (error) {
190
+ this.message = "Não consegui cancelar o bônus, tente novamente!";
191
+ }
192
+ finally {
193
+ this.loading = false;
194
+ }
195
+ }
196
+ async reserveApply(amount) {
197
+ this.loading = true;
198
+ this.message = "";
199
+ try {
200
+ await this.reserve(amount);
201
+ this.save(amount);
202
+ }
203
+ catch (error) {
204
+ this.message = "ocorreu um error ao solicitar a aplicação do bonus! tente novamente";
205
+ this.step = index$1.StepFormEnum.STEP_NO_BONUS;
206
+ localStorage.removeItem(this.cartId);
207
+ }
208
+ finally {
209
+ this.loading = false;
210
+ }
211
+ }
212
+ save(amount) {
213
+ localStorage.setItem(this.cartId, amount.toString());
214
+ }
215
+ async reserve(amount) {
216
+ await this.crmBonusService.reserve({
217
+ redeemedBonus: amount,
218
+ cartId: this.cartId,
219
+ ticket: this.cartId,
220
+ grossValue: Number(this.bonus.totalValue),
221
+ storeName: this.storeName,
222
+ storeId: this.bonus.storeId.toString(),
223
+ userId: this.bonus.userId
224
+ });
225
+ }
226
+ render() {
227
+ return (index.h("div", { key: '6c4697a291f53468febca649827943dcf170ebf0', class: "crm-container-form fbits-responsive-carrinho-desconto" }, index.h("label", { key: '03d30744802d895cf0e3debada89a002553ed086', class: "crm-title" }, this.config.giftbackTitle), this.step === index$1.StepFormEnum.STEP_PHONE &&
228
+ index.h("phone-form", { key: 'c587112386a887f01b3c34f219ee2bbc70793977', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === index$1.StepFormEnum.STEP_PIN &&
229
+ index.h("pin-form", { key: '77ea15afe3c337b99fd9f6b61a6371145970e910', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && index.h("p", { key: '8be745c614e20e582e8d060cc582432b471dc1c8', class: "crm-message-info" }, this.sucess), this.error && index.h("p", { key: '38095e8e2f34b9113273ca060a505f25131e9140', class: "crm-message-error" }, this.error)), this.step === index$1.StepFormEnum.STEP_RESERVE &&
230
+ index.h("giftback-info", { key: 'f76e120f6e7ccf5a353b69bc78d8d10ae9fc34de', config: this.config, loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.processBonus() }), this.step === index$1.StepFormEnum.STEP_NO_BONUS &&
231
+ (index.h("div", { key: 'bb59357639b70c4f2a23a14f1ed7beace379dacb', class: "container-message" }, i18n.instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
232
+ }
233
+ };
234
+ CrmBonus.style = CrmGiftbackFormStyle0;
235
+
236
+ const loadingContainerCss = ".loading-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;}.loading-spinner{width:50px;height:50px;border:5px solid rgba(255, 255, 255, 0.3);border-top:5px solid white;border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.relative-xy{position:relative}";
237
+ const LoadingContainerStyle0 = loadingContainerCss;
238
+
239
+ const LoadingContainer = class {
240
+ constructor(hostRef) {
241
+ index.registerInstance(this, hostRef);
242
+ this.loading = true;
243
+ }
244
+ render() {
245
+ return (index.h("div", { key: '06a7a57acb07c91ca75d00dd42ca568ac708a3ef', class: "relative-xy" }, this.loading && (index.h("div", { key: '6eee6954ce47b3a60cc9d3f599aa826c30e522db', class: "loading-container" }, index.h("div", { key: '8747ac17ca30704d18739ccd1cf7d31fbbb05419', class: "loading-spinner" }))), index.h("slot", { key: '32ffc7a17474372cf35fe7812fa4f193d00aa224' })));
246
+ }
247
+ };
248
+ LoadingContainer.style = LoadingContainerStyle0;
249
+
250
+ exports.crm_giftback_form = CrmBonus;
251
+ exports.loading_container = LoadingContainer;
252
+
253
+ //# sourceMappingURL=crm-giftback-form_2.cjs.entry.js.map
@@ -1 +1 @@
1
- {"file":"crm-giftback-form.entry.esm.js","mappings":";;;;;;;AAAA,MAAM,eAAe,GAAG,i+BAAi+B;;MCc5+B,QAAQ;;;;QAGX,oBAAe,GAAoB,eAAe,CAAC,WAAW,EAAE,CAAC;;;;;;;uBAS7C,KAAK;;;;oBAIH,YAAY,CAAC,YAAY;;sBAG7B,EAAE;qBACH,EAAE;;6BAGF,KAAK;;IAI9B,MAAM,OAAO,CAAC,IAAkB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAGD,MAAM,YAAY,CAAC,WAAuB,EAAE,EAAE,aAAa,GAAG,KAAK;QACjE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC/B,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YAEV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAA;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;SAGlC;KACF;IAED,MAAM,aAAa,CAAC,KAAa;QAE/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;YACtC,OAAO;SACR;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,MAAM,iBAAiB;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE9C,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;YACpC,OAAM;SACP;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAE3B;IAED,mBAAmB;QACjB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEzC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;KACxB;IAEO,qBAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACvB;IAEM,MAAM,OAAO;;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QAEf,IAAI;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAChG;YAED,IAAI,YAAY,EAAE;gBAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAI,CAAC,OAAO,GAAG;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAA;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC;aACvC;iBAAM;gBACL,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC;aACnC;SAEF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAA;SAC9C;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;SACrB;KACF;IAED,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;KACrC;IAEM,MAAM,aAAa,CAAC,GAAW;;QAEpC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,UAAU,IAAI,SAAS,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC;YACtC,OAAM;SACP;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAwB;YACnC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,IAAI,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,IAAI;YACF,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAElE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAExB,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC,CAAC;gBAE/G,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC;gBACvC,OAAM;aACP;YAED,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;YAC7C,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC,CAAC;YAC/G,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAErE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEtE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC;SAEvC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,MAAM,GAAW,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAC;YAEtD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC1B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAA;aAChC;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC;aACxC;SAGF;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAEM,YAAY;;QAEjB,IAAI,CAAC,MAAM,EAAE,CAAA;KACd;IAED,MAAM,MAAM;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAA;SACjE;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAEM,MAAM,YAAY,CAAC,MAAc;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAEnB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,qEAAqE,CAAA;YAEpF,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC;YACvC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtC;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,IAAI,CAAC,MAAc;QACjB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;KACtD;IAEM,MAAM,OAAO,CAAC,MAAc;QAEjC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YACjC,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC1B,CAAC,CAAC;KACJ;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,uDAAuD,IAIhE,8DAAO,KAAK,EAAC,WAAW,IAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,EAE3D,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU;YACpC,mEACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GACnD,EAEF,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ;YACnC,iEACE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAChC,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC5B,QAAQ,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,MAAM,IAAI,0DAAG,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,MAAM,CAAK,EAC5D,IAAI,CAAC,KAAK,IAAI,0DAAG,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAK,CAEnD,EAIX,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY;YACvC,sEACE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAClC,EAIF,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa;aAEtC,4DAAK,KAAK,EAAC,mBAAmB,IAC3BA,QAAO,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAC9D,CACP,CAGC,EACP;KACF;;;;;;","names":["i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n font-family: Roboto;\n font-size: var(--crmfont-sizebodymd);\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n font-size: 14px;\n color: var(--crm-btn);\n font-weight: 100;\n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n font-size: 16px;\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n font-size: 12px;\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n font-size: 12px;\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css'\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n\n @State() hasApplyBonus = false;\n\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n //this.step = StepFormEnum.STEP_RESERVE;\n\n }\n }\n\n async handleSendPin(phone: string) {\n\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin();\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n const phoneAgain = this.getPhoneNumberAgain();\n\n if (phoneAgain) {\n this.step = StepFormEnum.STEP_PHONE;\n return\n }\n\n await this.processBonus();\n\n }\n\n getPhoneNumberAgain() {\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (!consulta_bonus) return true;\n\n const bonus = JSON.parse(consulta_bonus);\n\n return !bonus.hasBonus;\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber();\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\n\n if (!pinInfoCache) {\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n }\n\n if (pinInfoCache) {\n\n const bonus = JSON.parse(pinInfoCache);\n\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n\n await this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"dontUse\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: this.convertStringToNumber(),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.message;\n\n if (_error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n\n\n } finally {\n this.loading = false;\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n\n localStorage.setItem(USED_KEY, \"dontUse\");\n this.save(0)\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" >\n\n {/* <loading-container /> */}\n\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n config={this.config}\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.processBonus()}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}"],"version":3}
1
+ {"file":"crm-giftback-form.loading-container.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,i+BAAi+B,CAAC;AAC1/B,8BAAe,eAAe;;MCajB,QAAQ;;;;QAGX,oBAAe,GAAoBA,gCAAe,CAAC,WAAW,EAAE,CAAC;;;;;;;uBAS7C,KAAK;;;;oBAIHC,oBAAY,CAAC,YAAY;;sBAG7B,EAAE;qBACH,EAAE;;6BAGF,KAAK;;IAI9B,MAAM,OAAO,CAAC,IAAkB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAGD,MAAM,YAAY,CAAC,WAAuB,EAAE,EAAE,aAAa,GAAG,KAAK;QACjE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC/B,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAACC,kCAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YAEV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAA;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;SAGlC;KACF;IAED,MAAM,aAAa,CAAC,KAAa;QAE/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;YACtC,OAAO;SACR;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,MAAM,iBAAiB;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,MAAM,GAAGC,uCAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE9C,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,IAAI,GAAGF,oBAAY,CAAC,UAAU,CAAC;YACpC,OAAM;SACP;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAE3B;IAED,mBAAmB;QACjB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAACC,kCAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEzC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;KACxB;IAEO,qBAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACvB;IAEM,MAAM,OAAO;;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QAEf,IAAI;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAChG;YAED,IAAI,YAAY,EAAE;gBAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAI,CAAC,OAAO,GAAG;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAA;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,GAAGD,oBAAY,CAAC,YAAY,CAAC;aACvC;iBAAM;gBACL,IAAI,CAAC,IAAI,GAAGA,oBAAY,CAAC,QAAQ,CAAC;aACnC;SAEF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAA;SAC9C;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;SACrB;KACF;IAED,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,IAAI,GAAGA,oBAAY,CAAC,UAAU,CAAC;KACrC;IAEM,MAAM,aAAa,CAAC,GAAW;;QAEpC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAACG,qBAAQ,CAAC,CAAC;QAElD,IAAI,UAAU,IAAI,SAAS,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAGH,oBAAY,CAAC,YAAY,CAAC;YACtC,OAAM;SACP;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAwB;YACnC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,IAAI,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,IAAI;YACF,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAElE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAExB,YAAY,CAAC,OAAO,CAACC,kCAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC,CAAC;gBAE/G,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,IAAI,GAAGD,oBAAY,CAAC,aAAa,CAAC;gBACvC,OAAM;aACP;YAED,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;YAC7C,YAAY,CAAC,OAAO,CAACC,kCAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC,CAAC;YAC/G,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAErE,YAAY,CAAC,OAAO,CAACE,qBAAQ,EAAE,KAAK,CAAC,CAAC;YACtC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEtE,IAAI,CAAC,IAAI,GAAGH,oBAAY,CAAC,YAAY,CAAC;SAEvC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,MAAM,GAAW,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAC;YAEtD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC1B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAA;aAChC;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAGA,oBAAY,CAAC,aAAa,CAAC;aACxC;SAGF;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAEM,YAAY;;QAEjB,IAAI,CAAC,MAAM,EAAE,CAAA;KACd;IAED,MAAM,MAAM;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,YAAY,CAAC,OAAO,CAACG,qBAAQ,EAAE,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAA;SACjE;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAEM,MAAM,YAAY,CAAC,MAAc;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAEnB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,qEAAqE,CAAA;YAEpF,IAAI,CAAC,IAAI,GAAGH,oBAAY,CAAC,aAAa,CAAC;YACvC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtC;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,IAAI,CAAC,MAAc;QACjB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;KACtD;IAEM,MAAM,OAAO,CAAC,MAAc;QAEjC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YACjC,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC1B,CAAC,CAAC;KACJ;IAED,MAAM;QACJ,QACEI,kEAAK,KAAK,EAAC,uDAAuD,IAIhEA,oEAAO,KAAK,EAAC,WAAW,IAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,EAE3D,IAAI,CAAC,IAAI,KAAKJ,oBAAY,CAAC,UAAU;YACpCI,yEACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GACnD,EAEF,IAAI,CAAC,IAAI,KAAKJ,oBAAY,CAAC,QAAQ;YACnCI,uEACE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAChC,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC5B,QAAQ,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,MAAM,IAAIA,gEAAG,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,MAAM,CAAK,EAC5D,IAAI,CAAC,KAAK,IAAIA,gEAAG,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAK,CAEnD,EAIX,IAAI,CAAC,IAAI,KAAKJ,oBAAY,CAAC,YAAY;YACvCI,4EACE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAClC,EAIF,IAAI,CAAC,IAAI,KAAKJ,oBAAY,CAAC,aAAa;aAEtCI,kEAAK,KAAK,EAAC,mBAAmB,IAC3BC,aAAO,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAC9D,CACP,CAGC,EACP;KACF;;;;AC1UH,MAAM,mBAAmB,GAAG,8bAA8b,CAAC;AAC3d,+BAAe,mBAAmB;;MCKrB,gBAAgB;;;uBAEE,IAAI;;IAE/B,MAAM;QACF,QACID,kEAAK,KAAK,EAAC,aAAa,IAEhB,IAAI,CAAC,OAAO,KACRA,kEAAK,KAAK,EAAC,mBAAmB,IAC1BA,kEAAK,KAAK,EAAC,iBAAiB,GAEtB,CAEJ,CACT,EAELA,oEAAa,CACX,EACT;KACJ;;;;;;;","names":["CrmBonusService","StepFormEnum","getKeyReserveByCartId","getInfoCustomization","USED_KEY","h","i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx","src/components/loading-container/loading-container.css?tag=loading-container","src/components/loading-container/loading-container.tsx"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n font-family: Roboto;\n font-size: var(--crmfont-sizebodymd);\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n font-size: 14px;\n color: var(--crm-btn);\n font-weight: 100;\n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n font-size: 16px;\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n font-size: 12px;\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n font-size: 12px;\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css'\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n\n @State() hasApplyBonus = false;\n\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n //this.step = StepFormEnum.STEP_RESERVE;\n\n }\n }\n\n async handleSendPin(phone: string) {\n\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin();\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n const phoneAgain = this.getPhoneNumberAgain();\n\n if (phoneAgain) {\n this.step = StepFormEnum.STEP_PHONE;\n return\n }\n\n await this.processBonus();\n\n }\n\n getPhoneNumberAgain() {\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (!consulta_bonus) return true;\n\n const bonus = JSON.parse(consulta_bonus);\n\n return !bonus.hasBonus;\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber();\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\n\n if (!pinInfoCache) {\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n }\n\n if (pinInfoCache) {\n\n const bonus = JSON.parse(pinInfoCache);\n\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n\n await this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"dontUse\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: this.convertStringToNumber(),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.message;\n\n if (_error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n\n\n } finally {\n this.loading = false;\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n\n localStorage.setItem(USED_KEY, \"dontUse\");\n this.save(0)\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" >\n\n {/* <loading-container /> */}\n\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n config={this.config}\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.processBonus()}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}","/* Estilo para centralizar o container do loading */\n.loading-container {\n position: absolute;\n /* Fixa o loading na tela */\n top: 0;\n left: 0;\n width: 100%;\n /* Tamanho total da tela */\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n /* Fundo semitransparente */\n display: flex;\n /* Centraliza o conteúdo */\n justify-content: center;\n align-items: center;\n z-index: 1000;\n /* Coloca o loading acima de outros elementos */\n}\n\n/* Estilo do spinner (círculo giratório) */\n.loading-spinner {\n width: 50px;\n height: 50px;\n border: 5px solid rgba(255, 255, 255, 0.3);\n /* Borda semitransparente */\n border-top: 5px solid white;\n /* Borda que será animada */\n border-radius: 50%;\n /* Faz o círculo */\n animation: spin 1s linear infinite;\n /* Gira continuamente */\n}\n\n/* Keyframes para a animação de rotação */\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.relative-xy {\n position: relative;\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'loading-container',\n styleUrl: 'loading-container.css'\n})\nexport class LoadingContainer {\n\n @Prop() loading: boolean = true;\n\n render() {\n return (\n <div class=\"relative-xy\">\n {\n this.loading && (\n <div class=\"loading-container\">\n <div class=\"loading-spinner\">\n\n </div>\n \n </div>\n )\n }\n <slot></slot>\n </div>\n )\n }\n}"],"version":3}